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.