1、约束优化方法,约束优化方法概述约束优化问题的最优解及其必要条件约束坐标轮换法复合形法惩罚函数法教学要求: 1、掌握约束优化局部最优解的必要条件。 2、掌握复合形法得原理及程序设计。 3、掌握内点法和外点法的惩罚函数的构造原理及程序设计。,约束优化方法概述,无约束优化方法是优化方法中最基本最核心的部分。但是,在工程实际中,优化问题大都是属于有约束的优化问题,即其设计变量的取值要受到一定的限制,用于求解约束优化问题最优解的方法称为约束优化方法。一、约束优化问题的类型 根据约束条件类型的不同可以分为三种,其数学模型分别如下: 1、不等式约束优化问题(IP型),约束优化方法概述,2、等式约束优化问题(
2、EP型) 3、一般约束优化问题(GP型)注:subject to 使服从,使遭受.,约束优化方法概述,二、约束优化方法的分类 约束优化方法按求解原理的不同可以分为直接法和间接法两类。 1、直接法 只能求解不等式约束优化问题的最优解。其根本做法是在约束条件所限制的可行域内直接求解目标函数的最优解。如:约束坐标轮换法、复合形法等。 其基本要点:选取初始点、确定搜索方向及适当步长。 搜索原则:每次产生的迭代点必须满足可行性与适用性两个条件。 可行性:迭代点必须在约束条件所限制的可行域内,即满足 gu(x)0, u=1,2,p,约束优化方法概述,适用性:当前迭代点的目标函数值较前一点是下降的,即满足
3、F(xk+1)o ,则称gi (x)为可行点的不起作用约束。即只有在可行域的边界上的点才有起作用约束,所有约束对可行域内部的点都是不起作用约束。 对于等式约束,凡是满足该约束的任一可行点,该等式约束都是起作用约束。,约束优化问题的最优解及其必要条件,结论: 1、约束优化问题的最优解不仅与目标函数有关,而且与约束集合的性质有关。 2、在可行设计点x(k)处, 起作用约束在该点的邻域内不但起限制可行域范围的作用,而且还可以提供可行搜索方向的信息。 3、由于约束最优点一般发生在起作用约束上,不起作用约束在求解最优点的过程中,可以认为是无任何影响,所以可以略去不起作用约束,把所有起作用约束当作等式约束
4、问题求解最优点。,约束优化问题的最优解及其必要条件,三、约束优化问题极小点的条件 约束优化问题极小点的条件,是指在满足约束条件下,目标函数局部极小点的存在条件。 约束问题最优解的存在条件有两种:一是极小点在可行域内部,二是极小点在可行域的一个或几个边界交汇处。1、不等式约束问题解的必要条件 第一种情况:如图所示, g1(x*)=0, g2(x*)0, g3(x*)0。所以g1(x)为起作用约束, g2(x)、 g3(x)为不起作用约束。 由于约束最优点是目标函数与约束g1(x)边界的切点,故目标函数与约束函数的梯度必共线,而且方向一致。,约束优化问题的最优解及其必要条件,若取非负乘子1* 0,
5、则在x*处存在如下关系 F(x*)- 1* g1(x*)=0,x*, g1(x*),g3(x), F(x*),g1(x),g2(x),约束优化问题的最优解及其必要条件,第二种情况:如图所示,若最优点位于两约束的交点上,则目标函数的梯度矢量夹于两约束函数梯度矢量之间。则目标函数的梯度可以表示为约束函数梯度的线性组合,若取非负乘子1* 0, 2* 0,则在x*处存在如下关系 F(x*)= 1* g1(x*)+ 2* g2(x*)=0, g1(x*), g2(x*),g2(x),g1(x), F(x*),约束优化问题的最优解及其必要条件,结论:对于不等式约束优化问题,其最优解的必要条件为,约束优化问
6、题的最优解及其必要条件,2、等式约束问题解的必要条件 如图所示,目标函数梯度矢量与约束函数梯度矢量共线。因此,一定存在一个乘子,使得下式成立: F(x*)-* h(x*)=0 对于一般等式约束优化问题,其最优解必要条件为,x*,h(x)=0, F(x*), h(x*),约束优化问题的最优解及其必要条件,3、一般约束问题解的必要条件 由上述不等式约束优化与等式约束优化问题解的必要条件,可以推出一般约束优化问题最优解的条件:,约束优化问题的最优解及其必要条件,四、库恩-塔克条件 在优化实用计算中,为判断可行迭代点是否是约束最优点,或者对输出的可行结果进行检查,观察其是否满足约束最优解的必要条件,引
7、入库恩-塔克条件。 上式也称为约束优化问题局部最优点的必要条件。,约束优化问题的最优解及其必要条件,库恩-塔克条件的几何意义是,在约束极小点处,目标函数的梯度一定能表示为所有起作用约束在该点梯度的线性组合。, g1(x*), g2(x*),g2(x),g1(x), F(x*),约束坐标轮换法,一、约束坐标轮换法与无约束坐标轮换法的区别 约束坐标轮换法的基本思想与无约束坐标轮换法基本相同,其主要区别如下: 1、沿坐标方向搜索的迭代步长采用加速步长,而不是采用最优步长。因为按照最优步长所得到的迭代点往往超出了可行域。 2、对于每一个迭代点,不仅要检查目标函数值是否下降,而且必须检查是否在可行域内,
8、即进行适用性和可行性的检查。,约束坐标轮换法,二、约束坐标轮换法的迭代步骤 如图所示,以二维约束优化问题为例介绍约束坐标轮换法。 1、在可行域内任选初始点x0 ,并取迭代精度。 2、选取初始步长,按迭代公式x11=x0+ e1,取得沿正向的第一个迭代点。 3、检查该点的适用性和可行性,即F(x11)F(x0), x11 D ,若满足,则步长加倍。 4、按照x21 = x0 + e1,产生新迭代点,转3,若新迭代点满足迭代精度,则输出结果。,x2,x1,x0,x11,x21,x31,x12,x22,x32,xA,xC,xD,xB,约束坐标轮换法,注意: 当迭代点到达xk点,无论沿e1或e2方向搜
9、索,所得到的四个邻近点都不能同时满足可行性与适用性的要求时,取xk作为最优解。三、讨论 约束坐标轮换法算法明了、迭代简单、便于掌握和运用。但是其收敛速度较慢,而且在某些情况下,会出现“死点”。如上图中的点 xk,该点已经逼近约束边界,其后的迭代点无论沿何方向,都不可能同时满足适用性及可行性的要求。故xk点作为最优解输出,但显然它就是一个伪最优点。 为辨别输出最优点的真伪,可以用K-T条件检验。,复合形法,复合形法是求解约束优化问题的一种重要的直接解法。一、复合形法的基本思想 其基本思路是在可行域内构造一个具有k个顶点的初始复合形。对该复合形各顶点的目标函数值进行比较,去掉目标函数值最大的顶点(
10、称最坏点),然后按一定法则求出目标函数值下降的可行的新点,并用此点代替最坏点,构成新的复合形,复合形就向最优点移动一步,直至逼近最优点。,1,2,3,4,5,6,7,8,复合形法,二、初始复合形的构成 要构成初始复合形,实际上就是确定k个可行点作为复合形的顶点,顶点数目一般在n+1 k 2n范围内。对于维数较低的优化问题,因顶点数目较少,可以由设计者自行凑出可行点作为复合形顶点。但对于维数较高的优化问题,这种方法常常很困难。 为此,提出构成复合形的随机方法。该方法是先产生k个随机点,然后再把那些非可行随机点调入可行域内,最终使k个随机点都称为可行点而构成初始复合形。,复合形法,构成复合形的随机
11、方法: 1、产生k个随机点 利用标准随机函数产生在(0,1)区间内均匀分布的随机数i,然后产生区间(ai,bi)内的随机变量xi,xi=ai+ i (bi-ai),i=1,2,n。以这n个随机变量为坐标构成随机点x1。 同理,再次产生在(0,1)区间内均匀分布的随机数i,然后获得区间(ai,bi)内的随机点x2,依次类推,可以获得k个随机点x1 、 x2 、 x3 、.、 xk 。 可以看出,产生k个随机点总共需要产生kn个随机数。,复合形法,2、将非可行点移入可行域 用上述方法的随机点不一定是可行点。但是只要它们中至少有一个点在可行域内,就可以用一定的方法将非可行点移入可行域。如果k个随机点
12、没有一个是可行点,则应重新产生随机点,直至其中有至少一个是可行点为止。 将非可行点移入可行域的方法: 先检查随机点的可行性。将查出的第一个可行点xj与x1对调,则新的x1点为可行点,然后检查随后的各点是否是可行点,若某点属于可行域,继续检查,直至出现不属于可行域的随机点,然后把此点移入可行域内。,复合形法,若已知k个随机顶点中前面q个点都是可行点,而x(q+1)为非可行点,则将x(q+1)移入可行域的步骤为: (1)计算q个点的点集中心 (2)将第q+1个点朝x(s)点方向移动,并按下式产生新的点, x(p)=x(s)+0.5(x(q+1)-x(s)此点实际上是x(s)与x(q+1)两点的连线
13、的中点。若新点仍为非可行点,则按上式再产生一个新点,直至 x(p)成为可行点为止。,x(q+1),x(p),x(s),复合形法,3、构成初始复合形 将全部顶点变为可行点后,就构成了可行域内的初始复合形。三、复合形法的迭代步骤 1、构成初始复合形 2、计算个顶点函数值F(x(j), j=1,2,k,并选出好点x(L)与坏点x(H)。 x(L) : F(x(L) =minF(x(j), j=1,2,k x(H): F(x(H) =maxF(x(j), j=1,2,k 3、计算除坏点外其余各点的中心点x0 , 4、计算映射点x(R) x(R)=x0+(x0-x(H),通常取 =1.3,检查是否在可行
14、域,若为非可行点,将映射系数缩半并重新计算映射点,直到进入可行域。,复合形法,5、构成新复合形 计算映射点与坏点的目标函数值并进行比较,若 (1)映射点优于坏点,即F(x(R) F(x(H),可用缩半映射系数的方法把映射点拉近。 6、判定终止条件 复合形在逼近最优点的过程中,当复合形缩得很小时,各顶点的目标函数值必然非常接近。故常用以下终止条件。 (1)各顶点与好点的函数值之差的均方根小于误差限,即,复合形法,(2)各顶点与好点的函数值之差的平方和小于误差限,即 (3)各顶点与好点的函数值之差的绝对值之和小于误差限,即 若不满足终止条件,返回步骤2,否则,可将复合形得好点及其函数值作为最优解输出。,复合形法,四、讨论 在用直接法解决约束优化问题时,复合形法是一种效果较好的方法。 这种方法不需要计算目标函数的导数,也不进行一维搜索,因此对目标函数和约束函数无特殊要求,适用范围广,编程简单。但是收敛速度较慢,不能用于解决具有等式约束的优化问题。,