EAGO Optimizer

The EAGO.Optimizer object holds all algorithm solution information. A description of all user-facing options has been provided in the docstring.

EAGO.Optimizer

Missing docstring.

Missing docstring for Optimizer. Check Documenter's build log for details.

EAGO Specific functions and operators

EAGO supports a number of functions and operators that for which specialized relaxation routines are available. These can be registered and added to a JuMP model using the function

Missing docstring.

Missing docstring for EAGO.register_eago_operators!(m::JuMP.Model). Check Documenter's build log for details.

Storage for Input Parameters

Missing docstring.

Missing docstring for EAGO.EAGOParameters. Check Documenter's build log for details.

Internal Storage Structures

Missing docstring.

Missing docstring for VariableInfo. Check Documenter's build log for details.

Missing docstring.

Missing docstring for ExtensionType. Check Documenter's build log for details.

Internal Problem Representations

Missing docstring.

Missing docstring for EAGO.InputProblem. Check Documenter's build log for details.

Missing docstring.

Missing docstring for EAGO.ParsedProblem. Check Documenter's build log for details.

Interval Optimizer Subroutines

Missing docstring.

Missing docstring for EAGO.initial_parse!(m::Optimizer{R,S,T}) where {R,S,T}. Check Documenter's build log for details.

Extending EAGO

Functionality has been included that allows for extension's to EAGO's optimizer to readily be defined. This can be done in two ways first defining a new structure which is a subtype of EAGO.ExtensionType and overloading methods associated with this new structure. An instance of this new structure is provided to the EAGO.Optimizer using the ext_type keyword. This results in EAGO now dispatch to the new methods rather than the generally defined methods for the parent type. For a complete example, the reader is directed to the interval bounding example and quasiconvex example. Alternatively, the user can overload the optimize_hook! for this subtype which will entirely circumvent the default global solution routine. Additional information can be stored in the ext field of EAGO. In order to allow for compatibility between packages the user is encouraged to append their extension name to the start of each variable name (e.g. newext_newdata).