EAGO.jl Versions Save

A development environment for robust and global optimization

v0.4.2

3 years ago

v0.4.0

3 years ago
  • Support for new MOI/JuMP RawParameter input and a number of new attributes.
  • Separates McCormick and ReverseMcCormick libraries (now McCormick.jl and ReverseMcCormick.jl) from main package. McCormick.jl is currently reexported.
  • Most relaxation calculations now return NaN values on a domain violation.
  • Tolerance based validation of cuts has been added to generate numerically safe cuts.
  • Significantly simplify internal codebase for EAGO.Optimizer (no changes to API): fully decouples input problem specifications from the formulation used internally, stack only stores variables that are branched on, and a number of internal rearrangements to clearly delineate different routines.
  • Add problem classification preprocessing that throws to simpler routines if LP problem types are detected (enables future support for SOCP, MILP, MISOCP, and Convex forms).
  • Fix multiple bugs and add more transparent error codes.

v0.3.1

4 years ago

v0.3.0

4 years ago

This update is intended to be the last to create a large number of breaking changes to the EAGO API. Please review the use cases provided in the documentation to update examples.

  • A number of performance improvements have been made to the underlying McCormick relaxation library. The optimizer used to construct relaxations is now modified in place.
  • All subproblem storage has been moved to the Optimizer object and storage types (e.g. LowerInfo) have been removed.
  • A MinMax heap structure is now used to store nodes.
  • Speed and aesthetics for logging and printing utilities have been updated.
  • Subroutines are now customized by creating a subtype of 'ExtensionType' and defining subroutines which dispatch on this new structure.
  • Parametric interval methods and the Implicit optimizer have been move to a separate package (to be tagged shortly.)
  • JIT compilation time has been reduced substantially.
  • Support for silent tag and time limits.

v0.2.1

4 years ago
  • Fixes an issues that occurs when using multiple uncertain parameters in the explicit routine.
  • Also fixes the Max Sense bug.

v0.2.0

4 years ago
  • Updates EAGO to Julia 1.1 and MOI/JuMP
  • Adds additional domain reduction routines
  • Further integrates global optimizer and SIP solution routines with JuMP
  • Transitions MC relaxation framework to use a Wegert tape
  • Simplifies MC API

v0.1.2

5 years ago

Contains primarily performance improvements to EAGO core functionality.

  • Fixes IntervalArithmetic 0.13 dependency issue
  • Significantly increases speed of McCormick relaxations
  • Finishes porting functionality from EAGOXXXX packages to central EAGO package
  • Add container HybridMC type to speed up subgradient refinement for McCormick relaxations
  • Rearrangement of BnBSolver and BnBModel objects to better reflect MathProgBase conventions.
  • Improved Branch-and-Reduce architecture support.
  • Move linear algebra and preconditioning routines for implicit bounds to a more modular format.

Plus other minor updates:

  • Update to read me
  • Update to website
  • Update to examples
  • Minor Bug Fixes

v0.1.0

6 years ago

A deterministic nonconvex, nonsmooth NLP solver for Julia based on a McCormick relaxation framework. Accessible through a hook into MathProgBase and JuMP. Also includes support for various types of McCormick relaxations, parametric contractor methods, and domain reduction techniques.