首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将一组任务最优地打包到最少数量的时隙中?

如何将一组任务最优地打包到最少数量的时隙中?
EN

Stack Overflow用户
提问于 2015-04-21 13:22:28
回答 2查看 77关注 0票数 4

我有一套

独立任务和

相同长度的时隙

,每个任意长度的任务

如何将任务分配到不同的时隙,同时将任务最小化。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-21 13:53:34

你在看垃圾箱包装问题,这是NP-完全的。然而,存在很好的近似多项式解。

请参阅此链接:problem

票数 2
EN

Stack Overflow用户

发布于 2015-04-21 14:09:32

下面是FFD (first )算法,它速度快,易于实现,并且非常接近最优解。

  1. 将所有任务按成本降序排序,这将是我们的待定列表。
  2. 选择挂起列表中的第一个剩余任务。
  3. 找到最左边的插槽,把它放进去。
  4. 从挂起列表中删除任务。
  5. 当挂起的列表不是空的时候,从2开始重复。

这种算法最坏的性能是11/9*OPT + 1,在最坏的情况下,它需要比理论上的最小时隙多22%。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29773453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档