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

Detailed Description

Definition at line 39 of file constraint_violation.h.

#include <constraint_violation.h>

Public Member Functions

 LinearIncrementalEvaluator ()=default
int NewConstraint (Domain domain)
void AddEnforcementLiteral (int ct_index, int lit)
void AddLiteral (int ct_index, int lit, int64_t coeff=1)
void AddTerm (int ct_index, int var, int64_t coeff, int64_t offset=0)
void AddOffset (int ct_index, int64_t offset)
void AddLinearExpression (int ct_index, const LinearExpressionProto &expr, int64_t multiplier)
void PrecomputeCompactView (absl::Span< const int64_t > var_max_variation)
void ComputeInitialActivities (absl::Span< const int64_t > solution)
void UpdateVariableAndScores (int var, int64_t delta, absl::Span< const double > weights, absl::Span< const int64_t > jump_deltas, absl::Span< double > jump_scores, std::vector< int > *constraints_with_changed_violations)
void UpdateScoreOnWeightUpdate (int c, absl::Span< const int64_t > jump_deltas, absl::Span< double > var_to_score_change)
void ClearAffectedVariables ()
absl::Span< const int > VariablesAffectedByLastUpdate () const
int64_t Activity (int c) const
int64_t Violation (int c) const
bool IsViolated (int c) const
bool AppearsInViolatedConstraints (int var) const
bool VarIsConsistent (int var) const
bool ReduceBounds (int c, int64_t lb, int64_t ub)
int num_constraints () const
double WeightedViolation (absl::Span< const double > weights) const
double WeightedViolationDelta (absl::Span< const double > weights, int var, int64_t delta) const
std::vector< int64_t > SlopeBreakpoints (int var, int64_t current_value, const Domain &var_domain) const
bool ViolationChangeIsConvex (int var) const
double DeterministicTime () const
int64_t ObjectiveCoefficient (int var) const
absl::Span< const int > ConstraintToVars (int c) const

Constructor & Destructor Documentation

◆ LinearIncrementalEvaluator()

operations_research::sat::LinearIncrementalEvaluator::LinearIncrementalEvaluator ( )
default

Member Function Documentation

◆ Activity()

int64_t operations_research::sat::LinearIncrementalEvaluator::Activity ( int c) const

Definition at line 639 of file constraint_violation.cc.

◆ AddEnforcementLiteral()

void operations_research::sat::LinearIncrementalEvaluator::AddEnforcementLiteral ( int ct_index,
int lit )

Definition at line 135 of file constraint_violation.cc.

◆ AddLinearExpression()

void operations_research::sat::LinearIncrementalEvaluator::AddLinearExpression ( int ct_index,
const LinearExpressionProto & expr,
int64_t multiplier )

Definition at line 182 of file constraint_violation.cc.

◆ AddLiteral()

void operations_research::sat::LinearIncrementalEvaluator::AddLiteral ( int ct_index,
int lit,
int64_t coeff = 1 )

Definition at line 145 of file constraint_violation.cc.

◆ AddOffset()

void operations_research::sat::LinearIncrementalEvaluator::AddOffset ( int ct_index,
int64_t offset )

Definition at line 177 of file constraint_violation.cc.

◆ AddTerm()

void operations_research::sat::LinearIncrementalEvaluator::AddTerm ( int ct_index,
int var,
int64_t coeff,
int64_t offset = 0 )

Definition at line 155 of file constraint_violation.cc.

◆ AppearsInViolatedConstraints()

bool operations_research::sat::LinearIncrementalEvaluator::AppearsInViolatedConstraints ( int var) const

Definition at line 726 of file constraint_violation.cc.

◆ ClearAffectedVariables()

void operations_research::sat::LinearIncrementalEvaluator::ClearAffectedVariables ( )

Definition at line 248 of file constraint_violation.cc.

◆ ComputeInitialActivities()

