可行方向法

合集下载

可行方向法_143802687

可行方向法_143802687
第十二章
Zoutendijk可行方向法
一.线性约束的情形
可行方向法
min f ( x) s.t. Ax b Ex e
(1)
其中f ( x)可微,Amn,El n,xn1,bm1,el1 S {x | Ax b, Ex e} 可行域
f ( x),设x E 是任给一点, 定义: 对 min n
min f ( x ) s.t. Ax b Ex e
设x 是问题(1)的可行解, 在x 点处, 有 定理1: A1 x b1 , A2 x b2 A1 b1 其中A , b , 则非零向量d是x 处的可行方向 A2 b2 的充要条件是A1d 0, Ed 0. min f ( x )
(0, 0) ,
T
2 1
2 2
1 1 1 5 A 1 0 0 1
x (1)
T
f ( x) (4 x1 2 x2 4, 4 x2 2 x1 6)
第一次迭 代
1 0 1 1 0 2 A1 0 1 , A2 1 5 , b1 0 , b2 5 , fk )
其中max
问题(1)初始可行解的确定
引入人工变量(向量)和,解辅助线性规划问题:
l m min i i i 1 i 1 s.t. Ax b Ex e , 0
如果有最优解( x , , ) ( x ,0,0), 则x 为(1)的一个可 行解。
证明:“ ”d 是x 处的可行方向,则 0,对 (0, ), 有 A( x d ) b, E ( x d ) e A1 ( x d ) b1 , Ex Ed e x 为可行解,且A1 x b1,Ex e, A1d 0, Ed 0, 0, A1d 0,Ed 0。

可行方向法简介

可行方向法简介
用约束, ,它们对应的系数矩阵分别记为 A1 , A2 ,通过运算 (3)可简化为
min f ( x k + λd k ) s.t. A2 x k + λA2 d k ≥ b2 (4)
λ≥0
由 ( 4 ) 的 约 束 可 求 出
λ
的 上 限
λmax

ˆ = b − A x k ,d = A d k ˆ 令b 2 ,于是 2 2
考虑问题
min f ( x) s.t. Ax = b x≥0
为 S = {x | Ax = b, x ≥ 0} 。 1. 近似线性化和可行下降方向
(5)
其中 A为 m × n 行满秩,b ∈ R m , f 为连续函数,并记可行域
设迭代点 x k ∈ S , 利用 Taylor 公式得到 f 在点 x k 处的线性 近似
处的可行方向的充要条件是 A1d ≥ 0, Ed = 0 。
因此,在 Zoutendijk 可行方向法中,确定搜 ∇f ( x)T d s.t. A1d ≥ 0 Ed = 0 -1 ≤ d j ≤ 1 , j = 1,
必定小于或等于零。
,n
(2)
在(2)中,显然 d = 0 是可行解,故目标函数的最优值
k
满足停机条件。 常用方法: Zoutendijk 可行方向法; 既约梯度法; Rosen 梯度投影法;Frank-Wolfe 方法
一. Zoutendijk 可行方向法(1960) 考虑线性约束问题
min f ( x) s.t. Ax ≥ b Ex = e
(1) 利用起作用约束构造可行下降方向
(1)
(6)
去掉目标函数中的常数项, (5)等价于 (7)
y k ,则由线性规划的基本知识 假设此问题存在有限最优解

可行方向法梯度投影法

可行方向法梯度投影法
迭代步长
Topkis – Veinott 全约束可行方向法 搜索方向
迭代步长
梯度投影法
g (x)
2
2
0 2
f (x)
g (x)
1
1
0 1
f (x) g (x) g (x)
1
1
2
2
0, 0
1
2
g2 (x) 0
P
2
g2 (x)
f (x)
x* g1(x)
g1(x) 0
g (x)
2
2
0 2
f (x)
g (x)
1
1
0 1
g (x) 1
f (x) g (x) g (x)
1
1
2
2
0, 0
1
1
f (x) g2 (x) 0 g2 (x)
P
2
P
g1 (x)
g1(x) 0 f (x)
解析搜索法:梯度投影法
f (x(k1) ) f (x(k ) ) T f (x(k ) )dk l
f (x(k ) ) T f (x(k ) ) dk f (x(k ) ) T f (x(k ) ) x dk
l
x l
解析搜索法:梯度投影法
解析搜索法:梯度投影法
解析搜索法:梯度投影法
搜索方向需要满足旳条件:
T f (x(k ) )xk 0 Axk b Exk 0
目旳函数下降旳条件: 约束条件:
可行方向法
f (x(k1) ) f (x(k ) ) T f (x(k ) )xk f (x(k1) ) f (x(k ) ) T f (x(k ) )dk
二次规划
f (x(k1) ) f (x(k ) ) T f (x(k ) )xk 1 TxkT f (x(k ) )xk 2

