Back-end

The McCormick relaxation type

The McCormick relaxation library implements the smooth McCormick with imbedded (sub)gradient structure: SMCg{N,V,T}.

EAGO.SMCgType.
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.HybridMCType.
HybridMC

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

source
EAGO.Tighten_SubgradFunction.
Tighten_Subgrad

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

source