改进的混沌优化算法研究
搜索进程而变化 。因为在搜索初期希望 x变动较大 , 这就需要较大的 α, 随着搜索进程的深入 , x在逐渐 接近最优点 ,故需要设计较小的 α, 以便在 x3 的小 范围内搜索 。
本文针对以上不足进行了如下改进 :
x = x3 + zt ( un - 015)
(5)
zt+1 =λzt
(6)
式中 λ是时变参数 zt 的衰减因子 ,λ < 1, 通常取
如 f ( k) ≤ f3 , 则 f3 = f ( k) , x3i = xi ( k) ,或放
弃 xi ( k) , k = k + 1。
( 4) 若经过上述若干步搜索 f3 都保持不变 , 则
按下式进行二次载波 :
′ x i, n +1 = x3i + a ui, n +1
(4)
其中 α是一个可调节的常数 , x3i 为当前最优解 ; 反
用混沌变量进行搜索 。该优化算法在二次载波过 程中采用小于 1 的调节常数 。当该常数被固定后 , 算法只能在次优解的单侧邻域内进行 ,同时 ,在细 搜索过程中无法改变扰动幅度 ,使得找到最优解的 精度并不高 。
针对文献 [ 2 ]的算法中所存在的一些不足 ,本 文提出一种改进方法 ,即在二次载波过程中引入时 变参数 ,并保证在次优解的双侧邻域内进行搜索 , 同时 ,随着搜索进程的深入逐渐减小扰动的幅度 , 经过仿真实验表明了方法的优越性 。
( 6) 若满足终止判据则停止搜索 , 输出最优解
x3i 及 f3 ,反之返回第 ⑸步 。
上述算法中采用二次载波 x = x3 + aun ,这主要
是为了保证在近似最优解邻域内进行搜索 , 可大大
地提高搜索速度 。但实际上该算法只是在近似最优
解的单侧邻域内进行搜索 ,当可调参数 α固定后 ,因 为 0 ≤ un ≤ 1,所以 aun 要么大于等于零 ,要么小于 等于零 ,由此得到要么 x ≤ x3 ,要么 x ≥ x3 ,即总在 x3 的单侧邻域内搜索 。但实际上并不知道改进的解 在 x3 的什么邻域内 。同时 ( 4) 式中的 α并不能随着
f3 ,反之返回第 ( 5) 步 。
3期
崔 畅 ,等 :改进的混沌优化算法研究
3 09
- 21048 ≤ xi ≤ 21048, i = 1, 2。
3 仿真实例
F2 = [ 1 + ( x1 + x2 + 1) 2 ( 19 - 14x1 + 3x21 - 14x2 +
为检验本文算法的有效性 , 现对以下非线性函 数 [6, 7 ] 进行优化计算 , 这些函数是国内外学者经常 采用的 、用来检验优化方法的测试函数 。表 1列出了 对函数 F1 ~ F4 采用本文算法进行优化得出的结 果 ,这些函数都只有一个全局最优解 , 但可能存在 多个局部极小值 。 F1 = 100 ( x2 - x21 ) 2 + ( 1 - x1 ) 2 ,
文献 [ 2 ]利用类似载波的方法将 Logistic 映射 产生的混沌变量引入到优化变量中 ,同时 ,将混沌 运动的遍历范围转换到优化变量的定义域 ,然后利
2006年 9月 19日收到 第一作者简介 :崔 畅 (1978—) ,女 ,辽宁盘锦人 ,辽宁石油化工 大学信息与控制工程学院助教 ,研究方向 :工业过程的先进控制 与优化 。 E2mail: cuichang0518@ eyou. com。
之 ,则返回第 ⑶步 。
( 5) 用二次载波后的混沌变量继续迭代搜索 ,
令 xi ( k′) = x′i, n +1 , 计算相应的性能指标 f ( k′) 。如
f ( k′) ≤ f3 , 则 f3 = f ( k′) , x3i = xi ( k′) , 或 放 弃
xi ( k′) , k′= k′+ 1。
大最小值 fmax 和 fm3 in 。
如 f ( k) ≤ f3 ,则 f3 = f ( k) , x3i = xi ( k) 或
如 f ( k) > fmax ,则 fmax = f ( k) , k = k + 1。
( 4) 若经过上述 N 步搜索 f3 都保持不变 ,则选
择 p,计算时变参数 zt 的初值 : z0 = ( f3 - fmax ) / lnp,
科 学 技 术 与 工 程7卷到优化Fra bibliotek量的取值范围 :
xi, n +1 = ci + di ui, n +1
(3)
其中 ci , di 为常数 , 相当于放大倍数 , ( 3) 式为
代数和 。
( 3) 令 xi ( k) = xi, n +1 , 用混沌变量进行迭代搜
索 ,计算相应的性能指标 f ( k) 。
并按 ′ xi, n +1 = x3i + zt ( ui, n +1 - 015) 进行二次载波 , 其
中 x3i 为当前最优解 ;反之 ,则返回第 ( 3) 步 。 (5) 用二次载波后的混沌变量进行细搜索 , 令
xi ( k′) = x′i, n +1 ,计算相应的性能指标 f ( k′) 。
0
1. 351 3 ×10 - 6
3 158
0
2. 1026 ×10 - 5
3 089
F2
ICOA
(0, - 1)
(0, - 1)
3
3
892
COA
(0, - 1)
(0. 003 8, - 0. 991 6)
3
3. 027 2
1 176
F3 ICOA ( - 1. 052 7, 1. 027 6)
( - 1. 052 7, 1. 027 6)
0
0
527
0
1 028
表 1中两种算法的比较结果是在相同控制参数 下进行的 ,其中最优点位置误差和目标函数值误差 均不超过 10 - 5 , 从表 1 中可以看出改进算法的有 效性 。
4 结论
本文针对文献 [ 2 ]中提出的混沌优化方法所存 在的一些不足进行了适当的改进 。改进后的方法 不但可以准确找出全局最优解 ,同时还提高了求得 全局最优解的计算效率 ,是一种有效的全局优化方 法 。数值仿真结果也证明了这一点 。上述函数问 题的混沌优化策略思路直观 ,容易程序化实现 ,比 较适合于连续变量的函数优化问题 。
( 1) 给予 i个有微小差别的初值 ui, 0 和 x3i 及
f3 , k = 1, k′= 1。
( 2) 通过如下的 Logistic映射 [4 ] 变换得到 i个
混沌变量 :
ui, n +1 = μui, n ( 1 - ui, n )
(2)
将上面的混沌变量分别通过下面的变换 , 放大
308
ui, n +1 =μuin ( 1 - ui, n ) 。 将上面的混沌变量分别通过下面的变换 , 放大
到优化变量的取值范围 :
。 xi, n +1 = ci + di ui, n +1
其中 ci , di 为常数 ,相当于放大倍数 ,上式为代数和 。
( 3) 令 xi ( k) = xi, n +1 , 用混沌变量进行迭代搜 索 ,计算相应的性能指标 f ( k) , 并保留 f ( k) 中的最
F4
=
015
+
sin (1 +
x2 + y2
01001 ( x2
+
015
y2 ) )
2
,
- 4 ≤ x, y ≤ 4。
表 1 F1 —F4 计算结果
函数 算法
实际最优点
计算最优点
实际最优值 计算最优值
迭代次数
F1
ICOA
COA
(1, 1) (1, 1)
(1. 000 2, 1. 000 4) (0. 997 0, 0. 994 4)
1 混沌优化算法及其改进
设一类连续对象的优化问题为 [ 3 ]
m in f ( x1 , x2 , …xn ) , ai ≤ xi ≤ bi , i = 1, 2, …, n ( 1) 其中 xi 为待优化的参数 , [ ai , bi ] 为的取值区间 。
文献 [ 2 ] 中的算法可以描述如下 :
- 0. 513 4
- 0. 513 4
1 281
COA ( - 1. 052 7, 1. 027 6)
( - 1. 053 6, 1. 029 0)
- 0. 513 4
- 0. 513 4
2 792
F4
ICOA
COA
(0, 0) (0, 0)
(0, 0)
0
( - 3. 900 1 ×10 - 9 , 1. 743 1 ×10 - 9 )
录这 N 个可行解中所对应的目标函数值的最大最小
值 fmax和 fm in ,选择参数 p ( 0 < p < 1) ,于是按下式确
定 zt 的初始值 z0 :
z0 = ( fm in - fmax ) / lnp
(7)
下面给 出 改 进 后 的 混 沌 优 化 算 法 ( Imp roved
Chao s Op tim iza tion A lgo rithm , 以 下 简 称 ICOA )
改进的混沌优化算法研究
崔 畅 赵 强
(辽宁石油化工大学 信息与控制工程学院 ,抚顺 113001)
摘 要 分析了一类混沌优化算法所存在的不足 ,即在二次载波过程中只是在近似最优解的单侧邻域内进行搜索 ,同时可调 参数也不能随着搜索进程的变化而变化 ,使得寻优结果并不是很理想 。对此进行了适当地改进 ,利用混沌变量对当前点进行 扰动 ,并且通过时变参数逐渐减小搜索进程中的扰动幅度 ,同时 ,以一定方式确定了时变参数的初值 。用改进后的算法对连 续对象的全局优化问题进行优化 ,仿真结果表明 ,该方法可以显著提高收敛速度和精度 。 关键词 混沌 遍历性 混沌优化 全局最优 中图法分类号 TP 13; 文献标识码 A