第五章-02 投影梯度法
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2. Zoutendijk容许方向法 (Feasible Direction)
min f(x) s.t. Ax≥b Ex=e ARm×n,ERl×n,bRm,eRl,f: RnR1有一阶偏导数
定理 设 x是上述问题的一个容许点,适当调换A的行向量 与b的相应分量成 A' b' A A" , b b" 使得A' x b' , A" x b" 则非0向量d为从点 x 出发的容许方向的充要条件: A’d≥0,Ed=0
下降容许方向的进一步确定
在所有的可行方向中 找一个使得▽f( x )Td最小的方向
- )Td 意即:min ▽f( x s.t. A’d≥0 Ed=0
(即:使得f下降最多)
(1)求一个下降容许方向就转化为一个子问题的求解,
子问题是一个线性规划问题,可调用单纯形法求解.
(2)这个子问题得到的将是一个无界解,需对这个问题加以 修正. - )Td<0,A’d≥0,Ed=0 d满足▽f( x 则td也满足此三式,t可无穷大
求出在点x(0)=(1,1,0)T处的一个下降可行方向。 解 A’d≥0,Ed=0得到的d即为一个容许方向 0·d1+ 0·d2+ 1·d3 ≥0, 1·d1+1·d2+1·d3=0 再结合下降的要求 ▽f(x(0))Td<0即(-3,3,-12) d<0 即 -3d1+3d2-12d3<0 从而由d3 ≥0, d1+d2+d3=0 -d1+d2-4d3<0 解出一个d即为下降可行方向 比如(1,-1,0)T
(iv)若| ▽f(x(k))Td|<,则x(k) 即为最优解,stop.
(v)计算u=A”x(k)-b”,v=A”d(k) (vi)若v≥0,则作e.l.s.得x(k+1)=x(k)+tkd(k),置k:=k+1,转(ii) (vii)计算t’=min{ui/(-vi)|vi<0} 计算 min f(x(k)+td(k))
在x(0)处可看出它的有效约束:A’=(0,0,1),b’=(0) 解不等式:A’d≥0,Ed=0 0·d1+ 0·d2+ 1·d3 ≥0,1·d1+1·d2+1·d3=0 比如d=(1,-1,0)T就是一个容许方向(但未必是下降方向!)
例(自作)
考虑问题min x12+x1x2+2x22-6x1-2x2-12x3 s.t. x1+x2+x3=2 -x1+2x2 ≤3 x1,x2,x3≥0
可行方向法就是一种沿着下降容许方向搜索 并保持新的迭代点为容许点的迭代算法。
简要概述
可行方向法是求解约束问题的一类方法,
它一般从线性约束问题开始讨论, 然后在推广到非线性约束问题上去, 虽然理论上可行方向法对非线性约束问题有效, 但实际使用时,一般不使用可行方向法, (一个重要的原因就是工作量太大) 所以我们对于可行方向法的重点放在线性约束上。 (对非线性约束情形不作推广)
1 知识回顾
起作用约束(有效约束) 对容许点 x 来说,若有不等式约束si(x) ≥0变成 等式,即si( x )=0,则该不等式约束称为关于容许点 的一个起作用约束;若si( x )>0则称之为这个容许点 的不起作用约束。 x2 例:某问题的约束函数分别为: B s1(x)=1-x12-x22 ≥0 s2(x)=x1-x2 ≥0 · P s3(x)=x1 ≥0 x1 A s4(x)=x2 ≥0 易见:不等式约束关于容许集的任意内点都是不起作用约束 只有边界上的点才可能使得某个或某些不等式约束有效 T来说1,4为有效约束,2,3为不起作用约束 则对点 (1,0) 按照定义可见,任一等式约束关于容许点都是起作用约束
算法的终止准则
在迭代中得到K-T点则我们认为达到目的了。但若每得到 一个点x(k)就去验证该点是否满足K-T条件则又不现实. (因为那样将使得光为了检验就要耗去许多工作量) 由下面给出的定理可得到一个在机算中实用的终止准则: - 是容许点,A’,A”,b’,b”意义同前,A’与C的行向量 设x
线性无关(若有行使得相关则直接划去无碍),
容许下降方向d的数学表达式
f ( x*)T d 0 T s ( x *) d 0 i T h ( x *) d 0 i
iI
(1)如果某点x’不是极小点,则继续寻优时的搜索方 向就应该从该点的一个可行下降方向上去找(因为这 样就既保证函数值的下降,又能确保找到的好点是一 个可行的) (2)如果某点x*是一个极小点,则在该点就不会有容 许下降方向.
(k) (k)+td) min f(x +td) min min f(x(k) +td) 这也就是这样的一个一元问题: f(x (k) (k) (k)+td) s.t. A(xA(x +td) ≥b s.t. s.t. A”(x +td) ≥b” ≥b E(x(k)+td)=e (k) (k) 分析: A”(x +td) ≥b”,即A”x -b” ≥-tA”d 设A”x(k)-b”=u=(u1,…,u)T,A”d=v=(v1,…,v)T,从而要u ≥-tv 其次:对现在所得的这个一元问题还可简化 . 事实上 这个问题还可以简化: (k)+td),对t无要求; 当 v≥0时,显然问题变成 min f(x (k)+td) ≥b’,A”(x (k)+td) ≥b” (k)是容许点,d是容许方向 (k)+td)=e 不等式约束分为两部分: A’(x 首先 ,由 x , 知 :E(x 恒成立。 当v ≥0不成立即 v 有分量 <0, 而为使 u ≥ -tv ,i=1: 都成立 , i i (k) 由A’d≥0,A’x =b’知第一部分也可以直接去掉。 故上述问题中的第二组等式约束可以直接去掉。 就必须 t≤uj/(-vj),j{j|vj<0} 从而得一个约束已大大减少的一元问题 也就是:令t’=min{uj/(-vj)|vj<0} 从而一元问题就是 min f(x(k)+td) s.t. 0 ≤t ≤t’
(iv)计算u=A”x(k)-b”,v=A”d(k) (v)若v≥0,则作e.l.s.得x(k+1)=x(k)+tkd(k),置k:=k+1,转(ii) (vi)计算t’=min{ui/(-vi)|vi<0} 计算 min f(x(k)+td(k)) s.t. 0 ≤t ≤t’ 设得最优解为tk,x(k+1)=x(k)+tkd(k),置k:=k+1,转(ii) (注:(vi)与(v)相比并没有增加太大的工作量, 因为(vi)中不需要如(v)那样先确定一个极小区间。)
(复杂问题可采用单纯形法,此处图解法即得) 可得一个最优解为d(0)=(0,-1)T. 计算▽f(x(0))Td(0)≠0。所以继续计算。
(3)计算
u1 u2 u3 4 t ' min{ , , } v1 v 2 v3 5
s.t. 0 ≤t ≤t’
设得最优解为tk,x(k+1)=x(k)+tkd(k),置k:=k+1,转(ii)
例
min f(x)=x12+4x22 s.t. x1+x2≥1 15x1+10x2≥12 x1 ≥0 x2≥0
取初始容许点x0=(0,2)T 解
2 x1 f ( x ) 8x 2
进一步,对于等式约束, hi(x)=0 稍做等价变换:hi(x) ≥0, -hi(x) ≥0 可得相应结果。
▽hi(x’)Td=0
容许方向d的数学表达式
T s ( x *) d 0 i T h ( x *) d 0 i
iI
容许下降方向 方向d既是点x’处的容许方向,又是下降方向
基本迭代格式
(i)从容许点x(0)开始迭代,设已迭代到x(k)
(ii)在x(k)处用某种方法确定一个下降容许方向d(k)
(iii)在d(k)方向上寻找一个新的迭代点x(k+1)=x(k)+tkd(k),
使得x(k+1)是容许点且f(x(k+1))<f(x(k)) (iv)判断终止? (v)置k:=k+1,转(ii)
求出在点x(0)=(1,1,0)T处的一个可行方向。 解 这个问题的不等式约束有四个,从而可写出
1 - 2 0 1 A 0 1 0 0 0 3 0 0 , b ,同时易得E (1,1,1), e ( 2) 0 0 0 1
注 (1)利用这个性质,我们可通过解不等式组
Ad 0 Ed 0
来计算线性约束问题的容许方向 (2)利用这个性质,我们可通过解不等式组
f T ( x )d 0 Ad 0 Ed 0
来计算线性约束问题在点
x 的容许下降方向
例 考虑问题
min x12+x1x2+2x22-6x1-2x2-12x3 s.t. x1+x2+x3=2 -x1+2x2≤3 x1,x2,x3≥0
可行方向法 & 投影梯度法
(Feasible Direction Method & Gradient Projection Method)
南京邮电大学理学院 2008-05-12
数学模型
min f(x) s.t. s1(x) ≥0 …… sm(x) ≥0 h1(x)=0 …… hl(x)=0
求解算法分类 (1)将这种约束问题转化为无约束问题进行求解 (因无约束问题已有较好的求解方法比如BFGS,DFP等) (2)直接从这种约束问题出发来求解
第一次迭代
(1)在x(0)处仅第三个约束有效,故有
1 1 1 A" 15 10, b" 12 0 0 1
A’=(1 0),b’=(0)
(2)线性规划子问题 min ▽f(x(0))Td s.t. A’d≥b’ -1≤p1,p2≤1 即 min 16d2 s.t. d1 ≥0 -1≤d1,d2≤1
Zoutendijk算法(不完整) 已知f(x), ▽f(x),A,E,b,e (i)取一个初始容许点x(0),置k:=0; (ii)在x(k)处将A分解为A’,A”,相应地有b’,b”,使得 A’x(k)=b’,A”x(k)>b” (iii)求解线性规划子问题(确定可行下降方向) min ▽f(x(k))Td s.t. A’d≥0 Ed=0 -1≤dj≤1,j=1:n 得最优解设为d(k)
d 是求解线性规划子问题得到的x 处的下降容许方向,则:
- )T -=0 x 为K-T点的充要条件是▽f( x d
Zoutendijk算法 已知f(x), ▽f(x),A,E,b,e
(i)取一个初始容许点x(0),置k:=0; (ii)在x(k)处将A分解为A’,A”(从而也确定A”的行数比如为), 相应地有b’,b”,使得A’x(k)=b’,A”x(k)>b” (iii)求解线性规划子问题以确定可行下降方向: min ▽f(x(k))Td s.t. A’d≥0 Ed=0 -1≤dj≤1,j=1:n 得最优解设为d(k)
由于我们关心的是确定d的方向,而不是具体长度 所以,我们在上述问题中可加上对方向d的长度的限制 从而得子问题 - )Td min▽f( x s.t. A’d≥0 (*) Ed=0 -1≤dj≤1,j=1:n - )T0=0 ) 此子问题最优值必非正( 因d=0是容许解且▽f(x
直线搜索 从x(k)出发,确定新的迭代点x(k+1) 。使得: (1) 在下降容许方向d上目标函数值下降 (2) 新的点x(k+1)是一个容许点.
容许方向(可行方向) Rn中的一个非空点集D,x’D,若对某个非0向量d,存在 一个小正数,对t(0, ),总有x’+td D(容许方向只与 约束函数有关)
·x’ 容许方向的判定定理 设不等式约束问题的可行域为D={x|si(x) ≥0,i=1:m}
x’为任一容许点, 记I={i|si(x’)=0,i=1:m} 当iI,si(x)在x’处有一阶偏导数,且▽si(x’)Td ≥ 0 则d是x’处的一个容许方向 当iI,si(x)在x’处连续,