最优化:可行方向法

最优化:可行方向法
x xtdD 其t中 由线性搜索产生的步长
2.线性搜索—计算步长
为确保
x x tdD 关于t的计算, 我们考虑三种情:形
情 1 : i形 I(x )及 j E ,
由于 aiTd 0,i I(x) aTj d 0,j E
对任意的 t 0,我们有 aiT (x td) aiT x taiTd bi, i I(x) aTj (x td) aTj x taTj d bj 0,j E
|| d ||1
情形1:f (x)Td 0,则d 0,
(13.2)
显然,d是f在x处的一个下降可行 ; 方向
情2形 : f(x)Td0,则 d0,这说x明 处在 不存在 可行,方 即向 线性系统:
f (x)T d 0
aiTd 0,iI(x) 无非零解
aTj d
0,
j E
x是问题(13.1) 的KKT点
最优化:可行方向法
本课件仅供大家学习学习 学习完毕请自觉删除
谢谢 本课件仅供大家学习学习
学习完毕请自觉删除 谢谢
第十三章 约束问题算法(II) —— 可行方向法
一、Zoutendijk可行方向法 二、投影梯度法 三、既约梯度法
思想 构造可行点{序 xk}列 使得目标函数
列{f (xk)}单调下,降 且xk KK点 T
思想
取负梯度方向为搜索向方 ; 否则, 将负 梯度在可行方向集的影投作为搜索方
向, 即取负梯度在有效约的束梯度的零
空间的投影为搜索方 . 向
x 2 f (x)
xd ● D
o
x1
首先,我们介绍投影的概念:
定义13.2.1 设Rn是闭凸集.对xRn,若向量P(x) 满足:
||P(x)x|| min{||y-x|| | y} 则称P(x)是x在中的投影. 为计算向量在集合中 投的 影,我们引入投影矩. 阵

0418 可行方向法

0418  可行方向法

Page 7
ቤተ መጻሕፍቲ ባይዱ
经整理即为
2d1 d 2 3d3 4d 4 0 2d1 3d 2 d 3 2d 4 0 d1 3d 2 d 3 d 4 0
d1 0 T d ( d , d , d , d ) 满足上述不等式组的 均为可行方向. 1 2 3 4
现只求一个可行方向, 所以令不等式改为等号, 求解
2)若 x是D的边界点, 那么该点必位于某约
Page 4
束直线(曲面)上,记作 g k ( x) 0.
则与 g k ( x) 夹角小于90度方向都是该点的可行方向。
特殊地,当不等式约束函数为线性函数时,
则与g k ( x) 夹角小(等)于90度方向是该点的可行方向. 由 g k ( x) 0 知,此约束条件 g k ( x) 0 对x而言是有效
max
得到下一个迭代点 . 依次迭代下去, 直至求得最优解.
线性约束的Zoutendijk方法的计算步骤
Page 21
0 x Step1: 给定问题(LNP1)的初始可行点 , 令k 0. k T 在点 x 处把 A 和 b 分解成 A ( A , A ) , Step2: 1 2
b (b1 , b2 )T ,其中A1 x k b1 , A2 x k b2 . 计算f ( x k ).
条件可写为: u v 0, 即 v u ( ) 下面分两种情况讨论: (1) 若v 0, 则对任意 0, 式( )总成立.
(2)若v中至少有一个分量vi <0, 那么要使式( )成立, 应满足:
Min
ui vi 0 vi
Page 19
ui Min v i 0 vi

可行方向法

可行方向法

a1 , a2 ,, am 和 b 是 n

的向量 p
T ai p 0, i 1, 2,, m
T b p0
也满足
的充要条件是,存在非负数
i 1
m b i ai .
Farkas引理的几何解释:
1 , 2 ,, m
,使得
T
j I ( x).
I ( x)是x 起作用约束集
证明:充分性
d 设 x 是问题(1)可行解,满足定理条件。来自必要性: d 是可行方向
T 是 的下降方向,则有 d x f ( x) d ,因此 0
T d 从 x 出发,选择 ,应使f ( x) d越小越好。
所以规划问题: min f ( x)T d ,
设可行域D R , x D, 若存在非零向量
n
d R , 存在 0, t (0, ),均有
n
x td D, 则称d为x的可行方向。
d
D
1
x
d
Farkas引理:
首先介绍两个引理,这两个引理本身在最优化理论中 处于很重要的地位。
引理4.7(Farkas) 设 向量,则满足
(1)
min f ( x),
T T
x Rn i 1,, l j 1, , m
s.t. i x bi 0
j x bj 0
(1’)
定理:设
x 是约束问题的可行点,则 d 为
x 可行方向的充分必要条件是:
iT d 0, i 1,2, l
j d 0,
可行方向法
1、可行方向的两个相关结论
d是x D的可行方向 , 则gi ( x)T d 0 i I ( x)

