一种求解一维装箱问题的拟人算法毕业论文.doc
《一种求解一维装箱问题的拟人算法毕业论文.doc》由会员分享,可在线阅读,更多相关《一种求解一维装箱问题的拟人算法毕业论文.doc(24页珍藏版)》请在三一办公上搜索。
1、摘 要一维装箱问题来源于人们的长期以来的生产实践,是一种组合优化问题。给定有穷个物体,每个物体的重量是已知的正实数。给定足够多个空箱子,问题是要在满足两个约束条件的前提下,将所有物体放到箱子中去,使得所用箱子的个数尽可能地少。两个约束条件是:第一,每个物体均保持完整,恰好放到一个箱子中去。不能将物体分割成几块。第二,每个箱子中所放的物体的重量之和均不能超过一个相同的上限,这个上限是一个已知的正实数。一维装箱问题具有很高的理论价值和实际价值。一方面,学者已经证明一维装箱问题是一个NP难度问题,因此一维装箱问题具有很高的理论价值。另一方面,一维装箱问题出现在实际生产的一些领域,因此也具有很高的实际
2、价值。迄今为止,国内外学者提出了许多用来求解一维装箱问题的严格算法和近似算法。一方面,严格的最优算法所花时间太长,实际部门无法忍受。另一方面,近似算法由于可能快速地生成最优解或者接近最优解而为实际生产部门所广泛采用。人类把物体往容器中装,已有几千年以上的经验。这些生活经验可引导出高效率的算法。本文提出了一种拟人算法。算法由三个部分组成。第一部分是降序最佳适合算法,用于生成初始解。第二部分是邻域搜索算法。给定一个解,用邻域搜索算法可以通过迭代改进这个解。本文的邻域定义的思想来源于“天之道损有余而补不足”。第三部分是跳坑策略。跳坑策略用于跳出局部最优解,将搜索引向有希望的区域,从而提高算法的效率。
3、跳坑策略的思想来源是“三十六计走为上”。本文的程序计算了一组共17个国际公认的问题实例。这组问题实例分为两类。第一类为8个问题实例,目前尚未确定其客观最优解。第二类为9个问题实例,目前已经确定了其客观最优解。拟人算法对第一类问题实例中的6个问题实例找出了与当前已知最好解质量相同的解。拟人算法还证明了TEST0068这个问题实例的目前已知最好解正是客观最优解。拟人算法快速地找出了第二类问题实例中全部9个问题实例的客观最优解。计算结果表明,拟人算法是一种有效的求解一维装箱问题的近似算法。关键词: NP难度; 拟人; 邻域搜索; 跳坑; 装箱AbstractThe one dimensional b
4、in packing problem, which is a famous combinatorial optimization problem, comes from long term practice of human being. The definition of the one dimensional bin packing problem discussed in this paper is as following. Given items and enough identical bins, the weight of each item is a known positiv
5、e real number. The capacities of all bins are equal. The problem is to pack all items into the bins with the objective of minimizing the number of occupied bins, subject to two following constraints. (1) Each item is packed into exact one bin. Each item cannot be divided into several parts and put i
6、nto different bins. (2) The sum of weight of all items of each bin cannot exceed its capacity. The one dimensional bin packing problem is of both highly theoretical and practical values. On one hand, the one dimensional bin packing problem has been proved to be NP-hard. On the other hand, the one di
7、mensional bin packing problem appears in some real world factories.So far, many exact algorithms and approximation algorithms have been proposed to solve the one dimensional bin packing problem. Exact algorithms require too much computing time and cannot be accepted by workers. On the other hand, ap
8、proximation algorithms are widely used by workers, since they may give optimal or near optimal solutions quickly.Mankind have more than several thousands of years of experience to pack items into containers. The experience can induce efficient algorithm. A quasi-human algorithm is presented in this
9、paper, which is composed of three parts. The first part is best fit decreasing algorithm to generate initial solution. The second part is local search algorithm. Given a solution, local search algorithm is used to improve this solution by iterative steps. The idea of the definition of the neighborho
10、od comes from a Chinese motto “It is the Way of Heaven to diminish superabundance, and to supplement deficiency”. The third part is off-trap strategy, which is used to jump off local optimum and guide the search into promising areas, so as to improve the algorithm. The idea of the off-trap strategy
11、comes from a Chinese motto “decamping being the best”.Computational experiments are carried out on a set of 17 benchmark problems. This set of 17 benchmark instances can be divided into two classes. The first class consists in 8 instances whose optimal solutions are still unknown. The second class c
12、onsists in 9 instances whose optimal solutions are already known. For 6 out of 8 instances of the first class, our algorithm finds out solutions which are equal to the best known solutions up to now. Our algorithm proves that the best known solution for benchmark instance named as TEST0068 up to now
13、 is optimal. For all 9 instances of the second class, our algorithm finds out optimal solutions quickly.The results show that the quasi-human algorithm is an efficient algorithm for the one dimensional bin packing problem.Keywords: NP-hard; Quasi-human; Local search; Off-trap; Bin packing目 录1 绪论11.1
14、 引言11.2 问题描述11.3 研究现状21.4 本论文的主要结构52 算法描述62.1 拟人算法的大致框架62.2 生成初始解72.3 邻域搜索72.4 跳坑策略93 程序设计113.1 程序流程113.1.1 读取文本文件中的数据133.1.2 生成初始解133.1.3 邻域搜索143.1.4 释放内存153.2 调试程序154 计算结果165 结论18参考文献19致谢211 绪论1.1 引言当前世界经济高速发展,人口日益增加,资源日渐紧张。人们在生产生活中希望提高效率,节约资源,以实现可持续发展。在运筹学领域有一类所谓最优化问题。最优化问题的一般形式是:在满足约束条件的前提下,给出自变
15、量的值,使得目标函数值最优 (通常是使得目标函数值最小或者最大)。一维装箱问题1来源于人们的长期以来的生产实践,是一种最优化问题,一维装箱问题具有很高的理论价值和实际价值。一方面,学者已经证明一维装箱问题是一个NP难度问题,因此一维装箱问题具有很高的理论价值。在现实的工业、商业、交通、通信、军事等领域出现了大量的所谓NP难度问题,例如车间调度问题、货郎担问题等等。人们虽然目前不能证明,但是强烈相信NP难度问题不存在时间复杂度为多项式的完整算法。所谓完整算法,对于优化问题来说就是能保证找到最优解的算法,对于判定问题来说就是能够保证正确判定的算法。另一方面,一维装箱问题出现在实际生产的一些领域,因
16、此也具有很高的实际价值。世界各国学者已经对一维装箱调度问题做了数十年的研究,人们还提出了许多种算法来求解一维装箱调度问题。另外,在现实中存在二维、三维、多维的装箱问题。本文仅讨论一维装箱问题。1.2 问题描述本文研究的这种一维装箱问题的描述如下。给定有穷个物体,每个物体的重量是已知的正实数。给定足够多个空箱子,问题是要在满足两个约束条件的前提下,将所有物体放到箱子中去,使得所用箱子的个数尽可能地少。两个约束条件是:第一,每个物体均保持完整,恰好放到一个箱子中去。不能将物体分割成几块。第二,每个箱子中所放的物体的重量之和均不能超过一个相同的上限,这个上限是一个已知的正实数。为了将问题描述得确切,
17、本文提出一种形式化描述。表示物体的集合。表示物体的重量。表示每个箱子所能容纳的物体的重量之和的上限。表示所用箱子的集合。,是已知的。和是变量。问题是要在满足如下两个约束条件的前提下,使得所用箱子的个数尽可能地小。 (1.1) (1.2)其中,。1.3 研究现状 当前求解NP难度问题的算法分为两类:完整算法和近似算法。以一维装箱问题为例,本文介绍这两类算法。完整算法2也称为严格算法,其本质是毫无遗漏的穷举,因此能保证找到问题的最优解,这是完整算法的优点。完整算法的缺点是计算时间太长,实际部门无法忍受,因此只能用于计算较小规模的问题实例。近似算法是当前研究的主要方向。当今时代,在纯粹科学研究,通信
18、、交通运输、工程设计和企事业管理部门,在社会的军事、政治和商业的斗争中涌现出大量NP难度的问题。若按经典的纯粹数学家们所熟悉的穷举方法来求解,则计算时间动辄达到天文数字,根本没有实用价值。学术界许多有经验的人认为对于这些问题根本上就不存在完整、精确而不是太慢的求解算法。于是人们寄希望于非完整的启发式算法。启发式算法属于近似算法。这种算法对于很刁钻古怪的例子可能会失败,但在通常面临的实际情况下却能算得既精确又相当地快。到哪里去寻求启发?这是一个根本的难点。中国古代的画论有“外师造化内得心源”的说法,即认为智慧应源于大自然与自身的心灵。事实上,自然界中的各种现象以及人类共同生活中的社会经验,尤其是
19、处理相互关系中许多矛盾的各种公关手腕都是很好的源泉。许多数学中的概念方法与策略事实上都是来源于人类对大自然的观察,来源于他们在社会中生存奋斗的社会经验。拟物拟人的途径,本来就是科学的正统,而不是邪门歪道。随着新的有意义的困难问题例如NP难度问题的涌现,公理化符号化的方法会逐渐显出自己的不足,朴素的拟物拟人的途径会逐渐被人们所选用。特别值得指出的是,对于所得的启发式算法,在遇到刁钻的实例而表现出疲软失败的时候,人们可以十分自然地通过分析算法在该次失败中的表现而对它有针对性地加以改善和强化。经过若干次自然的改善和强化之后,一个从实用角度看来叫人很是满意的算法就会呈现在我们的面前3。人们或者运用自身
20、的智慧,或者从大自然得到启发,同时运用良好的编程技术,经常能设计出很好的近似算法,有可能在较短时间内求解大规模问题实例,并达到令人满意的精确度。这种方法被实际部门广泛的使用。这是一条现实的路线。近似算法主要分为以下几种类型:拟物算法和拟人算法。拟物算法和拟人算法是黄文奇提出的用于求解NP-hard难度问题的近似算法。拟物方法4是一个许多人会感到有趣有用的方法。其工作路径是,到物理世界中去寻找出与原始数学问题等价的自然现象,然后观察其中物质运动的演化规律,从中受到启发以得出形式化的、对于数学问题的求解算法。单纯的拟物方法就已能解决许多问题56。在遇到刁钻的问题时还可以将拟物方法和拟人方法联合使用
21、形成所谓拟物拟人方法7。对其工作的方式可作如下解释、描叙和评论。由于物理状态的演化天然地是按照使其Lagange函数的时间积分达到最小值的方式进行,这就决定了拟物算法最终在数学上落实为优化问题。然而用数学方法求解优化问题,常常会碰到计算落入局部极小值陷阱的困难境地,对于如何跳出局部极小值陷阱,让计算走向前景更好的区域中去的问题,拟物方法已无能为力。但是,人类在最近几千年的共同生活中形成了丰富的社会经验,利用这些经验往往可以启发出好的“跳出陷阱”的策略。我们可以将这种把人类的社会经验形式化为算法用以求解某些特殊困难问题的数学问题的方式称为拟人途径8。拟物拟人算法的效率通常比生物遗传算法、神经网络
22、算法、淬火算法要高,其原因是它有针对性地为具体问题找到了非常贴切的物理世界,而不是像在遗传、神经网络、淬火方法中那样依赖于一个惟一的始终不变的因而往往是不太贴切的物理体系。另外,拟人方法是向人学习,而人比遗传、神经网络、淬火世界里的那些蛋白质、单个的神经元及晶体显然有高得多的智慧。当然,这里的关键在于合适的数学形式化前夜的艺术和手段,要得到它们也不是一件很容易的事情,需要长期艰苦细心的工作。这种得出算法的过程的艰苦性,可以说是拟物拟人途径的一个缺点。另外,生物遗传算法、神经网络法、淬火法虽然针对性较差,但其适应性较强,并且亦有其深刻的思想根源和自然背景。在肯动脑筋并且机遇好的时候,拟物拟人与生
23、物遗传算法、神经网络法、淬火法能结合得很好,能产生新的效能更高的算法。至于纯粹的拟人方法910,其途径是将人类在最近几千年的生存斗争中所形成的某些经验某些作法说完整说清楚,然后加以抽象化形式化,最后形成算法以求解NP难度问题。此方法的关键难点在于为给定的NP难度问题找到相应的有悠久历史的人类活动。但是一旦找到,必然能很顺利地发展为高效能的求解算法。优先分配规则算法。人们最早提出的求解一维装箱问题的近似算法是优先分配规则算法。优先分配规则算法以某种优先序依次给定将所有物体装入某个箱子。优先分配规则算法的速度非常快,但是其生成解的质量仍有改进的余地。因为优先分配规则算法速度很快,所以很多学者采用优
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一种求解一维装箱问题的拟人算法 毕业论文 一种 求解 装箱 问题 拟人 算法
链接地址:https://www.31ppt.com/p-3933439.html