26 #ifndef OR_TOOLS_GSCIP_GSCIP_EXT_H_
27 #define OR_TOOLS_GSCIP_GSCIP_EXT_H_
32 #include "absl/status/status.h"
34 #include "scip/scip.h"
35 #include "scip/scip_prob.h"
36 #include "scip/type_cons.h"
37 #include "scip/type_scip.h"
38 #include "scip/type_var.h"
44 absl::Status
GScipCreateAbs(GScip* gscip, SCIP_Var* x, SCIP_Var* abs_x,
45 const std::string&
name =
"");
50 absl::flat_hash_map<SCIP_VAR*, double>
terms;
73 const std::vector<GScipLinearExpr>& terms,
74 const std::string&
name =
"");
79 const std::vector<GScipLinearExpr>& terms,
80 const std::string&
name =
"");
93 const std::string&
name =
"",
103 GScip* gscip, std::vector<SCIP_Var*> quadratic_variables1,
104 std::vector<SCIP_Var*> quadratic_variables2,
105 std::vector<double> quadratic_coefficients,
const std::string&
name =
"");
Collection of objects used to extend the Constraint Solver library.
GScipLinearRange GScipLe(const GScipLinearExpr left, const GScipLinearExpr &right)
GScipLinearExpr GScipDifference(GScipLinearExpr left, const GScipLinearExpr &right)
absl::Status GScipCreateMaximum(GScip *gscip, const GScipLinearExpr &resultant, const std::vector< GScipLinearExpr > &terms, const std::string &name)
absl::Status GScipCreateAbs(GScip *gscip, SCIP_Var *x, SCIP_Var *abs_x, const std::string &name)
absl::Status GScipAddQuadraticObjectiveTerm(GScip *gscip, std::vector< SCIP_Var * > quadratic_variables1, std::vector< SCIP_Var * > quadratic_variables2, std::vector< double > quadratic_coefficients, const std::string &name)
absl::Status GScipCreateMinimum(GScip *gscip, const GScipLinearExpr &resultant, const std::vector< GScipLinearExpr > &terms, const std::string &name)
absl::Status GScipCreateIndicatorRange(GScip *gscip, const GScipIndicatorRangeConstraint &indicator_range, const std::string &name, const GScipConstraintOptions &options)
GScipLinearExpr GScipNegate(GScipLinearExpr expr)
SCIP_VAR * indicator_variable
absl::flat_hash_map< SCIP_VAR *, double > terms
GScipLinearExpr()=default