一个团队由一组玩家组成。每个球员都有一个位置,球队必须在每个位置都有一个给定的号码。例如在足球比赛中,可能会有1个QB,2个WR,2个RB,1个TE和5个OL。
优化团队的定义
每个玩家既具有贡献和价格。一个最佳团队在保持最高价格(工资上限)的同时最大化贡献,但仍填充每个角色。再次就足球而言,这可能意味着您必须必须取正好 1 QB,3 WR,2 RB和1 TE。
我的问题
我需要考虑玩家的数量不是特别大。我试图建立的团队由1个QB,3个WR,2RB和1个TE组成,其中有20个QB,97个WR,60个RB和29个TE(总计206个玩家)。如果仅仅是找到一个价格最高的组,那么这就是0/1背包问题。
现在让我们说我需要找到7个玩家的最佳组合(保持总价)。这会使这个问题非常类似于多维背包问题,因为每个玩家可以被赋予1的权重,所以这个群体权重将必须是< = 7 和价格应该保持在最大价格下。然而,必要的条件就是正是 7球员使事情变得复杂。很有可能如果你选择较少的球员,你可以获得比使用的球员更高的价值。
最终的约束使事情进一步复杂化。同样可以说它与多维背包问题类似,因为你可以为每个位置分配4个维度,然后多维重量将确定玩家的位置,例如, p(12, $10000, 0, 1,0,0)
可以代表价值12的玩家;价格1万美元;并且是WR。那么约束条件是团队的最终分量必须是<= w(MAX_PRICE, 1, 3, 2, 1)
。除此之外,它应该是,确切地说等于确定谁在队中的权重,不小于或等于这些限制。
那么,什么是我的问题
我的问题仍然是什么类型的问题是这样的,以及是否有解决这些问题的“标准”的算法。看起来这不是一些奇怪的古怪问题,它似乎与背包问题非常相似,因此我假设已经进行了研究。我正在寻找关于这个问题的信息(首先是什么)和/或涉及这类问题的研究论文。
你的问题到底是什么?你在寻找一个描述你的问题的名字,对于某些输入大小的一个好的算法,等等? – arghbleargh
@arghbleargh是的,我正在寻找一个描述这类问题的名称。假设问题已经被命名,那么我可以找到一个好的算法(或者可能没有好的算法)。这显然是“最普通的背包问题”的一些变体,我们将物品放入箱中,并且对有效清单可能存在“许多”限制。我在问1)是否存在这样的概括,我可以在哪里找到关于它的信息,或者2)如果不是,这种情况是对背包问题的已知概括的组合或甚至特例吗?希望澄清? – Jared
@arghbleargh在底部,我尝试推测可能的“已知”背包问题,这可能是......如果这有帮助的话,也就是说它是一个** [多目标背包问题](http://en.wikipedia .org/wiki/Knapsack_problem#Multi-objective_knapsack_problem)**(我想也许,但我不确定),一个** [多背包问题](http://en.wikipedia.org/wiki/Knapsack_problem#Multiple_knapsack_problem )**(我不认为这是),** [bin装箱问题](http://en.wikipedia.org/wiki/Bin_packing_problem)**(我认为不是这样),或者那些(或其他)方法的组合(我不确定)? – Jared