一、惩罚函数法(SUMT)
最优化方法 第三章(罚函数法)

这种惩罚策略,对于在无约束的求解过程中企图违反约
束的迭代点给予很大的目标函数值,迫使无约束问题的 极小点或者无限地向可行域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
罚函数法

No γk+1 = β γk
闸函数法: (续)
求初始内点: 1 x (1) , k 1, 转2 ; 2 令I k {i | g i ( x ( k ) ) 0}
(k ) 若 I , 则 x 为初始内点。 k 转 3 ; (k ) (k ) 否则,取j使g j ( x ) max{ g i ( x ) | i I k }
2 x
0
0
g ( x , ) 2 最优值(原问题)
3.闸函数法: (续)
定义 ( ) inf{ f ( x) B( x) | x S 0 } 有类似于罚函数法的理论结果: 定理: ( fg ), f , g连续,S 0 Φ , 最优解x S 0 则 1 min{ f ( x) | x S} inf{ ( ) | 0} lim ( )
(t ), (t )的典型取法: (t ) [max {0, t}] p (t ) | t | p
p为正整数。
当p 2时,称2次罚函数.(常用:因2次是最低次的光滑函数)
1.罚函数概念 (续)
Ex. min x s.t. x 2 0
2
( x 2) 2 , x 2 二次罚函数 : ( x) [max{ 0, x 2}] 0, x 2 如图 当 时, min 解析解 : 辅助函数 x ( x 2) 2 x 2 (4 1) x 4 , g ( x, ) f ( x) ( x) x ,x 2 4 1 当x 2时, g ( x, )的驻点x 2 2 故x 2 opt. 当x 2时, g ( x, )的最小值点~ x 2 x2 f ( x) ( x) f ( x ) x 2
罚函数法

