对于给定的一组玩家、玩家位置、玩家成本、预算和一组约束条件,我如何找到“最优”解决方案?例如:
ID - Pos - cost - pts
1 1 13 10
2 1 5 13
3 2 10 15
4 2 10 8
5 3 12 12
6 3 7 14
预算为30(总成本不能超过30),每个位置限制1名球员
我要解决的真正问题是:我估计每个球员在梦幻足球中的得分。现在考虑到梦幻足球的局限性
考虑到这些限制,如何找到最大pts
有哪些库和工具可用于此类操作?我可以想象自己在Excel solver中这样做,但考虑到我的数据集有1000多个玩家,这是行不通的
我开始编写一些自定义代码,但很快意识到必须有一些现成的解决方案
这几乎就是背包问题(https://en.wikipedia.org/wiki/Knapsack_problem),还有一个附加约束,即相同的位置不能同时出现,这在这里已经讨论过了:
Knapsack with items to consider constraint
如上所述,这个问题是NP难的
您可以查看itertools模块,以减少计算的运行时间
sciket优化是一个很好的起点 https://scikit-optimize.github.io/
相关问题 更多 >
编程相关推荐