Back-end

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 relaxation

  • cv::T: Convex relaxation

  • cc_grad::SVector{N,T}: (Sub)gradient of concave relaxation

  • cv_grad::SVector{N,T}: (Sub)gradient of convex relaxation

  • Intv::V: Interval bounds

  • cnst::Bool: Flag for whether the bounds are constant

source

The Hybrid McCormick relaxation type

The Hybrid McCormick object is used to

EAGO.HybridMC — Type.
HybridMC

Defines the hybridMC type used for constructing nonstandard McCormick relaxations holds the SMC type.

source
EAGO.Tighten_Subgrad — Function.
Tighten_Subgrad

Cuts the interval bounds on the HybridMC object based on affine relaxation bounds if they are tighter.

source