非线性整数规划的粒子群优化算法
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 27
都有一个由被优化的函数决定的适应值 ,每个粒子还有一个速度决定他们飞翔的方向和距离 ,然后粒子们
就追随当前的最优粒子在解空间中搜索 。粒子群优化算法初始化为一群随机粒子 (随机解 ) ,然后通过迭代
找到最优解 。在每一次迭代中 ,粒子通过跟踪两个“极值 ”来更新自己 。一个是粒子本身所找到的最优解 ,
从表 2可知 ,当 c1 , c2 固定后 , c0 太大全局极值和局部极值影响力小 , c0 太小就降低了自身的影响 ,因此 c0 的取值应适中 。经过测试 ,对于 F1 函数来说 , c0 = 1. 4时平均迭代次数较少 ;对于 F2 函数来说 , c0 = 1. 2 时平均迭代次数较少 。从表 3可知 ,当 c0 , c2 固定后 , c1 偏大有利于局部搜索 ,不利于全局搜索 ,反之 , c1 偏 小不利于局部搜索 ,有利于全局搜索 ,所以 c1 的取值也应取适中 。对于 F1 和 F2 函数来说 , c1 = 1. 4平均迭 代次数较少 。从表 4可知 ,当 c0 , c1 固定后 ,同样道理 , c2 的取值应取适中 。对于 F1 和 F2 函数来说 , c2 = 0. 9平均迭代次数较少 。
(1)
xk +1 = xk + vk +1
(2)
其中 : vk 是粒子的速度向量 ; xk 是当前粒子的位置 ; pbestk 粒子本身所找到的最优解的位置 ; gbestk 整个 种群目前找到的最优解的位置 ; c0 , c1 , c2 表示群体认知系数 , c0 一般取介于 (0, 1)之间的随机数 , c1 , c2 取 ( 0, 2)之间的随机数 。vk +1 是 vk , pbestk - xk 和 gbestk - xk 矢量的和 。在每一维粒子的速度都会被限制在一个
1 28
微 计 算 机 应 用
2007年
献 [ 8 ]进行比较 ,结果如表 1所示 。 m inF1 = x1 + x2 + … + x10 , - 10 ≤ xi ≤ 10, xi ∈ Z ( i = 1, 2, …, 10)
m inF2 = x21 + x22 + … + x210 , - 10 ≤ xi ≤ 10, xi ∈ Z ( i = 1, 2, …, 10)
对各个粒子若粒子的适应值优于原来的个体极值pbest设置当前适应值为个体极值pbest5根据各个粒子的个体极值pbest找出全局极值gbest更新自己的速度并把它限制在vmax算例分析411与其他算法比较为验证上述粒子群优化算法求解整数规划的有效性用粒子群优化算法解下列整数规划并且与文128进行比较结果如表10xi10xi各种算法比较函数本文收敛率最大迭代次数平均进最少迭代次数收敛率最大迭代次数平均进最少迭代次数f114100141007544
第 28卷第 2期 2007年 2月
微 计 算 机 应 用 M ICROCOM PU IER APPL ICATIONS
Vol. 28 No. 2 Feb. 2007
非线性整数规划的粒子群优化算法
高 尚 1, 2 杨静宇 3
(1 江苏科技大学电子信息学院 镇江 212003 2 苏州大学江苏省计算机信息处理技术重点实验室 苏州 215006 3南京理工大学计算机科学与技术系 南京 210094)
End
4 算例分析
411 与其他算法比较 为验证上述粒子群优化算法求解整数规划的有效性 ,用粒子群优化算法解下列整数规划 [ 7 ] ,并且与文
© 1994-2007 China Academic Journal Electronic Publishing House. All rights reserved.
最大速度 vmax ( vmax > 0) ,如果某一维更新后的速度超过用户设定的 vmax ,那么这一维的速度就被限定为 vmax
,即若 vk > vmax 时 , vk = vmax 或 vk < - vmax 时 , vk = - vmax 。
3 求解非线性整数规划的粒子群优化算法
无约束的整数规划问题其可描述为 :
表 1 各种算法比较
函数
维数
收敛率
文 [8]
最大迭代 次数
平均进化 代数
最少迭代 次数
收敛率
本文
最大迭代 次数
平均进化 代数
最少迭代 次数
2
95%
—
—
14
100 %
9
2. 7
0
5
95%
—
—
14
100 %
75
44. 45
8
F1
10
60%
—
—
24
100 %
1540
483. 3
129
15
25%
—
—
348
100 %
Abstract:A new particle swarm op tim ization algorithm for unconstrained nonlinear integer op tim ization p roblem is p resent. The parti2 cles move around the set of [ 0, 1 ] space, which correspond with the integer space. Experimental analyses are carried out on the rea2 sonable selection on the parameters of this algorithm , and basic p rincip les for the parameter selection are p rovided. Results of numeri2 cal tests show the effectiveness and generality of the method. Keywords: operations research, particle swarm op tim ization, integer p rogramm ing
Particle Swarm O ptim iza tion A lgor ithm for Non linear In teger Programm ing
GAO Shang1, 2 , YANG J ing yu3
(1 School of Electronics and Information, J iangsu University of Science and Technology, Zhenjiang, 212003, China, 2 Provincial Key Laboratory of Computer Information Processing Technology, Suzhou, 215006, China, 3 Department of Computer Science and Technol2 ogy, Nanjing University Science and Technology, Nanjing, 210094, China)
本文于 2005 - 02 - 28收到 。
© 1994-2007 China Academic Journal Electronic Publishing House. All rights reserved.
2期
高 尚 等 :非线性整数规划的粒子群优化算法
2 基本粒子群优化算法
粒子群优化 [ 9~11 ] ( PSO: Particle swarm op tim ization)是模拟鸟群的捕食行为 ,一群鸟在随机搜索食物 ,在 这个区域里只有一块食物 ,所有的鸟都不知道食物在那里 。但是他们知道当前的位置离食物还有多远 ,最 简单有效的就是搜寻目前离食物最近的鸟的周围区域 。粒子群优化算法从这种模型中得到启示并用于解 决优化问题 。粒子群优化算法中每个优化问题的解都是搜索空间中的一只鸟 ,称之为“粒子 ”。所有的粒子
20
45%
—
—
214
95%
—
—
1227
参数设置如下 : c0 = 2 , c1 = 1 , c2 = 1 ,粒子数为 50,规定最大迭代次数为 10000次 ,否则称为不收敛 。 表 1中“—”表示该种情况 ,算法不完全收敛 ,该项指标无法统计 。从表 1可看出 ,本文的算法比文献 [ 8 ]的 算法效果明显好 。随着维数增加 ,收敛率逐渐降低 。 412 参数设置
当维数为 10,粒子数为 50,各算法运行 20次 , c1 = 2 , c2 = 1 , c0 取不同值进行测试 ,结果如表 2所示 ;
c0 = 1. 2 , c2 = 1 , c1 取不同值进行测试 ,结果如表 3所示 ; c0 = 1 , c1 = 2 , c2 取不同值进行测试 ,结果如表 4所示 。
解整数规划问题粒子初始化 ,设定粒子数 n ,随机产生 n个初始解或给出 n个初始解 ,随机产生 n个初始速度 ; (2)根据当前位置和速度产生各个粒子的新的位置 ; W hile (迭代次数 <规定迭代次数 ,或足够好的适应值 ) do (3)找到其对应的整数位置 ; (4)计算每个粒子新位置的适应值 ;对各个粒子 ,若粒子的适应值优于原来的个体极值 pbest ,设置当前 适应值为个体极值 pbest ; (5)根据各个粒子的个体极值 pbest找出全局极值 gbest ; (6)按 (1)式 ,更新自己的速度 ,并把它限制在 vmax 内 ; (7)按 (2)式 ,更新当前的位置 ;
7316
2391. 5
589
20
5%
—
—
1976
95%
—
—
914
2
100 %
146
29. 35
15
100 %
6
2. 25
0
5
100 %
552
46. 65
14
100 %
198
68. 2
3
F2
10
95%
—
—
19
100 %
2378
684. 75
219
15
80%
—
—
104
100 %
7119
1969. 9
450
摘 要 :提出了一种新的粒子群优化算法来求解无约束的整数规划问题 ,粒子在 [ 0, 1 ]空间内运动 ,并与整数空间对应 。对粒 子群优化算法参数的合理选取进行了实验分析 ,给出了算法参数选取的基本原则 。数值试验计算结果表明该方法比较有效 , 并具有通用性 。 关键词 :运筹学 粒子群优化算法 整数规划
这个解叫做个体极值 pbest ,另一个极值是整个种群目前找到的最优解 ,这个极值是全局极值 gbest ,另外也
可以不用整个种群而只是用其中一部分为粒子的邻居 ,那么在所有邻居中的极值就是局部极值 。在找到这
两个最优值时 , 每个粒子根据如下的公式来更新自己的速度和新的位置 :
vk +1 = c0 vk + c1 pbestk - xk + c2 gbestk - xk
1 引言
整数规划问题是运筹学中一门重要内容 ,其广泛应用于许多工程领域 ,如资源管理 、生产调度 、可靠性 优化 、目标分配 、超大规模集成电路设计等 。对于变量规模较小的整数规划 ,传统的求解方法有分支定界 法 、割平面法和隐枚举法 [1 ]等 。但对于较大规模的问题 ,传统的方法比较耗时 ,近年来随着进化计算的发 展 ,许多学者运用遗传算法 [ 2, 3 ] 、模拟退火算法 [ 4 ] 、蚁群算法 [ 5, 6 ]等方法求解整数规划问题 。文献 [ 7, 8 ]采用 粒子群优化算法来解整数规划问题 ,提出一种在整数空间进行进化计算的粒子群优化算法 ,效果较好 。本 文提出一种新的简单粒子群优化算法解一般非线性整数规划问题 。
由于 c0 , c1 , c2 的存在 ,即使粒子的位置和速度均为整数 ,下一位置则可能为实数 ,这样不能保证仍在
整数空间内搜索 。文献 [ 7 ]根据全局极值和局部极值定义区间 ,然后在区间内等概率取随机数 。文献 [ 8 ]应
用实数域方法再取整的方法 。
本文的思路是 , n个变量 y1 , y2 , …, yn 均属于 [ 0, 1 ]区间的实数 ,其值对应于粒子的位置 ,粒子的速度和 位置按 ( 1)和 (2)公式计算 。xi与 yi 对应 ,若 k = [ li yi ] ,则 xi取集合 ai , ai + 1, ai + 2, …, bi 中的第 k个元 素 ,即 xi = ai + k - 1 。这样 [ 0, 1 ]区间的实数就与整数对应起来 ,其目标函数按 (3)计算 。
m inf ( x1 , x2 , …, xn )
s1 t1ai ≤ xi ≤ bi ( i = 1, 2, …, n)
(3)
xi ∈ Z ( i = 1, 2, …, n) 其中 Z为整数空间 , ai , bi ( i = 1, 2, …, n) 为整数 , li = bi - ai + 1为 xi 的可能取的个数 。