第四章
约束优化设计
? ? ? ?
概述
约束坐标轮换法 随机方向法 罚函数法
概述
结构优化设计的问题,大多属于约束优化设计问题,其数学模型为:
x?Rnminf(x)
s..tu?1,2,...,m gu(x)?0 v?1,2,...,p?nhv(x)?0
根据求解方式的不同,可分为直接解法和间接解法两类。
直接解法是在仅满足不等式约束的可行设计区域内直接求出问题的约束最优解。属于这类方法的有:随机实验法、随机方向搜索法、复合形法、可行方向法等。其基本思路:
在由m个不等式约束条件gu(x)≤0所确定的可行域φ内,选择一个初始点X然后确定一个可行搜索方向S,且以适当的步长沿S方向进行搜索,取得一个目标函数有所改善的可行的新点X即完成了一次迭代。以新点为起始点重复上述搜索过程,每次均按如下的基本迭代格式进行计算:
1Xk+=X01?+kSk??k 逐步趋向最优解, (k=0,1,2,..)直到满足终止准则才停止迭代。
直接解法的原理简单,方法实用,其特点是:
1) 由于整个过程在可行域内进行,因此,迭代计算不论何时终止,都可以获得比初始点好
的设计点。
2) 若目标函数为凸函数,可行域为凸集,则可获得全域最优解,否则,可能存在多个局部
最优解,当选择的初始点不同,而搜索到不同的局部最优解。 3) 要求可行域有界的非空集
a) 可行域是凸集;b)可行域是非凸集
间接解法
间接解法是将约束优化问题转化为一系列无约束优化问题来解的一种方法。由于间接解法可以选用已研究比较成熟的无约束优化方法,并且容易处理同时具有不等式约束和等式约束的问题。因而在机械优化设计得到广泛的应用。
间接解法中具有代表性的是惩罚函数法。将约束函数进行特殊的加权处理后,和目标函数结合起来,构成一个新的目标函数,即将原约束优化问题转化为一个或一系列的无约束优化问题。 ml ??X,?1,?2??F?X???1G??hk?X????gj?X?????2H?j?1k?1
新目标函数 加权因子
然后对新目标函数进行无约束极小化计算。
间接法是结构优化设计中广泛使用的有效方法,其特点:
1) 由于无约束优化方法的研究日趋成熟,为间接法提供可靠基础。这类算法的计算效率和
数值计算的稳定性大有提高;
2) 可以有效处理具有等式约束的约束优化问题;
3) 目前存在的主要问题,选取加权因子较为困难,选取不当,不仅影响收敛速度和计算精
度,甚至导致计算失败。
??
? 约束坐标轮换法
约束坐标轮换法是在无约束坐标轮换法的基础上,再加上由约束条件构成的可行性逻辑判断而构成的方法,这样可以使搜索点保持在可行域内,求得最优解。迭代步长不是采用最优步长,而是加速步长。其基本思路: 在可行域任取一点X0,取一个初始步长?0,
10按X1?X??e1,取得沿x1坐标轴第一个迭
代点,检查该点是否满足可行性和适用性:
1X1?D(可行性条件)
1F(X1)?F(X0)(适用性条件)
若两者均满足,步长加倍,迭代计算
1X2?X0?2?e1,只要迭代点满足条件,加
倍增大步长,继续迭代获得新点;当迭代点不
满足条件,取前一个迭代点,转而沿x2坐标轴方法搜索,不满足条件时,取负步长进行,如图所示,直到逼近最优点X。
约束坐标轮换法虽然方法简单、算法明确,便于设计,但当维数较高时收敛速度慢,还会出现“死点”,导致出现伪最优点。
?? 约束随机方法
随机方向法的基本思路:
在可行域内选择一个初始点,利用随机数的概率特性,产生若干个随机方向,并从中选择一个能使目标函数值下降最快的随机方向作为搜索方向S。
从初始点X出发,沿S方向以一定步长进行搜索,得到新点X,新点X应满足约束条件且f(X)?f(X),至此完成一次迭代。随机方向法程序设计简单,搜索速度快,是解决小型机械优化问题的十分有效的算法。如图所示。
001. 随机数的产生
下面介绍一种常用的产生随机数的数学模型
353637首先令r1?2,r2?2,r3?2取r=2657863,按一下步骤计算:
令 r?5r若 r ? r 3 则 r?r?r3若 r ? r 2 则 r?r?r2若 r ? r 1 则 r?r?r1则 q ? r (0,1)之间的随机数 / r1在任意(a,b)区间内的随机数
x?a?q(b?a)
2. 初始点的选择
随机方向法的初始点X必须是一个可行点,既满足全部不等式约束条件。 初始点可以通过随机选择的方法产生。1)输入设计变量的下限值和上限值,即 ai?xi?bi2)在区间(0,1)内产生n个伪随机数qi
3)计算随机点x的各分量 xi?ai?qi(bi?ai)4)判别随机点x是否可行,若随机点可行,用x代替x0为初始点;若非可行点,转到步骤
2)重新产生随机点,只到可行为止。
3. 可行搜索方向的产生
产生可行随机方向的方法:从k个随机方向中, 选取一个较好的方向。其计算步骤为: 1)在(-1,1)区间内产生伪随机数ri, 得随机单位向量ej0
j
?r1j??j?1j?r2? e?1?...?n2??j?j?r???i???r??i?1??n?2) 取一试验步长?0,按下式计算k个随机点
j0j X?X?a0e
3)检验k个随机点是否为可行点,除去非可行点,计算余下的可行点的目标函数值,比较其大小,选出目标函数最小的点X。
L0L04)比较X和X两点的目标函数值,若F(X)?F(X),则取X和X连线方向为可行
L0L搜索方向;若F(X)?F(X),则步长?0缩小,转步骤1)重新计算,直至F(X)?F(X)L0L0为止。如果α0 缩小到很小,仍然找不到一个XL,使F(X)?F(X)则说明XL是一个局部极小点,此时可更换初始点,转步骤1)。
产生可行搜索方向的条件为:
L0gj?XL??0 fX???min?f?X?j?1,2,...,k?
f?X??f?X?LLj0L0则可行搜索方向为:
S?X?X
4. 搜索步长的确定
步长由加速步长法确定。
? 复合形法
复合形法是求解约束优化问题的一种重要的直接解法。
它的基本思路是在可行域内构造一个具有k个顶点的初始复合形。对该复合形各顶点的目标函数值进行比较,找到目标函数最大的顶点(最坏点),然后按一定的法则求出目标函数值有所下降的可行的新点,并用此点代替最坏点,构成新的复合形,复合形的形状没改变一次,就向最优点移动一步,直至逼近最优点。 由于复合形的形状不必保持规则的图形,对目标函数和约束函数无特殊要求,因此这种方法适应性强,在机械优化设计中应用广泛。 1. 初始复合形生成的方法:
1)由设计者决定k个可行点,构成初始复合形。设计变量少时适用。
2)由设计者选定一个可行点,其余的k-1个可形点用随机法产生。
xi?a?ri(b?a)
1L xc??xj
Lj?1 xL?1?xc?0.5?xL?1?xc?
3)由计算机自动生成初始复合形的所有顶点。
2. 复合形法的搜索方法 1)反射
(1)计算复合形各顶点的目标函数值,并比较其大小,求出最好点XL、最坏点XH 及