优化理论与最优控制作业--复合形法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
优化理论与最优控制大作业
题目院系复合形算法
控制与计算机工程学院
小组成员
2015年12月24日成绩
一、题目要求
1.Generalized Rosen brock’s valley Function
048
.2048.2)1()(100)(max 1
12
22
1≤≤--+-⋅=∑-=+i n i i i i x x x x x f 2.Generalized Rastrigin's Function
12
.512.5)
10)2cos(10()(max 1
12
≤≤-+⋅-=∑-=i n i i i x x x x f π3.Schaffer’s Function
4
4))
(001.01(5.0)(sin 5.0),(max 2
2
22
122
22
121≤≤-+*+-+-
=i x x x x x x x f 二、复合形的算法思想
复合型算法主要思想是:在满足一系列约束条件的情况下,确定初始顶点,计算每个顶点的初始函数值,进行比较,依次得出最好点,次差点和最差点。计算除最差点以外的所有点的形心点,以该点为反射中心,计算最差点的反射点,若反射点处的函数值优于最差点,则用反射点代替最差点;反之迭代进行直到满足反射点函数值优于最差点,若迭代多次直到反射系数小于某一给定精度时还未满足条件,则说明反射方向不利,此时取次坏点的反射方向为寻优继续进行的方向。
按照以上方法计算迭代,直到达到设定的最优收敛条件,此时对应的最小函数值点为最优点。
三、复合形算法实现具体迭代步骤
1)给定设计变量数目n,变量界限范围),2,1(,n i b a i i ⋅⋅⋅=,复合形顶点数目K,精
度要求δε,。
2)产生初始复合形,利用)(i i j
i i j
i a b a X -+=γ(其中j 为复合形顶点标号,i 为
调整变量的标号,i i b a ,为调整变量的上下界,γ为[01]区间内服从均匀分布的伪随机数),得初始复合形K 个顶点),,2,1(K j X j ⋅⋅⋅=。
3)计算复合形各顶点的目标函数值,,2,1),()(K j X f j ⋅⋅⋅=,在各顶点中找出最坏
点)(H X 和最好点)
(L X {
}
{})
))))
)))K j X f X f X K j X f X f X j L L j H H ⋅⋅⋅==⋅⋅⋅==,2,1)((min (:,2,1)((max (:)
((()(((转入第(8)步。
4)计算除最坏点)(H X 外其余各顶点的中心)
(C X
()H j X K X
K j j C ≠-=∑=1
)()
(115)检查)(C X 点的可行性。若)(C X 不在可行域D 内,则D 域可能是一个非凸集。
这时可在以)(L X 点为起点、)(C X 点为端点的超立方体中(二维则为长方形)利用随机数产生新复合形的各个顶点,即
)
,2,1()
()
(K i X X C i
L i
⋅⋅⋅=<则取:
)
,2,1()((K i X b X a C i i L i
i ⋅⋅⋅=⎪⎭⎪⎬⎫==)
否则相反,然后转回第(2)步;若)(C X 在可行域,则进行下一步。6)寻求映射点)
(R X )
)H C C R X X X X ()()()((++=α式中映射系数α通常取1.3。亦须检查点)(R X 是否在可行域内。若在可行域内,则进行第(7)步;否则将映射系数α减半,即αα⇒5.0,再按上式计算新的映射点使其向可行域方向靠拢;若新的映射点仍在可行域外,则将α再次减半继续重复迭代直到映射点)(R X 进入可行域为止。而后进行下一步。7)比较映射点)(R X 与最坏点)(H X 的目标函数值,构成新复合形。
计算映射点)(R X 的目标函数值())(R X f 并与最坏点的目标函数值())(H X f 相
比较。若()())()(H R X f X f <,则用)(R X 替换点)(H X ,即)()(H R X X ⇒,构成一个新复合形,返回第(3)步;否则将步长减半,即αα⇒5.0,返回第(6)步,重新计算新的回缩后的映射点)(R X ,循环迭代,直至()())()(H R X f X f <,
则以新的)(R X 替换)(H X 构成新复合形,返回第(3)步。
如果经过若干次的减半映射系数α,直到α值小于一个预先给定的很小正数δ(通常取510-=δ),仍不能使映射点优于最坏点,这说明该映射方向不利。为了改变映射方向,找出复合形各顶点中的次坏点)(SH X ,即
{}
)
)))H j K j X f X f X j SH SH ≠⋅⋅⋅==,,2,1)((max (:)(((并以次坏点)(SH X 替换最坏点)(H X ,即H SH X X ⇒)(,返回第(4)步。8)检验是否满足迭代终止条件
反复执行上述过程,复合形随之收缩。在每一个新复合形构成之时,均应检验终止条件以判别是否结束达代。当复合形缩得很小时,各顶点的目标函数值必然近于相等。常用各顶点与好点的目标函数值之差的均方根值小于误差限作为终止迭代条件。即
()[]
ε≤⎪⎭
⎪
⎬⎫⎪⎩⎪⎨⎧-∑=2
12
1
)
()
()(1K
j L j X
f X f K
如满足迭代终止条件,输出最优解,结束迭代;否则返回步骤(3),继续进行下一次迭代。
四、复合形算法流程图
五、优化求解结果
问题一:
048
.2048.2)1()(100)(max 11
2
22
1≤≤--+-⋅=∑-=+i n i i i i x x x x x f 目标函数最优值:Fmax=3905.926223最优顶点:X1=-2.048000,X2=-2.048000>>