void operations_research::sat::LinearIncrementalEvaluator::ComputeInitialActivities ( absl::Span< const int64_t > solution)

Definition at line 202 of file constraint_violation.cc.

◆ ConstraintToVars()

absl::Span< const int > operations_research::sat::LinearIncrementalEvaluator::ConstraintToVars ( int c) const
inline

Definition at line 141 of file constraint_violation.h.

◆ DeterministicTime()

double operations_research::sat::LinearIncrementalEvaluator::DeterministicTime ( ) const
inline

Definition at line 127 of file constraint_violation.h.

◆ IsViolated()

bool operations_research::sat::LinearIncrementalEvaluator::IsViolated ( int c) const

Definition at line 647 of file constraint_violation.cc.

◆ NewConstraint()

int operations_research::sat::LinearIncrementalEvaluator::NewConstraint ( Domain domain)

Definition at line 124 of file constraint_violation.cc.

◆ num_constraints()

int operations_research::sat::LinearIncrementalEvaluator::num_constraints ( ) const
inline

Definition at line 104 of file constraint_violation.h.

◆ ObjectiveCoefficient()

int64_t operations_research::sat::LinearIncrementalEvaluator::ObjectiveCoefficient ( int var) const
inline

Definition at line 131 of file constraint_violation.h.

◆ PrecomputeCompactView()

void operations_research::sat::LinearIncrementalEvaluator::PrecomputeCompactView ( absl::Span< const int64_t > var_max_variation)

Definition at line 781 of file constraint_violation.cc.

◆ ReduceBounds()

bool operations_research::sat::LinearIncrementalEvaluator::ReduceBounds ( int c,
int64_t lb,
int64_t ub )

Definition at line 652 of file constraint_violation.cc.

◆ SlopeBreakpoints()

std::vector< int64_t > operations_research::sat::LinearIncrementalEvaluator::SlopeBreakpoints ( int var,
int64_t current_value,
const Domain & var_domain ) const

Definition at line 734 of file constraint_violation.cc.

◆ UpdateScoreOnWeightUpdate()

void operations_research::sat::LinearIncrementalEvaluator::UpdateScoreOnWeightUpdate ( int c,
absl::Span< const int64_t > jump_deltas,
absl::Span< double > var_to_score_change )

Definition at line 255 of file constraint_violation.cc.

◆ UpdateVariableAndScores()

void operations_research::sat::LinearIncrementalEvaluator::UpdateVariableAndScores ( int var,
int64_t delta,
absl::Span< const double > weights,
absl::Span< const int64_t > jump_deltas,
absl::Span< double > jump_scores,
std::vector< int > * constraints_with_changed_violations )

Definition at line 532 of file constraint_violation.cc.

◆ VariablesAffectedByLastUpdate()

absl::Span< const int > operations_research::sat::LinearIncrementalEvaluator::VariablesAffectedByLastUpdate ( ) const
inline

Definition at line 86 of file constraint_violation.h.

◆ VarIsConsistent()

bool operations_research::sat::LinearIncrementalEvaluator::VarIsConsistent ( int var) const

Definition at line 192 of file constraint_violation.cc.

◆ Violation()

int64_t operations_research::sat::LinearIncrementalEvaluator::Violation ( int c) const

Definition at line 643 of file constraint_violation.cc.

◆ ViolationChangeIsConvex()

bool operations_research::sat::LinearIncrementalEvaluator::ViolationChangeIsConvex ( int var) const

Definition at line 914 of file constraint_violation.cc.

◆ WeightedViolation()

double operations_research::sat::LinearIncrementalEvaluator::WeightedViolation ( absl::Span< const double > weights) const

Definition at line 659 of file constraint_violation.cc.

◆ WeightedViolationDelta()

double operations_research::sat::LinearIncrementalEvaluator::WeightedViolationDelta ( absl::Span< const double > weights,
int var,
int64_t delta ) const

Definition at line 675 of file constraint_violation.cc.


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