31 const double muliplier = static_cast<double>(std::abs(old_coeff));
35 if (muliplier != 1.0) {
40 if (old_factor == 0.0) old_factor = 1.0;
72 Domain obj_domain(min_obj, max_obj);
86 ct->add_vars(obj_ref);
void set_offset(double value)
int variables_size() const
::operations_research::sat::IntegerVariableProto * add_variables()
void add_vars(int32_t value)
const ::operations_research::sat::IntegerVariableProto & variables(int index) const
int32_t vars(int index) const
::operations_research::sat::LinearConstraintProto * mutable_linear()
int64_t coeffs(int index) const
::operations_research::sat::ConstraintProto * add_constraints()
const ::operations_research::sat::CpObjectiveProto & objective() const
Domain IntersectionWith(const Domain &domain) const
Returns the intersection of D and domain.
int64_t domain(int index) const
bool has_objective() const
void add_coeffs(int64_t value)
We call domain any subset of Int64 = [kint64min, kint64max].
void FillDomainInProto(const Domain &domain, ProtoWithDomain *proto)
Collection of objects used to extend the Constraint Solver library.
::operations_research::sat::CpObjectiveProto * mutable_objective()
bool RefIsPositive(int ref)
void set_scaling_factor(double value)
void set_coeffs(int index, int64_t value)
void EncodeObjectiveAsSingleVariable(CpModelProto *cp_model)
double scaling_factor() const
Domain ReadDomainFromProto(const ProtoWithDomain &proto)
void set_vars(int index, int32_t value)
int64_t domain(int index) const