Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
constraint_solveri.h File Reference
#include <stdint.h>
#include <string.h>
#include <algorithm>
#include <functional>
#include <initializer_list>
#include <memory>
#include <string>
#include <tuple>
#include <utility>
#include <vector>
#include "absl/algorithm/container.h"
#include "absl/container/flat_hash_map.h"
#include "absl/strings/str_cat.h"
#include "ortools/base/logging.h"
#include "ortools/base/strong_int.h"
#include "ortools/base/strong_vector.h"
#include "ortools/base/timer.h"
#include "ortools/base/types.h"
#include "ortools/constraint_solver/constraint_solver.h"
#include "ortools/util/bitset.h"
#include "ortools/util/tuple_set.h"

Go to the source code of this file.

Classes

class  operations_research::BaseIntExpr
 
class  operations_research::SimpleRevFIFO< T >
 
class  operations_research::SimpleRevFIFO< T >::Iterator
 This iterator is not stable with respect to deletion. More...
 
class  operations_research::RevImmutableMultiMap< K, V >
 
class  operations_research::RevSwitch
 A reversible switch that can switch once from false to true. More...
 
class  operations_research::SmallRevBitSet
 
class  operations_research::RevBitSet
 
class  operations_research::RevBitMatrix
 Matrix version of the RevBitSet class. More...
 
class  operations_research::CallMethod0< T >
 Demon proxy to a method on the constraint with no arguments. More...
 
class  operations_research::CallMethod1< T, P >
 Demon proxy to a method on the constraint with one argument. More...
 
class  operations_research::CallMethod2< T, P, Q >
 Demon proxy to a method on the constraint with two arguments. More...
 
class  operations_research::CallMethod3< T, P, Q, R >
 Demon proxy to a method on the constraint with three arguments. More...
 
class  operations_research::DelayedCallMethod0< T >
 Low-priority demon proxy to a method on the constraint with no arguments. More...
 
class  operations_research::DelayedCallMethod1< T, P >
 Low-priority demon proxy to a method on the constraint with one argument. More...
 
class  operations_research::DelayedCallMethod2< T, P, Q >
 Low-priority demon proxy to a method on the constraint with two arguments. More...
 
class  operations_research::LightIntFunctionElementCt< F >
 --— LightIntFunctionElementCt --— More...
 
class  operations_research::LightIntIntFunctionElementCt< F >
 --— LightIntIntFunctionElementCt --— More...
 
class  operations_research::LocalSearchOperator
 
class  operations_research::LocalSearchOperatorState
 
class  operations_research::IntVarLocalSearchOperator
 
class  operations_research::BaseLns
 
class  operations_research::ChangeValue
 
class  operations_research::PathOperator
 
struct  operations_research::PathOperator::IterationParameters
 Set of parameters used to configure how the neighnorhood is traversed. More...
 
class  operations_research::SubDagComputer
 
class  operations_research::LocalSearchState
 
struct  operations_research::LocalSearchState::DependencyGraph::Dependency
 
class  operations_research::LocalSearchState::Variable
 
class  operations_research::LocalSearchFilter
 
class  operations_research::LocalSearchFilterManager
 
struct  operations_research::LocalSearchFilterManager::FilterEvent
 
class  operations_research::IntVarLocalSearchFilter
 
class  operations_research::PropagationMonitor
 
class  operations_research::LocalSearchMonitor
 
class  operations_research::BooleanVar
 
class  operations_research::SymmetryBreaker
 
class  operations_research::SearchLog
 
class  operations_research::ModelCache
 
class  operations_research::ArgumentHolder
 Argument Holder: useful when visiting a model. More...
 
class  operations_research::ModelParser
 Model Parser. More...
 
class  operations_research::ArrayWithOffset< T >
 
class  operations_research::RevGrowingArray< T, C >
 
class  operations_research::RevIntSet< T >
 
class  operations_research::RevPartialSequence
 --— RevPartialSequence --— More...
 
class  operations_research::UnsortedNullableRevBitset
 
class  operations_research::PathState
 
struct  operations_research::PathState::ChainBounds
 
class  operations_research::PathState::Chain
 A Chain is a range of committed nodes. More...
 
class  operations_research::PathState::Chain::Iterator
 
class  operations_research::PathState::ChainRange
 A ChainRange is a range of Chains, committed or not. More...
 
class  operations_research::PathState::ChainRange::Iterator
 
class  operations_research::PathState::NodeRange
 
class  operations_research::PathState::NodeRange::Iterator
 
class  operations_research::DimensionChecker
 
struct  operations_research::DimensionChecker::Interval
 
struct  operations_research::DimensionChecker::ExtendedInterval
 

Namespaces

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

Enumerations

enum  operations_research::VarTypes {
  operations_research::UNSPECIFIED , operations_research::DOMAIN_INT_VAR , operations_research::BOOLEAN_VAR , operations_research::CONST_VAR ,
  operations_research::VAR_ADD_CST , operations_research::VAR_TIMES_CST , operations_research::CST_SUB_VAR , operations_research::OPP_VAR ,
  operations_research::TRACE_VAR
}
 

