算法3 非单调Wolfe线搜索

输入: m 0 , j = 0 , α min = 0 , α max = 0 , Q 0 = 1 , C 0 = f ( m 0 ) , 0 η min η max 1 , 0 < σ 1 < σ 2 < 1

初始化: α j = 1

while true

1:if α j 满足(6)和(7)计算 f ( m k + α j δ m ) end

2:if α j 不满足(6) α max = α j , α j = 1 2 ( α min + α max ) 返回步1 end

3:if α j 不满足(7) α min = α j

if α max = 0 , α j = 10 α j else α j = 1 2 ( α min + α max ) end返回步1

end

4:if η j [ η min , η max ] 满足(8)更新 Q j , C j end

5: j j + 1

end while