假设我有一个包含30名玩家的数据库。数据库保存每个玩家在3个元素中排名的值(击球,保龄球和守备 - 排名为1-10,其中10为最高)和玩家的比赛次数。为了计算球队排名,我在考虑将球员的等级平均超过3个元素并将其添加到球队得分中。
有两种类型的比赛 - 友谊和联赛。 挑选团队时需要考虑的事项:
如果用户将匹配设置为友好,则该算法会忽略玩家的排名并选择最少玩的玩家。
我需要制作一个算法,为匹配(10名玩家)提供最佳团队,其排名尽可能接近极限(1到100之间的任何数字)(限制由用户设置)。
以下是我查看的内容
我查看了0-1 背包问题,但我不知道如何修改它以便团队在某种程度上保持平衡。我也看过线性编程,但我认为我不能在这里使用它(如果我错了就纠正我)
答案 0 :(得分:0)
这是constraint satisfaction problem。
您可以通过使用像AMPL这样的代数建模语言逐个解决此类问题,或者您可以使用constraint programming库编写更灵活的解决方案。