- 3
- 0
- 约6.95千字
- 约 3页
- 2019-08-03 发布于江西
- 举报
一种改进的单纯形优化算法及其仿真研究罗文广( 广西工学院电子信息与控制工程系 ,广西 柳州 545006)摘要 :研究一种收缩系数和扩展系数适时适当变化的单纯形优化学习算法 。用 MATLAB 语言
一种改进的单纯形优化算法及其仿真研究
罗文广
( 广西工学院电子信息与控制工程系 ,广西 柳州 545006)
摘要 :研究一种收缩系数和扩展系数适时适当变化的单纯形优化学习算法 。用 MATLAB 语言编制仿真程序 ,该程序简单 、通 用 。仿真结果表明 ,该算法与 N - M 法相比 ,有效地提高了寻优速度 。
关键词 : 单纯形法 ;收缩系数 ;扩展系数 ;仿真程序
中图分类号 :O224
文献标识码 :A
n +1
1 引言
1947 年 Dantzig 提 出 单 纯 形 算 法 后 , 使 最 优 化 理 论 成 为 一门独立的学科 。1965 年 Nelder 和 Mead 提出了下降单纯形
法 ( N - M 法 ) , 使 单 纯 形 法 变 得 有 效 、实 用 ; 1981 年 D. A.
Walmsley 对 N - M 法进行了一些修改 。目前 ,单纯形法作为 一种能实现全局优化的算法 ,在线性规划 、神经网络等方面
获得较广泛的应用 。本文研究在算法的寻优过程中使收缩
系数和扩 展 系 数 适 时 适 当 地 变 化 , 以 提 高 寻 优 速 度 , 并 用
MATLAB 编制相应的程序进行仿真研究 。
1
∑Vi
Vˉh =
(5)
n
i = 1
i ≠h
VR
= Vˉh + α( Vˉh - V h )
Vh 的反射点 :
(6)
h
R
E
R
Vh = Vˉh + γ( V h - Vˉh )
Vh 的扩展点 :
(7)
VC
= Vˉh + Vh - Vˉh
β(
)
( )
Vh 的收缩点 :
8
h
式中 α、γ、β分别为反射系数 、扩展系数和收缩系数 , 且 α =
1 , 2 ≤γ ≤3 , 0. 5 ≤β ≤0. 75 。 寻优过程的结束条件为 :
1
2 单纯形优化算法基本原理[ 1
2 ]
n +1
1
2
n + 1 ∑
[ f ( Vi ) - f ( Vˉh ) ]2 ≤ε
(9)
N - M 法的基本原理是 : 在 n 维空间中 ,用 n + 1 个顶点
构成一个多面体 ,即单纯形 ,然后根据一些简单的规则 ,不断 改变单纯形的顶点 ,使单纯形朝着目标函数 ( 准则函数) 最小
的方向移动 ,最后找到函数最小值的近似解 。改变单纯形顶 点有三种方法 ,即反射 、扩展和收缩 。
在以后的描述中作以下设定 :
设准则函数 f : Rn → R 在取最小值周围连续 , Vi ∈ Rn , ( i
= 1 , 2 , , n + 1) , 为单纯形的 n + 1 个顶点 , 且
i = 1
式中 ε为给定常数 。
3
改进方法
在应用单纯形优化算法时 , 初始顶点 、扩展系数和收缩系
数取值不同 , 对算法的收敛速度有较大的影响 , 一般的做法
是 :扩展系数和收缩系数分别固定取为 2 和 0. 5 ;而初始顶点取
i - 1
法如下 : V1 随机取 , 其他顶点按 V1 + s ×[ q , q , p , q , q ] T
f i = f ( Vi ) ( i = 1 , 2 , , n + 1)
(1)
s
s
(
n + 1 + n - 1) , q =
(
n + 1 - 1)
计算
p =
n 2
n 2
f h = f ( Vh )
(2)
f h = max { f i } ,or
1 ≤i ≤n +1
( s 为给定的单纯形边长) 。实际应用时 , 若收缩系数过大 , 一
方面很容易使准则函数超出极小值区域 ; 另一方面 , 容易使 各顶点的准则函数值在某一个值附近振荡 , 用式 (9) 计算可 知寻优过程没有获得极小值时就结束 ; 若收缩过小 , 寻优速
度慢 , 迭代次数过多 。扩展系数也存在同样的问题 。
f l = min { f i } ,or
1 ≤i ≤n +1
f l = f ( Vl )
(3)
f p = max { f i } ,or
1 ≤i ≤n +1
i ≠h
f p = f ( Vp)
(4)
这里 , Vh 是准则函数最大时对应的顶点 ( 最坏点) , Vl 是准则
函数最小时对应的顶点 ( 最好点) , Vp 是准则函数为次大值时 对应的顶点 , Vˉh 是 Vi ( i = 1 , 2 , , n + 1 , i ≠ h
原创力文档

文档评论(0)