可以用精确线性搜索法来求解下面的无约束优化问题:
输入:初始点 $x_0$,目标函数 $f(x)$
输出:使目标函数取得最小值的 $x^*$
算法步骤:
- 设置初始点 $x_0$,并设置迭代步骤数 $k=0$
- 计算当前点的梯度 $\nabla f(x_k)$
- 选择步长 $\alpha_k$,使用精确线性搜索法找到使 $f(x_k - \alpha_k \nabla f(x_k))$ 取得最小值的 $\alpha_k$
- 更新 $x_{k+1} = x_k - \alpha_k \nabla f(x_k)$
- 如果满足停止条件(例如梯度的平方和小于一个阈值),则停