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

Namespaces

namespace  v1

Classes

class  Precedences2DPropagator
class  MandatoryOverlapPropagator
struct  OrthogonalPackingOptions
class  OrthogonalPackingResult
class  OrthogonalPackingInfeasibilityDetector
class  DualFeasibleFunctionF0
class  RoundingDualFeasibleFunction
class  RoundingDualFeasibleFunctionPowerOfTwo
class  DFFComposedF2F0
struct  BruteForceResult
struct  PermutableItem
struct  Disjoint2dPackingResult
class  Neighbours
struct  ShapePath
struct  SingleShape
class  TryEdgeRectanglePropagator
class  AllDifferentConstraint
class  AllDifferentBoundsPropagator
class  CircuitPropagator
class  NoCyclePropagator
class  CircuitCoveringPropagator
class  SccGraph
class  LratEquivalenceHelper
class  SatClause
struct  ClauseInfo
class  ClauseManager
struct  BinaryClause
class  BinaryClauseManager
class  BinaryImplicationGraph
struct  PushedSolutionPointers
class  CompiledCircuitConstraint
class  LinearIncrementalEvaluator
class  CompiledConstraint
class  CompiledConstraintWithProto
class  LsEvaluator
class  CompiledBoolXorConstraint
class  CompiledLinMaxConstraint
class  CompiledIntProdConstraint
class  CompiledIntDivConstraint
class  CompiledIntModConstraint
class  CompiledAllDiffConstraint
struct  ViewOfAffineLinearExpressionProto
class  CompiledNoOverlapWithTwoIntervals
class  CompiledNoOverlap2dConstraint
class  CompiledNoOverlap2dWithTwoBoxes
class  CompiledReservoirConstraint
class  LiteralsOrOffsets
class  BooleanXorPropagator
class  GreaterThanAtLeastOneOfPropagator
class  BoolVar
class  IntVar
class  LinearExpr
class  DoubleLinearExpr
class  IntervalVar
class  Constraint
class  CircuitConstraint
class  MultipleCircuitConstraint
class  TableConstraint
class  ReservoirConstraint
class  AutomatonConstraint
class  NoOverlap2DConstraint
class  CumulativeConstraint
class  CpModelBuilder
class  ModelCopy
struct  Neighborhood
class  NeighborhoodGeneratorHelper
class  NeighborhoodGenerator
class  RelaxRandomVariablesGenerator
class  RelaxRandomConstraintsGenerator
class  VariableGraphNeighborhoodGenerator
class  ArcGraphNeighborhoodGenerator
class  ConstraintGraphNeighborhoodGenerator
class  DecompositionGraphNeighborhoodGenerator
class  LocalBranchingLpBasedNeighborhoodGenerator
class  RandomIntervalSchedulingNeighborhoodGenerator
class  RandomPrecedenceSchedulingNeighborhoodGenerator
class  SchedulingTimeWindowNeighborhoodGenerator
class  SchedulingResourceWindowsNeighborhoodGenerator
class  RandomRectanglesPackingNeighborhoodGenerator
class  RectanglesPackingRelaxOneNeighborhoodGenerator
class  RectanglesPackingRelaxTwoNeighborhoodsGenerator
class  RandomPrecedencesPackingNeighborhoodGenerator
class  SlicePackingNeighborhoodGenerator
class  RoutingRandomNeighborhoodGenerator
class  RoutingPathNeighborhoodGenerator
class  RoutingFullPathNeighborhoodGenerator
class  RelaxationInducedNeighborhoodGenerator
struct  ObjectiveDefinition
class  CpModelMapping
struct  ColumnHashForDuplicateDetection
struct  ColumnEqForDuplicateDetection
class  CpModelPresolver
struct  VarValue
class  CpModelView
class  SubsolverNameFilter
struct  SharedClasses
class  SolverProgressLogger
struct  IndexReferences
class  CumulativeEnergyConstraint
class  CumulativeIsAfterSubsetConstraint
class  CumulativeDualFeasibleEnergyConstraint
struct  CutGenerator
struct  CutTerm
struct  CutData
class  CutDataBuilder
class  ImpliedBoundsProcessor
class  GUBHelper
struct  RoundingOptions
class  IntegerRoundingCutHelper
class  CoverCutHelper
class  BoolRLTCutHelper
class  SumOfAllDiffLowerBounder
class  NonOverlappingRectanglesEnergyPropagator
class  NonOverlappingRectanglesDisjunctivePropagator
class  RectanglePairwisePropagator
struct  DiffnEnergyEvent
struct  DiffnBaseEvent
struct  DiffnCtEvent
struct  BinaryTreeNode
struct  SweepLineIntervalTree
struct  Rectangle32
struct  Rectangle
struct  IndexedInterval
struct  ItemWithVariableSize
struct  PairwiseRestriction
class  CapacityProfile
struct  RectangleInRange
class  ProbingRectangle
struct  FindRectanglesResult
struct  DiophantineSolution
class  TaskSet
struct  PropagationStatistics
class  DisjunctiveOverloadChecker
class  DisjunctiveSimplePrecedences
class  DisjunctiveDetectablePrecedences
class  CombinedDisjunctive
class  DisjunctiveNotLast
class  DisjunctiveEdgeFinding
class  DisjunctivePrecedences
class  DisjunctiveWithTwoItems
class  DratChecker
class  DratWriter
class  EncodingNode
class  ObjectiveEncoder
class  EnforcementPropagator
class  EnforcementHelper
class  JumpTable
class  VarDomainWrapper
struct  LsCounters
struct  LsOptions
struct  LsState
class  SharedLsStates
class  FeasibilityJumpSolver
class  CompoundMoveBuilder
class  FeasibilityPump
struct  ImpliedBoundEntry
class  ImpliedBounds
class  ElementEncodings
class  ProductDecomposer
class  ProductDetector
class  InclusionDetector
class  SubsetsDetector
struct  LiteralValueValue
struct  DelayedRootLevelDeduction
class  IntegerEncoder
struct  IntegerReason
class  LazyReasonInterface
struct  GlobalTrailIndex
class  IntegerTrail
class  PropagatorInterface
class  RevIntRepository
class  RevIntegerValueRepository
class  GenericLiteralWatcher
struct  LevelZeroCallbackHelper
struct  IntegerLiteral
struct  AffineExpression
struct  LinearExpression2
class  BestBinaryRelationBounds
struct  IntegerDomains
struct  DebugSolution
struct  ValueLiteralPair
class  LinearConstraintPropagator
class  LevelZeroEquality
class  MinPropagator
class  GreaterThanMinOfExprsPropagator
class  ProductPropagator
class  DivisionPropagator
class  FixedDivisionPropagator
class  FixedModuloPropagator
class  SquarePropagator
class  IntegerConflictResolution
struct  BooleanOrIntegerLiteral
struct  SearchHeuristics
struct  BooleanOrIntegerVariable
class  IntegerSearchHelper
class  ContinuousProber
class  IntervalsRepository
class  LbTreeSearch
struct  LinearConstraint
struct  LinearExpression
class  LinearConstraintBuilder
struct  ModelLpValues
struct  ModelReducedCosts
struct  ModelLpVariableMapping
class  LinearConstraintSymmetrizer
class  LinearConstraintManager
class  TopNCuts
class  LinearModel
class  ScatteredIntegerVector
class  LinearProgrammingConstraint
class  LinearProgrammingDispatcher
class  LinearProgrammingConstraintCollection
class  ConstraintPropagationOrder
class  LinearPropagator
struct  LinearRelaxation
struct  ConstraintScaler
class  LratChecker
class  LratWriter
class  LratMerger
class  LratProofHandler
class  HittingSetOptimizer
class  Model
class  NoOverlap2DConstraintHelper
class  PrecedencesPropagator
class  OpbReader
class  CoreBasedOptimizer
struct  LiteralWithCoeff
class  CanonicalBooleanLinearProblem
class  MutableUpperBoundedLinearConstraint
struct  PbConstraintsEnqueueHelper
class  UpperBoundedLinearConstraint
class  PbConstraints
class  VariableWithSameReasonIdentifier
class  Linear2Indices
class  Linear2Watcher
class  RootLevelLinear2Bounds
struct  FullIntegerPrecedence
class  TransitivePrecedencesEvaluator
class  EnforcedLinear2Bounds
struct  Relation
class  ConditionalLinear2Bounds
class  Linear2BoundsFromLinear3
class  ReifiedLinear2Bounds
class  Linear2Bounds
class  GreaterThanAtLeastOneOfDetector
class  SavedLiteral
class  SavedVariable
class  PresolveContext
struct  VariableEncodingLocalModel
class  DomainDeductions
class  VectorWithSparseUsage
class  ActivityBoundHelper
class  ClauseWithOneMissingHasher
struct  VariableRelationships
class  TrailCopy
class  Prober
struct  ProbingOptions
class  FailedLiteralProbing
class  PseudoCosts
class  RecordReader
class  RecordWriter
class  RestartPolicy
struct  ReducedDomainNeighborhood
struct  RoutingCumulExpressions
struct  NodeExpression
class  RouteRelationsHelper
class  SpecialBinPackingHelper
class  BestBoundHelper
class  MinOutgoingFlowHelper
struct  ArcWithLpValue
class  Literal
class  VariablesAssignment
class  AssignmentView
class  ClauseIdGenerator
struct  AssignmentInfo
struct  AssignmentType
struct  LiteralWithTrailIndex
class  Trail
class  SatPropagator
class  LinearBooleanProblemWrapper
class  CpModelProtoWrapper
class  SatCnfReader
class  SatDecisionPolicy
struct  PostsolveClauses
struct  SatPresolveOptions
class  Inprocessing
class  StampingSimplifier
class  BlockedClauseSimplifier
class  BoundedVariableElimination
class  GateCongruenceClosure
class  SatSolver
class  EquivalenceSatSweeping
struct  SatSweepingResult
struct  EnergyEvent
struct  CachedIntervalData
struct  CompletionTimeEvent
class  CtExhaustiveHelper
struct  TaskTime
struct  CachedTaskBounds
struct  IntervalDefinition
class  SchedulingConstraintHelper
class  SchedulingDemandHelper
class  ObjectiveShavingSolver
class  VariablesShavingSolver
class  PropagationGraph
class  SatPostsolver
class  SatPresolver
class  SolutionCrush
class  SharedStatTables
class  SubSolver
class  SynchronizationPoint
class  SymmetryPropagator
struct  SolverStatusChangeInfo
class  SharedSolutionRepository
class  SharedLPSolutionRepository
class  SharedSolutionPool
class  SharedLsSolutionRepository
class  SharedIncompleteSolutionManager
class  SharedResponseManager
class  SharedBoundsManager
class  UniqueClauseStream
class  SharedClausesManager
class  SharedLinear2Bounds
class  SharedStatistics
class  SharedLratProofStatus
class  ReservoirTimeTabling
class  TimeTablingPerTask
class  TimeTableEdgeFinding
class  IdentityMap
class  CompactVectorVector
class  MergeableOccurrenceList
class  FixedCapacityVector
class  ModelRandomGenerator
class  ModelSharedTimeLimit
class  MaxBoundedSubsetSum
class  FirstFewValues
class  SortedSubsetSums
class  MaxBoundedSubsetSumExact
class  BasicKnapsackSolver
class  IncrementalAverage
class  ExponentialMovingAverage
class  Percentile
class  TopN
class  DagTopologicalSortIterator
class  VarDomination
class  DualBoundStrengthening
class  ValueEncoding
class  OrderEncoding
class  Vivifier
class  ProtoLiteral
class  ProtoTrail
class  SharedTreeManager
class  SharedTreeWorker
class  ZeroHalfCutHelper
class  PartialVariableAssignment
struct  LinearObjectiveDefaultTypeInternal
struct  LinearBooleanConstraintDefaultTypeInternal
struct  BooleanAssignmentDefaultTypeInternal
struct  LinearBooleanProblemDefaultTypeInternal
class  LinearBooleanConstraint
class  LinearObjective
class  LinearBooleanProblem
class  BooleanAssignment
struct  SparsePermutationProtoDefaultTypeInternal
struct  PartialVariableAssignmentDefaultTypeInternal
struct  NoOverlapConstraintProtoDefaultTypeInternal
struct  NoOverlap2DConstraintProtoDefaultTypeInternal
struct  ListOfVariablesProtoDefaultTypeInternal
struct  LinearExpressionProtoDefaultTypeInternal
struct  LinearConstraintProtoDefaultTypeInternal
struct  InverseConstraintProtoDefaultTypeInternal
struct  IntegerVariableProtoDefaultTypeInternal
struct  FloatObjectiveProtoDefaultTypeInternal
struct  DenseMatrixProtoDefaultTypeInternal
struct  CpSolverSolutionDefaultTypeInternal
struct  CpObjectiveProtoDefaultTypeInternal
struct  CircuitConstraintProtoDefaultTypeInternal
struct  BoolArgumentProtoDefaultTypeInternal
struct  TableConstraintProtoDefaultTypeInternal
struct  SymmetryProtoDefaultTypeInternal
struct  RoutesConstraintProto_NodeExpressionsDefaultTypeInternal
struct  ReservoirConstraintProtoDefaultTypeInternal
struct  LinearArgumentProtoDefaultTypeInternal
struct  IntervalConstraintProtoDefaultTypeInternal
struct  ElementConstraintProtoDefaultTypeInternal
struct  DecisionStrategyProtoDefaultTypeInternal
struct  CumulativeConstraintProtoDefaultTypeInternal
struct  CpSolverResponseDefaultTypeInternal
struct  AutomatonConstraintProtoDefaultTypeInternal
struct  AllDifferentConstraintProtoDefaultTypeInternal
struct  RoutesConstraintProtoDefaultTypeInternal
struct  ConstraintProtoDefaultTypeInternal
struct  CpModelProtoDefaultTypeInternal
class  IntegerVariableProto
class  BoolArgumentProto
class  LinearConstraintProto
class  CircuitConstraintProto
class  RoutesConstraintProto
class  ConstraintProto
class  CpObjectiveProto
class  CpModelProto
class  CpSolverResponse
class  SparsePermutationProto
class  NoOverlapConstraintProto
class  NoOverlap2DConstraintProto
class  ListOfVariablesProto
class  LinearExpressionProto
class  InverseConstraintProto
class  FloatObjectiveProto
class  DenseMatrixProto
class  CpSolverSolution
class  TableConstraintProto
class  SymmetryProto
class  RoutesConstraintProto_NodeExpressions
class  ReservoirConstraintProto
class  LinearArgumentProto
class  IntervalConstraintProto
class  ElementConstraintProto
class  DecisionStrategyProto
class  CumulativeConstraintProto
class  AutomatonConstraintProto
class  AllDifferentConstraintProto
struct  LratInferredClause_RatInfoDefaultTypeInternal
struct  LratImportedClauseDefaultTypeInternal
struct  LratExportedClauseDefaultTypeInternal
struct  LratDeletedClausesDefaultTypeInternal
struct  LratInferredClauseDefaultTypeInternal
struct  LratProofStepDefaultTypeInternal
class  LratInferredClause_RatInfo
class  LratImportedClause
class  LratExportedClause
class  LratDeletedClauses
class  LratInferredClause
class  LratProofStep
struct  ArcLpValueDefaultTypeInternal
struct  RoutesSupportGraphProtoDefaultTypeInternal
class  ArcLpValue
class  RoutesSupportGraphProto
struct  SatParametersDefaultTypeInternal
class  SatParameters
class  MPConstraintProto
class  MPModelProto
class  MPVariableProto

Typedefs

using SmallBitset = uint32_t
using InlinedIntegerLiteralVector = absl::InlinedVector<IntegerLiteral, 2>
using InlinedIntegerValueVector
using IntegerSumLE = LinearConstraintPropagator<false>
using IntegerSumLE128 = LinearConstraintPropagator<true>
typedef double Fractional
typedef double Fractional
typedef double Fractional

Enumerations

enum  EdgePosition { TOP = 0 , RIGHT = 1 , BOTTOM = 2 , LEFT = 3 }
enum class  DeletionSourceForStat {
  FIXED_AT_TRUE , CONTAINS_L_AND_NOT_L , PROMOTED_TO_BINARY , SUBSUMPTION_PROBING ,
  SUBSUMPTION_VIVIFY , SUBSUMPTION_CONFLICT , SUBSUMPTION_CONFLICT_EXTRA , SUBSUMPTION_DECISIONS ,
  SUBSUMPTION_EAGER , SUBSUMPTION_INPROCESSING , BLOCKED , ELIMINATED ,
  GARBAGE_COLLECTED , LastElement
}
enum  SatFormat { DIMACS , DRAT }
enum class  EnforcementStatus { IS_FALSE = 0 , CANNOT_PROPAGATE = 1 , CAN_PROPAGATE_ENFORCEMENT = 2 , IS_ENFORCED = 3 }
enum class  RelationStatus { IS_TRUE , IS_FALSE , IS_UNKNOWN }
enum class  CompletionTimeExplorationStatus { FINISHED , ABORTED , NO_VALID_PERMUTATION }
enum  IntegerVariablesToAddMask { kStart = 1 << 0 , kEnd = 1 << 1 , kSize = 1 << 2 , kPresence = 1 << 3 }
enum  DecisionStrategyProto_VariableSelectionStrategy : int {
  DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_FIRST = 0 , DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_LOWEST_MIN = 1 , DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_HIGHEST_MAX = 2 , DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_MIN_DOMAIN_SIZE = 3 ,
  DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_MAX_DOMAIN_SIZE = 4 , DecisionStrategyProto_VariableSelectionStrategy_DecisionStrategyProto_VariableSelectionStrategy_INT_MIN_SENTINEL_DO_NOT_USE_ , DecisionStrategyProto_VariableSelectionStrategy_DecisionStrategyProto_VariableSelectionStrategy_INT_MAX_SENTINEL_DO_NOT_USE_
}
enum  DecisionStrategyProto_DomainReductionStrategy : int {
  DecisionStrategyProto_DomainReductionStrategy_SELECT_MIN_VALUE = 0 , DecisionStrategyProto_DomainReductionStrategy_SELECT_MAX_VALUE = 1 , DecisionStrategyProto_DomainReductionStrategy_SELECT_LOWER_HALF = 2 , DecisionStrategyProto_DomainReductionStrategy_SELECT_UPPER_HALF = 3 ,
  DecisionStrategyProto_DomainReductionStrategy_SELECT_MEDIAN_VALUE = 4 , DecisionStrategyProto_DomainReductionStrategy_SELECT_RANDOM_HALF = 5 , DecisionStrategyProto_DomainReductionStrategy_DecisionStrategyProto_DomainReductionStrategy_INT_MIN_SENTINEL_DO_NOT_USE_ , DecisionStrategyProto_DomainReductionStrategy_DecisionStrategyProto_DomainReductionStrategy_INT_MAX_SENTINEL_DO_NOT_USE_
}
enum  CpSolverStatus : int {
  UNKNOWN = 0 , MODEL_INVALID = 1 , FEASIBLE = 2 , INFEASIBLE = 3 ,
  OPTIMAL = 4 , CpSolverStatus_INT_MIN_SENTINEL_DO_NOT_USE_ , CpSolverStatus_INT_MAX_SENTINEL_DO_NOT_USE_
}
enum  SatParameters_VariableOrder : int { SatParameters_VariableOrder_IN_ORDER = 0 , SatParameters_VariableOrder_IN_REVERSE_ORDER = 1 , SatParameters_VariableOrder_IN_RANDOM_ORDER = 2 }
enum  SatParameters_Polarity : int { SatParameters_Polarity_POLARITY_TRUE = 0 , SatParameters_Polarity_POLARITY_FALSE = 1 , SatParameters_Polarity_POLARITY_RANDOM = 2 }
enum  SatParameters_ConflictMinimizationAlgorithm : int { SatParameters_ConflictMinimizationAlgorithm_NONE = 0 , SatParameters_ConflictMinimizationAlgorithm_SIMPLE = 1 , SatParameters_ConflictMinimizationAlgorithm_RECURSIVE = 2 }
enum  SatParameters_BinaryMinizationAlgorithm : int { SatParameters_BinaryMinizationAlgorithm_NO_BINARY_MINIMIZATION = 0 , SatParameters_BinaryMinizationAlgorithm_BINARY_MINIMIZATION_FROM_UIP = 1 , SatParameters_BinaryMinizationAlgorithm_BINARY_MINIMIZATION_FROM_UIP_AND_DECISIONS = 5 }
enum  SatParameters_ClauseOrdering : int { SatParameters_ClauseOrdering_CLAUSE_ACTIVITY = 0 , SatParameters_ClauseOrdering_CLAUSE_LBD = 1 }
enum  SatParameters_RestartAlgorithm : int {
  SatParameters_RestartAlgorithm_NO_RESTART = 0 , SatParameters_RestartAlgorithm_LUBY_RESTART = 1 , SatParameters_RestartAlgorithm_DL_MOVING_AVERAGE_RESTART = 2 , SatParameters_RestartAlgorithm_LBD_MOVING_AVERAGE_RESTART = 3 ,
  SatParameters_RestartAlgorithm_FIXED_RESTART = 4
}
enum  SatParameters_MaxSatAssumptionOrder : int { SatParameters_MaxSatAssumptionOrder_DEFAULT_ASSUMPTION_ORDER = 0 , SatParameters_MaxSatAssumptionOrder_ORDER_ASSUMPTION_BY_DEPTH = 1 , SatParameters_MaxSatAssumptionOrder_ORDER_ASSUMPTION_BY_WEIGHT = 2 }
enum  SatParameters_MaxSatStratificationAlgorithm : int { SatParameters_MaxSatStratificationAlgorithm_STRATIFICATION_NONE = 0 , SatParameters_MaxSatStratificationAlgorithm_STRATIFICATION_DESCENT = 1 , SatParameters_MaxSatStratificationAlgorithm_STRATIFICATION_ASCENT = 2 }
enum  SatParameters_SearchBranching : int {
  SatParameters_SearchBranching_AUTOMATIC_SEARCH = 0 , SatParameters_SearchBranching_FIXED_SEARCH = 1 , SatParameters_SearchBranching_PORTFOLIO_SEARCH = 2 , SatParameters_SearchBranching_LP_SEARCH = 3 ,
  SatParameters_SearchBranching_PSEUDO_COST_SEARCH = 4 , SatParameters_SearchBranching_PORTFOLIO_WITH_QUICK_RESTART_SEARCH = 5 , SatParameters_SearchBranching_HINT_SEARCH = 6 , SatParameters_SearchBranching_PARTIAL_FIXED_SEARCH = 7 ,
  SatParameters_SearchBranching_RANDOMIZED_SEARCH = 8
}
enum  SatParameters_SharedTreeSplitStrategy : int {
  SatParameters_SharedTreeSplitStrategy_SPLIT_STRATEGY_AUTO = 0 , SatParameters_SharedTreeSplitStrategy_SPLIT_STRATEGY_DISCREPANCY = 1 , SatParameters_SharedTreeSplitStrategy_SPLIT_STRATEGY_OBJECTIVE_LB = 2 , SatParameters_SharedTreeSplitStrategy_SPLIT_STRATEGY_BALANCED_TREE = 3 ,
  SatParameters_SharedTreeSplitStrategy_SPLIT_STRATEGY_FIRST_PROPOSAL = 4
}
enum  SatParameters_FPRoundingMethod : int { SatParameters_FPRoundingMethod_NEAREST_INTEGER = 0 , SatParameters_FPRoundingMethod_LOCK_BASED = 1 , SatParameters_FPRoundingMethod_ACTIVE_LOCK_BASED = 3 , SatParameters_FPRoundingMethod_PROPAGATION_ASSISTED = 2 }
enum  CpSolverStatus
enum class  ConstraintStatus

Functions

void ProcessFloatingPointOVariablesAndObjective (fz::Model *fz_model)
CpSolverResponse SolveFzWithCpModelProto (const fz::Model &fz_model, const fz::FlatzincSatParameters &p, const SatParameters &sat_params, Model *sat_model, SolverLogger *solution_logger)
void CreateAndRegisterMandatoryOverlapPropagator (NoOverlap2DConstraintHelper *helper, Model *model, GenericLiteralWatcher *watcher, int priority)
std::vector< RectangleGenerateNonConflictingRectangles (int num_rectangles, absl::BitGenRef random)
std::vector< RectangleGenerateNonConflictingRectanglesWithPacking (std::pair< IntegerValue, IntegerValue > bb, int average_num_boxes, absl::BitGenRef random)
std::vector< RectangleInRangeMakeItemsFromRectangles (absl::Span< const Rectangle > rectangles, double slack_factor, absl::BitGenRef random)
std::vector< ItemWithVariableSizeGenerateItemsRectanglesWithNoPairwiseConflict (absl::Span< const Rectangle > rectangles, double slack_factor, absl::BitGenRef random)
std::vector< ItemWithVariableSizeGenerateItemsRectanglesWithNoPairwisePropagation (int num_rectangles, double slack_factor, absl::BitGenRef random)
bool Preprocess (absl::Span< PermutableItem > &items, std::pair< IntegerValue, IntegerValue > &bounding_box_size, int max_complexity)
BruteForceResult BruteForceOrthogonalPacking (absl::Span< const IntegerValue > sizes_x, absl::Span< const IntegerValue > sizes_y, std::pair< IntegerValue, IntegerValue > bounding_box_size, int max_complexity)
bool PresolveFixed2dRectangles (absl::Span< const RectangleInRange > non_fixed_boxes, std::vector< Rectangle > *fixed_boxes)
bool ReduceNumberofBoxesGreedy (std::vector< Rectangle > *mandatory_rectangles, std::vector< Rectangle > *optional_rectangles)
Neighbours BuildNeighboursGraph (absl::Span< const Rectangle > rectangles)
std::vector< std::vector< int > > SplitInConnectedComponents (const Neighbours &neighbours)
std::vector< SingleShapeBoxesToShapes (absl::Span< const Rectangle > rectangles, const Neighbours &neighbours)
std::vector< RectangleCutShapeIntoRectangles (SingleShape shape)
bool ReduceNumberOfBoxesExactMandatory (std::vector< Rectangle > *mandatory_rectangles, std::vector< Rectangle > *optional_rectangles)
Disjoint2dPackingResult DetectDisjointRegionIn2dPacking (absl::Span< const RectangleInRange > non_fixed_boxes, absl::Span< const Rectangle > fixed_boxes, int max_num_components)
template<typename Sink>
void AbslStringify (Sink &sink, EdgePosition e)
void CreateAndRegisterTryEdgePropagator (NoOverlap2DConstraintHelper *helper, Model *model, GenericLiteralWatcher *watcher, int priority)
std::function< void(Model *)> AllDifferentBinary (absl::Span< const IntegerVariable > vars)
std::function< void(Model *)> AllDifferentOnBounds (absl::Span< const Literal > enforcement_literals, absl::Span< const AffineExpression > expressions)
std::function< void(Model *)> AllDifferentOnBounds (absl::Span< const IntegerVariable > vars)
std::function< void(Model *)> AllDifferentAC (absl::Span< const IntegerVariable > variables)
void ExtractAssignment (const LinearBooleanProblem &problem, const SatSolver &solver, std::vector< bool > *assignment)
absl::Status ValidateBooleanProblem (const LinearBooleanProblem &problem)
CpModelProto BooleanProblemToCpModelproto (const LinearBooleanProblem &problem)
void ChangeOptimizationDirection (LinearBooleanProblem *problem)
bool LoadBooleanProblem (const LinearBooleanProblem &problem, SatSolver *solver)
bool LoadAndConsumeBooleanProblem (LinearBooleanProblem *problem, SatSolver *solver)
void UseObjectiveForSatAssignmentPreference (const LinearBooleanProblem &problem, SatSolver *solver)
bool AddObjectiveUpperBound (const LinearBooleanProblem &problem, Coefficient upper_bound, SatSolver *solver)
bool AddObjectiveConstraint (const LinearBooleanProblem &problem, bool use_lower_bound, Coefficient lower_bound, bool use_upper_bound, Coefficient upper_bound, SatSolver *solver)
Coefficient ComputeObjectiveValue (const LinearBooleanProblem &problem, const std::vector< bool > &assignment)
bool IsAssignmentValid (const LinearBooleanProblem &problem, const std::vector< bool > &assignment)
std::string LinearBooleanProblemToCnfString (const LinearBooleanProblem &problem)
void StoreAssignment (const VariablesAssignment &assignment, BooleanAssignment *output)
void ExtractSubproblem (const LinearBooleanProblem &problem, absl::Span< const int > constraint_indices, LinearBooleanProblem *subproblem)
template<typename Graph>
GraphGenerateGraphForSymmetryDetection (const LinearBooleanProblem &problem, std::vector< int > *initial_equivalence_classes)
void MakeAllLiteralsPositive (LinearBooleanProblem *problem)
void FindLinearBooleanProblemSymmetries (const LinearBooleanProblem &problem, std::vector< std::unique_ptr< SparsePermutation > > *generators)
void ApplyLiteralMappingToBooleanProblem (const util_intops::StrongVector< LiteralIndex, LiteralIndex > &mapping, LinearBooleanProblem *problem)
void ProbeAndSimplifyProblem (SatPostsolver *postsolver, LinearBooleanProblem *problem)
double AddOffsetAndScaleObjectiveValue (const LinearBooleanProblem &problem, Coefficient v)
std::function< void(Model *)> ExactlyOnePerRowAndPerColumn (absl::Span< const std::vector< Literal > > graph)
void LoadSubcircuitConstraint (int num_nodes, absl::Span< const int > tails, absl::Span< const int > heads, absl::Span< const Literal > enforcement_literals, absl::Span< const Literal > literals, Model *model, bool multiple_subcircuit_through_zero)
std::function< void(Model *)> CircuitCovering (absl::Span< const std::vector< Literal > > graph, absl::Span< const int > distinguished_nodes)
template<class IntContainer>
int ReindexArcs (IntContainer *tails, IntContainer *heads, absl::flat_hash_map< int, int > *mapping_output=nullptr)
bool TrySolution (const CpModelProto &model, absl::Span< const int64_t > solution, absl::Span< const int64_t > new_solution, absl::Span< const int64_t > base_solution, std::vector< int64_t > *new_combined_solution)
std::optional< std::vector< int64_t > > FindCombinedSolution (const CpModelProto &model, absl::Span< const int64_t > new_solution, absl::Span< const int64_t > base_solution, const SharedResponseManager *response_manager, std::string *solution_info)
PushedSolutionPointers PushAndMaybeCombineSolution (SharedResponseManager *response_manager, const CpModelProto &model_proto, absl::Span< const int64_t > new_solution, absl::string_view solution_info, std::shared_ptr< const SharedSolutionRepository< int64_t >::Solution > base_solution)
int64_t OverlapOfTwoIntervals (const ConstraintProto &interval1, const ConstraintProto &interval2, absl::Span< const int64_t > solution)
int64_t NoOverlapMinRepairDistance (const ConstraintProto &interval1, const ConstraintProto &interval2, absl::Span< const int64_t > solution)
void AddCircuitFlowConstraints (LinearIncrementalEvaluator &linear_evaluator, const ConstraintProto &ct_proto)
std::vector< IntegerValue > ToIntegerValueVector (absl::Span< const int64_t > input)
std::function< void(Model *)> LiteralXorIs (absl::Span< const Literal > enforcement_literals, const std::vector< Literal > &literals, bool value)
std::function< void(Model *)> GreaterThanAtLeastOneOf (IntegerVariable target_var, const absl::Span< const IntegerVariable > vars, const absl::Span< const IntegerValue > offsets, const absl::Span< const Literal > selectors, const absl::Span< const Literal > enforcements)
std::function< void(Model *)> PartialIsOneOfVar (IntegerVariable target_var, absl::Span< const IntegerVariable > vars, absl::Span< const Literal > selectors)
BoolVar Not (BoolVar x)
std::ostream & operator<< (std::ostream &os, const BoolVar &var)
std::string VarDebugString (const CpModelProto &proto, int index)
std::ostream & operator<< (std::ostream &os, const IntVar &var)
std::ostream & operator<< (std::ostream &os, const LinearExpr &e)
std::ostream & operator<< (std::ostream &os, const DoubleLinearExpr &e)
std::ostream & operator<< (std::ostream &os, const IntervalVar &var)
int64_t SolutionIntegerValue (const CpSolverResponse &r, const LinearExpr &expr)
bool SolutionBooleanValue (const CpSolverResponse &r, BoolVar x)
template<typename H>
AbslHashValue (H h, const IntVar &i)
template<typename H>
AbslHashValue (H h, const IntervalVar &i)
LinearExpr operator- (LinearExpr expr)
LinearExpr operator+ (const LinearExpr &lhs, const LinearExpr &rhs)
LinearExpr operator+ (LinearExpr &&lhs, const LinearExpr &rhs)
LinearExpr operator+ (const LinearExpr &lhs, LinearExpr &&rhs)
LinearExpr operator+ (LinearExpr &&lhs, LinearExpr &&rhs)
LinearExpr operator- (const LinearExpr &lhs, const LinearExpr &rhs)
LinearExpr operator- (LinearExpr &&lhs, const LinearExpr &rhs)
LinearExpr operator- (const LinearExpr &lhs, LinearExpr &&rhs)
LinearExpr operator- (LinearExpr &&lhs, LinearExpr &&rhs)
LinearExpr operator* (LinearExpr expr, int64_t factor)
LinearExpr operator* (int64_t factor, LinearExpr expr)
DoubleLinearExpr operator- (DoubleLinearExpr expr)
DoubleLinearExpr operator+ (const DoubleLinearExpr &lhs, const DoubleLinearExpr &rhs)
DoubleLinearExpr operator+ (DoubleLinearExpr &&lhs, const DoubleLinearExpr &rhs)
DoubleLinearExpr operator+ (const DoubleLinearExpr &lhs, DoubleLinearExpr &&rhs)
DoubleLinearExpr operator+ (DoubleLinearExpr &&lhs, DoubleLinearExpr &&rhs)
DoubleLinearExpr operator+ (DoubleLinearExpr expr, double rhs)
DoubleLinearExpr operator+ (double lhs, DoubleLinearExpr expr)
DoubleLinearExpr operator- (const DoubleLinearExpr &lhs, const DoubleLinearExpr &rhs)
DoubleLinearExpr operator- (DoubleLinearExpr &&lhs, const DoubleLinearExpr &rhs)
DoubleLinearExpr operator- (const DoubleLinearExpr &lhs, DoubleLinearExpr &&rhs)
DoubleLinearExpr operator- (DoubleLinearExpr &&lhs, DoubleLinearExpr &&rhs)
DoubleLinearExpr operator- (DoubleLinearExpr epxr, double rhs)
DoubleLinearExpr operator- (double lhs, DoubleLinearExpr expr)
DoubleLinearExpr operator* (DoubleLinearExpr expr, double factor)
DoubleLinearExpr operator* (double factor, DoubleLinearExpr expr)
bool PossibleIntegerOverflow (const CpModelProto &model, absl::Span< const int > vars, absl::Span< const int64_t > coeffs, int64_t offset, std::pair< int64_t, int64_t > *implied_domain)
std::string ValidateCpModel (const CpModelProto &model, bool after_presolve)
std::string ValidateInputCpModel (const SatParameters &params, const CpModelProto &model)
bool ConstraintIsFeasible (const CpModelProto &model, const ConstraintProto &constraint, absl::Span< const int64_t > variable_values)
bool SolutionIsFeasible (const CpModelProto &model, absl::Span< const int64_t > variable_values, const CpModelProto *mapping_proto, const std::vector< int > *postsolve_mapping)
bool SolutionCanBeOptimal (const CpModelProto &model, absl::Span< const int64_t > variable_values)
bool ImportModelWithBasicPresolveIntoContext (const CpModelProto &in_model, PresolveContext *context, LratProofHandler *lrat_proof_handler)
bool ImportModelAndDomainsWithBasicPresolveIntoContext (const CpModelProto &in_model, absl::Span< const Domain > domains, std::function< bool(int)> active_constraints, PresolveContext *context, std::vector< int > *interval_mapping)
void CopyEverythingExceptVariablesAndConstraintsFieldsIntoContext (const CpModelProto &in_model, PresolveContext *context)
void ExpandCpModel (PresolveContext *context)
void FinalExpansionForLinearConstraint (PresolveContext *context)
Neighborhood GenerateSchedulingNeighborhoodFromIntervalPrecedences (const absl::Span< const std::pair< int, int > > precedences, const CpSolverResponse &initial_solution, const NeighborhoodGeneratorHelper &helper)
Neighborhood GenerateSchedulingNeighborhoodFromRelaxedIntervals (absl::Span< const int > intervals_to_relax, absl::Span< const int > variables_to_fix, const CpSolverResponse &initial_solution, absl::BitGenRef random, const NeighborhoodGeneratorHelper &helper)
void LoadVariables (const CpModelProto &model_proto, bool view_all_booleans_as_integers, Model *m)
void LoadBooleanSymmetries (const CpModelProto &model_proto, Model *m)
void ExtractEncoding (const CpModelProto &model_proto, Model *m)
void ExtractElementEncoding (const CpModelProto &model_proto, Model *m)
void PropagateEncodingFromEquivalenceRelations (const CpModelProto &model_proto, Model *m)
void DetectOptionalVariables (const CpModelProto &model_proto, Model *m)
void AddFullEncodingFromSearchBranching (const CpModelProto &model_proto, Model *m)
void LoadBoolOrConstraint (const ConstraintProto &ct, Model *m)
void LoadBoolAndConstraint (const ConstraintProto &ct, Model *m)
void LoadAtMostOneConstraint (const ConstraintProto &ct, Model *m)
void LoadExactlyOneConstraint (const ConstraintProto &ct, Model *m)
void LoadBoolXorConstraint (const ConstraintProto &ct, Model *m)
void SplitAndLoadIntermediateConstraints (bool lb_required, bool ub_required, std::vector< IntegerVariable > *vars, std::vector< IntegerValue > *coeffs, Model *m)
void LoadLinearConstraint (const ConstraintProto &ct, Model *m)
void LoadAllDiffConstraint (const ConstraintProto &ct, Model *m)
void LoadAlwaysFalseConstraint (const ConstraintProto &ct, Model *m)
void LoadIntProdConstraint (const ConstraintProto &ct, Model *m)
void LoadIntDivConstraint (const ConstraintProto &ct, Model *m)
void LoadIntModConstraint (const ConstraintProto &ct, Model *m)
void LoadLinMaxConstraint (const ConstraintProto &ct, Model *m)
void LoadNoOverlapConstraint (const ConstraintProto &ct, Model *m)
void LoadNoOverlap2dConstraint (const ConstraintProto &ct, Model *m)
void LoadCumulativeConstraint (const ConstraintProto &ct, Model *m)
void LoadReservoirConstraint (const ConstraintProto &ct, Model *m)
void LoadCircuitConstraint (const ConstraintProto &ct, Model *m)
void LoadRoutesConstraint (const ConstraintProto &ct, Model *m)
bool LoadConstraint (const ConstraintProto &ct, Model *m)
void LoadIntMinConstraint (const ConstraintProto &ct, Model *m)
void LoadIntMaxConstraint (const ConstraintProto &ct, Model *m)
void LoadCircuitCoveringConstraint (const ConstraintProto &ct, Model *m)
void PostsolveClause (const ConstraintProto &ct, std::vector< Domain > *domains)
void PostsolveExactlyOne (const ConstraintProto &ct, std::vector< Domain > *domains)
void SetEnforcementLiteralToFalse (const ConstraintProto &ct, std::vector< Domain > *domains)
void PostsolveLinear (const ConstraintProto &ct, std::vector< Domain > *domains)
void PostsolveLinMax (const ConstraintProto &ct, std::vector< Domain > *domains)
void PostsolveElement (const ConstraintProto &ct, std::vector< Domain > *domains)
void PostsolveIntMod (const ConstraintProto &ct, std::vector< Domain > *domains)
void PostsolveIntProd (const ConstraintProto &ct, std::vector< Domain > *domains)
void PostsolveResponse (const int64_t num_variables_in_original_model, const CpModelProto &mapping_proto, absl::Span< const int > postsolve_mapping, std::vector< int64_t > *solution)
void FillTightenedDomainInResponse (const CpModelProto &original_model, const CpModelProto &mapping_proto, absl::Span< const int > postsolve_mapping, absl::Span< const Domain > search_domains, CpSolverResponse *response, SolverLogger *logger)
Domain EvaluateImpliedIntProdDomain (const LinearArgumentProto &expr, const PresolveContext &context)
CpSolverStatus PresolveCpModel (PresolveContext *context, std::vector< int > *postsolve_mapping)
void ApplyVariableMapping (absl::Span< int > mapping, CpModelProto *cp_model, std::vector< int > *reverse_mapping)
std::vector< std::pair< int, int > > FindDuplicateConstraints (const CpModelProto &model_proto, bool ignore_enforcement)
std::function< BooleanOrIntegerLiteral()> ConstructUserSearchStrategy (const CpModelProto &cp_model_proto, Model *model)
std::function< BooleanOrIntegerLiteral()> ConstructHeuristicSearchStrategy (const CpModelProto &cp_model_proto, Model *model)
std::function< BooleanOrIntegerLiteral()> ConstructIntegerCompletionSearchStrategy (absl::Span< const IntegerVariable > variable_mapping, IntegerVariable objective_var, Model *model)
std::function< BooleanOrIntegerLiteral()> ConstructHintSearchStrategy (const CpModelProto &cp_model_proto, CpModelMapping *mapping, Model *model)
void ConstructFixedSearchStrategy (SearchHeuristics *h, Model *model)
std::function< BooleanOrIntegerLiteral()> InstrumentSearchStrategy (const CpModelProto &cp_model_proto, absl::Span< const IntegerVariable > variable_mapping, std::function< BooleanOrIntegerLiteral()> instrumented_strategy, Model *model)
absl::flat_hash_map< std::string, SatParametersGetNamedParameters (SatParameters base_params)
std::vector< SatParametersGetFullWorkerParameters (const SatParameters &base_params, const CpModelProto &cp_model, int num_already_present, SubsolverNameFilter *filter)
std::vector< SatParametersGetFirstSolutionBaseParams (const SatParameters &base_params)
std::vector< SatParametersRepeatParameters (absl::Span< const SatParameters > base_params, int num_params_to_generate)
std::string CpSatSolverVersion ()
 Returns a string that describes the version of the solver.
std::string CpModelStats (const CpModelProto &model)
 Returns a string with some statistics on the given CpModelProto.
std::string CpSolverResponseStats (const CpSolverResponse &response, bool has_objective)
std::function< void(Model *)> NewFeasibleSolutionObserver (const std::function< void(const CpSolverResponse &response)> &callback)
std::function< void(Model *)> NewFeasibleSolutionLogCallback (const std::function< std::string(const CpSolverResponse &response)> &callback)
std::function< void(Model *)> NewBestBoundCallback (const std::function< void(double)> &callback)
std::function< SatParameters(Model *)> NewSatParameters (absl::string_view params)
std::function< SatParameters(Model *)> NewSatParameters (const sat::SatParameters &parameters)
void StopSearch (Model *model)
 Stops the current search.
CpSolverResponse SolveCpModel (const CpModelProto &model_proto, Model *model)
CpSolverResponse Solve (const CpModelProto &model_proto)
 Solves the given CpModelProto and returns an instance of CpSolverResponse.
CpSolverResponse SolveWithParameters (const CpModelProto &model_proto, const SatParameters &params)
 Solves the given CpModelProto with the given parameters.
CpSolverResponse SolveWithParameters (const CpModelProto &model_proto, absl::string_view params)
void LoadDebugSolution (const CpModelProto &model_proto, Model *model)
void InitializeDebugSolution (const CpModelProto &model_proto, Model *model)
std::vector< int64_t > GetSolutionValues (const CpModelProto &model_proto, const Model &model)
void RegisterVariableBoundsLevelZeroExport (const CpModelProto &, SharedBoundsManager *shared_bounds_manager, Model *model)
void RegisterVariableBoundsLevelZeroImport (const CpModelProto &model_proto, SharedBoundsManager *shared_bounds_manager, Model *model)
void RegisterLinear2BoundsImport (SharedLinear2Bounds *shared_linear2_bounds, Model *model)
void RegisterObjectiveBestBoundExport (IntegerVariable objective_var, SharedResponseManager *shared_response_manager, Model *model)
void RegisterObjectiveBoundsImport (SharedResponseManager *shared_response_manager, Model *model)
void RegisterClausesExport (int id, SharedClausesManager *shared_clauses_manager, Model *model)
int RegisterClausesLevelZeroImport (int id, SharedClausesManager *shared_clauses_manager, Model *model)
void LoadBaseModel (const CpModelProto &model_proto, Model *model)
void LoadFeasibilityPump (const CpModelProto &model_proto, Model *model)
void LoadCpModel (const CpModelProto &model_proto, Model *model)
void SolveLoadedCpModel (const CpModelProto &model_proto, Model *model)
void QuickSolveWithHint (const CpModelProto &model_proto, Model *model)
void MinimizeL1DistanceWithHint (const CpModelProto &model_proto, Model *model)
void PostsolveResponseWithFullSolver (int num_variables_in_original_model, CpModelProto mapping_proto, absl::Span< const int > postsolve_mapping, std::vector< int64_t > *solution)
void PostsolveResponseWrapper (const SatParameters &params, int num_variable_in_original_model, const CpModelProto &mapping_proto, absl::Span< const int > postsolve_mapping, std::vector< int64_t > *solution)
void AdaptGlobalParameters (const CpModelProto &model_proto, Model *model)
void FindCpModelSymmetries (const SatParameters &params, const CpModelProto &problem, std::vector< std::unique_ptr< SparsePermutation > > *generators, SolverLogger *logger, TimeLimit *solver_time_limit)
void DetectAndAddSymmetryToProto (const SatParameters &params, CpModelProto *proto, SolverLogger *logger, TimeLimit *time_limit)
bool DetectAndExploitSymmetriesInPresolve (PresolveContext *context)
bool FilterOrbitOnUnusedOrFixedVariables (SymmetryProto *symmetry, PresolveContext *context)
void CanonicalizeTable (PresolveContext *context, ConstraintProto *ct)
void CompressTuples (absl::Span< const int64_t > domain_sizes, std::vector< std::vector< int64_t > > *tuples)
std::vector< std::vector< absl::InlinedVector< int64_t, 2 > > > FullyCompressTuples (absl::Span< const int64_t > domain_sizes, std::vector< std::vector< int64_t > > *tuples)
void PropagateAutomaton (const AutomatonConstraintProto &proto, const PresolveContext &context, std::vector< absl::flat_hash_set< int64_t > > *states, std::vector< absl::flat_hash_set< int64_t > > *labels)
CpModelProto Random3SatProblem (int num_variables, double proportion_of_constraints)
CpModelProto RandomLinearProblem (int num_variables, int num_constraints)
int64_t LinearExpressionGcd (const LinearExpressionProto &expr, int64_t gcd)
void DivideLinearExpression (int64_t divisor, LinearExpressionProto *expr)
void SetToNegatedLinearExpression (const LinearExpressionProto &input_expr, LinearExpressionProto *output_negated_expr)
IndexReferences GetReferencesUsedByConstraint (const ConstraintProto &ct)
void GetReferencesUsedByConstraint (const ConstraintProto &ct, std::vector< int > *variables, std::vector< int > *literals)
void ApplyToAllLiteralIndices (absl::FunctionRef< void(int *)> f, ConstraintProto *ct)
void ApplyToAllVariableIndices (absl::FunctionRef< void(int *)> f, ConstraintProto *ct)
void ApplyToAllIntervalIndices (absl::FunctionRef< void(int *)> f, ConstraintProto *ct)
absl::string_view ConstraintCaseName (ConstraintProto::ConstraintCase constraint_case)
std::vector< int > UsedVariables (const ConstraintProto &ct)
std::vector< int > UsedIntervals (const ConstraintProto &ct)
int64_t ComputeInnerObjective (const CpObjectiveProto &objective, absl::Span< const int64_t > solution)
bool ExpressionContainsSingleRef (const LinearExpressionProto &expr)
bool ExpressionIsAffine (const LinearExpressionProto &expr)
int GetSingleRefFromExpression (const LinearExpressionProto &expr)
void AddLinearExpressionToLinearConstraint (const LinearExpressionProto &expr, int64_t coefficient, LinearConstraintProto *linear)
void AddWeightedLiteralToLinearConstraint (int lit, int64_t coeff, LinearConstraintProto *linear, int64_t *offset)
void LiteralsToLinear (absl::Span< const int > literals, int64_t lb, int64_t ub, LinearConstraintProto *linear)
bool SafeAddLinearExpressionToLinearConstraint (const LinearExpressionProto &expr, int64_t coefficient, LinearConstraintProto *linear)
bool LinearExpressionProtosAreEqual (const LinearExpressionProto &a, const LinearExpressionProto &b, int64_t b_scaling)
uint64_t FingerprintExpression (const LinearExpressionProto &lin, uint64_t seed)
uint64_t FingerprintModel (const CpModelProto &model, uint64_t seed)
void SetupTextFormatPrinter (google::protobuf::TextFormat::Printer *printer)
bool ConvertCpModelProtoToCnf (const CpModelProto &cp_model, std::string *out)
bool ConvertCpModelProtoToWCnf (const CpModelProto &cp_model, std::string *out)
int CombineSeed (int base_seed, int64_t delta)
bool IsAffineIntAbs (const ConstraintProto &ct)
int NegatedRef (int ref)
int PositiveRef (int ref)
bool RefIsPositive (int ref)
bool HasEnforcementLiteral (const ConstraintProto &ct)
int EnforcementLiteral (const ConstraintProto &ct)
void InsertVariablesFromInterval (const CpModelProto &model_proto, int index, Bitset64< int > &output)
void RemoveVariablesFromInterval (const CpModelProto &model_proto, int index, Bitset64< int > &output)
template<typename ProtoWithDomain>
bool DomainInProtoContains (const ProtoWithDomain &proto, int64_t value)
template<typename ProtoWithDomain>
void FillDomainInProto (const Domain &domain, ProtoWithDomain *proto)
template<typename ProtoWithDomain>
void FillDomainInProto (int64_t lb, int64_t ub, ProtoWithDomain *proto)
template<typename ProtoWithDomain>
void FillDomainInProto (int64_t value, ProtoWithDomain *proto)
template<typename ProtoWithDomain>
Domain ReadDomainFromProto (const ProtoWithDomain &proto)
template<typename ProtoWithDomain>
std::vector< int64_t > AllValuesInDomain (const ProtoWithDomain &proto)
double ScaleObjectiveValue (const CpObjectiveProto &proto, int64_t value)
int64_t ScaleInnerObjectiveValue (const CpObjectiveProto &proto, int64_t value)
double UnscaleObjectiveValue (const CpObjectiveProto &proto, double value)
int64_t AffineExpressionValueAt (const LinearExpressionProto &expr, int64_t value)
int64_t GetInnerVarValue (const LinearExpressionProto &expr, int64_t value)
bool AffineExpressionContainsVar (const LinearExpressionProto &expr, int var)
template<class ExpressionList>
bool ExpressionsContainsOnlyOneVar (const ExpressionList &exprs)
template<class T>
uint64_t FingerprintRepeatedField (const google::protobuf::RepeatedField< T > &sequence, uint64_t seed)
template<class T>
uint64_t FingerprintSingleField (const T &field, uint64_t seed)
template<class M>
bool WriteModelProtoToFile (const M &proto, absl::string_view filename)
bool operator== (const BoolArgumentProto &lhs, const BoolArgumentProto &rhs)
template<typename H>
AbslHashValue (H h, const BoolArgumentProto &m)
bool operator== (const LinearConstraintProto &lhs, const LinearConstraintProto &rhs)
template<typename H>
AbslHashValue (H h, const LinearConstraintProto &m)
std::function< void(Model *)> Cumulative (const std::vector< Literal > &enforcement_literals, const std::vector< IntervalVariable > &vars, absl::Span< const AffineExpression > demands, AffineExpression capacity, SchedulingConstraintHelper *helper)
std::function< void(Model *)> CumulativeTimeDecomposition (absl::Span< const Literal > enforcement_literals, absl::Span< const IntervalVariable > vars, absl::Span< const AffineExpression > demands, AffineExpression capacity, SchedulingConstraintHelper *)
std::function< void(Model *)> CumulativeUsingReservoir (absl::Span< const Literal > enforcement_literals, absl::Span< const IntervalVariable > vars, absl::Span< const AffineExpression > demands, AffineExpression capacity, SchedulingConstraintHelper *)
void AddCumulativeOverloadChecker (AffineExpression capacity, SchedulingConstraintHelper *helper, SchedulingDemandHelper *demands, Model *model)
void AddCumulativeOverloadCheckerDff (AffineExpression capacity, SchedulingConstraintHelper *helper, SchedulingDemandHelper *demands, Model *model)
IntegerValue GetFactorT (IntegerValue rhs_remainder, IntegerValue divisor, IntegerValue max_magnitude)
std::function< IntegerValue(IntegerValue)> GetSuperAdditiveRoundingFunction (IntegerValue rhs_remainder, IntegerValue divisor, IntegerValue t, IntegerValue max_scaling)
std::function< IntegerValue(IntegerValue)> GetSuperAdditiveStrengtheningFunction (IntegerValue positive_rhs, IntegerValue min_magnitude)
std::function< IntegerValue(IntegerValue)> GetSuperAdditiveStrengtheningMirFunction (IntegerValue positive_rhs, IntegerValue scaling)
CutGenerator CreatePositiveMultiplicationCutGenerator (AffineExpression z, AffineExpression x, AffineExpression y, int linearization_level, Model *model)
LinearConstraint ComputeHyperplanAboveSquare (AffineExpression x, AffineExpression square, IntegerValue x_lb, IntegerValue x_ub, Model *model)
LinearConstraint ComputeHyperplanBelowSquare (AffineExpression x, AffineExpression square, IntegerValue x_value, Model *model)
CutGenerator CreateSquareCutGenerator (AffineExpression y, AffineExpression x, int linearization_level, Model *model)
CutGenerator CreateAllDifferentCutGenerator (absl::Span< const AffineExpression > exprs, Model *model)
CutGenerator CreateLinMaxCutGenerator (const IntegerVariable target, absl::Span< const LinearExpression > exprs, absl::Span< const IntegerVariable > z_vars, Model *model)
bool BuildMaxAffineUpConstraint (const LinearExpression &target, IntegerVariable var, absl::Span< const std::pair< IntegerValue, IntegerValue > > affines, Model *model, LinearConstraintBuilder *builder)
CutGenerator CreateMaxAffineCutGenerator (LinearExpression target, IntegerVariable var, std::vector< std::pair< IntegerValue, IntegerValue > > affines, const std::string cut_name, Model *model)
CutGenerator CreateCliqueCutGenerator (absl::Span< const IntegerVariable > base_variables, Model *model)
std::function< IntegerValue(IntegerValue)> ExtendNegativeFunction (std::function< IntegerValue(IntegerValue)> base_f, IntegerValue period)
void AddNonOverlappingRectangles (const std::vector< Literal > &enforcement_literals, const std::vector< IntervalVariable > &x, const std::vector< IntervalVariable > &y, Model *model)
void GenerateNoOverlap2dEnergyCut (absl::Span< const std::vector< LiteralValueValue > > energies, absl::Span< const int > rectangles, absl::string_view cut_name, Model *model, LinearConstraintManager *manager, SchedulingConstraintHelper *x_helper, SchedulingConstraintHelper *y_helper, SchedulingDemandHelper *y_demands_helper)
CutGenerator CreateNoOverlap2dEnergyCutGenerator (NoOverlap2DConstraintHelper *helper, Model *model)
void GenerateNoOvelap2dCompletionTimeCuts (absl::string_view cut_name, std::vector< DiffnCtEvent > events, bool use_lifting, Model *model, LinearConstraintManager *manager)
CutGenerator CreateNoOverlap2dCompletionTimeCutGenerator (NoOverlap2DConstraintHelper *helper, Model *model)
CompactVectorVector< int > GetOverlappingRectangleComponents (absl::Span< const Rectangle > rectangles)
bool ReportEnergyConflict (Rectangle bounding_box, absl::Span< const int > boxes, SchedulingConstraintHelper *x, SchedulingConstraintHelper *y)
bool BoxesAreInEnergyConflict (absl::Span< const Rectangle > rectangles, absl::Span< const IntegerValue > energies, absl::Span< const int > boxes, Rectangle *conflict)
bool AnalyzeIntervals (bool transpose, absl::Span< const int > local_boxes, absl::Span< const Rectangle > rectangles, absl::Span< const IntegerValue > rectangle_energies, IntegerValue *x_threshold, IntegerValue *y_threshold, Rectangle *conflict)
absl::Span< int > FilterBoxesAndRandomize (absl::Span< const Rectangle > cached_rectangles, absl::Span< int > boxes, IntegerValue threshold_x, IntegerValue threshold_y, absl::BitGenRef random)
absl::Span< int > FilterBoxesThatAreTooLarge (absl::Span< const Rectangle > cached_rectangles, absl::Span< const IntegerValue > energies, absl::Span< int > boxes)
void ConstructOverlappingSets (absl::Span< IndexedInterval > intervals, CompactVectorVector< int > *result, absl::Span< const int > order)
void GetOverlappingIntervalComponents (std::vector< IndexedInterval > *intervals, std::vector< std::vector< int > > *components)
std::vector< int > GetIntervalArticulationPoints (std::vector< IndexedInterval > *intervals)
void AppendPairwiseRestrictions (absl::Span< const ItemWithVariableSize > items, std::vector< PairwiseRestriction > *result)
void AppendPairwiseRestrictions (absl::Span< const ItemWithVariableSize > items, absl::Span< const ItemWithVariableSize > other_items, std::vector< PairwiseRestriction > *result)
IntegerValue Smallest1DIntersection (IntegerValue range_min, IntegerValue range_max, IntegerValue size, IntegerValue interval_min, IntegerValue interval_max)
FindRectanglesResult FindRectanglesWithEnergyConflictMC (const std::vector< RectangleInRange > &intervals, absl::BitGenRef random, double temperature, double candidate_energy_usage_factor)
std::string RenderDot (std::optional< Rectangle > bb, absl::Span< const Rectangle > solution, std::string_view extra_dot_payload)
std::vector< RectangleFindEmptySpaces (const Rectangle &bounding_box, std::vector< Rectangle > ocupied_rectangles)
std::vector< RectanglePavedRegionDifference (std::vector< Rectangle > original_region, absl::Span< const Rectangle > area_to_remove)
std::vector< std::pair< int, int > > FindPartialRectangleIntersectionsImpl (absl::Span< const Rectangle32 > rectangles, int32_t y_max)
std::vector< std::pair< int, int > > FindPartialRectangleIntersections (absl::Span< const Rectangle > rectangles)
std::optional< std::pair< int, int > > FindOneIntersectionIfPresent (absl::Span< const Rectangle > rectangles)
std::optional< std::pair< int, int > > FindOneIntersectionIfPresentWithZeroArea (absl::Span< const Rectangle > rectangles)
double CenterToCenterL2Distance (const Rectangle &a, const Rectangle &b)
double CenterToCenterLInfinityDistance (const Rectangle &a, const Rectangle &b)
bool RegionIncludesOther (absl::Span< const Rectangle > region, absl::Span< const Rectangle > other)
void ReduceModuloBasis (absl::Span< const std::vector< absl::int128 > > basis, const int elements_to_consider, std::vector< absl::int128 > &v)
std::vector< int > GreedyFastDecreasingGcd (const absl::Span< const int64_t > coeffs)
DiophantineSolution SolveDiophantine (absl::Span< const int64_t > coeffs, int64_t rhs, absl::Span< const int64_t > var_lbs, absl::Span< const int64_t > var_ubs)
 floor (|P|/2)<
void AddDisjunctive (const std::vector< Literal > &enforcement_literals, const std::vector< IntervalVariable > &intervals, Model *model)
void AddDisjunctiveWithBooleanPrecedencesOnly (absl::Span< const IntervalVariable > intervals, Model *model)
bool ContainsLiteral (absl::Span< const Literal > clause, Literal literal)
bool Resolve (absl::Span< const Literal > clause, absl::Span< const Literal > other_clause, Literal complementary_literal, VariablesAssignment *assignment, std::vector< Literal > *resolvent)
bool AddProblemClauses (const std::string &file_path, DratChecker *drat_checker)
bool AddInferredAndDeletedClauses (const std::string &file_path, DratChecker *drat_checker)
bool PrintClauses (const std::string &file_path, SatFormat format, absl::Span< const std::vector< Literal > > clauses, int num_variables)
 DEFINE_STRONG_INDEX_TYPE (ClauseIndex)
const ClauseIndex kNoClauseIndex (-1)
EncodingNode LazyMerge (EncodingNode *a, EncodingNode *b, SatSolver *solver)
void IncreaseNodeSize (EncodingNode *node, SatSolver *solver)
EncodingNode FullMerge (Coefficient upper_bound, EncodingNode *a, EncodingNode *b, SatSolver *solver)
EncodingNodeMergeAllNodesWithDeque (Coefficient upper_bound, const std::vector< EncodingNode * > &nodes, SatSolver *solver, std::deque< EncodingNode > *repository)
EncodingNodeLazyMergeAllNodeWithPQAndIncreaseLb (Coefficient weight, const std::vector< EncodingNode * > &nodes, SatSolver *solver, std::deque< EncodingNode > *repository)
void ReduceNodes (Coefficient upper_bound, Coefficient *lower_bound, std::vector< EncodingNode * > *nodes, SatSolver *solver)
std::vector< LiteralExtractAssumptions (Coefficient stratified_lower_bound, const std::vector< EncodingNode * > &nodes, SatSolver *solver)
Coefficient ComputeCoreMinWeight (const std::vector< EncodingNode * > &nodes, absl::Span< const Literal > core)
Coefficient MaxNodeWeightSmallerThan (const std::vector< EncodingNode * > &nodes, Coefficient upper_bound)
std::ostream & operator<< (std::ostream &os, const EnforcementStatus &e)
 DEFINE_STRONG_INDEX_TYPE (EnforcementId)
SmallBitset GetNumBitsAtOne (int num_bits)
template<typename VarOrLiteral>
void CanonicalizeTruthTable (absl::Span< VarOrLiteral > key, SmallBitset &bitmask)
void FillKeyAndBitmask (absl::Span< const Literal > clause, absl::Span< BooleanVariable > key, SmallBitset &bitmask)
bool IsFunction (int i, int num_bits, SmallBitset truth_table)
int AddHoleAtPosition (int i, int bitset)
int RemoveFixedInput (int i, bool at_true, absl::Span< LiteralIndex > inputs, int &int_function_values)
int CanonicalizeFunctionTruthTable (LiteralIndex &target, absl::Span< LiteralIndex > inputs, int &int_function_values)
std::vector< LiteralValueValueTryToReconcileEncodings (const AffineExpression &size2_affine, const AffineExpression &affine, absl::Span< const ValueLiteralPair > affine_var_encoding, bool put_affine_left_in_result, IntegerEncoder *integer_encoder)
std::vector< LiteralValueValueTryToReconcileSize2Encodings (const AffineExpression &left, const AffineExpression &right, IntegerEncoder *integer_encoder)
template<typename Storage>
 InclusionDetector (const Storage &storage) -> InclusionDetector< Storage >
template<typename Storage>
 SubsetsDetector (const Storage &storage) -> SubsetsDetector< Storage >
std::pair< uint64_t, int > ComputeSignatureAndMaxElement (absl::Span< const int > elements)
std::vector< IntegerVariable > NegationOf (absl::Span< const IntegerVariable > vars)
std::ostream & operator<< (std::ostream &os, const ValueLiteralPair &p)
 DEFINE_STRONG_INDEX_TYPE (ReasonIndex)
std::function< BooleanVariable(Model *)> NewBooleanVariable ()
std::function< IntegerVariable(Model *)> ConstantIntegerVariable (int64_t value)
std::function< IntegerVariable(Model *)> NewIntegerVariable (int64_t lb, int64_t ub)
std::function< IntegerVariable(Model *)> NewIntegerVariable (const Domain &domain)
IntegerVariable CreateNewIntegerVariableFromLiteral (Literal lit, Model *model)
std::function< IntegerVariable(Model *)> NewIntegerVariableFromLiteral (Literal lit)
std::function< int64_t(const Model &)> LowerBound (IntegerVariable v)
std::function< int64_t(const Model &)> UpperBound (IntegerVariable v)
std::function< bool(const Model &)> IsFixed (IntegerVariable v)
std::function< int64_t(const Model &)> Value (IntegerVariable v)
std::function< void(Model *)> GreaterOrEqual (IntegerVariable v, int64_t lb)
std::function< void(Model *)> LowerOrEqual (IntegerVariable v, int64_t ub)
std::function< void(Model *)> Equality (IntegerVariable v, int64_t value)
std::function< void(Model *)> Implication (absl::Span< const Literal > enforcement_literals, IntegerLiteral i)
std::function< void(Model *)> ImpliesInInterval (Literal in_interval, IntegerVariable v, int64_t lb, int64_t ub)
std::function< std::vector< ValueLiteralPair >(Model *)> FullyEncodeVariable (IntegerVariable var)
 DEFINE_STRONG_INT64_TYPE (IntegerValue)
constexpr IntegerValue kMaxIntegerValue (std::numeric_limits< IntegerValue::ValueType >::max() - 1)
constexpr IntegerValue kMinIntegerValue (-kMaxIntegerValue.value())
double ToDouble (IntegerValue value)
template<class IntType>
IntType IntTypeAbs (IntType t)
IntegerValue CeilRatio (IntegerValue dividend, IntegerValue positive_divisor)
IntegerValue FloorRatio (IntegerValue dividend, IntegerValue positive_divisor)
IntegerValue FloorRatioWithTest (IntegerValue dividend, IntegerValue positive_divisor)
IntegerValue CapProdI (IntegerValue a, IntegerValue b)
IntegerValue CapSubI (IntegerValue a, IntegerValue b)
IntegerValue CapAddI (IntegerValue a, IntegerValue b)
bool ProdOverflow (IntegerValue t, IntegerValue value)
bool AtMinOrMaxInt64I (IntegerValue t)
IntegerValue PositiveRemainder (IntegerValue dividend, IntegerValue positive_divisor)
bool AddTo (IntegerValue a, IntegerValue *result)
bool AddProductTo (IntegerValue a, IntegerValue b, IntegerValue *result)
bool AddSquareTo (IntegerValue a, IntegerValue *result)
 DEFINE_STRONG_INDEX_TYPE (IntegerVariable)
const IntegerVariable kNoIntegerVariable (-1)
IntegerVariable NegationOf (IntegerVariable i)
bool VariableIsPositive (IntegerVariable i)
IntegerVariable PositiveVariable (IntegerVariable i)
 DEFINE_STRONG_INDEX_TYPE (PositiveOnlyIndex)
PositiveOnlyIndex GetPositiveOnlyIndex (IntegerVariable var)
std::string IntegerTermDebugString (IntegerVariable var, IntegerValue coeff)
std::ostream & operator<< (std::ostream &os, IntegerLiteral i_lit)
std::ostream & operator<< (std::ostream &os, absl::Span< const IntegerLiteral > literals)
template<typename H>
AbslHashValue (H h, const AffineExpression &e)
std::pair< LinearExpression2, IntegerValue > EncodeDifferenceLowerThan (AffineExpression a, AffineExpression b, IntegerValue ub)
template<typename H>
AbslHashValue (H h, const LinearExpression2 &e)
 DEFINE_STRONG_INDEX_TYPE (IntervalVariable)
const IntervalVariable kNoIntervalVariable (-1)
void AddWeightedSumLowerOrEqual (absl::Span< const Literal > enforcement_literals, absl::Span< const IntegerVariable > vars, absl::Span< const IntegerValue > coefficients, int64_t upper_bound, Model *model)
void AddWeightedSumGreaterOrEqual (absl::Span< const Literal > enforcement_literals, absl::Span< const IntegerVariable > vars, absl::Span< const IntegerValue > coefficients, int64_t lower_bound, Model *model)
template<typename VectorInt>
std::function< void(Model *)> WeightedSumLowerOrEqual (absl::Span< const IntegerVariable > vars, const VectorInt &coefficients, int64_t upper_bound)
template<typename VectorInt>
std::function< void(Model *)> WeightedSumGreaterOrEqual (absl::Span< const IntegerVariable > vars, const VectorInt &coefficients, int64_t lower_bound)
template<typename VectorInt>
std::function< void(Model *)> FixedWeightedSum (absl::Span< const IntegerVariable > vars, const VectorInt &coefficients, int64_t value)
std::function< void(Model *)> ConditionalWeightedSumLowerOrEqual (absl::Span< const Literal > enforcement_literals, absl::Span< const IntegerVariable > vars, absl::Span< const int64_t > coefficients, int64_t upper_bound)
std::function< void(Model *)> ConditionalWeightedSumGreaterOrEqual (absl::Span< const Literal > enforcement_literals, absl::Span< const IntegerVariable > vars, absl::Span< const int64_t > coefficients, int64_t upper_bound)
void LoadConditionalLinearConstraint (const absl::Span< const Literal > enforcement_literals, const LinearConstraint &cst, Model *model)
void LoadLinearConstraint (const LinearConstraint &cst, Model *model)
void AddConditionalAffinePrecedence (const absl::Span< const Literal > enforcement_literals, AffineExpression left, AffineExpression right, Model *model)
template<typename VectorInt>
std::function< IntegerVariable(Model *)> NewWeightedSum (const VectorInt &coefficients, const std::vector< IntegerVariable > &vars)
void AddIsEqualToMinOf (const absl::Span< const Literal > enforcement_literals, const LinearExpression &min_expr, std::vector< LinearExpression > exprs, Model *model)
std::function< void(Model *)> IsEqualToMinOf (const LinearExpression &min_expr, const std::vector< LinearExpression > &exprs)
std::function< void(Model *)> ProductConstraint (absl::Span< const Literal > enforcement_literals, AffineExpression a, AffineExpression b, AffineExpression p)
std::function< void(Model *)> DivisionConstraint (absl::Span< const Literal > enforcement_literals, AffineExpression num, AffineExpression denom, AffineExpression div)
std::function< void(Model *)> FixedDivisionConstraint (absl::Span< const Literal > enforcement_literals, AffineExpression a, IntegerValue b, AffineExpression c)
std::function< void(Model *)> FixedModuloConstraint (absl::Span< const Literal > enforcement_literals, AffineExpression a, IntegerValue b, AffineExpression c)
IntegerLiteral AtMinValue (IntegerVariable var, IntegerTrail *integer_trail)
IntegerLiteral ChooseBestObjectiveValue (IntegerVariable var, IntegerTrail *integer_trail, ObjectiveDefinition *objective_definition)
IntegerLiteral GreaterOrEqualToMiddleValue (IntegerVariable var, IntegerTrail *integer_trail)
IntegerLiteral SplitAroundGivenValue (IntegerVariable var, IntegerValue value, Model *model)
IntegerLiteral SplitAroundLpValue (IntegerVariable var, Model *model)
IntegerLiteral SplitUsingBestSolutionValueInRepository (IntegerVariable var, const SharedSolutionRepository< int64_t > &solution_repo, Model *model)
std::function< BooleanOrIntegerLiteral()> FirstUnassignedVarAtItsMinHeuristic (absl::Span< const IntegerVariable > vars, Model *model)
std::function< BooleanOrIntegerLiteral()> MostFractionalHeuristic (Model *model)
std::function< BooleanOrIntegerLiteral()> BoolPseudoCostHeuristic (Model *model)
std::function< BooleanOrIntegerLiteral()> LpPseudoCostHeuristic (Model *model)
std::function< BooleanOrIntegerLiteral()> UnassignedVarWithLowestMinAtItsMinHeuristic (absl::Span< const IntegerVariable > vars, Model *model)
std::function< BooleanOrIntegerLiteral()> SequentialSearch (std::vector< std::function< BooleanOrIntegerLiteral()> > heuristics)
std::function< BooleanOrIntegerLiteral()> SequentialValueSelection (std::vector< std::function< IntegerLiteral(IntegerVariable)> > value_selection_heuristics, std::function< BooleanOrIntegerLiteral()> var_selection_heuristic, Model *model)
bool LinearizedPartIsLarge (Model *model)
std::function< BooleanOrIntegerLiteral()> IntegerValueSelectionHeuristic (std::function< BooleanOrIntegerLiteral()> var_selection_heuristic, Model *model)
std::function< BooleanOrIntegerLiteral()> SatSolverHeuristic (Model *model)
std::function< BooleanOrIntegerLiteral()> ShaveObjectiveLb (Model *model)
std::function< BooleanOrIntegerLiteral()> PseudoCost (Model *model)
std::function< BooleanOrIntegerLiteral()> SchedulingSearchHeuristic (Model *model)
std::function< BooleanOrIntegerLiteral()> DisjunctivePrecedenceSearchHeuristic (Model *model)
std::function< BooleanOrIntegerLiteral()> CumulativePrecedenceSearchHeuristic (Model *model)
std::function< BooleanOrIntegerLiteral()> RandomizeOnRestartHeuristic (bool lns_mode, Model *model)
std::function< BooleanOrIntegerLiteral()> FollowHint (absl::Span< const BooleanOrIntegerVariable > vars, absl::Span< const IntegerValue > values, Model *model)
std::function< bool()> RestartEveryKFailures (int k, SatSolver *solver)
std::function< bool()> SatSolverRestartPolicy (Model *model)
void ConfigureSearchHeuristics (Model *model)
std::vector< std::function< BooleanOrIntegerLiteral()> > CompleteHeuristics (absl::Span< const std::function< BooleanOrIntegerLiteral()> > incomplete_heuristics, const std::function< BooleanOrIntegerLiteral()> &completion_heuristic)
SatSolver::Status ResetAndSolveIntegerProblem (const std::vector< Literal > &assumptions, Model *model)
SatSolver::Status SolveIntegerProblemWithLazyEncoding (Model *model)
IntegerLiteral SplitDomainUsingBestSolutionValue (IntegerVariable var, Model *model)
std::function< int64_t(const Model &)> MinSize (IntervalVariable v)
std::function< int64_t(const Model &)> MaxSize (IntervalVariable v)
std::function< bool(const Model &)> IsOptional (IntervalVariable v)
std::function< Literal(const Model &)> IsPresentLiteral (IntervalVariable v)
std::function< IntervalVariable(Model *)> NewInterval (int64_t min_start, int64_t max_end, int64_t size)
std::function< IntervalVariable(Model *)> NewInterval (IntegerVariable start, IntegerVariable end, IntegerVariable size)
std::function< IntervalVariable(Model *)> NewIntervalWithVariableSize (int64_t min_start, int64_t max_end, int64_t min_size, int64_t max_size)
std::function< IntervalVariable(Model *)> NewOptionalInterval (int64_t min_start, int64_t max_end, int64_t size, Literal is_present)
std::function< IntervalVariable(Model *)> NewOptionalInterval (IntegerVariable start, IntegerVariable end, IntegerVariable size, Literal is_present)
std::function< IntervalVariable(Model *)> NewOptionalIntervalWithVariableSize (int64_t min_start, int64_t max_end, int64_t min_size, int64_t max_size, Literal is_present)
void AppendVariablesFromCapacityAndDemands (const AffineExpression &capacity, SchedulingDemandHelper *demands_helper, Model *model, std::vector< IntegerVariable > *vars)
double ComputeActivity (const LinearConstraint &constraint, const util_intops::StrongVector< IntegerVariable, double > &values)
double ComputeL2Norm (const LinearConstraint &ct)
IntegerValue ComputeInfinityNorm (const LinearConstraint &ct)
double ScalarProduct (const LinearConstraint &ct1, const LinearConstraint &ct2)
void DivideByGCD (LinearConstraint *constraint)
void MakeAllVariablesPositive (LinearConstraint *constraint)
bool NoDuplicateVariable (const LinearConstraint &ct)
LinearExpression CanonicalizeExpr (const LinearExpression &expr)
bool ValidateLinearConstraintForOverflow (const LinearConstraint &constraint, const IntegerTrail &integer_trail)
LinearExpression NegationOf (const LinearExpression &expr)
LinearExpression PositiveVarExpr (const LinearExpression &expr)
IntegerValue GetCoefficient (const IntegerVariable var, const LinearExpression &expr)
IntegerValue GetCoefficientOfPositiveVar (const IntegerVariable var, const LinearExpression &expr)
bool PossibleOverflow (const IntegerTrail &integer_trail, const LinearConstraint &constraint)
std::ostream & operator<< (std::ostream &os, const LinearConstraint &ct)
void CleanTermsAndFillConstraint (std::vector< std::pair< IntegerVariable, IntegerValue > > *terms, LinearExpression *output)
void CleanTermsAndFillConstraint (std::vector< std::pair< IntegerVariable, IntegerValue > > *terms, LinearConstraint *output)
bool MergePositiveVariableTermsAndCheckForOverflow (std::vector< std::pair< IntegerVariable, IntegerValue > > *terms, LinearConstraint *output)
void AppendRelaxationForEqualityEncoding (IntegerVariable var, const Model &model, LinearRelaxation *relaxation, int *num_tight, int *num_loose)
void AppendPartialGreaterThanEncodingRelaxation (IntegerVariable var, const Model &model, LinearRelaxation *relaxation)
void AppendBoolOrRelaxation (const ConstraintProto &ct, Model *model, LinearRelaxation *relaxation)
void AppendBoolAndRelaxation (const ConstraintProto &ct, Model *model, LinearRelaxation *relaxation, ActivityBoundHelper *activity_helper)
void AppendAtMostOneRelaxation (const ConstraintProto &ct, Model *model, LinearRelaxation *relaxation)
void AppendExactlyOneRelaxation (const ConstraintProto &ct, Model *model, LinearRelaxation *relaxation)
std::vector< LiteralCreateAlternativeLiteralsWithView (int num_literals, Model *model, LinearRelaxation *relaxation)
void AppendCircuitRelaxation (const ConstraintProto &ct, Model *model, LinearRelaxation *relaxation)
void AppendRoutesRelaxation (const ConstraintProto &ct, Model *model, LinearRelaxation *relaxation)
void AddCircuitCutGenerator (const ConstraintProto &ct, Model *m, LinearRelaxation *relaxation)
void AddRoutesCutGenerator (const ConstraintProto &ct, Model *m, LinearRelaxation *relaxation)
std::optional< int > DetectMakespan (absl::Span< const IntervalVariable > intervals, absl::Span< const AffineExpression > demands, const AffineExpression &capacity, Model *model)
void AppendNoOverlapRelaxationAndCutGenerator (const ConstraintProto &ct, Model *model, LinearRelaxation *relaxation)
void AppendCumulativeRelaxationAndCutGenerator (const ConstraintProto &ct, Model *model, LinearRelaxation *relaxation)
void AddCumulativeRelaxation (const AffineExpression &capacity, SchedulingConstraintHelper *helper, SchedulingDemandHelper *demands_helper, const std::optional< AffineExpression > &makespan, Model *model, LinearRelaxation *relaxation)
void AppendNoOverlap2dRelaxationForComponent (absl::Span< const int > component, Model *model, NoOverlap2DConstraintHelper *no_overlap_helper, LinearConstraintManager *manager, ProductDecomposer *product_decomposer)
void AppendNoOverlap2dRelaxation (const ConstraintProto &ct, Model *model, LinearRelaxation *relaxation)
void AppendLinMaxRelaxationPart1 (const ConstraintProto &ct, Model *model, LinearRelaxation *relaxation, ActivityBoundHelper *activity_helper)
void AppendMaxAffineRelaxation (const ConstraintProto &ct, Model *model, LinearRelaxation *relaxation, ActivityBoundHelper *activity_helper)
void AddMaxAffineCutGenerator (const ConstraintProto &ct, Model *model, LinearRelaxation *relaxation)
void AppendLinMaxRelaxationPart2 (IntegerVariable target, absl::Span< const Literal > alternative_literals, absl::Span< const LinearExpression > exprs, Model *model, LinearRelaxation *relaxation)
void AppendLinearConstraintRelaxation (const ConstraintProto &ct, Model *model, LinearRelaxation *relaxation, ActivityBoundHelper *activity_helper)
void AppendLinearConstraintRelaxation (absl::Span< const int > enforcement, LinearConstraint &&linear_constraint, Model *model, LinearRelaxation *relaxation, ActivityBoundHelper *activity_helper)
void TryToLinearizeConstraint (const CpModelProto &, const ConstraintProto &ct, int linearization_level, Model *model, LinearRelaxation *relaxation, ActivityBoundHelper *activity_helper)
void AddIntProdCutGenerator (const ConstraintProto &ct, int linearization_level, Model *m, LinearRelaxation *relaxation)
void AppendSquareRelaxation (const ConstraintProto &ct, Model *m, LinearRelaxation *relaxation)
void AddSquareCutGenerator (const ConstraintProto &ct, int linearization_level, Model *m, LinearRelaxation *relaxation)
void AddAllDiffRelaxationAndCutGenerator (const ConstraintProto &ct, int linearization_level, Model *m, LinearRelaxation *relaxation)
bool IntervalIsVariable (const IntervalVariable interval, IntervalsRepository *intervals_repository)
void AddCumulativeCutGenerator (const AffineExpression &capacity, SchedulingConstraintHelper *helper, SchedulingDemandHelper *demands_helper, const std::optional< AffineExpression > &makespan, Model *m, LinearRelaxation *relaxation)
void AddNoOverlapCutGenerator (SchedulingConstraintHelper *helper, const std::optional< AffineExpression > &makespan, Model *m, LinearRelaxation *relaxation)
void AddNoOverlap2dCutGenerator (const ConstraintProto &ct, Model *m, LinearRelaxation *relaxation)
void AddLinMaxCutGenerator (const ConstraintProto &ct, Model *m, LinearRelaxation *relaxation)
void AppendElementEncodingRelaxation (Model *m, LinearRelaxation *relaxation)
LinearRelaxation ComputeLinearRelaxation (const CpModelProto &model_proto, Model *m)
std::vector< double > ScaleContinuousVariables (double scaling, double max_bound, MPModelProto *mp_model)
int64_t FindRationalFactor (double x, int64_t limit, double tolerance)
bool MakeBoundsOfIntegerVariablesInteger (const SatParameters &params, MPModelProto *mp_model, SolverLogger *logger)
void ChangeLargeBoundsToInfinity (double max_magnitude, MPModelProto *mp_model, SolverLogger *logger)
void RemoveNearZeroTerms (const SatParameters &params, MPModelProto *mp_model, SolverLogger *logger)
bool MPModelProtoValidationBeforeConversion (const SatParameters &params, const MPModelProto &mp_model, SolverLogger *logger)
std::vector< double > DetectImpliedIntegers (MPModelProto *mp_model, SolverLogger *logger)
double FindBestScalingAndComputeErrors (absl::Span< const double > coefficients, absl::Span< const double > lower_bounds, absl::Span< const double > upper_bounds, int64_t max_absolute_activity, double wanted_absolute_activity_precision, double *relative_coeff_error, double *scaled_sum_error)
bool ConvertMPModelProtoToCpModelProto (const SatParameters &params, const MPModelProto &mp_model, CpModelProto *cp_model, SolverLogger *logger)
bool ConvertCpModelProtoToMPModelProto (const CpModelProto &input, MPModelProto *output)
bool ScaleAndSetObjective (const SatParameters &params, absl::Span< const std::pair< int, double > > objective, double objective_offset, bool maximize, CpModelProto *cp_model, SolverLogger *logger)
bool ConvertBinaryMPModelProtoToBooleanProblem (const MPModelProto &mp_model, LinearBooleanProblem *problem)
void ConvertBooleanProblemToLinearProgram (const LinearBooleanProblem &problem, glop::LinearProgram *lp)
double ComputeTrueObjectiveLowerBound (const CpModelProto &model_proto_with_floating_point_objective, const CpObjectiveProto &integer_objective, const int64_t inner_integer_objective_lower_bound)
template<typename Sink, typename... T>
void AbslStringify (Sink &sink, LratChecker::RatIds arg)
void AddConditionalSum2LowerOrEqual (absl::Span< const Literal > enforcement_literals, IntegerVariable a, IntegerVariable b, int64_t ub, Model *model)
void AddConditionalSum3LowerOrEqual (absl::Span< const Literal > enforcement_literals, IntegerVariable a, IntegerVariable b, IntegerVariable c, int64_t ub, Model *model)
std::function< void(Model *)> Equality (IntegerVariable a, IntegerVariable b)
std::function< void(Model *)> ConditionalLowerOrEqualWithOffset (IntegerVariable a, IntegerVariable b, int64_t offset, Literal is_le)
void MinimizeCoreWithPropagation (TimeLimit *limit, SatSolver *solver, std::vector< Literal > *core)
void MinimizeCoreWithSearch (TimeLimit *limit, SatSolver *solver, std::vector< Literal > *core)
bool ProbeLiteral (Literal assumption, SatSolver *solver)
void FilterAssignedLiteral (const VariablesAssignment &assignment, std::vector< Literal > *core)
SatSolver::Status MinimizeIntegerVariableWithLinearScanAndLazyEncoding (IntegerVariable objective_var, const std::function< void()> &feasible_solution_observer, Model *model)
void RestrictObjectiveDomainWithBinarySearch (IntegerVariable objective_var, const std::function< void()> &feasible_solution_observer, Model *model)
void PresolveBooleanLinearExpression (std::vector< Literal > *literals, std::vector< Coefficient > *coefficients, Coefficient *offset)
std::string ValidateParameters (const SatParameters &params)
bool ComputeBooleanLinearExpressionCanonicalForm (std::vector< LiteralWithCoeff > *cst, Coefficient *bound_shift, Coefficient *max_value)
bool ApplyLiteralMapping (const util_intops::StrongVector< LiteralIndex, LiteralIndex > &mapping, std::vector< LiteralWithCoeff > *cst, Coefficient *bound_shift, Coefficient *max_value)
bool BooleanLinearExpressionIsCanonical (absl::Span< const Literal > enforcement_literals, absl::Span< const LiteralWithCoeff > cst)
void SimplifyCanonicalBooleanLinearConstraint (std::vector< LiteralWithCoeff > *cst, Coefficient *rhs)
Coefficient ComputeCanonicalRhs (Coefficient upper_bound, Coefficient bound_shift, Coefficient max_value)
Coefficient ComputeNegatedCanonicalRhs (Coefficient lower_bound, Coefficient bound_shift, Coefficient max_value)
 DEFINE_STRONG_INT64_TYPE (Coefficient)
const Coefficient kCoefficientMax (std::numeric_limits< Coefficient::ValueType >::max())
template<typename H>
AbslHashValue (H h, const LiteralWithCoeff &term)
std::ostream & operator<< (std::ostream &os, LiteralWithCoeff term)
bool PropagateLocalBounds (const IntegerTrail &integer_trail, const RootLevelLinear2Bounds &root_level_bounds, const ConditionalLinear2Bounds &repository, const ImpliedBounds &implied_bounds, Literal lit, const absl::flat_hash_map< IntegerVariable, IntegerValue > &input, absl::flat_hash_map< IntegerVariable, IntegerValue > *output)
 DEFINE_STRONG_INDEX_TYPE (LinearExpression2Index)
const LinearExpression2Index kNoLinearExpression2Index (-1)
LinearExpression2Index NegationOf (LinearExpression2Index i)
bool Linear2IsPositive (LinearExpression2Index i)
LinearExpression2Index PositiveLinear2 (LinearExpression2Index i)
bool ScaleFloatingPointObjective (const SatParameters &params, SolverLogger *logger, CpModelProto *proto)
bool LoadModelForProbing (PresolveContext *context, Model *local_model)
bool LoadModelForPresolve (const CpModelProto &model_proto, SatParameters params, PresolveContext *context, Model *local_model, absl::string_view name_for_logging)
template<typename ProtoWithVarsAndCoeffs, typename PresolveContextT>
bool CanonicalizeLinearExpressionInternal (absl::Span< const int > enforcements, ProtoWithVarsAndCoeffs *proto, int64_t *offset, std::vector< std::pair< int, int64_t > > *tmp_terms, PresolveContextT *context)
void CreateValidModelWithSingleConstraint (const ConstraintProto &ct, const PresolveContext *context, std::vector< int > *variable_mapping, CpModelProto *mini_model)
std::vector< VariableEncodingLocalModelCreateVariableEncodingLocalModels (PresolveContext *context)
bool BasicPresolveAndGetFullyEncodedDomains (PresolveContext *context, VariableEncodingLocalModel &local_model, absl::flat_hash_map< int, Domain > *result, bool *changed)
bool DetectEncodedComplexDomain (PresolveContext *context, int ct_index, VariableEncodingLocalModel &local_model, absl::flat_hash_map< int, Domain > *fully_encoded_domains, bool *changed)
bool DetectAllEncodedComplexDomain (PresolveContext *context, VariableEncodingLocalModel &local_model)
bool MaybeTransferLinear1ToAnotherVariable (VariableEncodingLocalModel &local_model, PresolveContext *context)
bool AddLinearConstraintMultiple (int64_t factor, const ConstraintProto &to_add, ConstraintProto *to_modify)
bool SubstituteVariable (int var, int64_t var_coeff_in_definition, const ConstraintProto &definition, ConstraintProto *ct)
bool FindSingleLinearDifference (const LinearConstraintProto &lin1, const LinearConstraintProto &lin2, int *var1, int64_t *coeff1, int *var2, int64_t *coeff2)
bool ClauseIsEnforcementImpliesLiteral (absl::Span< const int > clause, absl::Span< const int > enforcement, int literal)
bool LinearsDifferAtOneTerm (const LinearConstraintProto &lin1, const LinearConstraintProto &lin2)
void GetRelationshipForConstraint (const ConstraintProto &ct, absl::btree_set< int > *deducible_vars, absl::btree_set< int > *input_vars, int *preferred_to_deduce)
void CreateLinMaxFromLinearsAndObjective (const CpModelProto &model, int var_for_target, absl::Span< const int > linear_constraint_indexes, bool var_in_objective_is_negative, ConstraintProto *new_constraint)
bool IsObjectiveConstraining (const CpModelProto &model)
VariableRelationships ComputeVariableRelationships (const CpModelProto &model)
bool ComputeAllVariablesFromPrimaryVariables (const CpModelProto &model, const VariableRelationships &relationships, std::vector< int64_t > *solution)
bool LookForTrivialSatSolution (double deterministic_time_limit, Model *model, SolverLogger *logger)
int SUniv (int i)
void RecordLPRelaxationValues (Model *model)
ReducedDomainNeighborhood GetRinsRensNeighborhood (const SharedResponseManager *response_manager, const SharedLPSolutionRepository *lp_solutions, SharedIncompleteSolutionManager *incomplete_solutions, double difficulty, absl::BitGenRef random)
RoutingCumulExpressions DetectDimensionsAndCumulExpressions (int num_nodes, absl::Span< const int > tails, absl::Span< const int > heads, absl::Span< const Literal > literals, const ConditionalLinear2Bounds &binary_relation_repository)
std::pair< IntegerValue, IntegerValue > GetDifferenceBounds (const NodeExpression &x_expr, const NodeExpression &y_expr, const sat::Relation &r, const std::pair< IntegerValue, IntegerValue > &x_var_bounds, const std::pair< IntegerValue, IntegerValue > &y_var_bounds)
std::pair< int, int > MaybeFillMissingRoutesConstraintNodeExpressions (const CpModelProto &input_model, CpModelProto &output_model)
void GenerateInterestingSubsets (int num_nodes, absl::Span< const std::pair< int, int > > arcs, int stop_at_num_components, std::vector< int > *subset_data, std::vector< absl::Span< const int > > *subsets)
void ExtractAllSubsetsFromForest (absl::Span< const int > parent, std::vector< int > *subset_data, std::vector< absl::Span< const int > > *subsets, int node_limit)
std::vector< int > ComputeGomoryHuTree (int num_nodes, absl::Span< const ArcWithLpValue > relevant_arcs)
void SymmetrizeArcs (std::vector< ArcWithLpValue > *arcs)
int TryAllSubsets (std::string cut_name, absl::Span< const int > subset_data, std::vector< absl::Span< const int > > subsets, RoutingCutHelper &helper, LinearConstraintManager *manager)
void SeparateSubtourInequalities (RoutingCutHelper &helper, LinearConstraintManager *manager)
CutGenerator CreateStronglyConnectedGraphCutGenerator (int num_nodes, absl::Span< const int > tails, absl::Span< const int > heads, absl::Span< const Literal > literals, Model *model)
CutGenerator CreateCVRPCutGenerator (int num_nodes, absl::Span< const int > tails, absl::Span< const int > heads, absl::Span< const Literal > literals, absl::Span< const AffineExpression > flat_node_dim_expressions, Model *model)
void SeparateFlowInequalities (int num_nodes, absl::Span< const int > tails, absl::Span< const int > heads, absl::Span< const AffineExpression > arc_capacities, std::function< void(const std::vector< bool > &in_subset, IntegerValue *min_incoming_flow, IntegerValue *min_outgoing_flow)> get_flows, const util_intops::StrongVector< IntegerVariable, double > &lp_values, LinearConstraintManager *manager, Model *model)
CutGenerator CreateFlowCutGenerator (int num_nodes, const std::vector< int > &tails, const std::vector< int > &heads, const std::vector< AffineExpression > &arc_capacities, std::function< void(const std::vector< bool > &in_subset, IntegerValue *min_incoming_flow, IntegerValue *min_outgoing_flow)> get_flows, Model *model)
std::ostream & operator<< (std::ostream &os, SpecialBinPackingHelper::ItemOrBin o)
 DEFINE_STRONG_INDEX_TYPE (BooleanVariable)
const BooleanVariable kNoBooleanVariable (-1)
 DEFINE_STRONG_INDEX_TYPE (LiteralIndex)
const LiteralIndex kNoLiteralIndex (-1)
const LiteralIndex kTrueLiteralIndex (-2)
const LiteralIndex kFalseLiteralIndex (-3)
std::ostream & operator<< (std::ostream &os, Literal literal)
template<typename Sink, typename... T>
void AbslStringify (Sink &sink, Literal arg)
std::ostream & operator<< (std::ostream &os, absl::Span< const Literal > literals)
std::ostream & operator<< (std::ostream &os, absl::Span< const LiteralIndex > literals)
std::vector< LiteralLiterals (absl::Span< const int > input)
 DEFINE_STRONG_INT_TYPE (ClauseId, int64_t)
constexpr ClauseId kNoClauseId (0)
 DEFINE_STRONG_INDEX_TYPE (GateId)
std::string SatStatusString (SatSolver::Status status)
void MinimizeCore (SatSolver *solver, std::vector< Literal > *core)
std::function< void(Model *)> BooleanLinearConstraint (int64_t lower_bound, int64_t upper_bound, std::vector< LiteralWithCoeff > *cst)
std::function< void(Model *)> CardinalityConstraint (int64_t lower_bound, int64_t upper_bound, absl::Span< const Literal > literals)
std::function< void(Model *)> ExactlyOneConstraint (absl::Span< const Literal > literals)
std::function< void(Model *)> AtMostOneConstraint (absl::Span< const Literal > literals)
std::function< void(Model *)> ClauseConstraint (absl::Span< const Literal > literals)
std::function< void(Model *)> Implication (Literal a, Literal b)
std::function< void(Model *)> Equality (Literal a, Literal b)
std::function< void(Model *)> ReifiedBoolOr (absl::Span< const Literal > literals, Literal r)
std::function< void(Model *)> EnforcedClause (absl::Span< const Literal > enforcement_literals, absl::Span< const Literal > clause)
std::function< void(Model *)> ReifiedBoolAnd (absl::Span< const Literal > literals, Literal r)
std::function< void(Model *)> ReifiedBoolLe (Literal a, Literal b, Literal r)
std::function< int64_t(const Model &)> Value (Literal l)
std::function< int64_t(const Model &)> Value (BooleanVariable b)
std::function< void(Model *)> ExcludeCurrentSolutionAndBacktrack ()
std::ostream & operator<< (std::ostream &os, SatSolver::Status status)
SatSweepingResult DoFullSatSweeping (const CompactVectorVector< int, Literal > &clauses, TimeLimit *time_limit, std::function< void(Model *)> configure_model_before_first_solve)
void GenerateCumulativeEnergeticCutsWithMakespanAndFixedCapacity (absl::string_view cut_name, const util_intops::StrongVector< IntegerVariable, double > &lp_values, absl::Span< std::unique_ptr< EnergyEvent > > events, IntegerValue capacity, AffineExpression makespan, TimeLimit *time_limit, Model *model, TopNCuts &top_n_cuts)
void GenerateCumulativeEnergeticCuts (absl::string_view cut_name, const util_intops::StrongVector< IntegerVariable, double > &lp_values, absl::Span< std::unique_ptr< EnergyEvent > > events, const AffineExpression &capacity, TimeLimit *time_limit, Model *model, TopNCuts &top_n_cuts)
CutGenerator CreateCumulativeEnergyCutGenerator (SchedulingConstraintHelper *helper, SchedulingDemandHelper *demands_helper, const AffineExpression &capacity, const std::optional< AffineExpression > &makespan, Model *model)
CutGenerator CreateNoOverlapEnergyCutGenerator (SchedulingConstraintHelper *helper, const std::optional< AffineExpression > &makespan, Model *model)
CutGenerator CreateCumulativeTimeTableCutGenerator (SchedulingConstraintHelper *helper, SchedulingDemandHelper *demands_helper, const AffineExpression &capacity, Model *model)
void GenerateCutsBetweenPairOfNonOverlappingTasks (absl::string_view cut_name, bool ignore_zero_size_intervals, const util_intops::StrongVector< IntegerVariable, double > &lp_values, absl::Span< std::unique_ptr< CachedIntervalData > > events, IntegerValue capacity_max, Model *model, TopNCuts &top_n_cuts)
CutGenerator CreateCumulativePrecedenceCutGenerator (SchedulingConstraintHelper *helper, SchedulingDemandHelper *demands_helper, const AffineExpression &capacity, Model *model)
CutGenerator CreateNoOverlapPrecedenceCutGenerator (SchedulingConstraintHelper *helper, Model *model)
CompletionTimeExplorationStatus ComputeMinSumOfWeightedEndMins (absl::Span< CompletionTimeEvent * > events, IntegerValue capacity_max, double unweighted_threshold, double weighted_threshold, CtExhaustiveHelper &helper, double &min_sum_of_ends, double &min_sum_of_weighted_ends, bool &cut_use_precedences, int &exploration_credit)
ABSL_MUST_USE_RESULT bool GenerateShortCompletionTimeCutsWithExactBound (absl::string_view cut_name, const util_intops::StrongVector< IntegerVariable, double > &lp_values, absl::Span< std::unique_ptr< CompletionTimeEvent > > events, IntegerValue capacity_max, CtExhaustiveHelper &helper, Model *model, TopNCuts &top_n_cuts, std::vector< CompletionTimeEvent > &residual_event_storage)
void GenerateCompletionTimeCutsWithEnergy (absl::string_view cut_name, const util_intops::StrongVector< IntegerVariable, double > &lp_values, absl::Span< std::unique_ptr< CompletionTimeEvent > > events, IntegerValue capacity_max, Model *model, TopNCuts &top_n_cuts, std::vector< CompletionTimeEvent > &residual_event_storage)
CutGenerator CreateNoOverlapCompletionTimeCutGenerator (SchedulingConstraintHelper *helper, Model *model)
CutGenerator CreateCumulativeCompletionTimeCutGenerator (SchedulingConstraintHelper *helper, SchedulingDemandHelper *demands_helper, const AffineExpression &capacity, Model *model)
template<typename Sink>
void AbslStringify (Sink &sink, const CompletionTimeExplorationStatus &status)
template<class E>
std::vector< absl::Span< std::unique_ptr< E > > > SplitEventsInIndendentSets (std::vector< std::unique_ptr< E > > &events)
IntegerValue ComputeEnergyMinInWindow (IntegerValue start_min, IntegerValue start_max, IntegerValue end_min, IntegerValue end_max, IntegerValue size_min, IntegerValue demand_min, absl::Span< const LiteralValueValue > filtered_energy, IntegerValue window_start, IntegerValue window_end)
void AddIntegerVariableFromIntervals (const SchedulingConstraintHelper *helper, Model *model, std::vector< IntegerVariable > *vars, int mask)
bool SimplifyClause (const std::vector< Literal > &a, std::vector< Literal > *b, LiteralIndex *opposite_literal, int64_t *num_inspected_literals)
LiteralIndex DifferAtGivenLiteral (const std::vector< Literal > &a, const std::vector< Literal > &b, Literal l)
bool ComputeResolvant (Literal x, const std::vector< Literal > &a, const std::vector< Literal > &b, std::vector< Literal > *out)
int ComputeResolvantSize (Literal x, const std::vector< Literal > &a, const std::vector< Literal > &b)
void ProbeAndFindEquivalentLiteral (SatSolver *solver, SatPostsolver *postsolver, util_intops::StrongVector< LiteralIndex, LiteralIndex > *mapping, SolverLogger *logger)
void SequentialLoop (std::vector< std::unique_ptr< SubSolver > > &subsolvers)
void DeterministicLoop (std::vector< std::unique_ptr< SubSolver > > &subsolvers, int num_threads, int batch_size, int max_num_batches)
void NonDeterministicLoop (std::vector< std::unique_ptr< SubSolver > > &subsolvers, const int num_threads, ModelSharedTimeLimit *time_limit)
std::vector< std::vector< int > > BasicOrbitopeExtraction (absl::Span< const std::unique_ptr< SparsePermutation > > generators)
std::vector< int > GetOrbits (int n, absl::Span< const std::unique_ptr< SparsePermutation > > generators)
std::vector< int > GetOrbitopeOrbits (int n, absl::Span< const std::vector< int > > orbitope)
void GetSchreierVectorAndOrbit (int point, absl::Span< const std::unique_ptr< SparsePermutation > > generators, std::vector< int > *schrier_vector, std::vector< int > *orbit)
std::vector< int > TracePoint (int point, absl::Span< const int > schrier_vector, absl::Span< const std::unique_ptr< SparsePermutation > > generators)
std::unique_ptr< SparsePermutationCreateSparsePermutationFromProto (int n, const SparsePermutationProto &proto)
void TransformToGeneratorOfStabilizer (int to_stabilize, std::vector< std::unique_ptr< SparsePermutation > > *generators)
std::function< void(Model *)> LiteralTableConstraint (absl::Span< const std::vector< Literal > > literal_tuples, absl::Span< const Literal > line_literals)
void AddReservoirConstraint (absl::Span< const Literal > enforcement_literals, absl::Span< const AffineExpression > times, absl::Span< const AffineExpression > deltas, absl::Span< const Literal > presences, int64_t min_level, int64_t max_level, Model *model)
std::string FormatTable (std::vector< std::vector< std::string > > &table, int spacing)
void RandomizeDecisionHeuristic (absl::BitGenRef random, SatParameters *parameters)
int64_t ModularInverse (int64_t x, int64_t m)
int64_t PositiveMod (int64_t x, int64_t m)
int64_t ProductWithModularInverse (int64_t coeff, int64_t mod, int64_t rhs)
bool SolveDiophantineEquationOfSizeTwo (int64_t &a, int64_t &b, int64_t &cte, int64_t &x0, int64_t &y0)
bool DiophantineEquationOfSizeTwoHasSolutionInDomain (const Domain &x, int64_t a, const Domain &y, int64_t b, int64_t cte)
int64_t FloorSquareRoot (int64_t a)
int64_t CeilSquareRoot (int64_t a)
int64_t ClosestMultiple (int64_t value, int64_t base)
bool LinearInequalityCanBeReducedWithClosestMultiple (int64_t base, absl::Span< const int64_t > coeffs, absl::Span< const int64_t > lbs, absl::Span< const int64_t > ubs, int64_t rhs, int64_t *new_rhs)
int MoveOneUnprocessedLiteralLast (const absl::btree_set< LiteralIndex > &processed, int relevant_prefix_size, std::vector< Literal > *literals)
int WeightedPick (absl::Span< const double > input, absl::BitGenRef random)
std::vector< absl::Span< int > > AtMostOneDecomposition (const std::vector< std::vector< int > > &graph, absl::BitGenRef random, std::vector< int > *buffer)
std::vector< int > FindMostDiverseSubset (int k, int n, absl::Span< const int64_t > distances, std::vector< int64_t > &buffer, int always_pick_mask)
std::vector< std::pair< int, int > > HeuristicallySplitLongLinear (absl::Span< const int64_t > coeffs)
template<class Container, class Pred>
void OpenSourceEraseIf (Container &c, Pred pred)
std::string FormatName (absl::string_view name)
int64_t SafeDoubleToInt64 (double value)
bool IsStrictlyIncluded (Bitset64< LiteralIndex >::ConstView in_subset, int subset_size, absl::Span< const Literal > superset)
bool IsNegatableInt64 (absl::int128 x)
void ScanModelForDominanceDetection (PresolveContext &context, VarDomination *var_domination)
void ScanModelForDualBoundStrengthening (const PresolveContext &context, DualBoundStrengthening *dual_bound_strengthening)
bool ExploitDominanceRelations (const VarDomination &var_domination, PresolveContext *context)
bool ProcessEncodingConstraints (int var, PresolveContext *context, ValueEncoding &values, OrderEncoding &order, std::vector< std::vector< EncodingLinear1 > > &linear_ones_by_type, std::vector< int > &constraint_indices, bool &var_in_objective, bool &var_has_positive_objective_coefficient)
void TryToReplaceVariableByItsEncoding (int var, PresolveContext *context, SolutionCrush &solution_crush)
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL DecisionStrategyProto_VariableSelectionStrategy_descriptor ()
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL DecisionStrategyProto_DomainReductionStrategy_descriptor ()
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL CpSolverStatus_descriptor ()
bool DecisionStrategyProto_VariableSelectionStrategy_IsValid (int value)
template<typename T>
const ::std::string & DecisionStrategyProto_VariableSelectionStrategy_Name (T value)
template<>
const ::std::string & DecisionStrategyProto_VariableSelectionStrategy_Name (DecisionStrategyProto_VariableSelectionStrategy value)
bool DecisionStrategyProto_VariableSelectionStrategy_Parse (::absl::string_view name, DecisionStrategyProto_VariableSelectionStrategy *PROTOBUF_NONNULL value)
bool DecisionStrategyProto_DomainReductionStrategy_IsValid (int value)
template<typename T>
const ::std::string & DecisionStrategyProto_DomainReductionStrategy_Name (T value)
template<>
const ::std::string & DecisionStrategyProto_DomainReductionStrategy_Name (DecisionStrategyProto_DomainReductionStrategy value)
bool DecisionStrategyProto_DomainReductionStrategy_Parse (::absl::string_view name, DecisionStrategyProto_DomainReductionStrategy *PROTOBUF_NONNULL value)
bool CpSolverStatus_IsValid (int value)
template<typename T>
const ::std::string & CpSolverStatus_Name (T value)
template<>
const ::std::string & CpSolverStatus_Name (CpSolverStatus value)
bool CpSolverStatus_Parse (::absl::string_view name, CpSolverStatus *PROTOBUF_NONNULL value)
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL SatParameters_VariableOrder_descriptor ()
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL SatParameters_Polarity_descriptor ()
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL SatParameters_ConflictMinimizationAlgorithm_descriptor ()
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL SatParameters_BinaryMinizationAlgorithm_descriptor ()
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL SatParameters_ClauseOrdering_descriptor ()
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL SatParameters_RestartAlgorithm_descriptor ()
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL SatParameters_MaxSatAssumptionOrder_descriptor ()
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL SatParameters_MaxSatStratificationAlgorithm_descriptor ()
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL SatParameters_SearchBranching_descriptor ()
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL SatParameters_SharedTreeSplitStrategy_descriptor ()
const ::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL SatParameters_FPRoundingMethod_descriptor ()
bool SatParameters_VariableOrder_IsValid (int value)
template<typename T>
const ::std::string & SatParameters_VariableOrder_Name (T value)
template<>
const ::std::string & SatParameters_VariableOrder_Name (SatParameters_VariableOrder value)
bool SatParameters_VariableOrder_Parse (::absl::string_view name, SatParameters_VariableOrder *PROTOBUF_NONNULL value)
bool SatParameters_Polarity_IsValid (int value)
template<typename T>
const ::std::string & SatParameters_Polarity_Name (T value)
template<>
const ::std::string & SatParameters_Polarity_Name (SatParameters_Polarity value)
bool SatParameters_Polarity_Parse (::absl::string_view name, SatParameters_Polarity *PROTOBUF_NONNULL value)
bool SatParameters_ConflictMinimizationAlgorithm_IsValid (int value)
template<typename T>
const ::std::string & SatParameters_ConflictMinimizationAlgorithm_Name (T value)
template<>
const ::std::string & SatParameters_ConflictMinimizationAlgorithm_Name (SatParameters_ConflictMinimizationAlgorithm value)
bool SatParameters_ConflictMinimizationAlgorithm_Parse (::absl::string_view name, SatParameters_ConflictMinimizationAlgorithm *PROTOBUF_NONNULL value)
bool SatParameters_BinaryMinizationAlgorithm_IsValid (int value)
template<typename T>
const ::std::string & SatParameters_BinaryMinizationAlgorithm_Name (T value)
template<>
const ::std::string & SatParameters_BinaryMinizationAlgorithm_Name (SatParameters_BinaryMinizationAlgorithm value)
bool SatParameters_BinaryMinizationAlgorithm_Parse (::absl::string_view name, SatParameters_BinaryMinizationAlgorithm *PROTOBUF_NONNULL value)
bool SatParameters_ClauseOrdering_IsValid (int value)
template<typename T>
const ::std::string & SatParameters_ClauseOrdering_Name (T value)
template<>
const ::std::string & SatParameters_ClauseOrdering_Name (SatParameters_ClauseOrdering value)
bool SatParameters_ClauseOrdering_Parse (::absl::string_view name, SatParameters_ClauseOrdering *PROTOBUF_NONNULL value)
bool SatParameters_RestartAlgorithm_IsValid (int value)
template<typename T>
const ::std::string & SatParameters_RestartAlgorithm_Name (T value)
template<>
const ::std::string & SatParameters_RestartAlgorithm_Name (SatParameters_RestartAlgorithm value)
bool SatParameters_RestartAlgorithm_Parse (::absl::string_view name, SatParameters_RestartAlgorithm *PROTOBUF_NONNULL value)
bool SatParameters_MaxSatAssumptionOrder_IsValid (int value)
template<typename T>
const ::std::string & SatParameters_MaxSatAssumptionOrder_Name (T value)
template<>
const ::std::string & SatParameters_MaxSatAssumptionOrder_Name (SatParameters_MaxSatAssumptionOrder value)
bool SatParameters_MaxSatAssumptionOrder_Parse (::absl::string_view name, SatParameters_MaxSatAssumptionOrder *PROTOBUF_NONNULL value)
bool SatParameters_MaxSatStratificationAlgorithm_IsValid (int value)
template<typename T>
const ::std::string & SatParameters_MaxSatStratificationAlgorithm_Name (T value)
template<>
const ::std::string & SatParameters_MaxSatStratificationAlgorithm_Name (SatParameters_MaxSatStratificationAlgorithm value)
bool SatParameters_MaxSatStratificationAlgorithm_Parse (::absl::string_view name, SatParameters_MaxSatStratificationAlgorithm *PROTOBUF_NONNULL value)
bool SatParameters_SearchBranching_IsValid (int value)
template<typename T>
const ::std::string & SatParameters_SearchBranching_Name (T value)
template<>
const ::std::string & SatParameters_SearchBranching_Name (SatParameters_SearchBranching value)
bool SatParameters_SearchBranching_Parse (::absl::string_view name, SatParameters_SearchBranching *PROTOBUF_NONNULL value)
bool SatParameters_SharedTreeSplitStrategy_IsValid (int value)
template<typename T>
const ::std::string & SatParameters_SharedTreeSplitStrategy_Name (T value)
template<>
const ::std::string & SatParameters_SharedTreeSplitStrategy_Name (SatParameters_SharedTreeSplitStrategy value)
bool SatParameters_SharedTreeSplitStrategy_Parse (::absl::string_view name, SatParameters_SharedTreeSplitStrategy *PROTOBUF_NONNULL value)
bool SatParameters_FPRoundingMethod_IsValid (int value)
template<typename T>
const ::std::string & SatParameters_FPRoundingMethod_Name (T value)
template<>
const ::std::string & SatParameters_FPRoundingMethod_Name (SatParameters_FPRoundingMethod value)
bool SatParameters_FPRoundingMethod_Parse (::absl::string_view name, SatParameters_FPRoundingMethod *PROTOBUF_NONNULL value)
std::function< SatParameters(Model *)> NewSatParameters (absl::string_view params)
template<class Graph>
std::unique_ptr< GraphRemapGraph (const Graph &graph, absl::Span< const int > new_node_index)

Variables

static constexpr int kMaxProblemSize = 16
constexpr int64_t kTableAnyValue = std::numeric_limits<int64_t>::min()
constexpr uint64_t kDefaultFingerprintSeed = 0xa5b85c5e198ed849
for i = 0 ... k-2
for b [i][j] = 0 if j > i+1
constexpr int kObjectiveConstraint = -1
constexpr int kAffineRelationConstraint = -2
constexpr int kAssumptionsConstraint = -3
const int kUnsatTrailIndex = -1
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LinearObjectiveDefaultTypeInternal _LinearObjective_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LinearBooleanConstraintDefaultTypeInternal _LinearBooleanConstraint_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BooleanAssignmentDefaultTypeInternal _BooleanAssignment_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LinearBooleanProblemDefaultTypeInternal _LinearBooleanProblem_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull LinearBooleanConstraint_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull LinearObjective_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull BooleanAssignment_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull LinearBooleanProblem_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SparsePermutationProtoDefaultTypeInternal _SparsePermutationProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NoOverlapConstraintProtoDefaultTypeInternal _NoOverlapConstraintProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NoOverlap2DConstraintProtoDefaultTypeInternal _NoOverlap2DConstraintProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ListOfVariablesProtoDefaultTypeInternal _ListOfVariablesProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LinearExpressionProtoDefaultTypeInternal _LinearExpressionProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LinearConstraintProtoDefaultTypeInternal _LinearConstraintProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 InverseConstraintProtoDefaultTypeInternal _InverseConstraintProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 IntegerVariableProtoDefaultTypeInternal _IntegerVariableProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FloatObjectiveProtoDefaultTypeInternal _FloatObjectiveProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DenseMatrixProtoDefaultTypeInternal _DenseMatrixProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CpSolverSolutionDefaultTypeInternal _CpSolverSolution_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CpObjectiveProtoDefaultTypeInternal _CpObjectiveProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CircuitConstraintProtoDefaultTypeInternal _CircuitConstraintProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BoolArgumentProtoDefaultTypeInternal _BoolArgumentProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TableConstraintProtoDefaultTypeInternal _TableConstraintProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SymmetryProtoDefaultTypeInternal _SymmetryProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RoutesConstraintProto_NodeExpressionsDefaultTypeInternal _RoutesConstraintProto_NodeExpressions_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ReservoirConstraintProtoDefaultTypeInternal _ReservoirConstraintProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LinearArgumentProtoDefaultTypeInternal _LinearArgumentProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 IntervalConstraintProtoDefaultTypeInternal _IntervalConstraintProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ElementConstraintProtoDefaultTypeInternal _ElementConstraintProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DecisionStrategyProtoDefaultTypeInternal _DecisionStrategyProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CumulativeConstraintProtoDefaultTypeInternal _CumulativeConstraintProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CpSolverResponseDefaultTypeInternal _CpSolverResponse_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AutomatonConstraintProtoDefaultTypeInternal _AutomatonConstraintProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AllDifferentConstraintProtoDefaultTypeInternal _AllDifferentConstraintProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RoutesConstraintProtoDefaultTypeInternal _RoutesConstraintProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ConstraintProtoDefaultTypeInternal _ConstraintProto_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CpModelProtoDefaultTypeInternal _CpModelProto_default_instance_
PROTOBUF_CONSTINIT const uint32_t DecisionStrategyProto_VariableSelectionStrategy_internal_data_ []
PROTOBUF_CONSTINIT const uint32_t DecisionStrategyProto_DomainReductionStrategy_internal_data_ []
PROTOBUF_CONSTINIT const uint32_t CpSolverStatus_internal_data_ []
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull IntegerVariableProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull BoolArgumentProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull LinearExpressionProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull LinearArgumentProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull AllDifferentConstraintProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull LinearConstraintProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull ElementConstraintProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull IntervalConstraintProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull NoOverlapConstraintProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull NoOverlap2DConstraintProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull CumulativeConstraintProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull ReservoirConstraintProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull CircuitConstraintProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RoutesConstraintProto_NodeExpressions_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RoutesConstraintProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull TableConstraintProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull InverseConstraintProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull AutomatonConstraintProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull ListOfVariablesProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull ConstraintProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull CpObjectiveProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull FloatObjectiveProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull DecisionStrategyProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull PartialVariableAssignment_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull SparsePermutationProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull DenseMatrixProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull SymmetryProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull CpModelProto_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull CpSolverSolution_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull CpSolverResponse_class_data_
constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MIN
constexpr DecisionStrategyProto_VariableSelectionStrategy DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MAX
constexpr int DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_ARRAYSIZE = 4 + 1
constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MIN
constexpr DecisionStrategyProto_DomainReductionStrategy DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MAX
constexpr int DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_ARRAYSIZE = 5 + 1
constexpr CpSolverStatus CpSolverStatus_MIN
constexpr CpSolverStatus CpSolverStatus_MAX
constexpr int CpSolverStatus_ARRAYSIZE = 4 + 1
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LratInferredClause_RatInfoDefaultTypeInternal _LratInferredClause_RatInfo_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LratImportedClauseDefaultTypeInternal _LratImportedClause_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LratExportedClauseDefaultTypeInternal _LratExportedClause_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LratDeletedClausesDefaultTypeInternal _LratDeletedClauses_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LratInferredClauseDefaultTypeInternal _LratInferredClause_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LratProofStepDefaultTypeInternal _LratProofStep_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull LratImportedClause_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull LratInferredClause_RatInfo_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull LratInferredClause_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull LratExportedClause_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull LratDeletedClauses_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull LratProofStep_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ArcLpValueDefaultTypeInternal _ArcLpValue_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RoutesSupportGraphProtoDefaultTypeInternal _RoutesSupportGraphProto_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull ArcLpValue_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull RoutesSupportGraphProto_class_data_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SatParametersDefaultTypeInternal _SatParameters_default_instance_
PROTOBUF_CONSTINIT const uint32_t SatParameters_VariableOrder_internal_data_ []
PROTOBUF_CONSTINIT const uint32_t SatParameters_Polarity_internal_data_ []
PROTOBUF_CONSTINIT const uint32_t SatParameters_ConflictMinimizationAlgorithm_internal_data_ []
PROTOBUF_CONSTINIT const uint32_t SatParameters_BinaryMinizationAlgorithm_internal_data_ []
PROTOBUF_CONSTINIT const uint32_t SatParameters_ClauseOrdering_internal_data_ []
PROTOBUF_CONSTINIT const uint32_t SatParameters_RestartAlgorithm_internal_data_ []
PROTOBUF_CONSTINIT const uint32_t SatParameters_MaxSatAssumptionOrder_internal_data_ []
PROTOBUF_CONSTINIT const uint32_t SatParameters_MaxSatStratificationAlgorithm_internal_data_ []
PROTOBUF_CONSTINIT const uint32_t SatParameters_SearchBranching_internal_data_ []
PROTOBUF_CONSTINIT const uint32_t SatParameters_SharedTreeSplitStrategy_internal_data_ []
PROTOBUF_CONSTINIT const uint32_t SatParameters_FPRoundingMethod_internal_data_ []
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull SatParameters_class_data_
constexpr SatParameters_VariableOrder SatParameters_VariableOrder_VariableOrder_MIN
constexpr SatParameters_VariableOrder SatParameters_VariableOrder_VariableOrder_MAX
constexpr int SatParameters_VariableOrder_VariableOrder_ARRAYSIZE = 2 + 1
constexpr SatParameters_Polarity SatParameters_Polarity_Polarity_MIN
constexpr SatParameters_Polarity SatParameters_Polarity_Polarity_MAX
constexpr int SatParameters_Polarity_Polarity_ARRAYSIZE = 2 + 1
constexpr SatParameters_ConflictMinimizationAlgorithm SatParameters_ConflictMinimizationAlgorithm_ConflictMinimizationAlgorithm_MIN
constexpr SatParameters_ConflictMinimizationAlgorithm SatParameters_ConflictMinimizationAlgorithm_ConflictMinimizationAlgorithm_MAX
constexpr int SatParameters_ConflictMinimizationAlgorithm_ConflictMinimizationAlgorithm_ARRAYSIZE = 2 + 1
constexpr SatParameters_BinaryMinizationAlgorithm SatParameters_BinaryMinizationAlgorithm_BinaryMinizationAlgorithm_MIN
constexpr SatParameters_BinaryMinizationAlgorithm SatParameters_BinaryMinizationAlgorithm_BinaryMinizationAlgorithm_MAX
constexpr int SatParameters_BinaryMinizationAlgorithm_BinaryMinizationAlgorithm_ARRAYSIZE = 5 + 1
constexpr SatParameters_ClauseOrdering SatParameters_ClauseOrdering_ClauseOrdering_MIN
constexpr SatParameters_ClauseOrdering SatParameters_ClauseOrdering_ClauseOrdering_MAX
constexpr int SatParameters_ClauseOrdering_ClauseOrdering_ARRAYSIZE = 1 + 1
constexpr SatParameters_RestartAlgorithm SatParameters_RestartAlgorithm_RestartAlgorithm_MIN
constexpr SatParameters_RestartAlgorithm SatParameters_RestartAlgorithm_RestartAlgorithm_MAX
constexpr int SatParameters_RestartAlgorithm_RestartAlgorithm_ARRAYSIZE = 4 + 1
constexpr SatParameters_MaxSatAssumptionOrder SatParameters_MaxSatAssumptionOrder_MaxSatAssumptionOrder_MIN
constexpr SatParameters_MaxSatAssumptionOrder SatParameters_MaxSatAssumptionOrder_MaxSatAssumptionOrder_MAX
constexpr int SatParameters_MaxSatAssumptionOrder_MaxSatAssumptionOrder_ARRAYSIZE = 2 + 1
constexpr SatParameters_MaxSatStratificationAlgorithm SatParameters_MaxSatStratificationAlgorithm_MaxSatStratificationAlgorithm_MIN
constexpr SatParameters_MaxSatStratificationAlgorithm SatParameters_MaxSatStratificationAlgorithm_MaxSatStratificationAlgorithm_MAX
constexpr int SatParameters_MaxSatStratificationAlgorithm_MaxSatStratificationAlgorithm_ARRAYSIZE = 2 + 1
constexpr SatParameters_SearchBranching SatParameters_SearchBranching_SearchBranching_MIN
constexpr SatParameters_SearchBranching SatParameters_SearchBranching_SearchBranching_MAX
constexpr int SatParameters_SearchBranching_SearchBranching_ARRAYSIZE = 8 + 1
constexpr SatParameters_SharedTreeSplitStrategy SatParameters_SharedTreeSplitStrategy_SharedTreeSplitStrategy_MIN
constexpr SatParameters_SharedTreeSplitStrategy SatParameters_SharedTreeSplitStrategy_SharedTreeSplitStrategy_MAX
constexpr int SatParameters_SharedTreeSplitStrategy_SharedTreeSplitStrategy_ARRAYSIZE = 4 + 1
constexpr SatParameters_FPRoundingMethod SatParameters_FPRoundingMethod_FPRoundingMethod_MIN
constexpr SatParameters_FPRoundingMethod SatParameters_FPRoundingMethod_FPRoundingMethod_MAX
constexpr int SatParameters_FPRoundingMethod_FPRoundingMethod_ARRAYSIZE = 3 + 1
constexpr Fractional kInfinity

Typedef Documentation

◆ Fractional [1/3]

Definition at line 81 of file lp_types.h.

◆ Fractional [2/3]

Definition at line 81 of file lp_types.h.

◆ Fractional [3/3]

Definition at line 81 of file lp_types.h.

◆ InlinedIntegerLiteralVector

Definition at line 54 of file integer.h.

◆ InlinedIntegerValueVector

Initial value:
absl::InlinedVector<std::pair<IntegerVariable, IntegerValue>, 2>

Definition at line 55 of file integer.h.

◆ IntegerSumLE

◆ IntegerSumLE128

◆ SmallBitset

Definition at line 27 of file gate_utils.h.

Enumeration Type Documentation

◆ CompletionTimeExplorationStatus

Enumerator
FINISHED 
ABORTED 
NO_VALID_PERMUTATION 

Definition at line 187 of file scheduling_cuts.h.

◆ ConstraintStatus

enum class operations_research::glop::ConstraintStatus : int8_t
strong

Definition at line 234 of file lp_types.h.

◆ CpSolverStatus [1/2]

Enumerator
UNKNOWN 
MODEL_INVALID 
FEASIBLE 
INFEASIBLE 
OPTIMAL 
CpSolverStatus_INT_MIN_SENTINEL_DO_NOT_USE_ 
CpSolverStatus_INT_MAX_SENTINEL_DO_NOT_USE_ 

Definition at line 281 of file cp_model.pb.h.

◆ CpSolverStatus [2/2]

Definition at line 281 of file cp_model.pb.h.

◆ DecisionStrategyProto_DomainReductionStrategy

Enumerator
DecisionStrategyProto_DomainReductionStrategy_SELECT_MIN_VALUE 
DecisionStrategyProto_DomainReductionStrategy_SELECT_MAX_VALUE 
DecisionStrategyProto_DomainReductionStrategy_SELECT_LOWER_HALF 
DecisionStrategyProto_DomainReductionStrategy_SELECT_UPPER_HALF 
DecisionStrategyProto_DomainReductionStrategy_SELECT_MEDIAN_VALUE 
DecisionStrategyProto_DomainReductionStrategy_SELECT_RANDOM_HALF 
DecisionStrategyProto_DomainReductionStrategy_DecisionStrategyProto_DomainReductionStrategy_INT_MIN_SENTINEL_DO_NOT_USE_ 
DecisionStrategyProto_DomainReductionStrategy_DecisionStrategyProto_DomainReductionStrategy_INT_MAX_SENTINEL_DO_NOT_USE_ 

Definition at line 241 of file cp_model.pb.h.

◆ DecisionStrategyProto_VariableSelectionStrategy

Enumerator
DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_FIRST 
DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_LOWEST_MIN 
DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_HIGHEST_MAX 
DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_MIN_DOMAIN_SIZE 
DecisionStrategyProto_VariableSelectionStrategy_CHOOSE_MAX_DOMAIN_SIZE 
DecisionStrategyProto_VariableSelectionStrategy_DecisionStrategyProto_VariableSelectionStrategy_INT_MIN_SENTINEL_DO_NOT_USE_ 
DecisionStrategyProto_VariableSelectionStrategy_DecisionStrategyProto_VariableSelectionStrategy_INT_MAX_SENTINEL_DO_NOT_USE_ 

Definition at line 202 of file cp_model.pb.h.

◆ DeletionSourceForStat

Enumerator
FIXED_AT_TRUE 
CONTAINS_L_AND_NOT_L 
PROMOTED_TO_BINARY 
SUBSUMPTION_PROBING 
SUBSUMPTION_VIVIFY 
SUBSUMPTION_CONFLICT 
SUBSUMPTION_CONFLICT_EXTRA 
SUBSUMPTION_DECISIONS 
SUBSUMPTION_EAGER 
SUBSUMPTION_INPROCESSING 
BLOCKED 
ELIMINATED 
GARBAGE_COLLECTED 
LastElement 

Definition at line 157 of file clause.h.

◆ EdgePosition

Enumerator
TOP 
RIGHT 
BOTTOM 
LEFT 

Definition at line 130 of file 2d_rectangle_presolve.h.

◆ EnforcementStatus

Enumerator
IS_FALSE 
CANNOT_PROPAGATE 
CAN_PROPAGATE_ENFORCEMENT 
IS_ENFORCED 

Definition at line 38 of file enforcement.h.

◆ IntegerVariablesToAddMask

Enumerator
kStart 
kEnd 
kSize 
kPresence 

Definition at line 870 of file scheduling_helpers.h.

◆ RelationStatus

Enumerator
IS_TRUE 
IS_FALSE 
IS_UNKNOWN 

Definition at line 492 of file integer_base.h.

◆ SatFormat

Enumerator
DIMACS 
DRAT 

Definition at line 334 of file drat_checker.h.

◆ SatParameters_BinaryMinizationAlgorithm

Enumerator
SatParameters_BinaryMinizationAlgorithm_NO_BINARY_MINIMIZATION 
SatParameters_BinaryMinizationAlgorithm_BINARY_MINIMIZATION_FROM_UIP 
SatParameters_BinaryMinizationAlgorithm_BINARY_MINIMIZATION_FROM_UIP_AND_DECISIONS 

Definition at line 225 of file sat_parameters.pb.h.

◆ SatParameters_ClauseOrdering

Enumerator
SatParameters_ClauseOrdering_CLAUSE_ACTIVITY 
SatParameters_ClauseOrdering_CLAUSE_LBD 

Definition at line 258 of file sat_parameters.pb.h.

◆ SatParameters_ConflictMinimizationAlgorithm

Enumerator
SatParameters_ConflictMinimizationAlgorithm_NONE 
SatParameters_ConflictMinimizationAlgorithm_SIMPLE 
SatParameters_ConflictMinimizationAlgorithm_RECURSIVE 

Definition at line 192 of file sat_parameters.pb.h.

◆ SatParameters_FPRoundingMethod

Enumerator
SatParameters_FPRoundingMethod_NEAREST_INTEGER 
SatParameters_FPRoundingMethod_LOCK_BASED 
SatParameters_FPRoundingMethod_ACTIVE_LOCK_BASED 
SatParameters_FPRoundingMethod_PROPAGATION_ASSISTED 

Definition at line 465 of file sat_parameters.pb.h.

◆ SatParameters_MaxSatAssumptionOrder

Enumerator
SatParameters_MaxSatAssumptionOrder_DEFAULT_ASSUMPTION_ORDER 
SatParameters_MaxSatAssumptionOrder_ORDER_ASSUMPTION_BY_DEPTH 
SatParameters_MaxSatAssumptionOrder_ORDER_ASSUMPTION_BY_WEIGHT 

Definition at line 325 of file sat_parameters.pb.h.

◆ SatParameters_MaxSatStratificationAlgorithm

Enumerator
SatParameters_MaxSatStratificationAlgorithm_STRATIFICATION_NONE 
SatParameters_MaxSatStratificationAlgorithm_STRATIFICATION_DESCENT 
SatParameters_MaxSatStratificationAlgorithm_STRATIFICATION_ASCENT 

Definition at line 358 of file sat_parameters.pb.h.

◆ SatParameters_Polarity

Enumerator
SatParameters_Polarity_POLARITY_TRUE 
SatParameters_Polarity_POLARITY_FALSE 
SatParameters_Polarity_POLARITY_RANDOM 

Definition at line 159 of file sat_parameters.pb.h.

◆ SatParameters_RestartAlgorithm

Enumerator
SatParameters_RestartAlgorithm_NO_RESTART 
SatParameters_RestartAlgorithm_LUBY_RESTART 
SatParameters_RestartAlgorithm_DL_MOVING_AVERAGE_RESTART 
SatParameters_RestartAlgorithm_LBD_MOVING_AVERAGE_RESTART 
SatParameters_RestartAlgorithm_FIXED_RESTART 

Definition at line 290 of file sat_parameters.pb.h.

◆ SatParameters_SearchBranching

Enumerator
SatParameters_SearchBranching_AUTOMATIC_SEARCH 
SatParameters_SearchBranching_FIXED_SEARCH 
SatParameters_SearchBranching_PORTFOLIO_SEARCH 
SatParameters_SearchBranching_LP_SEARCH 
SatParameters_SearchBranching_PSEUDO_COST_SEARCH 
SatParameters_SearchBranching_PORTFOLIO_WITH_QUICK_RESTART_SEARCH 
SatParameters_SearchBranching_HINT_SEARCH 
SatParameters_SearchBranching_PARTIAL_FIXED_SEARCH 
SatParameters_SearchBranching_RANDOMIZED_SEARCH 

Definition at line 391 of file sat_parameters.pb.h.

◆ SatParameters_SharedTreeSplitStrategy

Enumerator
SatParameters_SharedTreeSplitStrategy_SPLIT_STRATEGY_AUTO 
SatParameters_SharedTreeSplitStrategy_SPLIT_STRATEGY_DISCREPANCY 
SatParameters_SharedTreeSplitStrategy_SPLIT_STRATEGY_OBJECTIVE_LB 
SatParameters_SharedTreeSplitStrategy_SPLIT_STRATEGY_BALANCED_TREE 
SatParameters_SharedTreeSplitStrategy_SPLIT_STRATEGY_FIRST_PROPOSAL 

Definition at line 430 of file sat_parameters.pb.h.

◆ SatParameters_VariableOrder

Enumerator
SatParameters_VariableOrder_IN_ORDER 
SatParameters_VariableOrder_IN_REVERSE_ORDER 
SatParameters_VariableOrder_IN_RANDOM_ORDER 

Definition at line 126 of file sat_parameters.pb.h.

Function Documentation

◆ AbslHashValue() [1/7]

template<typename H>
H operations_research::sat::AbslHashValue ( H h,
const AffineExpression & e )

Definition at line 349 of file integer_base.h.

◆ AbslHashValue() [2/7]

template<typename H>
H operations_research::sat::AbslHashValue ( H h,
const BoolArgumentProto & m )

Definition at line 397 of file cp_model_utils.h.

◆ AbslHashValue() [3/7]

template<typename H>
H operations_research::sat::AbslHashValue ( H h,
const IntervalVar & i )

Definition at line 520 of file cp_model.h.

◆ AbslHashValue() [4/7]

template<typename H>
H operations_research::sat::AbslHashValue ( H h,
const IntVar & i )

Definition at line 515 of file cp_model.h.

◆ AbslHashValue() [5/7]

template<typename H>
H operations_research::sat::AbslHashValue ( H h,
const LinearConstraintProto & m )

Definition at line 419 of file cp_model_utils.h.

◆ AbslHashValue() [6/7]

template<typename H>
H operations_research::sat::AbslHashValue ( H h,
const LinearExpression2 & e )

Definition at line 483 of file integer_base.h.

◆ AbslHashValue() [7/7]

template<typename H>
H operations_research::sat::AbslHashValue ( H h,
const LiteralWithCoeff & term )

Definition at line 65 of file pb_constraint.h.

◆ AbslStringify() [1/4]

template<typename Sink>
void operations_research::sat::AbslStringify ( Sink & sink,
const CompletionTimeExplorationStatus & status )

Definition at line 194 of file scheduling_cuts.h.

◆ AbslStringify() [2/4]

template<typename Sink>
void operations_research::sat::AbslStringify ( Sink & sink,
EdgePosition e )

Definition at line 133 of file 2d_rectangle_presolve.h.

◆ AbslStringify() [3/4]

template<typename Sink, typename... T>
void operations_research::sat::AbslStringify ( Sink & sink,
Literal arg )

Definition at line 125 of file sat_base.h.

◆ AbslStringify() [4/4]

template<typename Sink, typename... T>
void operations_research::sat::AbslStringify ( Sink & sink,
LratChecker::RatIds arg )

Definition at line 180 of file lrat_checker.h.

◆ AdaptGlobalParameters()

void operations_research::sat::AdaptGlobalParameters ( const CpModelProto & model_proto,
Model * model )

Definition at line 2149 of file cp_model_solver_helpers.cc.

◆ AddAllDiffRelaxationAndCutGenerator()

void operations_research::sat::AddAllDiffRelaxationAndCutGenerator ( const ConstraintProto & ct,
int linearization_level,
Model * m,
LinearRelaxation * relaxation )

Definition at line 1655 of file linear_relaxation.cc.

◆ AddCircuitCutGenerator()

void operations_research::sat::AddCircuitCutGenerator ( const ConstraintProto & ct,
Model * m,
LinearRelaxation * relaxation )

Definition at line 579 of file linear_relaxation.cc.

◆ AddCircuitFlowConstraints()

void operations_research::sat::AddCircuitFlowConstraints ( LinearIncrementalEvaluator & linear_evaluator,
const ConstraintProto & ct_proto )

Definition at line 1482 of file constraint_violation.cc.

◆ AddConditionalAffinePrecedence()

void operations_research::sat::AddConditionalAffinePrecedence ( const absl::Span< const Literal > enforcement_literals,
AffineExpression left,
AffineExpression right,
Model * model )
inline

Definition at line 694 of file integer_expr.h.

◆ AddConditionalSum2LowerOrEqual()

void operations_research::sat::AddConditionalSum2LowerOrEqual ( absl::Span< const Literal > enforcement_literals,
IntegerVariable a,
IntegerVariable b,
int64_t ub,
Model * model )
inline

Definition at line 311 of file old_precedences_propagator.h.

◆ AddConditionalSum3LowerOrEqual()

void operations_research::sat::AddConditionalSum3LowerOrEqual ( absl::Span< const Literal > enforcement_literals,
IntegerVariable a,
IntegerVariable b,
IntegerVariable c,
int64_t ub,
Model * model )
inline

Definition at line 329 of file old_precedences_propagator.h.

◆ AddCumulativeCutGenerator()

void operations_research::sat::AddCumulativeCutGenerator ( const AffineExpression & capacity,
SchedulingConstraintHelper * helper,
SchedulingDemandHelper * demands_helper,
const std::optional< AffineExpression > & makespan,
Model * m,
LinearRelaxation * relaxation )

Definition at line 1721 of file linear_relaxation.cc.

◆ AddCumulativeOverloadChecker()

void operations_research::sat::AddCumulativeOverloadChecker ( AffineExpression capacity,
SchedulingConstraintHelper * helper,
SchedulingDemandHelper * demands,
Model * model )

Definition at line 44 of file cumulative_energy.cc.

◆ AddCumulativeOverloadCheckerDff()

void operations_research::sat::AddCumulativeOverloadCheckerDff ( AffineExpression capacity,
SchedulingConstraintHelper * helper,
SchedulingDemandHelper * demands,
Model * model )

Definition at line 55 of file cumulative_energy.cc.

◆ AddCumulativeRelaxation()

void operations_research::sat::AddCumulativeRelaxation ( const AffineExpression & capacity,
SchedulingConstraintHelper * helper,
SchedulingDemandHelper * demands_helper,
const std::optional< AffineExpression > & makespan,
Model * model,
LinearRelaxation * relaxation )

Definition at line 815 of file linear_relaxation.cc.

◆ AddDisjunctive()

void operations_research::sat::AddDisjunctive ( const std::vector< Literal > & enforcement_literals,
const std::vector< IntervalVariable > & intervals,
Model * model )

Definition at line 46 of file disjunctive.cc.

◆ AddDisjunctiveWithBooleanPrecedencesOnly()

void operations_research::sat::AddDisjunctiveWithBooleanPrecedencesOnly ( absl::Span< const IntervalVariable > intervals,
Model * model )

Definition at line 168 of file disjunctive.cc.

◆ AddFullEncodingFromSearchBranching()

void operations_research::sat::AddFullEncodingFromSearchBranching ( const CpModelProto & model_proto,
Model * m )

Definition at line 942 of file cp_model_loader.cc.

◆ AddHoleAtPosition()

int operations_research::sat::AddHoleAtPosition ( int i,
int bitset )
inline

Definition at line 97 of file gate_utils.h.

◆ AddInferredAndDeletedClauses()

bool operations_research::sat::AddInferredAndDeletedClauses ( const std::string & file_path,
DratChecker * drat_checker )

Definition at line 571 of file drat_checker.cc.

◆ AddIntegerVariableFromIntervals()

void operations_research::sat::AddIntegerVariableFromIntervals ( const SchedulingConstraintHelper * helper,
Model * model,
std::vector< IntegerVariable > * vars,
int mask )

Definition at line 1165 of file scheduling_helpers.cc.

◆ AddIntProdCutGenerator()

void operations_research::sat::AddIntProdCutGenerator ( const ConstraintProto & ct,
int linearization_level,
Model * m,
LinearRelaxation * relaxation )

Definition at line 1553 of file linear_relaxation.cc.

◆ AddIsEqualToMinOf()

void operations_research::sat::AddIsEqualToMinOf ( const absl::Span< const Literal > enforcement_literals,
const LinearExpression & min_expr,
std::vector< LinearExpression > exprs,
Model * model )
inline

Definition at line 743 of file integer_expr.h.

◆ AddLinearConstraintMultiple()

bool operations_research::sat::AddLinearConstraintMultiple ( int64_t factor,
const ConstraintProto & to_add,
ConstraintProto * to_modify )

Definition at line 160 of file presolve_util.cc.

◆ AddLinearExpressionToLinearConstraint()

void operations_research::sat::AddLinearExpressionToLinearConstraint ( const LinearExpressionProto & expr,
int64_t coefficient,
LinearConstraintProto * linear )

Definition at line 656 of file cp_model_utils.cc.

◆ AddLinMaxCutGenerator()

void operations_research::sat::AddLinMaxCutGenerator ( const ConstraintProto & ct,
Model * m,
LinearRelaxation * relaxation )

Definition at line 1830 of file linear_relaxation.cc.

◆ AddMaxAffineCutGenerator()

void operations_research::sat::AddMaxAffineCutGenerator ( const ConstraintProto & ct,
Model * model,
LinearRelaxation * relaxation )

Definition at line 1164 of file linear_relaxation.cc.

◆ AddNonOverlappingRectangles()

void operations_research::sat::AddNonOverlappingRectangles ( const std::vector< Literal > & enforcement_literals,
const std::vector< IntervalVariable > & x,
const std::vector< IntervalVariable > & y,
Model * model )

Definition at line 199 of file diffn.cc.

◆ AddNoOverlap2dCutGenerator()

void operations_research::sat::AddNoOverlap2dCutGenerator ( const ConstraintProto & ct,
Model * m,
LinearRelaxation * relaxation )

Definition at line 1778 of file linear_relaxation.cc.

◆ AddNoOverlapCutGenerator()

void operations_research::sat::AddNoOverlapCutGenerator ( SchedulingConstraintHelper * helper,
const std::optional< AffineExpression > & makespan,
Model * m,
LinearRelaxation * relaxation )

Definition at line 1755 of file linear_relaxation.cc.

◆ AddObjectiveConstraint()

bool operations_research::sat::AddObjectiveConstraint ( const LinearBooleanProblem & problem,
bool use_lower_bound,
Coefficient lower_bound,
bool use_upper_bound,
Coefficient upper_bound,
SatSolver * solver )

Definition at line 349 of file boolean_problem.cc.

◆ AddObjectiveUpperBound()

bool operations_research::sat::AddObjectiveUpperBound ( const LinearBooleanProblem & problem,
Coefficient upper_bound,
SatSolver * solver )

Definition at line 341 of file boolean_problem.cc.

◆ AddOffsetAndScaleObjectiveValue()

double operations_research::sat::AddOffsetAndScaleObjectiveValue ( const LinearBooleanProblem & problem,
Coefficient v )
inline

Definition at line 40 of file boolean_problem.h.

◆ AddProblemClauses()

bool operations_research::sat::AddProblemClauses ( const std::string & file_path,
DratChecker * drat_checker )

Definition at line 522 of file drat_checker.cc.

◆ AddProductTo()

bool operations_research::sat::AddProductTo ( IntegerValue a,
IntegerValue b,
IntegerValue * result )
inline

Definition at line 154 of file integer_base.h.

◆ AddReservoirConstraint()

void operations_research::sat::AddReservoirConstraint ( absl::Span< const Literal > enforcement_literals,
absl::Span< const AffineExpression > times,
absl::Span< const AffineExpression > deltas,
absl::Span< const Literal > presences,
int64_t min_level,
int64_t max_level,
Model * model )

Definition at line 33 of file timetable.cc.

◆ AddRoutesCutGenerator()

void operations_research::sat::AddRoutesCutGenerator ( const ConstraintProto & ct,
Model * m,
LinearRelaxation * relaxation )

Definition at line 593 of file linear_relaxation.cc.

◆ AddSquareCutGenerator()

void operations_research::sat::AddSquareCutGenerator ( const ConstraintProto & ct,
int linearization_level,
Model * m,
LinearRelaxation * relaxation )

Definition at line 1631 of file linear_relaxation.cc.

◆ AddSquareTo()

bool operations_research::sat::AddSquareTo ( IntegerValue a,
IntegerValue * result )
inline

Definition at line 164 of file integer_base.h.

◆ AddTo()

bool operations_research::sat::AddTo ( IntegerValue a,
IntegerValue * result )
inline

Definition at line 145 of file integer_base.h.

◆ AddWeightedLiteralToLinearConstraint()

void operations_research::sat::AddWeightedLiteralToLinearConstraint ( int lit,
int64_t coeff,
LinearConstraintProto * linear,
int64_t * offset )

Definition at line 671 of file cp_model_utils.cc.

◆ AddWeightedSumGreaterOrEqual()

void operations_research::sat::AddWeightedSumGreaterOrEqual ( absl::Span< const Literal > enforcement_literals,
absl::Span< const IntegerVariable > vars,
absl::Span< const IntegerValue > coefficients,
int64_t lower_bound,
Model * model )
inline

Definition at line 585 of file integer_expr.h.

◆ AddWeightedSumLowerOrEqual()

void operations_research::sat::AddWeightedSumLowerOrEqual ( absl::Span< const Literal > enforcement_literals,
absl::Span< const IntegerVariable > vars,
absl::Span< const IntegerValue > coefficients,
int64_t upper_bound,
Model * model )
inline

Definition at line 471 of file integer_expr.h.

◆ AffineExpressionContainsVar()

bool operations_research::sat::AffineExpressionContainsVar ( const LinearExpressionProto & expr,
int var )
inline

Definition at line 262 of file cp_model_utils.h.

◆ AffineExpressionValueAt()

int64_t operations_research::sat::AffineExpressionValueAt ( const LinearExpressionProto & expr,
int64_t value )
inline

Definition at line 245 of file cp_model_utils.h.

◆ AllDifferentAC()

std::function< void(Model *)> operations_research::sat::AllDifferentAC ( absl::Span< const IntegerVariable > variables)

Definition at line 101 of file all_different.cc.

◆ AllDifferentBinary()

std::function< void(Model *)> operations_research::sat::AllDifferentBinary ( absl::Span< const IntegerVariable > vars)

Definition at line 40 of file all_different.cc.

◆ AllDifferentOnBounds() [1/2]

std::function< void(Model *)> operations_research::sat::AllDifferentOnBounds ( absl::Span< const IntegerVariable > vars)

Definition at line 86 of file all_different.cc.

◆ AllDifferentOnBounds() [2/2]

std::function< void(Model *)> operations_research::sat::AllDifferentOnBounds ( absl::Span< const Literal > enforcement_literals,
absl::Span< const AffineExpression > expressions )

Definition at line 75 of file all_different.cc.

◆ AllValuesInDomain()

template<typename ProtoWithDomain>
std::vector< int64_t > operations_research::sat::AllValuesInDomain ( const ProtoWithDomain & proto)

Definition at line 183 of file cp_model_utils.h.

◆ AnalyzeIntervals()

bool operations_research::sat::AnalyzeIntervals ( bool transpose,
absl::Span< const int > local_boxes,
absl::Span< const Rectangle > rectangles,
absl::Span< const IntegerValue > rectangle_energies,
IntegerValue * x_threshold,
IntegerValue * y_threshold,
Rectangle * conflict )

Definition at line 239 of file diffn_util.cc.

◆ AppendAtMostOneRelaxation()

void operations_research::sat::AppendAtMostOneRelaxation ( const ConstraintProto & ct,
Model * model,
LinearRelaxation * relaxation )

Definition at line 420 of file linear_relaxation.cc.

◆ AppendBoolAndRelaxation()

void operations_research::sat::AppendBoolAndRelaxation ( const ConstraintProto & ct,
Model * model,
LinearRelaxation * relaxation,
ActivityBoundHelper * activity_helper )

Definition at line 351 of file linear_relaxation.cc.

◆ AppendBoolOrRelaxation()

void operations_research::sat::AppendBoolOrRelaxation ( const ConstraintProto & ct,
Model * model,
LinearRelaxation * relaxation )

Definition at line 337 of file linear_relaxation.cc.

◆ AppendCircuitRelaxation()

void operations_research::sat::AppendCircuitRelaxation ( const ConstraintProto & ct,
Model * model,
LinearRelaxation * relaxation )

Definition at line 491 of file linear_relaxation.cc.

◆ AppendCumulativeRelaxationAndCutGenerator()

void operations_research::sat::AppendCumulativeRelaxationAndCutGenerator ( const ConstraintProto & ct,
Model * model,
LinearRelaxation * relaxation )

Definition at line 770 of file linear_relaxation.cc.

◆ AppendElementEncodingRelaxation()

void operations_research::sat::AppendElementEncodingRelaxation ( Model * m,
LinearRelaxation * relaxation )

Definition at line 1880 of file linear_relaxation.cc.

◆ AppendExactlyOneRelaxation()

void operations_research::sat::AppendExactlyOneRelaxation ( const ConstraintProto & ct,
Model * model,
LinearRelaxation * relaxation )

Definition at line 429 of file linear_relaxation.cc.

◆ AppendLinearConstraintRelaxation() [1/2]

void operations_research::sat::AppendLinearConstraintRelaxation ( absl::Span< const int > enforcement,
LinearConstraint && linear_constraint,
Model * model,
LinearRelaxation * relaxation,
ActivityBoundHelper * activity_helper )

Definition at line 1318 of file linear_relaxation.cc.

◆ AppendLinearConstraintRelaxation() [2/2]

void operations_research::sat::AppendLinearConstraintRelaxation ( const ConstraintProto & ct,
Model * model,
LinearRelaxation * relaxation,
ActivityBoundHelper * activity_helper )

Definition at line 1268 of file linear_relaxation.cc.

◆ AppendLinMaxRelaxationPart1()

void operations_research::sat::AppendLinMaxRelaxationPart1 ( const ConstraintProto & ct,
Model * model,
LinearRelaxation * relaxation,
ActivityBoundHelper * activity_helper )

Definition at line 1118 of file linear_relaxation.cc.

◆ AppendLinMaxRelaxationPart2()

void operations_research::sat::AppendLinMaxRelaxationPart2 ( IntegerVariable target,
absl::Span< const Literal > alternative_literals,
absl::Span< const LinearExpression > exprs,
Model * model,
LinearRelaxation * relaxation )

Definition at line 1188 of file linear_relaxation.cc.

◆ AppendMaxAffineRelaxation()

void operations_research::sat::AppendMaxAffineRelaxation ( const ConstraintProto & ct,
Model * model,
LinearRelaxation * relaxation,
ActivityBoundHelper * activity_helper )

Definition at line 1142 of file linear_relaxation.cc.

◆ AppendNoOverlap2dRelaxation()

void operations_research::sat::AppendNoOverlap2dRelaxation ( const ConstraintProto & ct,
Model * model,
LinearRelaxation * relaxation )

Definition at line 1073 of file linear_relaxation.cc.

◆ AppendNoOverlap2dRelaxationForComponent()

void operations_research::sat::AppendNoOverlap2dRelaxationForComponent ( absl::Span< const int > component,
Model * model,
NoOverlap2DConstraintHelper * no_overlap_helper,
LinearConstraintManager * manager,
ProductDecomposer * product_decomposer )

Definition at line 1005 of file linear_relaxation.cc.

◆ AppendNoOverlapRelaxationAndCutGenerator()

void operations_research::sat::AppendNoOverlapRelaxationAndCutGenerator ( const ConstraintProto & ct,
Model * model,
LinearRelaxation * relaxation )

Definition at line 731 of file linear_relaxation.cc.

◆ AppendPairwiseRestrictions() [1/2]

void operations_research::sat::AppendPairwiseRestrictions ( absl::Span< const ItemWithVariableSize > items,
absl::Span< const ItemWithVariableSize > other_items,
std::vector< PairwiseRestriction > * result )

Definition at line 660 of file diffn_util.cc.

◆ AppendPairwiseRestrictions() [2/2]

void operations_research::sat::AppendPairwiseRestrictions ( absl::Span< const ItemWithVariableSize > items,
std::vector< PairwiseRestriction > * result )

Definition at line 651 of file diffn_util.cc.

◆ AppendPartialGreaterThanEncodingRelaxation()

void operations_research::sat::AppendPartialGreaterThanEncodingRelaxation ( IntegerVariable var,
const Model & model,
LinearRelaxation * relaxation )

Definition at line 266 of file linear_relaxation.cc.

◆ AppendRelaxationForEqualityEncoding()

void operations_research::sat::AppendRelaxationForEqualityEncoding ( IntegerVariable var,
const Model & model,
LinearRelaxation * relaxation,
int * num_tight,
int * num_loose )

Definition at line 140 of file linear_relaxation.cc.

◆ AppendRoutesRelaxation()

void operations_research::sat::AppendRoutesRelaxation ( const ConstraintProto & ct,
Model * model,
LinearRelaxation * relaxation )

Definition at line 529 of file linear_relaxation.cc.

◆ AppendSquareRelaxation()

void operations_research::sat::AppendSquareRelaxation ( const ConstraintProto & ct,
Model * m,
LinearRelaxation * relaxation )

Definition at line 1589 of file linear_relaxation.cc.

◆ AppendVariablesFromCapacityAndDemands()

void operations_research::sat::AppendVariablesFromCapacityAndDemands ( const AffineExpression & capacity,
SchedulingDemandHelper * demands_helper,
Model * model,
std::vector< IntegerVariable > * vars )

Definition at line 1196 of file scheduling_helpers.cc.

◆ ApplyLiteralMapping()

bool operations_research::sat::ApplyLiteralMapping ( const util_intops::StrongVector< LiteralIndex, LiteralIndex > & mapping,
std::vector< LiteralWithCoeff > * cst,
Coefficient * bound_shift,
Coefficient * max_value )

Definition at line 120 of file pb_constraint.cc.

◆ ApplyLiteralMappingToBooleanProblem()

void operations_research::sat::ApplyLiteralMappingToBooleanProblem ( const util_intops::StrongVector< LiteralIndex, LiteralIndex > & mapping,
LinearBooleanProblem * problem )

Definition at line 755 of file boolean_problem.cc.

◆ ApplyToAllIntervalIndices()

void operations_research::sat::ApplyToAllIntervalIndices ( absl::FunctionRef< void(int *)> f,
ConstraintProto * ct )

Definition at line 438 of file cp_model_utils.cc.

◆ ApplyToAllLiteralIndices()

void operations_research::sat::ApplyToAllLiteralIndices ( absl::FunctionRef< void(int *)> f,
ConstraintProto * ct )

Definition at line 254 of file cp_model_utils.cc.

◆ ApplyToAllVariableIndices()

void operations_research::sat::ApplyToAllVariableIndices ( absl::FunctionRef< void(int *)> f,
ConstraintProto * ct )

Definition at line 317 of file cp_model_utils.cc.

◆ ApplyVariableMapping()

void operations_research::sat::ApplyVariableMapping ( absl::Span< int > mapping,
CpModelProto * cp_model,
std::vector< int > * reverse_mapping )

Definition at line 14340 of file cp_model_presolve.cc.

◆ AtMinOrMaxInt64I()

bool operations_research::sat::AtMinOrMaxInt64I ( IntegerValue t)
inline

Definition at line 128 of file integer_base.h.

◆ AtMinValue()

IntegerLiteral operations_research::sat::AtMinValue ( IntegerVariable var,
IntegerTrail * integer_trail )

Definition at line 61 of file integer_search.cc.

◆ AtMostOneConstraint()

std::function< void(Model *)> operations_research::sat::AtMostOneConstraint ( absl::Span< const Literal > literals)
inline

Definition at line 979 of file sat_solver.h.

◆ AtMostOneDecomposition()

std::vector< absl::Span< int > > operations_research::sat::AtMostOneDecomposition ( const std::vector< std::vector< int > > & graph,
absl::BitGenRef random,
std::vector< int > * buffer )

Definition at line 856 of file util.cc.

◆ BasicOrbitopeExtraction()

std::vector< std::vector< int > > operations_research::sat::BasicOrbitopeExtraction ( absl::Span< const std::unique_ptr< SparsePermutation > > generators)

Definition at line 31 of file symmetry_util.cc.

◆ BasicPresolveAndGetFullyEncodedDomains()

bool operations_research::sat::BasicPresolveAndGetFullyEncodedDomains ( PresolveContext * context,
VariableEncodingLocalModel & local_model,
absl::flat_hash_map< int, Domain > * result,
bool * changed )

Definition at line 223 of file presolve_encoding.cc.

◆ BooleanLinearConstraint()

std::function< void(Model *)> operations_research::sat::BooleanLinearConstraint ( int64_t lower_bound,
int64_t upper_bound,
std::vector< LiteralWithCoeff > * cst )
inline

Definition at line 938 of file sat_solver.h.

◆ BooleanLinearExpressionIsCanonical()

bool operations_research::sat::BooleanLinearExpressionIsCanonical ( absl::Span< const Literal > enforcement_literals,
absl::Span< const LiteralWithCoeff > cst )

Definition at line 153 of file pb_constraint.cc.

◆ BooleanProblemToCpModelproto()

CpModelProto operations_research::sat::BooleanProblemToCpModelproto ( const LinearBooleanProblem & problem)

Definition at line 164 of file boolean_problem.cc.

◆ BoolPseudoCostHeuristic()

std::function< BooleanOrIntegerLiteral()> operations_research::sat::BoolPseudoCostHeuristic ( Model * model)

Definition at line 209 of file integer_search.cc.

◆ BoxesAreInEnergyConflict()

bool operations_research::sat::BoxesAreInEnergyConflict ( absl::Span< const Rectangle > rectangles,
absl::Span< const IntegerValue > energies,
absl::Span< const int > boxes,
Rectangle * conflict )

Definition at line 172 of file diffn_util.cc.

◆ BoxesToShapes()

std::vector< SingleShape > operations_research::sat::BoxesToShapes ( absl::Span< const Rectangle > rectangles,
const Neighbours & neighbours )

Definition at line 808 of file 2d_rectangle_presolve.cc.

◆ BruteForceOrthogonalPacking()

BruteForceResult operations_research::sat::BruteForceOrthogonalPacking ( absl::Span< const IntegerValue > sizes_x,
absl::Span< const IntegerValue > sizes_y,
std::pair< IntegerValue, IntegerValue > bounding_box_size,
int max_complexity )

Definition at line 619 of file 2d_packing_brute_force.cc.

◆ BuildMaxAffineUpConstraint()

bool operations_research::sat::BuildMaxAffineUpConstraint ( const LinearExpression & target,
IntegerVariable var,
absl::Span< const std::pair< IntegerValue, IntegerValue > > affines,
Model * model,
LinearConstraintBuilder * builder )

Definition at line 2895 of file cuts.cc.

◆ BuildNeighboursGraph()

Neighbours operations_research::sat::BuildNeighboursGraph ( absl::Span< const Rectangle > rectangles)

Definition at line 469 of file 2d_rectangle_presolve.cc.

◆ CanonicalizeExpr()

LinearExpression operations_research::sat::CanonicalizeExpr ( const LinearExpression & expr)

Definition at line 378 of file linear_constraint.cc.

◆ CanonicalizeFunctionTruthTable()

int operations_research::sat::CanonicalizeFunctionTruthTable ( LiteralIndex & target,
absl::Span< LiteralIndex > inputs,
int & int_function_values )
inline

Definition at line 126 of file gate_utils.h.

◆ CanonicalizeLinearExpressionInternal()

template<typename ProtoWithVarsAndCoeffs, typename PresolveContextT>
bool operations_research::sat::CanonicalizeLinearExpressionInternal ( absl::Span< const int > enforcements,
ProtoWithVarsAndCoeffs * proto,
int64_t * offset,
std::vector< std::pair< int, int64_t > > * tmp_terms,
PresolveContextT * context )

Definition at line 2661 of file presolve_context.cc.

◆ CanonicalizeTable()

void operations_research::sat::CanonicalizeTable ( PresolveContext * context,
ConstraintProto * ct )

Definition at line 34 of file cp_model_table.cc.

◆ CanonicalizeTruthTable()

template<typename VarOrLiteral>
void operations_research::sat::CanonicalizeTruthTable ( absl::Span< VarOrLiteral > key,
SmallBitset & bitmask )

Definition at line 40 of file gate_utils.h.

◆ CapAddI()

IntegerValue operations_research::sat::CapAddI ( IntegerValue a,
IntegerValue b )
inline

Definition at line 120 of file integer_base.h.

◆ CapProdI()

IntegerValue operations_research::sat::CapProdI ( IntegerValue a,
IntegerValue b )
inline

Definition at line 112 of file integer_base.h.

◆ CapSubI()

IntegerValue operations_research::sat::CapSubI ( IntegerValue a,
IntegerValue b )
inline

Definition at line 116 of file integer_base.h.

◆ CardinalityConstraint()

std::function< void(Model *)> operations_research::sat::CardinalityConstraint ( int64_t lower_bound,
int64_t upper_bound,
absl::Span< const Literal > literals )
inline

Definition at line 948 of file sat_solver.h.

◆ CeilRatio()

IntegerValue operations_research::sat::CeilRatio ( IntegerValue dividend,
IntegerValue positive_divisor )
inline

Definition at line 85 of file integer_base.h.

◆ CeilSquareRoot()

int64_t operations_research::sat::CeilSquareRoot ( int64_t a)

Definition at line 298 of file util.cc.

◆ CenterToCenterL2Distance()

double operations_research::sat::CenterToCenterL2Distance ( const Rectangle & a,
const Rectangle & b )
inline

Definition at line 134 of file diffn_util.h.

◆ CenterToCenterLInfinityDistance()

double operations_research::sat::CenterToCenterLInfinityDistance ( const Rectangle & a,
const Rectangle & b )
inline

Definition at line 144 of file diffn_util.h.

◆ ChangeLargeBoundsToInfinity()

void operations_research::sat::ChangeLargeBoundsToInfinity ( double max_magnitude,
MPModelProto * mp_model,
SolverLogger * logger )

Definition at line 240 of file lp_utils.cc.

◆ ChangeOptimizationDirection()

void operations_research::sat::ChangeOptimizationDirection ( LinearBooleanProblem * problem)

Definition at line 221 of file boolean_problem.cc.

◆ ChooseBestObjectiveValue()

IntegerLiteral operations_research::sat::ChooseBestObjectiveValue ( IntegerVariable var,
IntegerTrail * integer_trail,
ObjectiveDefinition * objective_definition )

Definition at line 68 of file integer_search.cc.

◆ CircuitCovering()

std::function< void(Model *)> operations_research::sat::CircuitCovering ( absl::Span< const std::vector< Literal > > graph,
absl::Span< const int > distinguished_nodes )

Definition at line 779 of file circuit.cc.

◆ ClauseConstraint()

std::function< void(Model *)> operations_research::sat::ClauseConstraint ( absl::Span< const Literal > literals)
inline

Definition at line 994 of file sat_solver.h.

◆ ClauseIsEnforcementImpliesLiteral()

bool operations_research::sat::ClauseIsEnforcementImpliesLiteral ( absl::Span< const int > clause,
absl::Span< const int > enforcement,
int literal )
inline

Definition at line 338 of file presolve_util.h.

◆ CleanTermsAndFillConstraint() [1/2]

void operations_research::sat::CleanTermsAndFillConstraint ( std::vector< std::pair< IntegerVariable, IntegerValue > > * terms,
LinearConstraint * output )
inline

Definition at line 392 of file linear_constraint.h.

◆ CleanTermsAndFillConstraint() [2/2]

void operations_research::sat::CleanTermsAndFillConstraint ( std::vector< std::pair< IntegerVariable, IntegerValue > > * terms,
LinearExpression * output )
inline

Definition at line 361 of file linear_constraint.h.

◆ ClosestMultiple()

int64_t operations_research::sat::ClosestMultiple ( int64_t value,
int64_t base )

Definition at line 306 of file util.cc.

◆ CombineSeed()

int operations_research::sat::CombineSeed ( int base_seed,
int64_t delta )

Definition at line 1149 of file cp_model_utils.cc.

◆ CompleteHeuristics()

std::vector< std::function< BooleanOrIntegerLiteral()> > operations_research::sat::CompleteHeuristics ( absl::Span< const std::function< BooleanOrIntegerLiteral()> > incomplete_heuristics,
const std::function< BooleanOrIntegerLiteral()> & completion_heuristic )

Definition at line 1337 of file integer_search.cc.

◆ CompressTuples()

void operations_research::sat::CompressTuples ( absl::Span< const int64_t > domain_sizes,
std::vector< std::vector< int64_t > > * tuples )

Definition at line 182 of file cp_model_table.cc.

◆ ComputeActivity()

double operations_research::sat::ComputeActivity ( const LinearConstraint & constraint,
const util_intops::StrongVector< IntegerVariable, double > & values )

Definition at line 185 of file linear_constraint.cc.

◆ ComputeAllVariablesFromPrimaryVariables()

bool operations_research::sat::ComputeAllVariablesFromPrimaryVariables ( const CpModelProto & model,
const VariableRelationships & relationships,
std::vector< int64_t > * solution )

Definition at line 562 of file primary_variables.cc.

◆ ComputeBooleanLinearExpressionCanonicalForm()

bool operations_research::sat::ComputeBooleanLinearExpressionCanonicalForm ( std::vector< LiteralWithCoeff > * cst,
Coefficient * bound_shift,
Coefficient * max_value )

Definition at line 58 of file pb_constraint.cc.

◆ ComputeCanonicalRhs()

Coefficient operations_research::sat::ComputeCanonicalRhs ( Coefficient upper_bound,
Coefficient bound_shift,
Coefficient max_value )

Definition at line 182 of file pb_constraint.cc.

◆ ComputeCoreMinWeight()

Coefficient operations_research::sat::ComputeCoreMinWeight ( const std::vector< EncodingNode * > & nodes,
absl::Span< const Literal > core )

Definition at line 562 of file encoding.cc.

◆ ComputeEnergyMinInWindow()

IntegerValue operations_research::sat::ComputeEnergyMinInWindow ( IntegerValue start_min,
IntegerValue start_max,
IntegerValue end_min,
IntegerValue end_max,
IntegerValue size_min,
IntegerValue demand_min,
absl::Span< const LiteralValueValue > filtered_energy,
IntegerValue window_start,
IntegerValue window_end )

Definition at line 830 of file scheduling_helpers.cc.

◆ ComputeGomoryHuTree()

std::vector< int > operations_research::sat::ComputeGomoryHuTree ( int num_nodes,
absl::Span< const ArcWithLpValue > relevant_arcs )

Definition at line 2977 of file routing_cuts.cc.

◆ ComputeHyperplanAboveSquare()

LinearConstraint operations_research::sat::ComputeHyperplanAboveSquare ( AffineExpression x,
AffineExpression square,
IntegerValue x_lb,
IntegerValue x_ub,
Model * model )

Definition at line 2198 of file cuts.cc.

◆ ComputeHyperplanBelowSquare()

LinearConstraint operations_research::sat::ComputeHyperplanBelowSquare ( AffineExpression x,
AffineExpression square,
IntegerValue x_value,
Model * model )

Definition at line 2210 of file cuts.cc.

◆ ComputeInfinityNorm()

IntegerValue operations_research::sat::ComputeInfinityNorm ( const LinearConstraint & ct)

Definition at line 230 of file linear_constraint.cc.

◆ ComputeInnerObjective()

int64_t operations_research::sat::ComputeInnerObjective ( const CpObjectiveProto & objective,
absl::Span< const int64_t > solution )

Definition at line 627 of file cp_model_utils.cc.

◆ ComputeL2Norm()

double operations_research::sat::ComputeL2Norm ( const LinearConstraint & ct)

Definition at line 222 of file linear_constraint.cc.

◆ ComputeLinearRelaxation()

LinearRelaxation operations_research::sat::ComputeLinearRelaxation ( const CpModelProto & model_proto,
Model * m )

Definition at line 1922 of file linear_relaxation.cc.

◆ ComputeMinSumOfWeightedEndMins()

CompletionTimeExplorationStatus operations_research::sat::ComputeMinSumOfWeightedEndMins ( absl::Span< CompletionTimeEvent * > events,
IntegerValue capacity_max,
double unweighted_threshold,
double weighted_threshold,
CtExhaustiveHelper & helper,
double & min_sum_of_ends,
double & min_sum_of_weighted_ends,
bool & cut_use_precedences,
int & exploration_credit )

Definition at line 1358 of file scheduling_cuts.cc.

◆ ComputeNegatedCanonicalRhs()

Coefficient operations_research::sat::ComputeNegatedCanonicalRhs ( Coefficient lower_bound,
Coefficient bound_shift,
Coefficient max_value )

Definition at line 200 of file pb_constraint.cc.

◆ ComputeObjectiveValue()

Coefficient operations_research::sat::ComputeObjectiveValue ( const LinearBooleanProblem & problem,
const std::vector< bool > & assignment )

Definition at line 359 of file boolean_problem.cc.

◆ ComputeResolvant()

bool operations_research::sat::ComputeResolvant ( Literal x,
const std::vector< Literal > & a,
const std::vector< Literal > & b,
std::vector< Literal > * out )

Definition at line 1048 of file simplification.cc.

◆ ComputeResolvantSize()

int operations_research::sat::ComputeResolvantSize ( Literal x,
const std::vector< Literal > & a,
const std::vector< Literal > & b )

Definition at line 1083 of file simplification.cc.

◆ ComputeSignatureAndMaxElement()

std::pair< uint64_t, int > operations_research::sat::ComputeSignatureAndMaxElement ( absl::Span< const int > elements)
inline

Definition at line 269 of file inclusion.h.

◆ ComputeTrueObjectiveLowerBound()

double operations_research::sat::ComputeTrueObjectiveLowerBound ( const CpModelProto & model_proto_with_floating_point_objective,
const CpObjectiveProto & integer_objective,
const int64_t inner_integer_objective_lower_bound )

Definition at line 1714 of file lp_utils.cc.

◆ ComputeVariableRelationships()

VariableRelationships operations_research::sat::ComputeVariableRelationships ( const CpModelProto & model)

Definition at line 211 of file primary_variables.cc.

◆ ConditionalLowerOrEqualWithOffset()

std::function< void(Model *)> operations_research::sat::ConditionalLowerOrEqualWithOffset ( IntegerVariable a,
IntegerVariable b,
int64_t offset,
Literal is_le )
inline

Definition at line 352 of file old_precedences_propagator.h.

◆ ConditionalWeightedSumGreaterOrEqual()

std::function< void(Model *)> operations_research::sat::ConditionalWeightedSumGreaterOrEqual ( absl::Span< const Literal > enforcement_literals,
absl::Span< const IntegerVariable > vars,
absl::Span< const int64_t > coefficients,
int64_t upper_bound )
inline

Definition at line 649 of file integer_expr.h.

◆ ConditionalWeightedSumLowerOrEqual()

std::function< void(Model *)> operations_research::sat::ConditionalWeightedSumLowerOrEqual ( absl::Span< const Literal > enforcement_literals,
absl::Span< const IntegerVariable > vars,
absl::Span< const int64_t > coefficients,
int64_t upper_bound )
inline

Definition at line 635 of file integer_expr.h.

◆ ConfigureSearchHeuristics()

void operations_research::sat::ConfigureSearchHeuristics ( Model * model)

Definition at line 1215 of file integer_search.cc.

◆ ConstantIntegerVariable()

std::function< IntegerVariable(Model *)> operations_research::sat::ConstantIntegerVariable ( int64_t value)
inline

Definition at line 1763 of file integer.h.

◆ ConstraintCaseName()

absl::string_view operations_research::sat::ConstraintCaseName ( ConstraintProto::ConstraintCase constraint_case)

Definition at line 499 of file cp_model_utils.cc.

◆ ConstraintIsFeasible()

bool operations_research::sat::ConstraintIsFeasible ( const CpModelProto & model,
const ConstraintProto & constraint,
absl::Span< const int64_t > variable_values )

Definition at line 1894 of file cp_model_checker.cc.

◆ ConstructFixedSearchStrategy()

void operations_research::sat::ConstructFixedSearchStrategy ( SearchHeuristics * h,
Model * model )

Definition at line 430 of file cp_model_search.cc.

◆ ConstructHeuristicSearchStrategy()

std::function< BooleanOrIntegerLiteral()> operations_research::sat::ConstructHeuristicSearchStrategy ( const CpModelProto & cp_model_proto,
Model * model )

Definition at line 355 of file cp_model_search.cc.

◆ ConstructHintSearchStrategy()

std::function< BooleanOrIntegerLiteral()> operations_research::sat::ConstructHintSearchStrategy ( const CpModelProto & cp_model_proto,
CpModelMapping * mapping,
Model * model )

Definition at line 411 of file cp_model_search.cc.

◆ ConstructIntegerCompletionSearchStrategy()

std::function< BooleanOrIntegerLiteral()> operations_research::sat::ConstructIntegerCompletionSearchStrategy ( absl::Span< const IntegerVariable > variable_mapping,
IntegerVariable objective_var,
Model * model )

Definition at line 386 of file cp_model_search.cc.

◆ ConstructOverlappingSets()

void operations_research::sat::ConstructOverlappingSets ( absl::Span< IndexedInterval > intervals,
CompactVectorVector< int > * result,
absl::Span< const int > order )

Definition at line 429 of file diffn_util.cc.

◆ ConstructUserSearchStrategy()

std::function< BooleanOrIntegerLiteral()> operations_research::sat::ConstructUserSearchStrategy ( const CpModelProto & cp_model_proto,
Model * model )

Definition at line 210 of file cp_model_search.cc.

◆ ContainsLiteral()

bool operations_research::sat::ContainsLiteral ( absl::Span< const Literal > clause,
Literal literal )

Definition at line 481 of file drat_checker.cc.

◆ ConvertBinaryMPModelProtoToBooleanProblem()

bool operations_research::sat::ConvertBinaryMPModelProtoToBooleanProblem ( const MPModelProto & mp_model,
LinearBooleanProblem * problem )

Definition at line 1471 of file lp_utils.cc.

◆ ConvertBooleanProblemToLinearProgram()

void operations_research::sat::ConvertBooleanProblemToLinearProgram ( const LinearBooleanProblem & problem,
glop::LinearProgram * lp )

Definition at line 1650 of file lp_utils.cc.

◆ ConvertCpModelProtoToCnf()

bool operations_research::sat::ConvertCpModelProtoToCnf ( const CpModelProto & cp_model,
std::string * out )

Definition at line 1087 of file cp_model_utils.cc.

◆ ConvertCpModelProtoToMPModelProto()

bool operations_research::sat::ConvertCpModelProtoToMPModelProto ( const CpModelProto & input,
MPModelProto * output )

Definition at line 1161 of file lp_utils.cc.

◆ ConvertCpModelProtoToWCnf()

bool operations_research::sat::ConvertCpModelProtoToWCnf ( const CpModelProto & cp_model,
std::string * out )

Definition at line 1105 of file cp_model_utils.cc.

◆ ConvertMPModelProtoToCpModelProto()

bool operations_research::sat::ConvertMPModelProtoToCpModelProto ( const SatParameters & params,
const MPModelProto & mp_model,
CpModelProto * cp_model,
SolverLogger * logger )

Definition at line 929 of file lp_utils.cc.

◆ CopyEverythingExceptVariablesAndConstraintsFieldsIntoContext()

void operations_research::sat::CopyEverythingExceptVariablesAndConstraintsFieldsIntoContext ( const CpModelProto & in_model,
PresolveContext * context )

Definition at line 1232 of file cp_model_copy.cc.

◆ CpModelStats()

std::string operations_research::sat::CpModelStats ( const CpModelProto & model_proto)

Returns a string with some statistics on the given CpModelProto.

Definition at line 275 of file cp_model_solver.cc.

◆ CpSatSolverVersion()

std::string operations_research::sat::CpSatSolverVersion ( )

Returns a string that describes the version of the solver.

Definition at line 142 of file cp_model_solver.cc.

◆ CpSolverResponseStats()

std::string operations_research::sat::CpSolverResponseStats ( const CpSolverResponse & response,
bool has_objective = true )

Returns a string with some statistics on the solver response.

If the second argument is false, we will just display NA for the objective value instead of zero. It is not really needed but it makes things a bit clearer to see that there is no objective.

Definition at line 695 of file cp_model_solver.cc.

◆ CpSolverStatus_descriptor()

OR_PROTO_DLLconst::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL operations_research::sat::CpSolverStatus_descriptor ( )

Definition at line 1582 of file cp_model.pb.cc.

◆ CpSolverStatus_IsValid()

bool operations_research::sat::CpSolverStatus_IsValid ( int value)
inline

Definition at line 298 of file cp_model.pb.h.

◆ CpSolverStatus_Name() [1/2]

template<>
const ::std::string & operations_research::sat::CpSolverStatus_Name ( CpSolverStatus value)
inline

Definition at line 311 of file cp_model.pb.h.

◆ CpSolverStatus_Name() [2/2]

template<typename T>
const ::std::string & operations_research::sat::CpSolverStatus_Name ( T value)

Definition at line 304 of file cp_model.pb.h.

◆ CpSolverStatus_Parse()

bool operations_research::sat::CpSolverStatus_Parse ( ::absl::string_view name,
CpSolverStatus *PROTOBUF_NONNULL value )
inline

Definition at line 315 of file cp_model.pb.h.

◆ CreateAllDifferentCutGenerator()

CutGenerator operations_research::sat::CreateAllDifferentCutGenerator ( absl::Span< const AffineExpression > exprs,
Model * model )

Definition at line 2694 of file cuts.cc.

◆ CreateAlternativeLiteralsWithView()

std::vector< Literal > operations_research::sat::CreateAlternativeLiteralsWithView ( int num_literals,
Model * model,
LinearRelaxation * relaxation )

Definition at line 450 of file linear_relaxation.cc.

◆ CreateAndRegisterMandatoryOverlapPropagator()

void operations_research::sat::CreateAndRegisterMandatoryOverlapPropagator ( NoOverlap2DConstraintHelper * helper,
Model * model,
GenericLiteralWatcher * watcher,
int priority )

Definition at line 103 of file 2d_mandatory_overlap_propagator.cc.

◆ CreateAndRegisterTryEdgePropagator()

void operations_research::sat::CreateAndRegisterTryEdgePropagator ( NoOverlap2DConstraintHelper * helper,
Model * model,
GenericLiteralWatcher * watcher,
int priority )

Definition at line 416 of file 2d_try_edge_propagator.cc.

◆ CreateCliqueCutGenerator()

CutGenerator operations_research::sat::CreateCliqueCutGenerator ( absl::Span< const IntegerVariable > base_variables,
Model * model )

Definition at line 2971 of file cuts.cc.

◆ CreateCumulativeCompletionTimeCutGenerator()

CutGenerator operations_research::sat::CreateCumulativeCompletionTimeCutGenerator ( SchedulingConstraintHelper * helper,
SchedulingDemandHelper * demands_helper,
const AffineExpression & capacity,
Model * model )

Definition at line 1904 of file scheduling_cuts.cc.

◆ CreateCumulativeEnergyCutGenerator()

CutGenerator operations_research::sat::CreateCumulativeEnergyCutGenerator ( SchedulingConstraintHelper * helper,
SchedulingDemandHelper * demands_helper,
const AffineExpression & capacity,
const std::optional< AffineExpression > & makespan,
Model * model )

Definition at line 606 of file scheduling_cuts.cc.

◆ CreateCumulativePrecedenceCutGenerator()

CutGenerator operations_research::sat::CreateCumulativePrecedenceCutGenerator ( SchedulingConstraintHelper * helper,
SchedulingDemandHelper * demands_helper,
const AffineExpression & capacity,
Model * model )

Definition at line 1002 of file scheduling_cuts.cc.

◆ CreateCumulativeTimeTableCutGenerator()

CutGenerator operations_research::sat::CreateCumulativeTimeTableCutGenerator ( SchedulingConstraintHelper * helper,
SchedulingDemandHelper * demands_helper,
const AffineExpression & capacity,
Model * model )

Definition at line 747 of file scheduling_cuts.cc.

◆ CreateCVRPCutGenerator()

CutGenerator operations_research::sat::CreateCVRPCutGenerator ( int num_nodes,
absl::Span< const int > tails,
absl::Span< const int > heads,
absl::Span< const Literal > literals,
absl::Span< const AffineExpression > flat_node_dim_expressions,
Model * model )

Definition at line 3214 of file routing_cuts.cc.

◆ CreateFlowCutGenerator()

CutGenerator operations_research::sat::CreateFlowCutGenerator ( int num_nodes,
const std::vector< int > & tails,
const std::vector< int > & heads,
const std::vector< AffineExpression > & arc_capacities,
std::function< void(const std::vector< bool > &in_subset, IntegerValue *min_incoming_flow, IntegerValue *min_outgoing_flow)> get_flows,
Model * model )

Definition at line 3381 of file routing_cuts.cc.

◆ CreateLinMaxCutGenerator()

CutGenerator operations_research::sat::CreateLinMaxCutGenerator ( const IntegerVariable target,
absl::Span< const LinearExpression > exprs,
absl::Span< const IntegerVariable > z_vars,
Model * model )

Definition at line 2806 of file cuts.cc.

◆ CreateLinMaxFromLinearsAndObjective()

void operations_research::sat::CreateLinMaxFromLinearsAndObjective ( const CpModelProto & model,
int var_for_target,
absl::Span< const int > linear_constraint_indexes,
bool var_in_objective_is_negative,
ConstraintProto * new_constraint )

Definition at line 136 of file primary_variables.cc.

◆ CreateMaxAffineCutGenerator()

CutGenerator operations_research::sat::CreateMaxAffineCutGenerator ( LinearExpression target,
IntegerVariable var,
std::vector< std::pair< IntegerValue, IntegerValue > > affines,
const std::string cut_name,
Model * model )

Definition at line 2949 of file cuts.cc.

◆ CreateNewIntegerVariableFromLiteral()

IntegerVariable operations_research::sat::CreateNewIntegerVariableFromLiteral ( Literal lit,
Model * model )
inline

Definition at line 1789 of file integer.h.

◆ CreateNoOverlap2dCompletionTimeCutGenerator()

CutGenerator operations_research::sat::CreateNoOverlap2dCompletionTimeCutGenerator ( NoOverlap2DConstraintHelper * helper,
Model * model )

Definition at line 599 of file diffn_cuts.cc.

◆ CreateNoOverlap2dEnergyCutGenerator()

CutGenerator operations_research::sat::CreateNoOverlap2dEnergyCutGenerator ( NoOverlap2DConstraintHelper * helper,
Model * model )

Definition at line 310 of file diffn_cuts.cc.

◆ CreateNoOverlapCompletionTimeCutGenerator()

CutGenerator operations_research::sat::CreateNoOverlapCompletionTimeCutGenerator ( SchedulingConstraintHelper * helper,
Model * model )

Definition at line 1844 of file scheduling_cuts.cc.

◆ CreateNoOverlapEnergyCutGenerator()

CutGenerator operations_research::sat::CreateNoOverlapEnergyCutGenerator ( SchedulingConstraintHelper * helper,
const std::optional< AffineExpression > & makespan,
Model * model )

Definition at line 689 of file scheduling_cuts.cc.

◆ CreateNoOverlapPrecedenceCutGenerator()

CutGenerator operations_research::sat::CreateNoOverlapPrecedenceCutGenerator ( SchedulingConstraintHelper * helper,
Model * model )

Definition at line 1044 of file scheduling_cuts.cc.

◆ CreatePositiveMultiplicationCutGenerator()

CutGenerator operations_research::sat::CreatePositiveMultiplicationCutGenerator ( AffineExpression z,
AffineExpression x,
AffineExpression y,
int linearization_level,
Model * model )

Definition at line 2103 of file cuts.cc.

◆ CreateSparsePermutationFromProto()

std::unique_ptr< SparsePermutation > operations_research::sat::CreateSparsePermutationFromProto ( int n,
const SparsePermutationProto & proto )

Definition at line 238 of file symmetry_util.cc.

◆ CreateSquareCutGenerator()

CutGenerator operations_research::sat::CreateSquareCutGenerator ( AffineExpression y,
AffineExpression x,
int linearization_level,
Model * model )

Definition at line 2222 of file cuts.cc.

◆ CreateStronglyConnectedGraphCutGenerator()

CutGenerator operations_research::sat::CreateStronglyConnectedGraphCutGenerator ( int num_nodes,
absl::Span< const int > tails,
absl::Span< const int > heads,
absl::Span< const Literal > literals,
Model * model )

Definition at line 3196 of file routing_cuts.cc.

◆ CreateValidModelWithSingleConstraint()

void operations_research::sat::CreateValidModelWithSingleConstraint ( const ConstraintProto & ct,
const PresolveContext * context,
std::vector< int > * variable_mapping,
CpModelProto * mini_model )

Definition at line 2834 of file presolve_context.cc.

◆ CreateVariableEncodingLocalModels()

std::vector< VariableEncodingLocalModel > operations_research::sat::CreateVariableEncodingLocalModels ( PresolveContext * context)

Definition at line 53 of file presolve_encoding.cc.

◆ Cumulative()

std::function< void(Model *)> operations_research::sat::Cumulative ( const std::vector< Literal > & enforcement_literals,
const std::vector< IntervalVariable > & vars,
absl::Span< const AffineExpression > demands,
AffineExpression capacity,
SchedulingConstraintHelper * helper )

Definition at line 45 of file cumulative.cc.

◆ CumulativePrecedenceSearchHeuristic()

std::function< BooleanOrIntegerLiteral()> operations_research::sat::CumulativePrecedenceSearchHeuristic ( Model * model)

Definition at line 783 of file integer_search.cc.

◆ CumulativeTimeDecomposition()

std::function< void(Model *)> operations_research::sat::CumulativeTimeDecomposition ( absl::Span< const Literal > enforcement_literals,
absl::Span< const IntervalVariable > vars,
absl::Span< const AffineExpression > demands,
AffineExpression capacity,
SchedulingConstraintHelper *  )

Definition at line 306 of file cumulative.cc.

◆ CumulativeUsingReservoir()

std::function< void(Model *)> operations_research::sat::CumulativeUsingReservoir ( absl::Span< const Literal > enforcement_literals,
absl::Span< const IntervalVariable > vars,
absl::Span< const AffineExpression > demands,
AffineExpression capacity,
SchedulingConstraintHelper *  )

Definition at line 392 of file cumulative.cc.

◆ CutShapeIntoRectangles()

std::vector< Rectangle > operations_research::sat::CutShapeIntoRectangles ( SingleShape shape)

Definition at line 1271 of file 2d_rectangle_presolve.cc.

◆ DecisionStrategyProto_DomainReductionStrategy_descriptor()

OR_PROTO_DLLconst::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_descriptor ( )

Definition at line 1576 of file cp_model.pb.cc.

◆ DecisionStrategyProto_DomainReductionStrategy_IsValid()

bool operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_IsValid ( int value)
inline

Definition at line 259 of file cp_model.pb.h.

◆ DecisionStrategyProto_DomainReductionStrategy_Name() [1/2]

template<>
const ::std::string & operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_Name ( DecisionStrategyProto_DomainReductionStrategy value)
inline

Definition at line 272 of file cp_model.pb.h.

◆ DecisionStrategyProto_DomainReductionStrategy_Name() [2/2]

template<typename T>
const ::std::string & operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_Name ( T value)

Definition at line 265 of file cp_model.pb.h.

◆ DecisionStrategyProto_DomainReductionStrategy_Parse()

bool operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_Parse ( ::absl::string_view name,
DecisionStrategyProto_DomainReductionStrategy *PROTOBUF_NONNULL value )
inline

Definition at line 276 of file cp_model.pb.h.

◆ DecisionStrategyProto_VariableSelectionStrategy_descriptor()

OR_PROTO_DLLconst::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_descriptor ( )

Definition at line 1570 of file cp_model.pb.cc.

◆ DecisionStrategyProto_VariableSelectionStrategy_IsValid()

bool operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_IsValid ( int value)
inline

Definition at line 219 of file cp_model.pb.h.

◆ DecisionStrategyProto_VariableSelectionStrategy_Name() [1/2]

template<>
const ::std::string & operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_Name ( DecisionStrategyProto_VariableSelectionStrategy value)
inline

Definition at line 232 of file cp_model.pb.h.

◆ DecisionStrategyProto_VariableSelectionStrategy_Name() [2/2]

template<typename T>
const ::std::string & operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_Name ( T value)

Definition at line 225 of file cp_model.pb.h.

◆ DecisionStrategyProto_VariableSelectionStrategy_Parse()

bool operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_Parse ( ::absl::string_view name,
DecisionStrategyProto_VariableSelectionStrategy *PROTOBUF_NONNULL value )
inline

Definition at line 236 of file cp_model.pb.h.

◆ DEFINE_STRONG_INDEX_TYPE() [1/10]

operations_research::sat::DEFINE_STRONG_INDEX_TYPE ( BooleanVariable )

◆ DEFINE_STRONG_INDEX_TYPE() [2/10]

operations_research::sat::DEFINE_STRONG_INDEX_TYPE ( ClauseIndex )

◆ DEFINE_STRONG_INDEX_TYPE() [3/10]

operations_research::sat::DEFINE_STRONG_INDEX_TYPE ( EnforcementId )

◆ DEFINE_STRONG_INDEX_TYPE() [4/10]

operations_research::sat::DEFINE_STRONG_INDEX_TYPE ( GateId )

◆ DEFINE_STRONG_INDEX_TYPE() [5/10]

operations_research::sat::DEFINE_STRONG_INDEX_TYPE ( IntegerVariable )

◆ DEFINE_STRONG_INDEX_TYPE() [6/10]

operations_research::sat::DEFINE_STRONG_INDEX_TYPE ( IntervalVariable )

◆ DEFINE_STRONG_INDEX_TYPE() [7/10]

operations_research::sat::DEFINE_STRONG_INDEX_TYPE ( LinearExpression2Index )

◆ DEFINE_STRONG_INDEX_TYPE() [8/10]

operations_research::sat::DEFINE_STRONG_INDEX_TYPE ( LiteralIndex )

◆ DEFINE_STRONG_INDEX_TYPE() [9/10]

operations_research::sat::DEFINE_STRONG_INDEX_TYPE ( PositiveOnlyIndex )

◆ DEFINE_STRONG_INDEX_TYPE() [10/10]

operations_research::sat::DEFINE_STRONG_INDEX_TYPE ( ReasonIndex )

◆ DEFINE_STRONG_INT64_TYPE() [1/2]

operations_research::sat::DEFINE_STRONG_INT64_TYPE ( Coefficient )

◆ DEFINE_STRONG_INT64_TYPE() [2/2]

operations_research::sat::DEFINE_STRONG_INT64_TYPE ( IntegerValue )

◆ DEFINE_STRONG_INT_TYPE()

operations_research::sat::DEFINE_STRONG_INT_TYPE ( ClauseId ,
int64_t  )

◆ DetectAllEncodedComplexDomain()

bool operations_research::sat::DetectAllEncodedComplexDomain ( PresolveContext * context,
VariableEncodingLocalModel & local_model )

Definition at line 577 of file presolve_encoding.cc.

◆ DetectAndAddSymmetryToProto()

void operations_research::sat::DetectAndAddSymmetryToProto ( const SatParameters & params,
CpModelProto * proto,
SolverLogger * logger,
TimeLimit * time_limit )

Definition at line 784 of file cp_model_symmetries.cc.

◆ DetectAndExploitSymmetriesInPresolve()

bool operations_research::sat::DetectAndExploitSymmetriesInPresolve ( PresolveContext * context)

Definition at line 950 of file cp_model_symmetries.cc.

◆ DetectDimensionsAndCumulExpressions()

RoutingCumulExpressions operations_research::sat::DetectDimensionsAndCumulExpressions ( int num_nodes,
absl::Span< const int > tails,
absl::Span< const int > heads,
absl::Span< const Literal > literals,
const ConditionalLinear2Bounds & binary_relation_repository )

Definition at line 1705 of file routing_cuts.cc.

◆ DetectDisjointRegionIn2dPacking()

Disjoint2dPackingResult operations_research::sat::DetectDisjointRegionIn2dPacking ( absl::Span< const RectangleInRange > non_fixed_boxes,
absl::Span< const Rectangle > fixed_boxes,
int max_num_components )

Definition at line 1488 of file 2d_rectangle_presolve.cc.

◆ DetectEncodedComplexDomain()

bool operations_research::sat::DetectEncodedComplexDomain ( PresolveContext * context,
int ct_index,
VariableEncodingLocalModel & local_model,
absl::flat_hash_map< int, Domain > * fully_encoded_domains,
bool * changed )

Definition at line 401 of file presolve_encoding.cc.

◆ DetectImpliedIntegers()

std::vector< double > operations_research::sat::DetectImpliedIntegers ( MPModelProto * mp_model,
SolverLogger * logger )

Definition at line 485 of file lp_utils.cc.

◆ DetectMakespan()

std::optional< int > operations_research::sat::DetectMakespan ( absl::Span< const IntervalVariable > intervals,
absl::Span< const AffineExpression > demands,
const AffineExpression & capacity,
Model * model )

Definition at line 650 of file linear_relaxation.cc.

◆ DetectOptionalVariables()

void operations_research::sat::DetectOptionalVariables ( const CpModelProto & model_proto,
Model * m )

Definition at line 867 of file cp_model_loader.cc.

◆ DeterministicLoop()

void operations_research::sat::DeterministicLoop ( std::vector< std::unique_ptr< SubSolver > > & subsolvers,
int num_threads,
int batch_size,
int max_num_batches )

Definition at line 130 of file subsolver.cc.

◆ DifferAtGivenLiteral()

LiteralIndex operations_research::sat::DifferAtGivenLiteral ( const std::vector< Literal > & a,
const std::vector< Literal > & b,
Literal l )

Definition at line 1014 of file simplification.cc.

◆ DiophantineEquationOfSizeTwoHasSolutionInDomain()

bool operations_research::sat::DiophantineEquationOfSizeTwoHasSolutionInDomain ( const Domain & x,
int64_t a,
const Domain & y,
int64_t b,
int64_t cte )

Definition at line 237 of file util.cc.

◆ DisjunctivePrecedenceSearchHeuristic()

std::function< BooleanOrIntegerLiteral()> operations_research::sat::DisjunctivePrecedenceSearchHeuristic ( Model * model)

Definition at line 706 of file integer_search.cc.

◆ DivideByGCD()

void operations_research::sat::DivideByGCD ( LinearConstraint * constraint)

Definition at line 282 of file linear_constraint.cc.

◆ DivideLinearExpression()

void operations_research::sat::DivideLinearExpression ( int64_t divisor,
LinearExpressionProto * expr )

Definition at line 82 of file cp_model_utils.cc.

◆ DivisionConstraint()

std::function< void(Model *)> operations_research::sat::DivisionConstraint ( absl::Span< const Literal > enforcement_literals,
AffineExpression num,
AffineExpression denom,
AffineExpression div )
inline

Definition at line 819 of file integer_expr.h.

◆ DoFullSatSweeping()

SatSweepingResult operations_research::sat::DoFullSatSweeping ( const CompactVectorVector< int, Literal > & clauses,
TimeLimit * time_limit,
std::function< void(Model *)> configure_model_before_first_solve )

Definition at line 311 of file sat_sweeping.cc.

◆ DomainInProtoContains()

template<typename ProtoWithDomain>
bool operations_research::sat::DomainInProtoContains ( const ProtoWithDomain & proto,
int64_t value )

Definition at line 133 of file cp_model_utils.h.

◆ EncodeDifferenceLowerThan()

std::pair< LinearExpression2, IntegerValue > operations_research::sat::EncodeDifferenceLowerThan ( AffineExpression a,
AffineExpression b,
IntegerValue ub )
inline

Definition at line 466 of file integer_base.h.

◆ EnforcedClause()

std::function< void(Model *)> operations_research::sat::EnforcedClause ( absl::Span< const Literal > enforcement_literals,
absl::Span< const Literal > clause )
inline

Definition at line 1034 of file sat_solver.h.

◆ EnforcementLiteral()

int operations_research::sat::EnforcementLiteral ( const ConstraintProto & ct)
inline

Definition at line 61 of file cp_model_utils.h.

◆ Equality() [1/3]

std::function< void(Model *)> operations_research::sat::Equality ( IntegerVariable a,
IntegerVariable b )
inline

Definition at line 340 of file old_precedences_propagator.h.

◆ Equality() [2/3]

std::function< void(Model *)> operations_research::sat::Equality ( IntegerVariable v,
int64_t value )
inline

Definition at line 1876 of file integer.h.

◆ Equality() [3/3]

std::function< void(Model *)> operations_research::sat::Equality ( Literal a,
Literal b )
inline

Definition at line 1009 of file sat_solver.h.

◆ EvaluateImpliedIntProdDomain()

Domain operations_research::sat::EvaluateImpliedIntProdDomain ( const LinearArgumentProto & expr,
const PresolveContext & context )

Definition at line 1548 of file cp_model_presolve.cc.

◆ ExactlyOneConstraint()

std::function< void(Model *)> operations_research::sat::ExactlyOneConstraint ( absl::Span< const Literal > literals)
inline

Definition at line 964 of file sat_solver.h.

◆ ExactlyOnePerRowAndPerColumn()

std::function< void(Model *)> operations_research::sat::ExactlyOnePerRowAndPerColumn ( absl::Span< const std::vector< Literal > > graph)

Definition at line 681 of file circuit.cc.

◆ ExcludeCurrentSolutionAndBacktrack()

std::function< void(Model *)> operations_research::sat::ExcludeCurrentSolutionAndBacktrack ( )
inline

Definition at line 1100 of file sat_solver.h.

◆ ExpandCpModel()

void operations_research::sat::ExpandCpModel ( PresolveContext * context)

Definition at line 2808 of file cp_model_expand.cc.

◆ ExploitDominanceRelations()

bool operations_research::sat::ExploitDominanceRelations ( const VarDomination & var_domination,
PresolveContext * context )

Definition at line 1531 of file var_domination.cc.

◆ ExpressionContainsSingleRef()

bool operations_research::sat::ExpressionContainsSingleRef ( const LinearExpressionProto & expr)

Definition at line 640 of file cp_model_utils.cc.

◆ ExpressionIsAffine()

bool operations_research::sat::ExpressionIsAffine ( const LinearExpressionProto & expr)

Definition at line 645 of file cp_model_utils.cc.

◆ ExpressionsContainsOnlyOneVar()

template<class ExpressionList>
bool operations_research::sat::ExpressionsContainsOnlyOneVar ( const ExpressionList & exprs)

Definition at line 302 of file cp_model_utils.h.

◆ ExtendNegativeFunction()

std::function< IntegerValue(IntegerValue)> operations_research::sat::ExtendNegativeFunction ( std::function< IntegerValue(IntegerValue)> base_f,
IntegerValue period )
inline

Definition at line 376 of file cuts.h.

◆ ExtractAllSubsetsFromForest()

void operations_research::sat::ExtractAllSubsetsFromForest ( absl::Span< const int > parent,
std::vector< int > * subset_data,
std::vector< absl::Span< const int > > * subsets,
int node_limit )

Definition at line 2924 of file routing_cuts.cc.

◆ ExtractAssignment()

void operations_research::sat::ExtractAssignment ( const LinearBooleanProblem & problem,
const SatSolver & solver,
std::vector< bool > * assignment )

Definition at line 63 of file boolean_problem.cc.

◆ ExtractAssumptions()

std::vector< Literal > operations_research::sat::ExtractAssumptions ( Coefficient stratified_lower_bound,
const std::vector< EncodingNode * > & nodes,
SatSolver * solver )

Definition at line 549 of file encoding.cc.

◆ ExtractElementEncoding()

void operations_research::sat::ExtractElementEncoding ( const CpModelProto & model_proto,
Model * m )

Definition at line 640 of file cp_model_loader.cc.

◆ ExtractEncoding()

void operations_research::sat::ExtractEncoding ( const CpModelProto & model_proto,
Model * m )

Definition at line 352 of file cp_model_loader.cc.

◆ ExtractSubproblem()

void operations_research::sat::ExtractSubproblem ( const LinearBooleanProblem & problem,
absl::Span< const int > constraint_indices,
LinearBooleanProblem * subproblem )

Definition at line 499 of file boolean_problem.cc.

◆ FillDomainInProto() [1/3]

template<typename ProtoWithDomain>
void operations_research::sat::FillDomainInProto ( const Domain & domain,
ProtoWithDomain * proto )

Definition at line 142 of file cp_model_utils.h.

◆ FillDomainInProto() [2/3]

template<typename ProtoWithDomain>
void operations_research::sat::FillDomainInProto ( int64_t lb,
int64_t ub,
ProtoWithDomain * proto )

Definition at line 152 of file cp_model_utils.h.

◆ FillDomainInProto() [3/3]

template<typename ProtoWithDomain>
void operations_research::sat::FillDomainInProto ( int64_t value,
ProtoWithDomain * proto )

Definition at line 160 of file cp_model_utils.h.

◆ FillKeyAndBitmask()

void operations_research::sat::FillKeyAndBitmask ( absl::Span< const Literal > clause,
absl::Span< BooleanVariable > key,
SmallBitset & bitmask )
inline

Definition at line 67 of file gate_utils.h.

◆ FillTightenedDomainInResponse()

void operations_research::sat::FillTightenedDomainInResponse ( const CpModelProto & original_model,
const CpModelProto & mapping_proto,
absl::Span< const int > postsolve_mapping,
absl::Span< const Domain > search_domains,
CpSolverResponse * response,
SolverLogger * logger )

Definition at line 474 of file cp_model_postsolve.cc.

◆ FilterAssignedLiteral()

void operations_research::sat::FilterAssignedLiteral ( const VariablesAssignment & assignment,
std::vector< Literal > * core )

Definition at line 197 of file optimization.cc.

◆ FilterBoxesAndRandomize()

absl::Span< int > operations_research::sat::FilterBoxesAndRandomize ( absl::Span< const Rectangle > cached_rectangles,
absl::Span< int > boxes,
IntegerValue threshold_x,
IntegerValue threshold_y,
absl::BitGenRef random )

Definition at line 391 of file diffn_util.cc.

◆ FilterBoxesThatAreTooLarge()

absl::Span< int > operations_research::sat::FilterBoxesThatAreTooLarge ( absl::Span< const Rectangle > cached_rectangles,
absl::Span< const IntegerValue > energies,
absl::Span< int > boxes )

Definition at line 407 of file diffn_util.cc.

◆ FilterOrbitOnUnusedOrFixedVariables()

bool operations_research::sat::FilterOrbitOnUnusedOrFixedVariables ( SymmetryProto * symmetry,
PresolveContext * context )

Definition at line 1599 of file cp_model_symmetries.cc.

◆ FinalExpansionForLinearConstraint()

void operations_research::sat::FinalExpansionForLinearConstraint ( PresolveContext * context)

Definition at line 2963 of file cp_model_expand.cc.

◆ FindBestScalingAndComputeErrors()

double operations_research::sat::FindBestScalingAndComputeErrors ( absl::Span< const double > coefficients,
absl::Span< const double > lower_bounds,
absl::Span< const double > upper_bounds,
int64_t max_absolute_activity,
double wanted_absolute_activity_precision,
double * relative_coeff_error,
double * scaled_sum_error )

Definition at line 868 of file lp_utils.cc.

◆ FindCombinedSolution()

std::optional< std::vector< int64_t > > operations_research::sat::FindCombinedSolution ( const CpModelProto & model,
absl::Span< const int64_t > new_solution,
absl::Span< const int64_t > base_solution,
const SharedResponseManager * response_manager,
std::string * solution_info )

Definition at line 50 of file combine_solutions.cc.

◆ FindCpModelSymmetries()

void operations_research::sat::FindCpModelSymmetries ( const SatParameters & params,
const CpModelProto & problem,
std::vector< std::unique_ptr< SparsePermutation > > * generators,
SolverLogger * logger,
TimeLimit * solver_time_limit )

Definition at line 658 of file cp_model_symmetries.cc.

◆ FindDuplicateConstraints()

std::vector< std::pair< int, int > > operations_research::sat::FindDuplicateConstraints ( const CpModelProto & model_proto,
bool ignore_enforcement )

Definition at line 14705 of file cp_model_presolve.cc.

◆ FindEmptySpaces()

std::vector< Rectangle > operations_research::sat::FindEmptySpaces ( const Rectangle & bounding_box,
std::vector< Rectangle > ocupied_rectangles )

Definition at line 1601 of file diffn_util.cc.

◆ FindLinearBooleanProblemSymmetries()

void operations_research::sat::FindLinearBooleanProblemSymmetries ( const LinearBooleanProblem & problem,
std::vector< std::unique_ptr< SparsePermutation > > * generators )

Definition at line 683 of file boolean_problem.cc.

◆ FindMostDiverseSubset()

std::vector< int > operations_research::sat::FindMostDiverseSubset ( int k,
int n,
absl::Span< const int64_t > distances,
std::vector< int64_t > & buffer,
int always_pick_mask )

Definition at line 973 of file util.cc.

◆ FindOneIntersectionIfPresent()

std::optional< std::pair< int, int > > operations_research::sat::FindOneIntersectionIfPresent ( absl::Span< const Rectangle > rectangles)

Definition at line 2107 of file diffn_util.cc.

◆ FindOneIntersectionIfPresentWithZeroArea()

std::optional< std::pair< int, int > > operations_research::sat::FindOneIntersectionIfPresentWithZeroArea ( absl::Span< const Rectangle > rectangles)

Definition at line 2112 of file diffn_util.cc.

◆ FindPartialRectangleIntersections()

std::vector< std::pair< int, int > > operations_research::sat::FindPartialRectangleIntersections ( absl::Span< const Rectangle > rectangles)

Definition at line 2099 of file diffn_util.cc.

◆ FindPartialRectangleIntersectionsImpl()

std::vector< std::pair< int, int > > operations_research::sat::FindPartialRectangleIntersectionsImpl ( absl::Span< const Rectangle32 > rectangles,
int32_t y_max )

Definition at line 1815 of file diffn_util.cc.

◆ FindRationalFactor()

int64_t operations_research::sat::FindRationalFactor ( double x,
int64_t limit,
double tolerance )

Definition at line 135 of file lp_utils.cc.

◆ FindRectanglesWithEnergyConflictMC()

FindRectanglesResult operations_research::sat::FindRectanglesWithEnergyConflictMC ( const std::vector< RectangleInRange > & intervals,
absl::BitGenRef random,
double temperature,
double candidate_energy_usage_factor )

Definition at line 1514 of file diffn_util.cc.

◆ FindSingleLinearDifference()

bool operations_research::sat::FindSingleLinearDifference ( const LinearConstraintProto & lin1,
const LinearConstraintProto & lin2,
int * var1,
int64_t * coeff1,
int * var2,
int64_t * coeff2 )

Definition at line 710 of file presolve_util.cc.

◆ FingerprintExpression()

uint64_t operations_research::sat::FingerprintExpression ( const LinearExpressionProto & lin,
uint64_t seed )

Definition at line 739 of file cp_model_utils.cc.

◆ FingerprintModel()

uint64_t operations_research::sat::FingerprintModel ( const CpModelProto & model,
uint64_t seed )

Definition at line 750 of file cp_model_utils.cc.

◆ FingerprintRepeatedField()

template<class T>
uint64_t operations_research::sat::FingerprintRepeatedField ( const google::protobuf::RepeatedField< T > & sequence,
uint64_t seed )
inline

Definition at line 321 of file cp_model_utils.h.

◆ FingerprintSingleField()

template<class T>
uint64_t operations_research::sat::FingerprintSingleField ( const T & field,
uint64_t seed )
inline

Definition at line 329 of file cp_model_utils.h.

◆ FirstUnassignedVarAtItsMinHeuristic()

std::function< BooleanOrIntegerLiteral()> operations_research::sat::FirstUnassignedVarAtItsMinHeuristic ( absl::Span< const IntegerVariable > vars,
Model * model )

Definition at line 173 of file integer_search.cc.

◆ FixedDivisionConstraint()

std::function< void(Model *)> operations_research::sat::FixedDivisionConstraint ( absl::Span< const Literal > enforcement_literals,
AffineExpression a,
IntegerValue b,
AffineExpression c )
inline

Definition at line 838 of file integer_expr.h.

◆ FixedModuloConstraint()

std::function< void(Model *)> operations_research::sat::FixedModuloConstraint ( absl::Span< const Literal > enforcement_literals,
AffineExpression a,
IntegerValue b,
AffineExpression c )
inline

Definition at line 853 of file integer_expr.h.

◆ FixedWeightedSum()

template<typename VectorInt>
std::function< void(Model *)> operations_research::sat::FixedWeightedSum ( absl::Span< const IntegerVariable > vars,
const VectorInt & coefficients,
int64_t value )
inline

Definition at line 624 of file integer_expr.h.

◆ floor()

operations_research::sat::floor ( |P|/ 2)

◆ FloorRatio()

IntegerValue operations_research::sat::FloorRatio ( IntegerValue dividend,
IntegerValue positive_divisor )
inline

Definition at line 94 of file integer_base.h.

◆ FloorRatioWithTest()

IntegerValue operations_research::sat::FloorRatioWithTest ( IntegerValue dividend,
IntegerValue positive_divisor )
inline

Definition at line 104 of file integer_base.h.

◆ FloorSquareRoot()

int64_t operations_research::sat::FloorSquareRoot ( int64_t a)

Definition at line 289 of file util.cc.

◆ FollowHint()

std::function< BooleanOrIntegerLiteral()> operations_research::sat::FollowHint ( absl::Span< const BooleanOrIntegerVariable > vars,
absl::Span< const IntegerValue > values,
Model * model )

Definition at line 1137 of file integer_search.cc.

◆ FormatName()

std::string operations_research::sat::FormatName ( absl::string_view name)
inline

Definition at line 342 of file util.h.

◆ FormatTable()

std::string operations_research::sat::FormatTable ( std::vector< std::vector< std::string > > & table,
int spacing )

Definition at line 61 of file util.cc.

◆ FullMerge()

EncodingNode operations_research::sat::FullMerge ( Coefficient upper_bound,
EncodingNode * a,
EncodingNode * b,
SatSolver * solver )

Definition at line 390 of file encoding.cc.

◆ FullyCompressTuples()

std::vector< std::vector< absl::InlinedVector< int64_t, 2 > > > operations_research::sat::FullyCompressTuples ( absl::Span< const int64_t > domain_sizes,
std::vector< std::vector< int64_t > > * tuples )

Definition at line 321 of file cp_model_table.cc.

◆ FullyEncodeVariable()

std::function< std::vector< ValueLiteralPair >(Model *)> operations_research::sat::FullyEncodeVariable ( IntegerVariable var)
inline

Definition at line 1939 of file integer.h.

◆ GenerateCompletionTimeCutsWithEnergy()

void operations_research::sat::GenerateCompletionTimeCutsWithEnergy ( absl::string_view cut_name,
const util_intops::StrongVector< IntegerVariable, double > & lp_values,
absl::Span< std::unique_ptr< CompletionTimeEvent > > events,
IntegerValue capacity_max,
Model * model,
TopNCuts & top_n_cuts,
std::vector< CompletionTimeEvent > & residual_event_storage )

Definition at line 1678 of file scheduling_cuts.cc.

◆ GenerateCumulativeEnergeticCuts()

void operations_research::sat::GenerateCumulativeEnergeticCuts ( absl::string_view cut_name,
const util_intops::StrongVector< IntegerVariable, double > & lp_values,
absl::Span< std::unique_ptr< EnergyEvent > > events,
const AffineExpression & capacity,
TimeLimit * time_limit,
Model * model,
TopNCuts & top_n_cuts )

Definition at line 516 of file scheduling_cuts.cc.

◆ GenerateCumulativeEnergeticCutsWithMakespanAndFixedCapacity()

void operations_research::sat::GenerateCumulativeEnergeticCutsWithMakespanAndFixedCapacity ( absl::string_view cut_name,
const util_intops::StrongVector< IntegerVariable, double > & lp_values,
absl::Span< std::unique_ptr< EnergyEvent > > events,
IntegerValue capacity,
AffineExpression makespan,
TimeLimit * time_limit,
Model * model,
TopNCuts & top_n_cuts )

Definition at line 340 of file scheduling_cuts.cc.

◆ GenerateCutsBetweenPairOfNonOverlappingTasks()

void operations_research::sat::GenerateCutsBetweenPairOfNonOverlappingTasks ( absl::string_view cut_name,
bool ignore_zero_size_intervals,
const util_intops::StrongVector< IntegerVariable, double > & lp_values,
absl::Span< std::unique_ptr< CachedIntervalData > > events,
IntegerValue capacity_max,
Model * model,
TopNCuts & top_n_cuts )

Definition at line 902 of file scheduling_cuts.cc.

◆ GenerateGraphForSymmetryDetection()

template<typename Graph>
Graph * operations_research::sat::GenerateGraphForSymmetryDetection ( const LinearBooleanProblem & problem,
std::vector< int > * initial_equivalence_classes )

Definition at line 545 of file boolean_problem.cc.

◆ GenerateInterestingSubsets()

void operations_research::sat::GenerateInterestingSubsets ( int num_nodes,
absl::Span< const std::pair< int, int > > arcs,
int stop_at_num_components,
std::vector< int > * subset_data,
std::vector< absl::Span< const int > > * subsets )

Definition at line 2864 of file routing_cuts.cc.

◆ GenerateItemsRectanglesWithNoPairwiseConflict()

std::vector< ItemWithVariableSize > operations_research::sat::GenerateItemsRectanglesWithNoPairwiseConflict ( absl::Span< const Rectangle > rectangles,
double slack_factor,
absl::BitGenRef random )

Definition at line 181 of file 2d_orthogonal_packing_testing.cc.

◆ GenerateItemsRectanglesWithNoPairwisePropagation()

std::vector< ItemWithVariableSize > operations_research::sat::GenerateItemsRectanglesWithNoPairwisePropagation ( int num_rectangles,
double slack_factor,
absl::BitGenRef random )

Definition at line 204 of file 2d_orthogonal_packing_testing.cc.

◆ GenerateNonConflictingRectangles()

std::vector< Rectangle > operations_research::sat::GenerateNonConflictingRectangles ( int num_rectangles,
absl::BitGenRef random )

Definition at line 33 of file 2d_orthogonal_packing_testing.cc.

◆ GenerateNonConflictingRectanglesWithPacking()

std::vector< Rectangle > operations_research::sat::GenerateNonConflictingRectanglesWithPacking ( std::pair< IntegerValue, IntegerValue > bb,
int average_num_boxes,
absl::BitGenRef random )

Definition at line 83 of file 2d_orthogonal_packing_testing.cc.

◆ GenerateNoOvelap2dCompletionTimeCuts()

void operations_research::sat::GenerateNoOvelap2dCompletionTimeCuts ( absl::string_view cut_name,
std::vector< DiffnCtEvent > events,
bool use_lifting,
Model * model,
LinearConstraintManager * manager )

Definition at line 428 of file diffn_cuts.cc.

◆ GenerateNoOverlap2dEnergyCut()

void operations_research::sat::GenerateNoOverlap2dEnergyCut ( absl::Span< const std::vector< LiteralValueValue > > energies,
absl::Span< const int > rectangles,
absl::string_view cut_name,
Model * model,
LinearConstraintManager * manager,
SchedulingConstraintHelper * x_helper,
SchedulingConstraintHelper * y_helper,
SchedulingDemandHelper * y_demands_helper )

Definition at line 139 of file diffn_cuts.cc.

◆ GenerateSchedulingNeighborhoodFromIntervalPrecedences()

Neighborhood operations_research::sat::GenerateSchedulingNeighborhoodFromIntervalPrecedences ( const absl::Span< const std::pair< int, int > > precedences,
const CpSolverResponse & initial_solution,
const NeighborhoodGeneratorHelper & helper )

Definition at line 2105 of file cp_model_lns.cc.

◆ GenerateSchedulingNeighborhoodFromRelaxedIntervals()

Neighborhood operations_research::sat::GenerateSchedulingNeighborhoodFromRelaxedIntervals ( absl::Span< const int > intervals_to_relax,
absl::Span< const int > variables_to_fix,
const CpSolverResponse & initial_solution,
absl::BitGenRef random,
const NeighborhoodGeneratorHelper & helper )

Definition at line 2167 of file cp_model_lns.cc.

◆ GenerateShortCompletionTimeCutsWithExactBound()

ABSL_MUST_USE_RESULT bool operations_research::sat::GenerateShortCompletionTimeCutsWithExactBound ( absl::string_view cut_name,
const util_intops::StrongVector< IntegerVariable, double > & lp_values,
absl::Span< std::unique_ptr< CompletionTimeEvent > > events,
IntegerValue capacity_max,
CtExhaustiveHelper & helper,
Model * model,
TopNCuts & top_n_cuts,
std::vector< CompletionTimeEvent > & residual_event_storage )

Definition at line 1429 of file scheduling_cuts.cc.

◆ GetCoefficient()

IntegerValue operations_research::sat::GetCoefficient ( const IntegerVariable var,
const LinearExpression & expr )

Definition at line 444 of file linear_constraint.cc.

◆ GetCoefficientOfPositiveVar()

IntegerValue operations_research::sat::GetCoefficientOfPositiveVar ( const IntegerVariable var,
const LinearExpression & expr )

Definition at line 456 of file linear_constraint.cc.

◆ GetDifferenceBounds()

std::pair< IntegerValue, IntegerValue > operations_research::sat::GetDifferenceBounds ( const NodeExpression & x_expr,
const NodeExpression & y_expr,
const sat::Relation & r,
const std::pair< IntegerValue, IntegerValue > & x_var_bounds,
const std::pair< IntegerValue, IntegerValue > & y_var_bounds )

Definition at line 1768 of file routing_cuts.cc.

◆ GetFactorT()

IntegerValue operations_research::sat::GetFactorT ( IntegerValue rhs_remainder,
IntegerValue divisor,
IntegerValue max_magnitude )

Definition at line 695 of file cuts.cc.

◆ GetFirstSolutionBaseParams()

std::vector< SatParameters > operations_research::sat::GetFirstSolutionBaseParams ( const SatParameters & base_params)

Definition at line 1033 of file cp_model_search.cc.

◆ GetFullWorkerParameters()

std::vector< SatParameters > operations_research::sat::GetFullWorkerParameters ( const SatParameters & base_params,
const CpModelProto & cp_model,
int num_already_present,
SubsolverNameFilter * filter )

Definition at line 844 of file cp_model_search.cc.

◆ GetInnerVarValue()

int64_t operations_research::sat::GetInnerVarValue ( const LinearExpressionProto & expr,
int64_t value )
inline

Definition at line 253 of file cp_model_utils.h.

◆ GetIntervalArticulationPoints()

std::vector< int > operations_research::sat::GetIntervalArticulationPoints ( std::vector< IndexedInterval > * intervals)

Definition at line 535 of file diffn_util.cc.

◆ GetNamedParameters()

absl::flat_hash_map< std::string, SatParameters > operations_research::sat::GetNamedParameters ( SatParameters base_params)

Definition at line 505 of file cp_model_search.cc.

◆ GetNumBitsAtOne()

SmallBitset operations_research::sat::GetNumBitsAtOne ( int num_bits)
inline

Definition at line 30 of file gate_utils.h.

◆ GetOrbitopeOrbits()

std::vector< int > operations_research::sat::GetOrbitopeOrbits ( int n,
absl::Span< const std::vector< int > > orbitope )

Definition at line 189 of file symmetry_util.cc.

◆ GetOrbits()

std::vector< int > operations_research::sat::GetOrbits ( int n,
absl::Span< const std::unique_ptr< SparsePermutation > > generators )

Definition at line 154 of file symmetry_util.cc.

◆ GetOverlappingIntervalComponents()

void operations_research::sat::GetOverlappingIntervalComponents ( std::vector< IndexedInterval > * intervals,
std::vector< std::vector< int > > * components )

Definition at line 502 of file diffn_util.cc.

◆ GetOverlappingRectangleComponents()

CompactVectorVector< int > operations_research::sat::GetOverlappingRectangleComponents ( absl::Span< const Rectangle > rectangles)

Definition at line 112 of file diffn_util.cc.

◆ GetPositiveOnlyIndex()

PositiveOnlyIndex operations_research::sat::GetPositiveOnlyIndex ( IntegerVariable var)
inline

Definition at line 189 of file integer_base.h.

◆ GetReferencesUsedByConstraint() [1/2]

IndexReferences operations_research::sat::GetReferencesUsedByConstraint ( const ConstraintProto & ct)

Definition at line 104 of file cp_model_utils.cc.

◆ GetReferencesUsedByConstraint() [2/2]

void operations_research::sat::GetReferencesUsedByConstraint ( const ConstraintProto & ct,
std::vector< int > * variables,
std::vector< int > * literals )

Definition at line 110 of file cp_model_utils.cc.

◆ GetRelationshipForConstraint()

void operations_research::sat::GetRelationshipForConstraint ( const ConstraintProto & ct,
absl::btree_set< int > * deducible_vars,
absl::btree_set< int > * input_vars,
int * preferred_to_deduce )

Definition at line 52 of file primary_variables.cc.

◆ GetRinsRensNeighborhood()

ReducedDomainNeighborhood operations_research::sat::GetRinsRensNeighborhood ( const SharedResponseManager * response_manager,
const SharedLPSolutionRepository * lp_solutions,
SharedIncompleteSolutionManager * incomplete_solutions,
double difficulty,
absl::BitGenRef random )

Definition at line 176 of file rins.cc.

◆ GetSchreierVectorAndOrbit()

void operations_research::sat::GetSchreierVectorAndOrbit ( int point,
absl::Span< const std::unique_ptr< SparsePermutation > > generators,
std::vector< int > * schrier_vector,
std::vector< int > * orbit )

Definition at line 201 of file symmetry_util.cc.

◆ GetSingleRefFromExpression()

int operations_research::sat::GetSingleRefFromExpression ( const LinearExpressionProto & expr)

Definition at line 651 of file cp_model_utils.cc.

◆ GetSolutionValues()

std::vector< int64_t > operations_research::sat::GetSolutionValues ( const CpModelProto & model_proto,
const Model & model )

Definition at line 314 of file cp_model_solver_helpers.cc.

◆ GetSuperAdditiveRoundingFunction()

std::function< IntegerValue(IntegerValue)> operations_research::sat::GetSuperAdditiveRoundingFunction ( IntegerValue rhs_remainder,
IntegerValue divisor,
IntegerValue t,
IntegerValue max_scaling )

Definition at line 709 of file cuts.cc.

◆ GetSuperAdditiveStrengtheningFunction()

std::function< IntegerValue(IntegerValue)> operations_research::sat::GetSuperAdditiveStrengtheningFunction ( IntegerValue positive_rhs,
IntegerValue min_magnitude )

Definition at line 794 of file cuts.cc.

◆ GetSuperAdditiveStrengtheningMirFunction()

std::function< IntegerValue(IntegerValue)> operations_research::sat::GetSuperAdditiveStrengtheningMirFunction ( IntegerValue positive_rhs,
IntegerValue scaling )

Definition at line 829 of file cuts.cc.

◆ GreaterOrEqual()

std::function< void(Model *)> operations_research::sat::GreaterOrEqual ( IntegerVariable v,
int64_t lb )
inline

Definition at line 1847 of file integer.h.

◆ GreaterOrEqualToMiddleValue()

IntegerLiteral operations_research::sat::GreaterOrEqualToMiddleValue ( IntegerVariable var,
IntegerTrail * integer_trail )

Definition at line 80 of file integer_search.cc.

◆ GreaterThanAtLeastOneOf()

std::function< void(Model *)> operations_research::sat::GreaterThanAtLeastOneOf ( IntegerVariable target_var,
const absl::Span< const IntegerVariable > vars,
const absl::Span< const IntegerValue > offsets,
const absl::Span< const Literal > selectors,
const absl::Span< const Literal > enforcements )
inline

Definition at line 138 of file cp_constraints.h.

◆ GreedyFastDecreasingGcd()

std::vector< int > operations_research::sat::GreedyFastDecreasingGcd ( const absl::Span< const int64_t > coeffs)

Definition at line 69 of file diophantine.cc.

◆ HasEnforcementLiteral()

bool operations_research::sat::HasEnforcementLiteral ( const ConstraintProto & ct)
inline

Definition at line 58 of file cp_model_utils.h.

◆ HeuristicallySplitLongLinear()

std::vector< std::pair< int, int > > operations_research::sat::HeuristicallySplitLongLinear ( absl::Span< const int64_t > coeffs)

Definition at line 1048 of file util.cc.

◆ Implication() [1/2]

std::function< void(Model *)> operations_research::sat::Implication ( absl::Span< const Literal > enforcement_literals,
IntegerLiteral i )
inline

Definition at line 1889 of file integer.h.

◆ Implication() [2/2]

std::function< void(Model *)> operations_research::sat::Implication ( Literal a,
Literal b )
inline

Definition at line 1002 of file sat_solver.h.

◆ ImpliesInInterval()

std::function< void(Model *)> operations_research::sat::ImpliesInInterval ( Literal in_interval,
IntegerVariable v,
int64_t lb,
int64_t ub )
inline

Definition at line 1917 of file integer.h.

◆ ImportModelAndDomainsWithBasicPresolveIntoContext()

bool operations_research::sat::ImportModelAndDomainsWithBasicPresolveIntoContext ( const CpModelProto & in_model,
absl::Span< const Domain > domains,
std::function< bool(int)> active_constraints,
PresolveContext * context,
std::vector< int > * interval_mapping )

Definition at line 1214 of file cp_model_copy.cc.

◆ ImportModelWithBasicPresolveIntoContext()

bool operations_research::sat::ImportModelWithBasicPresolveIntoContext ( const CpModelProto & in_model,
PresolveContext * context,
LratProofHandler * lrat_proof_handler )

Definition at line 1201 of file cp_model_copy.cc.

◆ InclusionDetector()

template<typename Storage>
operations_research::sat::InclusionDetector ( const Storage & storage) ->InclusionDetector< Storage >

◆ IncreaseNodeSize()

void operations_research::sat::IncreaseNodeSize ( EncodingNode * node,
SatSolver * solver )

Definition at line 291 of file encoding.cc.

◆ InitializeDebugSolution()

void operations_research::sat::InitializeDebugSolution ( const CpModelProto & model_proto,
Model * model )

Definition at line 129 of file cp_model_solver_helpers.cc.

◆ InsertVariablesFromInterval()

void operations_research::sat::InsertVariablesFromInterval ( const CpModelProto & model_proto,
int index,
Bitset64< int > & output )
inline

Definition at line 113 of file cp_model_utils.h.

◆ InstrumentSearchStrategy()

std::function< BooleanOrIntegerLiteral()> operations_research::sat::InstrumentSearchStrategy ( const CpModelProto & cp_model_proto,
absl::Span< const IntegerVariable > variable_mapping,
std::function< BooleanOrIntegerLiteral()> instrumented_strategy,
Model * model )

Definition at line 448 of file cp_model_search.cc.

◆ IntegerTermDebugString()

std::string operations_research::sat::IntegerTermDebugString ( IntegerVariable var,
IntegerValue coeff )
inline

Definition at line 193 of file integer_base.h.

◆ IntegerValueSelectionHeuristic()

std::function< BooleanOrIntegerLiteral()> operations_research::sat::IntegerValueSelectionHeuristic ( std::function< BooleanOrIntegerLiteral()> var_selection_heuristic,
Model * model )

Definition at line 376 of file integer_search.cc.

◆ IntervalIsVariable()

bool operations_research::sat::IntervalIsVariable ( const IntervalVariable interval,
IntervalsRepository * intervals_repository )

Definition at line 1700 of file linear_relaxation.cc.

◆ IntTypeAbs()

template<class IntType>
IntType operations_research::sat::IntTypeAbs ( IntType t)
inline

Definition at line 81 of file integer_base.h.

◆ IsAffineIntAbs()

bool operations_research::sat::IsAffineIntAbs ( const ConstraintProto & ct)

Definition at line 1155 of file cp_model_utils.cc.

◆ IsAssignmentValid()

bool operations_research::sat::IsAssignmentValid ( const LinearBooleanProblem & problem,
const std::vector< bool > & assignment )

Definition at line 373 of file boolean_problem.cc.

◆ IsEqualToMinOf()

std::function< void(Model *)> operations_research::sat::IsEqualToMinOf ( const LinearExpression & min_expr,
const std::vector< LinearExpression > & exprs )
inline

Definition at line 786 of file integer_expr.h.

◆ IsFixed()

std::function< bool(const Model &)> operations_research::sat::IsFixed ( IntegerVariable v)
inline

Definition at line 1831 of file integer.h.

◆ IsFunction()

bool operations_research::sat::IsFunction ( int i,
int num_bits,
SmallBitset truth_table )
inline

Definition at line 85 of file gate_utils.h.

◆ IsNegatableInt64()

bool operations_research::sat::IsNegatableInt64 ( absl::int128 x)
inline

Definition at line 929 of file util.h.

◆ IsObjectiveConstraining()

bool operations_research::sat::IsObjectiveConstraining ( const CpModelProto & model)

Definition at line 187 of file primary_variables.cc.

◆ IsOptional()

std::function< bool(const Model &)> operations_research::sat::IsOptional ( IntervalVariable v)
inline

Definition at line 254 of file intervals.h.

◆ IsPresentLiteral()

std::function< Literal(const Model &)> operations_research::sat::IsPresentLiteral ( IntervalVariable v)
inline

Definition at line 260 of file intervals.h.

◆ IsStrictlyIncluded()

bool operations_research::sat::IsStrictlyIncluded ( Bitset64< LiteralIndex >::ConstView in_subset,
int subset_size,
absl::Span< const Literal > superset )
inline

Definition at line 897 of file util.h.

◆ kCoefficientMax()

const Coefficient operations_research::sat::kCoefficientMax ( std::numeric_limits< Coefficient::ValueType > ::max())

◆ kFalseLiteralIndex()

const LiteralIndex operations_research::sat::kFalseLiteralIndex ( - 3)

◆ kMaxIntegerValue()

IntegerValue operations_research::sat::kMaxIntegerValue ( std::numeric_limits< IntegerValue::ValueType >::max() - 1)
constexpr

◆ kMinIntegerValue()

IntegerValue operations_research::sat::kMinIntegerValue ( -kMaxIntegerValue. value())
constexpr

◆ kNoBooleanVariable()

const BooleanVariable operations_research::sat::kNoBooleanVariable ( - 1)

◆ kNoClauseId()

ClauseId operations_research::sat::kNoClauseId ( 0 )
constexpr

◆ kNoClauseIndex()

const ClauseIndex operations_research::sat::kNoClauseIndex ( - 1)

◆ kNoIntegerVariable()

const IntegerVariable operations_research::sat::kNoIntegerVariable ( - 1)

◆ kNoIntervalVariable()

const IntervalVariable operations_research::sat::kNoIntervalVariable ( - 1)

◆ kNoLinearExpression2Index()

const LinearExpression2Index operations_research::sat::kNoLinearExpression2Index ( - 1)

◆ kNoLiteralIndex()

const LiteralIndex operations_research::sat::kNoLiteralIndex ( - 1)

◆ kTrueLiteralIndex()

const LiteralIndex operations_research::sat::kTrueLiteralIndex ( - 2)

◆ LazyMerge()

EncodingNode operations_research::sat::LazyMerge ( EncodingNode * a,
EncodingNode * b,
SatSolver * solver )

Definition at line 281 of file encoding.cc.

◆ LazyMergeAllNodeWithPQAndIncreaseLb()

EncodingNode * operations_research::sat::LazyMergeAllNodeWithPQAndIncreaseLb ( Coefficient weight,
const std::vector< EncodingNode * > & nodes,
SatSolver * solver,
std::deque< EncodingNode > * repository )

Definition at line 463 of file encoding.cc.

◆ Linear2IsPositive()

bool operations_research::sat::Linear2IsPositive ( LinearExpression2Index i)
inline

Definition at line 91 of file precedences.h.

◆ LinearBooleanProblemToCnfString()

std::string operations_research::sat::LinearBooleanProblemToCnfString ( const LinearBooleanProblem & problem)

Definition at line 403 of file boolean_problem.cc.

◆ LinearExpressionGcd()

int64_t operations_research::sat::LinearExpressionGcd ( const LinearExpressionProto & expr,
int64_t gcd )

Definition at line 74 of file cp_model_utils.cc.

◆ LinearExpressionProtosAreEqual()

bool operations_research::sat::LinearExpressionProtosAreEqual ( const LinearExpressionProto & a,
const LinearExpressionProto & b,
int64_t b_scaling )

Definition at line 722 of file cp_model_utils.cc.

◆ LinearInequalityCanBeReducedWithClosestMultiple()

bool operations_research::sat::LinearInequalityCanBeReducedWithClosestMultiple ( int64_t base,
absl::Span< const int64_t > coeffs,
absl::Span< const int64_t > lbs,
absl::Span< const int64_t > ubs,
int64_t rhs,
int64_t * new_rhs )

Definition at line 313 of file util.cc.

◆ LinearizedPartIsLarge()

bool operations_research::sat::LinearizedPartIsLarge ( Model * model)

Definition at line 360 of file integer_search.cc.

◆ LinearsDifferAtOneTerm()

bool operations_research::sat::LinearsDifferAtOneTerm ( const LinearConstraintProto & lin1,
const LinearConstraintProto & lin2 )
inline

Definition at line 359 of file presolve_util.h.

◆ Literals()

std::vector< Literal > operations_research::sat::Literals ( absl::Span< const int > input)
inline

Definition at line 164 of file sat_base.h.

◆ LiteralsToLinear()

void operations_research::sat::LiteralsToLinear ( absl::Span< const int > literals,
int64_t lb,
int64_t ub,
LinearConstraintProto * linear )

Definition at line 685 of file cp_model_utils.cc.

◆ LiteralTableConstraint()

std::function< void(Model *)> operations_research::sat::LiteralTableConstraint ( absl::Span< const std::vector< Literal > > literal_tuples,
absl::Span< const Literal > line_literals )

Definition at line 30 of file table.cc.

◆ LiteralXorIs()

std::function< void(Model *)> operations_research::sat::LiteralXorIs ( absl::Span< const Literal > enforcement_literals,
const std::vector< Literal > & literals,
bool value )
inline

Definition at line 127 of file cp_constraints.h.

◆ LoadAllDiffConstraint()

void operations_research::sat::LoadAllDiffConstraint ( const ConstraintProto & ct,
Model * m )

Definition at line 1487 of file cp_model_loader.cc.

◆ LoadAlwaysFalseConstraint()

void operations_research::sat::LoadAlwaysFalseConstraint ( const ConstraintProto & ct,
Model * m )

Definition at line 1496 of file cp_model_loader.cc.

◆ LoadAndConsumeBooleanProblem()

bool operations_research::sat::LoadAndConsumeBooleanProblem ( LinearBooleanProblem * problem,
SatSolver * solver )

Definition at line 272 of file boolean_problem.cc.

◆ LoadAtMostOneConstraint()

void operations_research::sat::LoadAtMostOneConstraint ( const ConstraintProto & ct,
Model * m )

Definition at line 996 of file cp_model_loader.cc.

◆ LoadBaseModel()

void operations_research::sat::LoadBaseModel ( const CpModelProto & model_proto,
Model * model )

Definition at line 1299 of file cp_model_solver_helpers.cc.

◆ LoadBoolAndConstraint()

void operations_research::sat::LoadBoolAndConstraint ( const ConstraintProto & ct,
Model * m )

Definition at line 982 of file cp_model_loader.cc.

◆ LoadBooleanProblem()

bool operations_research::sat::LoadBooleanProblem ( const LinearBooleanProblem & problem,
SatSolver * solver )

Definition at line 232 of file boolean_problem.cc.

◆ LoadBooleanSymmetries()

void operations_research::sat::LoadBooleanSymmetries ( const CpModelProto & model_proto,
Model * m )

Definition at line 283 of file cp_model_loader.cc.

◆ LoadBoolOrConstraint()

void operations_research::sat::LoadBoolOrConstraint ( const ConstraintProto & ct,
Model * m )

Definition at line 969 of file cp_model_loader.cc.

◆ LoadBoolXorConstraint()

void operations_research::sat::LoadBoolXorConstraint ( const ConstraintProto & ct,
Model * m )

Definition at line 1016 of file cp_model_loader.cc.

◆ LoadCircuitConstraint()

void operations_research::sat::LoadCircuitConstraint ( const ConstraintProto & ct,
Model * m )

Definition at line 1666 of file cp_model_loader.cc.

◆ LoadCircuitCoveringConstraint()

void operations_research::sat::LoadCircuitCoveringConstraint ( const ConstraintProto & ct,
Model * m )

◆ LoadConditionalLinearConstraint()

void operations_research::sat::LoadConditionalLinearConstraint ( const absl::Span< const Literal > enforcement_literals,
const LinearConstraint & cst,
Model * model )
inline

Definition at line 666 of file integer_expr.h.

◆ LoadConstraint()

bool operations_research::sat::LoadConstraint ( const ConstraintProto & ct,
Model * m )

Definition at line 1697 of file cp_model_loader.cc.

◆ LoadCpModel()

void operations_research::sat::LoadCpModel ( const CpModelProto & model_proto,
Model * model )

Definition at line 1465 of file cp_model_solver_helpers.cc.

◆ LoadCumulativeConstraint()

void operations_research::sat::LoadCumulativeConstraint ( const ConstraintProto & ct,
Model * m )

Definition at line 1631 of file cp_model_loader.cc.

◆ LoadDebugSolution()

void operations_research::sat::LoadDebugSolution ( const CpModelProto & model_proto,
Model * model )

Definition at line 108 of file cp_model_solver_helpers.cc.

◆ LoadExactlyOneConstraint()

void operations_research::sat::LoadExactlyOneConstraint ( const ConstraintProto & ct,
Model * m )

Definition at line 1006 of file cp_model_loader.cc.

◆ LoadFeasibilityPump()

void operations_research::sat::LoadFeasibilityPump ( const CpModelProto & model_proto,
Model * model )

Definition at line 1431 of file cp_model_solver_helpers.cc.

◆ LoadIntDivConstraint()

void operations_research::sat::LoadIntDivConstraint ( const ConstraintProto & ct,
Model * m )

Definition at line 1555 of file cp_model_loader.cc.

◆ LoadIntMaxConstraint()

void operations_research::sat::LoadIntMaxConstraint ( const ConstraintProto & ct,
Model * m )

◆ LoadIntMinConstraint()

void operations_research::sat::LoadIntMinConstraint ( const ConstraintProto & ct,
Model * m )

◆ LoadIntModConstraint()

void operations_research::sat::LoadIntModConstraint ( const ConstraintProto & ct,
Model * m )

Definition at line 1578 of file cp_model_loader.cc.

◆ LoadIntProdConstraint()

void operations_research::sat::LoadIntProdConstraint ( const ConstraintProto & ct,
Model * m )

Definition at line 1508 of file cp_model_loader.cc.

◆ LoadLinearConstraint() [1/2]

void operations_research::sat::LoadLinearConstraint ( const ConstraintProto & ct,
Model * m )

Definition at line 1215 of file cp_model_loader.cc.

◆ LoadLinearConstraint() [2/2]

void operations_research::sat::LoadLinearConstraint ( const LinearConstraint & cst,
Model * model )
inline

Definition at line 690 of file integer_expr.h.

◆ LoadLinMaxConstraint()

void operations_research::sat::LoadLinMaxConstraint ( const ConstraintProto & ct,
Model * m )

Definition at line 1593 of file cp_model_loader.cc.

◆ LoadModelForPresolve()

bool operations_research::sat::LoadModelForPresolve ( const CpModelProto & model_proto,
SatParameters params,
PresolveContext * context,
Model * local_model,
absl::string_view name_for_logging )

Definition at line 2619 of file presolve_context.cc.

◆ LoadModelForProbing()

bool operations_research::sat::LoadModelForProbing ( PresolveContext * context,
Model * local_model )

Definition at line 2606 of file presolve_context.cc.

◆ LoadNoOverlap2dConstraint()

void operations_research::sat::LoadNoOverlap2dConstraint ( const ConstraintProto & ct,
Model * m )

Definition at line 1618 of file cp_model_loader.cc.

◆ LoadNoOverlapConstraint()

void operations_research::sat::LoadNoOverlapConstraint ( const ConstraintProto & ct,
Model * m )

Definition at line 1612 of file cp_model_loader.cc.

◆ LoadReservoirConstraint()

void operations_research::sat::LoadReservoirConstraint ( const ConstraintProto & ct,
Model * m )

Definition at line 1643 of file cp_model_loader.cc.

◆ LoadRoutesConstraint()

void operations_research::sat::LoadRoutesConstraint ( const ConstraintProto & ct,
Model * m )

Definition at line 1681 of file cp_model_loader.cc.

◆ LoadSubcircuitConstraint()

void operations_research::sat::LoadSubcircuitConstraint ( int num_nodes,
absl::Span< const int > tails,
absl::Span< const int > heads,
absl::Span< const Literal > enforcement_literals,
absl::Span< const Literal > literals,
Model * model,
bool multiple_subcircuit_through_zero )

Definition at line 720 of file circuit.cc.

◆ LoadVariables()

void operations_research::sat::LoadVariables ( const CpModelProto & model_proto,
bool view_all_booleans_as_integers,
Model * m )

Definition at line 101 of file cp_model_loader.cc.

◆ LookForTrivialSatSolution()

bool operations_research::sat::LookForTrivialSatSolution ( double deterministic_time_limit,
Model * model,
SolverLogger * logger )

Definition at line 1084 of file probing.cc.

◆ LowerBound()

std::function< int64_t(const Model &)> operations_research::sat::LowerBound ( IntegerVariable v)
inline

Definition at line 1819 of file integer.h.

◆ LowerOrEqual()

std::function< void(Model *)> operations_research::sat::LowerOrEqual ( IntegerVariable v,
int64_t ub )
inline

Definition at line 1862 of file integer.h.

◆ LpPseudoCostHeuristic()

std::function< BooleanOrIntegerLiteral()> operations_research::sat::LpPseudoCostHeuristic ( Model * model)

Definition at line 240 of file integer_search.cc.

◆ MakeAllLiteralsPositive()

void operations_research::sat::MakeAllLiteralsPositive ( LinearBooleanProblem * problem)

Definition at line 648 of file boolean_problem.cc.

◆ MakeAllVariablesPositive()

void operations_research::sat::MakeAllVariablesPositive ( LinearConstraint * constraint)

Definition at line 299 of file linear_constraint.cc.

◆ MakeBoundsOfIntegerVariablesInteger()

bool operations_research::sat::MakeBoundsOfIntegerVariablesInteger ( const SatParameters & params,
MPModelProto * mp_model,
SolverLogger * logger )

Definition at line 207 of file lp_utils.cc.

◆ MakeItemsFromRectangles()

std::vector< RectangleInRange > operations_research::sat::MakeItemsFromRectangles ( absl::Span< const Rectangle > rectangles,
double slack_factor,
absl::BitGenRef random )

Definition at line 148 of file 2d_orthogonal_packing_testing.cc.

◆ MaxNodeWeightSmallerThan()

Coefficient operations_research::sat::MaxNodeWeightSmallerThan ( const std::vector< EncodingNode * > & nodes,
Coefficient upper_bound )

Definition at line 576 of file encoding.cc.

◆ MaxSize()

std::function< int64_t(const Model &)> operations_research::sat::MaxSize ( IntervalVariable v)
inline

Definition at line 248 of file intervals.h.

◆ MaybeFillMissingRoutesConstraintNodeExpressions()

std::pair< int, int > operations_research::sat::MaybeFillMissingRoutesConstraintNodeExpressions ( const CpModelProto & input_model,
CpModelProto & output_model )

Definition at line 1949 of file routing_cuts.cc.

◆ MaybeTransferLinear1ToAnotherVariable()

bool operations_research::sat::MaybeTransferLinear1ToAnotherVariable ( VariableEncodingLocalModel & local_model,
PresolveContext * context )

Definition at line 600 of file presolve_encoding.cc.

◆ MergeAllNodesWithDeque()

EncodingNode * operations_research::sat::MergeAllNodesWithDeque ( Coefficient upper_bound,
const std::vector< EncodingNode * > & nodes,
SatSolver * solver,
std::deque< EncodingNode > * repository )

Definition at line 441 of file encoding.cc.

◆ MergePositiveVariableTermsAndCheckForOverflow()

bool operations_research::sat::MergePositiveVariableTermsAndCheckForOverflow ( std::vector< std::pair< IntegerVariable, IntegerValue > > * terms,
LinearConstraint * output )
inline

Definition at line 425 of file linear_constraint.h.

◆ MinimizeCore()

void operations_research::sat::MinimizeCore ( SatSolver * solver,
std::vector< Literal > * core )

Definition at line 3140 of file sat_solver.cc.

◆ MinimizeCoreWithPropagation()

void operations_research::sat::MinimizeCoreWithPropagation ( TimeLimit * limit,
SatSolver * solver,
std::vector< Literal > * core )

Definition at line 58 of file optimization.cc.

◆ MinimizeCoreWithSearch()

void operations_research::sat::MinimizeCoreWithSearch ( TimeLimit * limit,
SatSolver * solver,
std::vector< Literal > * core )

Definition at line 112 of file optimization.cc.

◆ MinimizeIntegerVariableWithLinearScanAndLazyEncoding()

SatSolver::Status operations_research::sat::MinimizeIntegerVariableWithLinearScanAndLazyEncoding ( IntegerVariable objective_var,
const std::function< void()> & feasible_solution_observer,
Model * model )

Definition at line 212 of file optimization.cc.

◆ MinimizeL1DistanceWithHint()

void operations_research::sat::MinimizeL1DistanceWithHint ( const CpModelProto & model_proto,
Model * model )

Definition at line 1972 of file cp_model_solver_helpers.cc.

◆ MinSize()

std::function< int64_t(const Model &)> operations_research::sat::MinSize ( IntervalVariable v)
inline

Definition at line 242 of file intervals.h.

◆ ModularInverse()

int64_t operations_research::sat::ModularInverse ( int64_t x,
int64_t m )

Definition at line 133 of file util.cc.

◆ MostFractionalHeuristic()

std::function< BooleanOrIntegerLiteral()> operations_research::sat::MostFractionalHeuristic ( Model * model)

Definition at line 187 of file integer_search.cc.

◆ MoveOneUnprocessedLiteralLast()

int operations_research::sat::MoveOneUnprocessedLiteralLast ( const absl::btree_set< LiteralIndex > & processed,
int relevant_prefix_size,
std::vector< Literal > * literals )

Definition at line 377 of file util.cc.

◆ MPModelProtoValidationBeforeConversion()

bool operations_research::sat::MPModelProtoValidationBeforeConversion ( const SatParameters & params,
const MPModelProto & mp_model,
SolverLogger * logger )

Definition at line 421 of file lp_utils.cc.

◆ NegatedRef()

int operations_research::sat::NegatedRef ( int ref)
inline

Definition at line 53 of file cp_model_utils.h.

◆ NegationOf() [1/4]

std::vector< IntegerVariable > operations_research::sat::NegationOf ( absl::Span< const IntegerVariable > vars)

Definition at line 52 of file integer.cc.

◆ NegationOf() [2/4]

LinearExpression operations_research::sat::NegationOf ( const LinearExpression & expr)

Definition at line 421 of file linear_constraint.cc.

◆ NegationOf() [3/4]

IntegerVariable operations_research::sat::NegationOf ( IntegerVariable i)
inline

Definition at line 175 of file integer_base.h.

◆ NegationOf() [4/4]

LinearExpression2Index operations_research::sat::NegationOf ( LinearExpression2Index i)
inline

Definition at line 87 of file precedences.h.

◆ NewBestBoundCallback()

std::function< void(Model *)> operations_research::sat::NewBestBoundCallback ( const std::function< void(double)> & callback)

Creates a callbacks that will be called on each new best objective bound found. It is guaranteed that the best bound is strictly improving.

Note that this function is called before the update takes place.

Definition at line 2265 of file cp_model_solver.cc.

◆ NewBooleanVariable()

std::function< BooleanVariable(Model *)> operations_research::sat::NewBooleanVariable ( )
inline

Definition at line 1757 of file integer.h.

◆ NewFeasibleSolutionLogCallback()

std::function< void(Model *)> operations_research::sat::NewFeasibleSolutionLogCallback ( const std::function< std::string(const CpSolverResponse &response)> & callback)

Creates a callbacks that will append a string to the search log when reporting a new solution.

The given function will be called on each improving feasible solution found during the search. For a non-optimization problem, if the option to find all solution was set, then this will be called on each new solution.

Definition at line 2257 of file cp_model_solver.cc.

◆ NewFeasibleSolutionObserver()

std::function< void(Model *)> operations_research::sat::NewFeasibleSolutionObserver ( const std::function< void(const CpSolverResponse &response)> & callback)

Creates a solution observer with the model with model.Add(NewFeasibleSolutionObserver([](response){...}));

The given function will be called on each improving feasible solution found during the search. For a non-optimization problem, if the option to find all solution was set, then this will be called on each new solution.

WARNING: Except when enumerate_all_solution() is true, one shouldn't rely on this to get a set of "diverse" solutions since any future change to the solver might completely kill any diversity in the set of solutions observed.

Valid usage of this includes implementing features like:

  • Enumerating all solution via enumerate_all_solution(). If only n solutions are needed, this can also be used to abort when this number is reached.
  • Aborting early if a good enough solution is found.
  • Displaying log progress.
  • etc...

Definition at line 2250 of file cp_model_solver.cc.

◆ NewIntegerVariable() [1/2]

std::function< IntegerVariable(Model *)> operations_research::sat::NewIntegerVariable ( const Domain & domain)
inline

Definition at line 1780 of file integer.h.

◆ NewIntegerVariable() [2/2]

std::function< IntegerVariable(Model *)> operations_research::sat::NewIntegerVariable ( int64_t lb,
int64_t ub )
inline

Definition at line 1771 of file integer.h.

◆ NewIntegerVariableFromLiteral()

std::function< IntegerVariable(Model *)> operations_research::sat::NewIntegerVariableFromLiteral ( Literal lit)
inline

Definition at line 1812 of file integer.h.

◆ NewInterval() [1/2]

std::function< IntervalVariable(Model *)> operations_research::sat::NewInterval ( int64_t min_start,
int64_t max_end,
int64_t size )
inline

Definition at line 267 of file intervals.h.

◆ NewInterval() [2/2]

std::function< IntervalVariable(Model *)> operations_research::sat::NewInterval ( IntegerVariable start,
IntegerVariable end,
IntegerVariable size )
inline

Definition at line 282 of file intervals.h.

◆ NewIntervalWithVariableSize()

std::function< IntervalVariable(Model *)> operations_research::sat::NewIntervalWithVariableSize ( int64_t min_start,
int64_t max_end,
int64_t min_size,
int64_t max_size )
inline

Definition at line 290 of file intervals.h.

◆ NewOptionalInterval() [1/2]

std::function< IntervalVariable(Model *)> operations_research::sat::NewOptionalInterval ( int64_t min_start,
int64_t max_end,
int64_t size,
Literal is_present )
inline

Definition at line 302 of file intervals.h.

◆ NewOptionalInterval() [2/2]

std::function< IntervalVariable(Model *)> operations_research::sat::NewOptionalInterval ( IntegerVariable start,
IntegerVariable end,
IntegerVariable size,
Literal is_present )
inline

Definition at line 323 of file intervals.h.

◆ NewOptionalIntervalWithVariableSize()

std::function< IntervalVariable(Model *)> operations_research::sat::NewOptionalIntervalWithVariableSize ( int64_t min_start,
int64_t max_end,
int64_t min_size,
int64_t max_size,
Literal is_present )
inline

Definition at line 333 of file intervals.h.

◆ NewSatParameters() [1/3]

std::function< SatParameters(Model *)> operations_research::sat::NewSatParameters ( absl::string_view params)

Creates parameters for the solver, which you can add to the model with

model->Add(NewSatParameters(parameters_as_string_or_proto))
std::function< SatParameters(Model *)> NewSatParameters(absl::string_view params)

before calling SolveCpModel().

Definition at line 2285 of file cp_model_solver.cc.

◆ NewSatParameters() [2/3]

std::function< SatParameters(Model *)> operations_research::sat::NewSatParameters ( absl::string_view params)

Creates parameters for the solver, which you can add to the model with

model->Add(NewSatParameters(parameters_as_string_or_proto))

before calling SolveCpModel().

Definition at line 2285 of file cp_model_solver.cc.

◆ NewSatParameters() [3/3]

std::function< SatParameters(Model *)> operations_research::sat::NewSatParameters ( const sat::SatParameters & parameters)

Definition at line 2294 of file cp_model_solver.cc.

◆ NewWeightedSum()

template<typename VectorInt>
std::function< IntegerVariable(Model *)> operations_research::sat::NewWeightedSum ( const VectorInt & coefficients,
const std::vector< IntegerVariable > & vars )
inline

Definition at line 711 of file integer_expr.h.

◆ NoDuplicateVariable()

bool operations_research::sat::NoDuplicateVariable ( const LinearConstraint & ct)

Definition at line 365 of file linear_constraint.cc.

◆ NonDeterministicLoop()

void operations_research::sat::NonDeterministicLoop ( std::vector< std::unique_ptr< SubSolver > > & subsolvers,
const int num_threads,
ModelSharedTimeLimit * time_limit )

Definition at line 195 of file subsolver.cc.

◆ NoOverlapMinRepairDistance()

int64_t operations_research::sat::NoOverlapMinRepairDistance ( const ConstraintProto & interval1,
const ConstraintProto & interval2,
absl::Span< const int64_t > solution )

Definition at line 1197 of file constraint_violation.cc.

◆ Not()

BoolVar operations_research::sat::Not ( BoolVar x)

A convenient wrapper so we can write Not(x) instead of x.Not() which is sometimes clearer.

Definition at line 87 of file cp_model.cc.

◆ OpenSourceEraseIf()

template<class Container, class Pred>
void operations_research::sat::OpenSourceEraseIf ( Container & c,
Pred pred )

Definition at line 55 of file util.h.

◆ operator*() [1/4]

DoubleLinearExpr operations_research::sat::operator* ( double factor,
DoubleLinearExpr expr )
inline

Definition at line 1366 of file cp_model.h.

◆ operator*() [2/4]

DoubleLinearExpr operations_research::sat::operator* ( DoubleLinearExpr expr,
double factor )
inline

Definition at line 1361 of file cp_model.h.

◆ operator*() [3/4]

LinearExpr operations_research::sat::operator* ( int64_t factor,
LinearExpr expr )
inline

Definition at line 1280 of file cp_model.h.

◆ operator*() [4/4]

LinearExpr operations_research::sat::operator* ( LinearExpr expr,
int64_t factor )
inline

Definition at line 1276 of file cp_model.h.

◆ operator+() [1/10]

DoubleLinearExpr operations_research::sat::operator+ ( const DoubleLinearExpr & lhs,
const DoubleLinearExpr & rhs )
inline

Definition at line 1292 of file cp_model.h.

◆ operator+() [2/10]

DoubleLinearExpr operations_research::sat::operator+ ( const DoubleLinearExpr & lhs,
DoubleLinearExpr && rhs )
inline

Definition at line 1303 of file cp_model.h.

◆ operator+() [3/10]

LinearExpr operations_research::sat::operator+ ( const LinearExpr & lhs,
const LinearExpr & rhs )
inline

Definition at line 1234 of file cp_model.h.

◆ operator+() [4/10]

LinearExpr operations_research::sat::operator+ ( const LinearExpr & lhs,
LinearExpr && rhs )
inline

Definition at line 1243 of file cp_model.h.

◆ operator+() [5/10]

DoubleLinearExpr operations_research::sat::operator+ ( double lhs,
DoubleLinearExpr expr )
inline

Definition at line 1323 of file cp_model.h.

◆ operator+() [6/10]

DoubleLinearExpr operations_research::sat::operator+ ( DoubleLinearExpr && lhs,
const DoubleLinearExpr & rhs )
inline

Definition at line 1298 of file cp_model.h.

◆ operator+() [7/10]

DoubleLinearExpr operations_research::sat::operator+ ( DoubleLinearExpr && lhs,
DoubleLinearExpr && rhs )
inline

Definition at line 1308 of file cp_model.h.

◆ operator+() [8/10]

DoubleLinearExpr operations_research::sat::operator+ ( DoubleLinearExpr expr,
double rhs )
inline

Definition at line 1319 of file cp_model.h.

◆ operator+() [9/10]

LinearExpr operations_research::sat::operator+ ( LinearExpr && lhs,
const LinearExpr & rhs )
inline

Definition at line 1239 of file cp_model.h.

◆ operator+() [10/10]

LinearExpr operations_research::sat::operator+ ( LinearExpr && lhs,
LinearExpr && rhs )
inline

Definition at line 1247 of file cp_model.h.

◆ operator-() [1/12]

DoubleLinearExpr operations_research::sat::operator- ( const DoubleLinearExpr & lhs,
const DoubleLinearExpr & rhs )
inline

Definition at line 1328 of file cp_model.h.

◆ operator-() [2/12]

DoubleLinearExpr operations_research::sat::operator- ( const DoubleLinearExpr & lhs,
DoubleLinearExpr && rhs )
inline

Definition at line 1339 of file cp_model.h.

◆ operator-() [3/12]

LinearExpr operations_research::sat::operator- ( const LinearExpr & lhs,
const LinearExpr & rhs )
inline

Definition at line 1257 of file cp_model.h.

◆ operator-() [4/12]

LinearExpr operations_research::sat::operator- ( const LinearExpr & lhs,
LinearExpr && rhs )
inline

Definition at line 1266 of file cp_model.h.

◆ operator-() [5/12]

DoubleLinearExpr operations_research::sat::operator- ( double lhs,
DoubleLinearExpr expr )
inline

Definition at line 1355 of file cp_model.h.

◆ operator-() [6/12]

DoubleLinearExpr operations_research::sat::operator- ( DoubleLinearExpr && lhs,
const DoubleLinearExpr & rhs )
inline

Definition at line 1334 of file cp_model.h.

◆ operator-() [7/12]

DoubleLinearExpr operations_research::sat::operator- ( DoubleLinearExpr && lhs,
DoubleLinearExpr && rhs )
inline

Definition at line 1345 of file cp_model.h.

◆ operator-() [8/12]

DoubleLinearExpr operations_research::sat::operator- ( DoubleLinearExpr epxr,
double rhs )
inline

Definition at line 1351 of file cp_model.h.

◆ operator-() [9/12]

DoubleLinearExpr operations_research::sat::operator- ( DoubleLinearExpr expr)
inline

Definition at line 1287 of file cp_model.h.

◆ operator-() [10/12]

LinearExpr operations_research::sat::operator- ( LinearExpr && lhs,
const LinearExpr & rhs )
inline

Definition at line 1262 of file cp_model.h.

◆ operator-() [11/12]

LinearExpr operations_research::sat::operator- ( LinearExpr && lhs,
LinearExpr && rhs )
inline

Definition at line 1271 of file cp_model.h.

◆ operator-() [12/12]

LinearExpr operations_research::sat::operator- ( LinearExpr expr)
inline

Definition at line 1232 of file cp_model.h.

◆ operator<<() [1/16]

std::ostream & operations_research::sat::operator<< ( std::ostream & os,
absl::Span< const IntegerLiteral > literals )
inline

Definition at line 259 of file integer_base.h.

◆ operator<<() [2/16]

std::ostream & operations_research::sat::operator<< ( std::ostream & os,
absl::Span< const Literal > literals )
inline

Definition at line 129 of file sat_base.h.

◆ operator<<() [3/16]

std::ostream & operations_research::sat::operator<< ( std::ostream & os,
absl::Span< const LiteralIndex > literals )
inline

Definition at line 145 of file sat_base.h.

◆ operator<<() [4/16]

std::ostream & operations_research::sat::operator<< ( std::ostream & os,
const BoolVar & var )

Definition at line 89 of file cp_model.cc.

◆ operator<<() [5/16]

std::ostream & operations_research::sat::operator<< ( std::ostream & os,
const DoubleLinearExpr & e )

Definition at line 489 of file cp_model.cc.

◆ operator<<() [6/16]

std::ostream & operations_research::sat::operator<< ( std::ostream & os,
const EnforcementStatus & e )

Definition at line 32 of file enforcement.cc.

◆ operator<<() [7/16]

std::ostream & operations_research::sat::operator<< ( std::ostream & os,
const IntervalVar & var )

Definition at line 645 of file cp_model.cc.

◆ operator<<() [8/16]

std::ostream & operations_research::sat::operator<< ( std::ostream & os,
const IntVar & var )

Definition at line 171 of file cp_model.cc.

◆ operator<<() [9/16]

std::ostream & operations_research::sat::operator<< ( std::ostream & os,
const LinearConstraint & ct )
inline

Definition at line 147 of file linear_constraint.h.

◆ operator<<() [10/16]

std::ostream & operations_research::sat::operator<< ( std::ostream & os,
const LinearExpr & e )

Definition at line 318 of file cp_model.cc.

◆ operator<<() [11/16]

std::ostream & operations_research::sat::operator<< ( std::ostream & os,
const ValueLiteralPair & p )

Definition at line 66 of file integer.cc.

◆ operator<<() [12/16]

std::ostream & operations_research::sat::operator<< ( std::ostream & os,
IntegerLiteral i_lit )
inline

Definition at line 254 of file integer_base.h.

◆ operator<<() [13/16]

std::ostream & operations_research::sat::operator<< ( std::ostream & os,
Literal literal )
inline

Definition at line 119 of file sat_base.h.

◆ operator<<() [14/16]

std::ostream & operations_research::sat::operator<< ( std::ostream & os,
LiteralWithCoeff term )
inline

Definition at line 70 of file pb_constraint.h.

◆ operator<<() [15/16]

std::ostream & operations_research::sat::operator<< ( std::ostream & os,
SatSolver::Status status )
inline

Definition at line 1120 of file sat_solver.h.

◆ operator<<() [16/16]

std::ostream & operations_research::sat::operator<< ( std::ostream & os,
SpecialBinPackingHelper::ItemOrBin o )
inline

Definition at line 357 of file routing_cuts.h.

◆ operator==() [1/2]

bool operations_research::sat::operator== ( const BoolArgumentProto & lhs,
const BoolArgumentProto & rhs )
inline

Definition at line 383 of file cp_model_utils.h.

◆ operator==() [2/2]

bool operations_research::sat::operator== ( const LinearConstraintProto & lhs,
const LinearConstraintProto & rhs )
inline

Definition at line 404 of file cp_model_utils.h.

◆ OverlapOfTwoIntervals()

int64_t operations_research::sat::OverlapOfTwoIntervals ( const ConstraintProto & interval1,
const ConstraintProto & interval2,
absl::Span< const int64_t > solution )

Definition at line 1172 of file constraint_violation.cc.

◆ PartialIsOneOfVar()

std::function< void(Model *)> operations_research::sat::PartialIsOneOfVar ( IntegerVariable target_var,
absl::Span< const IntegerVariable > vars,
absl::Span< const Literal > selectors )
inline

Definition at line 165 of file cp_constraints.h.

◆ PavedRegionDifference()

std::vector< Rectangle > operations_research::sat::PavedRegionDifference ( std::vector< Rectangle > original_region,
absl::Span< const Rectangle > area_to_remove )

Definition at line 1612 of file diffn_util.cc.

◆ PositiveLinear2()

LinearExpression2Index operations_research::sat::PositiveLinear2 ( LinearExpression2Index i)
inline

Definition at line 95 of file precedences.h.

◆ PositiveMod()

int64_t operations_research::sat::PositiveMod ( int64_t x,
int64_t m )

Definition at line 166 of file util.cc.

◆ PositiveRef()

int operations_research::sat::PositiveRef ( int ref)
inline

Definition at line 54 of file cp_model_utils.h.

◆ PositiveRemainder()

IntegerValue operations_research::sat::PositiveRemainder ( IntegerValue dividend,
IntegerValue positive_divisor )
inline

Definition at line 138 of file integer_base.h.

◆ PositiveVarExpr()

LinearExpression operations_research::sat::PositiveVarExpr ( const LinearExpression & expr)

Definition at line 429 of file linear_constraint.cc.

◆ PositiveVariable()

IntegerVariable operations_research::sat::PositiveVariable ( IntegerVariable i)
inline

Definition at line 183 of file integer_base.h.

◆ PossibleIntegerOverflow()

bool operations_research::sat::PossibleIntegerOverflow ( const CpModelProto & model,
absl::Span< const int > vars,
absl::Span< const int64_t > coeffs,
int64_t offset,
std::pair< int64_t, int64_t > * implied_domain )

Definition at line 1063 of file cp_model_checker.cc.

◆ PossibleOverflow()

bool operations_research::sat::PossibleOverflow ( const IntegerTrail & integer_trail,
const LinearConstraint & constraint )

Definition at line 467 of file linear_constraint.cc.

◆ PostsolveClause()

void operations_research::sat::PostsolveClause ( const ConstraintProto & ct,
std::vector< Domain > * domains )

Definition at line 40 of file cp_model_postsolve.cc.

◆ PostsolveElement()

void operations_research::sat::PostsolveElement ( const ConstraintProto & ct,
std::vector< Domain > * domains )

Definition at line 291 of file cp_model_postsolve.cc.

◆ PostsolveExactlyOne()

void operations_research::sat::PostsolveExactlyOne ( const ConstraintProto & ct,
std::vector< Domain > * domains )

Definition at line 67 of file cp_model_postsolve.cc.

◆ PostsolveIntMod()

void operations_research::sat::PostsolveIntMod ( const ConstraintProto & ct,
std::vector< Domain > * domains )

Definition at line 334 of file cp_model_postsolve.cc.

◆ PostsolveIntProd()

void operations_research::sat::PostsolveIntProd ( const ConstraintProto & ct,
std::vector< Domain > * domains )

Definition at line 350 of file cp_model_postsolve.cc.

◆ PostsolveLinear()

void operations_research::sat::PostsolveLinear ( const ConstraintProto & ct,
std::vector< Domain > * domains )

Definition at line 121 of file cp_model_postsolve.cc.

◆ PostsolveLinMax()

void operations_research::sat::PostsolveLinMax ( const ConstraintProto & ct,
std::vector< Domain > * domains )

Definition at line 271 of file cp_model_postsolve.cc.

◆ PostsolveResponse()

void operations_research::sat::PostsolveResponse ( const int64_t num_variables_in_original_model,
const CpModelProto & mapping_proto,
absl::Span< const int > postsolve_mapping,
std::vector< int64_t > * solution )

Definition at line 390 of file cp_model_postsolve.cc.

◆ PostsolveResponseWithFullSolver()

void operations_research::sat::PostsolveResponseWithFullSolver ( int num_variables_in_original_model,
CpModelProto mapping_proto,
absl::Span< const int > postsolve_mapping,
std::vector< int64_t > * solution )

Definition at line 2091 of file cp_model_solver_helpers.cc.

◆ PostsolveResponseWrapper()

void operations_research::sat::PostsolveResponseWrapper ( const SatParameters & params,
int num_variable_in_original_model,
const CpModelProto & mapping_proto,
absl::Span< const int > postsolve_mapping,
std::vector< int64_t > * solution )

Definition at line 2135 of file cp_model_solver_helpers.cc.

◆ Preprocess()

bool operations_research::sat::Preprocess ( absl::Span< PermutableItem > & items,
std::pair< IntegerValue, IntegerValue > & bounding_box_size,
int max_complexity )

Definition at line 546 of file 2d_packing_brute_force.cc.

◆ PresolveBooleanLinearExpression()

void operations_research::sat::PresolveBooleanLinearExpression ( std::vector< Literal > * literals,
std::vector< Coefficient > * coefficients,
Coefficient * offset )

Definition at line 867 of file optimization.cc.

◆ PresolveCpModel()

CpSolverStatus operations_research::sat::PresolveCpModel ( PresolveContext * context,
std::vector< int > * postsolve_mapping )

Definition at line 13673 of file cp_model_presolve.cc.

◆ PresolveFixed2dRectangles()

bool operations_research::sat::PresolveFixed2dRectangles ( absl::Span< const RectangleInRange > non_fixed_boxes,
std::vector< Rectangle > * fixed_boxes )

Definition at line 166 of file 2d_rectangle_presolve.cc.

◆ PrintClauses()

bool operations_research::sat::PrintClauses ( const std::string & file_path,
SatFormat format,
absl::Span< const std::vector< Literal > > clauses,
int num_variables )

Definition at line 613 of file drat_checker.cc.

◆ ProbeAndFindEquivalentLiteral()

void operations_research::sat::ProbeAndFindEquivalentLiteral ( SatSolver * solver,
SatPostsolver * postsolver,
util_intops::StrongVector< LiteralIndex, LiteralIndex > * mapping,
SolverLogger * logger )

Definition at line 1166 of file simplification.cc.

◆ ProbeAndSimplifyProblem()

void operations_research::sat::ProbeAndSimplifyProblem ( SatPostsolver * postsolver,
LinearBooleanProblem * problem )

Definition at line 837 of file boolean_problem.cc.

◆ ProbeLiteral()

bool operations_research::sat::ProbeLiteral ( Literal assumption,
SatSolver * solver )

Definition at line 169 of file optimization.cc.

◆ ProcessEncodingConstraints()

bool operations_research::sat::ProcessEncodingConstraints ( int var,
PresolveContext * context,
ValueEncoding & values,
OrderEncoding & order,
std::vector< std::vector< EncodingLinear1 > > & linear_ones_by_type,
std::vector< int > & constraint_indices,
bool & var_in_objective,
bool & var_has_positive_objective_coefficient )

Definition at line 424 of file variable_expand.cc.

◆ ProcessFloatingPointOVariablesAndObjective()

void operations_research::sat::ProcessFloatingPointOVariablesAndObjective ( fz::Model * fz_model)

Definition at line 3657 of file cp_model_fz_solver.cc.

◆ ProdOverflow()

bool operations_research::sat::ProdOverflow ( IntegerValue t,
IntegerValue value )
inline

Definition at line 124 of file integer_base.h.

◆ ProductConstraint()

std::function< void(Model *)> operations_research::sat::ProductConstraint ( absl::Span< const Literal > enforcement_literals,
AffineExpression a,
AffineExpression b,
AffineExpression p )
inline

Definition at line 795 of file integer_expr.h.

◆ ProductWithModularInverse()

int64_t operations_research::sat::ProductWithModularInverse ( int64_t coeff,
int64_t mod,
int64_t rhs )

Definition at line 171 of file util.cc.

◆ PropagateAutomaton()

void operations_research::sat::PropagateAutomaton ( const AutomatonConstraintProto & proto,
const PresolveContext & context,
std::vector< absl::flat_hash_set< int64_t > > * states,
std::vector< absl::flat_hash_set< int64_t > > * labels )

Definition at line 334 of file cp_model_table.cc.

◆ PropagateEncodingFromEquivalenceRelations()

void operations_research::sat::PropagateEncodingFromEquivalenceRelations ( const CpModelProto & model_proto,
Model * m )

Definition at line 781 of file cp_model_loader.cc.

◆ PropagateLocalBounds()

bool operations_research::sat::PropagateLocalBounds ( const IntegerTrail & integer_trail,
const RootLevelLinear2Bounds & root_level_bounds,
const ConditionalLinear2Bounds & repository,
const ImpliedBounds & implied_bounds,
Literal lit,
const absl::flat_hash_map< IntegerVariable, IntegerValue > & input,
absl::flat_hash_map< IntegerVariable, IntegerValue > * output )

Definition at line 869 of file precedences.cc.

◆ PseudoCost()

std::function< BooleanOrIntegerLiteral()> operations_research::sat::PseudoCost ( Model * model)

Definition at line 461 of file integer_search.cc.

◆ PushAndMaybeCombineSolution()

PushedSolutionPointers operations_research::sat::PushAndMaybeCombineSolution ( SharedResponseManager * response_manager,
const CpModelProto & model_proto,
absl::Span< const int64_t > new_solution,
absl::string_view solution_info,
std::shared_ptr< const SharedSolutionRepository< int64_t >::Solution > base_solution )

Definition at line 82 of file combine_solutions.cc.

◆ QuickSolveWithHint()

void operations_research::sat::QuickSolveWithHint ( const CpModelProto & model_proto,
Model * model )

Definition at line 1872 of file cp_model_solver_helpers.cc.

◆ Random3SatProblem()

CpModelProto operations_research::sat::Random3SatProblem ( int num_variables,
double proportion_of_constraints )

Definition at line 28 of file cp_model_test_utils.cc.

◆ RandomizeDecisionHeuristic()

void operations_research::sat::RandomizeDecisionHeuristic ( absl::BitGenRef random,
SatParameters * parameters )

Definition at line 90 of file util.cc.

◆ RandomizeOnRestartHeuristic()

std::function< BooleanOrIntegerLiteral()> operations_research::sat::RandomizeOnRestartHeuristic ( bool lns_mode,
Model * model )

Definition at line 974 of file integer_search.cc.

◆ RandomLinearProblem()

CpModelProto operations_research::sat::RandomLinearProblem ( int num_variables,
int num_constraints )

Definition at line 57 of file cp_model_test_utils.cc.

◆ ReadDomainFromProto()

template<typename ProtoWithDomain>
Domain operations_research::sat::ReadDomainFromProto ( const ProtoWithDomain & proto)

Definition at line 169 of file cp_model_utils.h.

◆ RecordLPRelaxationValues()

void operations_research::sat::RecordLPRelaxationValues ( Model * model)

Definition at line 40 of file rins.cc.

◆ ReduceModuloBasis()

void operations_research::sat::ReduceModuloBasis ( absl::Span< const std::vector< absl::int128 > > basis,
const int elements_to_consider,
std::vector< absl::int128 > & v )

Definition at line 46 of file diophantine.cc.

◆ ReduceNodes()

void operations_research::sat::ReduceNodes ( Coefficient upper_bound,
Coefficient * lower_bound,
std::vector< EncodingNode * > * nodes,
SatSolver * solver )

Definition at line 503 of file encoding.cc.

◆ ReduceNumberOfBoxesExactMandatory()

bool operations_research::sat::ReduceNumberOfBoxesExactMandatory ( std::vector< Rectangle > * mandatory_rectangles,
std::vector< Rectangle > * optional_rectangles )

Definition at line 1424 of file 2d_rectangle_presolve.cc.

◆ ReduceNumberofBoxesGreedy()

bool operations_research::sat::ReduceNumberofBoxesGreedy ( std::vector< Rectangle > * mandatory_rectangles,
std::vector< Rectangle > * optional_rectangles )

Definition at line 345 of file 2d_rectangle_presolve.cc.

◆ RefIsPositive()

bool operations_research::sat::RefIsPositive ( int ref)
inline

Definition at line 55 of file cp_model_utils.h.

◆ RegionIncludesOther()

bool operations_research::sat::RegionIncludesOther ( absl::Span< const Rectangle > region,
absl::Span< const Rectangle > other )
inline

Definition at line 701 of file diffn_util.h.

◆ RegisterClausesExport()

void operations_research::sat::RegisterClausesExport ( int id,
SharedClausesManager * shared_clauses_manager,
Model * model )

Definition at line 1060 of file cp_model_solver_helpers.cc.

◆ RegisterClausesLevelZeroImport()

int operations_research::sat::RegisterClausesLevelZeroImport ( int id,
SharedClausesManager * shared_clauses_manager,
Model * model )

Definition at line 1120 of file cp_model_solver_helpers.cc.

◆ RegisterLinear2BoundsImport()

void operations_research::sat::RegisterLinear2BoundsImport ( SharedLinear2Bounds * shared_linear2_bounds,
Model * model )

Definition at line 910 of file cp_model_solver_helpers.cc.

◆ RegisterObjectiveBestBoundExport()

void operations_research::sat::RegisterObjectiveBestBoundExport ( IntegerVariable objective_var,
SharedResponseManager * shared_response_manager,
Model * model )

Definition at line 966 of file cp_model_solver_helpers.cc.

◆ RegisterObjectiveBoundsImport()

void operations_research::sat::RegisterObjectiveBoundsImport ( SharedResponseManager * shared_response_manager,
Model * model )

Definition at line 995 of file cp_model_solver_helpers.cc.

◆ RegisterVariableBoundsLevelZeroExport()

void operations_research::sat::RegisterVariableBoundsLevelZeroExport ( const CpModelProto & ,
SharedBoundsManager * shared_bounds_manager,
Model * model )

Definition at line 715 of file cp_model_solver_helpers.cc.

◆ RegisterVariableBoundsLevelZeroImport()

void operations_research::sat::RegisterVariableBoundsLevelZeroImport ( const CpModelProto & model_proto,
SharedBoundsManager * shared_bounds_manager,
Model * model )

Definition at line 816 of file cp_model_solver_helpers.cc.

◆ ReifiedBoolAnd()

std::function< void(Model *)> operations_research::sat::ReifiedBoolAnd ( absl::Span< const Literal > literals,
Literal r )
inline

Definition at line 1052 of file sat_solver.h.

◆ ReifiedBoolLe()

std::function< void(Model *)> operations_research::sat::ReifiedBoolLe ( Literal a,
Literal b,
Literal r )
inline

Definition at line 1069 of file sat_solver.h.

◆ ReifiedBoolOr()

std::function< void(Model *)> operations_research::sat::ReifiedBoolOr ( absl::Span< const Literal > literals,
Literal r )
inline

Definition at line 1017 of file sat_solver.h.

◆ ReindexArcs()

template<class IntContainer>
int operations_research::sat::ReindexArcs ( IntContainer * tails,
IntContainer * heads,
absl::flat_hash_map< int, int > * mapping_output = nullptr )

Definition at line 220 of file circuit.h.

◆ RemapGraph()

template<class Graph>
std::unique_ptr< Graph > util::RemapGraph ( const Graph & graph,
absl::Span< const int > new_node_index )

Definition at line 286 of file util.h.

◆ RemoveFixedInput()

int operations_research::sat::RemoveFixedInput ( int i,
bool at_true,
absl::Span< LiteralIndex > inputs,
int & int_function_values )
inline

Definition at line 101 of file gate_utils.h.

◆ RemoveNearZeroTerms()

void operations_research::sat::RemoveNearZeroTerms ( const SatParameters & params,
MPModelProto * mp_model,
SolverLogger * logger )

Definition at line 311 of file lp_utils.cc.

◆ RemoveVariablesFromInterval()

void operations_research::sat::RemoveVariablesFromInterval ( const CpModelProto & model_proto,
int index,
Bitset64< int > & output )
inline

Definition at line 121 of file cp_model_utils.h.

◆ RenderDot()

std::string operations_research::sat::RenderDot ( std::optional< Rectangle > bb,
absl::Span< const Rectangle > solution,
std::string_view extra_dot_payload )

Definition at line 1574 of file diffn_util.cc.

◆ RepeatParameters()

std::vector< SatParameters > operations_research::sat::RepeatParameters ( absl::Span< const SatParameters > base_params,
int num_params_to_generate )

Definition at line 1105 of file cp_model_search.cc.

◆ ReportEnergyConflict()

bool operations_research::sat::ReportEnergyConflict ( Rectangle bounding_box,
absl::Span< const int > boxes,
SchedulingConstraintHelper * x,
SchedulingConstraintHelper * y )

Definition at line 140 of file diffn_util.cc.

◆ ResetAndSolveIntegerProblem()

SatSolver::Status operations_research::sat::ResetAndSolveIntegerProblem ( const std::vector< Literal > & assumptions,
Model * model )

Definition at line 1649 of file integer_search.cc.

◆ Resolve()

bool operations_research::sat::Resolve ( absl::Span< const Literal > clause,
absl::Span< const Literal > other_clause,
Literal complementary_literal,
VariablesAssignment * assignment,
std::vector< Literal > * resolvent )

Definition at line 485 of file drat_checker.cc.

◆ RestartEveryKFailures()

std::function< bool()> operations_research::sat::RestartEveryKFailures ( int k,
SatSolver * solver )

Definition at line 1187 of file integer_search.cc.

◆ RestrictObjectiveDomainWithBinarySearch()

void operations_research::sat::RestrictObjectiveDomainWithBinarySearch ( IntegerVariable objective_var,
const std::function< void()> & feasible_solution_observer,
Model * model )

Definition at line 259 of file optimization.cc.

◆ SafeAddLinearExpressionToLinearConstraint()

bool operations_research::sat::SafeAddLinearExpressionToLinearConstraint ( const LinearExpressionProto & expr,
int64_t coefficient,
LinearConstraintProto * linear )

Definition at line 703 of file cp_model_utils.cc.

◆ SafeDoubleToInt64()

int64_t operations_research::sat::SafeDoubleToInt64 ( double value)
inline

Definition at line 917 of file util.h.

◆ SatParameters_BinaryMinizationAlgorithm_descriptor()

OR_PROTO_DLLconst::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL operations_research::sat::SatParameters_BinaryMinizationAlgorithm_descriptor ( )

Definition at line 1409 of file sat_parameters.pb.cc.

◆ SatParameters_BinaryMinizationAlgorithm_IsValid()

bool operations_research::sat::SatParameters_BinaryMinizationAlgorithm_IsValid ( int value)
inline

Definition at line 236 of file sat_parameters.pb.h.

◆ SatParameters_BinaryMinizationAlgorithm_Name() [1/2]

template<>
const ::std::string & operations_research::sat::SatParameters_BinaryMinizationAlgorithm_Name ( SatParameters_BinaryMinizationAlgorithm value)
inline

Definition at line 249 of file sat_parameters.pb.h.

◆ SatParameters_BinaryMinizationAlgorithm_Name() [2/2]

template<typename T>
const ::std::string & operations_research::sat::SatParameters_BinaryMinizationAlgorithm_Name ( T value)

Definition at line 242 of file sat_parameters.pb.h.

◆ SatParameters_BinaryMinizationAlgorithm_Parse()

bool operations_research::sat::SatParameters_BinaryMinizationAlgorithm_Parse ( ::absl::string_view name,
SatParameters_BinaryMinizationAlgorithm *PROTOBUF_NONNULL value )
inline

Definition at line 253 of file sat_parameters.pb.h.

◆ SatParameters_ClauseOrdering_descriptor()

OR_PROTO_DLLconst::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL operations_research::sat::SatParameters_ClauseOrdering_descriptor ( )

Definition at line 1415 of file sat_parameters.pb.cc.

◆ SatParameters_ClauseOrdering_IsValid()

bool operations_research::sat::SatParameters_ClauseOrdering_IsValid ( int value)
inline

Definition at line 268 of file sat_parameters.pb.h.

◆ SatParameters_ClauseOrdering_Name() [1/2]

template<>
const ::std::string & operations_research::sat::SatParameters_ClauseOrdering_Name ( SatParameters_ClauseOrdering value)
inline

Definition at line 281 of file sat_parameters.pb.h.

◆ SatParameters_ClauseOrdering_Name() [2/2]

template<typename T>
const ::std::string & operations_research::sat::SatParameters_ClauseOrdering_Name ( T value)

Definition at line 274 of file sat_parameters.pb.h.

◆ SatParameters_ClauseOrdering_Parse()

bool operations_research::sat::SatParameters_ClauseOrdering_Parse ( ::absl::string_view name,
SatParameters_ClauseOrdering *PROTOBUF_NONNULL value )
inline

Definition at line 285 of file sat_parameters.pb.h.

◆ SatParameters_ConflictMinimizationAlgorithm_descriptor()

OR_PROTO_DLLconst::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL operations_research::sat::SatParameters_ConflictMinimizationAlgorithm_descriptor ( )

Definition at line 1403 of file sat_parameters.pb.cc.

◆ SatParameters_ConflictMinimizationAlgorithm_IsValid()

bool operations_research::sat::SatParameters_ConflictMinimizationAlgorithm_IsValid ( int value)
inline

Definition at line 203 of file sat_parameters.pb.h.

◆ SatParameters_ConflictMinimizationAlgorithm_Name() [1/2]

template<>
const ::std::string & operations_research::sat::SatParameters_ConflictMinimizationAlgorithm_Name ( SatParameters_ConflictMinimizationAlgorithm value)
inline

Definition at line 216 of file sat_parameters.pb.h.

◆ SatParameters_ConflictMinimizationAlgorithm_Name() [2/2]

template<typename T>
const ::std::string & operations_research::sat::SatParameters_ConflictMinimizationAlgorithm_Name ( T value)

Definition at line 209 of file sat_parameters.pb.h.

◆ SatParameters_ConflictMinimizationAlgorithm_Parse()

bool operations_research::sat::SatParameters_ConflictMinimizationAlgorithm_Parse ( ::absl::string_view name,
SatParameters_ConflictMinimizationAlgorithm *PROTOBUF_NONNULL value )
inline

Definition at line 220 of file sat_parameters.pb.h.

◆ SatParameters_FPRoundingMethod_descriptor()

OR_PROTO_DLLconst::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL operations_research::sat::SatParameters_FPRoundingMethod_descriptor ( )

Definition at line 1451 of file sat_parameters.pb.cc.

◆ SatParameters_FPRoundingMethod_IsValid()

bool operations_research::sat::SatParameters_FPRoundingMethod_IsValid ( int value)
inline

Definition at line 477 of file sat_parameters.pb.h.

◆ SatParameters_FPRoundingMethod_Name() [1/2]

template<>
const ::std::string & operations_research::sat::SatParameters_FPRoundingMethod_Name ( SatParameters_FPRoundingMethod value)
inline

Definition at line 490 of file sat_parameters.pb.h.

◆ SatParameters_FPRoundingMethod_Name() [2/2]

template<typename T>
const ::std::string & operations_research::sat::SatParameters_FPRoundingMethod_Name ( T value)

Definition at line 483 of file sat_parameters.pb.h.

◆ SatParameters_FPRoundingMethod_Parse()

bool operations_research::sat::SatParameters_FPRoundingMethod_Parse ( ::absl::string_view name,
SatParameters_FPRoundingMethod *PROTOBUF_NONNULL value )
inline

Definition at line 494 of file sat_parameters.pb.h.

◆ SatParameters_MaxSatAssumptionOrder_descriptor()

OR_PROTO_DLLconst::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL operations_research::sat::SatParameters_MaxSatAssumptionOrder_descriptor ( )

Definition at line 1427 of file sat_parameters.pb.cc.

◆ SatParameters_MaxSatAssumptionOrder_IsValid()

bool operations_research::sat::SatParameters_MaxSatAssumptionOrder_IsValid ( int value)
inline

Definition at line 336 of file sat_parameters.pb.h.

◆ SatParameters_MaxSatAssumptionOrder_Name() [1/2]

template<>
const ::std::string & operations_research::sat::SatParameters_MaxSatAssumptionOrder_Name ( SatParameters_MaxSatAssumptionOrder value)
inline

Definition at line 349 of file sat_parameters.pb.h.

◆ SatParameters_MaxSatAssumptionOrder_Name() [2/2]

template<typename T>
const ::std::string & operations_research::sat::SatParameters_MaxSatAssumptionOrder_Name ( T value)

Definition at line 342 of file sat_parameters.pb.h.

◆ SatParameters_MaxSatAssumptionOrder_Parse()

bool operations_research::sat::SatParameters_MaxSatAssumptionOrder_Parse ( ::absl::string_view name,
SatParameters_MaxSatAssumptionOrder *PROTOBUF_NONNULL value )
inline

Definition at line 353 of file sat_parameters.pb.h.

◆ SatParameters_MaxSatStratificationAlgorithm_descriptor()

OR_PROTO_DLLconst::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL operations_research::sat::SatParameters_MaxSatStratificationAlgorithm_descriptor ( )

Definition at line 1433 of file sat_parameters.pb.cc.

◆ SatParameters_MaxSatStratificationAlgorithm_IsValid()

bool operations_research::sat::SatParameters_MaxSatStratificationAlgorithm_IsValid ( int value)
inline

Definition at line 369 of file sat_parameters.pb.h.

◆ SatParameters_MaxSatStratificationAlgorithm_Name() [1/2]

template<>
const ::std::string & operations_research::sat::SatParameters_MaxSatStratificationAlgorithm_Name ( SatParameters_MaxSatStratificationAlgorithm value)
inline

Definition at line 382 of file sat_parameters.pb.h.

◆ SatParameters_MaxSatStratificationAlgorithm_Name() [2/2]

template<typename T>
const ::std::string & operations_research::sat::SatParameters_MaxSatStratificationAlgorithm_Name ( T value)

Definition at line 375 of file sat_parameters.pb.h.

◆ SatParameters_MaxSatStratificationAlgorithm_Parse()

bool operations_research::sat::SatParameters_MaxSatStratificationAlgorithm_Parse ( ::absl::string_view name,
SatParameters_MaxSatStratificationAlgorithm *PROTOBUF_NONNULL value )
inline

Definition at line 386 of file sat_parameters.pb.h.

◆ SatParameters_Polarity_descriptor()

OR_PROTO_DLLconst::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL operations_research::sat::SatParameters_Polarity_descriptor ( )

Definition at line 1397 of file sat_parameters.pb.cc.

◆ SatParameters_Polarity_IsValid()

bool operations_research::sat::SatParameters_Polarity_IsValid ( int value)
inline

Definition at line 170 of file sat_parameters.pb.h.

◆ SatParameters_Polarity_Name() [1/2]

template<>
const ::std::string & operations_research::sat::SatParameters_Polarity_Name ( SatParameters_Polarity value)
inline

Definition at line 183 of file sat_parameters.pb.h.

◆ SatParameters_Polarity_Name() [2/2]

template<typename T>
const ::std::string & operations_research::sat::SatParameters_Polarity_Name ( T value)

Definition at line 176 of file sat_parameters.pb.h.

◆ SatParameters_Polarity_Parse()

bool operations_research::sat::SatParameters_Polarity_Parse ( ::absl::string_view name,
SatParameters_Polarity *PROTOBUF_NONNULL value )
inline

Definition at line 187 of file sat_parameters.pb.h.

◆ SatParameters_RestartAlgorithm_descriptor()

OR_PROTO_DLLconst::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL operations_research::sat::SatParameters_RestartAlgorithm_descriptor ( )

Definition at line 1421 of file sat_parameters.pb.cc.

◆ SatParameters_RestartAlgorithm_IsValid()

bool operations_research::sat::SatParameters_RestartAlgorithm_IsValid ( int value)
inline

Definition at line 303 of file sat_parameters.pb.h.

◆ SatParameters_RestartAlgorithm_Name() [1/2]

template<>
const ::std::string & operations_research::sat::SatParameters_RestartAlgorithm_Name ( SatParameters_RestartAlgorithm value)
inline

Definition at line 316 of file sat_parameters.pb.h.

◆ SatParameters_RestartAlgorithm_Name() [2/2]

template<typename T>
const ::std::string & operations_research::sat::SatParameters_RestartAlgorithm_Name ( T value)

Definition at line 309 of file sat_parameters.pb.h.

◆ SatParameters_RestartAlgorithm_Parse()

bool operations_research::sat::SatParameters_RestartAlgorithm_Parse ( ::absl::string_view name,
SatParameters_RestartAlgorithm *PROTOBUF_NONNULL value )
inline

Definition at line 320 of file sat_parameters.pb.h.

◆ SatParameters_SearchBranching_descriptor()

OR_PROTO_DLLconst::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL operations_research::sat::SatParameters_SearchBranching_descriptor ( )

Definition at line 1439 of file sat_parameters.pb.cc.

◆ SatParameters_SearchBranching_IsValid()

bool operations_research::sat::SatParameters_SearchBranching_IsValid ( int value)
inline

Definition at line 408 of file sat_parameters.pb.h.

◆ SatParameters_SearchBranching_Name() [1/2]

template<>
const ::std::string & operations_research::sat::SatParameters_SearchBranching_Name ( SatParameters_SearchBranching value)
inline

Definition at line 421 of file sat_parameters.pb.h.

◆ SatParameters_SearchBranching_Name() [2/2]

template<typename T>
const ::std::string & operations_research::sat::SatParameters_SearchBranching_Name ( T value)

Definition at line 414 of file sat_parameters.pb.h.

◆ SatParameters_SearchBranching_Parse()

bool operations_research::sat::SatParameters_SearchBranching_Parse ( ::absl::string_view name,
SatParameters_SearchBranching *PROTOBUF_NONNULL value )
inline

Definition at line 425 of file sat_parameters.pb.h.

◆ SatParameters_SharedTreeSplitStrategy_descriptor()

OR_PROTO_DLLconst::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL operations_research::sat::SatParameters_SharedTreeSplitStrategy_descriptor ( )

Definition at line 1445 of file sat_parameters.pb.cc.

◆ SatParameters_SharedTreeSplitStrategy_IsValid()

bool operations_research::sat::SatParameters_SharedTreeSplitStrategy_IsValid ( int value)
inline

Definition at line 443 of file sat_parameters.pb.h.

◆ SatParameters_SharedTreeSplitStrategy_Name() [1/2]

template<>
const ::std::string & operations_research::sat::SatParameters_SharedTreeSplitStrategy_Name ( SatParameters_SharedTreeSplitStrategy value)
inline

Definition at line 456 of file sat_parameters.pb.h.

◆ SatParameters_SharedTreeSplitStrategy_Name() [2/2]

template<typename T>
const ::std::string & operations_research::sat::SatParameters_SharedTreeSplitStrategy_Name ( T value)

Definition at line 449 of file sat_parameters.pb.h.

◆ SatParameters_SharedTreeSplitStrategy_Parse()

bool operations_research::sat::SatParameters_SharedTreeSplitStrategy_Parse ( ::absl::string_view name,
SatParameters_SharedTreeSplitStrategy *PROTOBUF_NONNULL value )
inline

Definition at line 460 of file sat_parameters.pb.h.

◆ SatParameters_VariableOrder_descriptor()

OR_PROTO_DLLconst::google::protobuf::EnumDescriptor *PROTOBUF_NONNULL operations_research::sat::SatParameters_VariableOrder_descriptor ( )

Definition at line 1391 of file sat_parameters.pb.cc.

◆ SatParameters_VariableOrder_IsValid()

bool operations_research::sat::SatParameters_VariableOrder_IsValid ( int value)
inline

Definition at line 137 of file sat_parameters.pb.h.

◆ SatParameters_VariableOrder_Name() [1/2]

template<>
const ::std::string & operations_research::sat::SatParameters_VariableOrder_Name ( SatParameters_VariableOrder value)
inline

Definition at line 150 of file sat_parameters.pb.h.

◆ SatParameters_VariableOrder_Name() [2/2]

template<typename T>
const ::std::string & operations_research::sat::SatParameters_VariableOrder_Name ( T value)

Definition at line 143 of file sat_parameters.pb.h.

◆ SatParameters_VariableOrder_Parse()

bool operations_research::sat::SatParameters_VariableOrder_Parse ( ::absl::string_view name,
SatParameters_VariableOrder *PROTOBUF_NONNULL value )
inline

Definition at line 154 of file sat_parameters.pb.h.

◆ SatSolverHeuristic()

std::function< BooleanOrIntegerLiteral()> operations_research::sat::SatSolverHeuristic ( Model * model)

Definition at line 422 of file integer_search.cc.

◆ SatSolverRestartPolicy()

std::function< bool()> operations_research::sat::SatSolverRestartPolicy ( Model * model)

Definition at line 1201 of file integer_search.cc.

◆ SatStatusString()

std::string operations_research::sat::SatStatusString ( SatSolver::Status status)

Definition at line 3123 of file sat_solver.cc.

◆ ScalarProduct()

double operations_research::sat::ScalarProduct ( const LinearConstraint & ct1,
const LinearConstraint & ct2 )

Definition at line 238 of file linear_constraint.cc.

◆ ScaleAndSetObjective()

bool operations_research::sat::ScaleAndSetObjective ( const SatParameters & params,
absl::Span< const std::pair< int, double > > objective,
double objective_offset,
bool maximize,
CpModelProto * cp_model,
SolverLogger * logger )

Definition at line 1365 of file lp_utils.cc.

◆ ScaleContinuousVariables()

std::vector< double > operations_research::sat::ScaleContinuousVariables ( double scaling,
double max_bound,
MPModelProto * mp_model )

Definition at line 112 of file lp_utils.cc.

◆ ScaleFloatingPointObjective()

ABSL_MUST_USE_RESULT bool operations_research::sat::ScaleFloatingPointObjective ( const SatParameters & params,
SolverLogger * logger,
CpModelProto * proto )

Definition at line 1048 of file presolve_context.cc.

◆ ScaleInnerObjectiveValue()

int64_t operations_research::sat::ScaleInnerObjectiveValue ( const CpObjectiveProto & proto,
int64_t value )
inline

Definition at line 208 of file cp_model_utils.h.

◆ ScaleObjectiveValue()

double operations_research::sat::ScaleObjectiveValue ( const CpObjectiveProto & proto,
int64_t value )
inline

Definition at line 195 of file cp_model_utils.h.

◆ ScanModelForDominanceDetection()

void operations_research::sat::ScanModelForDominanceDetection ( PresolveContext & context,
VarDomination * var_domination )

Definition at line 1187 of file var_domination.cc.

◆ ScanModelForDualBoundStrengthening()

void operations_research::sat::ScanModelForDualBoundStrengthening ( const PresolveContext & context,
DualBoundStrengthening * dual_bound_strengthening )

Definition at line 1393 of file var_domination.cc.

◆ SchedulingSearchHeuristic()

std::function< BooleanOrIntegerLiteral()> operations_research::sat::SchedulingSearchHeuristic ( Model * model)

Definition at line 483 of file integer_search.cc.

◆ SeparateFlowInequalities()

void operations_research::sat::SeparateFlowInequalities ( int num_nodes,
absl::Span< const int > tails,
absl::Span< const int > heads,
absl::Span< const AffineExpression > arc_capacities,
std::function< void(const std::vector< bool > &in_subset, IntegerValue *min_incoming_flow, IntegerValue *min_outgoing_flow)> get_flows,
const util_intops::StrongVector< IntegerVariable, double > & lp_values,
LinearConstraintManager * manager,
Model * model )

Definition at line 3237 of file routing_cuts.cc.

◆ SeparateSubtourInequalities()

void operations_research::sat::SeparateSubtourInequalities ( RoutingCutHelper & helper,
LinearConstraintManager * manager )

Definition at line 3097 of file routing_cuts.cc.

◆ SequentialLoop()

void operations_research::sat::SequentialLoop ( std::vector< std::unique_ptr< SubSolver > > & subsolvers)

Definition at line 97 of file subsolver.cc.

◆ SequentialSearch()

std::function< BooleanOrIntegerLiteral()> operations_research::sat::SequentialSearch ( std::vector< std::function< BooleanOrIntegerLiteral()> > heuristics)

Definition at line 298 of file integer_search.cc.

◆ SequentialValueSelection()

std::function< BooleanOrIntegerLiteral()> operations_research::sat::SequentialValueSelection ( std::vector< std::function< IntegerLiteral(IntegerVariable)> > value_selection_heuristics,
std::function< BooleanOrIntegerLiteral()> var_selection_heuristic,
Model * model )

Definition at line 314 of file integer_search.cc.

◆ SetEnforcementLiteralToFalse()

void operations_research::sat::SetEnforcementLiteralToFalse ( const ConstraintProto & ct,
std::vector< Domain > * domains )

Definition at line 98 of file cp_model_postsolve.cc.

◆ SetToNegatedLinearExpression()

void operations_research::sat::SetToNegatedLinearExpression ( const LinearExpressionProto & input_expr,
LinearExpressionProto * output_negated_expr )

Definition at line 94 of file cp_model_utils.cc.

◆ SetupTextFormatPrinter()

void operations_research::sat::SetupTextFormatPrinter ( google::protobuf::TextFormat::Printer * printer)

Definition at line 990 of file cp_model_utils.cc.

◆ ShaveObjectiveLb()

std::function< BooleanOrIntegerLiteral()> operations_research::sat::ShaveObjectiveLb ( Model * model)

Definition at line 437 of file integer_search.cc.

◆ SimplifyCanonicalBooleanLinearConstraint()

void operations_research::sat::SimplifyCanonicalBooleanLinearConstraint ( std::vector< LiteralWithCoeff > * cst,
Coefficient * rhs )

Definition at line 170 of file pb_constraint.cc.

◆ SimplifyClause()

bool operations_research::sat::SimplifyClause ( const std::vector< Literal > & a,
std::vector< Literal > * b,
LiteralIndex * opposite_literal,
int64_t * num_inspected_literals )

Definition at line 966 of file simplification.cc.

◆ Smallest1DIntersection()

IntegerValue operations_research::sat::Smallest1DIntersection ( IntegerValue range_min,
IntegerValue range_max,
IntegerValue size,
IntegerValue interval_min,
IntegerValue interval_max )

Definition at line 786 of file diffn_util.cc.

◆ SolutionBooleanValue()

*Evaluates the value of a Boolean literal in a solver response bool operations_research::sat::SolutionBooleanValue ( const CpSolverResponse & r,
BoolVar x )

Definition at line 1507 of file cp_model.cc.

◆ SolutionCanBeOptimal()

bool operations_research::sat::SolutionCanBeOptimal ( const CpModelProto & model,
absl::Span< const int64_t > variable_values )

Definition at line 1983 of file cp_model_checker.cc.

◆ SolutionIntegerValue()

*Evaluates the value of an linear expression in a solver response int64_t operations_research::sat::SolutionIntegerValue ( const CpSolverResponse & r,
const LinearExpr & expr )

Definition at line 1496 of file cp_model.cc.

◆ SolutionIsFeasible()

bool operations_research::sat::SolutionIsFeasible ( const CpModelProto & model,
absl::Span< const int64_t > variable_values,
const CpModelProto * mapping_proto,
const std::vector< int > * postsolve_mapping )

Definition at line 1901 of file cp_model_checker.cc.

◆ Solve()

CpSolverResponse operations_research::sat::Solve ( const CpModelProto & model_proto)

Solves the given CpModelProto and returns an instance of CpSolverResponse.

Definition at line 3063 of file cp_model_solver.cc.

◆ SolveCpModel()

CpSolverResponse operations_research::sat::SolveCpModel ( const CpModelProto & model_proto,
Model * model )

Solves the given CpModelProto.

This advanced API accept a Model* which allows to access more advanced features by configuring some classes in the Model before solve.

For instance:

  • StopSearch(&model);
  • model->Add(NewSatParameters(parameters_as_string_or_proto));
  • model->Add(NewFeasibleSolutionObserver(observer));
  • model->Add(NewFeasibleSolutionLogCallback(callback));
  • model->Add(NewBestBoundCallback(callback));

Definition at line 2409 of file cp_model_solver.cc.

◆ SolveDiophantine()

DiophantineSolution operations_research::sat::SolveDiophantine ( absl::Span< const int64_t > coeffs,
int64_t rhs,
absl::Span< const int64_t > var_lbs,
absl::Span< const int64_t > var_ubs )

Definition at line 122 of file diophantine.cc.

◆ SolveDiophantineEquationOfSizeTwo()

bool operations_research::sat::SolveDiophantineEquationOfSizeTwo ( int64_t & a,
int64_t & b,
int64_t & cte,
int64_t & x0,
int64_t & y0 )

Definition at line 193 of file util.cc.

◆ SolveFzWithCpModelProto()

CpSolverResponse operations_research::sat::SolveFzWithCpModelProto ( const fz::Model & fz_model,
const fz::FlatzincSatParameters & p,
const SatParameters & sat_params,
Model * sat_model,
SolverLogger * solution_logger )

Definition at line 3716 of file cp_model_fz_solver.cc.

◆ SolveIntegerProblemWithLazyEncoding()

SatSolver::Status operations_research::sat::SolveIntegerProblemWithLazyEncoding ( Model * model)

Definition at line 1673 of file integer_search.cc.

◆ SolveLoadedCpModel()

void operations_research::sat::SolveLoadedCpModel ( const CpModelProto & model_proto,
Model * model )

Definition at line 1730 of file cp_model_solver_helpers.cc.

◆ SolveWithParameters() [1/2]

CpSolverResponse operations_research::sat::SolveWithParameters ( const CpModelProto & model_proto,
absl::string_view params )

Solves the given CpModelProto with the given sat parameters as string in JSon format, and returns an instance of CpSolverResponse.

Definition at line 3075 of file cp_model_solver.cc.

◆ SolveWithParameters() [2/2]

CpSolverResponse operations_research::sat::SolveWithParameters ( const CpModelProto & model_proto,
const SatParameters & params )

Solves the given CpModelProto with the given parameters.

Definition at line 3068 of file cp_model_solver.cc.

◆ SplitAndLoadIntermediateConstraints()

void operations_research::sat::SplitAndLoadIntermediateConstraints ( bool lb_required,
bool ub_required,
std::vector< IntegerVariable > * vars,
std::vector< IntegerValue > * coeffs,
Model * m )

Definition at line 1110 of file cp_model_loader.cc.

◆ SplitAroundGivenValue()

IntegerLiteral operations_research::sat::SplitAroundGivenValue ( IntegerVariable var,
IntegerValue value,
Model * model )

Definition at line 91 of file integer_search.cc.

◆ SplitAroundLpValue()

IntegerLiteral operations_research::sat::SplitAroundLpValue ( IntegerVariable var,
Model * model )

Definition at line 119 of file integer_search.cc.

◆ SplitDomainUsingBestSolutionValue()

IntegerLiteral operations_research::sat::SplitDomainUsingBestSolutionValue ( IntegerVariable var,
Model * model )

◆ SplitEventsInIndendentSets()

template<class E>
std::vector< absl::Span< std::unique_ptr< E > > > operations_research::sat::SplitEventsInIndendentSets ( std::vector< std::unique_ptr< E > > & events)

Definition at line 228 of file scheduling_cuts.h.

◆ SplitInConnectedComponents()

std::vector< std::vector< int > > operations_research::sat::SplitInConnectedComponents ( const Neighbours & neighbours)

Definition at line 561 of file 2d_rectangle_presolve.cc.

◆ SplitUsingBestSolutionValueInRepository()

IntegerLiteral operations_research::sat::SplitUsingBestSolutionValueInRepository ( IntegerVariable var,
const SharedSolutionRepository< int64_t > & solution_repo,
Model * model )

Definition at line 148 of file integer_search.cc.

◆ StopSearch()

void operations_research::sat::StopSearch ( Model * model)

Stops the current search.

Definition at line 2310 of file cp_model_solver.cc.

◆ StoreAssignment()

void operations_research::sat::StoreAssignment ( const VariablesAssignment & assignment,
BooleanAssignment * output )

Definition at line 488 of file boolean_problem.cc.

◆ SubsetsDetector()

template<typename Storage>
operations_research::sat::SubsetsDetector ( const Storage & storage) ->SubsetsDetector< Storage >

◆ SubstituteVariable()

bool operations_research::sat::SubstituteVariable ( int var,
int64_t var_coeff_in_definition,
const ConstraintProto & definition,
ConstraintProto * ct )

Definition at line 210 of file presolve_util.cc.

◆ SUniv()

int operations_research::sat::SUniv ( int i)
inline

Definition at line 92 of file restart.h.

◆ SymmetrizeArcs()

void operations_research::sat::SymmetrizeArcs ( std::vector< ArcWithLpValue > * arcs)

Definition at line 3009 of file routing_cuts.cc.

◆ ToDouble()

double operations_research::sat::ToDouble ( IntegerValue value)
inline

Definition at line 73 of file integer_base.h.

◆ ToIntegerValueVector()

std::vector< IntegerValue > operations_research::sat::ToIntegerValueVector ( absl::Span< const int64_t > input)
inline

Definition at line 117 of file cp_constraints.h.

◆ TracePoint()

std::vector< int > operations_research::sat::TracePoint ( int point,
absl::Span< const int > schrier_vector,
absl::Span< const std::unique_ptr< SparsePermutation > > generators )

Definition at line 224 of file symmetry_util.cc.

◆ TransformToGeneratorOfStabilizer()

void operations_research::sat::TransformToGeneratorOfStabilizer ( int to_stabilize,
std::vector< std::unique_ptr< SparsePermutation > > * generators )
inline

Definition at line 97 of file symmetry_util.h.

◆ TryAllSubsets()

int operations_research::sat::TryAllSubsets ( std::string cut_name,
absl::Span< const int > subset_data,
std::vector< absl::Span< const int > > subsets,
RoutingCutHelper & helper,
LinearConstraintManager * manager )

Definition at line 3036 of file routing_cuts.cc.

◆ TrySolution()

bool operations_research::sat::TrySolution ( const CpModelProto & model,
absl::Span< const int64_t > solution,
absl::Span< const int64_t > new_solution,
absl::Span< const int64_t > base_solution,
std::vector< int64_t > * new_combined_solution )

Definition at line 34 of file combine_solutions.cc.

◆ TryToLinearizeConstraint()

void operations_research::sat::TryToLinearizeConstraint ( const CpModelProto & ,
const ConstraintProto & ct,
int linearization_level,
Model * model,
LinearRelaxation * relaxation,
ActivityBoundHelper * activity_helper )

Definition at line 1416 of file linear_relaxation.cc.

◆ TryToReconcileEncodings()

std::vector< LiteralValueValue > operations_research::sat::TryToReconcileEncodings ( const AffineExpression & size2_affine,
const AffineExpression & affine,
absl::Span< const ValueLiteralPair > affine_var_encoding,
bool put_affine_left_in_result,
IntegerEncoder * integer_encoder )

Definition at line 319 of file implied_bounds.cc.

◆ TryToReconcileSize2Encodings()

std::vector< LiteralValueValue > operations_research::sat::TryToReconcileSize2Encodings ( const AffineExpression & left,
const AffineExpression & right,
IntegerEncoder * integer_encoder )

Definition at line 363 of file implied_bounds.cc.

◆ TryToReplaceVariableByItsEncoding()

void operations_research::sat::TryToReplaceVariableByItsEncoding ( int var,
PresolveContext * context,
SolutionCrush & solution_crush )

Definition at line 581 of file variable_expand.cc.

◆ UnassignedVarWithLowestMinAtItsMinHeuristic()

std::function< BooleanOrIntegerLiteral()> operations_research::sat::UnassignedVarWithLowestMinAtItsMinHeuristic ( absl::Span< const IntegerVariable > vars,
Model * model )

Definition at line 277 of file integer_search.cc.

◆ UnscaleObjectiveValue()

double operations_research::sat::UnscaleObjectiveValue ( const CpObjectiveProto & proto,
double value )
inline

Definition at line 219 of file cp_model_utils.h.

◆ UpperBound()

std::function< int64_t(const Model &)> operations_research::sat::UpperBound ( IntegerVariable v)
inline

Definition at line 1825 of file integer.h.

◆ UsedIntervals()

std::vector< int > operations_research::sat::UsedIntervals ( const ConstraintProto & ct)

Definition at line 567 of file cp_model_utils.cc.

◆ UsedVariables()

std::vector< int > operations_research::sat::UsedVariables ( const ConstraintProto & ct)

Definition at line 554 of file cp_model_utils.cc.

◆ UseObjectiveForSatAssignmentPreference()

void operations_research::sat::UseObjectiveForSatAssignmentPreference ( const LinearBooleanProblem & problem,
SatSolver * solver )

Definition at line 320 of file boolean_problem.cc.

◆ ValidateBooleanProblem()

absl::Status operations_research::sat::ValidateBooleanProblem ( const LinearBooleanProblem & problem)

Definition at line 144 of file boolean_problem.cc.

◆ ValidateCpModel()

std::string operations_research::sat::ValidateCpModel ( const CpModelProto & model,
bool after_presolve )

Definition at line 1104 of file cp_model_checker.cc.

◆ ValidateInputCpModel()

std::string operations_research::sat::ValidateInputCpModel ( const SatParameters & params,
const CpModelProto & model )

Definition at line 1288 of file cp_model_checker.cc.

◆ ValidateLinearConstraintForOverflow()

bool operations_research::sat::ValidateLinearConstraintForOverflow ( const LinearConstraint & constraint,
const IntegerTrail & integer_trail )

Definition at line 395 of file linear_constraint.cc.

◆ ValidateParameters()

std::string operations_research::sat::ValidateParameters ( const SatParameters & params)

Definition at line 55 of file parameters_validation.cc.

◆ Value() [1/3]

std::function< int64_t(const Model &)> operations_research::sat::Value ( BooleanVariable b)
inline

Definition at line 1088 of file sat_solver.h.

◆ Value() [2/3]

std::function< int64_t(const Model &)> operations_research::sat::Value ( IntegerVariable v)
inline

Definition at line 1839 of file integer.h.

◆ Value() [3/3]

std::function< int64_t(const Model &)> operations_research::sat::Value ( Literal l)
inline

Definition at line 1079 of file sat_solver.h.

◆ VarDebugString()

std::string operations_research::sat::VarDebugString ( const CpModelProto & proto,
int index )

Definition at line 143 of file cp_model.cc.

◆ VariableIsPositive()

bool operations_research::sat::VariableIsPositive ( IntegerVariable i)
inline

Definition at line 179 of file integer_base.h.

◆ WeightedPick()

int operations_research::sat::WeightedPick ( absl::Span< const double > input,
absl::BitGenRef random )

Definition at line 415 of file util.cc.

◆ WeightedSumGreaterOrEqual()

template<typename VectorInt>
std::function< void(Model *)> operations_research::sat::WeightedSumGreaterOrEqual ( absl::Span< const IntegerVariable > vars,
const VectorInt & coefficients,
int64_t lower_bound )
inline

Definition at line 612 of file integer_expr.h.

◆ WeightedSumLowerOrEqual()

template<typename VectorInt>
std::function< void(Model *)> operations_research::sat::WeightedSumLowerOrEqual ( absl::Span< const IntegerVariable > vars,
const VectorInt & coefficients,
int64_t upper_bound )
inline

Definition at line 600 of file integer_expr.h.

◆ WriteModelProtoToFile()

template<class M>
bool operations_research::sat::WriteModelProtoToFile ( const M & proto,
absl::string_view filename )

Definition at line 363 of file cp_model_utils.h.

Variable Documentation

◆ _AllDifferentConstraintProto_default_instance_

OR_PROTO_DLL AllDifferentConstraintProtoDefaultTypeInternal operations_research::sat::_AllDifferentConstraintProto_default_instance_

Definition at line 822 of file cp_model.pb.cc.

◆ _ArcLpValue_default_instance_

OR_PROTO_DLL ArcLpValueDefaultTypeInternal operations_research::sat::_ArcLpValue_default_instance_

Definition at line 55 of file routes_support_graph.pb.cc.

◆ _AutomatonConstraintProto_default_instance_

OR_PROTO_DLL AutomatonConstraintProtoDefaultTypeInternal operations_research::sat::_AutomatonConstraintProto_default_instance_

Definition at line 797 of file cp_model.pb.cc.

◆ _BoolArgumentProto_default_instance_

OR_PROTO_DLL BoolArgumentProtoDefaultTypeInternal operations_research::sat::_BoolArgumentProto_default_instance_

Definition at line 455 of file cp_model.pb.cc.

◆ _BooleanAssignment_default_instance_

OR_PROTO_DLL BooleanAssignmentDefaultTypeInternal operations_research::sat::_BooleanAssignment_default_instance_

Definition at line 112 of file boolean_problem.pb.cc.

◆ _CircuitConstraintProto_default_instance_

OR_PROTO_DLL CircuitConstraintProtoDefaultTypeInternal operations_research::sat::_CircuitConstraintProto_default_instance_

Definition at line 429 of file cp_model.pb.cc.

◆ _ConstraintProto_default_instance_

OR_PROTO_DLL ConstraintProtoDefaultTypeInternal operations_research::sat::_ConstraintProto_default_instance_

Definition at line 887 of file cp_model.pb.cc.

◆ _CpModelProto_default_instance_

OR_PROTO_DLL CpModelProtoDefaultTypeInternal operations_research::sat::_CpModelProto_default_instance_

Definition at line 923 of file cp_model.pb.cc.

◆ _CpObjectiveProto_default_instance_

OR_PROTO_DLL CpObjectiveProtoDefaultTypeInternal operations_research::sat::_CpObjectiveProto_default_instance_

Definition at line 399 of file cp_model.pb.cc.

◆ _CpSolverResponse_default_instance_

OR_PROTO_DLL CpSolverResponseDefaultTypeInternal operations_research::sat::_CpSolverResponse_default_instance_

Definition at line 761 of file cp_model.pb.cc.

◆ _CpSolverSolution_default_instance_

OR_PROTO_DLL CpSolverSolutionDefaultTypeInternal operations_research::sat::_CpSolverSolution_default_instance_

Definition at line 363 of file cp_model.pb.cc.

◆ _CumulativeConstraintProto_default_instance_

OR_PROTO_DLL CumulativeConstraintProtoDefaultTypeInternal operations_research::sat::_CumulativeConstraintProto_default_instance_

Definition at line 707 of file cp_model.pb.cc.

◆ _DecisionStrategyProto_default_instance_

OR_PROTO_DLL DecisionStrategyProtoDefaultTypeInternal operations_research::sat::_DecisionStrategyProto_default_instance_

Definition at line 679 of file cp_model.pb.cc.

◆ _DenseMatrixProto_default_instance_

OR_PROTO_DLL DenseMatrixProtoDefaultTypeInternal operations_research::sat::_DenseMatrixProto_default_instance_

Definition at line 337 of file cp_model.pb.cc.

◆ _ElementConstraintProto_default_instance_

OR_PROTO_DLL ElementConstraintProtoDefaultTypeInternal operations_research::sat::_ElementConstraintProto_default_instance_

Definition at line 650 of file cp_model.pb.cc.

◆ _FloatObjectiveProto_default_instance_

OR_PROTO_DLL FloatObjectiveProtoDefaultTypeInternal operations_research::sat::_FloatObjectiveProto_default_instance_

Definition at line 309 of file cp_model.pb.cc.

◆ _IntegerVariableProto_default_instance_

OR_PROTO_DLL IntegerVariableProtoDefaultTypeInternal operations_research::sat::_IntegerVariableProto_default_instance_

Definition at line 280 of file cp_model.pb.cc.

◆ _IntervalConstraintProto_default_instance_

OR_PROTO_DLL IntervalConstraintProtoDefaultTypeInternal operations_research::sat::_IntervalConstraintProto_default_instance_

Definition at line 619 of file cp_model.pb.cc.

◆ _InverseConstraintProto_default_instance_

OR_PROTO_DLL InverseConstraintProtoDefaultTypeInternal operations_research::sat::_InverseConstraintProto_default_instance_

Definition at line 251 of file cp_model.pb.cc.

◆ _LinearArgumentProto_default_instance_

OR_PROTO_DLL LinearArgumentProtoDefaultTypeInternal operations_research::sat::_LinearArgumentProto_default_instance_

Definition at line 592 of file cp_model.pb.cc.

◆ _LinearBooleanConstraint_default_instance_

OR_PROTO_DLL LinearBooleanConstraintDefaultTypeInternal operations_research::sat::_LinearBooleanConstraint_default_instance_

Definition at line 87 of file boolean_problem.pb.cc.

◆ _LinearBooleanProblem_default_instance_

OR_PROTO_DLL LinearBooleanProblemDefaultTypeInternal operations_research::sat::_LinearBooleanProblem_default_instance_

Definition at line 145 of file boolean_problem.pb.cc.

◆ _LinearConstraintProto_default_instance_

OR_PROTO_DLL LinearConstraintProtoDefaultTypeInternal operations_research::sat::_LinearConstraintProto_default_instance_

Definition at line 223 of file cp_model.pb.cc.

◆ _LinearExpressionProto_default_instance_

OR_PROTO_DLL LinearExpressionProtoDefaultTypeInternal operations_research::sat::_LinearExpressionProto_default_instance_

Definition at line 193 of file cp_model.pb.cc.

◆ _LinearObjective_default_instance_

OR_PROTO_DLL LinearObjectiveDefaultTypeInternal operations_research::sat::_LinearObjective_default_instance_

Definition at line 56 of file boolean_problem.pb.cc.

◆ _ListOfVariablesProto_default_instance_

OR_PROTO_DLL ListOfVariablesProtoDefaultTypeInternal operations_research::sat::_ListOfVariablesProto_default_instance_

Definition at line 164 of file cp_model.pb.cc.

◆ _LratDeletedClauses_default_instance_

OR_PROTO_DLL LratDeletedClausesDefaultTypeInternal operations_research::sat::_LratDeletedClauses_default_instance_

Definition at line 135 of file lrat.pb.cc.

◆ _LratExportedClause_default_instance_

OR_PROTO_DLL LratExportedClauseDefaultTypeInternal operations_research::sat::_LratExportedClause_default_instance_

Definition at line 109 of file lrat.pb.cc.

◆ _LratImportedClause_default_instance_

OR_PROTO_DLL LratImportedClauseDefaultTypeInternal operations_research::sat::_LratImportedClause_default_instance_

Definition at line 82 of file lrat.pb.cc.

◆ _LratInferredClause_default_instance_

OR_PROTO_DLL LratInferredClauseDefaultTypeInternal operations_research::sat::_LratInferredClause_default_instance_

Definition at line 166 of file lrat.pb.cc.

◆ _LratInferredClause_RatInfo_default_instance_

OR_PROTO_DLL LratInferredClause_RatInfoDefaultTypeInternal operations_research::sat::_LratInferredClause_RatInfo_default_instance_

Definition at line 55 of file lrat.pb.cc.

◆ _LratProofStep_default_instance_

OR_PROTO_DLL LratProofStepDefaultTypeInternal operations_research::sat::_LratProofStep_default_instance_

Definition at line 192 of file lrat.pb.cc.

◆ _NoOverlap2DConstraintProto_default_instance_

OR_PROTO_DLL NoOverlap2DConstraintProtoDefaultTypeInternal operations_research::sat::_NoOverlap2DConstraintProto_default_instance_

Definition at line 138 of file cp_model.pb.cc.

◆ _NoOverlapConstraintProto_default_instance_

OR_PROTO_DLL NoOverlapConstraintProtoDefaultTypeInternal operations_research::sat::_NoOverlapConstraintProto_default_instance_

Definition at line 110 of file cp_model.pb.cc.

◆ _PartialVariableAssignment_default_instance_

OR_PROTO_DLL PartialVariableAssignmentDefaultTypeInternal operations_research::sat::_PartialVariableAssignment_default_instance_

Definition at line 84 of file cp_model.pb.cc.

◆ _ReservoirConstraintProto_default_instance_

OR_PROTO_DLL ReservoirConstraintProtoDefaultTypeInternal operations_research::sat::_ReservoirConstraintProto_default_instance_

Definition at line 566 of file cp_model.pb.cc.

◆ _RoutesConstraintProto_default_instance_

OR_PROTO_DLL RoutesConstraintProtoDefaultTypeInternal operations_research::sat::_RoutesConstraintProto_default_instance_

Definition at line 856 of file cp_model.pb.cc.

◆ _RoutesConstraintProto_NodeExpressions_default_instance_

OR_PROTO_DLL RoutesConstraintProto_NodeExpressionsDefaultTypeInternal operations_research::sat::_RoutesConstraintProto_NodeExpressions_default_instance_

Definition at line 536 of file cp_model.pb.cc.

◆ _RoutesSupportGraphProto_default_instance_

OR_PROTO_DLL RoutesSupportGraphProtoDefaultTypeInternal operations_research::sat::_RoutesSupportGraphProto_default_instance_

Definition at line 80 of file routes_support_graph.pb.cc.

◆ _SatParameters_default_instance_

OR_PROTO_DLL SatParametersDefaultTypeInternal operations_research::sat::_SatParameters_default_instance_

Definition at line 361 of file sat_parameters.pb.cc.

◆ _SparsePermutationProto_default_instance_

OR_PROTO_DLL SparsePermutationProtoDefaultTypeInternal operations_research::sat::_SparsePermutationProto_default_instance_

Definition at line 56 of file cp_model.pb.cc.

◆ _SymmetryProto_default_instance_

OR_PROTO_DLL SymmetryProtoDefaultTypeInternal operations_research::sat::_SymmetryProto_default_instance_

Definition at line 511 of file cp_model.pb.cc.

◆ _TableConstraintProto_default_instance_

OR_PROTO_DLL TableConstraintProtoDefaultTypeInternal operations_research::sat::_TableConstraintProto_default_instance_

Definition at line 485 of file cp_model.pb.cc.

◆ AllDifferentConstraintProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::AllDifferentConstraintProto_class_data_

◆ ArcLpValue_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::ArcLpValue_class_data_
Initial value:

Definition at line 238 of file routes_support_graph.pb.cc.

◆ AutomatonConstraintProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::AutomatonConstraintProto_class_data_
Initial value:

Definition at line 7784 of file cp_model.pb.cc.

◆ b

for operations_research::sat::b = 0 if j > i+1

Definition at line 100 of file diophantine.h.

◆ BoolArgumentProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::BoolArgumentProto_class_data_
Initial value:

Definition at line 2030 of file cp_model.pb.cc.

◆ BooleanAssignment_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::BooleanAssignment_class_data_
Initial value:

Definition at line 1152 of file boolean_problem.pb.cc.

◆ CircuitConstraintProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::CircuitConstraintProto_class_data_
Initial value:

Definition at line 5914 of file cp_model.pb.cc.

◆ ConstraintProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::ConstraintProto_class_data_
Initial value:

Definition at line 9120 of file cp_model.pb.cc.

◆ CpModelProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::CpModelProto_class_data_
Initial value:

Definition at line 12747 of file cp_model.pb.cc.

◆ CpObjectiveProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::CpObjectiveProto_class_data_
Initial value:

Definition at line 10033 of file cp_model.pb.cc.

◆ CpSolverResponse_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::CpSolverResponse_class_data_
Initial value:

Definition at line 13645 of file cp_model.pb.cc.

◆ CpSolverSolution_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::CpSolverSolution_class_data_
Initial value:

Definition at line 13321 of file cp_model.pb.cc.

◆ CpSolverStatus_ARRAYSIZE

int operations_research::sat::CpSolverStatus_ARRAYSIZE = 4 + 1
inlineconstexpr

Definition at line 301 of file cp_model.pb.h.

◆ CpSolverStatus_internal_data_

OR_PROTO_DLL const uint32_t operations_research::sat::CpSolverStatus_internal_data_
Initial value:
= {
327680u, 0u, }

Definition at line 1586 of file cp_model.pb.cc.

◆ CpSolverStatus_MAX

CpSolverStatus operations_research::sat::CpSolverStatus_MAX
inlineconstexpr
Initial value:

Definition at line 296 of file cp_model.pb.h.

◆ CpSolverStatus_MIN

CpSolverStatus operations_research::sat::CpSolverStatus_MIN
inlineconstexpr
Initial value:
=
static_cast<CpSolverStatus>(0)

Definition at line 294 of file cp_model.pb.h.

◆ CumulativeConstraintProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::CumulativeConstraintProto_class_data_

◆ DecisionStrategyProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::DecisionStrategyProto_class_data_
Initial value:

Definition at line 10974 of file cp_model.pb.cc.

◆ DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_ARRAYSIZE

int operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_ARRAYSIZE = 5 + 1
inlineconstexpr

Definition at line 262 of file cp_model.pb.h.

◆ DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MAX

DecisionStrategyProto_DomainReductionStrategy operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MAX
inlineconstexpr
Initial value:

Definition at line 257 of file cp_model.pb.h.

◆ DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MIN

DecisionStrategyProto_DomainReductionStrategy operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_DomainReductionStrategy_MIN
inlineconstexpr
Initial value:

Definition at line 255 of file cp_model.pb.h.

◆ DecisionStrategyProto_DomainReductionStrategy_internal_data_

OR_PROTO_DLL const uint32_t operations_research::sat::DecisionStrategyProto_DomainReductionStrategy_internal_data_
Initial value:
= {
393216u, 0u, }

Definition at line 1580 of file cp_model.pb.cc.

◆ DecisionStrategyProto_VariableSelectionStrategy_internal_data_

OR_PROTO_DLL const uint32_t operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_internal_data_
Initial value:
= {
327680u, 0u, }

Definition at line 1574 of file cp_model.pb.cc.

◆ DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_ARRAYSIZE

int operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_ARRAYSIZE = 4 + 1
inlineconstexpr

Definition at line 222 of file cp_model.pb.h.

◆ DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MAX

DecisionStrategyProto_VariableSelectionStrategy operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MAX
inlineconstexpr
Initial value:

Definition at line 217 of file cp_model.pb.h.

◆ DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MIN

DecisionStrategyProto_VariableSelectionStrategy operations_research::sat::DecisionStrategyProto_VariableSelectionStrategy_VariableSelectionStrategy_MIN
inlineconstexpr
Initial value:

Definition at line 215 of file cp_model.pb.h.

◆ DenseMatrixProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::DenseMatrixProto_class_data_
Initial value:

Definition at line 12024 of file cp_model.pb.cc.

◆ ElementConstraintProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::ElementConstraintProto_class_data_
Initial value:

Definition at line 3668 of file cp_model.pb.cc.

◆ FloatObjectiveProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::FloatObjectiveProto_class_data_
Initial value:

Definition at line 10578 of file cp_model.pb.cc.

◆ i

for operations_research::sat::i = 0 ... k-2

Definition at line 100 of file diophantine.h.

◆ IntegerVariableProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::IntegerVariableProto_class_data_
Initial value:

Definition at line 1705 of file cp_model.pb.cc.

◆ IntervalConstraintProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::IntervalConstraintProto_class_data_
Initial value:

Definition at line 4122 of file cp_model.pb.cc.

◆ InverseConstraintProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::InverseConstraintProto_class_data_
Initial value:

Definition at line 7429 of file cp_model.pb.cc.

◆ kAffineRelationConstraint

int operations_research::sat::kAffineRelationConstraint = -2
constexpr

Definition at line 57 of file presolve_context.h.

◆ kAssumptionsConstraint

int operations_research::sat::kAssumptionsConstraint = -3
constexpr

Definition at line 58 of file presolve_context.h.

◆ kDefaultFingerprintSeed

uint64_t operations_research::sat::kDefaultFingerprintSeed = 0xa5b85c5e198ed849
constexpr

Definition at line 318 of file cp_model_utils.h.

◆ kInfinity

Definition at line 87 of file lp_types.h.

◆ kMaxProblemSize

int operations_research::sat::kMaxProblemSize = 16
staticconstexpr

Definition at line 34 of file 2d_packing_brute_force.cc.

◆ kObjectiveConstraint

int operations_research::sat::kObjectiveConstraint = -1
constexpr

Definition at line 56 of file presolve_context.h.

◆ kTableAnyValue

int64_t operations_research::sat::kTableAnyValue = std::numeric_limits<int64_t>::min()
constexpr

Definition at line 43 of file cp_model_table.h.

◆ kUnsatTrailIndex

const int operations_research::sat::kUnsatTrailIndex = -1

Definition at line 59 of file sat_solver.h.

◆ LinearArgumentProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::LinearArgumentProto_class_data_
Initial value:

Definition at line 2669 of file cp_model.pb.cc.

◆ LinearBooleanConstraint_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::LinearBooleanConstraint_class_data_

◆ LinearBooleanProblem_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::LinearBooleanProblem_class_data_

◆ LinearConstraintProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::LinearConstraintProto_class_data_
Initial value:

Definition at line 3293 of file cp_model.pb.cc.

◆ LinearExpressionProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::LinearExpressionProto_class_data_
Initial value:

Definition at line 2320 of file cp_model.pb.cc.

◆ LinearObjective_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::LinearObjective_class_data_
Initial value:

Definition at line 798 of file boolean_problem.pb.cc.

◆ ListOfVariablesProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::ListOfVariablesProto_class_data_
Initial value:

Definition at line 8260 of file cp_model.pb.cc.

◆ LratDeletedClauses_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::LratDeletedClauses_class_data_
Initial value:

Definition at line 1776 of file lrat.pb.cc.

◆ LratExportedClause_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::LratExportedClause_class_data_
Initial value:

Definition at line 1471 of file lrat.pb.cc.

◆ LratImportedClause_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::LratImportedClause_class_data_
Initial value:

Definition at line 425 of file lrat.pb.cc.

◆ LratInferredClause_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::LratInferredClause_class_data_
Initial value:

Definition at line 1064 of file lrat.pb.cc.

◆ LratInferredClause_RatInfo_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::LratInferredClause_RatInfo_class_data_
Initial value:

Definition at line 732 of file lrat.pb.cc.

◆ LratProofStep_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::LratProofStep_class_data_
Initial value:

Definition at line 2156 of file lrat.pb.cc.

◆ NoOverlap2DConstraintProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::NoOverlap2DConstraintProto_class_data_

◆ NoOverlapConstraintProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::NoOverlapConstraintProto_class_data_
Initial value:

Definition at line 4477 of file cp_model.pb.cc.

◆ PartialVariableAssignment_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::PartialVariableAssignment_class_data_

◆ ReservoirConstraintProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::ReservoirConstraintProto_class_data_
Initial value:

Definition at line 5472 of file cp_model.pb.cc.

◆ RoutesConstraintProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::RoutesConstraintProto_class_data_
Initial value:

Definition at line 6578 of file cp_model.pb.cc.

◆ RoutesConstraintProto_NodeExpressions_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::RoutesConstraintProto_NodeExpressions_class_data_

◆ RoutesSupportGraphProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::RoutesSupportGraphProto_class_data_

◆ SatParameters_BinaryMinizationAlgorithm_BinaryMinizationAlgorithm_ARRAYSIZE

int operations_research::sat::SatParameters_BinaryMinizationAlgorithm_BinaryMinizationAlgorithm_ARRAYSIZE = 5 + 1
inlineconstexpr

Definition at line 239 of file sat_parameters.pb.h.

◆ SatParameters_BinaryMinizationAlgorithm_BinaryMinizationAlgorithm_MAX

SatParameters_BinaryMinizationAlgorithm operations_research::sat::SatParameters_BinaryMinizationAlgorithm_BinaryMinizationAlgorithm_MAX
inlineconstexpr
Initial value:

Definition at line 234 of file sat_parameters.pb.h.

◆ SatParameters_BinaryMinizationAlgorithm_BinaryMinizationAlgorithm_MIN

SatParameters_BinaryMinizationAlgorithm operations_research::sat::SatParameters_BinaryMinizationAlgorithm_BinaryMinizationAlgorithm_MIN
inlineconstexpr
Initial value:

Definition at line 232 of file sat_parameters.pb.h.

◆ SatParameters_BinaryMinizationAlgorithm_internal_data_

OR_PROTO_DLL const uint32_t operations_research::sat::SatParameters_BinaryMinizationAlgorithm_internal_data_
Initial value:
= {
131072u, 32u, 8u, }

Definition at line 1413 of file sat_parameters.pb.cc.

◆ SatParameters_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::SatParameters_class_data_
Initial value:

Definition at line 1820 of file sat_parameters.pb.cc.

◆ SatParameters_ClauseOrdering_ClauseOrdering_ARRAYSIZE

int operations_research::sat::SatParameters_ClauseOrdering_ClauseOrdering_ARRAYSIZE = 1 + 1
inlineconstexpr

Definition at line 271 of file sat_parameters.pb.h.

◆ SatParameters_ClauseOrdering_ClauseOrdering_MAX

SatParameters_ClauseOrdering operations_research::sat::SatParameters_ClauseOrdering_ClauseOrdering_MAX
inlineconstexpr
Initial value:

Definition at line 266 of file sat_parameters.pb.h.

◆ SatParameters_ClauseOrdering_ClauseOrdering_MIN

SatParameters_ClauseOrdering operations_research::sat::SatParameters_ClauseOrdering_ClauseOrdering_MIN
inlineconstexpr
Initial value:
=

Definition at line 264 of file sat_parameters.pb.h.

◆ SatParameters_ClauseOrdering_internal_data_

OR_PROTO_DLL const uint32_t operations_research::sat::SatParameters_ClauseOrdering_internal_data_
Initial value:
= {
131072u, 0u, }

Definition at line 1419 of file sat_parameters.pb.cc.

◆ SatParameters_ConflictMinimizationAlgorithm_ConflictMinimizationAlgorithm_ARRAYSIZE

int operations_research::sat::SatParameters_ConflictMinimizationAlgorithm_ConflictMinimizationAlgorithm_ARRAYSIZE = 2 + 1
inlineconstexpr

Definition at line 206 of file sat_parameters.pb.h.

◆ SatParameters_ConflictMinimizationAlgorithm_ConflictMinimizationAlgorithm_MAX

SatParameters_ConflictMinimizationAlgorithm operations_research::sat::SatParameters_ConflictMinimizationAlgorithm_ConflictMinimizationAlgorithm_MAX
inlineconstexpr
Initial value:

Definition at line 201 of file sat_parameters.pb.h.

◆ SatParameters_ConflictMinimizationAlgorithm_ConflictMinimizationAlgorithm_MIN

SatParameters_ConflictMinimizationAlgorithm operations_research::sat::SatParameters_ConflictMinimizationAlgorithm_ConflictMinimizationAlgorithm_MIN
inlineconstexpr
Initial value:

Definition at line 199 of file sat_parameters.pb.h.

◆ SatParameters_ConflictMinimizationAlgorithm_internal_data_

OR_PROTO_DLL const uint32_t operations_research::sat::SatParameters_ConflictMinimizationAlgorithm_internal_data_
Initial value:
= {
196608u, 0u, }

Definition at line 1407 of file sat_parameters.pb.cc.

◆ SatParameters_FPRoundingMethod_FPRoundingMethod_ARRAYSIZE

int operations_research::sat::SatParameters_FPRoundingMethod_FPRoundingMethod_ARRAYSIZE = 3 + 1
inlineconstexpr

Definition at line 480 of file sat_parameters.pb.h.

◆ SatParameters_FPRoundingMethod_FPRoundingMethod_MAX

SatParameters_FPRoundingMethod operations_research::sat::SatParameters_FPRoundingMethod_FPRoundingMethod_MAX
inlineconstexpr
Initial value:

Definition at line 475 of file sat_parameters.pb.h.

◆ SatParameters_FPRoundingMethod_FPRoundingMethod_MIN

SatParameters_FPRoundingMethod operations_research::sat::SatParameters_FPRoundingMethod_FPRoundingMethod_MIN
inlineconstexpr
Initial value:

Definition at line 473 of file sat_parameters.pb.h.

◆ SatParameters_FPRoundingMethod_internal_data_

OR_PROTO_DLL const uint32_t operations_research::sat::SatParameters_FPRoundingMethod_internal_data_
Initial value:
= {
262144u, 0u, }

Definition at line 1455 of file sat_parameters.pb.cc.

◆ SatParameters_MaxSatAssumptionOrder_internal_data_

OR_PROTO_DLL const uint32_t operations_research::sat::SatParameters_MaxSatAssumptionOrder_internal_data_
Initial value:
= {
196608u, 0u, }

Definition at line 1431 of file sat_parameters.pb.cc.

◆ SatParameters_MaxSatAssumptionOrder_MaxSatAssumptionOrder_ARRAYSIZE

int operations_research::sat::SatParameters_MaxSatAssumptionOrder_MaxSatAssumptionOrder_ARRAYSIZE = 2 + 1
inlineconstexpr

Definition at line 339 of file sat_parameters.pb.h.

◆ SatParameters_MaxSatAssumptionOrder_MaxSatAssumptionOrder_MAX

SatParameters_MaxSatAssumptionOrder operations_research::sat::SatParameters_MaxSatAssumptionOrder_MaxSatAssumptionOrder_MAX
inlineconstexpr
Initial value:

Definition at line 334 of file sat_parameters.pb.h.

◆ SatParameters_MaxSatAssumptionOrder_MaxSatAssumptionOrder_MIN

SatParameters_MaxSatAssumptionOrder operations_research::sat::SatParameters_MaxSatAssumptionOrder_MaxSatAssumptionOrder_MIN
inlineconstexpr
Initial value:

Definition at line 332 of file sat_parameters.pb.h.

◆ SatParameters_MaxSatStratificationAlgorithm_internal_data_

OR_PROTO_DLL const uint32_t operations_research::sat::SatParameters_MaxSatStratificationAlgorithm_internal_data_
Initial value:
= {
196608u, 0u, }

Definition at line 1437 of file sat_parameters.pb.cc.

◆ SatParameters_MaxSatStratificationAlgorithm_MaxSatStratificationAlgorithm_ARRAYSIZE

int operations_research::sat::SatParameters_MaxSatStratificationAlgorithm_MaxSatStratificationAlgorithm_ARRAYSIZE = 2 + 1
inlineconstexpr

Definition at line 372 of file sat_parameters.pb.h.

◆ SatParameters_MaxSatStratificationAlgorithm_MaxSatStratificationAlgorithm_MAX

SatParameters_MaxSatStratificationAlgorithm operations_research::sat::SatParameters_MaxSatStratificationAlgorithm_MaxSatStratificationAlgorithm_MAX
inlineconstexpr
Initial value:

Definition at line 367 of file sat_parameters.pb.h.

◆ SatParameters_MaxSatStratificationAlgorithm_MaxSatStratificationAlgorithm_MIN

SatParameters_MaxSatStratificationAlgorithm operations_research::sat::SatParameters_MaxSatStratificationAlgorithm_MaxSatStratificationAlgorithm_MIN
inlineconstexpr
Initial value:

Definition at line 365 of file sat_parameters.pb.h.

◆ SatParameters_Polarity_internal_data_

OR_PROTO_DLL const uint32_t operations_research::sat::SatParameters_Polarity_internal_data_
Initial value:
= {
196608u, 0u, }

Definition at line 1401 of file sat_parameters.pb.cc.

◆ SatParameters_Polarity_Polarity_ARRAYSIZE

int operations_research::sat::SatParameters_Polarity_Polarity_ARRAYSIZE = 2 + 1
inlineconstexpr

Definition at line 173 of file sat_parameters.pb.h.

◆ SatParameters_Polarity_Polarity_MAX

SatParameters_Polarity operations_research::sat::SatParameters_Polarity_Polarity_MAX
inlineconstexpr
Initial value:

Definition at line 168 of file sat_parameters.pb.h.

◆ SatParameters_Polarity_Polarity_MIN

SatParameters_Polarity operations_research::sat::SatParameters_Polarity_Polarity_MIN
inlineconstexpr
Initial value:
=
static_cast<SatParameters_Polarity>(0)

Definition at line 166 of file sat_parameters.pb.h.

◆ SatParameters_RestartAlgorithm_internal_data_

OR_PROTO_DLL const uint32_t operations_research::sat::SatParameters_RestartAlgorithm_internal_data_
Initial value:
= {
327680u, 0u, }

Definition at line 1425 of file sat_parameters.pb.cc.

◆ SatParameters_RestartAlgorithm_RestartAlgorithm_ARRAYSIZE

int operations_research::sat::SatParameters_RestartAlgorithm_RestartAlgorithm_ARRAYSIZE = 4 + 1
inlineconstexpr

Definition at line 306 of file sat_parameters.pb.h.

◆ SatParameters_RestartAlgorithm_RestartAlgorithm_MAX

SatParameters_RestartAlgorithm operations_research::sat::SatParameters_RestartAlgorithm_RestartAlgorithm_MAX
inlineconstexpr
Initial value:

Definition at line 301 of file sat_parameters.pb.h.

◆ SatParameters_RestartAlgorithm_RestartAlgorithm_MIN

SatParameters_RestartAlgorithm operations_research::sat::SatParameters_RestartAlgorithm_RestartAlgorithm_MIN
inlineconstexpr
Initial value:

Definition at line 299 of file sat_parameters.pb.h.

◆ SatParameters_SearchBranching_internal_data_

OR_PROTO_DLL const uint32_t operations_research::sat::SatParameters_SearchBranching_internal_data_
Initial value:
= {
589824u, 0u, }

Definition at line 1443 of file sat_parameters.pb.cc.

◆ SatParameters_SearchBranching_SearchBranching_ARRAYSIZE

int operations_research::sat::SatParameters_SearchBranching_SearchBranching_ARRAYSIZE = 8 + 1
inlineconstexpr

Definition at line 411 of file sat_parameters.pb.h.

◆ SatParameters_SearchBranching_SearchBranching_MAX

SatParameters_SearchBranching operations_research::sat::SatParameters_SearchBranching_SearchBranching_MAX
inlineconstexpr
Initial value:

Definition at line 406 of file sat_parameters.pb.h.

◆ SatParameters_SearchBranching_SearchBranching_MIN

SatParameters_SearchBranching operations_research::sat::SatParameters_SearchBranching_SearchBranching_MIN
inlineconstexpr
Initial value:

Definition at line 404 of file sat_parameters.pb.h.

◆ SatParameters_SharedTreeSplitStrategy_internal_data_

OR_PROTO_DLL const uint32_t operations_research::sat::SatParameters_SharedTreeSplitStrategy_internal_data_
Initial value:
= {
327680u, 0u, }

Definition at line 1449 of file sat_parameters.pb.cc.

◆ SatParameters_SharedTreeSplitStrategy_SharedTreeSplitStrategy_ARRAYSIZE

int operations_research::sat::SatParameters_SharedTreeSplitStrategy_SharedTreeSplitStrategy_ARRAYSIZE = 4 + 1
inlineconstexpr

Definition at line 446 of file sat_parameters.pb.h.

◆ SatParameters_SharedTreeSplitStrategy_SharedTreeSplitStrategy_MAX

SatParameters_SharedTreeSplitStrategy operations_research::sat::SatParameters_SharedTreeSplitStrategy_SharedTreeSplitStrategy_MAX
inlineconstexpr
Initial value:

Definition at line 441 of file sat_parameters.pb.h.

◆ SatParameters_SharedTreeSplitStrategy_SharedTreeSplitStrategy_MIN

SatParameters_SharedTreeSplitStrategy operations_research::sat::SatParameters_SharedTreeSplitStrategy_SharedTreeSplitStrategy_MIN
inlineconstexpr
Initial value:

Definition at line 439 of file sat_parameters.pb.h.

◆ SatParameters_VariableOrder_internal_data_

OR_PROTO_DLL const uint32_t operations_research::sat::SatParameters_VariableOrder_internal_data_
Initial value:
= {
196608u, 0u, }

Definition at line 1395 of file sat_parameters.pb.cc.

◆ SatParameters_VariableOrder_VariableOrder_ARRAYSIZE

int operations_research::sat::SatParameters_VariableOrder_VariableOrder_ARRAYSIZE = 2 + 1
inlineconstexpr

Definition at line 140 of file sat_parameters.pb.h.

◆ SatParameters_VariableOrder_VariableOrder_MAX

SatParameters_VariableOrder operations_research::sat::SatParameters_VariableOrder_VariableOrder_MAX
inlineconstexpr
Initial value:

Definition at line 135 of file sat_parameters.pb.h.

◆ SatParameters_VariableOrder_VariableOrder_MIN

SatParameters_VariableOrder operations_research::sat::SatParameters_VariableOrder_VariableOrder_MIN
inlineconstexpr
Initial value:
=

Definition at line 133 of file sat_parameters.pb.h.

◆ SparsePermutationProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::SparsePermutationProto_class_data_
Initial value:

Definition at line 11696 of file cp_model.pb.cc.

◆ SymmetryProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::SymmetryProto_class_data_
Initial value:

Definition at line 12376 of file cp_model.pb.cc.

◆ TableConstraintProto_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::sat::TableConstraintProto_class_data_
Initial value:

Definition at line 7040 of file cp_model.pb.cc.