算法简介
近似装箱问题
设给定N项物品,大小为s1,s2,…,sM,所有的大小都满足0<s1≤1.问题是要把这些物品装到最小数目的箱子中去,已知每个箱子的容量是1个单位.作为例子,下图所示为把大小为0.2,0.5,0.4,0.7,0.1,0.3,0.8的一列物品最优装箱的方法.

解决算法
- 请注意:既然采用的是贪婪算法解决近似装箱问题,所得的接不一定是最优解,但是离最优解不太远
联机算法
1. 下项适合算法
- 算法思路
当处理任何一项物品时,我们检查看它是否还能装进刚刚装进物品的同一个箱子中去.如果能够装进去,那么就把它放入该箱中;否则,就开辟一个新的箱子将其放进去. - 算法特点
令M是将一列物品Ⅰ装箱所需的最优装箱数,则下项适合算法所用箱子数绝不超过2M.存在一些顺序使得下项适合算法用箱2M-2个. - 算法图解



本文探讨了近似装箱问题的各种算法,包括下项适合、首项适合、最佳适合等联机算法,以及首次适合递减和最佳适合递减等脱机算法。通过实例解释了每种算法的策略、特点及复杂度。
最低0.47元/天 解锁文章
2884

被折叠的 条评论
为什么被折叠?



