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 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 for EAGO.register_eago_operators!(m::JuMP.Model)
. Check Documenter's build log for details.
Storage for Input Parameters
Missing docstring for EAGO.EAGOParameters
. Check Documenter's build log for details.
Internal Storage Structures
Missing docstring for VariableInfo
. Check Documenter's build log for details.
Missing docstring for ExtensionType
. Check Documenter's build log for details.
Internal Problem Representations
Missing docstring for EAGO.InputProblem
. Check Documenter's build log for details.
Missing docstring for EAGO.ParsedProblem
. Check Documenter's build log for details.
Interval Optimizer Subroutines
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
).