Table of Contents
Fetching ...

Implementing a unified solver for nonlinearly constrained optimization

Charlie Vanaret, Sven Leyffer

TL;DR

The paper introduces a unifying eight-building-block framework for nonlinearly constrained optimization and presents Uno, a modular, open-source solver that automatically composes strategies within this framework. By mapping common globalization, relaxation, inequality handling, Hessian modeling, inertia correction, and subproblem solving techniques into a coherent architecture, Uno can reproduce, compare, and extend state-of-the-art methods such as SQP and interior-point approaches. Numerical experiments on 429 CUTE problems demonstrate Uno's competitive performance against leading solvers, validating the framework and its presets. The work offers a practical laboratory for exploring new optimization strategies and extending nonlinear optimization to emerging problem classes, with a clear path for future enhancements and interfaces.

Abstract

SQP and interior-point methods (also referred to as Lagrange-Newton methods) typically share key algorithmic components, such as strategies for computing descent directions and mechanisms that promote global convergence. Building on this insight, we introduce a unifying framework with eight building blocks that abstracts the workflows of Lagrange-Newton methods. We then present Uno, a modular C++ solver that implements our unifying framework and allows the automatic combination of a wide range of strategies with no programming effort from the user. Uno is meant to (1) organize mathematical optimization strategies into a coherent hierarchy; (2) offer a wide range of efficient and robust methods that can be compared for a given instance; (3) enable researchers to experiment with novel optimization strategies; and (4) reduce the cost of development and maintenance of multiple optimization solvers. Uno's software design allows user to compose new customized solvers for emerging optimization areas such as robust optimization or optimization problems with complementarity constraints, while building on reliable nonlinear optimization techniques. We demonstrate that Uno is highly competitive against state-of-the-art solvers filterSQP, IPOPT, SNOPT, MINOS, LANCELOT, LOQO, and CONOPT on a subset of 429 small problems from the CUTE collection. Uno is available as open-source software under the MIT license at https://github.com/cvanaret/Uno and via its C, Julia, Python, Fortran, and AMPL interfaces.

Implementing a unified solver for nonlinearly constrained optimization

TL;DR

The paper introduces a unifying eight-building-block framework for nonlinearly constrained optimization and presents Uno, a modular, open-source solver that automatically composes strategies within this framework. By mapping common globalization, relaxation, inequality handling, Hessian modeling, inertia correction, and subproblem solving techniques into a coherent architecture, Uno can reproduce, compare, and extend state-of-the-art methods such as SQP and interior-point approaches. Numerical experiments on 429 CUTE problems demonstrate Uno's competitive performance against leading solvers, validating the framework and its presets. The work offers a practical laboratory for exploring new optimization strategies and extending nonlinear optimization to emerging problem classes, with a clear path for future enhancements and interfaces.

Abstract

SQP and interior-point methods (also referred to as Lagrange-Newton methods) typically share key algorithmic components, such as strategies for computing descent directions and mechanisms that promote global convergence. Building on this insight, we introduce a unifying framework with eight building blocks that abstracts the workflows of Lagrange-Newton methods. We then present Uno, a modular C++ solver that implements our unifying framework and allows the automatic combination of a wide range of strategies with no programming effort from the user. Uno is meant to (1) organize mathematical optimization strategies into a coherent hierarchy; (2) offer a wide range of efficient and robust methods that can be compared for a given instance; (3) enable researchers to experiment with novel optimization strategies; and (4) reduce the cost of development and maintenance of multiple optimization solvers. Uno's software design allows user to compose new customized solvers for emerging optimization areas such as robust optimization or optimization problems with complementarity constraints, while building on reliable nonlinear optimization techniques. We demonstrate that Uno is highly competitive against state-of-the-art solvers filterSQP, IPOPT, SNOPT, MINOS, LANCELOT, LOQO, and CONOPT on a subset of 429 small problems from the CUTE collection. Uno is available as open-source software under the MIT license at https://github.com/cvanaret/Uno and via its C, Julia, Python, Fortran, and AMPL interfaces.
Paper Structure (39 sections, 30 equations, 5 figures, 3 tables, 3 algorithms)

This paper contains 39 sections, 30 equations, 5 figures, 3 tables, 3 algorithms.

Figures (5)

  • Figure 1: Unifying framework: the "wheel of strategies".
  • Figure 2: Example of a filter and a merit function.
  • Figure 3: Definition of a Subproblem.
  • Figure 4: Performance profile on 429 small CUTE problems: number of objective evaluations.
  • Figure 5: Uno's UML diagram.