7. Frameworks¶
This section documents the frameworks that available for solving unconstrained composite optimization problems. For simplicity, we only list the parameter inputs that affect the behavior of the framework for a fixed optimization problem. All other inputs should be passed from the model object that is calling the framework.
Note
All frameworks have a parameter i_logging
that, when set to true
, will
log the function value, (inner) iteration number, and time at each (outer) iteration. These values are then added to the history
struct that is output by each framework.
- src.frameworks.AIDAL(~, oracle, params)¶
An accelerated inexact dampened augmeneted Lagrangian (AIDAL) framework for solving a nonconvex composite optimization problem with linear constraints
Note
Based on the paper:
TBD
- Parameters
oracle (
Oracle
) – The oracle underlying the optimization problem.params (
struct
) – Contains instructions on how to call the framework.
- Returns
A pair of structs containing model and history related outputs of the solved problem associated with the oracle and input parameters.
- src.frameworks.IAIPAL(~, oracle, params)¶
An inner accelerated proximal inexact augmeneted Lagrangian (IAPIAL) framework for solving a nonconvex composite optimization problem with convex (linear or nonliner) cone constraints.
Note
Based on the papers:
[1] Melo, J. G., & Monteiro, R. D. (2020). Iteration-complexity of an inner accelerated inexact proximal augmented Lagrangian method based on the classical Lagrangian function and a full Lagrange multiplier update. arXiv preprint arXiv:2008.00562.
[2] Kong, W., Melo, J. G., & Monteiro, R. D. (2020). Iteration-complexity of a proximal augmented Lagrangian method for solving nonconvex composite optimization problems with nonlinear convex constraints. arXiv preprint arXiv:2008.07080.
- Parameters
oracle (
Oracle
) – The oracle underlying the optimization problem.params (
struct
) – Contains instructions on how to call the framework.
- Returns
A pair of structs containing model and history related outputs of the solved problem associated with the oracle and input parameters.
- src.frameworks.iALM(~, oracle, params)¶
An inexact augmented Lagrangian method (iALM) for solving a nonconvex composite optimization model with nonlinear equality constraints, i.e. \(g(x) = 0\).
Note
Based on the paper:
Li, Z., Chen, P. Y., Liu, S., Lu, S., & Xu, Y. (2020). Rate-improved inexact augmented Lagrangian method for constrained nonconvex optimization. arXiv preprint arXiv:2007.01284.
- Parameters
oracle (
Oracle
) – The oracle underlying the optimization problem.params (
struct
) – Contains instructions on how to call the framework.
- Returns
A pair of structs containing model and history related outputs of the solved problem associated with the oracle and input parameters.
- src.frameworks.penalty(solver, oracle, params)¶
A quadratic penalty-based framework for solving a nonconvex composite optimization model with linear set constraints, i.e. \(g(x)=Ax\) where \(A\) is a linear operator.
Note
Based on the paper:
Kong, W., Melo, J. G., & Monteiro, R. D. (2020). An efficient adaptive accelerated inexact proximal point method for solving linearly constrained nonconvex composite problems. Computational Optimization and Applications, 76(2), 305-346.
- Parameters
solver (
function handle
) – A solver for unconstrained composite optimization.oracle (
Oracle
) – The oracle underlying the optimization problem.params (
struct
) – Contains instructions on how to call the framework.
- Returns
A pair of structs containing model and history related outputs of the solved problem associated with the oracle and input parameters.
- src.frameworks.sProxALM(~, oracle, params)¶
A smoothed proximal augmented Lagrangian method (s-Prox-ALM) for solving a nonconvex composite optimization model with linear constraints, where the composite term is the indicator of a polyhedron.
Note
Based on the paper:
Zhang, J., & Luo, Z. (2020). A global dual error bound and its application to the analysis of linearly constrained nonconvex optimization. arXiv preprint arXiv:2006.16440.
- Parameters
oracle (
Oracle
) – The oracle underlying the optimization problem.params (
struct
) – Contains instructions on how to call the framework.
- Returns
A pair of structs containing model and history related outputs of the solved problem associated with the oracle and input parameters.