外罚函数法算法
Step1: 给出 x0 ∈ Rn (可是不可行点), > 0(ε =10−4 ) ε 罚因子 σ1(σ1 =1) , 放大系数 C(C =10) , k =1. Step2: 以 xk−1 为初始点求无约束问题: ~ m P( x,σk ) = f ( x) +σk P( x) 得 xk = x(σk ). in ~ Step3: 若 σk P(xk ) < ε , 则 x* = xk ,停; 否则转step4 Step4: 令 σk+1 = Cσk , k = k +1, 转step2.
Q f (xk ) ≤ P(xk ,σk ) ≤ f x
设其极限为 f . ∴ { f (xk )} 亦为单调有界序列, ~ ∴ lim σk P(xk ) = lim [P(xk ,σk ) − f (xk )] = p0 − f 0 k→+∞ k→+∞ ~ Q σk →+∞ ∴ lim P(xk ) = 0 k→+∞ ~ ~ ~ 且 P(x) 连续; P(~) = 0 即 ~ 为可行解 x ∴ x Q x →x
0
( )
*
Q x 为最优解;∴ f x* ≤ f (~) x ~, f (x) 连续; f (~) = lim f (x ) ≤ f (x* ) ∴ x Q xk → x k k→+∞ * ~) 即 ~ 为(3)的整体最优解. ∴ f x = f (x x
k *
( )
( )
外罚函数法评价
(1) 如果有了求解无约束问题的好算法,利用 外罚函数法求解约束问题很方便. (2) 每个近似解 x(σk ) 往往不是可行解,这是某 些实际问题所无法接受的. 内罚函数法可以解决. (3) 由收敛性定理 σk 取越大越好, σk 越大将 而 造成增广目标函数 P( x,σ ) 的Hesse阵条件数越 大,趋于病态,给无约束问题求解增加很大困 难,甚至无法求解.乘子法可解决这个问题.
优化设计 孙靖民 课后答案第6章习题解答-3

9.图6-39所示为一对称的两杆支架,在支架的顶点承受一个载荷为2F=300000N , 支架之间的水平距离2B=1520mm ,若已选定壁厚T=2.5mm 钢管,密度/1083-6mm Kg ⨯=.7ρ,屈服极限700=s σMpa ,要求在满足强度与稳定性条件下设计最轻的支架尺寸。
[解] 1.建立数学模型 设计变量:⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡=H D x x x 21目标函数:221422577600101.2252)(x x HB D T x f +⨯=+=πρ 约束条件: 1)圆管杆件中的压应力σ应小于或等于y ο,即y TDHHB F σπσ≤+=22于是得2122157760019098.59)(x x x x g +=2)圆管杆件中的压应力α应小于或等于压杆稳定的临界应力c σ,由欧拉公式得钢管的压杆温度应力c σ222152222225776006.25102.6)8()(x x H B T D E AL EIC ++⨯=++==ππσ2式中 A ――圆管的截面积;L ――圆管的长度。
于是得0)6006.25)/(577(102.657760019098.59)(2221521222≤++⨯-+=-=x x x x x x g c σσ3) 设计变量的值不得小于或等于0于是得)(0)(2213≤-=≤-=x x g x x g2.从以上分析可知,该优化设计问题具有2个设计变量,4个约束条件,按优化方法程序的规定编写数学模型的程序如下:subroutine ffx(n,x,fx) dimension x(n) fx=1.225e-4*x(1)*sqrt(577600.0+x(2)*x(2)) endsubroutine ggx(n,kg,x,gx) dimension x(n),gx(kg)gx(1)=19098.59*sqrt(577600.0+x(2)*x(2))/(x(1)*x(2))-700.0 gx(2)=19098.59*sqrt(577600.0+x(2)*x(2))/(x(1)*x(2))- 1 2.6e5*(x(1)*x(1)+6.25)/(577600.0+x(2)*x(2)) gx(3)=-x(1) gx(4)=-x(2) end3.利用惩罚函数法(SUMT 法)计算,得到的最优解为:============== PRIMARY DATA ============== N= 2 KG= 4 KH= 0 X : .7200000E+02 .7000000E+03 FX: .9113241E+01GX: -.3084610E+03 -.8724784E+03 -.7200000E+02 -.7000000E+03 PEN = .9132947E+01R = .1000000E+01 C = .4000000E+00 T0= .1000000E-01 EPS1= .1000000E-05 EPS2= .1000000E-05=============== OPTIMUM SOLUTION ============== IRC= 18 ITE= 39 ILI= 39 NPE= 229 NFX= 0 NGR= 57 R= .1717988E-06 PEN= .6157225E+01 X : .4868305E+02 .6988214E+03 FX: .6157187E+01GX: -.1204029E+03 -.1266042E-01 -.4868305E+02 -.6988207E+0310.图6-40所示为一箱形盖板,已知长度L=6000mm ,宽度b=600mm ,厚度mm t s 5承受最大单位载荷q=0.01Mpa ,设箱形盖板的材料为铝合金,其弹性模量MPa E 4107⨯=,泊松比3.0=μ,许用弯曲应力[]MPa 70=σ,许用剪应力[]MPa 45=τ,要求在满足强度、刚度和稳定性条件下,设计重量最轻的结构方案。
数学建模最优化模型

或[x,fval]= fminsearch(...) (4)[x,fval,exitflag]= fminunc(...);
或[x,fval,exitflag]= fminsearch (5)[x,fval,exitflag,output]= fminunc(...);
41m外点法sutm内点法障碍罚函数法1罚函数法2近似规划法罚函数法罚函数法基本思想是通过构造罚函数把约束问题转化为一系列无约束最优化问题进而用无约束最优化方法去求解这类方法称为序列无约束最小化方法简称为sumt法其一为sumt外点法其二为sumt内点法其中txm称为罚函数m称为罚因子带m的项称为罚项这里的罚函数只对不满足约束条件的点实行惩罚
曲线不一定通过那m个测量点,而要产生“偏差”.
将测量点沿垂线方向到曲线的距离的
y
平方和作为这种“偏差”的度量.即
2
x
S
m i 1
yi
a1
1 a3
a2 ln 1 exp
xi a4 a5
显然偏差S越小,曲线就拟合得越好,说明参数值就选择得越好,从而 我们的问题就转化为5维无约束最优化问题。即:
一下是否达到了最优。 (比如基金人投资)
• 在各种科学问题、工程问题、生产管理、社会 经济问题中,人们总是希望在有限的资源条件 下,用尽可能小的代价,获得最大的收获。
(比如保险)
数学家对最优化问题的研究已经有很多年的 历史。
以前解决最优化问题的数学方法只限于古典 求导方法和变分法(求无约束极值问题),拉格 朗日(Lagrange)乘数法解决等式约束下的条件 极值问题。
《机械优化设计》第6章习题解答-2资料

8. 有一汽门用弹簧,已知安装高度H1=50.8mm,安装(初始)载荷F1=272N ,最大工作载荷F2=680N ,工作行程h=10.16mm 弹簧丝用油淬火的50CrV A 钢丝,进行喷丸处理; 工作温度126°C ;要求弹簧中径为20mm ≤D2≤50mm ,弹簧总圈数4≤n1≤50,支 承圈数n2=1.75,旋绕比C ≥6;安全系数为1.2;设计一个具有重量最轻的结构方案。
[解] 1.设计变量:影响弹簧的重量的参数有弹簧钢丝直径:d ,弹簧中径D1和弹簧总圈数n1,可取这三个参数作为设计变量:即:⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡=H D x x x 212.目标函数:弹簧的重量为式中 ρ――钢丝材料的容重,目标函数的表达式为3221611262101925.0108.725.0)(x x x n D d x F --⨯=⨯⨯=π3.约束条件:1)弹簧的疲劳强度应满足min S S ≥式中 2.1m i n m i n =--S S ,可取最小安全系数,按题意S ――弹簧的疲劳安全系数,由下式计算:m s s s S ττττττττα⎪⎪⎭⎫⎝⎛+⎪⎪⎭⎫ ⎝⎛-=002式中 :劳极限,计算方法如下弹簧实际的脉动循环疲--0τ初选弹簧钢丝直径:4mm ≤d ≤8mm ,其抗拉强度MPa b 1480=σ,取弹簧的循环工作次数大于710,则材料的脉动循环疲劳极限为MPa b 44414803.03.0'0=⨯==στ设可靠度为90%,可靠性系数 868.0=r k ; 工作温度为126°C ,温度修正系数 862.0126273344273344=+=+=T k t再考虑到材料经喷丸处理,可提高疲劳强度10%,则弹簧实际的脉动循环疲劳极限为MPa k k t r 4.365444862.0868.01.1)1.01('00=⨯⨯⨯=+=ττ36/107.8mm kg -⨯=ρρπ12220.25n D d W =--s τ弹簧材料的剪切屈服极限,计算公式为MPa b s 74014805.05.0=⨯==στ--ατ弹簧的剪应力幅,计算公式为328dD F ka πτα=式中 k ――曲度系数,弹簧承受变应力时,计算公式为14.02)(6.1615.04414d D C C C k ≈+--=a F ――载荷幅,其值为N F F F a 2042/)272680(2/)(12=-=-=m τ――弹簧的平均剪应力,计算公式为328dD F k m sm πτ=式中s k ――应力修正系数,计算公式为dD C k s /615.01615.012+=+= m F ――平均载荷,其值为N F F F m 4762/)272680(2/)(12=+=+=由此,得到弹簧疲劳强度的约束条件为 计算剪应力幅ατ:86.2186.023214.023.8308)/(6.1x x d D F d D dD F ka a =⋅==ππτα328 计算平均应力幅m τ:21312246.74512.1212615.01x x x d D F Dd dD F k m m sm +=⎪⎪⎭⎫ ⎝⎛+==33288ππτ 计算弹簧的实际疲劳安全系数S :mms s s S τττττττττταα494.0506.14.365+=⎪⎪⎭⎫ ⎝⎛+⎪⎪⎭⎫ ⎝⎛-=0002从而得到弹簧的疲劳强度约束条件为012.1)(min 1≤-=-=SS S S x g 2)根据旋绕比的要求,得到约束条件016)(21min 2≤-=-=x x C C C x g3)根据对弹簧中径的要求,得到约束条件50222≤-=-=≤-=-=1)4(0120)3(max max 242min 3x D D D g x D D D g4)根据压缩弹簧的稳定性条件,要求:c F F ≤2式中 c F ――压缩弹簧稳定性的临界载荷,可按下式计算:K H D H F C ⎥⎥⎦⎤⎢⎢⎣⎡⎪⎪⎭⎫⎝⎛--=2022085.611813.0μ 式中 K ――要求弹簧具有的刚度,按下式计算:mm N h F F K /2.4016.1027268012=-=-=0H ――弹簧的自由高度,按下式计算: 当mm K F 16.9240.26802===λ 时, 304.20)5.0(2.1)5.0(310+-=+-=x n H λμ――长度折算系数,当弹簧一端固定,一端铰支时,取 7.0=μ;则:[][]⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧⎥⎦⎤⎢⎣⎡+---+-=221398.1311304.20)5.0(268.320.3040.5)(13x x x x x F C于是得 01680)(25≤-=-=CC C F F F F x g5)为了保证弹簧在最大载荷作用下不发生并圈现象,要求弹簧在最大载荷2F 时的高度2H 应大于压并高度b H ,由于13112)5.0()5.0(64.4016.108.50x x d n H h H H b -=-==-=-=于是得到010123.00246.0)(131226≤--=-=x x x H H H x g b6)为了保证弹簧具有足够的刚度,要求弹簧的刚度αK 与设计要求的刚度K 的误差小于1/100,其误差值用下式计算:401.02.40)75.1(8100/)(33241---=--=x x Gx K K K αθ式中 G ――弹簧材料的剪切弹性模量,取G=80000Mpa 。
分享:惩罚函数法(内点法、外点法)求解约束优化问题最优值

分享:惩罚函数法(内点法、外点法)求解约束优化问题最优值1 用外点法求下列问题的最优解方法一:外点牛顿法:clcm=zeros(1,50);a=zeros(1,50);b=zeros(1,50);f0=zeros(1,50);% a b为最优点坐标,f0为最优点函数值,f1 f2最优点梯度。
syms x1 x2 e; %e为罚因子。
m(1)=1;c=10;a(1)=0;b(1)=0; %c为递增系数。
赋初值。
f=x1^2+x2^2+e*(1-x1)^2;f0(1)=1;fx1=diff(f,'x1');fx2=diff(f,'x2');fx1x1=diff(fx1,'x1');fx1x2=diff(fx1,'x2');fx2x1=diff(fx2,'x1');fx2x2=diff(fx2,'x2');%求偏导、海森元素。
for k=1:100 %外点法e迭代循环.x1=a(k);x2=b(k);e=m(k);for n=1:100 %梯度法求最优值。
f1=subs(fx1); %求解梯度值和海森矩阵f2=subs(fx2);f11=subs(fx1x1);f12=subs(fx1x2);f21=subs(fx2x1);f22=subs(fx2x2);if(double(sqrt(f1^2+f2^2))<=0.001) %最优值收敛条件a(k+1)=double(x1);b(k+1)=double(x2);f0(k+1)=double(subs (f));break;elseX=[x1 x2]'-inv([f11 f12;f21 f22])*[f1 f2]';x1=X(1,1);x2=X(2,1);endendif(double(sqrt((a(k+1)-a(k))^2+(b(k+1)-b(k))^2))<=0.001)&&(double(abs((f0(k+1)-f0(k))/f0(k)))<=0.001) %罚因子迭代收敛条件a(k+1) %输出最优点坐标,罚因子迭代次数,最优值b(k+1)kf0(k+1)break;elsem(k+1)=c*m(k);endend方法二:外点梯度法:clcm=zeros(1,50);a=zeros(1,50);b=zeros(1,50);f0=zeros(1,50);syms d x1 x2 e;m(1)=1;c=10;a(1)=0;b(1)=0;f=x1^2+x2^2+e*(1-x1)^2; f0(1)=1;fx1=diff(f,'x1');fx2=diff(f,'x2');for k=1:100x1=a(k);x2=b(k);e=m(k);for n=1:100f1=subs(fx1);f2=subs(fx2);if(double(sqrt(f1^2+f2^2))<=0.002)a(k+1)=double(x1);b(k+1)=double(x2);f0(k+1)=double(subs (f));break;elseD=(x1-d*f1)^2+(x2-d*f2)^2+e*(1-(x1-d*f1))^2;Dd=diff(D,'d'); dd=solve(Dd); x1=x1-dd*f1; x2=x2-dd*f2;endendif(double(sqrt((a(k+1)-a(k))^2+(b(k+1)-b(k))^2))<=0.001)&&(double(abs((f0(k+1)-f0(k))/f0(k)))<=0.001) a(k+1)b(k+1)kf0(k+1)break;elsem(k+1)=c*m(k);endend2,点法求下列问题的最优解内点牛顿法clcm=zeros(1,50);a=zeros(1,50);b=zeros(1,50);f0=zeros(1,50);syms x1 x2 e;m(1)=1;c=0.2;a(1)=2;b(1)=-3;f=x1^2+x2^2-e*(1/(2*x1+x2-2)+1/(1-x1)); f0(1)=15;fx1=diff(f,'x1');fx2=diff(f,'x2');fx1x1=diff(fx1,'x1');fx1x2=diff(f x1,'x2');fx2x1=diff(fx2,'x1');fx2x2=diff(fx2,'x2');for k=1:100x1=a(k);x2=b(k);e=m(k);for n=1:100f1=subs(fx1);f2=subs(fx2);f11=subs(fx1x1);f12=subs(fx1x2);f21=subs(fx2x1);f22=subs(fx2x2);if(double(sqrt(f1^2+f2^2))<=0.002)a(k+1)=double(x1);b(k+1)=double(x2);f0(k+1)=double(subs (f));break;elseX=[x1 x2]'-inv([f11 f12;f21 f22])*[f1 f2]';x1=X(1,1);x2=X(2,1);endendif(double(sqrt((a(k+1)-a(k))^2+(b(k+1)-b(k))^2))<=0.001)&&(double(abs((f0(k+1)-f0(k))/f0(k)))<=0.001) a(k+1)b(k+1)kf0(k+1)break;elsem(k+1)=c*m(k);endend。
罚函数法

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 )} 收敛,设
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(4)应注意的问题
(a) 在step2中,可用无约束优化问题的算法求解
min
x R n
k
(
x
)
f ( x ) k p( x )
(b) 在实际计算中,判断x* (k ) D 用 g j ( x* (k )) ( j 1,2,, m)或 k p( x) .
(c)
k 1 k
x
)
算法步骤相同
(8) 算法收敛性:
f(x ) f(x )
k 1
k
p(x ) p(x )
k 1
k
k(1 x ) (k x )
k 1
k
结论 1. 若点列{ x } 是由外点法产生的,则有 k
列 { x }的任何极限点一定是所求问题的极小点。 k
都是 R 上的连续函数,则由外点法产生的点 n
解:构造增广函数k ( x)如下: k ( x) (x 1)2 k min2{ x 2,0}
( x 1)2
(x 1)2 k ( x 2)2
if x 2 if x 2
dk (
dx
x)
(2 x 1)
(2 x 1)
2k
(
x
因子的缩小系数), k : k 1,转 step 2。
(4) 例子:试用内点法(内部惩罚函数法)求解如下优化问题 min f ( x) 1 x3 3 s.t. x 1 0
解:构造增广函数 k ( x)如下:
k(x)
x3
k
1 x1
由
d k ( x)
dx
x2
k
(2)q( x) if x D
例如:q( x)
m
1
或
q( x)
m
1
等;
j1 g j ( x)
j1 g2 ( x)
j
m
q( x) ln
1
j1 g j ( x)
或
q(
x)
m
j 1
ln
g
j
(
x)
等。
通常称:
k ( x):增广函数, q( x): 障碍函数, k: 惩罚因子, kq( x):惩罚项。
g
1 j ( x)
得到其最优解x* (k ),记为 x k1。
step 3 . 如果 kq( x k1 ) , 则 x k1 就是问题
(A):min f ( x)的最优解,stop;否则转 step 4。 xD
step 4 . 给定 k1 k(可取 k1 k 这里 1 为惩罚
m in f ( x ) g( x ) 0
s.t . h( x ) 0
我们不难想到构造如下的惩罚函数
m
l
p( x ) (min{ g j ( x ),0 } )2 ( hk ( x ) )2
j 1
k 1
m
l
min2{
j 1
gj(
x
),0 }
h2 (
(2)算法思想
内点法(障碍函数法)的迭代点是在可行域 点集内部移动的,对接近可行域边界上的点施加 越来越大的惩罚,对可行域边界上的点施加无限 大的惩罚,这好比边界是一道障碍物,阻碍迭代 点穿越边界。
内点法要求可行点集的内点集合非空,否则 算法无法运行。这样一来内点法只对不等式约束 的优化问题才可能有效。
所以可设
m
m
p( x) (min{g j ( x),0})2 min2{g j ( x),0}
j 1
j1
显然 p( x) 满足恰前面的条件(1)和(2)。
结论 1:如果 gj ( x)(j 1,2,, m)连续,那么p( x) 也连续。
事实上,只须注意:
min{ f1( x),
f2 ( x)}
f1(x)
f2(x) 2
f1(x)
f2(x)
结
论
2
:如
果
(1
)
问
题
(B):
min
xR n
k
(
x
)
有
最
优
解
x
*
(
k
)
;
(2) x* (k ) D ,即g j ( x* (k )) 0(j 1,2,, m)。
则
x
*
(k)也
是问题
(A):min xD
结论 2. 设 f ( x)、g(j x)( j 1,, m) 都是 R 上的 n
练 习:
1、复习外点法和内点法,掌握外点法
的算法思想和其特点。
2、要求能用外点法去解决实际问题。
3、对于一个简单的实例,能够用外点法 进行手工计算。
所以x D,有 f ( x*(k )) f ( x*(k )) k p( x*(k ))
(x*( ))
k
k
(x) k
f (x) p(x) k
f (x)
所以 x* ( )是问题max f ( x) 的最优解。
k
xD
(3)算法步骤(外点法):
step 3 :如果 x* (k ) D ,即 g j ( x* (k )) (j 1,2,, m),
则
x
*
(k)就
是问题
(A):min xD
f
( x)的最优解,stop;
否则转 step 4.
step
4
:给
定
k
1
(可取
k
k 1
k
这里
1 为惩罚
因子的放大系数), k : k 1, 转 step 2.
(3) 算法分析
考虑如下优化问题:
min f ( x) s.t. gi ( x) 0 , i 1,,m
转化为无约束优化问题:
min
xR n
k
(
x
)
f ( x) kq( x)
1 2 k 0
构造函数 k(x) f ( x) kq( x),
其中q( x) 满足 : (1)q( x) 0 if x int D
在算法中,一开始
不宜取的过大。否则会造成
k
无约束优化问题min x R n
k
(
x
)求解困难(
k
越大,
k ( x )的Hesse矩阵的条件数越坏)。
(d ) 通常称:
k ( x):增广函数, p( x): 惩罚函数 k: 惩罚因子, k p( x):惩罚项
(6) 例:试用外点法(外部惩罚函数法)求解如下优化问题 min f ( x) ( x 1)2 s.t. x 2 0
由此可以得到:
x* lim xk1 lim 1 (1
k
2 k
1 4
k ) 1
(5) 算法收敛性:
k(1 x ) (k x )。
k 1
k
结论 1. 若点列{ x } 是由内点法产生的,则有
k
的任何极限点一定是所求问题的极小点。
连续函数,则由内点法产生的点列{ x } k
step1. 给定初始点x0,初始惩罚因子1 (0 可取 1 1), 精度 0, k : 0。
step2.以 xk 为初始点,求解无约束优化问题
m
mi n xRn
k
(
x)
f
(
x
)
k
p(
x
)
f ( x) k min2 ( g j ( x),0) j 1
得到极小点为x* (k ),记为 xk1 .
f(x)
(2)算法分析
min
xD
f
(
x
)
min
x R n
1 (
x
2(
x
)
min
x R n
k
(
x
)
1 2 k
如何构造 (x)? k
( x)满足: ( x) f ( x) x D
k
k
( x) f ( x) x D且 ( x) (k )
结论 2. 设 f ( x)、g(j x)( j 1,, m)和h(k x)(k 1,, l)
5、内点法(障碍函数法) (1)集合结构
D
int D
D D int D 边界点集内点集
D { x | 至少存在一个 j , 使得 g j ( x) 0}; int D {x | g j ( x) 0 , j }。
k
k
则可取:k ( x) f ( x) k p( x) ,
其中 p( x) 满足 (1)p( x) 0 x D ; (2)p( x) 0 x D。
这样一来,我们只需构造 p(x),事实上,
因为 g j (x) 0 min{g j ( x),0} 0 min2{g j ( x),0} 0
2)
由 dk ( x) 0 可得:
dx
(2 x 1) 2k ( x 2) 0
if x 2 if x 2
所以
xk
x*
(k
)
1 2k 1 k
D
这
就
是
对
于
固
定
的
,
k
问
题