约束极值问题
s.t. x y 4
2 2
考虑无约束问题 令 F 1 2 rx
x
2
min F ( x , y , r ) x y r ln( 4 x y )
2 2
4 x y 2 ry 4 x y
2
2
0, 0.
F y
1
2
解得
x y
r
约束极值问题
最优性条件
考虑函数约束问题
min f ( x ) s.t. g i ( x ) 0 , ( i 1, 2 , , l ) h j ( x ) 0 , ( j 1, 2 , , m )
集合 S { x | g ( x ) 0 , h ( x ) 0 }称为可行域(集),S 中任一点称为可行点。 定义:设 x S ,若gi(x)=0,则称该不等式约束 为关于可行点x的起作用约束(紧约束), 若gi(x)>0,称为不起作用约束。
min f ( x )
一、罚函数(外罚)法 罚函数定义:若函数p(x)满足如下三个条件 i) p(x)连续;ii) p(x)≥0; iii) p(x)=0的充要条件是 x S . 则称其为关于S的罚函数。 例如 对S={x|g(x)≥0,h(x)=0},则
p(x)
j 1
m
h j (x)
1 1 2 1
2
min
T
f ( x )d
A1 d 0 s .t . Ed 0 1 d 1 ( j 1, 2 , , n ) j
非线性约束问题 min s.t. 考虑 求一下降可行方向
min z s.t.
T T
f (x) g i ( x ) 0 , ( i 1, 2 , , l )
(k )
0
k
( k 1)
(k )
k
k
罚函数法
对约束最优化问题 s.t. x S 0, x S 设想定义一个新函数(惩罚) p ( x ) , x S 并考虑无约束问题 min f ( x ) p ( x ) 显然若x*是无约束问题的最优解,则必是 原问题的最优解。 p(x)不是普通的函数,不能直接实现,考虑 通过极限的方法来实现。 序列无约束极小化技术(SUMT)
例 用K—T条件,求解最优化问题
min( x 1 ) y
2
s.t. x y 2 y 0
K—T条件为
2 ( x 1) 1 0 0 u1 u2 1 1 1 0 u1 ( x y 2 ) 0 , u 2 y 0 , u1 0 , u 2 0 .
T
则d为x处的可行方向;若d是x处的可行方 向,则 g ( x ) d 0 , i I ( x )
T i
定理1 设x*是约束非线性规划问题的一个 局部极小值点,则x*处不存在下降可行方 向。若f(x), gi(x)在x*处可微,则不存在向 量d同时满足 f ( x *) d 0
A
T A x 0
g b
例 求解二次规划问题
min x 1 x 2 x 3
2 2
2
s.t. x 1 2 x 2 x 3 4 x1 x 2 x 3 2
法一:x3=-3x1,x2=2-2x1,化为无约束问题。 法二:写K—T条件,解线性方程组。 不等式约束情况 min f ( x ) x Gx g x c
2
i 1
l
g i ( x ),
g i ( x ) max{ 0 , g i ( x )}
是关于S的罚函数。
对无约束问题min f(x)+Mp(x),M为罚因子。 当M趋于无穷时,解逼近原约束问题的解. 算法(罚函数法) 定义p(x),取序列{Mk}满足Mk+1>Mk>0, M F(x,Mk)=f(x)+Mkp(x). Step0 取初始点x0,精度e>0,令k=1. Step1 计算min F(x,Mk)=F(xk,Mk) Step2 若Mkp(xk)<e,结束,以xk为原问题的 解;否则,令k=k+1,转Step1。
1 2 T T
s.t. Ax b
K—T条件为
Gx A u g
T
Ax w b u w 0
T
u 0, w 0.
可行方向法
线性约束的情况
min f ( x ) Ax b s .t . Ex e
定理:设 x 是问题的可行解,在 x 处有 A x b , A x b 则非零向量d是x 处的可行方向的充分必要 条件是 A d 0 , Ex 0 . 可通过如下线性规划问题求可行方向
m l f ( x *) j h j ( x *) u i g i ( x *) 0 j 1 i 1 u i g i ( x *) 0 , ( i 1, 2 , , l ) u i 0 .( i 1, 2 , , l ).
T
g i ( x *) d 0 , i I ( x *)
T
定理2 (不等式约束的K—T条件) 设x*是约 f 束非线性规划问题的局部最优解,, g , i I ( x *) g 在x*处可微, , i I ( x *) 在x*处连续,再假设 g ( x *), i I ( x *) 线性无关,则存在u ≥0,使得 i
x S
lim B ( x ) .
m
如对S={x|gi(x)≥0}, B ( x ) 都是S上的障碍函数。
1 gi (x)
, B ( x ) log g i ( x )
i 1
m
i 1
算法(障碍函数法) 定义B(x),取序列{rk}满足rk>rk+1>0, r 0 F(x,Mk)=f(x)+rkB(x). Step0 取初始点内点x0,精度e>0,令k=1. Step1 计算min F(x,rk)=F(xk,rk) Step2 若rkB(xk)<e,结束,以xk为原问题的解; 否则,令k=k+1,转Step1。
k
引理3 设rk>rk+1>0,{xk}由障碍函数法产生,则 i) F(xk,rk)≥F(xk+1,rk+1); ii) B(xk)≤B(xk+1); iii) f(xk)≥f(xk+1). 引理4 设x*是原约束问题的最优解,则有 f(x*)≤ f(xk)≤F(xk,rk). 定理 若{xk}由障碍函数法产生,则在一定的 条件下,{xk}收敛到原约束问题的解。 例 用障碍函数法求解优化问题 min x y
f ( x)d z 0
g i ( x ) d z 0 , ( i I ( x )) 1 d j 1.( j 1 ,2 , ,n )
算法 Step1 给定初始可行点x(0),令k=0; Step2 求上述线性规划问题的解,若z=0,结 束,否则得下降可行方向dk; Step3 沿dk作一维搜索 min f ( x d ) 令 x x d , k k 1, 转Step2。
I(x)={i|gi(x)=0}称为起作用约束指标集, J(x)={i|gi(x)>0}称为不起作用约束指标集. 可行方向(不等式约束的情况) 考虑问题 min f ( x )
s.t. g i ( x ) 0 , ( i 1, 2 , , l )
设gi(x)可微,若非零向量d满足
g i ( x ) d 0, i I ( x )
i i i
f ( x *)
u g
i i I ( x *)
i
( x *) 0 .
如果 g
i
, i I ( x *)
在x*处也可微,则可写为
包含等式约束的K—T条件
l f ( x *) u i g i ( x *) 0 i 1 u i g i ( x *) 0 , ( i 1, 2 , , l ) u 0 .( i 1, 2 , , l ). i
2 2 2 1 2 3
s.t. x 1 2 x 2 x 3 4 x1 x 2 x 3 2
考虑无约束问题 min x x x M ( x
2 2 2 1 2 3
1
2 x 2 x 3 4 ) ( x1 x 2 x 3 2 )
2
2
令梯度为零得
k
引理1 设Mk+1>Mk>0,{xk}由罚函数法产生,则 i) F(xk,Mk)≤F(xk+1,Mk+1); ii) p(xk)≥p(xk+1); iii) f(xk)≤f(xk+1). 引理2 设x*是原约束问题的最优解,则有 f(x*)≥F(xk,Mk)≥f(xk). 定理 若{xk}由罚函数法产生,则在一定的条 件下,{xk}收敛到原约束问题的解。 例 用罚函数法求解优化问题 min x x x
解得K—T点(1,0)。由于是凸规划问题,是 最优解。
二次规划
目标函数为二次函数,约束条件为线性的, 称为二次规划。二次规划的一般形式为
min f ( x ) s.t. A1 x b1 A2 x b2
1 2
x Gx g x c
T T
只有等式约束的情况 方法一:化为无约束的形式 方法二:Lagrange乘子法得 G
( 2 1 / M ) x1 x 2 2 x 1 ( 5 1 / M ) x 2 3 x 3 10 3 x2 (2 1 / M ) x3 6