如何在Python/Pandas中找到具有给定约束的最大值
对于给定的一组玩家、玩家位置、玩家成本、预算和一组约束条件,我如何找到“最优”解决方案?例如:如何在Python/Pandas中找到具有给定约束的最大值,python,pandas,optimization,solver,Python,Pandas,Optimization,Solver,对于给定的一组玩家、玩家位置、玩家成本、预算和一组约束条件,我如何找到“最优”解决方案?例如: 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名球员 我试图解决的真正问题是:我估计了梦幻足球中每个球员
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名球员
我试图解决的真正问题是:我估计了梦幻足球中每个球员的得分。现在考虑到梦幻足球的限制,即
我开始编写一些自定义代码,但很快意识到必须有一些现成的解决方案。Scikit优化是一个很好的起点
Scikit优化是一个很好的起点
这几乎就是背包问题(),还有一个额外的约束,即相同的位置不能同时出现,这在这里已经讨论过了: 如上所述,这个问题是NP难问题
您可以查看itertools模块,以减少计算的运行时间。这几乎就是背包问题(),还有一个附加约束,即相同的位置不能同时进行,这在这里已经讨论过: 如上所述,这个问题是NP难问题
您可以查看itertools模块,以减少计算的运行时间。这与其说是编程问题,不如说是数学问题(优化)。您可能会在网上找到优化库,根据您的问题类型,您可以选择适当的算法。您应该首先指定要优化的目标函数(或准则)。这在你的Q中并不清楚(是点数吗?)也许scipy可以在这里提供帮助,但是如果没有更多的细节(约束是什么,需要优化什么),很难说它在这里是否合适,或者定制代码是否足够。此外,要求图书馆或其他非网站资源是离题的,因为它吸引了意见或只链接答案。我更新了答案,使之更具体。我不打算直接要求链接。我完全不知道从哪里开始找。我觉得自定义解决方案可能是最好的。这与其说是编程问题,不如说是一个数学问题(优化)。您可能会在网上找到优化库,根据您的问题类型,您可以选择适当的算法。您应该首先指定要优化的目标函数(或准则)。这在你的Q中并不清楚(是点数吗?)也许scipy可以在这里提供帮助,但是如果没有更多的细节(约束是什么,需要优化什么),很难说它在这里是否合适,或者定制代码是否足够。此外,要求图书馆或其他非网站资源是离题的,因为它吸引了意见或只链接答案。我更新了答案,使之更具体。我不打算直接要求链接。我完全不知道从哪里开始找。我觉得定制解决方案可能是最好的。