20#include "absl/container/flat_hash_set.h"
55 absl::flat_hash_set<VariableId> vars;
56 for (
const auto& [var, unused] :
upper_bound.coeffs.terms()) {
60 for (
const auto& [var, unused] : expr.coeffs.terms()) {
64 return std::vector<VariableId>(vars.begin(), vars.end());
70 expr.coeffs.set(var, 0.0);
const ::std::string & name() const
::operations_research::math_opt::LinearExpressionProto *PROTOBUF_NONNULL mutable_upper_bound()
const ::operations_research::math_opt::LinearExpressionProto & upper_bound() const
int arguments_to_norm_size() const
repeated .operations_research.math_opt.LinearExpressionProto arguments_to_norm = 2;
void set_name(Arg_ &&arg, Args_... args)
::operations_research::math_opt::LinearExpressionProto *PROTOBUF_NONNULL add_arguments_to_norm()
const ::operations_research::math_opt::LinearExpressionProto & arguments_to_norm(int index) const
An object oriented wrapper for quadratic constraints in ModelStorage.
ElementId< ElementType::kVariable > VariableId
static LinearExpressionData FromProto(const LinearExpressionProto &expr_proto)
LinearExpressionData upper_bound
std::vector< LinearExpressionData > arguments_to_norm
SecondOrderConeConstraintProto ProtoType
static SecondOrderConeConstraintData FromProto(const ProtoType &in_proto)
void DeleteVariable(VariableId var)
std::vector< VariableId > RelatedVariables() const