目前我正试图围绕最好的方式来完成我正在做的事情。我有以下熊猫df。Python:用遗传算法求解背包优化?
Player Pos Salary My Proj
0 James Harden PG/SG 10600 51.94472302
1 Jose Juan Barea PG/SG 4200 22.20823452
2 Stephen Curry PG/SG 8700 42.95809374
3 Eric Gordon SG 5400 27.45218158
4 Nikola Vucevic C 7400 37.00103015
5 Wilson Chandler SF/PF 4900 24.83866589
每天大概有200名玩家。我需要进行优化以填充20个符合以下约束条件的产品:
低于$ 50,000 使用1个PG,1个SG,1个SF,1个PF,1个C,1个G,1个F和1 UTIL
正如您所看到的,大多数玩家可以在位置栏中的“/”字符所表示的一个阵容中填充多个位置。 G位置可以用PG或SG填充,F位置可以填充SF或PF,UTIL位置可以接受所有位置。
起初我用背包蛮力方法研究过,这种方法似乎是最简单的,但有几万亿个组合,所以如果没有真正做到我真正想要的东西,这将花费大量的时间。
相反,我决定尝试使用遗传学方法,因为我一直在观看这个演讲视频,认为这是一个很好的主意。然而,我不知道如何在一般的1/0背包方法中设置这个问题,因为我需要包括很多东西。在一个典型的背包方法中,你只需要一个重量和一个价值。我的体重和价值是球员的薪水和他们的预测分数。但是我必须在这里包含玩家的位置,对于一个玩家可能有1种或者有时2种不同的可能性。
希望这是有道理的,我基本上正在寻找一些关于如何开始在Python 3中解决这个任务的见解。非常感谢您提供的任何东西!