Packing问题,是一类组合优化问题,研究的是把一组较小的图形相互间无嵌入的放入较大的图形,其最终目标是寻求最优(放入最多的小图形)的放置方式。有效地求解此类问题,可以较好地利用资源、减少浪费,这对实际的生产领域,如物体的运输、堆放以及原料的下料等领域,具有不可估量的经济效益。
早在10世纪初期,就有数学家们对此类问题进行了探索。但是由于Packing问题通常都是NP难度的,所以当问题规模增大到一定的程度时,目前尚未有任何算法可以保证能够在有效地时间内求解出最优解。但随着实际生产的迫切需求,研究者们提出了许多有效地搜索策略,采用启发式算法对此类问题进行了快速的近似求解。
本文所涉及的仅仅是放入大矩形的圆形Packing问题,即求解把一组较小的圆形放入较大的矩形的最优解问题。采用的算法,主要参考了国内学者黄文奇教授等提出的拟人拟物策略,参考的文献链接在本文的末尾标注,感兴趣的同学可以深入研读。可以用拟物策略、最都下降算法、拟人策略来概括。我大致简略的进行了拜读,感觉黄文奇教授提出的这个拟人拟物思想挺有意思,对我们的学习工作也很有启发意义,所以建议有时间感兴趣的同学真的可以读一下,这里只做大体的介绍。
算法思想:
首先,给出k个小圆,尝试将它们放入大的矩形当中。若成功,则继续尝试将k+1个小圆放入其中;否则,算法结束,k就是最优解。下面详细叙述怎样进行有效地尝试以期能够把这k个小圆放入到大矩形当中。