Predictors

The main entry point for embedding prediction models into JuMP is add_predictor.

All methods use the form y, formulation = MathOptAI.add_predictor(model, predictor, x) to add the relationship y = predictor(x) to model.

Supported predictors

The following predictors are supported. See their docstrings for details:

PredictorProblem classJuMPExaModels
AffineLinearYesYes
AffineCombinationLinearYes
AvgPool2dLinearYes
BinaryDecisionTreeMixed-integer linearYes
Conv2d.LinearYes
GCNConvLinearYes
GELUGlobal nonlinearYesYes
GrayBoxLocal nonlinearYes
LayerNormGlobal nonlinearYes
LeakyReLUDepends on inner ReLUYesYes
MaxPool2dGlobal nonlinearYes
MaxPool2dBigMMixed-integer linearYes
PipelineYesYes
QuantileLocal nonlinearYes
ReLUGlobal nonlinearYesYes
ReLUBigMMixed-integer linearYes
ReLUQuadraticNon-convex quadraticYes
ReLUSOS1Mixed-integer linearYes
ScaleLinearYesYes
SigmoidGlobal nonlinearYesYes
SoftMaxGlobal nonlinearYesYes
SoftPlusGlobal nonlinearYesYes
TAGConvLinearYes
TanhGlobal nonlinearYesYes