平均分配算法问题~~高手求解中

jave_007 2009-01-08 01:53:14
假设有10张单据,每张单据有个指标(假设为金额),分配给四个人,怎样分配才能使四个人分配的单据金额最平均(即四个人分得的单据之间的金额差距最小)?n张单据分配给m个人呢(n <=100,m <=6)?
本人在程序开发过程中遇见此内计算机实现算法,希望各位给个思路.不甚感激哟~~~
...全文
183 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fire_woods 2009-01-08
  • 打赏
  • 举报
回复
如果是求较优解的话,可以差不多理解为装箱问题.
采取类似BFD(Best Fit Deceasing)算法吧.
jave_007 2009-01-08
  • 打赏
  • 举报
回复
回溯剪枝?......
jave_007 2009-01-08
  • 打赏
  • 举报
回复
单据在100以内(实际操作过程中估计也就50以内吧)  大概是分给<=4组  肯定需要优化算法  穷举不可取!系统开销大啊
  • 打赏
  • 举报
回复
假设n张单据的总价值为S,用S/m作为容积限制来解0-1背包问题,将n张单据分成大致接近的m个背包.
只是近似解法,实现起来思路简单。

如果数据量不大,可以尝试回溯剪枝。
koalapheonix 2009-01-08
  • 打赏
  • 举报
回复
用遗传算法去近似求解可能比较容易
绿色夹克衫 2009-01-08
  • 打赏
  • 举报
回复
10张分给4个人,可以用穷举+剪枝,计算量不超过4^10。

100张分给6个人,就只能靠一些近似算法了。

33,006

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