行域 φ 内,选择一个初始点 X 然后确定一个可行 得一个目标函数有所改善的可行的新点 X 即完成了第四章 约束优化设计● 概述● 约束坐标轮换法 ● 随机方向法 ● 罚函数法概述结构优化设计的问题,大多属于约束优化设计问题,其数学模型为:s .t . min f (x )g u (x ) ≤ 0h v (x ) = 0x ∈ R nu = 1, 2,..., m v = 1, 2,..., p < n根据求解方式的不同,可分为直接解法和间接解法两类。
直接解法是在仅满足不等式约束的可行设计区域内直接求出问题的约束最优解。
属于 这类方法的有:随机实验法、随机方向搜索法、复合形法、可行方向法等。
其基本思路:在由 m 个不等式约束条件 gu(x )≤0 所确定的可0 搜索方向 S ,且以适当的步长沿 S 方向进行搜索,取1 一次迭代。
以新点为起始点重复上述搜索过程,每次 均按如下的基本迭代格式进行计算:X k+1=X k +α k S k(k=0,1,2,..) 逐步趋向最优解,直到满足终止准则才停止迭代。
直接解法的原理简单,方法实用,其特点是: 1) 由于整个过程在可行域内进行,因此,迭代计算不论何时终止,都可以获得比初始点好的设计点。
2) 若目标函数为凸函数,可行域为凸集,则可获得全域最优解,否则,可能存在多个局部最优解,当选择的初始点不同,而搜索到不同的局部最优解。
3) 要求可行域有界的非空集φ(X,μ1,μ2)=F(X)+∑μ1G⎡⎣g j X)⎤⎦+∑μ2H⎡⎣h k(X)⎤⎦a)可行域是凸集;b)可行域是非凸集间接解法间接解法是将约束优化问题转化为一系列无约束优化问题来解的一种方法。
由于间接解法可以选用已研究比较成熟的无约束优化方法,并且容易处理同时具有不等式约束和等式约束的问题。
因而在机械优化设计得到广泛的应用。
间接解法中具有代表性的是惩罚函数法。
将约束函数进行特殊的加权处理后,和目标函数结合起来,构成一个新的目标函数,即将原约束优化问题转化为一个或一系列的无约束优化问题。
m lj=1k=1新目标函数然后对新目标函数进行无约束极小化计算。
加权因子间接法是结构优化设计中广泛使用的有效方法,其特点:1)由于无约束优化方法的研究日趋成熟,为间接法提供可靠基础。
这类算法的计算效率和数值计算的稳定性大有提高;2)可以有效处理具有等式约束的约束优化问题;3)目前存在的主要问题,选取加权因子较为困难,选取不当,不仅影响收敛速度和计算精度,甚至导致计算失败。
在可行域任取一点 ,取一个初始步长 ,X0α按 ,取得沿 坐标轴第一个1 1X X e α= + 1x如图所示,直到逼近最优点 。
X从初始点出发,沿 方向以一定X S 1● 约束坐标轮换法约束坐标轮换法是在无约束坐标轮换法的基础上,再加上由约束条件构成的可行性逻 辑判断而构成的方法,这样可以使搜索点保持在可行域内,求得最优解。
迭代步长不是采 用最优步长,而是加速步长。
其基本思路: 01 0 迭代点,检查该点是否满足可行性和适用性:X 1 ∈ D (可行性条件)F ( X 1 ) < F ( X 0 ) (适用性条件) 若两者均满足,步长加倍,迭代计算X 2 = X 0 + 2α e 1 ,只要迭代点满足条件,加倍增大步长,继续迭代获得新点;当迭代点不满足条件,取前一个迭代点,转而沿 x 2 坐标轴方法搜索,不满足条件时,取负步长进行,*约束坐标轮换法虽然方法简单、算法明确,便于设计,但当维数较高时收敛速度慢,还会出现“死点”,导致出现伪最优点。
● 约束随机方法随机方向法的基本思路:在可行域内选择一个初始点,利用 随机数的概率特性,产生若干个随机 方向,并从中选择一个能使目标函数 值下降最快的随机方向作为搜索方向 S 。
步长进行搜索,得到新点 X ,新点 X 应满足约束条件且 f ( X ) < f ( X 0) ,至此完成一次迭代。
随机方向法程序设计简单,搜索速度 快,是解决小型机械优化问题的十分 有效的算法。
如图所示。
1. 随机数的产生首先令 r 1 = 2 , r 2 = 2 , r 3 = 2 取 r=2657863,按一下步骤计算: r ← r - r 2 r ≥ r r ← r - r则 q = r / r 1 随机方向法的初始点 X 必须是一个可行点,既满足全部不等式约束条件。
1)在(-1,1)区间内产生伪随机数 r i , 得随机单位向量 ee = ⎢r 2 ⎥ ⎢ j ⎥ ⎢ ... ⎥⎢∑ (r i )⎥ ⎢⎣r n j⎥⎦ ⎡ n j ⎤ ⎢ ⎥ 1 其大小,选出目标函数最小的点 X 。
4)比较 X 和 X 两点的目标函数值,若 F ( X ) < F ( X ) ,则取 X 和 X 连线方向为可 行搜索方向;若 F ( X ) > F ( X ) ,则步长α 0 缩小,转步骤 1)重新计算,直至缩小到很小,仍然找不到一个 X ,使下面介绍一种常用的产生随机数的数学模型35 36 37令 r ← 5r 若 r ≥ r 3 则 r ← r - r 3 若 r ≥ r 2 则 若 则 (0,1)之间的随机数 在任意(a,b)区间内的随机数x = a + q (b - a )2. 初始点的选择0 初始点可以通过随机选择的方法产生。
1)输入设计变量的下限值和上限值,即a i ≤ x i ≤b i2)在区间(0,1)内产生 n 个伪随机数 q i3)计算随机点 x 的各分量 x i = a i + q i (b i - a i )4)判别随机点 x 是否可行,若随机点可行,用 x 代替 x0 为初始点;若非可行点,转到步骤 2)重新产生随机点,只到可行为止。
3. 可行搜索方向的产生产生可行随机方向的方法:从 k 个随机方向中, 选取一个较好的方向。
其计算步骤为:j jj⎣ i =1 ⎦11 2 ⎡r j ⎤2) 取一试验步长α0 ,按下式计算 k 个随机点X j = X 0 + a 0e j3)检验 k 个随机点是否为可行点,除去非可行点,计算余下的可行点的目标函数值,比较 LL 0 L 0 L 0 L 0F ( X L ) < F ( X 0) 为止。
如果 α0 LF ( X L ) < F ( X 0 ) 则说明 X L是一个局部极小点,此时可更换初始点,转步骤 1)。
f x c = ∑x j{ }: f (x ) = max {f (x ) j = 1, 2,..., k }x H : f (x ) = max {f (x ) j = 1, 2,..., k , j ≠ H }x Gi产生可行搜索方向的条件为:g j (XL )≤ 0f (XL)= min { (X f (XL )< f (X0 )则可行搜索方向为: S = X L- X 0j) j = 1, 2,..., k }4. 搜索步长的确定步长由加速步长法确定。
复合形法复合形法是求解约束优化问题的一种重要的直接解法。
它的基本思路是在可行域内构造一个具有 k 个顶点的初始复合形。
对该复合形各顶点 的目标函数值进行比较,找到目标函数最大的顶点(最坏点),然后按一定的法则求出目标 函数值有所下降的可行的新点,并用此点代替最坏点,构成新的复合形,复合形的形状没 改变一次,就向最优点移动一步,直至逼近最优点。
由于复合形的形状不必保持规则的图形,对目标函数和约束函数无特殊要求,因此这 种方法适应性强,在机械优化设计中应用广泛。
1. 初始复合形生成的方法:1)由设计者决定 k 个可行点,构成初始复合 形。
设计变量少时适用。
2)由设计者选定一个可行点,其余的 k -1 个 可形点用随机法产生。
x i = a + r (b - a )1 LL j =1x L +1 = x c + 0.5(x L +1 - x c )3)由计算机自动生成初始复合形的所有顶点。
2.复合形法的搜索方法1)反射(1)计算复合形各顶点的目标函数值,并比较其大小,求出最好点 X L 、最坏点 X H 及次坏点 X G ,即x L : f (x L ) = min f (x j) j = 1, 2,..., k j HjG1 j x ∑x = 况下,最坏点 X 和中心k 1(3)从统计的观点来看,一般情 ( )x x a x x = + - (4)判别反射点 X R 的位置R C C ( ) ( ) ( ) ( )121 2, , j k x r r f x r G gx r H h x φ⎡ ⎤= + + ⎡ ⎤⎣ ⎦⎣ ⎦∑ ∑1 1(2)计算除去最坏点 X H 外的(k -1)个顶点的中心 X C LH 点 X C 的连线方向为目标函数的下降方向。
如图所示。
H若 XR 为可行点,则比较 XR 和 XH 两点的目标函数值,如果 f(XR) <f(XH),则用 XR 取代 XH ,构成新的复合形,完成一次迭代;如果 f(XR) >=f(XH),则将 α 缩小 0.7倍,重新计算新的反射点,若仍不行,继续缩小 α,直至 f(XR) <f(XH)为止。
若为非可行点,则将 α 缩小 0.7 倍,直至可行为止。
然后再重复可行点的步骤。
2)扩张 若 XR 的目标函数比 X L 还好,可以沿此方向进一步扩张, γ 为扩张系数。
若扩张失败,仍采用XR ,如图所示。
3) 收缩若 X R 以外找不到好的映射点,也可以向内寻找,如图所示, β 为收缩系数。
4) 压缩若上述方法均无效,可以采用向 X L 靠拢,采用压缩方法改变复合形状惩罚函数法惩罚函数法是一种很广泛、很有效的间接解法。
它的基本原理是将约束优化问题中 的不等式和不等式约束函数经加权后,和原目标函数结合为新的目标函数——惩罚函数。
mlj =1 k =1 其中:G 、H 为加权转化项。
后两项也称为惩罚项,在迭代过程中始终是正值,故:φ (x , r , r 2 ) ≥ f (x )随着迭代次数的增加,φ (x , r , r 2 ) f (x )数值相差越来越小,最后趋近相等。
1 k →∞1 φ (x , r ) = f (x )- r ∑φ (x , r ) = f (x )- r ∑ ln ⎡⎣-g j (x )⎤⎦1)取 r = 1 ,根据试算的结果,再决定增加或减少 r 值。
f (x 0)r =1 ∑ g (x )计算 r 值。
这样选取的 rφ (x , r , r 2 )的最优解就是 f (x )的最优解,即惩罚项趋近 0,lim φ (X , r k1, r k2 )- f (X ) = 0将约束优化问题转换为无约束优化问题。
求解无约束优化问题的极小值,从而得到原 约束优化问题的最优解。