量子粒子群算法求解整数规划的方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
量子粒子群算法求解整数规划的方法
杨荣华;刘建华
【摘要】粒子群算法主要用于优化连续性问题.如果用于求解整数规划问题,算法的粒子位置必须解决取整问题;而量子粒子群算法求解整数规划问题具有更高的效率.利用三种取整方法与量子粒子群算法结合,求解非线性整数规划问题,并且与标准粒子群算法求解整数规划问题进行比较.通过对基准函数仿真实验,比较了六种方法求解整数规划问题.实验结果表明,基于随机取整的量子粒子群算法搜索成功率优于其他五种方法,其综合搜索效率更佳.寻找了一种更优的求解整数规划方法.%The standard Particle Swarm Optimization mainly be used to optimize continuous problem. If using to solve integer programming, the position of particle must be rounded. However, it is more efficient for Quantum Particle Swarm Optimization (QPSO) to solve integer programming. Three kinds of rounding location of particle for QPSO are used to optimize the integer programming, and compared to the standard PSO with the same three kinds of rounding location of particle. By the simulation on benchmark functions, six kind of solving integer programming are compared with. The results of experiment show that the QPSO based on random rounding outperforms the other ways and its' searching efficiency is higher than that of the other ways, so a better method of solving integers programming is found.
【期刊名称】《科学技术与工程》
【年(卷),期】2011(011)033
【总页数】5页(P8195-8198,8202)
【关键词】量子粒子群;整数规划;随机取整;优化算法
【作者】杨荣华;刘建华
【作者单位】福建工程学院计算机与信息科学系,福州350108;福建工程学院计算机与信息科学系,福州350108
【正文语种】中文
【中图分类】TP183
优化问题反映了人类实践活动中进步的要求。优化算法是在满足其他各方面的前提条件下,争取获得在可能范围内的最佳效果。粒子群算法现已广泛用于各种优化问题的求解,但常用的标准粒子群算法主要用于连续性问题的优化。本文提出几种粒子群算法求解整数规划问题的方法,通过实验比较表明,基于随机取整的量子粒子群算法来求解非线性的整数规划问题,具更好的算法搜索效率。
1 整数规划问题
整数规划(Integer Programming,IP)是要求决策变量取整数值的优化问题,是组合最优化理论中的一个核心问题。本文研究的整数规划是针对非线性的整数规划,在解决交通调度、任务调度、资金分配、股票分析、网络设计和VLSI电路设计等问题中具有重要的应用。
整数规划问题的一般形式为:
式中:x=[x1,x2..,xn]T为整数向量。
2 PSO算法和QPSO算法
2.1 PSO 算法
粒子群算法(Particle Swarm Optimization,PSO)是一类基于群智能的随机优化算法。受鸟类群体行为研究结果的启发,并利用生物学家Frank Heppner的生物群体模型,Jame Kennedy和 Russell Eberhart于1995年共同提出了PSO算法[1],并立刻引起了优化及演化计算领域的学者们的广泛关注。粒子群算法的基本思想是通过群体中个体之间的协作和信息共享来寻找最优解。
粒子群算法将每个个体称为粒子,用Xi=(xi1,xi2,…,xiD)来表示在D维搜索空间中的一个没有体积和重量的粒子,并在搜索空间中以一定的速度Vi=(vi1,
vi2,…,viD)飞行。该飞行速度由个体的最好位置Pi=(pi1,pi2,…,piD)和群体的最好位置pgd进行动态调整。粒子状态更新操作如下:
其中,c1和 c2是[0,1]区间的随机数,学习因子φ1和φ2决定社会群体pg 和个体认知pi的相互影响,由此构成了粒子群的基本算法。自PSO基本算法提出后,学者们也进行了大量有关提高算法收敛性和多样性的研究。一般来说,对于基于群体的搜索优化方法,适当地控制全局搜索和局部搜索能力对有效地找到最优解起到关键作用。
Shi和 Eberhart[2]引进了线性变化的惯性权重参数w,在时间上动态地调整速度并慢慢地将PSO聚焦在局部搜索。
在大多数文献中将带惯性权重的PSO算法称之为PSO算法的标准版本,或简称标准PSO;w值为惯性权值,当初始搜索时,可以从较大wmax向较小wmin线性地减小;通常可以用
式(4)中,wmax为初始权重,wmin为最终权重,iter为当前迭代次数,itermax 为最大迭代次数。
Clerc[3]于1999年提出了收缩因子参数 k。该方法描述了一种选择w、φ1和
φ2值的方法,防止粒子搜索到可行性区域可能的范围之外,以确保算法收敛。
2.2 QPSO 算法
Sun等人从量子力学的角度,提出一种新的量子粒子群优化(Quantum-behaved Particle Swarm Optimization ,QPSO)算法[4,5]。认为粒子具有量子行为,每一个粒子在搜索空间移动时,存在着一个以Pbest为中心的DELTA势阱。由于在量子空间中的粒子满足聚集态的性质完全不同,粒子移动时没有确定的轨迹,这使粒子可以在整个可行解空间中进行探索寻找全局最优解,因而QPSO算法的全
局搜索能力远远优于经典的PSO算法。
QPSO算法中,设种群规模为 M,在进化过程中,粒子以一定概率取加或减,更
新每个粒子的位置,并生成新的粒子群体,由公式(5)至式(7)决定。
若u≥0.5 则
或
式(7)中 a、u 是(0,1)的随机数,mbest为 pbest的平均值,pbest(i)为第i个粒子本身的最优解,gbest为所有粒子的最优解;b为迭代进程中的权重系数,计算
公式与公式(4)的w相同,从初始搜索的初始权重值按搜索次数线性地减少到最大搜索次数的最终权重值。
3 用量子粒子群算法求解整数规划问题
将量子粒子群算法中粒子的位置进行整数规格化,成为解决整数规划的基本方法;