$ A7 c6 W; x; }% L2 U/ m想象你在一个巨大的迷宫里找出口。& Z% b' G% F, g9 C1 L
7 x, T5 o5 t6 q/ X7 G; v暴力方法是把每条路都走一遍。Frank-Wolfe 的方法是:先随便走一条路,然后在每个岔路口问一个「向导」(整数规划求解器):「从这里开始,哪个方向最可能通向出口?」然后朝那个方向走一步。你不需要探索整个迷宫,只需要在每个关键节点做出正确的选择。! P& M1 H% g J& I
1 n; L( U5 a5 V4 |* J. h$ M整数规划求解器:每一步的「向导」 " x+ W/ _. N3 F1 _- Z, mFrank-Wolfe 的每一轮迭代都需要解一个整数线性规划问题。这在理论上是 NP 困难的(也就是「没有已知的快速通用算法」)。 / {3 Q5 o' ?+ M, _2 d 1 s' o' }5 k& y但现代求解器,比如 Gurobi[8],对于结构良好的问题可以高效求解。1 f! C. |6 `6 T8 C
3 ~$ s6 H/ I+ g5 {研究团队用的是 Gurobi 5.5。实际求解时间 :& d$ x/ L. s' d. m/ x% \. D
$ o3 v# G3 ?! {$ a* r; j$ n
• 早期迭代(少量比赛已结束):不到 1 秒; s# t" R; P% s! F6 V% G