The McCormick relaxation type
The McCormick relaxation library implements the smooth McCormick with imbedded (sub)gradient structure: SMCg{N,V,T}.
EAGO.SMCg — Type.SMCg{N,V,T<:AbstractFloat}SMCg is the smooth McCormick (w/ gradient) structure which is used to overload standard calculations. The fields are:
cc::T: Concave relaxationcv::T: Convex relaxationcc_grad::SVector{N,T}: (Sub)gradient of concave relaxationcv_grad::SVector{N,T}: (Sub)gradient of convex relaxationIntv::V: Interval boundscnst::Bool: Flag for whether the bounds are constant
The Hybrid McCormick relaxation type
The Hybrid McCormick object is used to
EAGO.HybridMC — Type.HybridMCDefines the hybridMC type used for constructing nonstandard McCormick relaxations holds the SMC type.
EAGO.Tighten_Subgrad — Function.Tighten_SubgradCuts the interval bounds on the HybridMC object based on affine relaxation bounds if they are tighter.