Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
integer_search.h File Reference
#include <stdint.h>
#include <functional>
#include <vector>
#include "absl/container/flat_hash_set.h"
#include "absl/types/span.h"
#include "ortools/sat/clause.h"
#include "ortools/sat/cp_model.pb.h"
#include "ortools/sat/implied_bounds.h"
#include "ortools/sat/integer.h"
#include "ortools/sat/model.h"
#include "ortools/sat/probing.h"
#include "ortools/sat/pseudo_costs.h"
#include "ortools/sat/sat_base.h"
#include "ortools/sat/sat_inprocessing.h"
#include "ortools/sat/sat_parameters.pb.h"
#include "ortools/sat/sat_solver.h"
#include "ortools/sat/synchronization.h"
#include "ortools/sat/util.h"
#include "ortools/util/strong_integers.h"
#include "ortools/util/time_limit.h"

Go to the source code of this file.

Classes

struct  operations_research::sat::BooleanOrIntegerLiteral
 
struct  operations_research::sat::SearchHeuristics
 
struct  operations_research::sat::LevelZeroCallbackHelper
 
struct  operations_research::sat::BooleanOrIntegerVariable
 
class  operations_research::sat::IntegerSearchHelper
 An helper class to share the code used by the different kind of search. More...
 
class  operations_research::sat::ContinuousProber
 

Namespaces

namespace  operations_research
 In SWIG mode, we don't want anything besides these top-level includes.
 
namespace  operations_research::sat
 

Functions

void operations_research::sat::ConfigureSearchHeuristics (Model *model)
 
SatSolver::Status operations_research::sat::ResetAndSolveIntegerProblem (const std::vector< Literal > &assumptions, Model *model)
 
SatSolver::Status operations_research::sat::SolveIntegerProblemWithLazyEncoding (Model *model)
 
IntegerLiteral operations_research::sat::AtMinValue (IntegerVariable var, IntegerTrail *integer_trail)
 
IntegerLiteral operations_research::sat::ChooseBestObjectiveValue (IntegerVariable var, Model *model)
 If a variable appear in the objective, branch on its best objective value.
 
IntegerLiteral operations_research::sat::GreaterOrEqualToMiddleValue (IntegerVariable var, IntegerTrail *integer_trail)
 
IntegerLiteral operations_research::sat::SplitAroundGivenValue (IntegerVariable var, IntegerValue value, Model *model)
 
IntegerLiteral operations_research::sat::SplitAroundLpValue (IntegerVariable var, Model *model)
 
IntegerLiteral operations_research::sat::SplitDomainUsingBestSolutionValue (IntegerVariable var, Model *model)
 
std::function< BooleanOrIntegerLiteral()> operations_research::sat::FirstUnassignedVarAtItsMinHeuristic (const std::vector< IntegerVariable > &vars, Model *model)
 
std::function< BooleanOrIntegerLiteral()> operations_research::sat::MostFractionalHeuristic (Model *model)
 Choose the variable with most fractional LP value.
 
std::function< BooleanOrIntegerLiteral()> operations_research::sat::BoolPseudoCostHeuristic (Model *model)
 
std::function< BooleanOrIntegerLiteral()> operations_research::sat::LpPseudoCostHeuristic (Model *model)
 
std::function< BooleanOrIntegerLiteral()> operations_research::sat::UnassignedVarWithLowestMinAtItsMinHeuristic (const std::vector< IntegerVariable > &vars, Model *model)
 
std::function< BooleanOrIntegerLiteral()> operations_research::sat::FollowHint (const std::vector< BooleanOrIntegerVariable > &vars, const std::vector< IntegerValue > &values, Model *model)
 
std::function< BooleanOrIntegerLiteral()> operations_research::sat::SequentialSearch (std::vector< std::function< BooleanOrIntegerLiteral()> > heuristics)
 
std::function< BooleanOrIntegerLiteral()> operations_research::sat::SequentialValueSelection (std::vector< std::function< IntegerLiteral(IntegerVariable)> > value_selection_heuristics, std::function< BooleanOrIntegerLiteral()> var_selection_heuristic, Model *model)
 
std::function< BooleanOrIntegerLiteral()> operations_research::sat::IntegerValueSelectionHeuristic (std::function< BooleanOrIntegerLiteral()> var_selection_heuristic, Model *model)
 
std::function< BooleanOrIntegerLiteral()> operations_research::sat::SatSolverHeuristic (Model *model)
 Returns the BooleanOrIntegerLiteral advised by the underlying SAT solver.
 
std::function< BooleanOrIntegerLiteral()> operations_research::sat::PseudoCost (Model *model)
 
std::function< BooleanOrIntegerLiteral()> operations_research::sat::SchedulingSearchHeuristic (Model *model)
 A simple heuristic for scheduling models.
 
std::function< BooleanOrIntegerLiteral()> operations_research::sat::DisjunctivePrecedenceSearchHeuristic (Model *model)
 
std::function< BooleanOrIntegerLiteral()> operations_research::sat::CumulativePrecedenceSearchHeuristic (Model *model)
 
bool operations_research::sat::LinearizedPartIsLarge (Model *model)
 
std::function< bool()> operations_research::sat::RestartEveryKFailures (int k, SatSolver *solver)
 A restart policy that restarts every k failures.
 
std::function< bool()> operations_research::sat::SatSolverRestartPolicy (Model *model)
 A restart policy that uses the underlying sat solver's policy.
 
std::vector< std::function< BooleanOrIntegerLiteral()> > operations_research::sat::CompleteHeuristics (absl::Span< const std::function< BooleanOrIntegerLiteral()> > incomplete_heuristics, const std::function< BooleanOrIntegerLiteral()> &completion_heuristic)