论文部分内容阅读
背包问题是一个典型的NPC (Non-deterministic Polynomial Complete)问题。所谓NP问题,是指可以在多项式的时间里验证一个解的问题,而NPC问题则是由所有NP问题约化而成的一类问题。背包问题自1978年被Merkel和Hellman提出后,以其结构简单、扩展性强的特性引起了广大学者的关注。经过他们大量的研究工作,多种优化算法相继被提出,背包问题得以快速发展,应用范围越来越广泛,如在资源分配、投资决策、装载问题等方面。目前,优化算法的研究已成为该学科领域的主流之一,已出现了多种随机优化算法,如:遗传算法、蚁群算法、粒子群算法、模拟退火算法等等。本文对于自适应遗传算法和蚁群算法中的某些不足,提出了改进思想,并把改进后的算法应用于对背包问题的求解。首先对背包问题所涉及的部分理论知识进行了简单的概述。在对遗传算法、自适应遗传算法的学习和研究基础上,提出了一种改进型自适应遗传算法(IAGA)。该算法在交叉概率和变异概率公式中引入了当代迭代次数因子,提出了“基因位差别比例”的概念,并基于“基因位差别比例”这一概念分别对算法流程中的交叉操作、变异操作以及模式生成操作进行了改进,最大程度上增加了种群的多样性,提高了算法的搜索能力。通过对算例的仿真实验,结果表明该算法在搜索能力和求解效率等方面都有很大的提高。在分析和研究遗传算法和蚁群算法不同特性的基础之上,提出了一种并行遗传蚁群混合算法(PGACA)。从蚁群中选取部分优良个体采用遗传算法寻优,所选个体数目随迭代次数自适应改变,其余个体仍采用蚁群算法寻优。在该算法中,两种搜索方式并行寻优,分别对系统中的信息素进行全局更替和局部更替。对算例的仿真结果表明,并行的混合方式提高了算法的寻优能力和寻优速度,缩短了算法的运行时间。最后,简单介绍了物流配送系统,对其中的货物装载过程建模为背包问题。分别利用改进型自适应遗传算法(IAGA)和并行遗传蚁群混合算法(PGACA)对其进行优化处理,并对优化结果进行了分析与比较。为进一步提高算法的求解精度,对算法流程中的修复策略进行了改进,引入了二次选择修复思想。通过对背包问题的实际应用,证明了改进的修复策略的有效性。