MultiOutput Constraint

Module for formulating a sklearn.multioutput.MultiOutputRegressor or sklearn.multioutput.MultiOutputClassifier into a PySCIPOpt Model.

pyscipopt_ml.sklearn.add_multi_output_regressor_constr(scip_model, multi_output_regressor, input_vars, output_vars=None, unique_naming_prefix='', **kwargs)

Formulate a multi_output_regressor into scip_model.

The formulation predicts the values of output_vars using input_vars according to multi_output_regressor.

Parameters:
  • scip_model (SCIP Model) – The PySCIPOpt Model where the predictor should be inserted.

  • multi_output_regressor (sklearn.multioutput.MultiOutputRegressor) – The multi_output_regressor to insert as predictor.

  • input_vars (list or np.ndarray) – Decision variables used as input for multi_output_regressor in model.

  • output_vars (list or np.ndarray, optional) – Decision variables used as output for multi_output_regressor in model.

  • unique_naming_prefix (str, optional) – A unique naming prefix that is used before all variable and constraint names. This parameter is important if the SCIP model is later printed to file and many predictors are added to the same SCIP model.

Returns:

Object containing information about what was added to scip_model to embed the predictor into it

Return type:

MultiOutputConstr

Raises:

NoModel – If the translation to SCIP of one of the elements in the multi_output_regressor is not implemented or recognized.

Notes

See add_predictor_constr for acceptable values for input_vars and output_vars

pyscipopt_ml.sklearn.add_multi_output_classifier_constr(scip_model, multi_output_classifier, input_vars, output_vars=None, unique_naming_prefix='', **kwargs)

Formulate a multi_output_classifier into scip_model.

The formulation predicts the values of output_vars using input_vars according to multi_output_classifier.

Parameters:
  • scip_model (SCIP Model) – The PySCIPOpt Model where the predictor should be inserted.

  • multi_output_classifier (sklearn.multioutput.MultiOutputClassifier) – The multi_output_classifier to insert as predictor.

  • input_vars (list or np.ndarray) – Decision variables used as input for multi_output_classifier in model.

  • output_vars (list or np.ndarray, optional) – Decision variables used as output for multi_output_classifier in model.

  • unique_naming_prefix (str, optional) – A unique naming prefix that is used before all variable and constraint names. This parameter is important if the SCIP model is later printed to file and many predictors are added to the same SCIP model.

Returns:

Object containing information about what was added to scip_model to embed the predictor into it

Return type:

MultiOutputConstr

Raises:

NoModel – If the translation to SCIP of one of the elements in the multi_output_classifier is not implemented or recognized.

Notes

See add_predictor_constr for acceptable values for input_vars and output_vars

class pyscipopt_ml.sklearn.multi_output.MultiOutputConstr(scip_model, predictor, input_vars, output_vars, unique_naming_prefix, classification, **kwargs)

Class to formulate a trained sklearn.multioutput.MultiOutputRegressor or sklearn.multioutput.MultiOutputClassifier into a PySCIPOpt model.

Stores the changes to the SCIP Model for representing an instance into it. Inherits from AbstractPredictorConstr.