第六章约束优化方法ppt课件.ppt
《第六章约束优化方法ppt课件.ppt》由会员分享,可在线阅读,更多相关《第六章约束优化方法ppt课件.ppt(153页珍藏版)》请在三一办公上搜索。
1、第六章 约束优化方法,约束优化方法概述随机方向法复合形法可行方向法惩罚函数法教学要求: 1、掌握随机方向法。 2、掌握复合形法的原理。 3、掌握内点法和外点法的惩罚函数的构造原理及程序设计。,6.1 约束优化方法概述,无约束优化方法是优化方法中最基本最核心的部分。在工程实际中,优化问题大都属于有约束的优化问题,即其设计变量的取值要受到一定的限制,用于求解约束优化问题最优解的方法称为约束优化方法。 约束优化设计的数序模型为: 根据求解方式的不同, 约束优化方法可以分为: 直接解法和间接解法,1、直接法 只能求解不等式约束优化问题的最优解。其根本做法是在约束条件所限制的可行域内直接求解目标函数的最
2、优解。如:约束坐标轮换法、复合形法等。 其基本要点:选取初始点x0 、确定可行搜索方向d及适当步长 。 每次迭代计算均按以下基本迭代格式进行xk+1 = xk + kdk (k = 1, 2, ) 可行搜索方向:当设计点沿该方向作微量移动时, 目标函数值下降, 且不越出可行域。,特点:1)求解在可行域内进行, 当前设计点总比初始设计点好;2)若目标函数为凸函数, 可行域为凸集, 可保证获得全域最优解;3)要求可行域为有界的非空集,即在有界可行域内存在满足全部约束条件的点, 且目标函数有定义。,2、间接法 该方法可以求解等式约束优化问题和一般约束优化问题。其基本思想是将约束优化问题通过一定的方法
3、进行改变,将约束优化问题转化为无约束优化问题,再采用无约束优化方法进行求解。如:惩罚函数法 基本迭代过程, 将约束优化问题转化成新的无约束目标函数式中 为转化后的目标函数 分别为约束函数gj(x), hk(x)经过加权处理后构成的某种形式的复合函数或泛函数 1,2为加权因子。,例6.1 求约束优化问题 minf(x) = (x12)2 + (x2 1)2 s.t. h(x) = x1 + 2x2 2 = 0 的最优解。解: 该问题的最优解为x* = 1.6 0.2T, f(x*) = 0.8。 由图6-3a可知, 约束最优点x*为目标函数等值线与等式约束函数(直线)的交点。 用间接法求解时,
4、可取1 = 0.8,转换后的新目标函数为(x, 2) = (x12)2 + (x2 1)2 + 0.8(x1 + 2x2 2 )可以用解析法求min(x, 2) , 令 = 0,得到/x1 = 2 (x12) +0.8 = 0/x2 = 2 (x12) +1.6 = 0求得的无约束最优解为x* = 1.6 0.2T, (x*,2) = 0.8。其结果与原约束最优解相同。,特点:1) 由于无约束优化方法的日趋成熟, 使得间接解法有了可靠的基础;2) 可以有效地处理具有等式约束的约束优化问题;3)存在的主要问题, 选取加权因子较为困难。 加权因子选取不当, 会影响收敛速度和计算精度,甚至会导致计算
5、失败。,6.2 随机方向法,本方法是在可行域内利用随机产生的可行方向进行搜索的一种直接解法,用于求解这类约束优化设计问题。在可行域内选择一个初始点x0, 利用随机数的概率特性, 产生若干个随机方向,并从中找出一个能使目标函数值下降最快的随机方向作为可行搜索方向, 记作d1。从初始点x0出发, 沿方向d1按给定的初始步长取试探点x = x0 + d1 检查x点的适用性和可行性,即检查f(x) f(x0), x D? 若满足, 则以x为新的起点, 即 x0 x。 继续按上面的迭代式在d1方向上获取新点。 重复上述步骤,迭代点可沿d1方向前进, 直至到达某迭代点不能同时满足适用性和可行性条件时为止,
6、退到前一点作为改方向搜索中的最终成功点, 记作x1. 将x1作为新的始点x0 x1,再产生另一随机方向d2, 以步长0重复以上过程, 直到沿d2方向得到最终成功点x3。如此循环, 点列x1、x2、必将逼近约束极值点x*。,一、随机数的产生 首先令r1 = 235, r2 = 236, r3 = 237, 取 r = 2657863 (r为小于r1的正奇数), 然后按一下步骤计算 令 r5r 若r r3, 则rr r3 若r r2, 则rrr2 若r r1, 则rrr1则 q = r/r1q即为(0, 1)区间内的伪随机数。利用q, 容易求得任意区间(a, b)内的伪随机数, 其计算公式为x =
7、 a + q(ba),(6-5),(6-4),这部分内容为产生伪随机数的数学模型,可写成子程序。或者大家可以直接利用算法语言中自带的产生随机数的子程序。,二、初始点的选择 随机方向法的初始点x0必须是一个可行点,满足全部不等式约束条件。当约束条件较为复杂,用人工不易选择可行初始点时,可用计算机随机选择的方法来产生。其计算步骤如下: 1)输入设计变量的下限值和上限值,即 ai xi bi (i = 1, 2, ,n) 2)在区间(0,1)内产生n个伪随机数qi (i = 1, 2, , n) 3)计算随机点x的分量 xi = ai + qi (bi ai) (i = 1, 2, , n) 4)
8、判别随机点x是否可行,若可行取x0 x; 否则转步骤2)重新计算。直到产生的随即点是可行点为止。,(6-6),三、可行搜索方向的产生 从k (k n) 个随机方向中,选取一个较好的方向。计算步骤为: 1)在(-1,1)区间内产生伪随机数rij ( i =1, 2, , n; j = 1, 2, , k), rij = 2qi - 1计算随机单位向量ej 2) 取一试验步长0,按下式计算k个随机点 3)检验k个随机点xj (j = 1, 2, , k)是否为可行点,除去非可行点, 计算余下的可行随机点的目标函数值, 比较其大小, 选出目标函数值最小的点xL. 4) 比较xL和x0 两点的目标函数
9、值, 若f(xL) f(x0), 取 xL和x0 的连线方向作为可行搜索方向; 若f(xL) f(x0), 则将步长0缩小, 转步骤1重新计算, 直至f(xL) f(x0)为止。 如果0缩小到很小(例如 106),仍然找不到一个xL, 使f(xL) f(x0), 则说明x0是一个局部极小点, 此时可更换初始点, 转步骤1.,(6-8),(6-7),产生可行搜索方向的条件可以概括为, 当xL点满足则可行搜索方向为 四、搜索方向的确定 可行搜索方向d确定后,初始点移至xL点,从xL点出发沿d方向进行搜索,所用的步长一般按加速步长法来确定。所谓加速步长法是指依次迭代的步长按一定的比例递增的方法。各次
10、迭代的步长按下式计算 = 式中 为步长加速系数,可取为1.3; 为步长,初始步长取 = 0。,(6-9),(6-10),五、计算步骤1)选择一个可行的初始点x0; 按式(6-7)产生k个n维随即单位向量ej (j = 1, 2, , k); 取试验步长0,按式(6-8)计算出k个随机点xj (j = 1, 2, , k); 在k个随机点中,找出满足式(6-9)的随机点xL, 产生可行搜索方向d= xLx0. 从初始点x0出发,沿可行搜索方向d以步长进行迭代计算,直到搜索到一个满足全部约束条件,且目标函数值不再下降的新点x. 若收敛条件得到满足,停止迭代。约束最优解为 。否则, 令x0 x转步骤
11、2)。,(6-12),随机方向法的程序框图见图6-5。,例6-2 求约束优化问题的最优解。 解:用随机方向法程序, 在计算机上运行, 迭代13次, 求得约束最优解:x* = 0.0027 3.0T, f(x*) = 3。 计算机计算的结果摘录于表6-1, 该问题的图解示于图6-6.,(课外)例6-3 如图所示为平面铰接四杆机构。各杆的长度分别为l1, l2, l3, l4; 主动杆1的输入角为, 相应于摇杆3在右极位(杆1与杆2伸直位置)时, 主动杆1的初始位置角为0; 从动杆的输出角为,初始位置角为0。试确定四杆机构的运动参数, 使输出角 = f(, l1, l2, l3, l4, 0) 的
12、函数关系, 当曲柄从0位置转到m = 0 + 90o时,最佳再现下面给定的函数关系已知 l1 =1, l4 =5, 其传动角允许在45o 135o范围内变化。,(1),解: (1) 数学模型的建立已经给定了两根杆长: l1 =1, l4 =5, 且0和0不是独立的参数, 因为 所以只剩下两个独立参数l2, l3。 因此设计变量取 复演预期函数的机构设计问题, 可以按期望机构的输出函数与给定函数的均方根误差达到最小来建立目标函数, 即或者 由于和E均为输入角的连续函数, 为了进行数值计算, 可将0, m区间划分为30等分, 将上式改写为梯形近似积分计算公式,(2),(3),(4),式中 j 为当
13、 = j时机构的实际输出角; Ej 为复演预期函数当 = j时的函数值, 也是欲求机构的理论输出角。下标j为j = 0, 1, 2, , 30。 Ej 值按式(1)计算, j 值可按下式计算:目标函数是一个凸函数, 等值线如右图所示。,(5),(6),(7),(8),(9),由于要求四杆机构的杆1能做整周转动, 且机构的最小传动角min 45o、最大传动角min 135o,所以根据四杆机构的曲柄存在条件, 得不等式约束条件为根据传动角的条件有 cosmin cos45o, cos max 135o, 因所以得到不等式约束条件为在上面7个约束条件中, 式(10)-(14)的约束边界为直线, 式(
14、17)和(18)的约束边界为椭圆。在设计空间内组成一个可行设计区域, 即阴影线所包围的部分。,(10),(11),(12),(13),(14),(15),(16),(17),(18),(2) 优化设计结果 上述设计问题是属于二维的非线性规划问题, 有7个不等式约束条件, 其中主要的是g6(x) 0和g7(x) 0。现在采用随机方向法求解。 取初始点x10 = 4.5, x20 = 4, 搜索步长0 = 0.1, 目标函数值的收敛精度1 =0.0001, 步长的收敛精度2 =0.0001, 经过9次迭代, 其最优解为x1* = l2 = 4.1286, x2* = l3 = 2.3325, f(
15、x*) = 0.0156。,最终设计方案的参数为l1 =1, l2 = 4.1286, l3 = 2.3325, l4 =5, 0 = 26o28, 0 = 108o08, 机构图如下图左所示, 机构实际输出角和复演预期函数E的关系和误差见下图右。,6.3 复合形法,复合形法是求解约束优化问题的一种重要的直接解法。 一、复合形法的基本思想 其基本思路(见图6-7)是在可行域内构造一个具有k个顶点的初始复合形。对该复合形各顶点的目标函数值进行比较,去掉目标函数值最大的顶点(称最坏点),然后按一定法则求出目标函数值下降的可行的新点, 并用此点代替最坏点,构成新的复合形,复合形就向最优点移动一步,直
16、至逼近最优点。,二、初始复合形的构成 要构成初始复合形,实际上就是确定k个可行点作为复合形的顶点,顶点数目一般在n+1 k 2n范围内。对于维数较低的优化问题,因顶点数目较少,可以由设计者自行凑出可行点作为复合形顶点。但对于维数较高的优化问题,这种方法常常很困难。 为此,提出构成复合形的随机方法。该方法是先产生k个随机点,然后再把那些非可行随机点调入可行域内,最终使k个随机点都称为可行点而构成初始复合形。 生成初始复合形的方法有以下几种: 1)由设计者决定k个可行点,构成初始复合形。当设计变量较多或约束函数复杂时,由设计者决定k个可行点常常很困难。只有在设计变量少,约束函数简单的情况下,这种方
17、法才被采用。,2)构成复合形的随机方法: 1、产生k个随机点 由设计者选定一个可行点, 其余的 ( k1) 个可行点用随机法产生。利用标准随机函数产生在(0,1)区间内均匀分布的随机数rj,然后产生区间a,b内的随机变量xj, xj = a+ rj(b a),j = 1,2,k (6-13)xj -复合形中的第j个顶点;a, b- 设计变量的下限和上限;rj -在 (0,1)区间内的伪随机数。 (6-14),2、将非可行点移入可行域 用上述方法的随机点不一定是可行点。但是只要它们中至少有一个点在可行域内,就可以用一定的方法将非可行点移入可行域。如果k个随机点没有一个是可行点,则应重新产生随机点
18、,直至其中有至少一个是可行点为止。 将非可行点移入可行域的方法:求出已经在可行域内的L个顶点的中心xC 然后将非可行点向中心点移动, 得 若xL+1仍为不可行点, 则利用上式, 使其继续向中心点移动。只要中心点可行, xL+1点一定可以移到可行域内。 随机产生的(k1)个点经过这样的处理后, 全部变为可行点,并构成初始复合形。,(6-14),(6-15),3、 由计算机自动生成初始复合形的全部顶点。其方法是首先随机产生一个可行点, 然后按第二种方法产生其余的(k-1)个可行点。,事实上,只要可行域为凸集,其中心点必为可行点,用上述方法可以成功地在可行域内构成初始复合形。如果可行域为非凸集,如图
19、6-8所示,中心点不一定在可行域之内,则上述方法可能失败。此时可以通过改变设计变量的下限和上限值,重新产生各顶点。经过多次试算,有可能在可行域内生成初始复合形。,三、复合形法的搜索算法一)反射 1、构成初始复合形; 计算个顶点函数值f(xj), j=1,2,k,并选出好点xL与坏点xH 及次坏点xG : xL: f(xL) =minf(xL), j=1,2,k xH: f(xH) =maxf(xj), j=1,2,k xG: f(xG) =maxf(xj), j=1,2,k, GH ; 2、 计算除去最坏点xH外其余各顶点的中心点xC , 3、 反射就是沿最坏点xH 和中心点xC 的连线方向上
20、去映射点xR, 即 xR = xC +(xC xH)式中, 称为反射系数, 一般 = 1.3。反射点xR与最坏点xH、中心点xc的相对位置如图6-9所示。,4、如果xR 满足所有约束条件, 且f(xR) f(xH), 可用xR 代替xH组成新复合形, 完成一次迭代。 如果xR不满足约束条件, 或不满足f(xR) f(xH), 将 减半重新计算xR ,若仍不满足, 可以继续将 减为0.7倍重新计算xR ,直到 减得很小(例如小于105)还不满足要求时,就放弃这一方向, 改用次坏点的映射方向。,复合形法的程序框图见图6-13。,(课外)例 用复合形法求解解;1) 产生初始复合形的顶点。 取 复合形
21、顶点的数目为k = 2n = 4, 并采用认为选点的方法确定初始复合形的四个顶点为以上四点均满足约束条件2)四点的函数值分别为由此可知最坏点为x10, 好点为x40.3) 计算除去坏点后, 各点的中心点4)检查xC0点的可行性, 由于所以xc0是可行点。,5) 求反射点xr0并检查其可行性取反射系数 = 1.3, 可得反射点也是可行的。6)比较反射点与最坏点的目标函数值用xr0代替xH0,与其余3点构成新的复合形。第二轮迭代, k = 1新复合形的四个顶点为其对应的函数值为,由此可见, xH1 = x21 =1, 4T, 除去坏点后其余各点的中心为xC1 = 2.77, 4.46T, 满足所有
22、约束条件, 是可行点。 进行反射计算, 得xr1= 5.071, 5.058T, 经检验xr1也是可行点,其f(xr1) = 14.71 47 = f(xh1), 故可重新组成复合形, 再计算,直至达到精度要求停机, 最后所求得的x1k 和f(x1k)接近理论最优解x* = 6, 5T, f(x*) = 11.,6.4 可行方向法,基本原理 在可行域内选择一个初始点x0, 当确定了一个可行方向d和适当的步长之后, 按下式xk+1 = xk + dk (k=1, 2, )进行迭代进算。 在不断调整可行方向的过程中, 使迭代点逐步逼近约束最优点。,一、搜索策略 第一步从可行的初始点x0, 沿x0的
23、负梯度方向d0 = f(x0), 将初始点x0移动到某一约束面(当只有一个起作用的约束时)上或约束面的交集(有几个起作用的约束时)上。 根据约束函数和目标函数的不同性状, 可以采用如下几种策略。,1) 如图6-15, 在约束面上的迭代点xk处, 产生一个 可行方向dk, 沿此方向作一维最优化搜索, 得到的新点x在可行域内, 即令xk+1 = x, 再沿xk+1的负梯度方向dk+1 = f(xk+1)继续搜索2) 如图6-16,沿可行方向dk作一维最优化搜索,所得到的新点x在可行域外, 则设法将x点移动到约束面上, 即取dk和约束面的交点作为新的迭代点xk+1 。,3) 沿约束面搜索。如图6-1
24、7,对于只具有线性约束条件的非线性规划问题, 从 xk点出发,沿约束面移动,在有限的几步内即可搜索到约束最优点;对于非线性约束函数如图6-18, 沿约束面移动将会进入非可行域, 使问题变得复杂得多。此时, 需将进入非可行域的新点x设法调整到约束面上, 然后才能进入下一次迭代。 调整的方法是先规定约束面容差,建立新的约束边界(如6-18中虚线所示), 然后将已离开约束面的x点, 沿起作用约束函数的负梯度方向g(x)返回到约束面上。 其计算公式为xk+1 = x + tg(x)式中的t为调整步长, 可用试探法决定, 或者用下式计算,二、产生可行方向的条件 可行方向是指沿该方向做微小移动后, 得到的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第六 约束 优化 方法 ppt 课件

链接地址:https://www.31ppt.com/p-1401706.html