import optimtool as oo
from optimtool.base import np, sp, plt
pip install optimtool>=2.4.2
加载barzilar_borwein算法
import optimtool.unconstrain as ou
barzilar_borwein = ou.gradient_descent.barzilar_borwein
初始化输入数据
f ( x ) = ∑ i = 1 n / 2 c ( x 2 i − x 2 i − 1 2 ) 2 + ( 1 − x 2 i − 1 ) 2 , x 0 = [ − 1.2 , 1 , . . . , − 1.2 , 1 ] . c = 100 f(x)=\sum_{i=1}^{n/2}c(x_{2i}-x_{2i-1}^2)^2+(1-x_{2i-1})^2, x_0=[-1.2, 1, ...,-1.2, 1]. c=100 f(x)=i=1∑n/2