最优化可行方向法

最优化可行方向法

最优化可行方向法最优化问题是数学中的一类重要问题,目标在于找到使得目标函数取得最大或最小值的变量取值。

可行方向法是一种常用的最优化算法,它通过在每个迭代步骤中确定一个可行方向,并将变量值沿该方向进行调整,逐步逼近最优解。

可行方向法的核心思想是从当前解的邻域中选择一个可以改进目标函数的方向。

具体而言,它通过计算目标函数的梯度(或是次梯度)来确定一个可行方向,并沿该方向对解进行调整。

这个过程可以反复迭代,直到满足终止条件为止。

在可行方向法中,选择合适的可行方向是一个关键问题。

一种常用的方法是梯度下降法,它使用目标函数的梯度方向作为可行方向,以减小目标函数的值。

另一种常用的方法是牛顿法,它使用目标函数的海森矩阵(Hessian Matrix)作为可行方向,以更快地逼近最优解。

可行方向法的具体步骤如下:1.初始化变量的取值。

2.计算目标函数在当前解的梯度或次梯度。

3.判断是否满足终止条件。

如果满足,结束迭代,输出当前解;否则,继续下面的步骤。

5.根据可行方向,计算变量的调整量。

6.更新变量的取值。

7.转到步骤2可行方向法的收敛性分析是一个重要的研究课题。

对于一般的最优化问题,如果目标函数是Lipschitz连续可微的,并且可行解集是非空、有界的,则可行方向法在有限步后可以找到一个近似最优解。

但对于非凸问题或非平滑问题,可行方向法的收敛性可能会有所不同。

除了梯度下降法和牛顿法外,可行方向法还有其他的变种,如共轭梯度法、拟牛顿法等。

这些方法在选择可行方向和调整变量值的方式上有所差别,但其基本思想仍然是寻找使目标函数得以改进的方向。

在实际应用中,可行方向法通常结合其他算法一起使用,以充分发挥各种算法的优势。

例如,可以使用可行方向法寻找一个大致的最优解,然后再使用更精确的算法对该解进行优化。

总之,可行方向法是一种重要的最优化方法,它通过选择合适的可行方向来逼近最优解。

尽管不同的变种方法有所差异,但它们的核心思想都是通过迭代调整变量值来逐步逼近最优解。

可行方向法

可行方向法

