![]() |
OR-Tools
8.1
|
Typedefs | |
using | InlinedIntegerLiteralVector = absl::InlinedVector< IntegerLiteral, 2 > |
Functions | |
void | SolveFzWithCpModelProto (const fz::Model &fz_model, const fz::FlatzincSatParameters &p, const std::string &sat_params) |
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * | DecisionStrategyProto_VariableSelectionStrategy_descriptor () |
bool | DecisionStrategyProto_VariableSelectionStrategy_IsValid (int value) |
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * | DecisionStrategyProto_DomainReductionStrategy_descriptor () |
bool | DecisionStrategyProto_DomainReductionStrategy_IsValid (int value) |
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * | CpSolverStatus_descriptor () |
bool | CpSolverStatus_IsValid (int value) |
template<typename T > | |
const std::string & | DecisionStrategyProto_VariableSelectionStrategy_Name (T enum_t_value) |
bool | DecisionStrategyProto_VariableSelectionStrategy_Parse (::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_VariableSelectionStrategy *value) |
template<typename T > | |
const std::string & | DecisionStrategyProto_DomainReductionStrategy_Name (T enum_t_value) |
bool | DecisionStrategyProto_DomainReductionStrategy_Parse (::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DecisionStrategyProto_DomainReductionStrategy *value) |
template<typename T > | |
const std::string & | CpSolverStatus_Name (T enum_t_value) |
bool | CpSolverStatus_Parse (::PROTOBUF_NAMESPACE_ID::ConstStringParam name, CpSolverStatus *value) |
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * | SatParameters_VariableOrder_descriptor () |
bool | SatParameters_VariableOrder_IsValid (int value) |
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * | SatParameters_Polarity_descriptor () |
bool | SatParameters_Polarity_IsValid (int value) |
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * | SatParameters_ConflictMinimizationAlgorithm_descriptor () |
bool | SatParameters_ConflictMinimizationAlgorithm_IsValid (int value) |
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * | SatParameters_BinaryMinizationAlgorithm_descriptor () |
bool | SatParameters_BinaryMinizationAlgorithm_IsValid (int value) |
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * | SatParameters_ClauseProtection_descriptor () |
bool | SatParameters_ClauseProtection_IsValid (int value) |
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * | SatParameters_ClauseOrdering_descriptor () |
bool | SatParameters_ClauseOrdering_IsValid (int value) |
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * | SatParameters_RestartAlgorithm_descriptor () |
bool | SatParameters_RestartAlgorithm_IsValid (int value) |
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * | SatParameters_MaxSatAssumptionOrder_descriptor () |
bool | SatParameters_MaxSatAssumptionOrder_IsValid (int value) |
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * | SatParameters_MaxSatStratificationAlgorithm_descriptor () |
bool | SatParameters_MaxSatStratificationAlgorithm_IsValid (int value) |
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * | SatParameters_SearchBranching_descriptor () |
bool | SatParameters_SearchBranching_IsValid (int value) |
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * | SatParameters_FPRoundingMethod_descriptor () |
bool | SatParameters_FPRoundingMethod_IsValid (int value) |
template<typename T > | |
const std::string & | SatParameters_VariableOrder_Name (T enum_t_value) |
bool | SatParameters_VariableOrder_Parse (::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_VariableOrder *value) |
template<typename T > | |
const std::string & | SatParameters_Polarity_Name (T enum_t_value) |
bool | SatParameters_Polarity_Parse (::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_Polarity *value) |
template<typename T > | |
const std::string & | SatParameters_ConflictMinimizationAlgorithm_Name (T enum_t_value) |
bool | SatParameters_ConflictMinimizationAlgorithm_Parse (::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_ConflictMinimizationAlgorithm *value) |
template<typename T > | |
const std::string & | SatParameters_BinaryMinizationAlgorithm_Name (T enum_t_value) |
bool | SatParameters_BinaryMinizationAlgorithm_Parse (::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_BinaryMinizationAlgorithm *value) |
template<typename T > | |
const std::string & | SatParameters_ClauseProtection_Name (T enum_t_value) |
bool | SatParameters_ClauseProtection_Parse (::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_ClauseProtection *value) |
template<typename T > | |
const std::string & | SatParameters_ClauseOrdering_Name (T enum_t_value) |
bool | SatParameters_ClauseOrdering_Parse (::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_ClauseOrdering *value) |
template<typename T > | |
const std::string & | SatParameters_RestartAlgorithm_Name (T enum_t_value) |
bool | SatParameters_RestartAlgorithm_Parse (::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_RestartAlgorithm *value) |
template<typename T > | |
const std::string & | SatParameters_MaxSatAssumptionOrder_Name (T enum_t_value) |
bool | SatParameters_MaxSatAssumptionOrder_Parse (::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_MaxSatAssumptionOrder *value) |
template<typename T > | |
const std::string & | SatParameters_MaxSatStratificationAlgorithm_Name (T enum_t_value) |
bool | SatParameters_MaxSatStratificationAlgorithm_Parse (::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_MaxSatStratificationAlgorithm *value) |
template<typename T > | |
const std::string & | SatParameters_SearchBranching_Name (T enum_t_value) |
bool | SatParameters_SearchBranching_Parse (::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_SearchBranching *value) |
template<typename T > | |
const std::string & | SatParameters_FPRoundingMethod_Name (T enum_t_value) |
bool | SatParameters_FPRoundingMethod_Parse (::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SatParameters_FPRoundingMethod *value) |
std::function< void(Model *)> | AllDifferentBinary (const std::vector< IntegerVariable > &vars) |
std::function< void(Model *)> | AllDifferentOnBounds (const std::vector< IntegerVariable > &vars) |
std::function< void(Model *)> | AllDifferentAC (const std::vector< 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, const std::vector< int > &constraint_indices, LinearBooleanProblem *subproblem) |
template<typename Graph > | |
Graph * | GenerateGraphForSymmetryDetection (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 absl::StrongVector< LiteralIndex, LiteralIndex > &mapping, LinearBooleanProblem *problem) |
void | ProbeAndSimplifyProblem (SatPostsolver *postsolver, LinearBooleanProblem *problem) |
double | AddOffsetAndScaleObjectiveValue (const LinearBooleanProblem &problem, Coefficient v) |
std::function< void(Model *)> | ExactlyOnePerRowAndPerColumn (const std::vector< std::vector< Literal >> &graph) |
std::function< void(Model *)> | SubcircuitConstraint (int num_nodes, const std::vector< int > &tails, const std::vector< int > &heads, const std::vector< Literal > &literals, bool multiple_subcircuit_through_zero) |
std::function< void(Model *)> | CircuitCovering (const std::vector< std::vector< Literal >> &graph, const std::vector< int > &distinguished_nodes) |
template<class IntContainer > | |
int | ReindexArcs (IntContainer *tails, IntContainer *heads) |
std::vector< IntegerValue > | ToIntegerValueVector (const std::vector< int64 > &input) |
std::function< void(Model *)> | LiteralXorIs (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) |
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, const std::vector< IntegerVariable > &vars, const std::vector< Literal > &selectors) |
BoolVar | Not (BoolVar x) |
A convenient wrapper so we can write Not(x) instead of x.Not() which is sometimes clearer. More... | |
std::ostream & | operator<< (std::ostream &os, const BoolVar &var) |
std::ostream & | operator<< (std::ostream &os, const IntVar &var) |
std::ostream & | operator<< (std::ostream &os, const IntervalVar &var) |
int64 | SolutionIntegerValue (const CpSolverResponse &r, const LinearExpr &expr) |
Evaluates the value of an linear expression in a solver response. More... | |
int64 | SolutionIntegerMin (const CpSolverResponse &r, IntVar x) |
Returns the min of an integer variable in a solution. More... | |
int64 | SolutionIntegerMax (const CpSolverResponse &r, IntVar x) |
Returns the max of an integer variable in a solution. More... | |
bool | SolutionBooleanValue (const CpSolverResponse &r, BoolVar x) |
Evaluates the value of a Boolean literal in a solver response. More... | |
std::string | ValidateCpModel (const CpModelProto &model) |
bool | SolutionIsFeasible (const CpModelProto &model, const std::vector< int64 > &variable_values, const CpModelProto *mapping_proto, const std::vector< int > *postsolve_mapping) |
void | ExpandCpModel (PresolveOptions options, PresolveContext *context) |
Neighborhood | GenerateSchedulingNeighborhoodForRelaxation (const absl::Span< const int > intervals_to_relax, const CpSolverResponse &initial_solution, const NeighborhoodGeneratorHelper &helper) |
void | MaybeFullyEncodeMoreVariables (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 | LoadBoolXorConstraint (const ConstraintProto &ct, Model *m) |
void | LoadLinearConstraint (const ConstraintProto &ct, Model *m) |
void | LoadAllDiffConstraint (const ConstraintProto &ct, Model *m) |
void | LoadIntProdConstraint (const ConstraintProto &ct, Model *m) |
void | LoadIntDivConstraint (const ConstraintProto &ct, Model *m) |
void | LoadIntMinConstraint (const ConstraintProto &ct, Model *m) |
LinearExpression | GetExprFromProto (const LinearExpressionProto &expr_proto, const CpModelMapping &mapping) |
void | LoadLinMaxConstraint (const ConstraintProto &ct, Model *m) |
void | LoadIntMaxConstraint (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) |
bool | DetectEquivalencesInElementConstraint (const ConstraintProto &ct, Model *m) |
void | LoadElementConstraintBounds (const ConstraintProto &ct, Model *m) |
void | LoadElementConstraintAC (const ConstraintProto &ct, Model *m) |
void | LoadElementConstraint (const ConstraintProto &ct, Model *m) |
void | LoadTableConstraint (const ConstraintProto &ct, Model *m) |
void | LoadAutomatonConstraint (const ConstraintProto &ct, Model *m) |
std::vector< std::vector< Literal > > | GetSquareMatrixFromIntegerVariables (const std::vector< IntegerVariable > &vars, Model *m) |
void | LoadCircuitConstraint (const ConstraintProto &ct, Model *m) |
void | LoadRoutesConstraint (const ConstraintProto &ct, Model *m) |
bool | LoadConstraint (const ConstraintProto &ct, Model *m) |
void | LoadCircuitCoveringConstraint (const ConstraintProto &ct, Model *m) |
void | LoadInverseConstraint (const ConstraintProto &ct, Model *m) |
void | EncodeObjectiveAsSingleVariable (CpModelProto *cp_model) |
void | PostsolveClause (const ConstraintProto &ct, std::vector< Domain > *domains) |
void | PostsolveLinear (const ConstraintProto &ct, const std::vector< bool > &prefer_lower_value, std::vector< Domain > *domains) |
void | PostsolveIntMax (const ConstraintProto &ct, std::vector< Domain > *domains) |
void | PostsolveElement (const ConstraintProto &ct, std::vector< Domain > *domains) |
void | PostsolveResponse (const int64 num_variables_in_original_model, const CpModelProto &mapping_proto, const std::vector< int > &postsolve_mapping, CpSolverResponse *response) |
void | LogInfoFromContext (const PresolveContext *context) |
bool | PresolveCpModel (const PresolveOptions &options, PresolveContext *context, std::vector< int > *postsolve_mapping) |
void | ApplyVariableMapping (const std::vector< int > &mapping, const PresolveContext &context) |
std::vector< int > | FindDuplicateConstraints (const CpModelProto &model_proto) |
const std::function< BooleanOrIntegerLiteral()> | ConstructSearchStrategyInternal (const absl::flat_hash_map< int, std::pair< int64, int64 >> &var_to_coeff_offset_pair, const std::vector< Strategy > &strategies, Model *model) |
std::function< BooleanOrIntegerLiteral()> | ConstructSearchStrategy (const CpModelProto &cp_model_proto, const std::vector< IntegerVariable > &variable_mapping, IntegerVariable objective_var, Model *model) |
std::function< BooleanOrIntegerLiteral()> | InstrumentSearchStrategy (const CpModelProto &cp_model_proto, const std::vector< IntegerVariable > &variable_mapping, const std::function< BooleanOrIntegerLiteral()> &instrumented_strategy, Model *model) |
std::vector< SatParameters > | GetDiverseSetOfParameters (const SatParameters &base_params, const CpModelProto &cp_model, const int num_workers) |
std::string | CpModelStats (const CpModelProto &model) |
Returns a string with some statistics on the given CpModelProto. More... | |
std::string | CpSolverResponseStats (const CpSolverResponse &response, bool has_objective=true) |
Returns a string with some statistics on the solver response. More... | |
std::function< void(Model *)> | NewFeasibleSolutionObserver (const std::function< void(const CpSolverResponse &response)> &observer) |
Creates a solution observer with the model with model.Add(NewFeasibleSolutionObserver([](response){...}));. More... | |
std::function< SatParameters(Model *)> | NewSatParameters (const std::string ¶ms) |
Creates parameters for the solver, which you can add to the model with. More... | |
std::function< SatParameters(Model *)> | NewSatParameters (const sat::SatParameters ¶meters) |
CpSolverResponse | SolveCpModel (const CpModelProto &model_proto, Model *model) |
Solves the given CpModelProto. More... | |
CpSolverResponse | Solve (const CpModelProto &model_proto) |
Solves the given CpModelProto and returns an instance of CpSolverResponse. More... | |
CpSolverResponse | SolveWithParameters (const CpModelProto &model_proto, const SatParameters ¶ms) |
Solves the given CpModelProto with the given parameters. More... | |
CpSolverResponse | SolveWithParameters (const CpModelProto &model_proto, const std::string ¶ms) |
Solves the given CpModelProto with the given sat parameters as string in JSon format, and returns an instance of CpSolverResponse. More... | |
void | SetSynchronizationFunction (std::function< CpSolverResponse()> f, Model *model) |
If set, the underlying solver will call this function regularly in a deterministic way. More... | |
std::function< SatParameters(Model *)> | NewSatParameters (const SatParameters ¶meters) |
void | FindCpModelSymmetries (const CpModelProto &problem, std::vector< std::unique_ptr< SparsePermutation >> *generators, double time_limit_seconds) |
void | SetToNegatedLinearExpression (const LinearExpressionProto &input_expr, LinearExpressionProto *output_negated_expr) |
IndexReferences | GetReferencesUsedByConstraint (const ConstraintProto &ct) |
void | ApplyToAllLiteralIndices (const std::function< void(int *)> &f, ConstraintProto *ct) |
void | ApplyToAllVariableIndices (const std::function< void(int *)> &f, ConstraintProto *ct) |
void | ApplyToAllIntervalIndices (const std::function< void(int *)> &f, ConstraintProto *ct) |
std::string | ConstraintCaseName (ConstraintProto::ConstraintCase constraint_case) |
std::vector< int > | UsedVariables (const ConstraintProto &ct) |
std::vector< int > | UsedIntervals (const ConstraintProto &ct) |
int64 | ComputeInnerObjective (const CpObjectiveProto &objective, const CpSolverResponse &response) |
int | NegatedRef (int ref) |
int | PositiveRef (int ref) |
bool | RefIsPositive (int ref) |
bool | HasEnforcementLiteral (const ConstraintProto &ct) |
int | EnforcementLiteral (const ConstraintProto &ct) |
template<typename ProtoWithDomain > | |
bool | DomainInProtoContains (const ProtoWithDomain &proto, int64 value) |
template<typename ProtoWithDomain > | |
void | FillDomainInProto (const Domain &domain, ProtoWithDomain *proto) |
template<typename ProtoWithDomain > | |
Domain | ReadDomainFromProto (const ProtoWithDomain &proto) |
template<typename ProtoWithDomain > | |
std::vector< int64 > | AllValuesInDomain (const ProtoWithDomain &proto) |
double | ScaleObjectiveValue (const CpObjectiveProto &proto, int64 value) |
double | UnscaleObjectiveValue (const CpObjectiveProto &proto, double value) |
std::function< void(Model *)> | Cumulative (const std::vector< IntervalVariable > &vars, const std::vector< AffineExpression > &demands, AffineExpression capacity, SchedulingConstraintHelper *helper) |
std::function< void(Model *)> | CumulativeTimeDecomposition (const std::vector< IntervalVariable > &vars, const std::vector< AffineExpression > &demands, AffineExpression capacity, SchedulingConstraintHelper *helper) |
void | AddCumulativeEnergyConstraint (std::vector< AffineExpression > energies, AffineExpression capacity, SchedulingConstraintHelper *helper, Model *model) |
void | AddCumulativeOverloadChecker (const std::vector< AffineExpression > &demands, AffineExpression capacity, SchedulingConstraintHelper *helper, Model *model) |
bool | LiftKnapsackCut (const LinearConstraint &constraint, const absl::StrongVector< IntegerVariable, double > &lp_values, const std::vector< IntegerValue > &cut_vars_original_coefficients, const IntegerTrail &integer_trail, TimeLimit *time_limit, LinearConstraint *cut) |
LinearConstraint | GetPreprocessedLinearConstraint (const LinearConstraint &constraint, const absl::StrongVector< IntegerVariable, double > &lp_values, const IntegerTrail &integer_trail) |
bool | ConstraintIsTriviallyTrue (const LinearConstraint &constraint, const IntegerTrail &integer_trail) |
bool | CanBeFilteredUsingCutLowerBound (const LinearConstraint &preprocessed_constraint, const absl::StrongVector< IntegerVariable, double > &lp_values, const IntegerTrail &integer_trail) |
double | GetKnapsackUpperBound (std::vector< KnapsackItem > items, const double capacity) |
bool | CanBeFilteredUsingKnapsackUpperBound (const LinearConstraint &constraint, const absl::StrongVector< IntegerVariable, double > &lp_values, const IntegerTrail &integer_trail) |
bool | CanFormValidKnapsackCover (const LinearConstraint &preprocessed_constraint, const absl::StrongVector< IntegerVariable, double > &lp_values, const IntegerTrail &integer_trail) |
void | ConvertToKnapsackForm (const LinearConstraint &constraint, std::vector< LinearConstraint > *knapsack_constraints, IntegerTrail *integer_trail) |
CutGenerator | CreateKnapsackCoverCutGenerator (const std::vector< LinearConstraint > &base_constraints, const std::vector< IntegerVariable > &vars, Model *model) |
IntegerValue | GetFactorT (IntegerValue rhs_remainder, IntegerValue divisor, IntegerValue max_t) |
std::function< IntegerValue(IntegerValue)> | GetSuperAdditiveRoundingFunction (IntegerValue rhs_remainder, IntegerValue divisor, IntegerValue t, IntegerValue max_scaling) |
CutGenerator | CreatePositiveMultiplicationCutGenerator (IntegerVariable z, IntegerVariable x, IntegerVariable y, Model *model) |
CutGenerator | CreateSquareCutGenerator (IntegerVariable y, IntegerVariable x, Model *model) |
CutGenerator | CreateAllDifferentCutGenerator (const std::vector< IntegerVariable > &vars, Model *model) |
CutGenerator | CreateLinMaxCutGenerator (const IntegerVariable target, const std::vector< LinearExpression > &exprs, const std::vector< IntegerVariable > &z_vars, Model *model) |
void | AddIntegerVariableFromIntervals (SchedulingConstraintHelper *helper, Model *model, std::vector< IntegerVariable > *vars) |
std::function< void(const absl::StrongVector< IntegerVariable, double > &, LinearConstraintManager *)> | GenerateCumulativeCut (const std::string &cut_name, SchedulingConstraintHelper *helper, const std::vector< IntegerVariable > &demands, AffineExpression capacity, Model *model) |
CutGenerator | CreateCumulativeCutGenerator (const std::vector< IntervalVariable > &intervals, const IntegerVariable capacity, const std::vector< IntegerVariable > &demands, Model *model) |
CutGenerator | CreateOverlappingCumulativeCutGenerator (const std::vector< IntervalVariable > &intervals, const IntegerVariable capacity, const std::vector< IntegerVariable > &demands, Model *model) |
CutGenerator | CreateNoOverlapCutGenerator (const std::vector< IntervalVariable > &intervals, Model *model) |
CutGenerator | CreateNoOverlapPrecedenceCutGenerator (const std::vector< IntervalVariable > &intervals, Model *model) |
CutGenerator | CreateCliqueCutGenerator (const std::vector< IntegerVariable > &base_variables, Model *model) |
void | AddCumulativeRelaxation (const std::vector< IntervalVariable > &x_intervals, SchedulingConstraintHelper *x, SchedulingConstraintHelper *y, Model *model) |
std::function< void(Model *)> | NonOverlappingRectangles (const std::vector< IntervalVariable > &x, const std::vector< IntervalVariable > &y, bool is_strict) |
std::function< void(Model *)> | Disjunctive (const std::vector< IntervalVariable > &vars) |
std::function< void(Model *)> | DisjunctiveWithBooleanPrecedencesOnly (const std::vector< IntervalVariable > &vars) |
std::function< void(Model *)> | DisjunctiveWithBooleanPrecedences (const std::vector< IntervalVariable > &vars) |
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 | AddInferedAndDeletedClauses (const std::string &file_path, DratChecker *drat_checker) |
bool | PrintClauses (const std::string &file_path, SatFormat format, const std::vector< std::vector< Literal >> &clauses, int num_variables) |
DEFINE_INT_TYPE (ClauseIndex, int) | |
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) |
EncodingNode * | MergeAllNodesWithDeque (Coefficient upper_bound, const std::vector< EncodingNode * > &nodes, SatSolver *solver, std::deque< EncodingNode > *repository) |
EncodingNode * | LazyMergeAllNodeWithPQ (const std::vector< EncodingNode * > &nodes, SatSolver *solver, std::deque< EncodingNode > *repository) |
std::vector< EncodingNode * > | CreateInitialEncodingNodes (const std::vector< Literal > &literals, const std::vector< Coefficient > &coeffs, Coefficient *offset, std::deque< EncodingNode > *repository) |
std::vector< EncodingNode * > | CreateInitialEncodingNodes (const LinearObjective &objective_proto, Coefficient *offset, std::deque< EncodingNode > *repository) |
std::vector< Literal > | ReduceNodesAndExtractAssumptions (Coefficient upper_bound, Coefficient stratified_lower_bound, Coefficient *lower_bound, std::vector< EncodingNode * > *nodes, SatSolver *solver) |
Coefficient | ComputeCoreMinWeight (const std::vector< EncodingNode * > &nodes, const std::vector< Literal > &core) |
Coefficient | MaxNodeWeightSmallerThan (const std::vector< EncodingNode * > &nodes, Coefficient upper_bound) |
void | ProcessCore (const std::vector< Literal > &core, Coefficient min_weight, std::deque< EncodingNode > *repository, std::vector< EncodingNode * > *nodes, SatSolver *solver) |
std::vector< IntegerVariable > | NegationOf (const std::vector< IntegerVariable > &vars) |
std::function< void(Model *)> | ExcludeCurrentSolutionWithoutIgnoredVariableAndBacktrack () |
DEFINE_INT_TYPE (IntegerValue, int64) | |
constexpr IntegerValue | kMaxIntegerValue (std::numeric_limits< IntegerValue::ValueType >::max() - 1) |
constexpr IntegerValue | kMinIntegerValue (-kMaxIntegerValue) |
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 | PositiveRemainder (IntegerValue dividend, IntegerValue positive_divisor) |
bool | AddProductTo (IntegerValue a, IntegerValue b, IntegerValue *result) |
DEFINE_INT_TYPE (IntegerVariable, int32) | |
const IntegerVariable | kNoIntegerVariable (-1) |
IntegerVariable | NegationOf (IntegerVariable i) |
bool | VariableIsPositive (IntegerVariable i) |
IntegerVariable | PositiveVariable (IntegerVariable i) |
DEFINE_INT_TYPE (PositiveOnlyIndex, int32) | |
PositiveOnlyIndex | GetPositiveOnlyIndex (IntegerVariable var) |
std::ostream & | operator<< (std::ostream &os, IntegerLiteral i_lit) |
std::function< BooleanVariable(Model *)> | NewBooleanVariable () |
std::function< IntegerVariable(Model *)> | ConstantIntegerVariable (int64 value) |
std::function< IntegerVariable(Model *)> | NewIntegerVariable (int64 lb, int64 ub) |
std::function< IntegerVariable(Model *)> | NewIntegerVariable (const Domain &domain) |
std::function< IntegerVariable(Model *)> | NewIntegerVariableFromLiteral (Literal lit) |
std::function< int64(const Model &)> | LowerBound (IntegerVariable v) |
std::function< int64(const Model &)> | UpperBound (IntegerVariable v) |
std::function< bool(const Model &)> | IsFixed (IntegerVariable v) |
std::function< int64(const Model &)> | Value (IntegerVariable v) |
std::function< void(Model *)> | GreaterOrEqual (IntegerVariable v, int64 lb) |
std::function< void(Model *)> | LowerOrEqual (IntegerVariable v, int64 ub) |
std::function< void(Model *)> | Equality (IntegerVariable v, int64 value) |
std::function< void(Model *)> | Implication (const std::vector< Literal > &enforcement_literals, IntegerLiteral i) |
std::function< void(Model *)> | ImpliesInInterval (Literal in_interval, IntegerVariable v, int64 lb, int64 ub) |
std::function< std::vector< IntegerEncoder::ValueLiteralPair >Model *)> | FullyEncodeVariable (IntegerVariable var) |
std::function< void(Model *)> | IsOneOf (IntegerVariable var, const std::vector< Literal > &selectors, const std::vector< IntegerValue > &values) |
template<typename VectorInt > | |
std::function< void(Model *)> | WeightedSumLowerOrEqual (const std::vector< IntegerVariable > &vars, const VectorInt &coefficients, int64 upper_bound) |
template<typename VectorInt > | |
std::function< void(Model *)> | WeightedSumGreaterOrEqual (const std::vector< IntegerVariable > &vars, const VectorInt &coefficients, int64 lower_bound) |
template<typename VectorInt > | |
std::function< void(Model *)> | FixedWeightedSum (const std::vector< IntegerVariable > &vars, const VectorInt &coefficients, int64 value) |
template<typename VectorInt > | |
std::function< void(Model *)> | ConditionalWeightedSumLowerOrEqual (const std::vector< Literal > &enforcement_literals, const std::vector< IntegerVariable > &vars, const VectorInt &coefficients, int64 upper_bound) |
template<typename VectorInt > | |
std::function< void(Model *)> | ConditionalWeightedSumGreaterOrEqual (const std::vector< Literal > &enforcement_literals, const std::vector< IntegerVariable > &vars, const VectorInt &coefficients, int64 lower_bound) |
template<typename VectorInt > | |
std::function< void(Model *)> | WeightedSumLowerOrEqualReif (Literal is_le, const std::vector< IntegerVariable > &vars, const VectorInt &coefficients, int64 upper_bound) |
template<typename VectorInt > | |
std::function< void(Model *)> | WeightedSumGreaterOrEqualReif (Literal is_ge, const std::vector< IntegerVariable > &vars, const VectorInt &coefficients, int64 lower_bound) |
void | LoadLinearConstraint (const LinearConstraint &cst, Model *model) |
void | LoadConditionalLinearConstraint (const absl::Span< const Literal > enforcement_literals, const LinearConstraint &cst, Model *model) |
template<typename VectorInt > | |
std::function< void(Model *)> | FixedWeightedSumReif (Literal is_eq, const std::vector< IntegerVariable > &vars, const VectorInt &coefficients, int64 value) |
template<typename VectorInt > | |
std::function< void(Model *)> | WeightedSumNotEqual (const std::vector< IntegerVariable > &vars, const VectorInt &coefficients, int64 value) |
template<typename VectorInt > | |
std::function< IntegerVariable(Model *)> | NewWeightedSum (const VectorInt &coefficients, const std::vector< IntegerVariable > &vars) |
std::function< void(Model *)> | IsEqualToMinOf (IntegerVariable min_var, const std::vector< IntegerVariable > &vars) |
std::function< void(Model *)> | IsEqualToMinOf (const LinearExpression &min_expr, const std::vector< LinearExpression > &exprs) |
std::function< void(Model *)> | IsEqualToMaxOf (IntegerVariable max_var, const std::vector< IntegerVariable > &vars) |
template<class T > | |
void | RegisterAndTransferOwnership (Model *model, T *ct) |
std::function< void(Model *)> | ProductConstraint (IntegerVariable a, IntegerVariable b, IntegerVariable p) |
std::function< void(Model *)> | DivisionConstraint (IntegerVariable a, IntegerVariable b, IntegerVariable c) |
std::function< void(Model *)> | FixedDivisionConstraint (IntegerVariable a, IntegerValue b, IntegerVariable c) |
IntegerLiteral | AtMinValue (IntegerVariable var, IntegerTrail *integer_trail) |
IntegerLiteral | ChooseBestObjectiveValue (IntegerVariable var, Model *model) |
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 > &solution_repo, Model *model) |
std::function< BooleanOrIntegerLiteral()> | FirstUnassignedVarAtItsMinHeuristic (const std::vector< IntegerVariable > &vars, Model *model) |
std::function< BooleanOrIntegerLiteral()> | UnassignedVarWithLowestMinAtItsMinHeuristic (const std::vector< 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()> | PseudoCost (Model *model) |
std::function< BooleanOrIntegerLiteral()> | RandomizeOnRestartHeuristic (Model *model) |
std::function< BooleanOrIntegerLiteral()> | FollowHint (const std::vector< BooleanOrIntegerVariable > &vars, const std::vector< 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 (const std::vector< std::function< BooleanOrIntegerLiteral()>> &incomplete_heuristics, const std::function< BooleanOrIntegerLiteral()> &completion_heuristic) |
SatSolver::Status | SolveIntegerProblem (Model *model) |
SatSolver::Status | ResetAndSolveIntegerProblem (const std::vector< Literal > &assumptions, Model *model) |
SatSolver::Status | SolveIntegerProblemWithLazyEncoding (Model *model) |
SatSolver::Status | ContinuousProbing (const std::vector< BooleanVariable > &bool_vars, const std::vector< IntegerVariable > &int_vars, const std::function< void()> &feasible_solution_observer, Model *model) |
IntegerLiteral | SplitDomainUsingBestSolutionValue (IntegerVariable var, Model *model) |
DEFINE_INT_TYPE (IntervalVariable, int32) | |
const IntervalVariable | kNoIntervalVariable (-1) |
std::function< IntegerVariable(const Model &)> | StartVar (IntervalVariable v) |
std::function< IntegerVariable(const Model &)> | EndVar (IntervalVariable v) |
std::function< IntegerVariable(const Model &)> | SizeVar (IntervalVariable v) |
std::function< int64(const Model &)> | MinSize (IntervalVariable v) |
std::function< int64(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 min_start, int64 max_end, int64 size) |
std::function< IntervalVariable(Model *)> | NewInterval (IntegerVariable start, IntegerVariable end, IntegerVariable size) |
std::function< IntervalVariable(Model *)> | NewIntervalWithVariableSize (int64 min_start, int64 max_end, int64 min_size, int64 max_size) |
std::function< IntervalVariable(Model *)> | NewOptionalInterval (int64 min_start, int64 max_end, int64 size, Literal is_present) |
std::function< IntervalVariable(Model *)> | NewOptionalIntervalWithOptionalVariables (int64 min_start, int64 max_end, int64 size, Literal is_present) |
std::function< IntervalVariable(Model *)> | NewOptionalInterval (IntegerVariable start, IntegerVariable end, IntegerVariable size, Literal is_present) |
std::function< IntervalVariable(Model *)> | NewOptionalIntervalWithVariableSize (int64 min_start, int64 max_end, int64 min_size, int64 max_size, Literal is_present) |
std::function< void(Model *)> | IntervalWithAlternatives (IntervalVariable master, const std::vector< IntervalVariable > &members) |
void | CleanTermsAndFillConstraint (std::vector< std::pair< IntegerVariable, IntegerValue >> *terms, LinearConstraint *constraint) |
double | ComputeActivity (const LinearConstraint &constraint, const absl::StrongVector< IntegerVariable, double > &values) |
double | ComputeL2Norm (const LinearConstraint &constraint) |
IntegerValue | ComputeInfinityNorm (const LinearConstraint &constraint) |
double | ScalarProduct (const LinearConstraint &constraint1, const LinearConstraint &constraint2) |
void | DivideByGCD (LinearConstraint *constraint) |
void | RemoveZeroTerms (LinearConstraint *constraint) |
void | MakeAllCoefficientsPositive (LinearConstraint *constraint) |
void | MakeAllVariablesPositive (LinearConstraint *constraint) |
void | CanonicalizeConstraint (LinearConstraint *ct) |
bool | NoDuplicateVariable (const LinearConstraint &ct) |
LinearExpression | CanonicalizeExpr (const LinearExpression &expr) |
IntegerValue | LinExprLowerBound (const LinearExpression &expr, const IntegerTrail &integer_trail) |
IntegerValue | LinExprUpperBound (const LinearExpression &expr, 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) |
void | SeparateSubtourInequalities (int num_nodes, const std::vector< int > &tails, const std::vector< int > &heads, const std::vector< Literal > &literals, const absl::StrongVector< IntegerVariable, double > &lp_values, absl::Span< const int64 > demands, int64 capacity, LinearConstraintManager *manager, Model *model) |
CutGenerator | CreateStronglyConnectedGraphCutGenerator (int num_nodes, const std::vector< int > &tails, const std::vector< int > &heads, const std::vector< Literal > &literals, Model *model) |
CutGenerator | CreateCVRPCutGenerator (int num_nodes, const std::vector< int > &tails, const std::vector< int > &heads, const std::vector< Literal > &literals, const std::vector< int64 > &demands, int64 capacity, Model *model) |
bool | AppendFullEncodingRelaxation (IntegerVariable var, const Model &model, LinearRelaxation *relaxation) |
void | AppendPartialEncodingRelaxation (IntegerVariable var, const Model &model, LinearRelaxation *relaxation) |
void | AppendPartialGreaterThanEncodingRelaxation (IntegerVariable var, const Model &model, LinearRelaxation *relaxation) |
void | TryToLinearizeConstraint (const CpModelProto &model_proto, const ConstraintProto &ct, Model *model, int linearization_level, LinearRelaxation *relaxation) |
void | AddCumulativeCut (const std::vector< IntervalVariable > &intervals, const std::vector< IntegerVariable > &demands, IntegerValue capacity_lower_bound, Model *model, LinearRelaxation *relaxation) |
void | AppendCumulativeRelaxation (const CpModelProto &model_proto, const ConstraintProto &ct, int linearization_level, Model *model, LinearRelaxation *relaxation) |
void | AppendNoOverlapRelaxation (const CpModelProto &model_proto, const ConstraintProto &ct, int linearization_level, Model *model, LinearRelaxation *relaxation) |
void | AppendMaxRelaxation (IntegerVariable target, const std::vector< IntegerVariable > &vars, int linearization_level, Model *model, LinearRelaxation *relaxation) |
std::vector< IntegerVariable > | AppendLinMaxRelaxation (IntegerVariable target, const std::vector< LinearExpression > &exprs, Model *model, LinearRelaxation *relaxation) |
void | AppendLinearConstraintRelaxation (const ConstraintProto &constraint_proto, const int linearization_level, const Model &model, LinearRelaxation *relaxation) |
std::vector< double > | ScaleContinuousVariables (double scaling, double max_bound, MPModelProto *mp_model) |
int | FindRationalFactor (double x, int limit, double tolerance) |
void | RemoveNearZeroTerms (const SatParameters ¶ms, MPModelProto *mp_model) |
std::vector< double > | DetectImpliedIntegers (bool log_info, MPModelProto *mp_model) |
bool | ConvertMPModelProtoToCpModelProto (const SatParameters ¶ms, const MPModelProto &mp_model, CpModelProto *cp_model) |
bool | ConvertBinaryMPModelProtoToBooleanProblem (const MPModelProto &mp_model, LinearBooleanProblem *problem) |
void | ConvertBooleanProblemToLinearProgram (const LinearBooleanProblem &problem, glop::LinearProgram *lp) |
int | FixVariablesFromSat (const SatSolver &solver, glop::LinearProgram *lp) |
bool | SolveLpAndUseSolutionForSatAssignmentPreference (const glop::LinearProgram &lp, SatSolver *sat_solver, double max_time_in_seconds) |
bool | SolveLpAndUseIntegerVariableToStartLNS (const glop::LinearProgram &lp, LinearBooleanProblem *problem) |
void | MinimizeCoreWithPropagation (SatSolver *solver, std::vector< Literal > *core) |
SatSolver::Status | SolveWithFuMalik (LogBehavior log, const LinearBooleanProblem &problem, SatSolver *solver, std::vector< bool > *solution) |
SatSolver::Status | SolveWithWPM1 (LogBehavior log, const LinearBooleanProblem &problem, SatSolver *solver, std::vector< bool > *solution) |
SatSolver::Status | SolveWithRandomParameters (LogBehavior log, const LinearBooleanProblem &problem, int num_times, SatSolver *solver, std::vector< bool > *solution) |
SatSolver::Status | SolveWithLinearScan (LogBehavior log, const LinearBooleanProblem &problem, SatSolver *solver, std::vector< bool > *solution) |
SatSolver::Status | SolveWithCardinalityEncoding (LogBehavior log, const LinearBooleanProblem &problem, SatSolver *solver, std::vector< bool > *solution) |
SatSolver::Status | SolveWithCardinalityEncodingAndCore (LogBehavior log, const LinearBooleanProblem &problem, SatSolver *solver, std::vector< bool > *solution) |
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) |
SatSolver::Status | MinimizeWithHittingSetAndLazyEncoding (const ObjectiveDefinition &objective_definition, const std::function< void()> &feasible_solution_observer, Model *model) |
bool | ComputeBooleanLinearExpressionCanonicalForm (std::vector< LiteralWithCoeff > *cst, Coefficient *bound_shift, Coefficient *max_value) |
bool | ApplyLiteralMapping (const absl::StrongVector< LiteralIndex, LiteralIndex > &mapping, std::vector< LiteralWithCoeff > *cst, Coefficient *bound_shift, Coefficient *max_value) |
bool | BooleanLinearExpressionIsCanonical (const std::vector< 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_INT_TYPE (Coefficient, int64) | |
const Coefficient | kCoefficientMax (std::numeric_limits< Coefficient::ValueType >::max()) |
std::ostream & | operator<< (std::ostream &os, LiteralWithCoeff term) |
std::function< void(Model *)> | LowerOrEqual (IntegerVariable a, IntegerVariable b) |
std::function< void(Model *)> | LowerOrEqualWithOffset (IntegerVariable a, IntegerVariable b, int64 offset) |
std::function< void(Model *)> | Sum2LowerOrEqual (IntegerVariable a, IntegerVariable b, int64 ub) |
std::function< void(Model *)> | ConditionalSum2LowerOrEqual (IntegerVariable a, IntegerVariable b, int64 ub, const std::vector< Literal > &enforcement_literals) |
std::function< void(Model *)> | Sum3LowerOrEqual (IntegerVariable a, IntegerVariable b, IntegerVariable c, int64 ub) |
std::function< void(Model *)> | ConditionalSum3LowerOrEqual (IntegerVariable a, IntegerVariable b, IntegerVariable c, int64 ub, const std::vector< Literal > &enforcement_literals) |
std::function< void(Model *)> | GreaterOrEqual (IntegerVariable a, IntegerVariable b) |
std::function< void(Model *)> | Equality (IntegerVariable a, IntegerVariable b) |
std::function< void(Model *)> | EqualityWithOffset (IntegerVariable a, IntegerVariable b, int64 offset) |
std::function< void(Model *)> | ConditionalLowerOrEqualWithOffset (IntegerVariable a, IntegerVariable b, int64 offset, Literal is_le) |
std::function< void(Model *)> | ConditionalLowerOrEqual (IntegerVariable a, IntegerVariable b, Literal is_le) |
std::function< void(Model *)> | ConditionalLowerOrEqual (IntegerVariable a, IntegerVariable b, absl::Span< const Literal > literals) |
std::function< void(Model *)> | ReifiedLowerOrEqualWithOffset (IntegerVariable a, IntegerVariable b, int64 offset, Literal is_le) |
std::function< void(Model *)> | ReifiedEquality (IntegerVariable a, IntegerVariable b, Literal is_eq) |
std::function< void(Model *)> | ReifiedEqualityWithOffset (IntegerVariable a, IntegerVariable b, int64 offset, Literal is_eq) |
std::function< void(Model *)> | NotEqual (IntegerVariable a, IntegerVariable b) |
void | SubstituteVariable (int var, int64 var_coeff_in_definition, const ConstraintProto &definition, ConstraintProto *ct) |
bool | LookForTrivialSatSolution (double deterministic_time_limit, Model *model, bool log_info) |
bool | FailedLiteralProbingRound (ProbingOptions options, Model *model) |
std::vector< PseudoCosts::VariableBoundChange > | GetBoundChanges (LiteralIndex decision, Model *model) |
int | SUniv (int i) |
void | RecordLPRelaxationValues (Model *model) |
RINSNeighborhood | GetRINSNeighborhood (const SharedResponseManager *response_manager, const SharedRelaxationSolutionRepository *relaxation_solutions, const SharedLPSolutionRepository *lp_solutions, SharedIncompleteSolutionManager *incomplete_solutions, random_engine_t *random) |
DEFINE_INT_TYPE (BooleanVariable, int) | |
const BooleanVariable | kNoBooleanVariable (-1) |
DEFINE_INT_TYPE (LiteralIndex, int) | |
const LiteralIndex | kNoLiteralIndex (-1) |
const LiteralIndex | kTrueLiteralIndex (-2) |
const LiteralIndex | kFalseLiteralIndex (-3) |
std::ostream & | operator<< (std::ostream &os, Literal literal) |
std::ostream & | operator<< (std::ostream &os, absl::Span< const Literal > literals) |
std::string | SatStatusString (SatSolver::Status status) |
void | MinimizeCore (SatSolver *solver, std::vector< Literal > *core) |
std::function< void(Model *)> | BooleanLinearConstraint (int64 lower_bound, int64 upper_bound, std::vector< LiteralWithCoeff > *cst) |
std::function< void(Model *)> | CardinalityConstraint (int64 lower_bound, int64 upper_bound, const std::vector< Literal > &literals) |
std::function< void(Model *)> | ExactlyOneConstraint (const std::vector< Literal > &literals) |
std::function< void(Model *)> | AtMostOneConstraint (const std::vector< 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 (const std::vector< 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 (const std::vector< Literal > &literals, Literal r) |
std::function< void(Model *)> | ReifiedBoolLe (Literal a, Literal b, Literal r) |
std::function< int64(const Model &)> | Value (Literal l) |
std::function< int64(const Model &)> | Value (BooleanVariable b) |
std::function< void(Model *)> | ExcludeCurrentSolutionAndBacktrack () |
std::ostream & | operator<< (std::ostream &os, SatSolver::Status status) |
std::function< void(Model *)> | EqualMinOfSelectedVariables (Literal enforcement_literal, AffineExpression target, const std::vector< AffineExpression > &exprs, const std::vector< Literal > &selectors) |
std::function< void(Model *)> | EqualMaxOfSelectedVariables (Literal enforcement_literal, AffineExpression target, const std::vector< AffineExpression > &exprs, const std::vector< Literal > &selectors) |
std::function< void(Model *)> | SpanOfIntervals (IntervalVariable span, const std::vector< IntervalVariable > &intervals) |
bool | SimplifyClause (const std::vector< Literal > &a, std::vector< Literal > *b, LiteralIndex *opposite_literal, int64 *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, DratProofHandler *drat_proof_handler, absl::StrongVector< LiteralIndex, LiteralIndex > *mapping) |
SatSolver::Status | SolveWithPresolve (std::unique_ptr< SatSolver > *solver, TimeLimit *time_limit, std::vector< bool > *solution, DratProofHandler *drat_proof_handler) |
void | SequentialLoop (const std::vector< std::unique_ptr< SubSolver >> &subsolvers) |
void | DeterministicLoop (const std::vector< std::unique_ptr< SubSolver >> &subsolvers, int num_threads, int batch_size) |
void | NonDeterministicLoop (const std::vector< std::unique_ptr< SubSolver >> &subsolvers, int num_threads) |
void | AddTableConstraint (absl::Span< const IntegerVariable > vars, std::vector< std::vector< int64 >> tuples, Model *model) |
void | AddNegatedTableConstraint (absl::Span< const IntegerVariable > vars, std::vector< std::vector< int64 >> tuples, Model *model) |
std::function< void(Model *)> | LiteralTableConstraint (const std::vector< std::vector< Literal >> &literal_tuples, const std::vector< Literal > &line_literals) |
std::function< void(Model *)> | TransitionConstraint (const std::vector< IntegerVariable > &vars, const std::vector< std::vector< int64 >> &automaton, int64 initial_state, const std::vector< int64 > &final_states) |
template<typename IntegerType > | |
constexpr IntegerType | IntegerTypeMinimumValue () |
template<> | |
constexpr IntegerValue | IntegerTypeMinimumValue () |
int | MoveOneUnprocessedLiteralLast (const std::set< LiteralIndex > &processed, int relevant_prefix_size, std::vector< Literal > *literals) |
void | CompressTuples (absl::Span< const int64 > domain_sizes, int64 any_value, std::vector< std::vector< int64 >> *tuples) |
template<typename URBG > | |
void | RandomizeDecisionHeuristic (URBG *random, SatParameters *parameters) |
void | DetectDominanceRelations (const PresolveContext &context, VarDomination *var_domination, DualBoundStrengthening *dual_bound_strengthening) |
bool | ExploitDominanceRelations (const VarDomination &var_domination, PresolveContext *context) |
using InlinedIntegerLiteralVector = absl::InlinedVector<IntegerLiteral, 2> |
enum CpSolverStatus : int |
Enumerator | |
---|---|
UNKNOWN | |
MODEL_INVALID | |
FEASIBLE | |
INFEASIBLE | |
OPTIMAL | |
CpSolverStatus_INT_MIN_SENTINEL_DO_NOT_USE_ | |
CpSolverStatus_INT_MAX_SENTINEL_DO_NOT_USE_ |
Definition at line 222 of file cp_model.pb.h.
Definition at line 194 of file cp_model.pb.h.
Definition at line 166 of file cp_model.pb.h.
enum LogBehavior |
Enumerator | |
---|---|
DEFAULT_LOG | |
STDOUT_LOG |
Definition at line 44 of file optimization.h.
enum SatFormat |
Enumerator | |
---|---|
DIMACS | |
DRAT |
Definition at line 326 of file drat_checker.h.
enum SatParameters_BinaryMinizationAlgorithm : int |
Definition at line 145 of file sat_parameters.pb.h.
enum SatParameters_ClauseOrdering : int |
Enumerator | |
---|---|
SatParameters_ClauseOrdering_CLAUSE_ACTIVITY | |
SatParameters_ClauseOrdering_CLAUSE_LBD |
Definition at line 195 of file sat_parameters.pb.h.
enum SatParameters_ClauseProtection : int |
Enumerator | |
---|---|
SatParameters_ClauseProtection_PROTECTION_NONE | |
SatParameters_ClauseProtection_PROTECTION_ALWAYS | |
SatParameters_ClauseProtection_PROTECTION_LBD |
Definition at line 171 of file sat_parameters.pb.h.
enum SatParameters_ConflictMinimizationAlgorithm : int |
Definition at line 120 of file sat_parameters.pb.h.
enum SatParameters_FPRoundingMethod : int |
Enumerator | |
---|---|
SatParameters_FPRoundingMethod_NEAREST_INTEGER | |
SatParameters_FPRoundingMethod_LOCK_BASED | |
SatParameters_FPRoundingMethod_ACTIVE_LOCK_BASED | |
SatParameters_FPRoundingMethod_PROPAGATION_ASSISTED |
Definition at line 320 of file sat_parameters.pb.h.
enum SatParameters_MaxSatAssumptionOrder : int |
Enumerator | |
---|---|
SatParameters_MaxSatAssumptionOrder_DEFAULT_ASSUMPTION_ORDER | |
SatParameters_MaxSatAssumptionOrder_ORDER_ASSUMPTION_BY_DEPTH | |
SatParameters_MaxSatAssumptionOrder_ORDER_ASSUMPTION_BY_WEIGHT |
Definition at line 244 of file sat_parameters.pb.h.
enum SatParameters_MaxSatStratificationAlgorithm : int |
Definition at line 268 of file sat_parameters.pb.h.
enum SatParameters_Polarity : int |
Definition at line 94 of file sat_parameters.pb.h.
enum SatParameters_RestartAlgorithm : int |
Definition at line 218 of file sat_parameters.pb.h.
enum SatParameters_SearchBranching : int |
Definition at line 292 of file sat_parameters.pb.h.
enum SatParameters_VariableOrder : int |
Enumerator | |
---|---|
SatParameters_VariableOrder_IN_ORDER | |
SatParameters_VariableOrder_IN_REVERSE_ORDER | |
SatParameters_VariableOrder_IN_RANDOM_ORDER |
Definition at line 70 of file sat_parameters.pb.h.
void operations_research::sat::AddCumulativeCut | ( | const std::vector< IntervalVariable > & | intervals, |
const std::vector< IntegerVariable > & | demands, | ||
IntegerValue | capacity_lower_bound, | ||
Model * | model, | ||
LinearRelaxation * | relaxation | ||
) |
Definition at line 488 of file linear_relaxation.cc.
void AddCumulativeEnergyConstraint | ( | std::vector< AffineExpression > | energies, |
AffineExpression | capacity, | ||
SchedulingConstraintHelper * | helper, | ||
Model * | model | ||
) |
Definition at line 27 of file cumulative_energy.cc.
void AddCumulativeOverloadChecker | ( | const std::vector< AffineExpression > & | demands, |
AffineExpression | capacity, | ||
SchedulingConstraintHelper * | helper, | ||
Model * | model | ||
) |
Definition at line 40 of file cumulative_energy.cc.
void AddCumulativeRelaxation | ( | const std::vector< IntervalVariable > & | x_intervals, |
SchedulingConstraintHelper * | x, | ||
SchedulingConstraintHelper * | y, | ||
Model * | model | ||
) |
Definition at line 77 of file sat/diffn.cc.
bool AddInferedAndDeletedClauses | ( | const std::string & | file_path, |
DratChecker * | drat_checker | ||
) |
Definition at line 550 of file drat_checker.cc.
void operations_research::sat::AddIntegerVariableFromIntervals | ( | SchedulingConstraintHelper * | helper, |
Model * | model, | ||
std::vector< IntegerVariable > * | vars | ||
) |
void AddNegatedTableConstraint | ( | absl::Span< const IntegerVariable > | vars, |
std::vector< std::vector< int64 >> | tuples, | ||
Model * | model | ||
) |
Definition at line 457 of file sat/table.cc.
bool AddObjectiveConstraint | ( | const LinearBooleanProblem & | problem, |
bool | use_lower_bound, | ||
Coefficient | lower_bound, | ||
bool | use_upper_bound, | ||
Coefficient | upper_bound, | ||
SatSolver * | solver | ||
) |
Definition at line 336 of file boolean_problem.cc.
bool AddObjectiveUpperBound | ( | const LinearBooleanProblem & | problem, |
Coefficient | upper_bound, | ||
SatSolver * | solver | ||
) |
Definition at line 328 of file boolean_problem.cc.
|
inline |
Definition at line 39 of file boolean_problem.h.
bool AddProblemClauses | ( | const std::string & | file_path, |
DratChecker * | drat_checker | ||
) |
Definition at line 501 of file drat_checker.cc.
|
inline |
void AddTableConstraint | ( | absl::Span< const IntegerVariable > | vars, |
std::vector< std::vector< int64 >> | tuples, | ||
Model * | model | ||
) |
Definition at line 248 of file sat/table.cc.
std::function< void(Model *)> AllDifferentAC | ( | const std::vector< IntegerVariable > & | variables | ) |
Definition at line 76 of file all_different.cc.
std::function< void(Model *)> AllDifferentBinary | ( | const std::vector< IntegerVariable > & | vars | ) |
Definition at line 31 of file all_different.cc.
std::function< void(Model *)> AllDifferentOnBounds | ( | const std::vector< IntegerVariable > & | vars | ) |
Definition at line 65 of file all_different.cc.
std::vector<int64> operations_research::sat::AllValuesInDomain | ( | const ProtoWithDomain & | proto | ) |
Definition at line 116 of file cp_model_utils.h.
void AppendCumulativeRelaxation | ( | const CpModelProto & | model_proto, |
const ConstraintProto & | ct, | ||
int | linearization_level, | ||
Model * | model, | ||
LinearRelaxation * | relaxation | ||
) |
Definition at line 580 of file linear_relaxation.cc.
bool AppendFullEncodingRelaxation | ( | IntegerVariable | var, |
const Model & | model, | ||
LinearRelaxation * | relaxation | ||
) |
Definition at line 33 of file linear_relaxation.cc.
void AppendLinearConstraintRelaxation | ( | const ConstraintProto & | constraint_proto, |
const int | linearization_level, | ||
const Model & | model, | ||
LinearRelaxation * | relaxation | ||
) |
Definition at line 785 of file linear_relaxation.cc.
std::vector< IntegerVariable > AppendLinMaxRelaxation | ( | IntegerVariable | target, |
const std::vector< LinearExpression > & | exprs, | ||
Model * | model, | ||
LinearRelaxation * | relaxation | ||
) |
Definition at line 688 of file linear_relaxation.cc.
void AppendMaxRelaxation | ( | IntegerVariable | target, |
const std::vector< IntegerVariable > & | vars, | ||
int | linearization_level, | ||
Model * | model, | ||
LinearRelaxation * | relaxation | ||
) |
Definition at line 614 of file linear_relaxation.cc.
void AppendNoOverlapRelaxation | ( | const CpModelProto & | model_proto, |
const ConstraintProto & | ct, | ||
int | linearization_level, | ||
Model * | model, | ||
LinearRelaxation * | relaxation | ||
) |
Definition at line 599 of file linear_relaxation.cc.
void AppendPartialEncodingRelaxation | ( | IntegerVariable | var, |
const Model & | model, | ||
LinearRelaxation * | relaxation | ||
) |
Definition at line 110 of file linear_relaxation.cc.
void AppendPartialGreaterThanEncodingRelaxation | ( | IntegerVariable | var, |
const Model & | model, | ||
LinearRelaxation * | relaxation | ||
) |
Definition at line 185 of file linear_relaxation.cc.
bool ApplyLiteralMapping | ( | const absl::StrongVector< LiteralIndex, LiteralIndex > & | mapping, |
std::vector< LiteralWithCoeff > * | cst, | ||
Coefficient * | bound_shift, | ||
Coefficient * | max_value | ||
) |
Definition at line 102 of file pb_constraint.cc.
void ApplyLiteralMappingToBooleanProblem | ( | const absl::StrongVector< LiteralIndex, LiteralIndex > & | mapping, |
LinearBooleanProblem * | problem | ||
) |
Definition at line 743 of file boolean_problem.cc.
void ApplyToAllIntervalIndices | ( | const std::function< void(int *)> & | f, |
ConstraintProto * | ct | ||
) |
Definition at line 310 of file cp_model_utils.cc.
void ApplyToAllLiteralIndices | ( | const std::function< void(int *)> & | f, |
ConstraintProto * | ct | ||
) |
Definition at line 157 of file cp_model_utils.cc.
void ApplyToAllVariableIndices | ( | const std::function< void(int *)> & | f, |
ConstraintProto * | ct | ||
) |
Definition at line 221 of file cp_model_utils.cc.
void ApplyVariableMapping | ( | const std::vector< int > & | mapping, |
const PresolveContext & | context | ||
) |
Definition at line 5046 of file cp_model_presolve.cc.
IntegerLiteral AtMinValue | ( | IntegerVariable | var, |
IntegerTrail * | integer_trail | ||
) |
Definition at line 39 of file integer_search.cc.
|
inline |
Definition at line 891 of file sat_solver.h.
|
inline |
Definition at line 853 of file sat_solver.h.
bool BooleanLinearExpressionIsCanonical | ( | const std::vector< LiteralWithCoeff > & | cst | ) |
Definition at line 135 of file pb_constraint.cc.
CpModelProto BooleanProblemToCpModelproto | ( | const LinearBooleanProblem & | problem | ) |
Definition at line 151 of file boolean_problem.cc.
bool CanBeFilteredUsingCutLowerBound | ( | const LinearConstraint & | preprocessed_constraint, |
const absl::StrongVector< IntegerVariable, double > & | lp_values, | ||
const IntegerTrail & | integer_trail | ||
) |
bool CanBeFilteredUsingKnapsackUpperBound | ( | const LinearConstraint & | constraint, |
const absl::StrongVector< IntegerVariable, double > & | lp_values, | ||
const IntegerTrail & | integer_trail | ||
) |
bool CanFormValidKnapsackCover | ( | const LinearConstraint & | preprocessed_constraint, |
const absl::StrongVector< IntegerVariable, double > & | lp_values, | ||
const IntegerTrail & | integer_trail | ||
) |
void CanonicalizeConstraint | ( | LinearConstraint * | ct | ) |
Definition at line 243 of file linear_constraint.cc.
LinearExpression CanonicalizeExpr | ( | const LinearExpression & | expr | ) |
Definition at line 277 of file linear_constraint.cc.
|
inline |
Definition at line 862 of file sat_solver.h.
|
inline |
void ChangeOptimizationDirection | ( | LinearBooleanProblem * | problem | ) |
Definition at line 208 of file boolean_problem.cc.
IntegerLiteral ChooseBestObjectiveValue | ( | IntegerVariable | var, |
Model * | model | ||
) |
Definition at line 47 of file integer_search.cc.
std::function< void(Model *)> CircuitCovering | ( | const std::vector< std::vector< Literal >> & | graph, |
const std::vector< int > & | distinguished_nodes | ||
) |
Definition at line 513 of file circuit.cc.
|
inline |
Definition at line 905 of file sat_solver.h.
void CleanTermsAndFillConstraint | ( | std::vector< std::pair< IntegerVariable, IntegerValue >> * | terms, |
LinearConstraint * | constraint | ||
) |
Definition at line 82 of file linear_constraint.cc.
std::vector< std::function< BooleanOrIntegerLiteral()> > CompleteHeuristics | ( | const std::vector< std::function< BooleanOrIntegerLiteral()>> & | incomplete_heuristics, |
const std::function< BooleanOrIntegerLiteral()> & | completion_heuristic | ||
) |
Definition at line 639 of file integer_search.cc.
void CompressTuples | ( | absl::Span< const int64 > | domain_sizes, |
int64 | any_value, | ||
std::vector< std::vector< int64 >> * | tuples | ||
) |
Definition at line 112 of file sat/util.cc.
double ComputeActivity | ( | const LinearConstraint & | constraint, |
const absl::StrongVector< IntegerVariable, double > & | values | ||
) |
Definition at line 121 of file linear_constraint.cc.
bool ComputeBooleanLinearExpressionCanonicalForm | ( | std::vector< LiteralWithCoeff > * | cst, |
Coefficient * | bound_shift, | ||
Coefficient * | max_value | ||
) |
Definition at line 40 of file pb_constraint.cc.
Coefficient ComputeCanonicalRhs | ( | Coefficient | upper_bound, |
Coefficient | bound_shift, | ||
Coefficient | max_value | ||
) |
Definition at line 159 of file pb_constraint.cc.
Coefficient ComputeCoreMinWeight | ( | const std::vector< EncodingNode * > & | nodes, |
const std::vector< Literal > & | core | ||
) |
Definition at line 418 of file encoding.cc.
IntegerValue ComputeInfinityNorm | ( | const LinearConstraint & | constraint | ) |
Definition at line 141 of file linear_constraint.cc.
int64 ComputeInnerObjective | ( | const CpObjectiveProto & | objective, |
const CpSolverResponse & | response | ||
) |
Definition at line 506 of file cp_model_utils.cc.
double ComputeL2Norm | ( | const LinearConstraint & | constraint | ) |
Definition at line 133 of file linear_constraint.cc.
Coefficient ComputeNegatedCanonicalRhs | ( | Coefficient | lower_bound, |
Coefficient | bound_shift, | ||
Coefficient | max_value | ||
) |
Definition at line 177 of file pb_constraint.cc.
Coefficient ComputeObjectiveValue | ( | const LinearBooleanProblem & | problem, |
const std::vector< bool > & | assignment | ||
) |
Definition at line 346 of file boolean_problem.cc.
bool ComputeResolvant | ( | Literal | x, |
const std::vector< Literal > & | a, | ||
const std::vector< Literal > & | b, | ||
std::vector< Literal > * | out | ||
) |
Definition at line 1012 of file simplification.cc.
int ComputeResolvantSize | ( | Literal | x, |
const std::vector< Literal > & | a, | ||
const std::vector< Literal > & | b | ||
) |
Definition at line 1047 of file simplification.cc.
|
inline |
Definition at line 435 of file precedences.h.
|
inline |
Definition at line 428 of file precedences.h.
|
inline |
Definition at line 419 of file precedences.h.
|
inline |
Definition at line 359 of file precedences.h.
|
inline |
Definition at line 381 of file precedences.h.
|
inline |
Definition at line 514 of file integer_expr.h.
|
inline |
Definition at line 426 of file integer_expr.h.
void ConfigureSearchHeuristics | ( | Model * | model | ) |
Definition at line 527 of file integer_search.cc.
std::string ConstraintCaseName | ( | ConstraintProto::ConstraintCase | constraint_case | ) |
Definition at line 373 of file cp_model_utils.cc.
bool ConstraintIsTriviallyTrue | ( | const LinearConstraint & | constraint, |
const IntegerTrail & | integer_trail | ||
) |
std::function< BooleanOrIntegerLiteral()> ConstructSearchStrategy | ( | const CpModelProto & | cp_model_proto, |
const std::vector< IntegerVariable > & | variable_mapping, | ||
IntegerVariable | objective_var, | ||
Model * | model | ||
) |
Definition at line 173 of file cp_model_search.cc.
const std::function<BooleanOrIntegerLiteral()> operations_research::sat::ConstructSearchStrategyInternal | ( | const absl::flat_hash_map< int, std::pair< int64, int64 >> & | var_to_coeff_offset_pair, |
const std::vector< Strategy > & | strategies, | ||
Model * | model | ||
) |
Definition at line 42 of file cp_model_search.cc.
Definition at line 460 of file drat_checker.cc.
SatSolver::Status ContinuousProbing | ( | const std::vector< BooleanVariable > & | bool_vars, |
const std::vector< IntegerVariable > & | int_vars, | ||
const std::function< void()> & | feasible_solution_observer, | ||
Model * | model | ||
) |
Definition at line 926 of file integer_search.cc.
bool ConvertBinaryMPModelProtoToBooleanProblem | ( | const MPModelProto & | mp_model, |
LinearBooleanProblem * | problem | ||
) |
Definition at line 915 of file sat/lp_utils.cc.
void ConvertBooleanProblemToLinearProgram | ( | const LinearBooleanProblem & | problem, |
glop::LinearProgram * | lp | ||
) |
Definition at line 1090 of file sat/lp_utils.cc.
bool ConvertMPModelProtoToCpModelProto | ( | const SatParameters & | params, |
const MPModelProto & | mp_model, | ||
CpModelProto * | cp_model | ||
) |
Definition at line 643 of file sat/lp_utils.cc.
void ConvertToKnapsackForm | ( | const LinearConstraint & | constraint, |
std::vector< LinearConstraint > * | knapsack_constraints, | ||
IntegerTrail * | integer_trail | ||
) |
std::string CpModelStats | ( | const CpModelProto & | model_proto | ) |
Returns a string with some statistics on the given CpModelProto.
Definition at line 151 of file cp_model_solver.cc.
std::string 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 283 of file cp_model_solver.cc.
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * CpSolverStatus_descriptor | ( | ) |
Definition at line 1031 of file cp_model.pb.cc.
bool CpSolverStatus_IsValid | ( | int | value | ) |
Definition at line 1035 of file cp_model.pb.cc.
|
inline |
Definition at line 238 of file cp_model.pb.h.
|
inline |
Definition at line 245 of file cp_model.pb.h.
CutGenerator CreateAllDifferentCutGenerator | ( | const std::vector< IntegerVariable > & | vars, |
Model * | model | ||
) |
CutGenerator CreateCliqueCutGenerator | ( | const std::vector< IntegerVariable > & | base_variables, |
Model * | model | ||
) |
CutGenerator CreateCumulativeCutGenerator | ( | const std::vector< IntervalVariable > & | intervals, |
const IntegerVariable | capacity, | ||
const std::vector< IntegerVariable > & | demands, | ||
Model * | model | ||
) |
CutGenerator CreateCVRPCutGenerator | ( | int | num_nodes, |
const std::vector< int > & | tails, | ||
const std::vector< int > & | heads, | ||
const std::vector< Literal > & | literals, | ||
const std::vector< int64 > & | demands, | ||
int64 | capacity, | ||
Model * | model | ||
) |
Definition at line 2528 of file linear_programming_constraint.cc.
std::vector< EncodingNode * > CreateInitialEncodingNodes | ( | const LinearObjective & | objective_proto, |
Coefficient * | offset, | ||
std::deque< EncodingNode > * | repository | ||
) |
Definition at line 327 of file encoding.cc.
std::vector< EncodingNode * > CreateInitialEncodingNodes | ( | const std::vector< Literal > & | literals, |
const std::vector< Coefficient > & | coeffs, | ||
Coefficient * | offset, | ||
std::deque< EncodingNode > * | repository | ||
) |
Definition at line 302 of file encoding.cc.
CutGenerator CreateKnapsackCoverCutGenerator | ( | const std::vector< LinearConstraint > & | base_constraints, |
const std::vector< IntegerVariable > & | vars, | ||
Model * | model | ||
) |
CutGenerator CreateLinMaxCutGenerator | ( | const IntegerVariable | target, |
const std::vector< LinearExpression > & | exprs, | ||
const std::vector< IntegerVariable > & | z_vars, | ||
Model * | model | ||
) |
CutGenerator CreateNoOverlapCutGenerator | ( | const std::vector< IntervalVariable > & | intervals, |
Model * | model | ||
) |
CutGenerator CreateNoOverlapPrecedenceCutGenerator | ( | const std::vector< IntervalVariable > & | intervals, |
Model * | model | ||
) |
CutGenerator CreateOverlappingCumulativeCutGenerator | ( | const std::vector< IntervalVariable > & | intervals, |
const IntegerVariable | capacity, | ||
const std::vector< IntegerVariable > & | demands, | ||
Model * | model | ||
) |
CutGenerator CreatePositiveMultiplicationCutGenerator | ( | IntegerVariable | z, |
IntegerVariable | x, | ||
IntegerVariable | y, | ||
Model * | model | ||
) |
CutGenerator CreateSquareCutGenerator | ( | IntegerVariable | y, |
IntegerVariable | x, | ||
Model * | model | ||
) |
CutGenerator CreateStronglyConnectedGraphCutGenerator | ( | int | num_nodes, |
const std::vector< int > & | tails, | ||
const std::vector< int > & | heads, | ||
const std::vector< Literal > & | literals, | ||
Model * | model | ||
) |
Definition at line 2512 of file linear_programming_constraint.cc.
std::function< void(Model *)> Cumulative | ( | const std::vector< IntervalVariable > & | vars, |
const std::vector< AffineExpression > & | demands, | ||
AffineExpression | capacity, | ||
SchedulingConstraintHelper * | helper | ||
) |
Definition at line 35 of file cumulative.cc.
std::function< void(Model *)> CumulativeTimeDecomposition | ( | const std::vector< IntervalVariable > & | vars, |
const std::vector< AffineExpression > & | demands, | ||
AffineExpression | capacity, | ||
SchedulingConstraintHelper * | helper | ||
) |
Definition at line 154 of file cumulative.cc.
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DecisionStrategyProto_DomainReductionStrategy_descriptor | ( | ) |
Definition at line 1004 of file cp_model.pb.cc.
bool DecisionStrategyProto_DomainReductionStrategy_IsValid | ( | int | value | ) |
Definition at line 1008 of file cp_model.pb.cc.
|
inline |
Definition at line 210 of file cp_model.pb.h.
|
inline |
Definition at line 217 of file cp_model.pb.h.
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * DecisionStrategyProto_VariableSelectionStrategy_descriptor | ( | ) |
Definition at line 977 of file cp_model.pb.cc.
bool DecisionStrategyProto_VariableSelectionStrategy_IsValid | ( | int | value | ) |
Definition at line 981 of file cp_model.pb.cc.
|
inline |
Definition at line 182 of file cp_model.pb.h.
|
inline |
Definition at line 189 of file cp_model.pb.h.
operations_research::sat::DEFINE_INT_TYPE | ( | BooleanVariable | , |
int | |||
) |
operations_research::sat::DEFINE_INT_TYPE | ( | ClauseIndex | , |
int | |||
) |
operations_research::sat::DEFINE_INT_TYPE | ( | Coefficient | , |
int64 | |||
) |
operations_research::sat::DEFINE_INT_TYPE | ( | IntegerValue | , |
int64 | |||
) |
operations_research::sat::DEFINE_INT_TYPE | ( | IntegerVariable | , |
int32 | |||
) |
operations_research::sat::DEFINE_INT_TYPE | ( | IntervalVariable | , |
int32 | |||
) |
operations_research::sat::DEFINE_INT_TYPE | ( | LiteralIndex | , |
int | |||
) |
operations_research::sat::DEFINE_INT_TYPE | ( | PositiveOnlyIndex | , |
int32 | |||
) |
void DetectDominanceRelations | ( | const PresolveContext & | context, |
VarDomination * | var_domination, | ||
DualBoundStrengthening * | dual_bound_strengthening | ||
) |
Definition at line 677 of file var_domination.cc.
bool operations_research::sat::DetectEquivalencesInElementConstraint | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
Definition at line 1333 of file cp_model_loader.cc.
std::vector< double > DetectImpliedIntegers | ( | bool | log_info, |
MPModelProto * | mp_model | ||
) |
Definition at line 235 of file sat/lp_utils.cc.
void DeterministicLoop | ( | const std::vector< std::unique_ptr< SubSolver >> & | subsolvers, |
int | num_threads, | ||
int | batch_size | ||
) |
Definition at line 84 of file subsolver.cc.
LiteralIndex DifferAtGivenLiteral | ( | const std::vector< Literal > & | a, |
const std::vector< Literal > & | b, | ||
Literal | l | ||
) |
Definition at line 978 of file simplification.cc.
std::function< void(Model *)> Disjunctive | ( | const std::vector< IntervalVariable > & | vars | ) |
Definition at line 30 of file disjunctive.cc.
std::function< void(Model *)> DisjunctiveWithBooleanPrecedences | ( | const std::vector< IntervalVariable > & | vars | ) |
Definition at line 153 of file disjunctive.cc.
std::function< void(Model *)> DisjunctiveWithBooleanPrecedencesOnly | ( | const std::vector< IntervalVariable > & | vars | ) |
Definition at line 130 of file disjunctive.cc.
void DivideByGCD | ( | LinearConstraint * | constraint | ) |
Definition at line 188 of file linear_constraint.cc.
|
inline |
Definition at line 810 of file integer_expr.h.
bool operations_research::sat::DomainInProtoContains | ( | const ProtoWithDomain & | proto, |
int64 | value | ||
) |
Definition at line 82 of file cp_model_utils.h.
void EncodeObjectiveAsSingleVariable | ( | CpModelProto * | cp_model | ) |
Definition at line 21 of file cp_model_objective.cc.
|
inline |
Definition at line 594 of file intervals.h.
|
inline |
Definition at line 951 of file sat_solver.h.
|
inline |
Definition at line 40 of file cp_model_utils.h.
|
inline |
Definition at line 400 of file precedences.h.
Definition at line 927 of file sat_solver.h.
|
inline |
Definition at line 409 of file precedences.h.
std::function< void(Model *)> EqualMaxOfSelectedVariables | ( | Literal | enforcement_literal, |
AffineExpression | target, | ||
const std::vector< AffineExpression > & | exprs, | ||
const std::vector< Literal > & | selectors | ||
) |
Definition at line 290 of file scheduling_constraints.cc.
std::function< void(Model *)> EqualMinOfSelectedVariables | ( | Literal | enforcement_literal, |
AffineExpression | target, | ||
const std::vector< AffineExpression > & | exprs, | ||
const std::vector< Literal > & | selectors | ||
) |
Definition at line 266 of file scheduling_constraints.cc.
|
inline |
Definition at line 877 of file sat_solver.h.
std::function< void(Model *)> ExactlyOnePerRowAndPerColumn | ( | const std::vector< std::vector< Literal >> & | graph | ) |
Definition at line 452 of file circuit.cc.
|
inline |
Definition at line 1016 of file sat_solver.h.
std::function< void(Model *)> ExcludeCurrentSolutionWithoutIgnoredVariableAndBacktrack | ( | ) |
Definition at line 1960 of file integer.cc.
void ExpandCpModel | ( | PresolveOptions | options, |
PresolveContext * | context | ||
) |
Definition at line 1496 of file cp_model_expand.cc.
bool ExploitDominanceRelations | ( | const VarDomination & | var_domination, |
PresolveContext * | context | ||
) |
Definition at line 864 of file var_domination.cc.
void ExtractAssignment | ( | const LinearBooleanProblem & | problem, |
const SatSolver & | solver, | ||
std::vector< bool > * | assignment | ||
) |
Definition at line 50 of file boolean_problem.cc.
void ExtractSubproblem | ( | const LinearBooleanProblem & | problem, |
const std::vector< int > & | constraint_indices, | ||
LinearBooleanProblem * | subproblem | ||
) |
Definition at line 486 of file boolean_problem.cc.
bool FailedLiteralProbingRound | ( | ProbingOptions | options, |
Model * | model | ||
) |
Definition at line 349 of file probing.cc.
void operations_research::sat::FillDomainInProto | ( | const Domain & | domain, |
ProtoWithDomain * | proto | ||
) |
Definition at line 91 of file cp_model_utils.h.
void FindCpModelSymmetries | ( | const CpModelProto & | problem, |
std::vector< std::unique_ptr< SparsePermutation >> * | generators, | ||
double | time_limit_seconds | ||
) |
Definition at line 243 of file cp_model_symmetries.cc.
std::vector< int > FindDuplicateConstraints | ( | const CpModelProto & | model_proto | ) |
Definition at line 5147 of file cp_model_presolve.cc.
void FindLinearBooleanProblemSymmetries | ( | const LinearBooleanProblem & | problem, |
std::vector< std::unique_ptr< SparsePermutation >> * | generators | ||
) |
Definition at line 670 of file boolean_problem.cc.
int FindRationalFactor | ( | double | x, |
int | limit, | ||
double | tolerance | ||
) |
Definition at line 119 of file sat/lp_utils.cc.
std::function< BooleanOrIntegerLiteral()> FirstUnassignedVarAtItsMinHeuristic | ( | const std::vector< IntegerVariable > & | vars, |
Model * | model | ||
) |
Definition at line 153 of file integer_search.cc.
|
inline |
Definition at line 823 of file integer_expr.h.
|
inline |
Definition at line 415 of file integer_expr.h.
|
inline |
Definition at line 602 of file integer_expr.h.
int FixVariablesFromSat | ( | const SatSolver & | solver, |
glop::LinearProgram * | lp | ||
) |
Definition at line 1154 of file sat/lp_utils.cc.
|
inline |
std::function< BooleanOrIntegerLiteral()> FollowHint | ( | const std::vector< BooleanOrIntegerVariable > & | vars, |
const std::vector< IntegerValue > & | values, | ||
Model * | model | ||
) |
Definition at line 469 of file integer_search.cc.
EncodingNode FullMerge | ( | Coefficient | upper_bound, |
EncodingNode * | a, | ||
EncodingNode * | b, | ||
SatSolver * | solver | ||
) |
Definition at line 212 of file encoding.cc.
|
inline |
std::function<void(const absl::StrongVector<IntegerVariable, double>&, LinearConstraintManager*)> operations_research::sat::GenerateCumulativeCut | ( | const std::string & | cut_name, |
SchedulingConstraintHelper * | helper, | ||
const std::vector< IntegerVariable > & | demands, | ||
AffineExpression | capacity, | ||
Model * | model | ||
) |
Graph* operations_research::sat::GenerateGraphForSymmetryDetection | ( | const LinearBooleanProblem & | problem, |
std::vector< int > * | initial_equivalence_classes | ||
) |
Definition at line 532 of file boolean_problem.cc.
Neighborhood GenerateSchedulingNeighborhoodForRelaxation | ( | const absl::Span< const int > | intervals_to_relax, |
const CpSolverResponse & | initial_solution, | ||
const NeighborhoodGeneratorHelper & | helper | ||
) |
Definition at line 475 of file cp_model_lns.cc.
std::vector< PseudoCosts::VariableBoundChange > GetBoundChanges | ( | LiteralIndex | decision, |
Model * | model | ||
) |
Definition at line 99 of file pseudo_costs.cc.
IntegerValue GetCoefficient | ( | const IntegerVariable | var, |
const LinearExpression & | expr | ||
) |
Definition at line 335 of file linear_constraint.cc.
IntegerValue GetCoefficientOfPositiveVar | ( | const IntegerVariable | var, |
const LinearExpression & | expr | ||
) |
Definition at line 347 of file linear_constraint.cc.
std::vector< SatParameters > GetDiverseSetOfParameters | ( | const SatParameters & | base_params, |
const CpModelProto & | cp_model, | ||
const int | num_workers | ||
) |
Definition at line 292 of file cp_model_search.cc.
LinearExpression GetExprFromProto | ( | const LinearExpressionProto & | expr_proto, |
const CpModelMapping & | mapping | ||
) |
Definition at line 1267 of file cp_model_loader.cc.
IntegerValue GetFactorT | ( | IntegerValue | rhs_remainder, |
IntegerValue | divisor, | ||
IntegerValue | max_t | ||
) |
double GetKnapsackUpperBound | ( | std::vector< KnapsackItem > | items, |
const double | capacity | ||
) |
|
inline |
LinearConstraint GetPreprocessedLinearConstraint | ( | const LinearConstraint & | constraint, |
const absl::StrongVector< IntegerVariable, double > & | lp_values, | ||
const IntegerTrail & | integer_trail | ||
) |
IndexReferences GetReferencesUsedByConstraint | ( | const ConstraintProto & | ct | ) |
Definition at line 46 of file cp_model_utils.cc.
RINSNeighborhood operations_research::sat::GetRINSNeighborhood | ( | const SharedResponseManager * | response_manager, |
const SharedRelaxationSolutionRepository * | relaxation_solutions, | ||
const SharedLPSolutionRepository * | lp_solutions, | ||
SharedIncompleteSolutionManager * | incomplete_solutions, | ||
random_engine_t * | random | ||
) |
std::vector<std::vector<Literal> > operations_research::sat::GetSquareMatrixFromIntegerVariables | ( | const std::vector< IntegerVariable > & | vars, |
Model * | m | ||
) |
Definition at line 1685 of file cp_model_loader.cc.
std::function< IntegerValue(IntegerValue)> GetSuperAdditiveRoundingFunction | ( | IntegerValue | rhs_remainder, |
IntegerValue | divisor, | ||
IntegerValue | t, | ||
IntegerValue | max_scaling | ||
) |
|
inline |
Definition at line 392 of file precedences.h.
IntegerLiteral GreaterOrEqualToMiddleValue | ( | IntegerVariable | var, |
IntegerTrail * | integer_trail | ||
) |
Definition at line 59 of file integer_search.cc.
|
inline |
Definition at line 123 of file cp_constraints.h.
|
inline |
Definition at line 136 of file cp_constraints.h.
|
inline |
Definition at line 37 of file cp_model_utils.h.
|
inline |
Definition at line 920 of file sat_solver.h.
void IncreaseNodeSize | ( | EncodingNode * | node, |
SatSolver * | solver | ||
) |
Definition at line 116 of file encoding.cc.
std::function< BooleanOrIntegerLiteral()> InstrumentSearchStrategy | ( | const CpModelProto & | cp_model_proto, |
const std::vector< IntegerVariable > & | variable_mapping, | ||
const std::function< BooleanOrIntegerLiteral()> & | instrumented_strategy, | ||
Model * | model | ||
) |
Definition at line 231 of file cp_model_search.cc.
|
constexpr |
Definition at line 94 of file theta_tree.h.
|
constexpr |
Definition at line 98 of file theta_tree.h.
std::function< BooleanOrIntegerLiteral()> IntegerValueSelectionHeuristic | ( | std::function< BooleanOrIntegerLiteral()> | var_selection_heuristic, |
Model * | model | ||
) |
Definition at line 259 of file integer_search.cc.
|
inline |
Definition at line 712 of file intervals.h.
|
inline |
bool IsAssignmentValid | ( | const LinearBooleanProblem & | problem, |
const std::vector< bool > & | assignment | ||
) |
Definition at line 360 of file boolean_problem.cc.
|
inline |
Definition at line 741 of file integer_expr.h.
|
inline |
Definition at line 689 of file integer_expr.h.
|
inline |
Definition at line 672 of file integer_expr.h.
|
inline |
std::function< void(Model *)> IsOneOf | ( | IntegerVariable | var, |
const std::vector< Literal > & | selectors, | ||
const std::vector< IntegerValue > & | values | ||
) |
Definition at line 875 of file integer_expr.cc.
|
inline |
Definition at line 619 of file intervals.h.
|
inline |
Definition at line 625 of file intervals.h.
const Coefficient operations_research::sat::kCoefficientMax | ( | std::numeric_limits< Coefficient::ValueType > | ::max() | ) |
const LiteralIndex operations_research::sat::kFalseLiteralIndex | ( | - | 3 | ) |
|
constexpr |
|
constexpr |
const BooleanVariable operations_research::sat::kNoBooleanVariable | ( | - | 1 | ) |
const ClauseIndex operations_research::sat::kNoClauseIndex | ( | - | 1 | ) |
const IntegerVariable operations_research::sat::kNoIntegerVariable | ( | - | 1 | ) |
const IntervalVariable operations_research::sat::kNoIntervalVariable | ( | - | 1 | ) |
const LiteralIndex operations_research::sat::kNoLiteralIndex | ( | - | 1 | ) |
const LiteralIndex operations_research::sat::kTrueLiteralIndex | ( | - | 2 | ) |
EncodingNode LazyMerge | ( | EncodingNode * | a, |
EncodingNode * | b, | ||
SatSolver * | solver | ||
) |
Definition at line 106 of file encoding.cc.
EncodingNode * LazyMergeAllNodeWithPQ | ( | const std::vector< EncodingNode * > & | nodes, |
SatSolver * | solver, | ||
std::deque< EncodingNode > * | repository | ||
) |
Definition at line 285 of file encoding.cc.
bool LiftKnapsackCut | ( | const LinearConstraint & | constraint, |
const absl::StrongVector< IntegerVariable, double > & | lp_values, | ||
const std::vector< IntegerValue > & | cut_vars_original_coefficients, | ||
const IntegerTrail & | integer_trail, | ||
TimeLimit * | time_limit, | ||
LinearConstraint * | cut | ||
) |
std::string LinearBooleanProblemToCnfString | ( | const LinearBooleanProblem & | problem | ) |
Definition at line 390 of file boolean_problem.cc.
bool LinearizedPartIsLarge | ( | Model * | model | ) |
Definition at line 246 of file integer_search.cc.
IntegerValue LinExprLowerBound | ( | const LinearExpression & | expr, |
const IntegerTrail & | integer_trail | ||
) |
Definition at line 292 of file linear_constraint.cc.
IntegerValue LinExprUpperBound | ( | const LinearExpression & | expr, |
const IntegerTrail & | integer_trail | ||
) |
Definition at line 302 of file linear_constraint.cc.
std::function< void(Model *)> LiteralTableConstraint | ( | const std::vector< std::vector< Literal >> & | literal_tuples, |
const std::vector< Literal > & | line_literals | ||
) |
Definition at line 544 of file sat/table.cc.
|
inline |
Definition at line 111 of file cp_constraints.h.
void LoadAllDiffConstraint | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
Definition at line 1206 of file cp_model_loader.cc.
bool LoadAndConsumeBooleanProblem | ( | LinearBooleanProblem * | problem, |
SatSolver * | solver | ||
) |
Definition at line 259 of file boolean_problem.cc.
void LoadAtMostOneConstraint | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
Definition at line 969 of file cp_model_loader.cc.
void LoadAutomatonConstraint | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
Definition at line 1663 of file cp_model_loader.cc.
void LoadBoolAndConstraint | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
Definition at line 955 of file cp_model_loader.cc.
bool LoadBooleanProblem | ( | const LinearBooleanProblem & | problem, |
SatSolver * | solver | ||
) |
Definition at line 219 of file boolean_problem.cc.
void LoadBoolOrConstraint | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
Definition at line 946 of file cp_model_loader.cc.
void LoadBoolXorConstraint | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
Definition at line 975 of file cp_model_loader.cc.
void LoadCircuitConstraint | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
Definition at line 1715 of file cp_model_loader.cc.
void operations_research::sat::LoadCircuitCoveringConstraint | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
|
inline |
Definition at line 572 of file integer_expr.h.
bool LoadConstraint | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
Definition at line 1740 of file cp_model_loader.cc.
void LoadCumulativeConstraint | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
Definition at line 1317 of file cp_model_loader.cc.
void LoadElementConstraint | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
Definition at line 1565 of file cp_model_loader.cc.
void LoadElementConstraintAC | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
Definition at line 1443 of file cp_model_loader.cc.
void LoadElementConstraintBounds | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
Definition at line 1391 of file cp_model_loader.cc.
void LoadIntDivConstraint | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
Definition at line 1242 of file cp_model_loader.cc.
void LoadIntMaxConstraint | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
Definition at line 1292 of file cp_model_loader.cc.
void LoadIntMinConstraint | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
Definition at line 1259 of file cp_model_loader.cc.
void LoadIntProdConstraint | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
Definition at line 1233 of file cp_model_loader.cc.
void operations_research::sat::LoadInverseConstraint | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
void LoadLinearConstraint | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
Definition at line 1055 of file cp_model_loader.cc.
|
inline |
Definition at line 552 of file integer_expr.h.
void LoadLinMaxConstraint | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
Definition at line 1278 of file cp_model_loader.cc.
void LoadNoOverlap2dConstraint | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
Definition at line 1305 of file cp_model_loader.cc.
void LoadNoOverlapConstraint | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
Definition at line 1300 of file cp_model_loader.cc.
void LoadRoutesConstraint | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
Definition at line 1727 of file cp_model_loader.cc.
void LoadTableConstraint | ( | const ConstraintProto & | ct, |
Model * | m | ||
) |
Definition at line 1642 of file cp_model_loader.cc.
void operations_research::sat::LogInfoFromContext | ( | const PresolveContext * | context | ) |
Definition at line 4689 of file cp_model_presolve.cc.
bool LookForTrivialSatSolution | ( | double | deterministic_time_limit, |
Model * | model, | ||
bool | log_info | ||
) |
Definition at line 269 of file probing.cc.
|
inline |
Definition at line 334 of file precedences.h.
|
inline |
Definition at line 342 of file precedences.h.
void MakeAllCoefficientsPositive | ( | LinearConstraint * | constraint | ) |
Definition at line 215 of file linear_constraint.cc.
void MakeAllLiteralsPositive | ( | LinearBooleanProblem * | problem | ) |
Definition at line 635 of file boolean_problem.cc.
void MakeAllVariablesPositive | ( | LinearConstraint * | constraint | ) |
Definition at line 226 of file linear_constraint.cc.
Coefficient MaxNodeWeightSmallerThan | ( | const std::vector< EncodingNode * > & | nodes, |
Coefficient | upper_bound | ||
) |
Definition at line 433 of file encoding.cc.
Definition at line 613 of file intervals.h.
void MaybeFullyEncodeMoreVariables | ( | const CpModelProto & | model_proto, |
Model * | m | ||
) |
Definition at line 937 of file cp_model_loader.cc.
EncodingNode * MergeAllNodesWithDeque | ( | Coefficient | upper_bound, |
const std::vector< EncodingNode * > & | nodes, | ||
SatSolver * | solver, | ||
std::deque< EncodingNode > * | repository | ||
) |
Definition at line 263 of file encoding.cc.
Definition at line 2547 of file sat_solver.cc.
Definition at line 218 of file optimization.cc.
SatSolver::Status MinimizeIntegerVariableWithLinearScanAndLazyEncoding | ( | IntegerVariable | objective_var, |
const std::function< void()> & | feasible_solution_observer, | ||
Model * | model | ||
) |
Definition at line 1058 of file optimization.cc.
SatSolver::Status MinimizeWithHittingSetAndLazyEncoding | ( | const ObjectiveDefinition & | objective_definition, |
const std::function< void()> & | feasible_solution_observer, | ||
Model * | model | ||
) |
Definition at line 1757 of file optimization.cc.
Definition at line 607 of file intervals.h.
int MoveOneUnprocessedLiteralLast | ( | const std::set< LiteralIndex > & | processed, |
int | relevant_prefix_size, | ||
std::vector< Literal > * | literals | ||
) |
Definition at line 24 of file sat/util.cc.
|
inline |
Definition at line 32 of file cp_model_utils.h.
LinearExpression NegationOf | ( | const LinearExpression & | expr | ) |
Definition at line 312 of file linear_constraint.cc.
std::vector< IntegerVariable > NegationOf | ( | const std::vector< IntegerVariable > & | vars | ) |
Definition at line 27 of file integer.cc.
|
inline |
|
inline |
std::function< void(Model *)> NewFeasibleSolutionObserver | ( | const std::function< void(const CpSolverResponse &response)> & | observer | ) |
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.
Definition at line 913 of file cp_model_solver.cc.
|
inline |
Definition at line 632 of file intervals.h.
|
inline |
Definition at line 643 of file intervals.h.
|
inline |
Definition at line 651 of file intervals.h.
|
inline |
Definition at line 662 of file intervals.h.
|
inline |
Definition at line 689 of file intervals.h.
|
inline |
Definition at line 673 of file intervals.h.
|
inline |
Definition at line 699 of file intervals.h.
std::function<SatParameters(Model*)> operations_research::sat::NewSatParameters | ( | const sat::SatParameters & | parameters | ) |
Definition at line 933 of file cp_model_solver.cc.
std::function<SatParameters(Model*)> operations_research::sat::NewSatParameters | ( | const SatParameters & | parameters | ) |
std::function< SatParameters(Model *)> NewSatParameters | ( | const std::string & | params | ) |
Creates parameters for the solver, which you can add to the model with.
before calling SolveCpModel()
.
Definition at line 922 of file cp_model_solver.cc.
|
inline |
Definition at line 641 of file integer_expr.h.
bool NoDuplicateVariable | ( | const LinearConstraint & | ct | ) |
Definition at line 264 of file linear_constraint.cc.
void NonDeterministicLoop | ( | const std::vector< std::unique_ptr< SubSolver >> & | subsolvers, |
int | num_threads | ||
) |
Definition at line 116 of file subsolver.cc.
|
inline |
A convenient wrapper so we can write Not(x) instead of x.Not() which is sometimes clearer.
Definition at line 63 of file cp_model.cc.
|
inline |
Definition at line 496 of file precedences.h.
|
inline |
Definition at line 112 of file sat_base.h.
std::ostream & operator<< | ( | std::ostream & | os, |
const BoolVar & | var | ||
) |
Definition at line 65 of file cp_model.cc.
std::ostream & operator<< | ( | std::ostream & | os, |
const IntervalVar & | var | ||
) |
Definition at line 330 of file cp_model.cc.
std::ostream & operator<< | ( | std::ostream & | os, |
const IntVar & | var | ||
) |
Definition at line 130 of file cp_model.cc.
|
inline |
|
inline |
Definition at line 107 of file sat_base.h.
|
inline |
Definition at line 60 of file pb_constraint.h.
|
inline |
Definition at line 1036 of file sat_solver.h.
|
inline |
Definition at line 159 of file cp_constraints.h.
|
inline |
Definition at line 33 of file cp_model_utils.h.
|
inline |
LinearExpression PositiveVarExpr | ( | const LinearExpression & | expr | ) |
Definition at line 320 of file linear_constraint.cc.
|
inline |
void operations_research::sat::PostsolveClause | ( | const ConstraintProto & | ct, |
std::vector< Domain > * | domains | ||
) |
Definition at line 27 of file cp_model_postsolve.cc.
void operations_research::sat::PostsolveElement | ( | const ConstraintProto & | ct, |
std::vector< Domain > * | domains | ||
) |
Definition at line 144 of file cp_model_postsolve.cc.
void operations_research::sat::PostsolveIntMax | ( | const ConstraintProto & | ct, |
std::vector< Domain > * | domains | ||
) |
Definition at line 118 of file cp_model_postsolve.cc.
void operations_research::sat::PostsolveLinear | ( | const ConstraintProto & | ct, |
const std::vector< bool > & | prefer_lower_value, | ||
std::vector< Domain > * | domains | ||
) |
Definition at line 52 of file cp_model_postsolve.cc.
void PostsolveResponse | ( | const int64 | num_variables_in_original_model, |
const CpModelProto & | mapping_proto, | ||
const std::vector< int > & | postsolve_mapping, | ||
CpSolverResponse * | response | ||
) |
Definition at line 207 of file cp_model_postsolve.cc.
bool PresolveCpModel | ( | const PresolveOptions & | options, |
PresolveContext * | context, | ||
std::vector< int > * | postsolve_mapping | ||
) |
Definition at line 4710 of file cp_model_presolve.cc.
bool PrintClauses | ( | const std::string & | file_path, |
SatFormat | format, | ||
const std::vector< std::vector< Literal >> & | clauses, | ||
int | num_variables | ||
) |
Definition at line 592 of file drat_checker.cc.
void ProbeAndFindEquivalentLiteral | ( | SatSolver * | solver, |
SatPostsolver * | postsolver, | ||
DratProofHandler * | drat_proof_handler, | ||
absl::StrongVector< LiteralIndex, LiteralIndex > * | mapping | ||
) |
Definition at line 1128 of file simplification.cc.
void ProbeAndSimplifyProblem | ( | SatPostsolver * | postsolver, |
LinearBooleanProblem * | problem | ||
) |
Definition at line 825 of file boolean_problem.cc.
void ProcessCore | ( | const std::vector< Literal > & | core, |
Coefficient | min_weight, | ||
std::deque< EncodingNode > * | repository, | ||
std::vector< EncodingNode * > * | nodes, | ||
SatSolver * | solver | ||
) |
Definition at line 445 of file encoding.cc.
|
inline |
Definition at line 769 of file integer_expr.h.
std::function< BooleanOrIntegerLiteral()> PseudoCost | ( | Model * | model | ) |
Definition at line 329 of file integer_search.cc.
|
inline |
Definition at line 76 of file sat/util.h.
std::function<BooleanOrIntegerLiteral()> operations_research::sat::RandomizeOnRestartHeuristic | ( | Model * | model | ) |
Definition at line 350 of file integer_search.cc.
Domain operations_research::sat::ReadDomainFromProto | ( | const ProtoWithDomain & | proto | ) |
Definition at line 102 of file cp_model_utils.h.
std::vector< Literal > ReduceNodesAndExtractAssumptions | ( | Coefficient | upper_bound, |
Coefficient | stratified_lower_bound, | ||
Coefficient * | lower_bound, | ||
std::vector< EncodingNode * > * | nodes, | ||
SatSolver * | solver | ||
) |
Definition at line 366 of file encoding.cc.
|
inline |
Definition at line 34 of file cp_model_utils.h.
void operations_research::sat::RegisterAndTransferOwnership | ( | Model * | model, |
T * | ct | ||
) |
Definition at line 764 of file integer_expr.h.
|
inline |
Definition at line 969 of file sat_solver.h.
|
inline |
Definition at line 985 of file sat_solver.h.
|
inline |
Definition at line 935 of file sat_solver.h.
|
inline |
Definition at line 459 of file precedences.h.
|
inline |
Definition at line 477 of file precedences.h.
|
inline |
Definition at line 445 of file precedences.h.
int operations_research::sat::ReindexArcs | ( | IntContainer * | tails, |
IntContainer * | heads | ||
) |
void RemoveNearZeroTerms | ( | const SatParameters & | params, |
MPModelProto * | mp_model | ||
) |
Definition at line 182 of file sat/lp_utils.cc.
void RemoveZeroTerms | ( | LinearConstraint * | constraint | ) |
Definition at line 202 of file linear_constraint.cc.
SatSolver::Status ResetAndSolveIntegerProblem | ( | const std::vector< Literal > & | assumptions, |
Model * | model | ||
) |
Definition at line 891 of file integer_search.cc.
bool Resolve | ( | absl::Span< const Literal > | clause, |
absl::Span< const Literal > | other_clause, | ||
Literal | complementary_literal, | ||
VariablesAssignment * | assignment, | ||
std::vector< Literal > * | resolvent | ||
) |
Definition at line 464 of file drat_checker.cc.
std::function< bool()> RestartEveryKFailures | ( | int | k, |
SatSolver * | solver | ||
) |
Definition at line 499 of file integer_search.cc.
void RestrictObjectiveDomainWithBinarySearch | ( | IntegerVariable | objective_var, |
const std::function< void()> & | feasible_solution_observer, | ||
Model * | model | ||
) |
Definition at line 1091 of file optimization.cc.
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_BinaryMinizationAlgorithm_descriptor | ( | ) |
Definition at line 666 of file sat_parameters.pb.cc.
bool SatParameters_BinaryMinizationAlgorithm_IsValid | ( | int | value | ) |
Definition at line 670 of file sat_parameters.pb.cc.
|
inline |
Definition at line 159 of file sat_parameters.pb.h.
|
inline |
Definition at line 166 of file sat_parameters.pb.h.
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_ClauseOrdering_descriptor | ( | ) |
Definition at line 716 of file sat_parameters.pb.cc.
bool SatParameters_ClauseOrdering_IsValid | ( | int | value | ) |
Definition at line 720 of file sat_parameters.pb.cc.
|
inline |
Definition at line 206 of file sat_parameters.pb.h.
|
inline |
Definition at line 213 of file sat_parameters.pb.h.
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_ClauseProtection_descriptor | ( | ) |
Definition at line 693 of file sat_parameters.pb.cc.
bool SatParameters_ClauseProtection_IsValid | ( | int | value | ) |
Definition at line 697 of file sat_parameters.pb.cc.
|
inline |
Definition at line 183 of file sat_parameters.pb.h.
|
inline |
Definition at line 190 of file sat_parameters.pb.h.
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_ConflictMinimizationAlgorithm_descriptor | ( | ) |
Definition at line 641 of file sat_parameters.pb.cc.
bool SatParameters_ConflictMinimizationAlgorithm_IsValid | ( | int | value | ) |
Definition at line 645 of file sat_parameters.pb.cc.
|
inline |
Definition at line 133 of file sat_parameters.pb.h.
|
inline |
Definition at line 140 of file sat_parameters.pb.h.
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_FPRoundingMethod_descriptor | ( | ) |
Definition at line 841 of file sat_parameters.pb.cc.
bool SatParameters_FPRoundingMethod_IsValid | ( | int | value | ) |
Definition at line 845 of file sat_parameters.pb.cc.
|
inline |
Definition at line 333 of file sat_parameters.pb.h.
|
inline |
Definition at line 340 of file sat_parameters.pb.h.
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_MaxSatAssumptionOrder_descriptor | ( | ) |
Definition at line 764 of file sat_parameters.pb.cc.
bool SatParameters_MaxSatAssumptionOrder_IsValid | ( | int | value | ) |
Definition at line 768 of file sat_parameters.pb.cc.
|
inline |
Definition at line 256 of file sat_parameters.pb.h.
|
inline |
Definition at line 263 of file sat_parameters.pb.h.
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_MaxSatStratificationAlgorithm_descriptor | ( | ) |
Definition at line 787 of file sat_parameters.pb.cc.
bool SatParameters_MaxSatStratificationAlgorithm_IsValid | ( | int | value | ) |
Definition at line 791 of file sat_parameters.pb.cc.
|
inline |
Definition at line 280 of file sat_parameters.pb.h.
|
inline |
Definition at line 287 of file sat_parameters.pb.h.
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_Polarity_descriptor | ( | ) |
Definition at line 614 of file sat_parameters.pb.cc.
bool SatParameters_Polarity_IsValid | ( | int | value | ) |
Definition at line 618 of file sat_parameters.pb.cc.
|
inline |
Definition at line 108 of file sat_parameters.pb.h.
|
inline |
Definition at line 115 of file sat_parameters.pb.h.
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_RestartAlgorithm_descriptor | ( | ) |
Definition at line 737 of file sat_parameters.pb.cc.
bool SatParameters_RestartAlgorithm_IsValid | ( | int | value | ) |
Definition at line 741 of file sat_parameters.pb.cc.
|
inline |
Definition at line 232 of file sat_parameters.pb.h.
|
inline |
Definition at line 239 of file sat_parameters.pb.h.
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_SearchBranching_descriptor | ( | ) |
Definition at line 810 of file sat_parameters.pb.cc.
bool SatParameters_SearchBranching_IsValid | ( | int | value | ) |
Definition at line 814 of file sat_parameters.pb.cc.
|
inline |
Definition at line 308 of file sat_parameters.pb.h.
|
inline |
Definition at line 315 of file sat_parameters.pb.h.
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * SatParameters_VariableOrder_descriptor | ( | ) |
Definition at line 591 of file sat_parameters.pb.cc.
bool SatParameters_VariableOrder_IsValid | ( | int | value | ) |
Definition at line 595 of file sat_parameters.pb.cc.
|
inline |
Definition at line 82 of file sat_parameters.pb.h.
|
inline |
Definition at line 89 of file sat_parameters.pb.h.
std::function< BooleanOrIntegerLiteral()> SatSolverHeuristic | ( | Model * | model | ) |
Definition at line 316 of file integer_search.cc.
std::function< bool()> SatSolverRestartPolicy | ( | Model * | model | ) |
Definition at line 513 of file integer_search.cc.
std::string SatStatusString | ( | SatSolver::Status | status | ) |
Definition at line 2530 of file sat_solver.cc.
double ScalarProduct | ( | const LinearConstraint & | constraint1, |
const LinearConstraint & | constraint2 | ||
) |
Definition at line 149 of file linear_constraint.cc.
std::vector< double > ScaleContinuousVariables | ( | double | scaling, |
double | max_bound, | ||
MPModelProto * | mp_model | ||
) |
Definition at line 100 of file sat/lp_utils.cc.
|
inline |
Definition at line 128 of file cp_model_utils.h.
void operations_research::sat::SeparateSubtourInequalities | ( | int | num_nodes, |
const std::vector< int > & | tails, | ||
const std::vector< int > & | heads, | ||
const std::vector< Literal > & | literals, | ||
const absl::StrongVector< IntegerVariable, double > & | lp_values, | ||
absl::Span< const int64 > | demands, | ||
int64 | capacity, | ||
LinearConstraintManager * | manager, | ||
Model * | model | ||
) |
Definition at line 2271 of file linear_programming_constraint.cc.
void SequentialLoop | ( | const std::vector< std::unique_ptr< SubSolver >> & | subsolvers | ) |
Definition at line 54 of file subsolver.cc.
std::function< BooleanOrIntegerLiteral()> SequentialSearch | ( | std::vector< std::function< BooleanOrIntegerLiteral()>> | heuristics | ) |
Definition at line 188 of file integer_search.cc.
std::function< BooleanOrIntegerLiteral()> SequentialValueSelection | ( | std::vector< std::function< IntegerLiteral(IntegerVariable)>> | value_selection_heuristics, |
std::function< BooleanOrIntegerLiteral()> | var_selection_heuristic, | ||
Model * | model | ||
) |
Definition at line 199 of file integer_search.cc.
void operations_research::sat::SetSynchronizationFunction | ( | std::function< CpSolverResponse()> | f, |
Model * | model | ||
) |
If set, the underlying solver will call this function regularly in a deterministic way.
It will then wait until this function returns with the current best information about the current problem.
This is meant to be used in a multi-threaded environment with many parallel solving process. If the returned current "best" response only uses information derived at a lower deterministic time (possibly with offset) than the deterministic time of the current thread, the whole process can be made deterministic.
void SetToNegatedLinearExpression | ( | const LinearExpressionProto & | input_expr, |
LinearExpressionProto * | output_negated_expr | ||
) |
Definition at line 36 of file cp_model_utils.cc.
void SimplifyCanonicalBooleanLinearConstraint | ( | std::vector< LiteralWithCoeff > * | cst, |
Coefficient * | rhs | ||
) |
Definition at line 147 of file pb_constraint.cc.
bool SimplifyClause | ( | const std::vector< Literal > & | a, |
std::vector< Literal > * | b, | ||
LiteralIndex * | opposite_literal, | ||
int64 * | num_inspected_literals | ||
) |
Definition at line 930 of file simplification.cc.
|
inline |
Definition at line 600 of file intervals.h.
bool SolutionBooleanValue | ( | const CpSolverResponse & | r, |
BoolVar | x | ||
) |
Evaluates the value of a Boolean literal in a solver response.
Definition at line 823 of file cp_model.cc.
Returns the max of an integer variable in a solution.
Definition at line 815 of file cp_model.cc.
Returns the min of an integer variable in a solution.
Definition at line 807 of file cp_model.cc.
int64 SolutionIntegerValue | ( | const CpSolverResponse & | r, |
const LinearExpr & | expr | ||
) |
Evaluates the value of an linear expression in a solver response.
Definition at line 799 of file cp_model.cc.
bool SolutionIsFeasible | ( | const CpModelProto & | model, |
const std::vector< int64 > & | variable_values, | ||
const CpModelProto * | mapping_proto, | ||
const std::vector< int > * | postsolve_mapping | ||
) |
Definition at line 989 of file cp_model_checker.cc.
CpSolverResponse Solve | ( | const CpModelProto & | model_proto | ) |
Solves the given CpModelProto and returns an instance of CpSolverResponse.
Definition at line 3206 of file cp_model_solver.cc.
CpSolverResponse SolveCpModel | ( | const CpModelProto & | model_proto, |
Model * | model | ||
) |
Solves the given CpModelProto.
This advanced API accept a Model* which allows to access more adavanced features by configuring some classes in the Model before solve.
For instance:
Definition at line 2878 of file cp_model_solver.cc.
void SolveFzWithCpModelProto | ( | const fz::Model & | fz_model, |
const fz::FlatzincSatParameters & | p, | ||
const std::string & | sat_params | ||
) |
Definition at line 982 of file cp_model_fz_solver.cc.
SatSolver::Status SolveIntegerProblem | ( | Model * | model | ) |
Definition at line 652 of file integer_search.cc.
SatSolver::Status SolveIntegerProblemWithLazyEncoding | ( | Model * | model | ) |
Definition at line 909 of file integer_search.cc.
bool SolveLpAndUseIntegerVariableToStartLNS | ( | const glop::LinearProgram & | lp, |
LinearBooleanProblem * | problem | ||
) |
Definition at line 1190 of file sat/lp_utils.cc.
bool SolveLpAndUseSolutionForSatAssignmentPreference | ( | const glop::LinearProgram & | lp, |
SatSolver * | sat_solver, | ||
double | max_time_in_seconds | ||
) |
Definition at line 1168 of file sat/lp_utils.cc.
SatSolver::Status SolveWithCardinalityEncoding | ( | LogBehavior | log, |
const LinearBooleanProblem & | problem, | ||
SatSolver * | solver, | ||
std::vector< bool > * | solution | ||
) |
Definition at line 888 of file optimization.cc.
SatSolver::Status SolveWithCardinalityEncodingAndCore | ( | LogBehavior | log, |
const LinearBooleanProblem & | problem, | ||
SatSolver * | solver, | ||
std::vector< bool > * | solution | ||
) |
Definition at line 956 of file optimization.cc.
SatSolver::Status SolveWithFuMalik | ( | LogBehavior | log, |
const LinearBooleanProblem & | problem, | ||
SatSolver * | solver, | ||
std::vector< bool > * | solution | ||
) |
Definition at line 268 of file optimization.cc.
SatSolver::Status SolveWithLinearScan | ( | LogBehavior | log, |
const LinearBooleanProblem & | problem, | ||
SatSolver * | solver, | ||
std::vector< bool > * | solution | ||
) |
Definition at line 842 of file optimization.cc.
CpSolverResponse SolveWithParameters | ( | const CpModelProto & | model_proto, |
const SatParameters & | params | ||
) |
Solves the given CpModelProto with the given parameters.
Definition at line 3211 of file cp_model_solver.cc.
CpSolverResponse SolveWithParameters | ( | const CpModelProto & | model_proto, |
const std::string & | params | ||
) |
Solves the given CpModelProto with the given sat parameters as string in JSon format, and returns an instance of CpSolverResponse.
Definition at line 3219 of file cp_model_solver.cc.
SatSolver::Status SolveWithPresolve | ( | std::unique_ptr< SatSolver > * | solver, |
TimeLimit * | time_limit, | ||
std::vector< bool > * | solution, | ||
DratProofHandler * | drat_proof_handler | ||
) |
Definition at line 1246 of file simplification.cc.
SatSolver::Status SolveWithRandomParameters | ( | LogBehavior | log, |
const LinearBooleanProblem & | problem, | ||
int | num_times, | ||
SatSolver * | solver, | ||
std::vector< bool > * | solution | ||
) |
Definition at line 762 of file optimization.cc.
SatSolver::Status SolveWithWPM1 | ( | LogBehavior | log, |
const LinearBooleanProblem & | problem, | ||
SatSolver * | solver, | ||
std::vector< bool > * | solution | ||
) |
Definition at line 465 of file optimization.cc.
std::function< void(Model *)> SpanOfIntervals | ( | IntervalVariable | span, |
const std::vector< IntervalVariable > & | intervals | ||
) |
Definition at line 305 of file scheduling_constraints.cc.
IntegerLiteral SplitAroundGivenValue | ( | IntegerVariable | var, |
IntegerValue | value, | ||
Model * | model | ||
) |
Definition at line 70 of file integer_search.cc.
IntegerLiteral SplitAroundLpValue | ( | IntegerVariable | var, |
Model * | model | ||
) |
Definition at line 98 of file integer_search.cc.
IntegerLiteral operations_research::sat::SplitDomainUsingBestSolutionValue | ( | IntegerVariable | var, |
Model * | model | ||
) |
IntegerLiteral operations_research::sat::SplitUsingBestSolutionValueInRepository | ( | IntegerVariable | var, |
const SharedSolutionRepository< int64 > & | solution_repo, | ||
Model * | model | ||
) |
Definition at line 128 of file integer_search.cc.
|
inline |
Definition at line 587 of file intervals.h.
void StoreAssignment | ( | const VariablesAssignment & | assignment, |
BooleanAssignment * | output | ||
) |
Definition at line 475 of file boolean_problem.cc.
std::function< void(Model *)> SubcircuitConstraint | ( | int | num_nodes, |
const std::vector< int > & | tails, | ||
const std::vector< int > & | heads, | ||
const std::vector< Literal > & | literals, | ||
bool | multiple_subcircuit_through_zero | ||
) |
Definition at line 471 of file circuit.cc.
void SubstituteVariable | ( | int | var, |
int64 | var_coeff_in_definition, | ||
const ConstraintProto & | definition, | ||
ConstraintProto * | ct | ||
) |
Definition at line 182 of file presolve_util.cc.
|
inline |
Definition at line 352 of file precedences.h.
|
inline |
Definition at line 370 of file precedences.h.
|
inline |
|
inline |
Definition at line 101 of file cp_constraints.h.
std::function< void(Model *)> TransitionConstraint | ( | const std::vector< IntegerVariable > & | vars, |
const std::vector< std::vector< int64 >> & | automaton, | ||
int64 | initial_state, | ||
const std::vector< int64 > & | final_states | ||
) |
Definition at line 591 of file sat/table.cc.
void TryToLinearizeConstraint | ( | const CpModelProto & | model_proto, |
const ConstraintProto & | ct, | ||
Model * | model, | ||
int | linearization_level, | ||
LinearRelaxation * | relaxation | ||
) |
Definition at line 315 of file linear_relaxation.cc.
std::function< BooleanOrIntegerLiteral()> UnassignedVarWithLowestMinAtItsMinHeuristic | ( | const std::vector< IntegerVariable > & | vars, |
Model * | model | ||
) |
Definition at line 168 of file integer_search.cc.
|
inline |
Definition at line 138 of file cp_model_utils.h.
std::vector< int > UsedIntervals | ( | const ConstraintProto & | ct | ) |
Definition at line 444 of file cp_model_utils.cc.
std::vector< int > UsedVariables | ( | const ConstraintProto & | ct | ) |
Definition at line 429 of file cp_model_utils.cc.
void UseObjectiveForSatAssignmentPreference | ( | const LinearBooleanProblem & | problem, |
SatSolver * | solver | ||
) |
Definition at line 307 of file boolean_problem.cc.
absl::Status ValidateBooleanProblem | ( | const LinearBooleanProblem & | problem | ) |
Definition at line 131 of file boolean_problem.cc.
std::string ValidateCpModel | ( | const CpModelProto & | model | ) |
Definition at line 409 of file cp_model_checker.cc.
Definition at line 1004 of file sat_solver.h.
Definition at line 995 of file sat_solver.h.
|
inline |
|
inline |
Definition at line 404 of file integer_expr.h.
|
inline |
Definition at line 540 of file integer_expr.h.
|
inline |
Definition at line 299 of file integer_expr.h.
|
inline |
Definition at line 527 of file integer_expr.h.
|
inline |
Definition at line 619 of file integer_expr.h.
AllDifferentConstraintProtoDefaultTypeInternal _AllDifferentConstraintProto_default_instance_ |
Definition at line 61 of file cp_model.pb.h.
AutomatonConstraintProtoDefaultTypeInternal _AutomatonConstraintProto_default_instance_ |
Definition at line 64 of file cp_model.pb.h.
BoolArgumentProtoDefaultTypeInternal _BoolArgumentProto_default_instance_ |
Definition at line 67 of file cp_model.pb.h.
BooleanAssignmentDefaultTypeInternal _BooleanAssignment_default_instance_ |
Definition at line 60 of file boolean_problem.pb.h.
CircuitConstraintProtoDefaultTypeInternal _CircuitConstraintProto_default_instance_ |
Definition at line 70 of file cp_model.pb.h.
ConstraintProtoDefaultTypeInternal _ConstraintProto_default_instance_ |
Definition at line 73 of file cp_model.pb.h.
CpModelProtoDefaultTypeInternal _CpModelProto_default_instance_ |
Definition at line 76 of file cp_model.pb.h.
CpObjectiveProtoDefaultTypeInternal _CpObjectiveProto_default_instance_ |
Definition at line 79 of file cp_model.pb.h.
CpSolverResponseDefaultTypeInternal _CpSolverResponse_default_instance_ |
Definition at line 82 of file cp_model.pb.h.
CumulativeConstraintProtoDefaultTypeInternal _CumulativeConstraintProto_default_instance_ |
Definition at line 85 of file cp_model.pb.h.
DecisionStrategyProto_AffineTransformationDefaultTypeInternal _DecisionStrategyProto_AffineTransformation_default_instance_ |
Definition at line 91 of file cp_model.pb.h.
DecisionStrategyProtoDefaultTypeInternal _DecisionStrategyProto_default_instance_ |
Definition at line 88 of file cp_model.pb.h.
ElementConstraintProtoDefaultTypeInternal _ElementConstraintProto_default_instance_ |
Definition at line 94 of file cp_model.pb.h.
IntegerArgumentProtoDefaultTypeInternal _IntegerArgumentProto_default_instance_ |
Definition at line 97 of file cp_model.pb.h.
IntegerVariableProtoDefaultTypeInternal _IntegerVariableProto_default_instance_ |
Definition at line 100 of file cp_model.pb.h.
IntervalConstraintProtoDefaultTypeInternal _IntervalConstraintProto_default_instance_ |
Definition at line 103 of file cp_model.pb.h.
InverseConstraintProtoDefaultTypeInternal _InverseConstraintProto_default_instance_ |
Definition at line 106 of file cp_model.pb.h.
LinearArgumentProtoDefaultTypeInternal _LinearArgumentProto_default_instance_ |
Definition at line 109 of file cp_model.pb.h.
LinearBooleanConstraintDefaultTypeInternal _LinearBooleanConstraint_default_instance_ |
Definition at line 63 of file boolean_problem.pb.h.
LinearBooleanProblemDefaultTypeInternal _LinearBooleanProblem_default_instance_ |
Definition at line 66 of file boolean_problem.pb.h.
LinearConstraintProtoDefaultTypeInternal _LinearConstraintProto_default_instance_ |
Definition at line 112 of file cp_model.pb.h.
LinearExpressionProtoDefaultTypeInternal _LinearExpressionProto_default_instance_ |
Definition at line 115 of file cp_model.pb.h.
LinearObjectiveDefaultTypeInternal _LinearObjective_default_instance_ |
Definition at line 69 of file boolean_problem.pb.h.
NoOverlap2DConstraintProtoDefaultTypeInternal _NoOverlap2DConstraintProto_default_instance_ |
Definition at line 118 of file cp_model.pb.h.
NoOverlapConstraintProtoDefaultTypeInternal _NoOverlapConstraintProto_default_instance_ |
Definition at line 121 of file cp_model.pb.h.
PartialVariableAssignmentDefaultTypeInternal _PartialVariableAssignment_default_instance_ |
Definition at line 124 of file cp_model.pb.h.
ReservoirConstraintProtoDefaultTypeInternal _ReservoirConstraintProto_default_instance_ |
Definition at line 127 of file cp_model.pb.h.
RoutesConstraintProtoDefaultTypeInternal _RoutesConstraintProto_default_instance_ |
Definition at line 130 of file cp_model.pb.h.
SatParametersDefaultTypeInternal _SatParameters_default_instance_ |
Definition at line 61 of file sat_parameters.pb.h.
TableConstraintProtoDefaultTypeInternal _TableConstraintProto_default_instance_ |
Definition at line 133 of file cp_model.pb.h.
|
constexpr |
Definition at line 234 of file cp_model.pb.h.
|
constexpr |
Definition at line 233 of file cp_model.pb.h.
|
constexpr |
Definition at line 232 of file cp_model.pb.h.
|
constexpr |
Definition at line 206 of file cp_model.pb.h.
|
constexpr |
Definition at line 205 of file cp_model.pb.h.
|
constexpr |
Definition at line 204 of file cp_model.pb.h.
|
constexpr |
Definition at line 178 of file cp_model.pb.h.
|
constexpr |
Definition at line 177 of file cp_model.pb.h.
|
constexpr |
Definition at line 176 of file cp_model.pb.h.
|
constexpr |
Definition at line 34 of file presolve_context.h.
|
constexpr |
Definition at line 35 of file presolve_context.h.
|
constexpr |
Definition at line 33 of file presolve_context.h.
const int kUnsatTrailIndex = -1 |
Definition at line 53 of file sat_solver.h.
|
constexpr |
Definition at line 155 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 154 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 153 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 202 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 201 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 200 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 179 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 178 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 177 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 129 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 128 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 127 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 329 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 328 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 327 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 252 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 251 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 250 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 276 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 275 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 274 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 104 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 103 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 102 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 228 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 227 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 226 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 304 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 303 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 302 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 78 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 77 of file sat_parameters.pb.h.
|
constexpr |
Definition at line 76 of file sat_parameters.pb.h.