![]() |
Google OR-Tools v9.12
a fast and portable software suite for combinatorial optimization
|
--— CompiledCircuitConstraint --— More...
Public Member Functions | |
CompiledCircuitConstraint (const ConstraintProto &ct_proto) | |
~CompiledCircuitConstraint () override=default | |
int64_t | ComputeViolation (absl::Span< const int64_t > solution) override |
void | PerformMove (int var, int64_t old_value, absl::Span< const int64_t > new_solution) override |
Updates the violation with the new value. | |
int64_t | ViolationDelta (int var, int64_t old_value, absl::Span< const int64_t > solution_with_new_value) override |
Returns the delta if var changes from old_value to solution[var]. | |
![]() | |
CompiledConstraintWithProto (const ConstraintProto &ct_proto) | |
--— CompiledConstraintWithProto --— | |
~CompiledConstraintWithProto () override=default | |
const ConstraintProto & | ct_proto () const |
std::vector< int > | UsedVariables (const CpModelProto &model_proto) const final |
This just returns the variables used by the stored ct_proto_. | |
![]() | |
CompiledConstraint ()=default | |
virtual | ~CompiledConstraint ()=default |
void | InitializeViolation (absl::Span< const int64_t > solution) |
Recomputes the violation of the constraint from scratch. | |
int64_t | violation () const |
The cached violation of this constraint. | |
Additional Inherited Members | |
![]() | |
int64_t | violation_ |
--— CompiledCircuitConstraint --—
The violation of a circuit has three parts:
#3 is not necessary for correctness, but makes the function much smoother.
The only difference between single and multi circuit is flow balance at the depot, so we use the same compiled constraint for both.
Definition at line 1282 of file constraint_violation.cc.
|
explicit |
Definition at line 1340 of file constraint_violation.cc.
|
overridedefault |
|
overridevirtual |
Computes the violation of a constraint.
This is called by InitializeViolation() and also the default implementation of ViolationDelta().
Implements operations_research::sat::CompiledConstraint.
Definition at line 1395 of file constraint_violation.cc.
|
overridevirtual |
Updates the violation with the new value.
Reimplemented from operations_research::sat::CompiledConstraint.
Definition at line 1388 of file constraint_violation.cc.
|
overridevirtual |
Returns the delta if var changes from old_value to solution[var].
Reimplemented from operations_research::sat::CompiledConstraint.
Definition at line 1403 of file constraint_violation.cc.