tb 0 3 tc 0
6a 6ta 3b 5ctc 0 tb 5 0
所确定的可行域,任求一个 在点x (5, 0, 3) 处的可行方向.
设 所 求 可 行 方 向 d (a , b, c )
T
0, s .t . t [0, ] x td (5 ta , tb , 3 tc )
(0)
x
(1)
x
(0)
2 1 10(2 ) 12
d
*
0 0 0 2 1 2
2 0
使得f (x
(0) *
4 0, 5
2
m in f ( x ) d
(1) T
(k )
dk
(k )
f (x( k 1)) 源自f (x)非线性的
m in f ( x ) f ( x ') f ( x ') ( x x ')
T
s .t .
(k )
Ax b Gx c
A1 b1 A b A2 b2
min x1 4 x 2
2 2
s .t .
1 15 15 x1 10 x 2 12 A 1 x1 0 0
x1 x 2 1
1
x2 0
10 0 1
min f ( x
(0) T
) d
s .t . A2 d 0 1 di 1
k 0 取x
(0)
(0, 2)
(0)
T
T
min 16d 2 s.t. d1 0 1 d1 1 1 d2 1

第四章 非线性规划5-可行方向法

第四章 非线性规划5-可行方向法

第五节 可行方向法(FDM )可行方向法是用梯度去求解约束非线性最优化问题的一种有代表性的直接探索方法,也是求解大型约束优化设计问题的主要方法之一。

其收敛速度快,效果较好,适用于大中型约束最优化问题,但程序比较复杂。

可行方向法(Feasible Direction Method)是一种直接搜索方法,其搜索方向的获取利用了目标函数和约束函数的梯度信息。

用目标函数的梯度可以得到目标函数值的下降方向,而利用约束函数的梯度则可以得到可行的搜索方向。

因此,可行方向法的搜索方向实质上是既使目标函数值下降,同时又可行的方向,即可行下降方向。

满足这一条件的方法就称为可行方向法。

一、基本原理当求解目标函数的极小值min () ..()0 1,2,3,nu f X X R s t g X u m ⎧∈⎨≤=⎩ 当设计点()k X 处于起作用约束i g 上时,下降可行方向S 必须同时满足条件: ()0T k i S g X ∇≤()0T k S f X ∇<由于于多数非线性规划的最优点都处在可行区的约束边界上或者几个约束边界的交点上,因此最优搜索如能沿着约束边界附近进行,就有可能加速最优化搜索的进程。

按照这一基本思路,在任意选定—初始点后到最后得到最优点必须解决三个问题: 一是如何尽快使最优搜索从初始点到达约束边界二是到达边界后怎样判断所找到的边界点是否是最优点;三是如果边界点经判断不是最优点,那么下一步应如何进行最优搜索。

二、如何从初始点尽快到达边界在任意选定初始点0X 之后,首先判断0X 是否为可行点,若是可行点,则选择目标函数的负梯度方向作为下一步的搜索方向。

若是非可行点,则选择目标函数的梯度方向为搜索方向。

搜索的步长可采用试探的方法逐步缩小,直到最后到达边界。

如图5-13表示了初始点为可行点时的搜索过程。

从初始点0X 出发沿0()f X -∇方向,取步长为t ,进行搜索,得到1X100()X X t f X =-∇若1X 仍在可行区内,则把步长加大一倍继续搜索得到2112()X X t f X =-∇若1X 仍在可行区内,则把步长再加大一倍继续搜索,如此方法得到新点只要仍在可行区内,则加大步长只到得到的点进入非可行区。

最优化方法 第三章(可行方向法)

最优化方法  第三章(可行方向法)
gi ( x k )T d * * 0 ,
又 f ( x k )T d * * 0,
d * 是可行下降方向。
改进方法具有全局收敛性。
一、Zoutendijk法
Frank Wolfe 方法 min f ( x )
给定线性规划问题
Ax b s .t . x0
f ( x k )T d k 0 gi ( x k )T d k 0 , i I ( x k )
1 di 1, i 1, 2,
,n
������ = 0 , 则 ������ ������ 处不存在可行下降方向 , ������ ������ 已是 ������−������ 点. 有例子表明上述方法不一定收敛到 ������−������ 点,即总有������ < 0 .
如果可行点为内点, 可取������ = −������������(������ )计算。
一、Zoutendijk法 非线性约束模型的可行方向确定方法
min s.t.
z f ( x )T d z 0 gi ( x) d z 0, i I
T
一、Zoutendijk法 线性约束模型的可行方向
min f ( x ) Ax b s .t . Cx e
紧约束
A1 b1 定理 设 x D ,在点 x 处有 A1 x b1 , A2 x b2 , 其中A , b , A2 b2 则非零向量 d 是 x 处的可行方向的充分必要条件是
定理 设 f ( x )可微, x k D, 如果y k 是上述线性规划的最优解,则有
(1) 当f ( x k )T ( y k x k ) 0时 , 则x k 是(1)的K -T点;

最优化:可行方向法

最优化:可行方向法

若情形3 不存在, 自然令 t max 然后我们通过求解 min f ( x td )
0t tmax
来计算步长 t. 在上面分析的基础上, 我们得到如下的可行方向法 :
算法13.1 (Zoutendij k算法) 步0 : 选取初始点x0 D, 精度 0.令k : 0; 步2:求解下列关于 d 的线性规划问题 min s.t. f ( xk ) T d aiT d 0, i I ( xk ) aT j d 0, j E || d || 1 得解d k 步3 : 若 | f ( x k ) T d k | , 则得解xk , STOP. 否则转下一步. 步4:由(13.3) 计算t max , 其中x x k , d d k . 求解
考虑到(1)和(2), 我们先介绍线性约束问题的可行 方向法, 然后将其适当推广到非线性约束问题.
第一节 Zoutendijk 算法
一. 线性约束情形
考虑线性约束问题 min f ( x) s.t. g i ( x ) aiT x bi 0, i I h j ( x) a T j x b j 0, j E 记可行域 D {x | g i ( x ) 0, i I ; h j ( x ) 0, j E } x D, 在x处的有效集为 A( x ) I ( x ) E {i | g i ( x ) 0, i I } E (.)
1、下降可行方向
由于(13.1)的约束是线性的, x D, 在x处的可行方向集 S ( x ) {d R n | aiT d 0, i I ( x ); a T j d 0, j E} 而在x处的目标函数的下降方向满足: f ( x ) T d 0 因此, 在x处, 我们通过求解下列线性规划问题来计算下 降可行方向 :

12可行方向法

12可行方向法
T T
a i d 0 , i I ( x ); f ( x ) d 0
T
则 d 是可行下降方向
.
可行方向法思路:
从当前迭代点 x 出发,沿着可行下降方 ˆ x , 使得 向 d 搜索,
得到一个新的可行点
ˆ f (x) f (x)
问题:可行下降方向d不唯一,怎么选择? ----选择目标函数值下降最快的方向
(k )
D,d
(k )
是x
(k )
处的可行下降方向,令
x x
(k )
d
(k )
考虑约束条件
T T
d
(k )
是问题 ( 1 )或 ( 2 )或 ( 3 )的解
bi a i d
T (k )
a i x bi a i x a i x bi a i x
T T
(k )
0, 0,
定理 1
.
线性化可行方向
件是
设 x D , 则 d 为 x 处的可行方向的充要条 a i d 0, i E ;
T T
a i d 0 , i I ( x ).
定义 2
设 x D , 若 d 是 x 处的可行方向,又是 .
x 处的下降
方向,则称 d 是 x 处的可行下降方向
若 d 满足 a i d 0, i E ;
T
a 3 x b3 x1 0,
T
a 4 x b4 x 2 0,
T
取初始点 x
(1 )
( 0 ,0 ) .
T
二、投影梯度法 无约束问题最速下降法:任取一点,若其梯度不为0,则沿 负梯度方向前进,总可以找到一个新的使函数值下降的点。 对约束问题,若再沿负梯度方向前进,可能是不可行的; 解决方法:把负梯度方向投影到可行方向上去! 1.投影矩阵

最优化理论与算法 第12章 可行方向法

最优化理论与算法 第12章 可行方向法

怎样确定k ?k的取值原则有两点: 第一,保持迭代点x(k) kd (k)的可行性;
第二,使目标函数值尽可能减小。
根据上述原则,可以通过求解下列一维搜索问题来确
定步长:
min f (x(k) d k )
s.t. A(x(k) d k ) b
E(x(k) d k ) e
(12.1.15)
0
2020/12/20
最优化理论
2
Ch12 可行方向法
1 Zoutendijk可行方向法 2 Rosen梯度投影法 3 Frank-Wolfe法 4 既约梯度法
2020/12/20
最优化理论
3
1. Zoutendijk可行方向法
2.1 线性约束情形
考虑NLP问题 min f (x)
s.t Ax b (12.1.1) Ex e
(12.1.7)
2020/12/20
最优化理论
7
1. Zoutendijk可行方向法
(12.1.6)和(12.1.7)即
A(xˆ d ) b (12.1.8)
又由Ed 0及Exˆ e可知
E(xˆ d ) e (12.1.9)
由上可知,xˆ d是可行点.因此d是xˆ处的可行方向.
于是,如果非零向量d同时满足 f (xˆ)T d 0, A1d 0, Ed 0
2020/12/20
最优化理论
9
1. Zoutendijk可行方向法
Th12.1.2考虑问题(12.1.1),设x是可行解,在点x处有
A1x b1, A2x b2,其中
A
A1 A2
,
b
b1 b2
则x为KKT点的充要条件是问题(12.1.10)的目标函数

许金伟-可行方向法

许金伟-可行方向法
_ _ _ _
(1)如果 0,那么 x 是KT 点; (2)如果 0,不妨设i <0,那么先从A1去掉i所对应 的行,得到新的 A1 ,然后令 ~ ~ _ ~ ~ T ~ ~ T ~ ~ A 1 M 1 , P I M ( M M ) M , d P f ( x ), E 那么,d 是下降可行方向。
其中f ( x), gi ( x)是连续可微的函数
可行方向法
基本概念
有效约束:起到限制性作用的约束; 可行方向:当前点 xk 是在可行域内的点,沿d方向迭代后的新的 点 xk 1
xk d 也是可行域内的点,则搜索方向成为可
行方向; 可行下降方向:使目标函数下降的可行方向,称为可行下降方向。
I ( xk ) {i | gi ( xk ) 0}.
k 若 I ( xk ) 且 f ( x ) 1 ,停算,得到近似极小点
xk
;否则,
k 若 I ( xk ) ,但 f ( x ) 1 ,则取搜索方向dk f ( xk ) ,转步
4。反之,若 I ( xk ) ,转步2. 步2 步3 步4 求解线性规划问题,得最优解dk 和最优值 zk . 若 zk 2 ,停算,输出 xk 作为近似极小点;否则,以 dk 作 首先由式(3)计算,然后做一维搜索
为搜索方向,转步4.
min f ( xk dk )
s.t .
0

求得最优解 k 。 步5 置 xk 1 xk k dk , k k 1, 转步1.
目录
基本思想
Zoutendijk可行方向法
线性约束下的可行方向法 非线性约束下的可行方向法 梯度投影法 简约梯度法

第7-1节可行方向法节

第7-1节可行方向法节

(k )
+ λ D ( k ) ) ≥ 0, j = 1, 2,L , l}
(6)令 X ( k +1) = X ( k ) + λk D ( k ) , k := k ) 2 ) 节 有约束非线性规划
例3 用可行方向法解下述非线性规划问题 2 max f ( X ) = 4 x1 + 4 x2 − x12 − x2 x1 + 2 x2 ≤ 4 解:化为标准形
0 4 4λ 从而 X (1) = X (0) + λ D (0) = + λ = 0 4 4λ (1) 将其代入约束条件,并令 g1 ( X ) = 0, 解答 λ = 1 3.
取初始可行点 X (0) = (0, 0), f ( X (0) ) = 0
2 min f ( X ) = −4 x1 − 4 x2 + x12 + x2 g1 ( X ) = − x1 − 2 x2 + 4 ≥ 0
由于 ∇f ( X (0) ) = (−4) 2 + (−4) 2 = 32,
2
所以不是(近似)极小点.现取搜索方向
D (0) = −∇f ( X (0) ) = (4, 4)T
4 3+ λ 由此 X (2) = X (1) + λ D (1) = 4 3 − 0.7λ
f ( X ( 2) ) = 1.49λ 2 − 0.4λ − 7.11
其最优解为 y1 = 2, y2 = 3 10, y3 = 4 10, y4 = y5 = y6 = 0,
y7 = 7 10, y8 = 0.
d f ( X (2) ) = 2.98λ − 0.4 = 0, 得λ = 0.134, dλ 4 3 + 0.134 1.467 暂取 λ1 = 0.134, 得 X (2) = = 4 3 − 0.7 × 0.134 1.239 令

一、可行方向法的基本思想可行方向...

一、可行方向法的基本思想可行方向...

第7章约束问题的优化方法第一节可行方向法第一节可行方向法一、可行方向法的基本思想可行方向法可看作无约束下降迭代算法的自然推广:从可行点出发,沿着下降可行方向进行搜索,求出使目标函数值下降的新的可行点。

考虑最简单的情况,只含线性约束的非线性规划:(1)为非线性函数,。

若所有约束都是线性约束,则优化问题(1)的可行方向集、线性化可行方向集以及序列化可行方向集是等同的。

对于线性约束的非线性规划问题。

搜索方向选择方式不同形成不同的可行方向法:(1)Zoutendijk可行方向法(2)Rosen梯度投影法(3)Wolfe既约梯度法可行方向的判定:定理1:设是问题(1)的可行解,在点处有,,其中则非零向量为处的可行方向的充要条件是证明——必要性:设非零向量是处的可行方向。

根据可行方向的定义,,使得对每个,有为可行点,因此,,,即由于,因此,。

又由,以及,得到。

充分性:设,。

由于,则,使得对于所有的,成立。

根据假设及,得到。

上述两式组合起来就是。

又由及可知表明是可行点,因此是处的可行方向。

二、Zoutendijk可行方向法(一)Zoutendijk子问题根据定理1,如果非零向量同时满足,,,则是处的下降可行方向。

