/dports/math/py-or-tools/or-tools-9.2/ortools/sat/ |
H A D | integer_expr.cc | 214 if (!integer_trail_->Enqueue( in Propagate() 359 if (!integer_trail_->Enqueue( in Propagate() 369 if (!integer_trail_->Enqueue( in Propagate() 430 if (!integer_trail_->Enqueue( in Propagate() 528 if (!integer_trail_->Enqueue( in PropagateLinearUpperBound() 719 if (!integer_trail_->SafeEnqueue( in PropagateWhenAllNonNegative() 732 if (!integer_trail_->SafeEnqueue( in PropagateWhenAllNonNegative() 793 if (!integer_trail_->SafeEnqueue( in PropagateMaxOnPositiveProduct() 804 if (!integer_trail_->SafeEnqueue( in PropagateMaxOnPositiveProduct() 842 if (!integer_trail_->SafeEnqueue( in Propagate() [all …]
|
H A D | precedences.cc | 256 if (integer_trail_->IsOptional(tail)) { in AddArc() 260 if (integer_trail_->IsOptional(head)) { in AddArc() 265 integer_trail_->IsOptional(offset_var)) { in AddArc() 296 if (lb == integer_trail_->UpperBound(offset_var)) { in AddArc() 360 if (integer_trail_->IsOptional(a.head_var)) { in AddArc() 474 if (!integer_trail_->IsOptional(arc.head_var)) { in EnqueueAndCheck() 489 return integer_trail_->Enqueue( in EnqueueAndCheck() 501 integer_trail_->LowerBound(arc.head_var)) { in NoPropagationLeft() 610 if (integer_trail_->IsOptional(arc.head_var)) { in AnalyzePositiveCycle() 612 integer_trail_->IsIgnoredLiteral(arc.head_var)); in AnalyzePositiveCycle() [all …]
|
H A D | cumulative_energy.cc | 87 integer_trail_(integer_trail), in CumulativeEnergyConstraint() 106 const IntegerValue capacity_max = integer_trail_->UpperBound(capacity_); in Propagate() 116 integer_trail_->UpperBound(energies_[task]) == 0) { in Propagate() 146 integer_trail_->LowerBound(energies_[current_task]), in Propagate() 147 integer_trail_->UpperBound(energies_[current_task])); in Propagate() 151 integer_trail_->UpperBound(energies_[current_task])); in Propagate() 174 if (new_capacity_min > integer_trail_->LowerBound(capacity_)) { in Propagate() 239 integer_trail_->UpperBoundAsLiteral(capacity_.var)); in Propagate() 288 integer_trail_(integer_trail), in CumulativeIsAfterSubsetConstraint() 372 integer_trail_->LowerBoundAsLiteral(demands_[t].var)); in Propagate() [all …]
|
H A D | integer.cc | 579 CHECK_LE(target, integer_trail_.size()); in Untrail() 588 integer_trail_.resize(target); in Untrail() 616 integer_trail_.reserve(size); in ReserveSpaceForNumVariables() 630 DCHECK_EQ(vars_.size(), integer_trail_.size()); in AddIntegerVariable() 635 integer_trail_.push_back({lower_bound, i}); in AddIntegerVariable() 754 integer_trail_[cached_index].var == var) { in FindTrailIndexOfVarBefore() 1002 if (limit < integer_trail_.size()) { in DebugString() 1031 integer_trail_.size()); in Enqueue() 1475 integer_trail_.push_back({/*bound=*/i_lit.bound, in EnqueueInternal() 1790 const TrailEntry& entry = integer_trail_[i]; in AppendNewBounds() [all …]
|
H A D | scheduling_constraints.cc | 34 integer_trail_(model->GetOrCreate<IntegerTrail>()), in SelectedMinPropagator() 46 IntegerTrail* integer_trail_; member in operations_research::sat::SelectedMinPropagator 75 if (integer_trail_->OptionalLiteralIndex(i_lit.var) != in Propagate() 83 if (i_lit.bound > integer_trail_->UpperBound(i_lit.var)) { in Propagate() 103 const IntegerValue target_min = integer_trail_->LowerBound(target_); in Propagate() 104 const IntegerValue target_max = integer_trail_->UpperBound(target_); in Propagate() 118 const IntegerValue var_min = integer_trail_->LowerBound(exprs_[i]); in Propagate() 119 const IntegerValue var_max = integer_trail_->UpperBound(exprs_[i]); in Propagate() 198 DCHECK_GE(integer_trail_->LowerBound(target_), min_of_mins); in Propagate() 214 if (target_min > integer_trail_->LowerBound(unique_selected_var)) { in Propagate() [all …]
|
H A D | lb_tree_search.cc | 28 integer_trail_(model->GetOrCreate<IntegerTrail>()), in LbTreeSearch() 170 integer_trail_->LowerBound(objective_var_)); in Search() 181 if (integer_trail_->LowerBound(objective_var_) > in Search() 182 integer_trail_->LevelZeroLowerBound(objective_var_)) { in Search() 184 integer_trail_->ReasonFor(IntegerLiteral::GreaterOrEqual( in Search() 194 integer_trail_->LowerBound(objective_var_)); in Search() 214 bound, integer_trail_->LevelZeroUpperBound(objective_var_)); in Search() 230 if (integer_trail_->LowerBound(objective_var_) > in Search() 231 integer_trail_->LevelZeroLowerBound(objective_var_)) { in Search() 233 integer_trail_->ReasonFor(IntegerLiteral::GreaterOrEqual( in Search() [all …]
|
H A D | timetable.cc | 62 integer_trail_(model->GetOrCreate<IntegerTrail>()) { 107 const IntegerValue ub = integer_trail_->UpperBound(times_[e]); 156 if (integer_trail_->UpperBound(times_[e]) > t) continue; 162 } else if (integer_trail_->LowerBound(times_[e]) > t) { 174 const IntegerValue end = integer_trail_->UpperBound(times_[event]); 223 return integer_trail_->Enqueue(times_[event].LowerOrEqual(new_end), 275 return integer_trail_->ConditionalEnqueue( 286 integer_trail_(integer_trail), 575 integer_trail_->UpperBoundAsLiteral(capacity_.var)); 606 integer_trail_->LowerBoundAsLiteral(demands_[t].var)); [all …]
|
H A D | linear_programming_constraint.cc | 165 implied_bounds_processor_({}, integer_trail_, in LinearProgrammingConstraint() 301 if (integer_trail_->IsFixedAtLevelZero(var)) { in CreateLpFromConstraintManager() 544 integer_trail_->RegisterReversibleClass(this); in RegisterWith() 1499 return integer_trail_->ReportConflict({}); in Propagate() 2641 if (integer_trail_->LowerBound(var) == 0 && in HeuristicLpMostInfeasibleBinary() 2642 integer_trail_->UpperBound(var) == 1) { in HeuristicLpMostInfeasibleBinary() 2687 if (integer_trail_->LowerBound(var) == 0 && in HeuristicLpReducedCostBinary() 2688 integer_trail_->UpperBound(var) == 1) { in HeuristicLpReducedCostBinary() 2743 if (integer_trail_->IsFixed(var)) continue; in HeuristicLpReducedCostBinary() 2788 if (integer_trail_->IsFixed(var)) continue; in UpdateAverageReducedCosts() [all …]
|
H A D | pseudo_costs.cc | 28 : integer_trail_(*model->GetOrCreate<IntegerTrail>()), 30 const int num_vars = integer_trail_.NumIntegerVariables().value(); 51 if (integer_trail_.IsCurrentlyIgnored(decision.var)) continue; 71 if (integer_trail_.IsCurrentlyIgnored(positive_var)) continue; 72 const IntegerValue lb = integer_trail_.LowerBound(positive_var); 73 const IntegerValue ub = integer_trail_.UpperBound(positive_var);
|
H A D | intervals.cc | 70 integer_trail_(model->GetOrCreate<IntegerTrail>()), in SchedulingConstraintHelper() 103 integer_trail_(model->GetOrCreate<IntegerTrail>()), in SchedulingConstraintHelper() 145 integer_trail_->RegisterReversibleClass(this); in RegisterWith() 152 IntegerValue smin = integer_trail_->LowerBound(starts_[t]); in UpdateCachedValues() 153 IntegerValue smax = integer_trail_->UpperBound(starts_[t]); in UpdateCachedValues() 154 IntegerValue emin = integer_trail_->LowerBound(ends_[t]); in UpdateCachedValues() 155 IntegerValue emax = integer_trail_->UpperBound(ends_[t]); in UpdateCachedValues() 164 IntegerValue dmax = integer_trail_->UpperBound(sizes_[t]); in UpdateCachedValues() 406 if (emin_after <= integer_trail_->LowerBound(ends_[after])) { in AddReasonForBeingBefore() 421 integer_trail_->AppendRelaxedLinearReason( in AddReasonForBeingBefore() [all …]
|
H A D | timetable.h | 94 IntegerTrail* integer_trail_; variable 160 return integer_trail_->LowerBound(capacity_); in CapacityMin() 164 return integer_trail_->UpperBound(capacity_); in CapacityMax() 168 return integer_trail_->LowerBound(demands_[task_id]); in DemandMin() 172 return integer_trail_->UpperBound(demands_[task_id]); in DemandMax() 189 IntegerTrail* integer_trail_; variable
|
H A D | cp_constraints.cc | 52 integer_trail_->EnqueueLiteral(sum == value_ ? u.Negated() : u, in Propagate() 90 integer_trail_(model->GetOrCreate<IntegerTrail>()) {} in GreaterThanAtLeastOneOfPropagator() 103 const IntegerValue current_min = integer_trail_->LowerBound(target_var_); in Propagate() 108 integer_trail_->LowerBound(vars_[i]) + offsets_[i]); in Propagate() 132 return integer_trail_->Enqueue( in Propagate()
|
H A D | timetable_edgefinding.h | 91 return integer_trail_->LowerBound(demands_[task_index]); in DemandMin() 95 return integer_trail_->UpperBound(capacity_); in CapacityMax() 107 IntegerTrail* integer_trail_; variable
|
H A D | implied_bounds.cc | 43 level_zero_lower_bounds_[var], integer_trail_->LevelZeroLowerBound(var)); in Add() 55 if (integer_trail_->LevelZeroLowerBound(var) + 1 >= in Add() 56 integer_trail_->LevelZeroUpperBound(var)) { in Add() 73 if (integer_trail_->LevelZeroUpperBound(var) == integer_literal.bound) { in Add() 100 DCHECK_GT(deduction, integer_trail_->LevelZeroLowerBound(var)); in Add() 112 var, integer_trail_->LevelZeroLowerBound(var)) in Add() 137 if (integer_trail_->IsOptional(var)) return; in Add() 176 level_zero_lower_bounds_[var], integer_trail_->LevelZeroLowerBound(var)); in GetImpliedBounds() 202 integer_trail_->AppendNewBounds(&tmp_integer_literals_); in ProcessIntegerTrail() 233 if (!integer_trail_->Enqueue( in EnqueueNewDeductions()
|
H A D | intervals.h | 52 integer_trail_(model->GetOrCreate<IntegerTrail>()) {} in IntervalsRepository() 123 return integer_trail_->LowerBound(sizes_[i]); in MinSize() 128 return integer_trail_->UpperBound(sizes_[i]); in MaxSize() 144 IntegerTrail* integer_trail_; variable 229 return integer_trail_->UpperBound(sizes_[t]); in SizeMax() 399 IntegerTrail* integer_trail_; variable 463 return integer_trail_->IsFixed(starts_[t]); in StartIsFixed() 467 return integer_trail_->IsFixed(ends_[t]); in EndIsFixed() 471 return integer_trail_->IsFixed(sizes_[t]); in SizeIsFixed() 520 if (integer_trail_->UpperBound(a) <= upper_bound) { in AddGenericReason() [all …]
|
H A D | timetable_edgefinding.cc | 38 integer_trail_(integer_trail) { in TimeTableEdgeFinding() 59 const int64_t old_timestamp = integer_trail_->num_enqueues(); in Propagate() 68 if (old_timestamp == integer_trail_->num_enqueues()) break; in Propagate() 315 integer_trail_->UpperBoundAsLiteral(capacity_.var)); in IncreaseStartMin() 322 integer_trail_->LowerBoundAsLiteral(demands_[task_index].var)); in IncreaseStartMin() 336 integer_trail_->LowerBoundAsLiteral(demands_[t].var)); in IncreaseStartMin()
|
H A D | optimization.cc | 1318 integer_trail_(model->GetOrCreate<IntegerTrail>()), in CoreBasedOptimizer() 1349 const IntegerValue value = integer_trail_->LowerBound(term.var); in ProcessSolution() 1376 return integer_trail_->Enqueue( in ProcessSolution() 1397 if (!integer_trail_->Enqueue(IntegerLiteral::GreaterOrEqual( in PropagateObjectiveBounds() 1430 CHECK(!integer_trail_->IsCurrentlyIgnored(term.var)); in PropagateObjectiveBounds() 1431 if (!integer_trail_->Enqueue( in PropagateObjectiveBounds() 1494 std::min(term.cover_ub, integer_trail_->UpperBound(var)); in CoverOptimization() 1499 if (best <= integer_trail_->LowerBound(var)) continue; in CoverOptimization() 1508 while (best > integer_trail_->LowerBound(var)) { in CoverOptimization() 1514 best = integer_trail_->LowerBound(var); in CoverOptimization() [all …]
|
H A D | all_different.cc | 113 integer_trail_(integer_trail) { in AllDifferentConstraint() 122 variable_min_value_[x] = integer_trail_->LowerBound(variables_[x]).value(); in AllDifferentConstraint() 123 variable_max_value_[x] = integer_trail_->UpperBound(variables_[x]).value(); in AllDifferentConstraint() 262 const int64_t min_value = integer_trail_->LowerBound(variables_[x]).value(); in Propagate() 263 const int64_t max_value = integer_trail_->UpperBound(variables_[x]).value(); in Propagate() 439 : integer_trail_(integer_trail) { in AllDifferentBoundsPropagator() 499 entry.lb = integer_trail_->LowerBound(entry.expr); in PropagateLowerBounds() 500 entry.ub = integer_trail_->UpperBound(entry.expr); in PropagateLowerBounds() 586 if (!integer_trail_->SafeEnqueue(expr.GreaterOrEqual(he + 1), in PropagateLowerBoundsInternal() 633 if (end > integer_trail_->UpperBound(expr)) return true; in PropagateLowerBoundsInternal()
|
H A D | linear_constraint_manager.cc | 331 const IntegerValue lb = integer_trail_.LevelZeroLowerBound(var); in SimplifyConstraint() 332 const IntegerValue ub = integer_trail_.LevelZeroUpperBound(var); in SimplifyConstraint() 357 const IntegerValue lb = integer_trail_.LevelZeroLowerBound(var); in SimplifyConstraint() 358 const IntegerValue ub = integer_trail_.LevelZeroUpperBound(var); in SimplifyConstraint() 404 const IntegerValue ub = integer_trail_.LevelZeroUpperBound(var); in SimplifyConstraint() 409 const IntegerValue lb = integer_trail_.LevelZeroLowerBound(var); in SimplifyConstraint() 429 const IntegerValue lb = integer_trail_.LevelZeroLowerBound(var); in SimplifyConstraint() 434 const IntegerValue ub = integer_trail_.LevelZeroUpperBound(var); in SimplifyConstraint() 456 integer_trail_.num_level_zero_enqueues() > last_simplification_timestamp_; in ChangeLp() 457 last_simplification_timestamp_ = integer_trail_.num_level_zero_enqueues(); in ChangeLp()
|
H A D | cp_constraints.h | 46 integer_trail_(integer_trail) {} in BooleanXorPropagator() 56 IntegerTrail* integer_trail_; variable 90 IntegerTrail* integer_trail_; variable
|
H A D | cumulative_energy.h | 65 IntegerTrail* integer_trail_; 105 IntegerTrail* integer_trail_;
|
H A D | integer_search.cc | 768 integer_trail_(model->GetOrCreate<IntegerTrail>()), in IntegerSearchHelper() 783 if (integer_trail_->HasPendingRootLevelDeduction()) { in BeforeTakingDecision() 818 if (integer_trail_->InPropagationLoop()) { in GetDecision() 820 integer_trail_->NextVariableToBranchOnInPropagationLoop(); in GetDecision() 823 GreaterOrEqualToMiddleValue(var, integer_trail_); in GetDecision() 830 integer_trail_->CurrentBranchHadAnIncompletePropagation()) { in GetDecision() 831 const IntegerVariable var = integer_trail_->FirstUnassignedVariable(); in GetDecision() 833 new_decision.integer_literal = AtMinValue(var, integer_trail_); in GetDecision() 871 old_obj_lb = integer_trail_->LowerBound(objective_var_); in TakeDecision() 872 old_obj_ub = integer_trail_->UpperBound(objective_var_); in TakeDecision() [all …]
|
H A D | integer_expr.h | 92 IntegerTrail* integer_trail_; variable 143 IntegerTrail* integer_trail_; variable 181 IntegerTrail* integer_trail_; variable 213 IntegerTrail* integer_trail_; variable 248 IntegerTrail* integer_trail_; variable 286 IntegerTrail* integer_trail_; variable 306 IntegerTrail* integer_trail_; variable 332 IntegerTrail* integer_trail_; variable 350 IntegerTrail* integer_trail_; variable
|
H A D | probing.cc | 37 integer_trail_(model->GetOrCreate<IntegerTrail>()), in Prober() 72 integer_trail_->AppendNewBounds(&new_integer_bounds_); in ProbeOneVariableInternal() 141 integer_trail_->InitialVariableDomain(prev_var); in ProbeOneVariableInternal() 146 if (!integer_trail_->UpdateInitialDomain(prev_var, new_domain)) { in ProbeOneVariableInternal() 168 if (new_bound > integer_trail_->LowerBound(var)) { in ProbeOneVariableInternal() 170 if (!integer_trail_->Enqueue( in ProbeOneVariableInternal()
|
H A D | feasibility_pump.cc | 41 integer_trail_(model->GetOrCreate<IntegerTrail>()), in FeasibilityPump() 240 const double lb = ToDouble(integer_trail_->LevelZeroLowerBound(cp_var)); in InitializeWorkingLP() 241 const double ub = ToDouble(integer_trail_->LevelZeroUpperBound(cp_var)); in InitializeWorkingLP() 410 const double lb = ToDouble(integer_trail_->LevelZeroLowerBound(cp_var)); in UpdateBoundsOfLpVariables() 411 const double ub = ToDouble(integer_trail_->LevelZeroUpperBound(cp_var)); in UpdateBoundsOfLpVariables() 586 const IntegerValue lb = integer_trail_->LowerBound(var); in PropagationRounding() 587 const IntegerValue ub = integer_trail_->UpperBound(var); in PropagationRounding()
|