在一组运营商之间均匀分布尽可能多的物品
Posted
技术标签:
【中文标题】在一组运营商之间均匀分布尽可能多的物品【英文标题】:Uniformely distribute as many items as possible among a set of carriers 【发布时间】:2011-09-29 07:31:53 【问题描述】:问题:
有 n 个盒子 b_1, ... b_n 框 b_i 的重量为 w_i,成本为 c_i 有 m 个人 p_1, .... p_m 人 p_i 有实力 s_i 和钱 m_i,所以她/他可以携带多个箱子,使得它们的重量之和小于或等于 s_i,它们的成本之和小于或等于m_i如何在人之间分配盒子,以使最大数量的盒子均匀分布在 m 个人之间?换句话说,我想将尽可能多的箱子(最好是所有 n 个箱子)分配给 m 个人,以这样一种方式,所有的人使用大致相同的力量来承载各自箱子的重量,并且花费大约拿他们一样多的钱。
问题:
-
这是什么问题?看起来像Bin packing problem,但我觉得不一样
有什么好的算法可以解决?
【问题讨论】:
考虑转移到Computer Science。 每个人的实力和金钱都一样吗?您对“所有人使用大致相同”的要求使这一点变得模棱两可。 @LastCoder:每个人可能有不同的力量和金钱。 “所有人使用大致相同”的要求意味着我应该尽量减少任何两个不同人使用的力量(和金钱)之间的差异。 【参考方案1】:这是multiobjective optimization problem。
目标是:
-
分发尽可能多的盒子
所有人使用的力量大致相同
所有人都使用大致相同的钱
和约束:
-
每箱重量
每个人的力量
每个人的钱
它看起来像是 multiple-constraints multiple-nested-knapsack problem 的变体。
【讨论】:
以上是关于在一组运营商之间均匀分布尽可能多的物品的主要内容,如果未能解决你的问题,请参考以下文章