Zoutendijk子问题给出了一个搜索方向:(2)问题(2)的意义就是:保证可行移动的同时,寻找一个下降最快的方向。

显然是可行解,因此目标函数最优值必定小于或等于零。

若目标函数最优值小于零,则得到下降可行方向;否则,目标函数最优值为零,是KKT点。

定理2:考虑问题(1),设是可行解,在点处有,,其中。

则为KKT点的充要条件是问题(2)的目标函数最优值为零。

(二)一维搜索步长的确定设为处一个下降可行方向,则迭代公式:的取值原则(1)保持迭代点的可行性;(2)使目标函数值尽可能减小。

根据上述原则,可以通过求解一维搜索问题来确定步长:(3)由于是可行方向,因此(3)式中等式约束自然成立,可以不再考虑。

而点处的不等式约束可分为起作用约束和不起作用约束:,。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

可行方向法摘要可行方向法是求解最优化问题的重要方法,在可行方向法求解过程中,一般需要构造一个求解可行下降方向的子问题,而可行方向法的不同取决于所采用的求解可行下降方向的子问题,它具有如下特点:迭代过程中所采用的搜索方向为可行方向,所产生的迭代点列是中在可行域内,目标函数值单调下降,由此可见,很多方法都可以归入可行方向法一类,本文主要介绍Frank-Wolf 方法。

