![]() |
Google OR-Tools v9.14
a fast and portable software suite for combinatorial optimization
|
The violation of a all_diff is the number of unordered pairs of expressions with the same value.
Definition at line 535 of file constraint_violation.h.
#include <constraint_violation.h>
Public Member Functions | |
| CompiledAllDiffConstraint (const ConstraintProto &ct_proto) | |
| --— CompiledAllDiffConstraint --— | |
| ~CompiledAllDiffConstraint () override=default | |
| int64_t | ComputeViolation (absl::Span< const int64_t > solution) override |
| Public Member Functions inherited from operations_research::sat::CompiledConstraintWithProto | |
| 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_. | |
| Public Member Functions inherited from operations_research::sat::CompiledConstraint | |
| CompiledConstraint ()=default | |
| virtual | ~CompiledConstraint ()=default |
| void | InitializeViolation (absl::Span< const int64_t > solution) |
| Recomputes the violation of the constraint from scratch. | |
| virtual void | PerformMove (int var, int64_t old_value, absl::Span< const int64_t > solution_with_new_value) |
| Updates the violation with the new value. | |
| virtual int64_t | ViolationDelta (int var, int64_t old_value, absl::Span< const int64_t > solution_with_new_value) |
| Returns the delta if var changes from old_value to solution[var]. | |
| int64_t | violation () const |
| The cached violation of this constraint. | |
Additional Inherited Members | |
| Protected Attributes inherited from operations_research::sat::CompiledConstraint | |
| int64_t | violation_ |
|
explicit |
--— CompiledAllDiffConstraint --—
Definition at line 1062 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 1066 of file constraint_violation.cc.