论文部分内容阅读
背包问题在实际生活中有着广泛的应用,例如资源分配、预算控制、项目选择、货物装运、投资决策等问题.背包问题的变形问题时常在商业、组合数学,计算复杂性理论、密码学和应用数学等领域中出现。对于由简单问题组合合成的复杂问题来说,对简单问题的深入探索对解决复杂问题的解决有着至关重要的作用。近几年来还出现了许多将几种算法结合起来的混合算法用来解决背包问题并取得了不错的效果.但是这些算法对于维数越来越高的背包问题来说,它们的算法复杂度也面临着巨大的挑战。MOA算法的目的是充分利用现代计算机的内存来存储在搜索过程中的搜索信息,以此来提高整个算法中搜索信息的共享和利用效率。MOA算法结合了现代计算机发所展带来的优势,为优化问题提供了新的解决思路,因为MOA算法实现简单,算法复杂度低并且能广泛应用在实际工程问题中,所以本文的研究具有重要的研究意义。本文的主要工作首先对MOA算法的原理思想的深入研究,分析了MOA算法中的核心元素结构表的构成,以及构成这些结构表的数据结构的常用操作,然后给出了MOA算法基本流程。第二:为了证明MOA算法在背包问题的可用性以及证明MOA算法在解决不同维数的背包问题时所体现出来的与其他智能算法的不同之处,本文将MOA算法应用在0/1背包问题中,设置了五组不同维数的背包问题,与粒子群算法和遗传算法在0/1背包问题的寻优结果进行对比。第三:设计并实现便于多种算法对不同优化问题寻优性能测评实验平台,从软件介绍、使用说明和应用例三个方面详细介绍平台。第四:在测试实验平台上将MOA算法应用在多重背包问题中,通过设置不同的半径将MOA算法与粒子群算法、遗传算法等在内的7种智能算法进行实验对比。本文的主要结构:第一章是绪论,描述了本文的研究背景和研究意义,背包问题的研究情况,MOA算法的研究现状,以及本文的主要工作与结构安排。第二章为基础理论部分,本章首先对背包问题进行了详细地阐述,介绍了常用解决背包问题的几种方法以及这些方法的优缺点。然后详细地介绍了MOA算法的思想原理,对MOA算法中的结构表的构成和操作进行了讲解,然后介绍了该算法的基本流程,并给出了流程图。然后对算法的一些特性进行了简单的讨论。第三章为0/1背包问题在MOA算法中的实现。这一章首先介绍了再求解背包问题时的编码方法,以及MOA算法中半径的选取办法,然后介绍了MOA算法在求解背包问题的实现过程,最后将MOA算法与粒子群算法以及遗传算法在五组实验数据中得到的最优解进行对比分析。第四章介绍了寻优性能测评实验平台,从软件介绍、使用说明和应用例三个方面来说明。五章MOA算法在多重背包问题中的实现。这一章首先引入格雷码的概念,然后介绍编码方法以及半径的选取办法,然后详细描述了在寻优性能测试实验平台上将MOA算法实现多重背包问题的过程,最后将MOA算法与包括粒子群算法在内的七种算法在不同半径下得到的最优解进行对比分析。第六章对本文所做的研究进行了总结,阐述了本文作者对MOA算法实现背包问题的进一步研究的方案。本文得到的结论如下:在解决0/1背包问题的实验结果首先验证了MOA算法解决0/1背包问题的有效性;然后通过对比实验验证了MOA算法在解决较高维数的背包问题时寻优性能优于PSO与GA。在解决多约束背包问题的实验结果显示虽然对于多约束背包问题MOA算法的寻优能力不是最好,但是能验证MOA算法在解决多约束背包问题上的有效性,并且验证了MOA算法在半径为总物品数的1/10时是最好的,而且随着半径的增大或减小,MOA算法的寻优性能会逐渐减弱。