Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
|
#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.
Namespaces | |
namespace | operations_research |
In SWIG mode, we don't want anything besides these top-level includes. | |
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 > | |
LocalSearchOperator * | operations_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 > | |
LocalSearchOperator * | operations_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 --— | |
LocalSearchFilter * | operations_research::MakePathStateFilter (Solver *solver, std::unique_ptr< PathState > path_state, const std::vector< IntVar * > &nexts) |
LocalSearchFilter * | operations_research::MakeDimensionFilter (Solver *solver, std::unique_ptr< DimensionChecker > checker, const std::string &dimension_name) |
template<class T > | |
Demon * | operations_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 > | |
Demon * | operations_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 > | |
Demon * | operations_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 > | |
Demon * | operations_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 > | |
Demon * | operations_research::MakeDelayedConstraintDemon0 (Solver *const s, T *const ct, void(T::*method)(), const std::string &name) |
template<class T , class P > | |
Demon * | operations_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 > | |
Demon * | operations_research::MakeDelayedConstraintDemon2 (Solver *const s, T *const ct, void(T::*method)(P, Q), const std::string &name, P param1, Q param2) |