约束优化方法的讲解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
初始复合形生成的方法: 1)由设计者决定k个可形点,构成初始复合形。设计变量少 时适用。 2)由设计者选定一个可形点,其余的k-1个可形点用随机法 产生。
xi a ri (b a )
1 L xc x j L j 1
xL1 xc 0.5 xL1 xc
3)由计算机自动生成初始复合形的所有顶点。 二、复合形法的搜索方法
r r3
则 则 则
r r r3
r r r2
r r r1
r r2
r r1
q r / r1
(0,1)之间的随机数
在任意(a,b)区间内的随机数
x a q(b a)
二、初始点的选择 随机方向法的初始点x0必须是一个可行点,既满足全部不等 式约束条件。
初始点可以通过随机选择的方法产生。 1)输入设计变量的下限值和上限值,即
1.反射
1)计算复合形各顶点的目标函数值,并比较其大小,求出 最好点XL、最坏点XH 及 次坏点XG,即
xL : f xL min f x xH xG
H
j 1, 2,..., k : f x max f x j 1, 2,..., k : f x max f x j 1, 2,..., k , j H
r cr
k
k 1
惩罚因子的缩减系数
通常的取值范围:0.1-0.7之间。
4.收敛条件
* k k x* r k 1 , r k 1 x r , r
x r
*
k 1
,r
k 1
k 1
1
x r
*
k
x r
随机方向法程序设计简单,搜索速度快,是解决小型机械优 化问题的十分有效的算法。 基本思路如图所示。
一、随机数的产生 下面介绍一种常用的产生随机数的数学模型
35 36 37 首先令 r 取r=2657863,按一下步 2 , r 2 , r 2 1 2 3
骤计算: 令 若 若 若 则
r 5r
一、内点惩罚函数法 内点法将新目标函数定义于可行域内,这样它的初 始点及后面的迭代点序列必定在可行域内。 采用内点法只能求解具有不等式约束的优化问题。
min f x
s.t.g j x 0
j 1, 2,..., m
转化后的惩罚函数形式为:
x, r f x r
在由m个不等式约束条件gu(x)≤0所确定的可行域φ内,选 择一个初始点x(0),然后确定一个可行搜索方向S,且以适当 的步长沿S方向进行搜索,取得一个目标函数有所改善的可 行的新点x(1),即完成了一次迭代。以新点为起始点重复上 述搜索过程,每次均按如下的基本迭代格式进行计算:
x(k+1)= x(k)+α(k) S(k)
j 1 k 1
m
l
新目标函数
加权因子
然后对新目标函数进行无约束极小化计算。
第二节随机方向法
随机方向法的基本思路:
在可行域内选择一个初始点,利用随机数的概率特性,产 生若干个随机方向,并从中选择一个能使目标函数值下降 最快的随机方向作为搜索方向d。 从初始点x0出发,沿d 方向以一定步长进行搜索,得到新点 X,新点x应满足约束条件且f(x)<f(x0),至此完成一次迭代。
ai xi bi
2)在区间(0,1)内产生n个伪随机数 qi
3)计算随机点x的各分量 xi ai qi (bi ai )
4)判别随机点x是否可行,若随机点可行,用x代替x0为 初始点;若非可行点,转到步骤2)重新产生随机点,只 到可行为止。
三、可行搜索方向的产生
产生可行随机方向的方法:从k个随机方向中, 选取一个 较好的方向。其计算步骤为: 1)在(-1,1)区间内产生伪随机数r i
(k=0,1,2,…)
逐步趋向最优解,直到满足终止准则才停止迭代。
直接解法的原理简单,方法实用,其特点是:
1)由于整个过程在可行域内进行,因此,迭代计算不论 何时终止,都可以获得比初始点好的设计点。 2)若目标函数为凸函数,可行域为凸集,则可获得全域 最优解,否则,可能存在多个局部最优解,当选择的初始 点不同,而搜索到不同的局部最优解。 3)要求可行域有界的非空集。
j
j e ,得随机单位向量
r1 j j r2 1 j e 1 ... n 2 j j r i rn i 1
2)取一试验步长a0,按下式计算k个随机点
x x a0e
j 0
j
3)检验k个随机点是否为可行点,除去非可行点,计算余下 的可行点的目标函数值,比较其大小,选出目标函数最小的点 XL 。 4)比较XL 和X0两点的目标函数值,若f(XL) <f(X0),则取XL 和 X0连线方向为可行搜索方向;若f(XL) >f(X0),则步长α 0 缩小, 专步骤1)重新计算,直至f(XL) <f(X0)为止。如果α 0 缩小到 很小,仍然找不到一个XL,使f(XL) <f(X0)则说明X0是一个局 部极小点,此时可更换初始点,转步骤1)。
x1 r
1 1 2r 不满足约束条件,舍去。无约束极值点为: 2
1 1 2r x r 2 x2* r 0
* 1
下面介绍内点法中的初始点、惩罚因子初值及其缩减 系数的选取和收敛条件的确定。 1.初始点的选取
初始点应选离约束边界较远的可行点。程序设计时, 一般,考虑具有人工输入、和计算机自动生成可行初 始点的两种功能。 2.惩罚因子的初值的选取 惩罚因子的初值选取应适当,否则会影响迭代计算 的正常进行。太大会影响迭代次数,太小会使惩罚 函数的形态变坏,难以收敛到极值点。 1 )取r0 =1,根据试算的结果,再决定增加或减少 r0 值。
属于这类方法的有:随机实验法、随机方向搜索法、 复合形法、可行方向法等。
间接解法是将约束优化问题转化为一系列无约束优化问题来 解的一种方法。 由于间接解法可以选用已研究比较成熟的无约束优化方法, 并且容易处理同时具有不等式约束和等式约束的问题。因而 在机械优化设计得到广泛的应用。 间接解法中具有代表性的是惩罚函数法。 直接解法的基本思想:
第六章 约束优化方法
机械优化设计的问题,大多属于约束优化设计问题, 其数学模型为:
min
f ( x)
x Rn
u 1, 2,..., m v 1, 2,..., p n
s.t.
gu ( x) 0 hv ( x) 0
根据求解方式的不同,可分为直接解法和间接解法 两类。 直接解法是在满足不等式约束的可行设计区域内直接求 出问题的约束最优解。
复合形法是求解约束优化问题的一种重要的直接解法。 它的基本思路是在可行域内构造一个具有k个顶点的初始 复合形。对该复合形各顶点的目标函数值进行比较,找到目 标函数最大的顶点(最坏点),然后按一定的法则求出目标 函数值有所下降的可行的新点,并用此点代替最坏点,构成 新的复合形,复合形的形状没改变一次,就向最优点移动一 步,直至逼近最优点。 由于复合形的形状不必保持规则的图形,对目标函数和约 束函数无特殊要求,因此这种方法适应性强,在机械优化设 计中应用广泛。
产生可行搜索方向的条件为:
g j xL 0
f x L min f x j j 1, 2,..., k f x L f x0
则可行搜索方向为:
d x x
L
0
四、搜索步长的确定 步长由加速步长法确定。
五、随机方向法的计算步骤
第三节复合形法
用内点法求解,首先构造内点惩罚函数:
x, r x x r ln x1 1
2 1 2 2
用解析法对函数求极小值。
r 2 x1 0 x1 x1 1 2 x2 0 x2
求解得
1 1 2r x1 r 2 x2 r 0
当迭代点离约束边界越远时,惩罚项愈大,这可看 成是对迭代点不满足约束条件的一种惩罚。
例6-6 用外点法求问题
3.收缩
第五节 惩罚函数法
惩罚函数法是一种很广泛、很有效的间接解法。它 的基本原理是将约束优化问题中的不等式和不等式约 束函数经加权后,和原目标函数结合为新的目标函 数——惩罚函数。
x, r1 , r2 f x r1 G hk x g j x r2 H
j j j G
2)计算除去最坏点XH 外的(k-1)个顶点的中心XC
1 L xc xj k 1 j 1
3)从统计的观点来看,一般情况下,最坏点XH和中心点XC 的连线方向为目标函数的下降方向。
xR xC a xC xH
4)判别反射点XR的位置 若XR 为可行点,则比较XR 和XH 两点的目标函数值, 如果f(XR) <f(XH),则用XR取代XH ,构成新的复合形, 完成一次迭代;如果f(XR) >=f(XH),则将α缩小0.7倍,重 新计算新的反射点,若仍不行,继续缩小α,直至f(XR) <f(XH)为止。 若为非可行点,则将α缩小0.7倍,直至可行为止。然 后再重复可行点的步骤。 2.扩张
*
2
二、外点惩罚函数法
内点法是将惩罚因数定义于可行域内,而外点法与 内点法不同,是将惩罚项函数定义于可行区域的外部。 序列迭代点从可行域外部逐渐逼近约束边界上的最优 点。
外点法可以用来求解含不等式和等式约束的优化问题。
对于约束优化问题
min f x s.t.g j x 0
2)按经验公式
r0 f x0 1 0 g x j 1 j
m
计算r0 值。这样选取的r0 ,可以是惩罚函数中的障 碍项和原目标函数的值大致相等,不会因障碍项的值 太大则其支配作用,也不会因障碍项的值太小而被忽 略掉。 3.惩罚因子的缩减系数c的选取 在构造序列惩罚函数时,惩罚因子r是一个逐次递 减到0的数列,相邻两次迭代的惩罚因子的关系为:
j 1 k 1
m
l
加权转化项
将约束优化问题转换为无约束优化问题。求解无约 束优化问题的极小值,从而得到原约束优化问题的最 优解。
惩罚函数法是按一定的法则改变加权因子的值,构 成一系列的无约束优化问题,求一系列无约束最优解, 并不断地逼近原约束优化问题的最优解。因此又称序 列无约束极小化方法。常称SUMT方法。
根据它们在惩罚函数中的作用,分别称障碍项和惩罚 项。 障碍项的作用是当迭代点在可行域内时,在迭代过程 中将阻止迭代点越出可形域。 惩罚项的作用是当迭代点在非可行域或不满足等式约 束条件时,在迭代过程中将迫使迭代点逼近约束边界或 等式约束曲面。 按照惩罚函数在优化过程中迭代点是否可行,分为: 内点法、外点法及混合法。
a) 可行域是凸集;b)可行域是非凸集
间接解法的求解思路:
将约束函数进行特殊的加权处理后,和目标函数结合起来, 构成一个新的目标函数,即将原约束优化问题转化为一个 或一系列的无约束优化问题。
x, 1 , 2 f x 1G hk x g j x 2 H
hk x 0
转化后的外点惩罚函数的形式为:
x, r f x r max hk x 0, g j x r
2 j 1 k 1
m
lБайду номын сангаас
2
惩罚因子,它是由小到大。
惩罚项
由惩罚项可知,当迭代点不可行时,惩罚项的值大 于零。
j 1
m
g j x
1
障碍项
x, r f x r ln g j x
j 1
m
障碍项的作用是阻止迭代点越出可行域。
例6-5 用内点法求问题
2 min f x x12 x2
s.t.g x 1 x1 0
约束最优解。