一、问题形式min ().. 0f x Ax b s t x ≥⎧⎨≥⎩ (11.1)其中A 为m n ⨯矩阵,m b R ∈,n x R ∈。

记{},0,n D x Ax b x x R =≥≥∈并设()f x 一阶连续可微。

二、算法基本思想D 是一个凸多面体,任取0x D ∈,将()f x 在0x 处线性展开 000()()()()()T L f x f x f x x x f x ≈+∇-= 用min ().. 0L f x Ax b s t x ≥⎧⎨≥⎩ 或 0min ().. 0T f x xAx b s t x ∇≥⎧⎨≥⎩ (11.2)逼近原问题,这是一个线性规划问题,设0y D ∈是其最优解。

1)若000()()0T f x y x ∇-=,则0x 也是线性规划问题(11.2)的最优解,此时可证0x 为原问题的K-T 点。

2)若000()()0T f x y x ∇-≠,则由0y 是(11.2)的最优解,故必有0000()()T T f x y f x x ∇<∇从而 000()()0T f x y x ∇-<即00y x -为()f x 在0x 处的下降方向,沿此方向作有约束的一维搜索 00001min (())f x y x λλ≤≤+-设最佳步长因子为0λ,令100000000()(1)()x x y x y x D λλλ=+-=+-∈当λ充分小时100000001()min (())(())f x f x y x f x y x λλλ≤≤=+-≤+-00000()()()()()T f x f x y x o f x λλ=+∇-+< 用1x 取代0x ,重复以上计算过程。

三、算法迭代步骤1)给定初始点0x D ∈,允许误差0ε>,:0k =。

2)求解线性规划问题min ()k T x Df x x ∈∇,得最优解k y D ∈。

3)若()()k T k k f x y x ε∇-≤,Stop,*k x x ≈;否则go to 4)。

4)进行一维搜索01min (())k k k f x y x λλ≤≤+-,得最优步长因子k λ;令1()k k k k k x x y x λ+≈+-,:1k k =+,go to 2) 四、算法收敛性定理定理11.1设非线性规划问题(11.1)的最优解存在,且对算法产生的点列{}k x ,线性规划问题min ().. 0k T f x xAx b s t x ∇≥⎧⎨≥⎩ (11.3)的最优解总存在。

则1) 若迭代到某步0k ,有000()()0k k k T f x y x ∇-=,则0k x 为问题(11.1)的K-T 点; 2) 若情形1)总不发生,则算法产生一有界无穷点列{}k x ,其任意极限点都是原问题(11.1)的K-T 点。

证明:若情形1)出现,则0k x 也是问题(11.3)的最优解,故0k x 满足(11.3)的K-T 条件:00000000000()0()00,0,0,k T kT k T k k f x A u v u Ax b v x u v x Ax b ⎧∇--=⎪-=⎪⎨=⎪⎪≥≥≥≥⎩(11.4) 而(11.1)的K-T 条件:()0()00,0,0,T TTf x A u v u Ax b v x u v x Ax b ⎧∇--=⎪-=⎪⎨=⎪⎪≥≥≥≥⎩(11.5) (11.4)表明0k x ,0u ,0v 一起满足K-T 条件(11.5),故0k x 是原问题的K-T 点。

2)由点列{}k x 包含在D 的极点的凸组合中,而{}k y 均为D 的极点,故{}k x 、{}k y 均为有界点列。

设x ∞为{}k x 的任一极限点,即存在子列{}i k x ,使得: lim i i k k x x ∞→∞=注意到点列{}k x 满足:1()k k k k k x x y x λ+=+- 考虑点列{}i k y 、{}i k λ、1{}i k x +,不失一般性,设lim i i k k y y ∞→∞=, lim i i k k λλ∞→∞=, 11lim i i k k x x +∞+→∞=否则,可以通过反复抽取子序列,使上式对某个子序列成立。

