Google OR-Tools v9.14
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::sat::CompiledBoolXorConstraint Class Reference

The violation of a bool_xor constraint is 0 or 1. More...

Detailed Description

The violation of a bool_xor constraint is 0 or 1.

Individual compiled constraints.

Definition at line 470 of file constraint_violation.h.

#include <constraint_violation.h>

Inheritance diagram for operations_research::sat::CompiledBoolXorConstraint:
operations_research::sat::CompiledConstraintWithProto operations_research::sat::CompiledConstraint

Public Member Functions

 CompiledBoolXorConstraint (const ConstraintProto &ct_proto)
 --— CompiledBoolXorConstraint --—
 ~CompiledBoolXorConstraint () override=default
int64_t ComputeViolation (absl::Span< const int64_t > solution) override
int64_t ViolationDelta (int, int64_t, absl::Span< const int64_t > solution_with_new_value) override
 Returns the delta if var changes from old_value to solution[var].
Public Member Functions inherited from operations_research::sat::CompiledConstraintWithProto
 CompiledConstraintWithProto (const ConstraintProto &ct_proto)
 --— CompiledConstraintWithProto --—
 ~CompiledConstraintWithProto () override=default
const ConstraintProtoct_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.
int64_t violation () const
 The cached violation of this constraint.

Additional Inherited Members

Protected Attributes inherited from operations_research::sat::CompiledConstraint
int64_t violation_

Constructor & Destructor Documentation

◆ CompiledBoolXorConstraint()

operations_research::sat::CompiledBoolXorConstraint::CompiledBoolXorConstraint ( const ConstraintProto & ct_proto)
explicit

--— CompiledBoolXorConstraint --—

Definition at line 961 of file constraint_violation.cc.

◆ ~CompiledBoolXorConstraint()

operations_research::sat::CompiledBoolXorConstraint::~CompiledBoolXorConstraint ( )
overridedefault

Member Function Documentation

◆ ComputeViolation()

int64_t operations_research::sat::CompiledBoolXorConstraint::ComputeViolation ( absl::Span< const int64_t > solution)
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 965 of file constraint_violation.cc.

◆ ViolationDelta()

int64_t operations_research::sat::CompiledBoolXorConstraint::ViolationDelta ( int var,
int64_t old_value,
absl::Span< const int64_t > solution_with_new_value )
overridevirtual

Returns the delta if var changes from old_value to solution[var].

Reimplemented from operations_research::sat::CompiledConstraint.

Definition at line 974 of file constraint_violation.cc.


The documentation for this class was generated from the following files: