Frank-wolfe算法多OD对matlab实现
Frank-wolfe算法原理
在无约束最优化问题的基础上,我们可以进一步来求解约束最优化问题。约束最优化问题的一般形式为:
minf(x) m i n f ( x )
s.t.gi(x)≥0,i=1,…,m s . t . g i ( x ) ≥ 0 , i = 1 , … , m
先考虑 gi(x) g i ( x ) 均为线性函数的情况,此时问题与线性规划的约束条件相同,仅仅是目标函数变成了非线性的。我们可以用泰勒展开对目标函数进行近似,将它线性化。将f(x)在xk处展开,有
f(x)≈f(xk)+∇f(xk)T(x−xk) f ( x ) ≈ f ( x k ) + ∇ f ( x k ) T ( x − x k )
故原问题近似于
minf(x)≈