Zoutendijk可行方向法

约束条件一般有两种

ax - b = 0

ax - b <= 0

 

取可行初始点x1  x1满足所有的约束条件

取约束条件中所有<= 0 的约束条件,并判断他们是否为0

 

获得线性规划子问题

一般使用图解法

min    ▽f(xk).T * d

ad = 0

ad <= 0  此条件来源于对xk满足 ax - b <= 0 中,等于0 的约束条件

-1<=di<=1

得到dk

 

若▽f(xk).T * dk = 0,则xk为KT点,终止计算

然后在可行域内,做一维搜索

获得xk+1

 

详细做法如下

最优化-可行方向法_搜索

 

 

最优化-可行方向法_约束条件_02

 

Rosen 投影梯度法

最优化-可行方向法_搜索_03

 

 

最优化-可行方向法_搜索_04

既约梯度法

感觉大概率要考这个

对于最优化问题min f(x) 

s.t.  AX = b

  x >= 0

 

矩阵A是Am*n

对于初始点x(1) 

找出x中前m个最大的分量,将他们的下标作为集合J

B = (ai)  i属于集合j   为m*m矩阵

N = (ai) i不属于集合j 为(n-m)*m矩阵

 

Bf(x(1)) 为▽f(x)中 下标属于J的  m*1

Nf(x(1)) 为▽f(x)中 下标不属于J的  (n-m) * 1

 

r = ▽Nf(x(1)).T - ▽Bf(x(1)) * B-1 * N      为 (n-m) *1

dN = 将r中的负数,变为正数,  正数变为 - x * r

dB = -B-1 * N * dN

 

可行的方向就是dN和dB组合起来

然后在可行域内做精确一维搜索即可

 

当可行梯度为0时,终止计算