 |
OR-Tools
8.1
|
Go to the documentation of this file.
23 #ifndef OR_TOOLS_SAT_INTEGER_SEARCH_H_
24 #define OR_TOOLS_SAT_INTEGER_SEARCH_H_
102 const std::vector<Literal>& assumptions,
Model*
model);
146 const std::vector<IntegerVariable>& vars,
Model*
model);
154 const std::vector<IntegerVariable>& vars,
Model*
model);
166 const std::vector<BooleanOrIntegerVariable>& vars,
167 const std::vector<IntegerValue>& values,
Model*
model);
182 value_selection_heuristics,
214 incomplete_heuristics,
220 const std::vector<BooleanVariable>& bool_vars,
221 const std::vector<IntegerVariable>& int_vars,
222 const std::function<
void()>& feasible_solution_observer,
Model*
model);
226 #endif // OR_TOOLS_SAT_INTEGER_SEARCH_H_
std::vector< std::function< bool()> > callbacks
IntegerLiteral GreaterOrEqualToMiddleValue(IntegerVariable var, IntegerTrail *integer_trail)
std::function< bool()> RestartEveryKFailures(int k, SatSolver *solver)
const IntegerVariable kNoIntegerVariable(-1)
IntegerLiteral ChooseBestObjectiveValue(IntegerVariable var, Model *model)
const LiteralIndex kNoLiteralIndex(-1)
std::function< BooleanOrIntegerLiteral()> hint_search
SatSolver::Status SolveIntegerProblem(Model *model)
std::function< BooleanOrIntegerLiteral()> FollowHint(const std::vector< BooleanOrIntegerVariable > &vars, const std::vector< IntegerValue > &values, Model *model)
std::function< BooleanOrIntegerLiteral()> SequentialValueSelection(std::vector< std::function< IntegerLiteral(IntegerVariable)>> value_selection_heuristics, std::function< BooleanOrIntegerLiteral()> var_selection_heuristic, Model *model)
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...
std::vector< std::function< bool()> > restart_policies
std::vector< std::function< BooleanOrIntegerLiteral()> > CompleteHeuristics(const std::vector< std::function< BooleanOrIntegerLiteral()>> &incomplete_heuristics, const std::function< BooleanOrIntegerLiteral()> &completion_heuristic)
BooleanOrIntegerLiteral(IntegerLiteral i_lit)
SatSolver::Status ResetAndSolveIntegerProblem(const std::vector< Literal > &assumptions, Model *model)
std::function< BooleanOrIntegerLiteral()> UnassignedVarWithLowestMinAtItsMinHeuristic(const std::vector< IntegerVariable > &vars, Model *model)
std::function< BooleanOrIntegerLiteral()> IntegerValueSelectionHeuristic(std::function< BooleanOrIntegerLiteral()> var_selection_heuristic, Model *model)
std::function< BooleanOrIntegerLiteral()> SatSolverHeuristic(Model *model)
LiteralIndex boolean_literal_index
std::function< bool()> SatSolverRestartPolicy(Model *model)
std::function< BooleanOrIntegerLiteral()> FirstUnassignedVarAtItsMinHeuristic(const std::vector< IntegerVariable > &vars, Model *model)
Class that owns everything related to a particular optimization model.
const BooleanVariable kNoBooleanVariable(-1)
IntegerLiteral integer_literal
IntegerLiteral AtMinValue(IntegerVariable var, IntegerTrail *integer_trail)
std::function< BooleanOrIntegerLiteral()> SequentialSearch(std::vector< std::function< BooleanOrIntegerLiteral()>> heuristics)
BooleanOrIntegerLiteral()
BooleanOrIntegerLiteral(LiteralIndex index)
IntegerLiteral SplitDomainUsingBestSolutionValue(IntegerVariable var, Model *model)
IntegerLiteral SplitAroundGivenValue(IntegerVariable var, IntegerValue value, Model *model)
bool LinearizedPartIsLarge(Model *model)
IntegerLiteral SplitAroundLpValue(IntegerVariable var, Model *model)
std::vector< std::function< BooleanOrIntegerLiteral()> > decision_policies
void ConfigureSearchHeuristics(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)
std::function< BooleanOrIntegerLiteral()> PseudoCost(Model *model)
SatSolver::Status SolveIntegerProblemWithLazyEncoding(Model *model)
std::function< BooleanOrIntegerLiteral()> fixed_search