![]() |
Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
|
Definition at line 98 of file presolve_context.h.
#include <presolve_context.h>
Public Member Functions | |
| PresolveContext (Model *model, CpModelProto *cp_model, CpModelProto *mapping) | |
| int | NewIntVar (const Domain &domain) |
| int | NewBoolVar (absl::string_view source) |
| int | NewIntVarWithDefinition (const Domain &domain, absl::Span< const std::pair< int, int64_t > > definition, bool append_constraint_to_mapping_model=false) |
| int | NewBoolVarWithClause (absl::Span< const int > clause) |
| int | NewBoolVarWithConjunction (absl::Span< const int > conjunction) |
| int | GetTrueLiteral () |
| int | GetFalseLiteral () |
| ConstraintProto * | AddEnforcedConstraint (absl::Span< const int > enforcement_literals) |
| ConstraintProto * | AddEnforcedConstraint (ConstraintProto *ct) |
| void | AddImplication (int a, int b) |
| void | AddImplyInDomain (int b, int x, const Domain &domain) |
| void | AddImplyInDomain (int b, const LinearExpressionProto &expr, const Domain &domain) |
| bool | DomainIsEmpty (int ref) const |
| bool | IsFixed (int ref) const |
| bool | CanBeUsedAsLiteral (int ref) const |
| bool | LiteralIsTrue (int lit) const |
| bool | LiteralIsFalse (int lit) const |
| int64_t | MinOf (int ref) const |
| int64_t | MaxOf (int ref) const |
| int64_t | FixedValue (int ref) const |
| bool | VarCanTakeValue (int var, int64_t value) const |
| const Domain & | DomainOf (int var) const |
| int64_t | DomainSize (int ref) const |
| absl::Span< const Domain > | AllDomains () const |
| bool | IntervalIsConstant (int ct_ref) const |
| int64_t | StartMin (int ct_ref) const |
| int64_t | StartMax (int ct_ref) const |
| int64_t | SizeMin (int ct_ref) const |
| int64_t | SizeMax (int ct_ref) const |
| int64_t | EndMin (int ct_ref) const |
| int64_t | EndMax (int ct_ref) const |
| std::string | IntervalDebugString (int ct_ref) const |
| int64_t | MinOf (const LinearExpressionProto &expr) const |
| int64_t | MaxOf (const LinearExpressionProto &expr) const |
| bool | IsFixed (const LinearExpressionProto &expr) const |
| int64_t | FixedValue (const LinearExpressionProto &expr) const |
| std::optional< int64_t > | FixedValueOrNullopt (const LinearExpressionProto &expr) const |
| template<typename ProtoWithVarsAndCoeffs> | |
| std::pair< int64_t, int64_t > | ComputeMinMaxActivity (const ProtoWithVarsAndCoeffs &proto) const |
| void | CappedUpdateMinMaxActivity (int var, int64_t coeff, int64_t *min_activity, int64_t *max_activity) |
| bool | CanonicalizeLinearConstraint (ConstraintProto *ct, bool *is_impossible=nullptr) |
| bool | CanonicalizeLinearExpression (absl::Span< const int > enforcements, LinearExpressionProto *expr) |
| bool | DomainContains (const LinearExpressionProto &expr, int64_t value) const |
| Domain | DomainSuperSetOf (const LinearExpressionProto &expr) const |
| bool | ExpressionIsAffineBoolean (const LinearExpressionProto &expr) const |
| int | LiteralForExpressionMax (const LinearExpressionProto &expr) const |
| bool | ExpressionIsSingleVariable (const LinearExpressionProto &expr) const |
| bool | ExpressionIsALiteral (const LinearExpressionProto &expr, int *literal=nullptr) const |
| bool | DomainOfVarIsIncludedIn (int var, const Domain &domain) |
| bool | VariableIsUnique (int ref) const |
| bool | VariableIsUniqueAndRemovable (int ref) const |
| bool | VariableIsNotUsedAnymore (int ref) const |
| void | MarkVariableAsRemoved (int ref) |
| bool | VariableWasRemoved (int ref) const |
| bool | VariableWithCostIsUnique (int ref) const |
| bool | VariableWithCostIsUniqueAndRemovable (int ref) const |
| bool | VariableIsOnlyUsedInEncodingAndMaybeInObjective (int var) const |
| bool | VariableIsOnlyUsedInLinear1AndOneExtraConstraint (int var) const |
| ABSL_MUST_USE_RESULT bool | IntersectDomainWith (int ref, const Domain &domain, bool *domain_modified=nullptr) |
| ABSL_MUST_USE_RESULT bool | SetLiteralToFalse (int lit) |
| ABSL_MUST_USE_RESULT bool | SetLiteralToTrue (int lit) |
| ABSL_MUST_USE_RESULT bool | IntersectDomainWith (const LinearExpressionProto &expr, const Domain &domain, bool *domain_modified=nullptr) |
| ABSL_MUST_USE_RESULT bool | IntersectionOfAffineExprsIsNotEmpty (const LinearExpressionProto &a, const LinearExpressionProto &b) |
| ABSL_MUST_USE_RESULT bool | NotifyThatModelIsUnsat (absl::string_view message="") |
| bool | ModelIsUnsat () const |
| void | UpdateRuleStats (std::string_view name, int num_times=1) |
| void | UpdateConstraintVariableUsage (int c) |
| bool | ConstraintVariableGraphIsUpToDate () const |
| void | UpdateNewConstraintsVariableUsage () |
| bool | ConstraintVariableUsageIsConsistent () |
| bool | HasUnusedAffineVariable () const |
| void | CanonicalizeVariable (int ref) |
| bool | CanonicalizeAffineVariable (int ref, int64_t coeff, int64_t mod, int64_t rhs) |
| bool | StoreAffineRelation (int var_x, int var_y, int64_t coeff, int64_t offset, bool debug_no_recursion=false) |
| bool | StoreBooleanEqualityRelation (int ref_a, int ref_b) |
| int | GetLiteralRepresentative (int ref) const |
| bool | VariableIsAffineRepresentative (int var) const |
| int | NumAffineRelations () const |
| AffineRelation::Relation | GetAffineRelation (int ref) const |
| std::string | RefDebugString (int ref) const |
| std::string | AffineRelationDebugString (int ref) const |
| bool | PropagateAffineRelation (int var) |
| bool | PropagateAffineRelation (int var, int rep, int64_t coeff, int64_t offset) |
| void | InitializeNewDomains () |
| void | ResetAfterCopy () |
| void | ClearStats () |
| bool | InsertVarValueEncoding (int literal, int var, int64_t value) |
| int | GetOrCreateVarValueEncoding (int ref, int64_t value) |
| int | GetOrCreateAffineValueEncoding (const LinearExpressionProto &expr, int64_t value) |
| void | CanonicalizeDomainOfSizeTwo (int var) |
| bool | HasVarValueEncoding (int ref, int64_t value, int *literal=nullptr) |
| bool | HasAffineValueEncoding (const LinearExpressionProto &expr, int64_t value, int *literal=nullptr) |
| bool | IsFullyEncoded (int ref) const |
| bool | IsFullyEncoded (const LinearExpressionProto &expr) const |
| bool | IsMostlyFullyEncoded (int ref) const |
| int64_t | GetValueEncodingSize (int ref) const |
| bool | StoreLiteralImpliesVarEqValue (int literal, int var, int64_t value) |
| bool | StoreLiteralImpliesVarNeValue (int literal, int var, int64_t value) |
| void | ReadObjectiveFromProto () |
| bool | AddToObjectiveOffset (int64_t delta) |
| ABSL_MUST_USE_RESULT bool | CanonicalizeOneObjectiveVariable (int var) |
| ABSL_MUST_USE_RESULT bool | CanonicalizeObjective (bool simplify_domain=true) |
| void | WriteObjectiveToProto () const |
| bool | RecomputeSingletonObjectiveDomain () |
| void | WriteVariableDomainsToProto () const |
| bool | ExploitExactlyOneInObjective (absl::Span< const int > exactly_one) |
| bool | ShiftCostInExactlyOne (absl::Span< const int > exactly_one, int64_t shift) |
| void | RemoveVariableFromObjective (int ref) |
| void | AddToObjective (int var, int64_t value) |
| void | AddLiteralToObjective (int ref, int64_t value) |
| ABSL_MUST_USE_RESULT bool | SubstituteVariableInObjective (int var_in_equality, int64_t coeff_in_equality, const ConstraintProto &equality) |
| const Domain & | ObjectiveDomain () const |
| const absl::flat_hash_map< int, int64_t > & | ObjectiveMap () const |
| int64_t | ObjectiveCoeff (int var) const |
| bool | ObjectiveDomainIsConstraining () const |
| void | RemoveNonRepresentativeAffineVariableIfUnused (int var) |
| void | RemoveVariableFromAffineRelation (int var) |
| void | RemoveAllVariablesFromAffineRelationConstraint () |
| absl::Span< const int > | ConstraintToVars (int c) const |
| const absl::flat_hash_set< int > & | VarToConstraints (int var) const |
| int | IntervalUsage (int c) const |
| bool | MarkConstraintAsFalse (ConstraintProto *ct, std::string_view reason) |
| bool | ConstraintIsInactive (int ct_index) const |
| bool | ConstraintIsOptional (int ct_ref) const |
| void | RegisterVariablesUsedInAssumptions () |
| bool | ModelIsExpanded () const |
| void | NotifyThatModelIsExpanded () |
| int | GetOrCreateReifiedPrecedenceLiteral (const LinearExpressionProto &time_i, const LinearExpressionProto &time_j, int active_i, int active_j) |
| std::tuple< int, int64_t, int, int64_t, int64_t, int, int > | GetReifiedPrecedenceKey (const LinearExpressionProto &time_i, const LinearExpressionProto &time_j, int active_i, int active_j) |
| void | ClearPrecedenceCache () |
| void | LogInfo () |
| void | LoadSolutionHint () |
| SolutionCrush & | solution_crush () |
| bool | DebugTestHintFeasibility () |
| SolverLogger * | logger () const |
| const SatParameters & | params () const |
| TimeLimit * | time_limit () |
| ModelRandomGenerator * | random () |
| ConstraintProto * | NewMappingConstraint (absl::string_view file, int line) |
| ConstraintProto * | NewMappingConstraint (const ConstraintProto &base_ct, absl::string_view file, int line) |
Public Attributes | |
| CpModelProto * | working_model = nullptr |
| CpModelProto * | mapping_model = nullptr |
| int64_t | num_presolve_operations = 0 |
| std::vector< int > | tmp_literals |
| std::vector< Domain > | tmp_term_domains |
| std::vector< Domain > | tmp_left_domains |
| absl::flat_hash_set< int > | tmp_literal_set |
| SparseBitset< int > | modified_domains |
| SparseBitset< int > | var_with_reduced_small_degree |
| DomainDeductions | deductions |
|
inline |
Definition at line 100 of file presolve_context.h.
| ConstraintProto * operations_research::sat::PresolveContext::AddEnforcedConstraint | ( | absl::Span< const int > | enforcement_literals | ) |
Definition at line 151 of file presolve_context.cc.
| ConstraintProto * operations_research::sat::PresolveContext::AddEnforcedConstraint | ( | ConstraintProto * | ct | ) |
Definition at line 159 of file presolve_context.cc.
| void operations_research::sat::PresolveContext::AddImplication | ( | int | a, |
| int | b ) |
Definition at line 166 of file presolve_context.cc.
| void operations_research::sat::PresolveContext::AddImplyInDomain | ( | int | b, |
| const LinearExpressionProto & | expr, | ||
| const Domain & | domain ) |
Definition at line 186 of file presolve_context.cc.
| void operations_research::sat::PresolveContext::AddImplyInDomain | ( | int | b, |
| int | x, | ||
| const Domain & | domain ) |
Definition at line 174 of file presolve_context.cc.
| void operations_research::sat::PresolveContext::AddLiteralToObjective | ( | int | ref, |
| int64_t | value ) |
Definition at line 2177 of file presolve_context.cc.
| void operations_research::sat::PresolveContext::AddToObjective | ( | int | var, |
| int64_t | value ) |
Definition at line 2165 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::AddToObjectiveOffset | ( | int64_t | delta | ) |
Definition at line 2194 of file presolve_context.cc.
| std::string operations_research::sat::PresolveContext::AffineRelationDebugString | ( | int | ref | ) | const |
Definition at line 1384 of file presolve_context.cc.
|
inline |
Definition at line 172 of file presolve_context.h.
| bool operations_research::sat::PresolveContext::CanBeUsedAsLiteral | ( | int | ref | ) | const |
Definition at line 206 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::CanonicalizeAffineVariable | ( | int | ref, |
| int64_t | coeff, | ||
| int64_t | mod, | ||
| int64_t | rhs ) |
Definition at line 1065 of file presolve_context.cc.
| void operations_research::sat::PresolveContext::CanonicalizeDomainOfSizeTwo | ( | int | var | ) |
Definition at line 1456 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::CanonicalizeLinearConstraint | ( | ConstraintProto * | ct, |
| bool * | is_impossible = nullptr ) |
Definition at line 2780 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::CanonicalizeLinearExpression | ( | absl::Span< const int > | enforcements, |
| LinearExpressionProto * | expr ) |
Definition at line 2804 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::CanonicalizeObjective | ( | bool | simplify_domain = true | ) |
Definition at line 2037 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::CanonicalizeOneObjectiveVariable | ( | int | var | ) |
Definition at line 1979 of file presolve_context.cc.
| void operations_research::sat::PresolveContext::CanonicalizeVariable | ( | int | ref | ) |
Definition at line 1037 of file presolve_context.cc.
|
inline |
Definition at line 220 of file presolve_context.h.
| void operations_research::sat::PresolveContext::ClearPrecedenceCache | ( | ) |
Definition at line 2574 of file presolve_context.cc.
| void operations_research::sat::PresolveContext::ClearStats | ( | ) |
Definition at line 72 of file presolve_context.cc.
|
inline |
Definition at line 200 of file presolve_context.h.
| bool operations_research::sat::PresolveContext::ConstraintIsInactive | ( | int | ct_index | ) | const |
Definition at line 624 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::ConstraintIsOptional | ( | int | ct_ref | ) | const |
Definition at line 652 of file presolve_context.cc.
|
inline |
Definition at line 605 of file presolve_context.h.
| bool operations_research::sat::PresolveContext::ConstraintVariableGraphIsUpToDate | ( | ) | const |
Definition at line 800 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::ConstraintVariableUsageIsConsistent | ( | ) |
Definition at line 838 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::DebugTestHintFeasibility | ( | ) |
Definition at line 2920 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::DomainContains | ( | const LinearExpressionProto & | expr, |
| int64_t | value ) const |
Definition at line 522 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::DomainIsEmpty | ( | int | ref | ) | const |
Definition at line 196 of file presolve_context.cc.
| const Domain & operations_research::sat::PresolveContext::DomainOf | ( | int | var | ) | const |
Definition at line 507 of file presolve_context.cc.
|
inline |
Definition at line 260 of file presolve_context.h.
| int64_t operations_research::sat::PresolveContext::DomainSize | ( | int | ref | ) | const |
Definition at line 512 of file presolve_context.cc.
| Domain operations_research::sat::PresolveContext::DomainSuperSetOf | ( | const LinearExpressionProto & | expr | ) | const |
Definition at line 302 of file presolve_context.cc.
| int64_t operations_research::sat::PresolveContext::EndMax | ( | int | ct_ref | ) | const |
Definition at line 405 of file presolve_context.cc.
| int64_t operations_research::sat::PresolveContext::EndMin | ( | int | ct_ref | ) | const |
Definition at line 399 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::ExploitExactlyOneInObjective | ( | absl::Span< const int > | exactly_one | ) |
Definition at line 2323 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::ExpressionIsAffineBoolean | ( | const LinearExpressionProto & | expr | ) | const |
Definition at line 312 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::ExpressionIsALiteral | ( | const LinearExpressionProto & | expr, |
| int * | literal = nullptr ) const |
Definition at line 329 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::ExpressionIsSingleVariable | ( | const LinearExpressionProto & | expr | ) | const |
Definition at line 324 of file presolve_context.cc.
| int64_t operations_research::sat::PresolveContext::FixedValue | ( | const LinearExpressionProto & | expr | ) | const |
Definition at line 281 of file presolve_context.cc.
| int64_t operations_research::sat::PresolveContext::FixedValue | ( | int | ref | ) | const |
Definition at line 241 of file presolve_context.cc.
| std::optional< int64_t > operations_research::sat::PresolveContext::FixedValueOrNullopt | ( | const LinearExpressionProto & | expr | ) | const |
Definition at line 290 of file presolve_context.cc.
| AffineRelation::Relation operations_research::sat::PresolveContext::GetAffineRelation | ( | int | ref | ) | const |
Definition at line 1370 of file presolve_context.cc.
| int operations_research::sat::PresolveContext::GetFalseLiteral | ( | ) |
Definition at line 149 of file presolve_context.cc.
| int operations_research::sat::PresolveContext::GetLiteralRepresentative | ( | int | ref | ) | const |
Definition at line 1335 of file presolve_context.cc.
| int operations_research::sat::PresolveContext::GetOrCreateAffineValueEncoding | ( | const LinearExpressionProto & | expr, |
| int64_t | value ) |
Definition at line 1890 of file presolve_context.cc.
| int operations_research::sat::PresolveContext::GetOrCreateReifiedPrecedenceLiteral | ( | const LinearExpressionProto & | time_i, |
| const LinearExpressionProto & | time_j, | ||
| int | active_i, | ||
| int | active_j ) |
Definition at line 2457 of file presolve_context.cc.
| int operations_research::sat::PresolveContext::GetOrCreateVarValueEncoding | ( | int | ref, |
| int64_t | value ) |
Definition at line 1809 of file presolve_context.cc.
| std::tuple< int, int64_t, int, int64_t, int64_t, int, int > operations_research::sat::PresolveContext::GetReifiedPrecedenceKey | ( | const LinearExpressionProto & | time_i, |
| const LinearExpressionProto & | time_j, | ||
| int | active_i, | ||
| int | active_j ) |
Definition at line 2555 of file presolve_context.cc.
| int operations_research::sat::PresolveContext::GetTrueLiteral | ( | ) |
Definition at line 140 of file presolve_context.cc.
| int64_t operations_research::sat::PresolveContext::GetValueEncodingSize | ( | int | ref | ) | const |
Definition at line 1803 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::HasAffineValueEncoding | ( | const LinearExpressionProto & | expr, |
| int64_t | value, | ||
| int * | literal = nullptr ) |
Definition at line 1773 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::HasUnusedAffineVariable | ( | ) | const |
Definition at line 817 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::HasVarValueEncoding | ( | int | ref, |
| int64_t | value, | ||
| int * | literal = nullptr ) |
Definition at line 1746 of file presolve_context.cc.
| void operations_research::sat::PresolveContext::InitializeNewDomains | ( | ) |
Definition at line 1401 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::InsertVarValueEncoding | ( | int | literal, |
| int | var, | ||
| int64_t | value ) |
Definition at line 1711 of file presolve_context.cc.
| ABSL_MUST_USE_RESULT bool operations_research::sat::PresolveContext::IntersectDomainWith | ( | const LinearExpressionProto & | expr, |
| const Domain & | domain, | ||
| bool * | domain_modified = nullptr ) |
Definition at line 579 of file presolve_context.cc.
| ABSL_MUST_USE_RESULT bool operations_research::sat::PresolveContext::IntersectDomainWith | ( | int | ref, |
| const Domain & | domain, | ||
| bool * | domain_modified = nullptr ) |
Definition at line 538 of file presolve_context.cc.
| ABSL_MUST_USE_RESULT bool operations_research::sat::PresolveContext::IntersectionOfAffineExprsIsNotEmpty | ( | const LinearExpressionProto & | a, |
| const LinearExpressionProto & | b ) |
Definition at line 602 of file presolve_context.cc.
| std::string operations_research::sat::PresolveContext::IntervalDebugString | ( | int | ct_ref | ) | const |
Definition at line 361 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::IntervalIsConstant | ( | int | ct_ref | ) | const |
Definition at line 352 of file presolve_context.cc.
|
inline |
Definition at line 613 of file presolve_context.h.
| bool operations_research::sat::PresolveContext::IsFixed | ( | const LinearExpressionProto & | expr | ) | const |
Definition at line 274 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::IsFixed | ( | int | ref | ) | const |
Definition at line 200 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::IsFullyEncoded | ( | const LinearExpressionProto & | expr | ) | const |
Definition at line 1789 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::IsFullyEncoded | ( | int | ref | ) | const |
Definition at line 1781 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::IsMostlyFullyEncoded | ( | int | ref | ) | const |
Definition at line 1795 of file presolve_context.cc.
| int operations_research::sat::PresolveContext::LiteralForExpressionMax | ( | const LinearExpressionProto & | expr | ) | const |
Definition at line 318 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::LiteralIsFalse | ( | int | lit | ) | const |
Definition at line 220 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::LiteralIsTrue | ( | int | lit | ) | const |
Definition at line 211 of file presolve_context.cc.
| void operations_research::sat::PresolveContext::LoadSolutionHint | ( | ) |
Definition at line 1428 of file presolve_context.cc.
|
inline |
Definition at line 680 of file presolve_context.h.
| void operations_research::sat::PresolveContext::LogInfo | ( | ) |
Definition at line 2578 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::MarkConstraintAsFalse | ( | ConstraintProto * | ct, |
| std::string_view | reason ) |
Definition at line 636 of file presolve_context.cc.
| void operations_research::sat::PresolveContext::MarkVariableAsRemoved | ( | int | ref | ) |
Definition at line 463 of file presolve_context.cc.
| int64_t operations_research::sat::PresolveContext::MaxOf | ( | const LinearExpressionProto & | expr | ) | const |
Definition at line 261 of file presolve_context.cc.
| int64_t operations_research::sat::PresolveContext::MaxOf | ( | int | ref | ) | const |
Definition at line 235 of file presolve_context.cc.
| int64_t operations_research::sat::PresolveContext::MinOf | ( | const LinearExpressionProto & | expr | ) | const |
Definition at line 248 of file presolve_context.cc.
| int64_t operations_research::sat::PresolveContext::MinOf | ( | int | ref | ) | const |
Definition at line 229 of file presolve_context.cc.
|
inline |
Definition at line 642 of file presolve_context.h.
|
inline |
Definition at line 324 of file presolve_context.h.
| int operations_research::sat::PresolveContext::NewBoolVar | ( | absl::string_view | source | ) |
Definition at line 122 of file presolve_context.cc.
| int operations_research::sat::PresolveContext::NewBoolVarWithClause | ( | absl::Span< const int > | clause | ) |
Definition at line 127 of file presolve_context.cc.
| int operations_research::sat::PresolveContext::NewBoolVarWithConjunction | ( | absl::Span< const int > | conjunction | ) |
Definition at line 133 of file presolve_context.cc.
| int operations_research::sat::PresolveContext::NewIntVar | ( | const Domain & | domain | ) |
Definition at line 74 of file presolve_context.cc.
| int operations_research::sat::PresolveContext::NewIntVarWithDefinition | ( | const Domain & | domain, |
| absl::Span< const std::pair< int, int64_t > > | definition, | ||
| bool | append_constraint_to_mapping_model = false ) |
Definition at line 81 of file presolve_context.cc.
| ConstraintProto * operations_research::sat::PresolveContext::NewMappingConstraint | ( | absl::string_view | file, |
| int | line ) |
Definition at line 2813 of file presolve_context.cc.
| ConstraintProto * operations_research::sat::PresolveContext::NewMappingConstraint | ( | const ConstraintProto & | base_ct, |
| absl::string_view | file, | ||
| int | line ) |
Definition at line 2823 of file presolve_context.cc.
|
inline |
Definition at line 643 of file presolve_context.h.
|
inline |
Definition at line 317 of file presolve_context.h.
|
inline |
Definition at line 403 of file presolve_context.h.
|
inline |
Definition at line 576 of file presolve_context.h.
|
inline |
Definition at line 572 of file presolve_context.h.
|
inline |
Definition at line 585 of file presolve_context.h.
|
inline |
Definition at line 573 of file presolve_context.h.
|
inline |
Definition at line 681 of file presolve_context.h.
| bool operations_research::sat::PresolveContext::PropagateAffineRelation | ( | int | var | ) |
Definition at line 948 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::PropagateAffineRelation | ( | int | var, |
| int | rep, | ||
| int64_t | coeff, | ||
| int64_t | offset ) |
Definition at line 955 of file presolve_context.cc.
|
inline |
Definition at line 683 of file presolve_context.h.
| void operations_research::sat::PresolveContext::ReadObjectiveFromProto | ( | ) |
Definition at line 1909 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::RecomputeSingletonObjectiveDomain | ( | ) |
Definition at line 2140 of file presolve_context.cc.
| std::string operations_research::sat::PresolveContext::RefDebugString | ( | int | ref | ) | const |
Definition at line 1379 of file presolve_context.cc.
|
inline |
Definition at line 633 of file presolve_context.h.
| void operations_research::sat::PresolveContext::RemoveAllVariablesFromAffineRelationConstraint | ( | ) |
Definition at line 978 of file presolve_context.cc.
| void operations_research::sat::PresolveContext::RemoveNonRepresentativeAffineVariableIfUnused | ( | int | var | ) |
Definition at line 984 of file presolve_context.cc.
| void operations_research::sat::PresolveContext::RemoveVariableFromAffineRelation | ( | int | var | ) |
Definition at line 1009 of file presolve_context.cc.
| void operations_research::sat::PresolveContext::RemoveVariableFromObjective | ( | int | ref | ) |
Definition at line 2158 of file presolve_context.cc.
| void operations_research::sat::PresolveContext::ResetAfterCopy | ( | ) |
Definition at line 1390 of file presolve_context.cc.
| ABSL_MUST_USE_RESULT bool operations_research::sat::PresolveContext::SetLiteralToFalse | ( | int | lit | ) |
Definition at line 614 of file presolve_context.cc.
| ABSL_MUST_USE_RESULT bool operations_research::sat::PresolveContext::SetLiteralToTrue | ( | int | lit | ) |
Definition at line 620 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::ShiftCostInExactlyOne | ( | absl::Span< const int > | exactly_one, |
| int64_t | shift ) |
Definition at line 2345 of file presolve_context.cc.
| int64_t operations_research::sat::PresolveContext::SizeMax | ( | int | ct_ref | ) | const |
Definition at line 417 of file presolve_context.cc.
| int64_t operations_research::sat::PresolveContext::SizeMin | ( | int | ct_ref | ) | const |
Definition at line 411 of file presolve_context.cc.
|
inline |
Definition at line 674 of file presolve_context.h.
| int64_t operations_research::sat::PresolveContext::StartMax | ( | int | ct_ref | ) | const |
Definition at line 393 of file presolve_context.cc.
| int64_t operations_research::sat::PresolveContext::StartMin | ( | int | ct_ref | ) | const |
Definition at line 387 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::StoreAffineRelation | ( | int | var_x, |
| int | var_y, | ||
| int64_t | coeff, | ||
| int64_t | offset, | ||
| bool | debug_no_recursion = false ) |
Definition at line 1129 of file presolve_context.cc.
| ABSL_MUST_USE_RESULT bool operations_research::sat::PresolveContext::StoreBooleanEqualityRelation | ( | int | ref_a, |
| int | ref_b ) |
Definition at line 1308 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::StoreLiteralImpliesVarEqValue | ( | int | literal, |
| int | var, | ||
| int64_t | value ) |
Definition at line 1726 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::StoreLiteralImpliesVarNeValue | ( | int | literal, |
| int | var, | ||
| int64_t | value ) |
Definition at line 1736 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::SubstituteVariableInObjective | ( | int | var_in_equality, |
| int64_t | coeff_in_equality, | ||
| const ConstraintProto & | equality ) |
Definition at line 2207 of file presolve_context.cc.
|
inline |
Definition at line 682 of file presolve_context.h.
| void operations_research::sat::PresolveContext::UpdateConstraintVariableUsage | ( | int | c | ) |
Definition at line 748 of file presolve_context.cc.
| void operations_research::sat::PresolveContext::UpdateNewConstraintsVariableUsage | ( | ) |
Definition at line 805 of file presolve_context.cc.
| void operations_research::sat::PresolveContext::UpdateRuleStats | ( | std::string_view | name, |
| int | num_times = 1 ) |
Definition at line 662 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::VarCanTakeValue | ( | int | var, |
| int64_t | value ) const |
Definition at line 516 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::VariableIsAffineRepresentative | ( | int | var | ) | const |
Definition at line 1364 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::VariableIsNotUsedAnymore | ( | int | ref | ) | const |
Definition at line 458 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::VariableIsOnlyUsedInEncodingAndMaybeInObjective | ( | int | var | ) | const |
Definition at line 489 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::VariableIsOnlyUsedInLinear1AndOneExtraConstraint | ( | int | var | ) | const |
Definition at line 499 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::VariableIsUnique | ( | int | ref | ) | const |
Definition at line 427 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::VariableIsUniqueAndRemovable | ( | int | ref | ) | const |
Definition at line 433 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::VariableWasRemoved | ( | int | ref | ) | const |
Definition at line 470 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::VariableWithCostIsUnique | ( | int | ref | ) | const |
Definition at line 438 of file presolve_context.cc.
| bool operations_research::sat::PresolveContext::VariableWithCostIsUniqueAndRemovable | ( | int | ref | ) | const |
Definition at line 449 of file presolve_context.cc.
|
inline |
Definition at line 609 of file presolve_context.h.
| void operations_research::sat::PresolveContext::WriteObjectiveToProto | ( | ) | const |
Definition at line 2417 of file presolve_context.cc.
| void operations_research::sat::PresolveContext::WriteVariableDomainsToProto | ( | ) | const |
Definition at line 2451 of file presolve_context.cc.
| DomainDeductions operations_research::sat::PresolveContext::deductions |
Definition at line 709 of file presolve_context.h.
| CpModelProto* operations_research::sat::PresolveContext::mapping_model = nullptr |
Definition at line 686 of file presolve_context.h.
| SparseBitset<int> operations_research::sat::PresolveContext::modified_domains |
Definition at line 702 of file presolve_context.h.
| int64_t operations_research::sat::PresolveContext::num_presolve_operations = 0 |
Definition at line 693 of file presolve_context.h.
| std::vector<Domain> operations_research::sat::PresolveContext::tmp_left_domains |
Definition at line 698 of file presolve_context.h.
| absl::flat_hash_set<int> operations_research::sat::PresolveContext::tmp_literal_set |
Definition at line 699 of file presolve_context.h.
| std::vector<int> operations_research::sat::PresolveContext::tmp_literals |
Definition at line 696 of file presolve_context.h.
| std::vector<Domain> operations_research::sat::PresolveContext::tmp_term_domains |
Definition at line 697 of file presolve_context.h.
| SparseBitset<int> operations_research::sat::PresolveContext::var_with_reduced_small_degree |
Definition at line 706 of file presolve_context.h.
| CpModelProto* operations_research::sat::PresolveContext::working_model = nullptr |
Definition at line 685 of file presolve_context.h.