26#ifndef OR_TOOLS_GSCIP_GSCIP_EXT_H_
27#define OR_TOOLS_GSCIP_GSCIP_EXT_H_
32#include "absl/status/status.h"
33#include "absl/strings/string_view.h"
34#include "absl/types/span.h"
37#include "scip/scip_prob.h"
38#include "scip/type_cons.h"
39#include "scip/type_scip.h"
40#include "scip/type_var.h"
46absl::Status
GScipCreateAbs(GScip* gscip, SCIP_Var* x, SCIP_Var* abs_x,
47 absl::string_view name =
"");
52 absl::flat_hash_map<SCIP_VAR*, double>
terms;
74 absl::Span<const GScipLinearExpr> terms,
75 absl::string_view name =
"");
80 absl::Span<const GScipLinearExpr> terms,
81 absl::string_view name =
"");
94 absl::string_view name =
"",
95 const GScipConstraintOptions& options = GScipConstraintOptions());
104 GScip* gscip, std::vector<SCIP_Var*> quadratic_variables1,
105 std::vector<SCIP_Var*> quadratic_variables2,
106 std::vector<double> quadratic_coefficients, absl::string_view name =
"");
In SWIG mode, we don't want anything besides these top-level includes.
GScipLinearExpr GScipDifference(GScipLinearExpr left, const GScipLinearExpr &right)
Returns left - right.
absl::Status GScipCreateMaximum(GScip *gscip, const GScipLinearExpr &resultant, absl::Span< const GScipLinearExpr > terms, absl::string_view name)
GScipLinearExpr GScipNegate(GScipLinearExpr expr)
Returns -expr.
GScipLinearRange GScipLe(const GScipLinearExpr left, const GScipLinearExpr &right)
absl::Status GScipCreateAbs(GScip *gscip, SCIP_Var *x, SCIP_Var *abs_x, absl::string_view name)
absl::Status GScipCreateMinimum(GScip *gscip, const GScipLinearExpr &resultant, absl::Span< const GScipLinearExpr > terms, absl::string_view name)
absl::Status GScipCreateIndicatorRange(GScip *gscip, const GScipIndicatorRangeConstraint &indicator_range, absl::string_view name, const GScipConstraintOptions &options)
Supports unbounded variables in indicator_range.range.variables.
absl::Status GScipAddQuadraticObjectiveTerm(GScip *gscip, std::vector< SCIP_Var * > quadratic_variables1, std::vector< SCIP_Var * > quadratic_variables2, std::vector< double > quadratic_coefficients, absl::string_view name)
SCIP_VAR * indicator_variable
absl::flat_hash_map< SCIP_VAR *, double > terms
GScipLinearExpr()=default