Functions

uint64_t operations_research::Hash1 (uint64_t value)
 
uint64_t operations_research::Hash1 (uint32_t value)
 
uint64_t operations_research::Hash1 (int64_t value)
 
uint64_t operations_research::Hash1 (int value)
 
uint64_t operations_research::Hash1 (void *const ptr)
 
template<class T >
uint64_t operations_research::Hash1 (const std::vector< T * > &ptrs)
 
uint64_t operations_research::Hash1 (const std::vector< int64_t > &ptrs)
 
template<class T >
LocalSearchOperatoroperations_research::MakeLocalSearchOperator (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64_t)> start_empty_path_class)
 Operator Factories.
 
template<class T >
LocalSearchOperatoroperations_research::MakeLocalSearchOperatorWithNeighbors (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64_t)> start_empty_path_class, std::function< const std::vector< int > &(int, int)> get_neighbors)
 
template<class T >
bool operations_research::IsArrayConstant (const std::vector< T > &values, const T &value)
 
template<class T >
bool operations_research::IsArrayBoolean (const std::vector< T > &values)
 
template<class T >
bool operations_research::AreAllOnes (const std::vector< T > &values)
 
template<class T >
bool operations_research::AreAllNull (const std::vector< T > &values)
 
template<class T >
bool operations_research::AreAllGreaterOrEqual (const std::vector< T > &values, const T &value)
 
template<class T >
bool operations_research::AreAllLessOrEqual (const std::vector< T > &values, const T &value)
 
template<class T >
bool operations_research::AreAllPositive (const std::vector< T > &values)
 
template<class T >
bool operations_research::AreAllNegative (const std::vector< T > &values)
 
template<class T >
bool operations_research::AreAllStrictlyPositive (const std::vector< T > &values)
 
template<class T >
bool operations_research::AreAllStrictlyNegative (const std::vector< T > &values)
 
template<class T >
bool operations_research::IsIncreasingContiguous (const std::vector< T > &values)
 
template<class T >
bool operations_research::IsIncreasing (const std::vector< T > &values)
 
template<class T >
bool operations_research::IsArrayInRange (const std::vector< IntVar * > &vars, T range_min, T range_max)
 
bool operations_research::AreAllBound (const std::vector< IntVar * > &vars)
 
bool operations_research::AreAllBooleans (const std::vector< IntVar * > &vars)
 
template<class T >
bool operations_research::AreAllBoundOrNull (const std::vector< IntVar * > &vars, const std::vector< T > &values)
 
bool operations_research::AreAllBoundTo (const std::vector< IntVar * > &vars, int64_t value)
 Returns true if all variables are assigned to 'value'.
 
int64_t operations_research::MaxVarArray (const std::vector< IntVar * > &vars)
 
int64_t operations_research::MinVarArray (const std::vector< IntVar * > &vars)
 
void operations_research::FillValues (const std::vector< IntVar * > &vars, std::vector< int64_t > *const values)
 
int64_t operations_research::PosIntDivUp (int64_t e, int64_t v)
 
int64_t operations_research::PosIntDivDown (int64_t e, int64_t v)
 
std::vector< int64_t > operations_research::ToInt64Vector (const std::vector< int > &input)
 --— Vector manipulations --—
 
LocalSearchFilteroperations_research::MakePathStateFilter (Solver *solver, std::unique_ptr< PathState > path_state, const std::vector< IntVar * > &nexts)
 
LocalSearchFilteroperations_research::MakeDimensionFilter (Solver *solver, std::unique_ptr< DimensionChecker > checker, const std::string &dimension_name)
 
template<class T >
Demonoperations_research::MakeConstraintDemon0 (Solver *const s, T *const ct, void(T::*method)(), const std::string &name)
 
template<class P >
std::string operations_research::ParameterDebugString (P param)
 
template<class P >
std::string operations_research::ParameterDebugString (P *param)
 Support limited to pointers to classes which define DebugString().
 
template<class T , class P >
Demonoperations_research::MakeConstraintDemon1 (Solver *const s, T *const ct, void(T::*method)(P), const std::string &name, P param1)
 
template<class T , class P , class Q >
Demonoperations_research::MakeConstraintDemon2 (Solver *const s, T *const ct, void(T::*method)(P, Q), const std::string &name, P param1, Q param2)
 
template<class T , class P , class Q , class R >
Demonoperations_research::MakeConstraintDemon3 (Solver *const s, T *const ct, void(T::*method)(P, Q, R), const std::string &name, P param1, Q param2, R param3)
 
template<class T >
Demonoperations_research::MakeDelayedConstraintDemon0 (Solver *const s, T *const ct, void(T::*method)(), const std::string &name)
 
template<class T , class P >
Demonoperations_research::MakeDelayedConstraintDemon1 (Solver *const s, T *const ct, void(T::*method)(P), const std::string &name, P param1)
 
template<class T , class P , class Q >
Demonoperations_research::MakeDelayedConstraintDemon2 (Solver *const s, T *const ct, void(T::*method)(P, Q), const std::string &name, P param1, Q param2)