由 i k y 是min ()i k T x Df x x ∈∇的最优解,故x D ∀∈,有()()i i i k k k T T f x x f x y ∇≥∇且 ()()0i i i k k k T f x y x ∇-<再由 (())(())i i i i i i i k k k k k k k f x y x f x y x λλ+-≥+- []0,1λ∀∈ 及 1()i i i i i k k k k k x x y x λ+=+-取极限,有 1()(),()()0(())(())()T T T f x x f x y f x y x f x y x f x y x x x y x λλλ∞∞∞∞∞∞∞∞∞∞∞∞∞∞+∞∞∞∞⎧∇≥∇∇-≤⎪+-≥+-⎨⎪=+-⎩(11.6)不等式组(11.6)等价于:011min ()()()()0min (())(())()T T x DT f x x f x y f x y x f x y x f x y x x x y x λλλλ∞∞∞∈∞∞∞∞∞∞∞∞∞∞≤≤∞+∞∞∞∞⎧∇=∇⎪⎪∇-≤⎪⎨+-=+-⎪⎪=+-⎪⎩ (11.7) 若能证明 ()()0T f x y x ∞∞∞∇-= 即x ∞为问题 min ()T x Df x x ∞∈∇的最优解,由本定理的第一部分可知,x ∞为原问题K-T 点。

下证:()()0T f x y x ∞∞∞∇-=,若不然,由(11.7)即知必有()()0T f x y x ∞∞∞∇-<故y x ∞∞-为x ∞处的下降方向,因而当λ充分小时,有 (())()f x y x f x λ∞∞∞∞+-<进而有: 1()()f x f x ∞+∞< (11.8) 但{()}k f x 为单调下降的有界序列,故lim ()k k f x →∞存在而且 lim ()lim ()()i i k k k k f x f x f x ∞→∞→∞==11lim ()lim ()()i i k k k k f x f x f x +∞+→∞→∞==即 1()()f x f x ∞∞+=与(11.8)矛盾,故必有()()0T f x y x ∞∞∞∇-=。

五、流程图min ()()11,k Tk T j i f X g X d ηη⎧⎪≤⎪⎨-⎪⎪-≤≤⎩η≤}n六、部分算法说明及代码编写目标函数文件myf.m如下:function f=myf(x)%目标函数f=4*x(1)^2+x(2)^2-32*x(1)-34x(2);编写约束函数文件mycf.m如下:function[c,ceq]=confun(x)%约束函数%非线性不等式约束c=[x(1);x(2);2-x(1);6-x(1)-2*x(2)];%非线性等式约束ceq=[];%初始条件x0=[0,0];%目标函数的梯度文件dmyf.mfunction g=dmyf(x)g=[8*x(1)-32;2*x(2)-34];%约束函数的梯度文件dmycf.mfunction [dc,dceq]=dmycf(x)dc=[-1;-2];dceq=[];然后在命令窗口输入如下命令:x0=[0;0];function Zoutendiijkclear;x0=[0; 0];A=[2.0 -1.0;1.0 1.0;-1.0 0.0;0.0 -1.0]; b=[1.0;2.0;0.0;0.0];c=0;m=0;while c<5c=c+1;k=0;j=0;m=m+1;for i=1:4c=A(i,:)*x0;if c>=b(i)-1e-3k=k+1;A1(k,:)=A(i,:);b1(k,1)=b(i);endif c<b(i)-1e-3j=j+1;A2(j,:)=A(i,:);b2(j,1)=b(i);endendif (length(A1(:,:))==0)breakend%pausef=dfx(x0);b1=[-1 -1];bu=[1 1];b0=zeros(size(b1));d=linprog(f,A1,b0,[],[],b1,bu)if(abs(d)<1e-5)breakenddd=A2*d;bb=b2-A2*x0;lamdmax=max(bb./dd);options=optimset('display','off');lamda=fminbnd(@(lamda)fun(lamda,d,x0),0,lamdmax,options) if (length(lamda(:))==0)breakendx0=x0+lamda*d;endx0=[0,1]';[x,fval]=fmincon(@ f1,x0,A,b,[],[],[],[],[],options); x,fvalfunction f=f1(x)f=x(1)^2+x(2)^2-2*x(1)-4*x(2)+6;endfunction f=fun(lamda,d,x)xx=x+lamda*d;f=xx(1)^2+xx(2)^2-2*xx(1)-4*xx(2)+6;function dfx=dfx(x)dfx=[2*x(1)-2,2*x(2)-4];end七、数值试验及结果分析Optimization terminated.d =1.00001.0000lamda =0.9999Optimization terminated.d =-1.00001.0000lamda =0.5000Optimization terminated.d =1.0e-009 *-0.7803-0.5941Warning: Trust-region-reflective algorithm does not solve this type of problem, using active-setalgorithm. You could also try the interior-point or sqp algorithms: set the Algorithm option to'interior-point' or 'sqp' and rerun. For more help, see Choosing the Algorithm in thedocumentation.> In fmincon at 472In Zoutendiijk at 49x =0.50001.5000 fval =1.5000。

相关文档
最新文档