外点惩罚罚函数
第二节 罚函数法
β ∈ (0,1) ,允许误差 ε > 0 ,置 k = 1 ;
k −1 x 为初点,求解无约束优化问题 Step2: 以
min G ( x, r ) = f ( x) + rB( x) s.t. x ∈ int S
设其极小点为 x ;
G ( x, r ) = f ( x) − r ∑ ln g i ( x)
m
-----对数障碍函数
由 G( x, r ) 的定义, r 取值越小,问题
min G ( x, r ) = f ( x) + rB( x) s.t. x ∈ int S
的最优解越接近约束优化问题的最优解。 2. 内点罚函数法的计算步骤
k min H ( x) x Step4: 以 为初始点求解无约束问题 x∈Sk k +1 的最优解
x k +1 ,其中
H k +1 ( x) = −∑ gi ( x) + rk +1 ∑ gi ( x)
i∈I k i∈J k
, Sk = {x | gi ( x) > 0, i ∈ J k }
令 rk + 2 = βrk +1 , k = k + 1, 返回 Step2. 注:该算法中,对于 k = 0,1,2,L ,有 I k +1 ⊂ I k , J k +1 ⊃ J k ,且 最后某个 I k = ∅ 。 三. 广义乘子法 1. 对于等式约束优化问题
φ ( x, y , ω , σ ) = f ( x ) − ∑ ω j ( g j ( x ) − y j ) +
2 j =1 l
惩罚函数法
k k 1
r k 1 cr k
否
X 0 X *(rk )
开始
输入 X 0、r0、c、
k←0
求 min(X , rk )
满足收敛条件? 是
X * X *(rk ) f ( X *) f X *(rk )
结束
3.外点惩罚函数法
求解策略
外点惩罚函数法简称外点法。这种方法和内点相反,
3.外点惩罚函数法
外点法程序框图:
Yes
X * X *(rk )
Yes
f ( X *) f X *(rk )
结束
开始
输入 X 0, r0, c,1,2
k 0
求 min ( X , rk ) 得X *(rk )
Q max g j ( X *(rk ))
Q 1 ?
No
X * (r k ) X * (r k1) 2
(X , r) f (X ) rmax 0, g j (X ) rhk (X )
j 1
k 1
式中:r为惩罚因子,它是由小到大,且趋近于∞的数列
3.外点惩罚函数法
l
2m
2
即 r0<r1<r2<··· ,hk (X ) 、max 0, g j (X )分别对
应为对应于不等式约束和等k式1 约束函数j1的惩罚项, 其中
当 r , lim(1 1 ) 1。
r 4r
当逐步增大r值,直至趋近于无穷时,逼近原问题的约束最优
解,当r=0.25,0.5,1,2时,惩罚函数 (X , r) 的等值线图
下如
3.外点惩罚函数法
当r逐渐增大时,极值
点 X *(r)的序列将沿一直线轨 迹 ( X *(r), r) 1 X *(r) 在可 行域外逐步逼近2 最优2 点。
最优化方法 第三章(罚函数法)
这种惩罚策略,对于在无约束的求解过程中企图违反约
束的迭代点给予很大的目标函数值,迫使无约束问题的 极小点或者无限地向可行域D靠近,或者一直保持在可 行域D内移动,直到收敛到原来约束最优化问题的极小 点。
不改变可行域局部极小值,可以将 约束域之外的局部极小值变大。
p ( x) 0, x D p ( x) 0, x D
k k
k 1
k 1
xk 1是F x, M k 1 的最优解.
k 1 k k 1 k 0 M k 1 M k p ( x ) p ( x ) p ( x ) p ( x )
M k 1 M k
(3) f ( x k 1 ) M k p( x k 1 ) F ( x k 1 , M k ) F ( x k , M k ) f ( x k ) M k p( x k )
gi ( x) gi ( x) max gi ( x), 0 = 罚函数p(x)的构造 2 m l p( x) (max gi ( x), 0) 2 h 2 j ( x)
i 1 j 1
(1) p(x)连续 (2) p( x) 0, x D (3) p( x) 0, x D
二、外点法 外点罚函数法算法步骤 1:给定初始点 x 0 ,初始罚因子M1 0 (可取M1 1 ), 精度 0, k : 1. 2:以 x k 1初始点,求解无约束优化问题
min F ( x, M k ) f ( x) M k p( x)
得到极小点 x* ( M k ),记为 x k , 其中
p( x) (max gi ( x), 0) h 2 j ( x)
2 i 1 j 1 m l
0422 罚函数法
Page 17
所以
1 r x r r
令 r 0 有:
x( r ) x 1, 0
*
T
则最优解及最优值分别为:
x 1, 0
* T
8 , f . 3
*
3. 算法实现
Page 18
Step1: 给出 x 0 R n (要求是可行点), 0 104 罚因子 r1 r1 10 , 缩小系数 c 0.1 , 令 k 1. Step2: 以 x k 1 为初始点求无约束问题:
2 2 min f x x1 x2
Page 7
s.t
解:作辅助函数
x1 1 0
2 1 2 2 2
F x, x x max 0, x1 1
2 2 x x x1 1 0 1 2 即:F x , 2 2 2 x1 1 0 x1 x2 x1 1 x1 1 因此: F 2 x1 x1 2 x1 2 x1 1 x1 1 F 2 x2 x2
i 1 j 1
0 是很大的正数.
P ( x ) 0, F ( x , ) f ( x ). 当 x是可行点时, 分析: 当 x不是可行点时, P x 0, 又因 是大正数.
故此 x 很难成为 F x, 的极小点. 因此,按上策略 得到的 F x, 的极小点应充分靠近可行域,逐渐
“围墙”,当迭代点靠近边界时,目标函数值陡然增大,
这相当于对它进行惩罚,从而阻止迭代点穿越边界,
这样就可以把最优解“挡”在可行域内了.
注意: 内点法只适合于不等式约束问题,并且要求 可行域的内点集非空.
惩罚函数法
解出x1,x2
5M 4 M 5 x1 x2 2.5 2M 1 2
此时x1,x2则满足约束条件,是原问题的解。
§2惩罚函数法
§2惩罚函数法
§2惩罚函数法
§2惩罚函数法
§2惩罚函数法
§2惩罚函数法 例:内点法求解约束问题 min f (u ) au(a 0) s.t.g (u ) b u 0(b 0)
§2惩罚函数法
§2惩罚函数法
§2罚函数法
§2惩罚函数法
§2惩罚函数法
§2惩罚函数法
s.t. h (xi)=x1+ x2-5=0
该问题只有等式约束 解:首先建立罚函数:
F ( x, M ) f ( x) Mp( x)
P( x)
(max( 0, g
i 1
l
i
( x )))
2
( h j ( x ))
j 1
m
2
( x1 x 2 5) 2
F ( x, M ) ( x1 4) 2 ( x2 4) 2 M ( x1 x2 5) 2
此时的x1,x2不满足约束条件,不是原问题的解。
当x 不属于 S 时
F§2惩罚函数法 ( x2 4) 2 M ( x1 x2 5) 2 ( x, M ) ( x1 4) 2
F 2( x1 4) 2M ( x1 x 2 5) 0 x1 F 2( x 2 4) 2M ( x1 x 2 5) 0 x 2
*
rk a 2 (b u )
rk a
F (u , rk ) f (u ) rk a (b rk 0
1 1 au rk g (u ) bu
罚函数法
i =1 i =1 j =1
m+ p
m
p
α
p ⎡m α⎤ F ( x , M ) = f ( x ) + M ⎢ ∑ max{0, gi ( x )}α + ∑ h j ( x ) ⎥ j =1 ⎣ i =1 ⎦
(2.1)
或 p( x ) = c ( x )
∞
= max ci ( x ) = max{max{0, gi ( x )}, i = 1," , m, h j ( x ) , j = 1," , p} ,则
k k k k
(2.2)
F ( xk , M k ) → F * , f ( xk ) → f *
则 M k p ( x ) = F ( x , M k ) − f ( x ) → F − f ,再由 M k → +∞ 得
k k k
*
*
p( x k ) → 0
k k k k
(2.3)
故当 k 充分大时 x ∈ Sδ 。由 Sδ 为紧集,因此{ x }存在收敛子列 { x }k∈J ,设 x → x ( k ∈ J ) 。由已知 条件知 f ( x ) 和 p ( x ) 是连续函数,由(2.3)得 p ( x ) = 0 ,故 x ∈ S ,再由(2.2)得
*
K
知, {F ( x , M k )} 和 { f ( x )} 是单调增序列,并且
k
k
f ( x* ) = F ( x* , M k ) ≥ F ( x k , M k ) ≥ f ( x k )
即 {F ( x , M k )} 和 { f ( x )} 有上界,故 {F ( x , M k )} 和 { f ( x )} 收敛,设
惩罚函数法讲稿
其中:g u(x ) 0,u 1, 2,... m
其中:gu ( x) 0, u 1,2,...m
惩罚(加权)因子 r 缩小系数c:
( 0)
r ....r
(1)
(k )
r
( k 1)
c r
(k )
0< c <1
三.
1. 2.
迭代步骤:
选取合适的初始点 x(0) ,以及 r(0)、c(缩减系数)、计算精度 ε,令 k=0; 构造惩罚(新目标)函数;
程问题时,只要在可行域内,即使未达最优解,接近的过程解也
是可行的; 初始点和序列极值点均需严格满足所有约束条件;
不能解决等式约束问题。
六.
举例:盖板问题 设计一个箱形截面的盖板。 tf
h
已知:长度 l0= 600cm,宽度 b = 60cm, 侧板厚度 ts = 0.5cm,翼板厚度为 tf(cm),高 度为 h(cm),承受最大的单位载荷 q = 0.01Mpa。
以用来求解含不等式和等式约束的优化问题。
二.混合惩罚函数法的形式:
障碍函数
衰减函数
其中根据Fiacco等建议的关系式可得: 为逐渐减小的正项数列,即:
x(k 1) * (r1
(k 1)
) x k * (r1 )
(k )
2. 惩罚因子初始值 r(0) 的选择:
惩罚因子的初值应适当,太大,将增加迭代次数;太小,会 使惩罚函数难以收敛到极值点。对于不同的问题,都要经过多次 试算,才能决定一个适当 r0。
3. 缩减系数 c 的选择:
在构造序列惩罚函数时,惩罚因子 ,相邻两次迭代的惩罚因子的关系为 : 是一个逐次递减到0的数列
第五章 惩罚函数法
入口 给定:x(0) ∈D,r(0),C,ε1,ε2 k←0 用无约束优化方法求罚函数 * 的优化点 x k F F ( x k* )
x* x k , F * F ( x k )
* *
内 点 法 流 程 图
出口
+
K=0?
-
F F0 F0
2
+
r
( k 1)
Cr
(k )
F0 F x k 1 x k
x∈Rn 任选初始点x(0),初始法罚因子r(0)>0,罚因子递增系数C>1 对于r(k)为某一值,同过对惩罚函数的无约束求优,可 得最优点 。随着k的增大,得无约束最优点列
在k←∞的过程中,点列将趋近于原问题的最优点
实线为原目标 函数等值线
虚线为罚函数 等值线
总结 由上图可见,两种等值线在可行域内部及边界上是重合 的;而在非可行域中,罚函数的等值线升高了。即只有在 可行域外部惩罚项才起到惩罚的作用。r(k)值越大,惩罚作 用越大。 由上b图可知,在起作用约束边界处罚函数等值线变得越 密集和越陡峭。随r(k)的增大,最优点列将越接近于原约束 优化问题的最优点x*。但须注意,近似的最优点是落在边 界处非可行域一侧。
(0) *
-
k k 1ຫໍສະໝຸດ ㈦内点罚函数的特点内点法只适用于解不等式约束优化问题。由于内点法 需要在可行域内部进行搜索,所以初始点必须在可行域 内部选取可行设计点。 内点法的突出优点在于每个迭代点都是可行点 因此,当迭代达到一定阶段时,尽管尚没有达到最优点, 但也可以被接受为一个较好的近似解。
5.3.4.2 外点法
出口
外 点 法 流 程 图
k←0
用无约束优化方法求罚函数 * 的优化点 x k F F ( x k* )
惩罚函数
内外惩罚函数一、实验目的通过内外点法的学习让我们掌握利用罚函数解决线性规划为解决相应问题的一种思路与策略。
二、问题描述用外点法求解问题:Min f x=(x1−1)2−x22s.t.x2−1≥0用内点法求解问题:Min f x=x1+x2s.t.−x12+x2≥0,x2≥0三、算法介绍外部惩罚函数法:给定初始点x0,初始惩罚因子σ1,放大系数c>1, ε>0,置k:=1(i)以x(k−1)为初始点求解min F(x,σk) 得极小点x(k)(ii)若σk P (x(k))) <ε,stop(iii)σk+1+1= c·σk,置k:=k+1 转(i)内部惩罚函数法:已知f(x),si(x),取β(x)=1/s12(x) + 1/s22(x) +…+ 1/s m2(x)取一初始容许点x0,初始惩罚因子μ1>0,惩罚因子的缩小系数c<1,置k=1(i)以x(k−1)为初始点,求解minf(x)+μkβ(x)得极小点x(k));(ii)若μkβ(x(k))<ε,stop;(iii)置μk+1=cμk,置k=k+1,转(ii)四、程序计算结果外点法:建立ExteriorPenalty.m:function ExteriorPenaltyX0=[2;3];format long;M0=1;C=8;e1=0.001;e2=0.001;k=0;t=0;kk=0;k1=0;N=100;n=length(X0);while t<N1syms X1X2real;gux1=X2-1;gux2=0;gux1_func=inline(vectorize(gux1),'X1','X2');gux2_func=inline(vectorize(gux2),'X1','X2');if gux1_func(X0(1),X0(2))>=0gux1=0;endif gux2_func(X0(1),X0(2))>=0gux2=0;endfx=(X1-1)^2+X2^2+M0*(gux1^2+gux2^2);fx_func=inline(vectorize(fx),'X1','X2');Xr=X0;t=t+1;while kk<Nkk=kk+1;if k==0H0=eye(2);g0_1=diff(fx,'X1',1);g0_2=diff(fx,'X2',1);g0_1_func=inline(vectorize(g0_1),'X1','X2');g0_2_func=inline(vectorize(g0_2),'X1','X2');g0=[g0_1_func(X0(1),X0(2));g0_2_func(X0(1),X0(2))]; endXi=X0;Sk=H0*g0;syms rreal;X0=X0+r*Sk;fx_r=vpa(fx_func(X0(1),X0(2)),5);fx_r_func=diff(fx_r,r,1);fx_r_func_func=inline(vectorize(fx_r_func),'r');options=optimset('Display','off');r=fzero(fx_r_func_func,1,options);X0=Xi+r*Sk;g0_1=diff(fx,'X1',1);g0_2=diff(fx,'X2',1);g0_1_func=inline(vectorize(g0_1),'X1','X2');g0_2_func=inline(vectorize(g0_2),'X1','X2');g0=[g0_1_func(X0(1),X0(2));g0_2_func(X0(1),X0(2))];if sqrt(sum(g0.^2))<=e1endif k==nk=0;elseg1=[g0_1_func(Xi(1),Xi(2));g0_2_func(Xi(1),Xi(2))]; delta_g=g0-g1;delta_x=X0-Xi;Ak=delta_x*(delta_x')/(delta_x'*delta_g);Bk=H0*delta_g*(H0*delta_g)'*inv(delta_g'*H0*delta_g);H0=H0+Ak-Bk;k=k+1;endendifsqrt(sum((Xi-X0).^2))<e1&abs((fx_func(Xi(1),Xi(2))-fx_func(X0(1), X0(2)))/fx_func(Xi(1),Xi(2)))<e2break;elseM0=M0*C;endenddisp(t);disp(X0);matlab中代码和结果为:因此Min f x=(x1−1)2−x22= 0此时x1=x2=1内点法:function InteriorPenaltyk=0;r=1;c=0.1;format long;e=0.001;N=100;X0=[2;1];Xr=[3;1];disp('0');disp(X0');while sqrt(sum((X0-Xr).^2))>e&k<Nk=k+1;syms X1X2real;f=X1+X2-r*log(-X1^2+X2)-r*log(X1);dfx1=diff(f,X1,1);dfx2=diff(f,X2,1);dfx1x1=diff(f,X1,2);dfx2x2=diff(f,X2,2);dfx1x2=diff(dfx1,X2,1);grads_x1=inline(vectorize(dfx1),'X1','X2');grads_x2=inline(vectorize(dfx2),'X1','X2');hession_11=inline(vectorize(dfx1x1),'X1','X2');hession_12=inline(vectorize(dfx1x2),'X1','X2');hession_22=inline(vectorize(dfx2x2),'X2','X2');inv_hession=inv([hession_11(X0(1),X0(2)),hession_12(X0(1),X0(2)); hession_12(X0(1),X0(2)),hession_22(X0(1),X0(2))]);giads=[grads_x1(X0(1),X0(2));grads_x2(X0(1),X0(2))];Xr=X0;X0=X0-inv_hession*giads;r=r*c;disp(k);disp(X0');enddisp('The result is: ');disp(k);disp(X0');matlab中代码和结果为:因此Min f x=x1+x2= 0此时x1=x2=0。
第11讲 外点惩罚函数法
外点惩罚函数法
1.外点法和内点法的区别 内点法将惩罚函数定义于可行域内且求解无 约束优化问题的搜索点总是保持在可行域内,一 般只用于不等式约束情况;外点法即可用于求解 不等式约束优化问题,又可用于求解等式约束优 化问题,主要特点是惩罚函数定义在可行域的外 部,从而在求解系列无约束优化问题的过程中, 从可行域外部逐渐逼近原约束优化问题最优解。
2.外点惩罚函数法的一般形式 考虑不等式约束优化设计时:对
minf (X),
k
x ∈R
n
st.
m k
gu (X) ≥ 0, (u =1,2⋯m)
0 , g u ( X )}
2
构造一般形式的外点惩罚函数为:
P(X ,r ) = f (X ) + r
∑ {min[
u =1
其中: (1)当满足所有约束条件时惩罚项为0,即
u =1 m p
实际计算中,因为惩罚因子 r 不可能达到无穷 大,故所得的最优点也不可能收敛到原问题的最 优点,而是落在它的外面,显然,这就不能严格 满足约束条件。为了克服外点惩罚函数法的这一 缺点,对那些必须严格满足的约束(如强度、刚 度等性能约束)引入约束裕度 δ u ,即将这些约 束边界向可行域内紧缩,移动一个微量,得到
1 k k 2 P ( X , r ) = f ( X ) + r ∑ [ h v ( X )] + k r v =1
k
p m
∑
u =1
1 gu (X )
式中,惩罚因子 r 是一个递增的正数序列 k 且 lim r = ∞
最优化方法之-罚函数法讲解
内点罚函数法优点
迭代总在可行域内进行,每一个中间结果都是 可行解,可以作为近似解。
内点罚函数法缺点
选取初始可行点较困难,且只适用于含不等式 约束的非性性规划问题。
x2)
0
x1
1
2 2M
x2
1
(2 2M )2
1
2M
当M
时,有
x1 x 2
0 0
步骤:
1.给定x( 初 0) ,始 初点 始 M10 罚 (M1 因 1 ) , 子 放 系c数 1 ,允许 0 , 误 k置 差 1 。
2.以x(k1)为初始点,求解无约 问题 束 minf(x) Mkp(x)
201 101
以此类推,得序列: 3,21,201,2001, 2 11 101 1001
2
外点罚函数法的一个重要特点:
函数 F(x,M)是在整个En空 内间 进行,优 初化 始
点可任意,且 选外 择点法也可规 用划 于的 非最 凸.优
缺点:
1.惩罚项Mp(x)的二阶偏导数一般在 不;存
2.外点法的中间可 结行 果,不 解 不能 是作为近 ;
P~(x,rk) iSk
gi(x)rk
iTk
1 gi(x)
记 R~k x|gi(x)0 iTk
(rk 0)
5.以x(k)为初始点R, ~k域在内,求障碍 P~(函 x,rk数 ) 的极小:点
minP~(x,rk) s.t. xR~k 得x(k1),转 6。
6.令 0rk1rk如r取 k1110rk,置 k:k1, 转 2。
引入罚项
p(x )
m
g i( x )
i 1
其中 ( y )是连续函数,且满足
(y ) 0 ( y ) 0
第五章惩罚函数法详解
㈣关于几个参数的选择
⑴初始罚因子r(0)的选取
如果 值选得太大,则在一开始罚函数的惩罚项的 值将远远超出原目标函数的值,因此,它的第一次无约束极 小点将远离原问题的约束最优点。在以后的迭代中,需要很 长时间的搜索才能使序列无约束极小点逐渐向约束最优点逼近。
如果 值选得太小,则在一开始惩罚项的作用甚小,
而在可行域内部惩罚函数
与原目标函数F(x)很相近,
只在约束边界附近罚函数值才突然增高。这样,使其罚函数
在在约束边界附近出现深沟谷地,罚函数的性态变得恶劣。
如下图,对于有深沟谷地性态差的函数,不仅搜索所需的 时间长,而且很难使迭代点进入最优的邻域,以致极易使 迭代点落入非可行域而导致计算的失败。
或
r(0)=1~50
函数
的一系(x,列r(k最) ) 优点,
xk* (k 0,1,2, )
显见,无约束最优点序列将逐渐趋近于原约
束优化问题的最优点x*。
㈡内点罚数法的形式及特点
⑴具有不等式约束的优化问题的数学模型
S.T. :
u=1,2……,p
⑵构造如下形式的内点罚函数
p
(x, r (k) ) F (x) r (k)
而且,当x越趋近于约束边界时,由于惩罚项 r(k) 1
增大,所以罚函数 (x, r(的k) )值越大。当x←b时,罚g1函(x)
数的值将趋近于+∞。因此,当初始点取在可行域内,求
函数 (x, r(k)的) 极小值时,只要适当控制搜索步长,
防止迭代点跨入非可行域,则所搜索到的无约束极小点 x*必可保持在可行域内。
⑹由终止准则,若满足则转步骤⑺,否则转⑸⑺,输出最优解(x*,F*)
入口
给定:x(0) ∈D,r(0),C,ε1,ε2
外点惩罚函数法
对于任意给定的惩罚因子r(k)>0,函数Ф (x,r(k))是 凸的。令函数Ф (x,r(k))的一阶导数为零,可得其无 约束极值点x*(r(k))=1-1/(4r(k))和惩罚函数值为
下表列出了当惩罚因子赋予不同值时的条件最优解。由此 可见,当惩罚因子递增时,其极值点x*(r(k))离约束最优 点x*越来越近。当r(k)→∞时, x*(r(k))→x*=1,趋于 真正的约束最优点。因此,无约束极值点x*(r(k))将沿直 线Ф (x*,r(k))=1/2+x*/2从约束区域外向最优点x*收 敛。
条件,就认为已经达到约束边界。这样只能取得一个接近
于可行域的非可行设计方案。当要求严格满足不等式的约 束条件时,为了最终取得一个可行的最优化设计方案,必
须对那些要求严格满足的约束条件,增加约束欲量—— δ
,定义新的约束条件 g'u(x)=gu(x)+δ ≤0 u=1,2,……m
用外点罚函数法解等式约束优化问题
使用中的问题
外点惩罚函数法的初始点x(0),可以任意选择,因
为不论初始点选在可行域内或外,只要f(x)的无约束极
值点不在可行域内,其函数Ф (x,r(k))的极值点均在 约束可行域外。这样,当惩罚因子的增大倍数不太大时, 用前一次求得的无约束极值点x*r(k-1),作为下次求 minФ (x,r(k))的初始点x(0),对于加快搜索速度是
r(k)与r(0)的选择
r(k)
在外点法中,惩罚因子r(k)通常是按下面递推公式增加的, 即 r(k)=α r(k-1);其中α 为递增系数一般取5~10。
r(0)的选择:
r(0)过大,惩罚函数比原目标函数大得多,使函数性态遭到破 坏,从而惩罚函数的等值线变形或偏心,求极值困难; r(0)过小,会使迭代次数增加。
一非线规划问题的几种求解方法1罚函数法外点法
第三步:主程序main1.m
%最速下降方法实现一个非线性最优化问题 % min f(x)=2*x1^2+x2^2 global x0 x0=[ 1 1 ]; yefi=0.0001; k=1; d=-fun1gra(x0); lamada=1;
主程序main1.m(续)
while sqrt(sum(d.^2))>=yefi
对参数nonlcon的进一步示例
x12 x22 x32 100
x12 10x32 60
x1 x22 Leabharlann 3 802个不等式约束,x13
x
2 2
x3
80
2个等式约束
3个决策变量x1,x2,x3 如果nonlcon以‘mycon1’作为参数值,则程序 mycon1.m如下
对照约束条件编写myfun1.m
一、非线性规划问题的几种求解方法 1. 罚函数法(外点法)
min f (x) s.t. gi (x) 0(i 1,2,, m)
h j (x) 0( j 1,2,,l)
基本思想: 利用目标函数和约束函数构造辅助函数:
F(x,) f (x) P(x)
要求构造的函数 F(x, ) 具有这样的性质:当 点x位于可行域以外时,F(x, )取值很大,而
离可行域越远则越大;当点在可行域内时,
函数 F(x, ) f (x)
因此可以将前面的有约束规划问题转换为下 列无约束规划模型:
min F(x,) f (x) P(x)
其中称为 P(x)罚项, 称为罚因子,
F (x, ) 称为罚函数。
P( x) 的定义一般如下:
m
l
P(x) (gi (x)) (hj (x))
越是接近极值点,收敛越慢;
惩罚函数法
显然 p( x) 满恰足前面的条件(1)和(2)。
连续, 也连续。 结论 1 : 如果 g j ( x ) j = 1,2, L , m ) ( 连续,那么 p( x ) 也连续。
事实上,只须注意: 事实上,只须注意: f1 ( x ) + f 2 ( x ) − f1 ( x ) − f 2 ( x ) min { f 1 ( x ), f 2 ( x )} = 2
m
n
得到其最优解 x * (λ k ),记为 x k + 1。 step 3 . 如果 µ k q( x k + 1 ) ≤ ε , 则 x k + 1 就是问题 min f ( x ) 的最优解, stop;否则转 step 4。 的最优解, (A):
x∈ D
step 4 . 给定 µ k + 1 < µ k(可取 µ k + 1 = βµ k 这里 β < 1 为惩罚 因子的缩小系数) , 因子的缩小系数) k := k + 1, 转 step 2。
x∈ D
: 证明 : 因为 x * (λ k ) 是(B) min ϕ k ( x ) 的最优解 。
x∈ R n
所以 ϕ k ( x * (λ k )) ≤ ϕ k ( x ) , ∀ x ∈ R n 。
, 又 x * (λ k ) ∈ D, 即g j ( x * (λ k )) ≥ 0 j = 1,2,L, m ) ( 所以 p( x * (λ k ) ) = 0 。
1 ∑ 例如: 例如: q( x ) = 或 q( x ) = j =1 g ( x ) j
m m
1 等; 2 j =1 g ( x )
1120 罚函数法 (罚函数法与乘子法合订)
然后把它加到目标函数中去,将约束问题的求解 化为一系列无约束问题的求解(准确地说,是将 这些无约束问题的极小点依次作为迭代点).
Page 2
辅助函数: F x, f x P x
根据惩罚函数表达式(构造方法的不同),形 成不同的罚函数法。我们重点介绍三种:
2 罚函数的特点
Page 20
min f x x Rn
(2)
s.t. gi x 0 i 1, 2, m
构造: F x, r f x rB x , r 0
其中:B
x
m
i 1
gi
1
x
或
m
B x ln
i 1
这相当于对它进行惩罚,从而阻止迭代点穿越边界,
这样就可以把最优解“挡”在可行域内了.
Page 19
1. 解法:
min f ( x), x Rn s.t. gi ( x) 0, i 1, , m
(1)构造: F x, r f x rB x , r 0为很小的正数
Page 7
解:构造罚函数和辅助函数:
F
x,
x2 1
x22
x1
x2
22
其中 是很大的正数.
令: F F 0
x1 x2
得:
x1
x2
2 2 1
又因该点处
2F x12
2
1,
2F x22
2
1,
2F 2
最优化方法之_罚函数法讲解
例:考虑约束优化问题
x min 2 s.t. x 1
该问题的对数障碍函数为
x G ( x, r ) r ln( x 1) 2 G ( x, r )的最小点为 :
xr 1 2r 1(r 0) 1 1 G ( xr , r ) r r ln 2r (r 0) 2 2
2
min f(x ) t. g i(x ) 0 i 1, 2, ,m s .
min F(x , ) f(x ) Mp(x )
m min F(x ,M ) f(x ) M g i(x ) i 1
其中M是很大的正数。
例 : min f(x ) (x 1 1) x
以此类推,得序列: 3 21 201 2001 , , , , 2 11 101 1001
2
外点罚函数法的一个重要特点:
函数F(x ,M ) 是在整个空间 E 内进行优化 ,初始 点可任意选择 ,且外点法也可用于非凸 规划的最优化 .
缺点:
n
1. 惩罚项Mp(x ) 的二阶偏导数一般不存 在 ;
) ,则停止计算,得到点 x ;否则
令M k 1 cM k,置k : k 1,返回2。
例:用外点法求解
min ( x 1) s.t. x 2 0
2
解:取x (0) 0, M 1 1,令
p(x ) min 0, x 2
0 2 (x 2)
i 1
两种障碍函数的比较
min x s.t. x 1 0
取 1 B( x ) , 则内罚函数为 x 1 r G ( x, r ) x x 1
令 得到
G r 1 0 2 x ( x 1) x x ( r ) 1 r
罚函数法(SUMT法)
线性规划3-6
一.外点法迭代原理
(NP) min f (X )
( X , M ) f ( X ) M [min(0, gi ( X ))]2
设min( X , M )的最优解为 X (M ) XRn
s.t. gi ( X ) 0
i 1,2, , m
20 若 X (M ) D, 当M很大时, X *(M)也会相当靠近
设min( X , M )的最优解为 X (M ) XRn
s.t. gi ( X ) 0
i 1,2, , m
20 若 X (M ) D, 当M很大时, X *(M)也会相当靠近
(NP) 可行域D的边界,是(NP)的最优解X *的近似解
证明: X ( M ) D, 至少存在 i0 使 gi0 (X(M)) 0
D
g2(X ) 0
g1( X ) 0
X (k)(Mk )
X
x1
线性规划3-6
一.外点法迭代原理
(NP) min f (X )
s.t. gi ( X ) 0
i 1,2, , m
( NP) min f (X )
s.t
.
gi hj
( (
X X
) )
0, 0,
i j
1, 2,L 1, 2,L
m
构造罚函数: ( X , M ) f ( X ) M [min( 0, gi ( X ))]2
罚函数的特点:
罚因子 i1 惩罚项
f (X ),
XD
(X , M) f (X) + 很大的正数, X D
( NP) 求解 min( X , M ) 设其最优解为 X*(M), XRn
研究 X*(M) 与(NP)的最优解 X* 之间的关系
罚函数-原理与应用
定理3.37
定理3.37 设对给定的参数μ,F(x,μ)的无约
束极小值为xμ。那么,xμ成为f(x)的约束极小点的
充要条件是:xμ是原问题的可行点。
罚函数法算法
2.罚函数算法
1) 取初始点X0为非可行点,μ0>0(通常取μ0=1), ε>0,c>1(通常取
c=10),k=0
2) 以Xk为出发点,求解无约束极小化问题:
= 12 + 222 + 21 + (1 + 2 − 1)2
(, )
= 12 + 222 + 21
+ (1 + − 1)2
例题
= 2, 2 = 100
(1) = (−0.2,0.4), ( (1) ,μ0 ) = 1.5237
任选一种无约束极小化算法,可解得F(X, μ0)的
问题转化为:
minF(x)
min() = 12 + 222 + 21
..
(3-98)
基本原理
F(x)的等价表达式:
F(x,μ)=x+μ[max(0,-0+2)]²
其中,μ是一个充分大的正数。记
α(x)=[max(0,-x+2)]²
(3-98)
(3-99)
通常将μα(x)称之为罚函数,记为
点正是X=2
解题步骤
一般情况下:
设原问题为
minf(x)
(3-100)
s.t. gi(x)≤0,i=1,2,…,m (3-101)
hj(x)=0,j=1,2,…,l (3-102)
则可以构造无约束极小化问题:
minF(x,μ)=f(x)+μα(x) (3-103)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/kuai_su/youhuasheji/suanfayuanli/4.3.asp
约束优化算法——外点惩罚函数法
(一)基本原理
设原目标函数为,在不等式约束条件下用外点惩罚函数法求极小。
外点法常采用如下形式的泛函:
(6)
由此,外点法所构造的相应的惩罚函数形式为
(7)
式中,惩罚因子是一个递增的正值数列,即
惩罚项中:
(8)
由此可见,当迭代点X位于可行域内满足约束条件时,惩罚项为零,这时不管
取多大,新目标函数就是原目标函数,亦即满足约束条件时不受“惩罚”,此时求式(7)的无约束极小,等价于求原目标函数在己满足全部约束条件下的极小;而
当点X位于可行域外不满足约束条件时,惩罚项为正值,惩罚函数的值较原目标函数的值增大了,这就构成对不满足约束条件时的一种“惩
罚”。
由式(7)可知,每一次对罚函数求无约束的极值,其结果将随该次所给定的罚因子值而异。
在可行域外,离约束边界越近的地方,约束函数的值越大,的值也就越小,惩罚项的作用也就越弱,随着罚因子逐次调整增大,有增大惩罚项的趋势,但一般说来泛函值下降得更
快一些。
此时尽管值增大,但泛函值亦趋于零,满足式(3)。
最后当,泛函值和惩罚项值均趋近于零。
外点法在寻优过程中,随着罚因子的逐次调整增大,即取
,所得的最优点序列可以看作是以为参数的一条轨迹,当时,最优点点列
从可行域的外部一步一步地沿着这条轨迹接近可行域,所得的最优点列逼近原问题的约束最优点。
这样,将原约束最优化问题转换成为序列无约束最优化问题。
外点法就是因从可行域的外部逼近最优解而得名。
(二)迭代过程及算法框图
外点惩罚函数法的具体迭代步骤如下:
(1)给定初始点,初始惩罚因子,迭代精度,递增系数c>1,维数n。
置。
(2)以为初始点,用无约束最优化方法求解惩罚函数的极小点,即:
(9)。
(3)检验是否满足迭代终止条件:
或(若)
或(若)
若不满足,则进行第(4)步;否则转第(5)步。
(4)令,置,返回进行第(2)步。
(5)输出最优解:,停止迭代。
外点惩罚函数法的算法框图如图所示。
(三)几点说明
(1)外点惩罚函数法的初始点,可以在可行域内也可以在可行域外任意选取,这对实际计算是很方便的。
(2)初始罚因子和递增系数c的选择是否恰当,对方法的有效性与收敛速度都有影响。
若与c取值过小,则序列求解函数的无约束最优化次数增多,计算时间增加。
但若与c取值过大,惩罚函数的性态变坏,导致求解无约束优化问题的困难。
(3)外点惩罚函数法通常求到的最优点是无限接近约束边界的一个位于非可行域的外点,显然,这就不能严格满足约束条件。
为了解决这个问题,可对那些必须严格满足的约束(如强度、刚度等性能约束)引入约束裕量,如图所示,意即将这些约束边界向可行域内紧缩移动一个微量,也就是新定义的约束条件为这样可以用新定义的约束函数构成的惩罚函数来求它的极小化,取得最优设计方案。
它虽在紧缩后的约束边界之外,但已在原来的约束边界之内,这就可以使原不等式约束条件能够严格的满足。
当然,值不宜选取过大,以避免所得结果与最优点相差过远,一般取。