Hey is there any documentation or publications that contain more information on the merit backtracking algorithm that is implemented in the globalization option? I am looking at some applications using the SQP solver and the step size adjustment helps a lot with convergence in some cases.
FreyJo
March 11, 2022, 10:36am
2
It is mainly following Leineweber1999, Section “3.5.1 Line Search Globalization”
But I worked on extending it recently:
acados:master
← FreyJo:dev_globalization
opened 02:09PM - 09 Dec 21 UTC
- add option to check Armijo condition
- simplifed SQP loop
- add option to do… Second Order Correction (SOC) -- following Nocedal2006: p.557, eq. (18.51) -- (18.56)
- SOC is done once if step is rejected or constraint violation would increase when using non-corrected step, as described in IPOPT paper (Waechter2006)
replacing https://github.com/acados/acados/pull/764
Example [`examples/acados_python/non_ocp_nlp/marathos_test_problem.py`](https://github.com/acados/acados/blob/4c75f8885e58a15406464a1bd42558804a6d8bd0/examples/acados_python/non_ocp_nlp/marathos_test_problem.py) is used to test the new globalization.
Plots produced with this example:
- line search without SOC:
![marathos_no_SOC](https://user-images.githubusercontent.com/31900285/145563984-93d335a1-0032-4cb2-965a-51e1e06246fd.png)
- line search with SOC:
![marathos_with_SOC](https://user-images.githubusercontent.com/31900285/145564046-9d57526b-2c3e-44eb-819f-4a4fda29fd1e.png)