EAGO is an open-source development environment for robust and global optimization in Julia. EAGO is a deterministic global optimizer designed to address a wide variety of optimization problems, emphasizing nonlinear programs (NLPs), by propagating McCormick relaxations along the factorable structure of each expression in the NLP. Most operators supported by modern automatic differentiation (AD) packages (e.g., +, sin, cosh) are supported by EAGO and a number of utilities for sanitizing native Julia code and generating relaxations on a wide variety of user-defined functions have been included. Currently, EAGO supports problems that have a priori variable bounds defined and have differentiable constraints.
Features
- Open-source development environment for robust and global optimization in Julia
- Documentation available
- Examples available
- Solver accessible from JuMP/MathOptInterface (MOI), domain reduction routines
- McCormick relaxations, and specialized nonconvex semi-infinite program solvers
- Extensions for nonconvex dynamic global & robust optimization