MBS的一维Bin Packing Prblem算法(最小bin slack)

时间:2013-07-17 11:07:45

标签: algorithm math language-agnostic bin-packing

正致力于解决1D垃圾箱包装问题,并且作为初始人口,我将从MBS的发电机粒子开始。 我正在网上寻找MBS'(最小bin slack)算法并找不到它。 请有人帮帮我吗?

1 个答案:

答案 0 :(得分:1)

MBS'是对MBS( Minimum Bin Slack )启发式的改进,它基于以下步骤:

  • 在每个步骤中,尝试找到尽可能多地容纳容量的一组物品(包装)。
  • 从这个意义上说,MBS类似于Ho ff mann用于解决装配线平衡问题的算法。
  • 在每个阶段,保留到目前为止未分配到箱子的n'个项目的列表I',按照大小的递减顺序排序。
  • 每次确定包装时,所涉及的物品都放在垃圾箱中并从I'中移除,保留排序顺序。
  • 该过程从I'= I开始,当列表I'变空时结束。
  • 每个包装都是在一个搜索程序中确定的,该程序测试列表I'中所有可能的最大容量为bin的项目子集。
  • 采用最少松弛的子集;如果算法找到一个完全填充bin的子集,则停止搜索,并且在此状态下没有更好的打包。
  • 从更大尺寸的物品开始搜索,即从I'开始,因为相对较大尺寸的物品通常难以装入垃圾箱,因此,应首先尝试包装它们。

[MBS算法] http://i.stack.imgur.com/jUltR.png

MBS':

  • 它与MBS完全相同,只是它使用了加速算法的初始化过程。
  • 建议对MBS进行以下修改:在调用单包装搜索程序之前,选择一个项目(种子)并永久固定在包装中。
  • 这可以做到,因为无论如何每件物品都必须放在垃圾箱里。
  • 种子的良好选择是最大尺寸的项目,即列表Z'上的第一个。
  • 这将在搜索期间留下填充箱中的最小空间,从而缩短处理时间。
  • 此外,解决方案流程将被迫使用更大的,因此更多的麻烦,首先是项目。