论文部分内容阅读
背包问题作为运筹学中典型的NP难解问题,生活中许多问题都可以归为此类,因此,对该问题的求解无论是在理论上,还是在实践中都具有重要意义。目前随着问题规模的增大,对此类问题的研究就有了更高的要求,而经典的优化方法更显得无能为力。可喜的是,随着群智能优化算法的发展,也为解决此类问题开辟了新的思路。群智能优化算法作为一种求解高维度和高复杂性优化问题的有效方法,它是通过模拟生物群体间个体的相互作用及信息交流而衍生出的一种新型算法。烟花算法是通过模拟燃放烟花时烟花在空中的爆炸过程而实现的。因为该算法的参数较少,执行过程简单,尤其在解决高维复杂优化问题上具有一定优势,所以目前已被广泛关注。当然,也可以利用该算法求解背包问题。本论文主要做了如下的研究工作:1.给出了基于Logistic混沌映射和Sigmoid函数的烟花算法,并将其应用于求解经典0-1背包问题。对于基本烟花算法来说,首先,烟花的初始化过程采用了有利于进行全局探索的随机搜索方式,可是往往较难进行细致的局部开发。故这里采用被广泛应用的Logistic混沌映射进行初始化,从而初始烟花的分布位置更加均匀,且搜索能力更强;其次,烟花的爆炸半径不利于搜索速度与求解精度的平衡,故引入Sigmoid函数来构造递减的爆炸半径,使得在迭代前期,爆炸半径保持更长时间的较大值,进行充分的全局探索,在迭代后期,爆炸半径保持更长时间的较小值,进行细致的局部开发,平衡了搜索速度与求解精度;最后,对标准测试函数进行测试,并与其它算法进行对比,实验结果表明改进算法的性能更优;并且将其应用于求解经典0-1背包问题,实验结果证明改进算法在解决实际优化问题上是有效的。2.提出利用Kent映射、余弦函数和交叉变异思想改进基本烟花算法,并将其应用于求解折扣0-1背包问题。首先,为了解决基本烟花算法的随机搜索问题,采用了与Logistic混沌映射同构的Kent映射规则来提高搜索精度;其次,利用余弦函数设计了分段爆炸半径,使得半径在前1/2迭代过程中保持递减,后1/2迭代过程中及时适当增大来避免烟花陷入局部最优,这样就可以利用对爆炸半径的计算方法达到有目的的对于爆炸方向进行引导,从而避免了盲目性,节省了搜索时间;接着,利用交叉变异思想对高斯变异过程进行了改进来优化变异过程,从而进一步提升了算法寻优性能。最后,对标准测试函数和折扣0-1背包进行了求解,仿真结果表明,所提算法比其它群智能算法的结果更优,达到了改进算法性能的目的。