本项目为高立老师在北京航空航天大学《最优化方法》课程上机作业代码。项目目标是通过手动实现经典最优化算法,加深对线搜索、Newton 方法、拟 Newton 方法以及非线性优化问题数值求解过程的理解。
- 线搜索准则
- 非精确线搜索的 Armijo 准则、Goldstein 准则、Wolfe 准则、强 Wolfe 准则
- Newton 法
- 普通 Newton 法
- 阻尼 Newton 方法
- 混合 Newton 法
- LM 方法
- 拟 Newton 法
- 对称秩 1 方法 (SR1)
- BFGS 方法
- DFP 方法
-
(16) Brown and Dennis function, m=4, 10, 20, 30, 40, 50.
-
(22) Extended Powell singular function, m=20,40,60,80,100.
-
(27) Brown almost linear function, n=20, 40, 60, 80, 100.
|- run.sh
|- main.py
|- functions
|- brown_almost_linear.py
|- brown_and_dennis.py
|- example.py
|- extended_powell_singular.py
|- methods
|- criterion.py
|- get_stepsize.py
|- inexact.py
|- newton.py
|- quasi_newton.py
python3 main.py \
--func_name name_of_objective_function \
--stepsize_method method_of_getting_stepsize \
--criterion_method method_of_criterion \
--opt_method optimization_method \
--max_iters maximum_iteration_numbers \
--rho value_of_rho \
--sigma value_of_sigma \
--eps stopping_criterion \
--m dimention_of_objective_function更多参数详见主程序./main.py#L20