OR-Tools  9.3
operations_research Namespace Reference

Collection of objects used to extend the Constraint Solver library. More...

Namespaces

namespace  bop
 
namespace  cap_prod_util
 
namespace  fz
 
namespace  glop
 
namespace  internal
 
namespace  math_opt
 
namespace  or_internal
 
namespace  packing
 
namespace  pdlp
 
namespace  sat
 
namespace  scheduling
 
namespace  sysinfo
 
namespace  utf8
 

Classes

class  AccurateSum
 
class  AdaptiveParameterValue
 
class  AffineRelation
 
class  AnnotatedGraphBuildManager
 
class  ArcFunctorOrderingByTailAndHead
 
class  ArcIndexOrderingByTailNode
 
class  ArgumentHolder
 Argument Holder: useful when visiting a model. More...
 
class  ArrayIndexCycleHandler
 
class  ArrayWithOffset
 
class  Assignment
 An Assignment is a variable -> domains mapping, used to report solutions to the user. More...
 
class  AssignmentContainer
 
class  AssignmentElement
 
class  AStarSP
 
class  BaseInactiveNodeToPathOperator
 
class  BaseIntExpr
 
class  BaseKnapsackSolver
 
class  BaseLns
 This is the base class for building an Lns operator. More...
 
class  BaseObject
 A BaseObject is the root of all reversibly allocated objects. More...
 
class  BasePathFilter
 Generic path-based filter class. More...
 
class  BellmanFord
 
class  Bitmap
 
class  BitQueue64
 
class  Bitset64
 
class  BlossomGraph
 
class  BooleanVar
 
class  BopInterface
 
class  BronKerboschAlgorithm
 
class  CachedLog
 
struct  CallbackRangeConstraint
 
struct  CallbackSetup
 
class  CallMethod0
 Demon proxy to a method on the constraint with no arguments. More...
 
class  CallMethod1
 Demon proxy to a method on the constraint with one argument. More...
 
class  CallMethod2
 Demon proxy to a method on the constraint with two arguments. More...
 
class  CallMethod3
 Demon proxy to a method on the constraint with three arguments. More...
 
class  CastConstraint
 Cast constraints are special channeling constraints designed to keep a variable in sync with an expression. More...
 
class  CBCInterface
 
class  ChangeValue
 Defines operators which change the value of variables; each neighbor corresponds to one modified variable. More...
 
class  CheapestAdditionFilteredHeuristic
 Filtered-base decision builder based on the addition heuristic, extending a path from its start node with the cheapest arc. More...
 
class  CheapestInsertionFilteredHeuristic
 
class  ChristofidesFilteredHeuristic
 Christofides addition heuristic. More...
 
class  ChristofidesPathSolver
 
struct  ClosedInterval
 Represents a closed interval [start, end]. More...
 
class  CLPInterface
 
class  ComparatorCheapestAdditionFilteredHeuristic
 A CheapestAdditionFilteredHeuristic where the notion of 'cheapest arc' comes from an arc comparator. More...
 
class  Constraint
 A constraint is the main modeling object. More...
 
class  CostValueCycleHandler
 
class  CppBridge
 This class performs various C++ initialization. More...
 
struct  CppFlags
 Simple structure that holds useful C++ flags to setup from non-C++ languages. More...
 
class  Cross
 
class  CumulBoundsPropagator
 
class  Decision
 A Decision represents a choice point in the search tree. More...
 
class  DecisionBuilder
 A DecisionBuilder is responsible for creating the search tree. More...
 
class  DecisionVisitor
 A DecisionVisitor is used to inspect a decision. More...
 
struct  DefaultPhaseParameters
 This struct holds all parameters for the default search. More...
 
class  DelayedCallMethod0
 Low-priority demon proxy to a method on the constraint with no arguments. More...
 
class  DelayedCallMethod1
 Low-priority demon proxy to a method on the constraint with one argument. More...
 
class  DelayedCallMethod2
 Low-priority demon proxy to a method on the constraint with two arguments. More...
 
class  Demon
 A Demon is the base element of a propagation queue. More...
 
class  DemonProfiler
 
class  DenseDoublyLinkedList
 
class  DijkstraSP
 
class  Dimension
 
class  DimensionCumulOptimizerCore
 
class  DisabledScopedInstructionCounter
 
class  DisabledScopedTimeDistributionUpdater
 
class  DisjunctiveConstraint
 
class  DisjunctivePropagator
 This class acts like a CP propagator: it takes a set of tasks given by their start/duration/end features, and reduces the range of possible values. More...
 
class  DistributionStat
 
class  Domain
 We call domain any subset of Int64 = [kint64min, kint64max]. More...
 
class  DoubleDistribution
 
class  DynamicPartition
 
class  DynamicPermutation
 
class  EbertGraph
 
class  EbertGraphBase
 
class  ElementIterator
 
class  EnabledScopedTimeDistributionUpdater
 
class  EvaluatorCheapestAdditionFilteredHeuristic
 A CheapestAdditionFilteredHeuristic where the notion of 'cheapest arc' comes from an arc evaluator. More...
 
class  Exchange
 
class  ExchangeSubtrip
 
class  ExtendedSwapActiveOperator
 
class  FilteredHeuristicCloseNodesLNSOperator
 Filtered heuristic LNS operator, where the destruction phase consists of removing a node and the 'num_close_nodes' nodes closest to it, along with each of their corresponding sibling pickup/deliveries that are performed. More...
 
class  FilteredHeuristicExpensiveChainLNSOperator
 Similar to the heuristic path LNS above, but instead of removing one route entirely, the destruction phase consists of removing all nodes on an "expensive" chain from a route. More...
 
class  FilteredHeuristicLocalSearchOperator
 Class of operators using a RoutingFilteredHeuristic to insert unperformed nodes after changes have been made to the current solution. More...
 
class  FilteredHeuristicPathLNSOperator
 LNS-like operator based on a filtered first solution heuristic to rebuild the solution, after the destruction phase consisting of removing one route. More...
 
class  FindOneNeighbor
 
class  ForwardEbertGraph
 
class  ForwardStaticGraph
 
class  GenericMaxFlow
 
class  GenericMinCostFlow
 
class  GlobalCheapestInsertionFilteredHeuristic
 Filter-based decision builder which builds a solution by inserting nodes at their cheapest position on any route; potentially several routes can be built in parallel. More...
 
class  GlobalDimensionCumulOptimizer
 
class  GlobalVehicleBreaksConstraint
 GlobalVehicleBreaksConstraint ensures breaks constraints are enforced on all vehicles in the dimension passed to its constructor. More...
 
class  GLOPInterface
 
struct  graph_traits
 
struct  graph_traits< ForwardEbertGraph< NodeIndexType, ArcIndexType > >
 
struct  graph_traits< ForwardStaticGraph< NodeIndexType, ArcIndexType > >
 
class  GraphExporter
 
struct  Graphs
 
struct  Graphs< operations_research::StarGraph >
 
class  GraphSymmetryFinder
 
class  GScip
 
struct  GScipConstraintOptions
 
class  GScipEventHandler
 
class  GScipEventHandlerContext
 
struct  GScipEventHandlerDescription
 
struct  GScipIndicatorConstraint
 
struct  GScipIndicatorRangeConstraint
 
struct  GScipLinearExpr
 
struct  GScipLinearRange
 
struct  GScipLogicalConstraintData
 
struct  GScipQuadraticRange
 
struct  GScipResult
 
struct  GScipSOSData
 
struct  GScipVariableOptions
 
class  GurobiInterface
 
class  HamiltonianPathSolver
 
class  HeldWolfeCrowderEvaluator
 
class  HungarianOptimizer
 
class  IfThenElseCt
 
class  ImprovementSearchLimit
 
class  IndexPairSwapActiveOperator
 Operator which inserts inactive nodes into a path and makes a pair of active nodes inactive. More...
 
class  InitAndGetValues
 Utility class to encapsulate an IntVarIterator and use it in a range-based loop. More...
 
class  IntegerDistribution
 
class  IntegerPriorityQueue
 
class  IntervalVar
 Interval variables are often used in scheduling. More...
 
class  IntervalVarElement
 
class  IntExpr
 The class IntExpr is the base of all integer expressions in constraint programming. More...
 
class  IntTupleSet
 
class  IntVar
 The class IntVar is a subset of IntExpr. More...
 
class  IntVarElement
 
class  IntVarFilteredDecisionBuilder
 Decision builder building a solution using heuristics with local search filters to evaluate its feasibility. More...
 
class  IntVarFilteredHeuristic
 Generic filter-based heuristic applied to IntVars. More...
 
class  IntVarIterator
 The class Iterator has two direct subclasses. More...
 
class  IntVarLocalSearchFilter
 
class  IntVarLocalSearchHandler
 
class  IntVarLocalSearchOperator
 Specialization of LocalSearchOperator built from an array of IntVars which specifies the scope of the operator. More...
 
class  Knapsack64ItemsSolver
 
struct  KnapsackAssignment
 
struct  KnapsackAssignmentForCuts
 
class  KnapsackBruteForceSolver
 
class  KnapsackCapacityPropagator
 
class  KnapsackDivideAndConquerSolver
 
class  KnapsackDynamicProgrammingSolver
 
class  KnapsackGenericSolver
 
struct  KnapsackItem
 
struct  KnapsackItemForCuts
 
struct  KnapsackItemWithEfficiency
 
class  KnapsackMIPSolver
 
class  KnapsackPropagator
 
class  KnapsackPropagatorForCuts
 
class  KnapsackSearchNode
 
class  KnapsackSearchNodeForCuts
 
class  KnapsackSearchPath
 
class  KnapsackSearchPathForCuts
 
class  KnapsackSolver
 This library solves knapsack problems. More...
 
class  KnapsackSolverForCuts
 
class  KnapsackState
 
class  KnapsackStateForCuts
 
class  LatticeMemoryManager
 
class  LazyMutableCopy
 
class  LightPairRelocateOperator
 
class  LinearExpr
 LinearExpr models a quantity that is linear in the decision variables (MPVariable) of an optimization problem, i.e. More...
 
class  LinearRange
 An expression of the form: More...
 
class  LinearSumAssignment
 
class  LinKernighan
 
class  LocalCheapestInsertionFilteredHeuristic
 Filter-base decision builder which builds a solution by inserting nodes at their cheapest position. More...
 
class  LocalDimensionCumulOptimizer
 
class  LocalSearchFilter
 Local Search Filters are used for fast neighbor pruning. More...
 
class  LocalSearchFilterManager
 Filter manager: when a move is made, filters are executed to decide whether the solution is feasible and compute parts of the new cost. More...
 
class  LocalSearchMonitor
 
class  LocalSearchMonitorMaster
 
class  LocalSearchOperator
 The base class for all local search operators. More...
 
class  LocalSearchPhaseParameters
 
class  LocalSearchProfiler
 
class  LocalSearchState
 
class  LocalSearchVariable
 
class  LogCallback
 
class  MakeActiveAndRelocate
 
class  MakeActiveOperator
 
class  MakeChainInactiveOperator
 
class  MakeInactiveOperator
 
class  MakePairActiveOperator
 Pair-based neighborhood operators, designed to move nodes by pairs (pairs are static and given). More...
 
class  MakePairInactiveOperator
 Operator which makes pairs of active nodes inactive. More...
 
class  MakeRelocateNeighborsOperator
 Relocate neighborhood which moves chains of neighbors. More...
 
class  MathUtil
 
class  MatrixOrFunction
 
class  MatrixOrFunction< ScalarType, std::vector< std::vector< ScalarType > >, square >
 
class  MaxFlow
 
class  MaxFlowStatusClass
 
class  MergingPartition
 
class  MinCostFlow
 
class  MinCostFlowBase
 
class  MinCostPerfectMatching
 
class  ModelBuilderHelper
 
class  ModelCache
 Implements a complete cache for model elements: expressions and constraints. More...
 
class  ModelParser
 Model Parser. More...
 
class  ModelSolverHelper
 
class  ModelVisitor
 Model visitor. More...
 
class  MonoidOperationTree
 
class  MPCallback
 
class  MPCallbackContext
 
class  MPCallbackList
 
class  MPConstraint
 The class for constraints of a Mathematical Programming (MP) model. More...
 
struct  MPModelExportOptions
 Export options. More...
 
class  MPObjective
 A class to express a linear objective. More...
 
class  MPSolver
 This mathematical programming (MP) solver class is the main class though which users build and solve problems. More...
 
class  MPSolverInterface
 
class  MPSolverParameters
 This class stores parameter settings for LP and MIP solvers. More...
 
class  MPVariable
 The class for variables of a Mathematical Programming (MP) model. More...
 
class  NearestNeighbors
 
class  NeighborhoodLimit
 
class  NestedTimeLimit
 Provides a way to nest time limits for algorithms where a certain part of the computation is bounded not just by the overall time limit, but also by a stricter time limit specific just for this particular part. More...
 
class  NumericalRev
 Subclass of Rev<T> which adds numerical operations. More...
 
class  NumericalRevArray
 Subclass of RevArray<T> which adds numerical operations. More...
 
class  OptimizeVar
 This class encapsulates an objective. More...
 
class  OrToolsVersion
 
class  Pack
 
class  PairExchangeOperator
 Operator which exchanges the position of two pairs; for both pairs the first node of the pair must be before the second node on the same path. More...
 
class  PairExchangeRelocateOperator
 Operator which exchanges the paths of two pairs (path have to be different). More...
 
class  PairNodeSwapActiveOperator
 Operator which inserts pairs of inactive nodes into a path and makes an active node inactive. More...
 
class  PairRelocateOperator
 Operator which moves a pair of nodes to another position where the first node of the pair must be before the second node on the same path. More...
 
class  ParallelSavingsFilteredHeuristic
 
class  PathLns
 
class  PathOperator
 Base class of the local search operators dedicated to path modifications (a path is a set of nodes linked together by arcs). More...
 
class  PathState
 
class  PdlpInterface
 
class  PermutationApplier
 
class  PermutationCycleHandler
 
class  PermutationIndexComparisonByArcHead
 
class  PiecewiseLinearExpr
 
class  PiecewiseLinearFunction
 
class  PiecewiseSegment
 
class  PriorityQueueWithRestrictedPush
 
class  ProfiledDecisionBuilder
 
class  PropagationBaseObject
 NOLINT. More...
 
class  PropagationMonitor
 
class  PruningHamiltonianSolver
 
class  Queue
 
class  RangeIntToIntFunction
 
class  RangeMinimumIndexQuery
 
class  RangeMinimumQuery
 
class  RangeMinMaxIndexFunction
 
class  RatioDistribution
 
class  RegularLimit
 Usual limit based on wall_time, number of explored branches and number of failures in the search tree. More...
 
class  Relocate
 
class  RelocateAndMakeActiveOperator
 
class  RelocateAndMakeInactiveOperator
 
class  RelocateExpensiveChain
 RelocateExpensiveChain. More...
 
class  RelocatePathAndHeuristicInsertUnperformedOperator
 Heuristic-based local search operator which relocates an entire route to an empty vehicle of different vehicle class and then tries to insert unperformed nodes using the heuristic. More...
 
class  RelocateSubtrip
 Tries to move subtrips after an insertion node. More...
 
class  ResourceAssignmentOptimizer
 
class  Rev
 This class adds reversibility to a POD type. More...
 
class  RevArray
 Reversible array of POD types. More...
 
class  RevBitMatrix
 Matrix version of the RevBitSet class. More...
 
class  RevBitSet
 This class represents a reversible bitset. More...
 
class  ReversibleInterface
 
class  RevGrowingArray
 This class is a reversible growing array. More...
 
class  RevGrowingMultiMap
 
class  RevImmutableMultiMap
 Reversible Immutable MultiMap class. More...
 
class  RevIntSet
 This is a special class to represent a 'residual' set of T. More...
 
class  RevMap
 
class  RevPartialSequence
 --— RevPartialSequence --— More...
 
class  RevRepository
 
class  RevSwitch
 A reversible switch that can switch once from false to true. More...
 
class  RevVector
 
class  RoutingCPSatWrapper
 
class  RoutingDimension
 Dimensions represent quantities accumulated at nodes along the routes. More...
 
class  RoutingFilteredHeuristic
 Filter-based heuristic dedicated to routing. More...
 
class  RoutingGlopWrapper
 
class  RoutingIndexManager
 Manager for any NodeIndex <-> variable index conversion. More...
 
class  RoutingLinearSolverWrapper
 
class  RoutingModel
 
class  RoutingModelInspector
 
class  RoutingModelVisitor
 Routing model visitor. More...
 
class  RunningAverage
 
class  RunningMax
 
class  SatInterface
 
class  SavingsFilteredHeuristic
 Filter-based decision builder which builds a solution by using Clarke & Wright's Savings heuristic. More...
 
struct  ScipCallbackConstraintOptions
 
class  ScipConstraintHandler
 
class  ScipConstraintHandlerContext
 
struct  ScipConstraintHandlerDescription
 
class  ScipConstraintHandlerForMPCallback
 
class  SCIPInterface
 
class  ScipMPCallbackContext
 
class  ScopedFloatingPointEnv
 
class  Search
 
class  SearchLimit
 Base class of all search limits. More...
 
class  SearchLog
 The base class of all search logs that periodically outputs information when the search is running. More...
 
class  SearchMonitor
 A search monitor is a simple set of callbacks to monitor all search events. More...
 
class  SequenceVar
 A sequence variable is a variable whose domain is a set of possible orderings of the interval variables. More...
 
class  SequenceVarElement
 The SequenceVarElement stores a partial representation of ranked interval variables in the underlying sequence variable. More...
 
class  SequenceVarLocalSearchHandler
 
class  SequenceVarLocalSearchOperator
 
class  SequentialSavingsFilteredHeuristic
 
class  Set
 
class  SetRangeIterator
 
class  SetRangeWithCardinality
 
class  SharedTimeLimit
 
class  SigintHandler
 
class  SimpleBoundCosts
 A structure meant to store soft bounds and associated violation constants. More...
 
class  SimpleLinearSumAssignment
 
class  SimpleMaxFlow
 
class  SimpleMinCostFlow
 
class  SimpleRevFIFO
 This class represent a reversible FIFO structure. More...
 
class  SmallRevBitSet
 This class represents a small reversible bitset (size <= 64). More...
 
class  SolutionCollector
 This class is the root class of all solution collectors. More...
 
class  SolutionPool
 This class is used to manage a pool of solutions. More...
 
class  Solver
 Solver Class. More...
 
class  SolverLogger
 
class  SortedDisjointIntervalList
 This class represents a sorted list of disjoint, closed intervals. More...
 
class  SparseBitset
 
class  SparsePermutation
 
class  StarGraphBase
 
class  Stat
 
struct  StateInfo
 
struct  StateMarker
 
class  StatsGroup
 
class  StrongIndex
 
class  StrongInt64
 
class  SwapActiveOperator
 
class  SwapIndexPairOperator
 Operator which iterates through each alternative of a set of pairs. More...
 
class  SweepArranger
 Class to arrange indices by their distance and their angle from the depot. More...
 
class  SymmetryBreaker
 A symmetry breaker is an object that will visit a decision and create the 'symmetrical' decision in return. More...
 
class  SymmetryManager
 
class  TailArrayManager
 
class  ThreadPool
 
class  TimeDistribution
 
class  TimeLimit
 A simple class to enforce both an elapsed time limit and a deterministic time limit in the same thread as a program. More...
 
class  Trace
 
struct  Trail
 
struct  TravelBounds
 
struct  TravelingSalesmanLowerBoundParameters
 
class  TSPLns
 
class  TSPOpt
 
class  TwoOpt
 
class  TypeIncompatibilityChecker
 Checker for type incompatibilities. More...
 
class  TypeRegulationsChecker
 
class  TypeRegulationsConstraint
 The following constraint ensures that incompatibilities and requirements between types are respected. More...
 
class  TypeRequirementChecker
 Checker for type requirements. More...
 
class  UnaryDimensionChecker
 
class  UnsortedNullableRevBitset
 This class represents a reversible bitset. More...
 
class  VarLocalSearchOperator
 Base operator class for operators manipulating variables. More...
 
class  VectorMap
 
class  VectorOrFunction
 
class  VectorOrFunction< ScalarType, std::vector< ScalarType > >
 
class  VehicleTypeCurator
 Helper class that manages vehicles. More...
 
class  VolgenantJonkerEvaluator
 
class  ZVector
 

Typedefs

typedef KnapsackItemKnapsackItemPtr
 
using KnapsackItemForCutsPtr = std::unique_ptr< KnapsackItemForCuts >
 
typedef VarLocalSearchOperator< SequenceVar, std::vector< int >, SequenceVarLocalSearchHandlerSequenceVarLocalSearchOperatorTemplate
 
typedef std::function< int64_t(int64_t)> RoutingTransitCallback1
 
typedef std::function< int64_t(int64_t, int64_t)> RoutingTransitCallback2
 
typedef std::pair< std::vector< int64_t >, std::vector< int64_t > > RoutingIndexPair
 
typedef std::vector< RoutingIndexPairRoutingIndexPairs
 
typedef std::pair< int64_t, int64_t > Arc
 
using NodeIndex = int32_t
 
typedef int32_t ArcIndex
 
typedef int64_t FlowQuantity
 
using CostValue = int64_t
 
typedef EbertGraph< NodeIndex, ArcIndexStarGraph
 
typedef ForwardEbertGraph< NodeIndex, ArcIndexForwardStarGraph
 
typedef ForwardStaticGraph< NodeIndex, ArcIndexForwardStarStaticGraph
 
typedef ZVector< NodeIndexNodeIndexArray
 
typedef ZVector< ArcIndexArcIndexArray
 
typedef ZVector< FlowQuantityQuantityArray
 
typedef ZVector< CostValueCostArray
 
typedef int PathNodeIndex
 
using GScipSolution = absl::flat_hash_map< SCIP_VAR *, double >
 
using GScipBranchingPriority = absl::flat_hash_map< SCIP_VAR *, int >
 
using GScipMessageHandler = std::function< void(GScipMessageType type, absl::string_view message)>
 
using random_engine_t = std::mt19937
 
typedef std::pair< int64_t, int64_t > Fraction
 
template<class Iterator >
using value_type_t = typename std::iterator_traits< Iterator >::value_type
 
using ScopedTimeDistributionUpdater = DisabledScopedTimeDistributionUpdater
 
using ScopedInstructionCounter = DisabledScopedInstructionCounter
 
typedef ZVector< int8_t > Int8ZVector
 
typedef ZVector< int16_t > Int16ZVector
 
typedef ZVector< int32_t > Int32ZVector
 
typedef ZVector< int64_t > Int64ZVector
 
typedef ZVector< uint8_t > UInt8ZVector
 
typedef ZVector< uint16_t > UInt16ZVector
 
typedef ZVector< uint32_t > UInt32ZVector
 
typedef ZVector< uint64_t > UInt64ZVector
 

Enumerations

enum  VarTypes {
  UNSPECIFIED , DOMAIN_INT_VAR , BOOLEAN_VAR , CONST_VAR ,
  VAR_ADD_CST , VAR_TIMES_CST , CST_SUB_VAR , OPP_VAR ,
  TRACE_VAR
}
 This enum is used internally to do dynamic typing on subclasses of integer variables. More...
 
enum class  DimensionSchedulingStatus { OPTIMAL , RELAXED_OPTIMAL_ONLY , INFEASIBLE }
 
enum class  CliqueResponse { CONTINUE , STOP }
 
enum class  BronKerboschAlgorithmStatus { COMPLETED , INTERRUPTED }
 
enum class  GScipVarType { kContinuous , kInteger , kImpliedInteger }
 
enum class  GScipHintResult { kInfeasible , kRejected , kAccepted }
 
enum class  GScipMessageType { kInfoMessage , kDialogMessage , kWarningMessage }
 
enum class  MPCallbackEvent {
  kUnknown , kPolling , kPresolve , kSimplex ,
  kMip , kMipSolution , kMipNode , kBarrier ,
  kMessage , kMultiObj
}
 
enum class  ScipSeparationResult { kLazyConstraintAdded , kCuttingPlaneAdded , kDidNotFind }
 
enum class  ProtoWriteFormat { kProtoText , kProtoBinary , kJson , kCanonicalJson }
 

Functions

bool InputContainsNan (const std::vector< std::vector< double > > &input)
 
void MinimizeLinearAssignment (const std::vector< std::vector< double > > &cost, absl::flat_hash_map< int, int > *direct_assignment, absl::flat_hash_map< int, int > *reverse_assignment)
 
void MaximizeLinearAssignment (const std::vector< std::vector< double > > &cost, absl::flat_hash_map< int, int > *direct_assignment, absl::flat_hash_map< int, int > *reverse_assignment)
 
void GenericCheck (const int expected_assignment_size, const absl::flat_hash_map< int, int > &direct_assignment, const absl::flat_hash_map< int, int > &reverse_assignment, const int expected_agents[], const int expected_tasks[])
 
void TestMinimization (const std::vector< std::vector< double > > &cost, const int expected_assignment_size, const int expected_agents[], const int expected_tasks[])
 
void TestMaximization (const std::vector< std::vector< double > > &cost, const int expected_assignment_size, const int expected_agents[], const int expected_tasks[])
 
 TEST (LinearAssignmentTest, NullMatrix)
 
 TEST (LinearAssignmentTest, InvalidMatrix)
 
 TEST (LinearAssignmentTest, SizeOneMatrix)
 
 TEST (LinearAssignmentTest, Small4x4Matrix)
 
 TEST (LinearAssignmentTest, Small3x4Matrix)
 
 TEST (LinearAssignmentTest, Small4x3Matrix)
 
bool CompareKnapsackItemWithEfficiencyInDecreasingEfficiencyOrder (const KnapsackItemWithEfficiency &item1, const KnapsackItemWithEfficiency &item2)
 
const KnapsackSearchNodeForCutsMoveUpToDepth (const KnapsackSearchNodeForCuts *node, int depth)
 
static void mix (uint32_t &a, uint32_t &b, uint32_t &c)
 
static void mix (uint64_t &a, uint64_t &b, uint64_t &c)
 
uint32_t Hash32NumWithSeed (uint32_t num, uint32_t c)
 
uint64_t Hash64NumWithSeed (uint64_t num, uint64_t c)
 
int64_t GetProcessMemoryUsage ()
 
uint64_t MixTwoUInt64 (uint64_t fp1, uint64_t fp2)
 
uint64_t ThoroughHash (const char *bytes, size_t len)
 
void RunWorker (void *data)
 
int OrToolsMajorVersion ()
 
int OrToolsMinorVersion ()
 
int OrToolsPatchVersion ()
 
std::string OrToolsVersionString ()
 
template<class Var , class Element , class Proto , class Container >
void RealLoad (const AssignmentProto &assignment_proto, Container *const container, int(AssignmentProto::*GetSize)() const, const Proto &(AssignmentProto::*GetElem)(int) const)
 
template<class Var , class Element , class Proto , class Container >
void RealSave (AssignmentProto *const assignment_proto, const Container &container, Proto *(AssignmentProto::*Add)())
 
template<class Container , class Element >
void RealDebugString (const Container &container, std::string *const out)
 
void SetAssignmentFromAssignment (Assignment *target_assignment, const std::vector< IntVar * > &target_vars, const Assignment *source_assignment, const std::vector< IntVar * > &source_vars)
 NOLINT. More...
 
std::ostream & operator<< (std::ostream &out, const Assignment &assignment)
 
DemonProfilerBuildDemonProfiler (Solver *const solver)
 
void DeleteDemonProfiler (DemonProfiler *const monitor)
 
void InstallDemonProfiler (DemonProfiler *const monitor)
 
LocalSearchProfilerBuildLocalSearchProfiler (Solver *solver)
 
void DeleteLocalSearchProfiler (LocalSearchProfiler *monitor)
 
void InstallLocalSearchProfiler (LocalSearchProfiler *monitor)
 
void CleanVariableOnFail (IntVar *const var)
 
void RestoreBoolValue (IntVar *const var)
 
void InternalSaveBooleanVarValue (Solver *const solver, IntVar *const var)
 
bool LocalOptimumReached (Search *const search)
 
bool AcceptDelta (Search *const search, Assignment *delta, Assignment *deltadelta)
 
void AcceptNeighbor (Search *const search)
 
void AcceptUncheckedNeighbor (Search *const search)
 
PropagationMonitorBuildTrace (Solver *const s)
 
LocalSearchMonitorBuildLocalSearchMonitorMaster (Solver *const s)
 
ModelCacheBuildModelCache (Solver *const solver)
 
PropagationMonitorBuildPrintTrace (Solver *const s)
 
std::ostream & operator<< (std::ostream &out, const Solver *const s)
 
std::ostream & operator<< (std::ostream &out, const BaseObject *const o)
 
int64_t CpRandomSeed ()
 
int64_t Zero ()
 NOLINT. More...
 
int64_t One ()
 This method returns 1. More...
 
uint64_t Hash1 (uint64_t value)
 Hash functions. More...
 
uint64_t Hash1 (uint32_t value)
 
uint64_t Hash1 (int64_t value)
 
uint64_t Hash1 (int value)
 
uint64_t Hash1 (void *const ptr)
 
template<class T >
uint64_t Hash1 (const std::vector< T * > &ptrs)
 
uint64_t Hash1 (const std::vector< int64_t > &ptrs)
 
template<class T >
LocalSearchOperatorMakeLocalSearchOperator (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64_t)> start_empty_path_class)
 Operator Factories. More...
 
template<class T >
bool IsArrayConstant (const std::vector< T > &values, const T &value)
 
template<class T >
bool IsArrayBoolean (const std::vector< T > &values)
 
template<class T >
bool AreAllOnes (const std::vector< T > &values)
 
template<class T >
bool AreAllNull (const std::vector< T > &values)
 
template<class T >
bool AreAllGreaterOrEqual (const std::vector< T > &values, const T &value)
 
template<class T >
bool AreAllLessOrEqual (const std::vector< T > &values, const T &value)
 
template<class T >
bool AreAllPositive (const std::vector< T > &values)
 
template<class T >
bool AreAllNegative (const std::vector< T > &values)
 
template<class T >
bool AreAllStrictlyPositive (const std::vector< T > &values)
 
template<class T >
bool AreAllStrictlyNegative (const std::vector< T > &values)
 
template<class T >
bool IsIncreasingContiguous (const std::vector< T > &values)
 
template<class T >
bool IsIncreasing (const std::vector< T > &values)
 
template<class T >
bool IsArrayInRange (const std::vector< IntVar * > &vars, T range_min, T range_max)
 
bool AreAllBound (const std::vector< IntVar * > &vars)
 
bool AreAllBooleans (const std::vector< IntVar * > &vars)
 
template<class T >
bool AreAllBoundOrNull (const std::vector< IntVar * > &vars, const std::vector< T > &values)
 Returns true if all the variables are assigned to a single value, or if their corresponding value is null. More...
 
bool AreAllBoundTo (const std::vector< IntVar * > &vars, int64_t value)
 Returns true if all variables are assigned to 'value'. More...
 
int64_t MaxVarArray (const std::vector< IntVar * > &vars)
 
int64_t MinVarArray (const std::vector< IntVar * > &vars)
 
void FillValues (const std::vector< IntVar * > &vars, std::vector< int64_t > *const values)
 
int64_t PosIntDivUp (int64_t e, int64_t v)
 
int64_t PosIntDivDown (int64_t e, int64_t v)
 
std::vector< int64_t > ToInt64Vector (const std::vector< int > &input)
 
LocalSearchFilterMakePathStateFilter (Solver *solver, std::unique_ptr< PathState > path_state, const std::vector< IntVar * > &nexts)
 
LocalSearchFilterMakeUnaryDimensionFilter (Solver *solver, std::unique_ptr< UnaryDimensionChecker > checker, const std::string &dimension_name)
 
std::string DefaultPhaseStatString (DecisionBuilder *db)
 
void RegisterDemon (Solver *const solver, Demon *const demon, DemonProfiler *const monitor)
 
void DemonProfilerAddFakeRun (DemonProfiler *const monitor, Demon *const demon, int64_t start_time, int64_t end_time, bool is_fail)
 
void DemonProfilerExportInformation (DemonProfiler *const monitor, const Constraint *const constraint, int64_t *const fails, int64_t *const initial_propagation_runtime, int64_t *const demon_invocations, int64_t *const total_demon_runtime, int *const demon_count)
 
void DemonProfilerBeginInitialPropagation (DemonProfiler *const monitor, Constraint *const constraint)
 
void DemonProfilerEndInitialPropagation (DemonProfiler *const monitor, Constraint *const constraint)
 
void LinkVarExpr (Solver *const s, IntExpr *const expr, IntVar *const var)
 
ConstraintSetIsEqual (IntVar *const var, const std::vector< int64_t > &values, const std::vector< IntVar * > &vars)
 
ConstraintSetIsGreaterOrEqual (IntVar *const var, const std::vector< int64_t > &values, const std::vector< IntVar * > &vars)
 
IntExprBuildStartExpr (IntervalVar *var)
 
IntExprBuildDurationExpr (IntervalVar *var)
 
IntExprBuildEndExpr (IntervalVar *var)
 
IntExprBuildSafeStartExpr (IntervalVar *var, int64_t unperformed_value)
 
IntExprBuildSafeDurationExpr (IntervalVar *var, int64_t unperformed_value)
 
IntExprBuildSafeEndExpr (IntervalVar *var, int64_t unperformed_value)
 
DecisionBuilderMakeSetValuesFromTargets (Solver *solver, std::vector< IntVar * > variables, std::vector< int64_t > targets)
 A decision builder which tries to assign values to variables as close as possible to target values first. More...
 
DecisionBuilderMakeRestoreDimensionValuesForUnchangedRoutes (RoutingModel *model)
 
bool HasUnaryDimension (const std::vector< RoutingDimension * > &dimensions)
 
void FillPathEvaluation (const std::vector< int64_t > &path, const RoutingModel::TransitCallback2 &evaluator, std::vector< int64_t > *values)
 
void AppendTasksFromPath (const std::vector< int64_t > &path, const TravelBounds &travel_bounds, const RoutingDimension &dimension, DisjunctivePropagator::Tasks *tasks)
 
void AppendTasksFromIntervals (const std::vector< IntervalVar * > &intervals, DisjunctivePropagator::Tasks *tasks)
 
void FillTravelBoundsOfVehicle (int vehicle, const std::vector< int64_t > &path, const RoutingDimension &dimension, TravelBounds *travel_bounds)
 
bool SolveModelWithSat (const RoutingModel &model, const RoutingSearchParameters &search_parameters, const Assignment *initial_solution, Assignment *solution)
 Attempts to solve the model using the cp-sat solver. More...
 
IntVarLocalSearchFilterMakeVehicleBreaksFilter (const RoutingModel &routing_model, const RoutingDimension &dimension)
 
IntVarLocalSearchFilterMakeMaxActiveVehiclesFilter (const RoutingModel &routing_model)
 Returns a filter ensuring that max active vehicles constraints are enforced. More...
 
IntVarLocalSearchFilterMakeNodeDisjunctionFilter (const RoutingModel &routing_model, bool filter_cost)
 Returns a filter ensuring that node disjunction constraints are enforced. More...
 
IntVarLocalSearchFilterMakeVehicleAmortizedCostFilter (const RoutingModel &routing_model)
 Returns a filter computing vehicle amortized costs. More...
 
IntVarLocalSearchFilterMakeTypeRegulationsFilter (const RoutingModel &routing_model)
 Returns a filter ensuring type regulation constraints are enforced. More...
 
IntVarLocalSearchFilterMakePathCumulFilter (const RoutingDimension &dimension, bool propagate_own_objective_value, bool filter_objective_cost, bool can_use_lp)
 Returns a filter handling dimension costs and constraints. More...
 
void AppendLightWeightDimensionFilters (const PathState *path_state, const std::vector< RoutingDimension * > &dimensions, std::vector< LocalSearchFilterManager::FilterEvent > *filters)
 Appends dimension-based filters to the given list of filters using a path state. More...
 
void AppendDimensionCumulFilters (const std::vector< RoutingDimension * > &dimensions, const RoutingSearchParameters &parameters, bool filter_objective_cost, bool filter_light_weight_unary_dimensions, std::vector< LocalSearchFilterManager::FilterEvent > *filters)
 
IntVarLocalSearchFilterMakePickupDeliveryFilter (const RoutingModel &routing_model, const RoutingModel::IndexPairs &pairs, const std::vector< RoutingModel::PickupAndDeliveryPolicy > &vehicle_policies)
 Returns a filter enforcing pickup and delivery constraints for the given pair of nodes and given policies. More...
 
IntVarLocalSearchFilterMakeVehicleVarFilter (const RoutingModel &routing_model)
 Returns a filter checking that vehicle variable domains are respected. More...
 
IntVarLocalSearchFilterMakeCumulBoundsPropagatorFilter (const RoutingDimension &dimension)
 Returns a filter handling dimension cumul bounds. More...
 
IntVarLocalSearchFilterMakeGlobalLPCumulFilter (GlobalDimensionCumulOptimizer *optimizer, GlobalDimensionCumulOptimizer *mp_optimizer, bool filter_objective_cost)
 Returns a filter checking global linear constraints and costs. More...
 
LocalSearchFilterMakeResourceAssignmentFilter (LocalDimensionCumulOptimizer *optimizer, LocalDimensionCumulOptimizer *mp_optimizer, bool propagate_own_objective_value, bool filter_objective_cost)
 Returns a filter checking the feasibility and cost of the resource assignment. More...
 
IntVarLocalSearchFilterMakeCPFeasibilityFilter (RoutingModel *routing_model)
 Returns a filter checking the current solution using CP propagation. More...
 
void SetFirstSolutionStrategyFromFlags (RoutingSearchParameters *parameters)
 
void SetLocalSearchMetaheuristicFromFlags (RoutingSearchParameters *parameters)
 
void AddLocalSearchNeighborhoodOperatorsFromFlags (RoutingSearchParameters *parameters)
 
void SetSearchLimitsFromFlags (RoutingSearchParameters *parameters)
 
void SetMiscellaneousParametersFromFlags (RoutingSearchParameters *parameters)
 
RoutingSearchParameters BuildSearchParametersFromFlags ()
 Builds routing search parameters from flags. More...
 
RoutingModelParameters BuildModelParametersFromFlags ()
 Builds routing search parameters from flags. More...
 
RoutingModelParameters DefaultRoutingModelParameters ()
 
RoutingSearchParameters DefaultRoutingSearchParameters ()
 
std::string FindErrorInRoutingSearchParameters (const RoutingSearchParameters &search_parameters)
 Returns an empty std::string if the routing search parameters are valid, and a non-empty, human readable error description if they're not. More...
 
FirstSolutionStrategy::Value AutomaticFirstSolutionStrategy (bool has_pickup_deliveries, bool has_node_precedences, bool has_single_vehicle_node)
 Returns the best value for the automatic first solution strategy, based on the given model parameters. More...
 
DecisionBuilderMakeSweepDecisionBuilder (RoutingModel *model, bool check_assignment)
 
DecisionBuilderMakeAllUnperformed (RoutingModel *model)
 
 DEFINE_STRONG_INT_TYPE (RoutingNodeIndex, int)
 Defining common types used in the routing library outside the main RoutingModel class has several purposes: 1) It allows some small libraries to avoid a dependency on routing. More...
 
 DEFINE_STRONG_INT_TYPE (RoutingCostClassIndex, int)
 
 DEFINE_STRONG_INT_TYPE (RoutingDimensionIndex, int)
 
 DEFINE_STRONG_INT_TYPE (RoutingDisjunctionIndex, int)
 
 DEFINE_STRONG_INT_TYPE (RoutingVehicleClassIndex, int)
 
BaseAssignVariables::Mode ChooseMode (Solver::IntValueStrategy val_str)
 
int ComputeFormVarStatus (glp_prob *const problem, const int num_cstrs, const int k)
 
double ComputeFormVarReducedCost (glp_prob *const problem, const int num_cstrs, const int k)
 
double ComputeFormVarPrimalValue (glp_prob *const problem, const int num_cstrs, const int k)
 
double ComputeFormVarLowerBound (glp_prob *const problem, const int num_cstrs, const int k)
 
double ComputeFormVarUpperBound (glp_prob *const problem, const int num_cstrs, const int k)
 
void SetupGlpkEnvAutomaticDeletion ()
 
std::string SolutionStatusString (const int status)
 
std::string BasisStatusString (const int stat)
 
std::string ReturnCodeString (const int rc)
 
std::string TruncateAndQuoteGLPKName (const std::string_view original_name)
 
bool AStarShortestPath (int node_count, int start_node, int end_node, std::function< int64_t(int, int)> graph, std::function< int64_t(int)> heuristic, int64_t disconnected_distance, std::vector< int > *nodes)
 
bool BellmanFordShortestPath (int node_count, int start_node, int end_node, std::function< int64_t(int, int)> graph, int64_t disconnected_distance, std::vector< int > *nodes)
 
template<typename WeightFunctionType , typename GraphType >
absl::StatusOr< std::vector< std::pair< typename GraphType::NodeIndex, typename GraphType::NodeIndex > > > ComputeMinimumWeightMatching (const GraphType &graph, const WeightFunctionType &weight)
 
template<typename WeightFunctionType , typename GraphType >
absl::StatusOr< std::vector< std::pair< typename GraphType::NodeIndex, typename GraphType::NodeIndex > > > ComputeMinimumWeightMatchingWithMIP (const GraphType &graph, const WeightFunctionType &weight)
 
void FindCliques (std::function< bool(int, int)> graph, int node_count, std::function< bool(const std::vector< int > &)> callback)
 
void CoverArcsByCliques (std::function< bool(int, int)> graph, int node_count, std::function< bool(const std::vector< int > &)> callback)
 
bool DijkstraShortestPath (int node_count, int start_node, int end_node, std::function< int64_t(int, int)> graph, int64_t disconnected_distance, std::vector< int > *nodes)
 
bool StableDijkstraShortestPath (int node_count, int start_node, int end_node, std::function< int64_t(int, int)> graph, int64_t disconnected_distance, std::vector< int > *nodes)
 
template<typename GraphType >
bool BuildLineGraph (const GraphType &graph, GraphType *const line_graph)
 
template<typename Graph >
bool IsEulerianGraph (const Graph &graph)
 
template<typename NodeIndex , typename Graph >
bool IsSemiEulerianGraph (const Graph &graph, std::vector< NodeIndex > *odd_nodes)
 
template<typename NodeIndex , typename Graph >
std::vector< NodeIndexBuildEulerianPathFromNode (const Graph &graph, NodeIndex root)
 
template<typename NodeIndex , typename Graph >
std::vector< NodeIndexBuildEulerianTourFromNode (const Graph &graph, NodeIndex root)
 
template<typename Graph >
std::vector< typename Graph::NodeIndex > BuildEulerianTour (const Graph &graph)
 
template<typename Graph >
std::vector< typename Graph::NodeIndex > BuildEulerianPath (const Graph &graph)
 
template<typename CostType , typename CostFunction >
HamiltonianPathSolver< CostType, CostFunction > MakeHamiltonianPathSolver (int num_nodes, CostFunction cost)
 
template<typename Graph >
std::vector< typename Graph::ArcIndex > BuildKruskalMinimumSpanningTreeFromSortedArcs (const Graph &graph, const std::vector< typename Graph::ArcIndex > &sorted_arcs)
 
template<typename Graph , typename ArcComparator >
std::vector< typename Graph::ArcIndex > BuildKruskalMinimumSpanningTree (const Graph &graph, const ArcComparator &arc_comparator)
 
template<typename Graph , typename ArcValue >
std::vector< typename Graph::ArcIndex > BuildPrimMinimumSpanningTree (const Graph &graph, const ArcValue &arc_value)
 
template<typename CostFunction >
std::set< std::pair< int, int > > NearestNeighbors (int number_of_nodes, int number_of_neighbors, const CostFunction &cost)
 
template<typename CostFunction >
void AddArcsFromMinimumSpanningTree (int number_of_nodes, const CostFunction &cost, std::set< std::pair< int, int > > *arcs)
 
template<typename CostFunction , typename GraphType , typename AcceptFunction >
int GetNodeMinimizingEdgeCostToSource (const GraphType &graph, int source, const CostFunction &cost, AcceptFunction accept)
 
template<typename CostFunction , typename GraphType , typename CostType >
std::vector< int > ComputeOneTree (const GraphType &graph, const CostFunction &cost, const std::vector< double > &weights, const std::vector< int > &sorted_arcs, CostType *one_tree_cost)
 
template<typename CostFunction , typename Algorithm >
double ComputeOneTreeLowerBoundWithAlgorithm (int number_of_nodes, int nearest_neighbors, const CostFunction &cost, Algorithm *algorithm)
 
template<typename CostFunction >
double ComputeOneTreeLowerBoundWithParameters (int number_of_nodes, const CostFunction &cost, const TravelingSalesmanLowerBoundParameters &parameters)
 
template<typename CostFunction >
double ComputeOneTreeLowerBound (int number_of_nodes, const CostFunction &cost)
 
const GScipVariableOptionsDefaultGScipVariableOptions ()
 
const GScipConstraintOptionsDefaultGScipConstraintOptions ()
 
SCIP_RETCODE DropAllEvents (GScipEventHandler &handler)
 
GScipLinearExpr GScipDifference (GScipLinearExpr left, const GScipLinearExpr &right)
 
GScipLinearExpr GScipNegate (GScipLinearExpr expr)
 
GScipLinearRange GScipLe (const GScipLinearExpr left, const GScipLinearExpr &right)
 
absl::Status GScipCreateAbs (GScip *gscip, SCIP_Var *x, SCIP_Var *abs_x, const std::string &name)
 
absl::Status GScipCreateMaximum (GScip *gscip, const GScipLinearExpr &resultant, const std::vector< GScipLinearExpr > &terms, const std::string &name)
 
absl::Status GScipCreateMinimum (GScip *gscip, const GScipLinearExpr &resultant, const std::vector< GScipLinearExpr > &terms, const std::string &name)
 
absl::Status GScipAddQuadraticObjectiveTerm (GScip *gscip, std::vector< SCIP_Var * > quadratic_variables1, std::vector< SCIP_Var * > quadratic_variables2, std::vector< double > quadratic_coefficients, const std::string &name)
 
absl::Status GScipCreateIndicatorRange (GScip *gscip, const GScipIndicatorRangeConstraint &indicator_range, const std::string &name, const GScipConstraintOptions &options)
 
void GScipSetTimeLimit (absl::Duration time_limit, GScipParameters *parameters)
 
absl::Duration GScipTimeLimit (const GScipParameters &parameters)
 
bool GScipTimeLimitSet (const GScipParameters &parameters)
 
void GScipSetMaxNumThreads (int num_threads, GScipParameters *parameters)
 
int GScipMaxNumThreads (const GScipParameters &parameters)
 
bool GScipMaxNumThreadsSet (const GScipParameters &parameters)
 
void GScipSetLogLevel (GScipParameters *parameters, int log_level)
 
int GScipLogLevel (const GScipParameters &parameters)
 
bool GScipLogLevelSet (const GScipParameters &parameters)
 
void GScipSetOutputEnabled (GScipParameters *parameters, bool output_enabled)
 
bool GScipOutputEnabled (const GScipParameters &parameters)
 
bool GScipOutputEnabledSet (const GScipParameters &parameters)
 
void GScipSetRandomSeed (GScipParameters *parameters, int random_seed)
 
int GScipRandomSeed (const GScipParameters &parameters)
 
bool GScipRandomSeedSet (const GScipParameters &parameters)
 
void GScipSetCatchCtrlC (const bool catch_ctrl_c, GScipParameters *const parameters)
 
bool GScipCatchCtrlC (const GScipParameters &parameters)
 
bool GScipCatchCtrlCSet (const GScipParameters &parameters)
 
absl::Status LegacyScipSetSolverSpecificParameters (const std::string &parameters, SCIP *scip)
 
bool GurobiIsCorrectlyInstalled ()
 
void LoadGurobiFunctions (DynamicLibrary *gurobi_dynamic_library)
 
std::vector< std::string > GurobiDynamicLibraryPotentialPaths ()
 
absl::Status LoadGurobiDynamicLibrary (std::vector< std::string > potential_paths)
 
absl::StatusOr< GRBenv * > GetGurobiEnv ()
 
MPSolverInterfaceBuildBopInterface (MPSolver *const solver)
 
MPSolverInterfaceBuildCBCInterface (MPSolver *const solver)
 
MPSolverInterfaceBuildCLPInterface (MPSolver *const solver)
 
MPSolverInterfaceBuildGLOPInterface (MPSolver *const solver)
 
MPSolver::ResultStatus GlopToMPSolverResultStatus (glop::ProblemStatus s)
 
MPSolver::BasisStatus GlopToMPSolverVariableStatus (glop::VariableStatus s)
 
glop::VariableStatus MPSolverToGlopVariableStatus (MPSolver::BasisStatus s)
 
MPSolver::BasisStatus GlopToMPSolverConstraintStatus (glop::ConstraintStatus s)
 
glop::ConstraintStatus MPSolverToGlopConstraintStatus (MPSolver::BasisStatus s)
 
MPSolverInterfaceBuildGurobiInterface (bool mip, MPSolver *const solver)
 
absl::Status SetSolverSpecificParameters (const std::string &parameters, GRBenv *gurobi)
 
absl::StatusOr< MPSolutionResponse > GurobiSolveProto (const MPModelRequest &request, GRBenv *gurobi_env)
 
std::ostream & operator<< (std::ostream &stream, const LinearExpr &linear_expr)
 
LinearExpr operator+ (LinearExpr lhs, const LinearExpr &rhs)
 
LinearExpr operator- (LinearExpr lhs, const LinearExpr &rhs)
 
LinearExpr operator* (LinearExpr lhs, double rhs)
 
LinearExpr operator/ (LinearExpr lhs, double rhs)
 
LinearExpr operator* (double lhs, LinearExpr rhs)
 
LinearRange operator<= (const LinearExpr &lhs, const LinearExpr &rhs)
 
LinearRange operator== (const LinearExpr &lhs, const LinearExpr &rhs)
 
LinearRange operator>= (const LinearExpr &lhs, const LinearExpr &rhs)
 
bool SolverTypeIsMip (MPModelRequest::SolverType solver_type)
 
MPSolverInterfaceBuildPdlpInterface (MPSolver *const solver)
 
MPSolverInterfaceBuildSatInterface (MPSolver *const solver)
 
MPSolverInterfaceBuildSCIPInterface (MPSolver *const solver)
 
const absl::string_view ToString (MPSolver::OptimizationProblemType optimization_problem_type)
 
bool AbslParseFlag (const absl::string_view text, MPSolver::OptimizationProblemType *solver_type, std::string *error)
 
bool MPSolverResponseStatusIsRpcError (MPSolverResponseStatus status)
 
bool SolverTypeIsMip (MPSolver::OptimizationProblemType solver_type)
 
std::ostream & operator<< (std::ostream &os, MPSolver::OptimizationProblemType optimization_problem_type)
 
std::ostream & operator<< (std::ostream &os, MPSolver::ResultStatus status)
 
std::string AbslUnparseFlag (MPSolver::OptimizationProblemType solver_type)
 
std::string ToString (MPCallbackEvent event)
 
absl::StatusOr< std::string > ExportModelAsLpFormat (const MPModelProto &model, const MPModelExportOptions &options=MPModelExportOptions())
 Outputs the current model (variables, constraints, objective) as a string encoded in the so-called "CPLEX LP file format" as generated by SCIP. More...
 
absl::StatusOr< std::string > ExportModelAsMpsFormat (const MPModelProto &model, const MPModelExportOptions &options=MPModelExportOptions())
 Outputs the current model (variables, constraints, objective) as a string encoded in MPS file format, using the "free" MPS format. More...
 
std::string FindErrorInMPModelProto (const MPModelProto &model, double abs_value_threshold=0.0, bool accept_trivially_infeasible_bounds=false)
 Returns an empty string iff the model is valid and not trivially infeasible. More...
 
absl::optional< LazyMutableCopy< MPModelProto > > ExtractValidMPModelOrPopulateResponseStatus (const MPModelRequest &request, MPSolutionResponse *response)
 If the model is valid and non-empty, returns it (possibly after extracting the model_delta). More...
 
bool ExtractValidMPModelInPlaceOrPopulateResponseStatus (MPModelRequest *request, MPSolutionResponse *response)
 Like ExtractValidMPModelOrPopulateResponseStatus(), but works in-place: if the MPModel needed extraction, it will be populated in the request, and it returns the success boolean. More...
 
std::string FindFeasibilityErrorInSolutionHint (const MPModelProto &model, double tolerance)
 Returns an empty string if the solution hint given in the model is a feasible solution. More...
 
std::string FindErrorInMPModelDeltaProto (const MPModelDeltaProto &delta, const MPModelProto &model)
 Like FindErrorInMPModelProto, but for a MPModelDeltaProto applied to a given baseline model (assumed valid, eg. More...
 
void MergeMPConstraintProtoExceptTerms (const MPConstraintProto &from, MPConstraintProto *to)
 
void ApplyVerifiedMPModelDelta (const MPModelDeltaProto &delta, MPModelProto *model)
 
absl::StatusOr< MPSolutionResponse > PdlpSolveProto (const MPModelRequest &request, const bool relax_integer_variables, const std::atomic< bool > *interrupt_solve)
 
absl::StatusOr< MPSolutionResponse > SatSolveProto (MPModelRequest request, std::atomic< bool > *interrupt_solve, std::function< void(const std::string &)> logging_callback, std::function< void(const MPSolution &)> solution_callback)
 
std::string EncodeSatParametersAsString (const sat::SatParameters &parameters)
 
glop::ProblemStatus ApplyMipPresolveSteps (const glop::GlopParameters &glop_params, MPModelProto *model, std::vector< std::unique_ptr< glop::Preprocessor > > *for_postsolve, SolverLogger *logger)
 
bool LinearConstraintIsViolated (const ScipConstraintHandlerContext &context, const LinearRange &constraint)
 
ScipSeparationResult RunSeparation (internal::ScipCallbackRunner *runner, const ScipConstraintHandlerContext &context, absl::Span< SCIP_CONS * > constraints, bool is_integral)
 
template<typename Constraint >
void RegisterConstraintHandler (ScipConstraintHandler< Constraint > *handler, SCIP *scip)
 
template<typename ConstraintData >
void AddCallbackConstraint (SCIP *scip, ScipConstraintHandler< ConstraintData > *handler, const std::string &constraint_name, const ConstraintData *constraint_data, const ScipCallbackConstraintOptions &options)
 
template<typename ConstraintData >
void RegisterConstraintHandler (ScipConstraintHandler< ConstraintData > *handler, SCIP *scip)
 
std::string FindErrorInMPModelForScip (const MPModelProto &model, SCIP *scip)
 
absl::StatusOr< MPSolutionResponse > ScipSolveProto (const MPModelRequest &request)
 
absl::StatusOr< MPModelProto > ModelProtoFromLpFormat (absl::string_view model)
 
::absl::Status PortableFileSetContents (absl::string_view file_name, absl::string_view content)
 
::absl::Status PortableFileGetContents (absl::string_view file_name, std::string *output)
 
bool PortableTemporaryFile (const char *directory_prefix, std::string *filename_out)
 
::absl::Status PortableDeleteFile (absl::string_view file_name)
 
template<class P >
std::string ProtobufDebugString (const P &message)
 
template<class P >
std::string ProtobufShortDebugString (const P &message)
 
template<typename ProtoEnumType >
std::string ProtoEnumToString (ProtoEnumType enum_value)
 
template<typename ProtoType >
bool ProtobufTextFormatMergeFromString (const std::string &proto_text_string, ProtoType *proto)
 
uint64_t OneBit64 (int pos)
 
uint32_t OneBit32 (int pos)
 
uint64_t BitCount64 (uint64_t n)
 
uint32_t BitCount32 (uint32_t n)
 
uint64_t LeastSignificantBitWord64 (uint64_t n)
 
uint32_t LeastSignificantBitWord32 (uint32_t n)
 
int LeastSignificantBitPosition64DeBruijn (uint64_t n)
 
int LeastSignificantBitPosition64Default (uint64_t n)
 
int LeastSignificantBitPosition64 (uint64_t n)
 
int LeastSignificantBitPosition32DeBruijn (uint32_t n)
 
int LeastSignificantBitPosition32Default (uint32_t n)
 
int LeastSignificantBitPosition32 (uint32_t n)
 
int MostSignificantBitPosition64Default (uint64_t n)
 
int MostSignificantBitPosition64 (uint64_t n)
 
int MostSignificantBitPosition32Default (uint32_t n)
 
int MostSignificantBitPosition32 (uint32_t n)
 
uint64_t OneRange64 (uint64_t s, uint64_t e)
 
uint32_t OneRange32 (uint32_t s, uint32_t e)
 
uint64_t IntervalUp64 (uint64_t s)
 
uint32_t IntervalUp32 (uint32_t s)
 
uint64_t IntervalDown64 (uint64_t s)
 
uint32_t IntervalDown32 (uint32_t s)
 
uint32_t BitPos64 (uint64_t pos)
 
uint32_t BitPos32 (uint32_t pos)
 
uint64_t BitOffset64 (uint64_t pos)
 
uint32_t BitOffset32 (uint32_t pos)
 
uint64_t BitLength64 (uint64_t size)
 
uint32_t BitLength32 (uint32_t size)
 
uint64_t BitShift64 (uint64_t v)
 
uint32_t BitShift32 (uint32_t v)
 
bool IsBitSet64 (const uint64_t *const bitset, uint64_t pos)
 
bool IsBitSet32 (const uint32_t *const bitset, uint32_t pos)
 
void SetBit64 (uint64_t *const bitset, uint64_t pos)
 
void SetBit32 (uint32_t *const bitset, uint32_t pos)
 
void ClearBit64 (uint64_t *const bitset, uint64_t pos)
 
void ClearBit32 (uint32_t *const bitset, uint32_t pos)
 
uint64_t BitCountRange64 (const uint64_t *const bitset, uint64_t start, uint64_t end)
 
uint32_t BitCountRange32 (const uint32_t *const bitset, uint32_t start, uint32_t end)
 
bool IsEmptyRange64 (const uint64_t *const bitset, uint64_t start, uint64_t end)
 
bool IsEmptyRange32 (const uint32_t *const bitset, uint32_t start, uint32_t end)
 
int64_t LeastSignificantBitPosition64 (const uint64_t *const bitset, uint64_t start, uint64_t end)
 
int LeastSignificantBitPosition32 (const uint32_t *const bitset, uint32_t start, uint32_t end)
 
int64_t MostSignificantBitPosition64 (const uint64_t *const bitset, uint64_t start, uint64_t end)
 
int MostSignificantBitPosition32 (const uint32_t *const bitset, uint32_t start, uint32_t end)
 
int64_t UnsafeLeastSignificantBitPosition64 (const uint64_t *const bitset, uint64_t start, uint64_t end)
 
int32_t UnsafeLeastSignificantBitPosition32 (const uint32_t *const bitset, uint32_t start, uint32_t end)
 
int64_t UnsafeMostSignificantBitPosition64 (const uint64_t *const bitset, uint64_t start, uint64_t end)
 
int32_t UnsafeMostSignificantBitPosition32 (const uint32_t *const bitset, uint32_t start, uint32_t end)
 
uint64_t TwoBitsFromPos64 (uint64_t pos)
 
absl::StatusOr< std::string > ReadFileToString (absl::string_view filename)
 
bool ReadFileToProto (absl::string_view filename, google::protobuf::Message *proto)
 
bool WriteProtoToFile (absl::string_view filename, const google::protobuf::Message &proto, ProtoWriteFormat proto_write_format, bool gzipped, bool append_extension_to_file_name)
 
template<typename Proto >
Proto ReadFileToProtoOrDie (absl::string_view filename)
 
template<typename Proto >
std::vector< Proto > ReadAllRecordsOrDie (absl::string_view filename)
 
template<typename Proto >
std::vector< Proto > ReadAllRecordsOrDie (File *file)
 
template<typename Proto >
Proto ReadOneRecordOrDie (absl::string_view filename)
 
template<typename Proto >
void WriteRecordsOrDie (absl::string_view filename, const std::vector< Proto > &protos)
 
void ComputeScalingErrors (const std::vector< double > &input, const std::vector< double > &lb, const std::vector< double > &ub, double scaling_factor, double *max_relative_coeff_error, double *max_scaled_sum_error)
 
double GetBestScalingOfDoublesToInt64 (const std::vector< double > &input, const std::vector< double > &lb, const std::vector< double > &ub, int64_t max_absolute_sum)
 
void GetBestScalingOfDoublesToInt64 (const std::vector< double > &input, int64_t max_absolute_sum, double *scaling_factor, double *max_relative_coeff_error)
 
int64_t ComputeGcdOfRoundedDoubles (const std::vector< double > &x, double scaling_factor)
 
int fast_ilogb (double value)
 
void fast_scalbn_inplace (double &mutable_value, int exponent)
 
double fast_scalbn (double value, int exponent)
 
template<typename FloatType >
bool IsPositiveOrNegativeInfinity (FloatType x)
 
template<typename FloatType >
bool AreWithinAbsoluteOrRelativeTolerances (FloatType x, FloatType y, FloatType relative_tolerance, FloatType absolute_tolerance)
 
template<typename FloatType >
bool AreWithinAbsoluteTolerance (FloatType x, FloatType y, FloatType absolute_tolerance)
 
template<typename FloatType >
bool IsSmallerWithinTolerance (FloatType x, FloatType y, FloatType tolerance)
 
template<typename FloatType >
bool IsIntegerWithinTolerance (FloatType x, FloatType tolerance)
 
template<typename FloatType >
FloatType Interpolate (FloatType x, FloatType y, FloatType alpha)
 
std::string FullProtocolMessageAsString (const google::protobuf::Message &message, int indent_level)
 
template<class Proto >
absl::StatusOr< Proto * > SafeProtoDownCast (google::protobuf::Message *proto)
 
template<class Proto >
absl::StatusOr< const Proto * > SafeProtoConstDownCast (const google::protobuf::Message *proto)
 
RangeIntToIntFunctionMakeBareIntToIntFunction (std::function< int64_t(int64_t)> f)
 
RangeIntToIntFunctionMakeCachedIntToIntFunction (const std::function< int64_t(int64_t)> &f, int64_t domain_start, int64_t domain_end)
 
RangeMinMaxIndexFunctionMakeCachedRangeMinMaxIndexFunction (const std::function< int64_t(int64_t)> &f, int64_t domain_start, int64_t domain_end)
 
Fraction RationalApproximation (const double x, const double precision)
 
int64_t TwosComplementAddition (int64_t x, int64_t y)
 
int64_t TwosComplementSubtraction (int64_t x, int64_t y)
 
bool AddHadOverflow (int64_t x, int64_t y, int64_t sum)
 
bool SubHadOverflow (int64_t x, int64_t y, int64_t diff)
 
bool AddOverflows (int64_t x, int64_t y)
 
int64_t SubOverflows (int64_t x, int64_t y)
 
template<typename IntegerType >
bool SafeAddInto (IntegerType a, IntegerType *b)
 
int64_t CapWithSignOf (int64_t x)
 
int64_t CapAddGeneric (int64_t x, int64_t y)
 
int64_t CapAdd (int64_t x, int64_t y)
 
void CapAddTo (int64_t x, int64_t *y)
 
int64_t CapSubGeneric (int64_t x, int64_t y)
 
int64_t CapSub (int64_t x, int64_t y)
 
int64_t CapOpp (int64_t v)
 
int64_t CapProdGeneric (int64_t x, int64_t y)
 
int64_t CapProd (int64_t x, int64_t y)
 
template<class Iterator , class Compare = std::less<value_type_t<Iterator>>>
void IncrementalSort (int max_comparisons, Iterator begin, Iterator end, Compare comp=Compare{}, bool is_stable=false)
 
template<class Iterator , class Compare = std::less<value_type_t<Iterator>>>
void InsertionSort (Iterator begin, Iterator end, Compare comp=Compare{})
 
template<class Iterator , class Compare = std::less<value_type_t<Iterator>>>
void IncrementalSort (Iterator begin, Iterator end, Compare comp=Compare{}, bool is_stable=false)
 
bool IntervalsAreSortedAndNonAdjacent (absl::Span< const ClosedInterval > intervals)
 Returns true iff we have: More...
 
int64_t CeilRatio (int64_t value, int64_t positive_coeff)
 
int64_t FloorRatio (int64_t value, int64_t positive_coeff)
 
std::ostream & operator<< (std::ostream &out, const ClosedInterval &interval)
 
std::ostream & operator<< (std::ostream &out, const std::vector< ClosedInterval > &intervals)
 
std::ostream & operator<< (std::ostream &out, const Domain &domain)
 
int64_t SumOfKMinValueInDomain (const Domain &domain, int k)
 
int64_t SumOfKMaxValueInDomain (const Domain &domain, int k)
 
std::string MemoryUsage ()
 
template<class T >
std::string JoinDebugString (const std::vector< T > &v, const std::string &separator)
 
template<class T >
std::string JoinDebugStringPtr (const std::vector< T > &v, const std::string &separator)
 
template<class T >
std::string JoinNamePtr (const std::vector< T > &v, const std::string &separator)
 
template<class T >
std::string JoinNameFieldPtr (const std::vector< T > &v, const std::string &separator)
 
template<typename StrongIndexName >
std::ostream & operator<< (std::ostream &os, StrongIndex< StrongIndexName > arg)
 
template<typename StrongIntegerName >
std::ostream & operator<< (std::ostream &os, StrongInt64< StrongIntegerName > arg)
 
 STRONG_TYPE_ARITHMETIC_OP (StrongIndex, int,+)
 
 STRONG_TYPE_ARITHMETIC_OP (StrongIndex, int, -)
 
 STRONG_TYPE_ARITHMETIC_OP (StrongIndex, int, *)
 
 STRONG_TYPE_ARITHMETIC_OP (StrongIndex, int, %)
 
 STRONG_TYPE_ARITHMETIC_OP (StrongInt64, int64_t,+)
 
 STRONG_TYPE_ARITHMETIC_OP (StrongInt64, int64_t, -)
 
 STRONG_TYPE_ARITHMETIC_OP (StrongInt64, int64_t, *)
 
 STRONG_TYPE_ARITHMETIC_OP (StrongInt64, int64_t,/)
 
 STRONG_TYPE_ARITHMETIC_OP (StrongInt64, int64_t,<<)
 
 STRONG_TYPE_ARITHMETIC_OP (StrongInt64, int64_t, > >)
 
 STRONG_TYPE_ARITHMETIC_OP (StrongInt64, int64_t, %)
 
 STRONG_TYPE_COMPARISON_OP (StrongIndex, int,==)
 
 STRONG_TYPE_COMPARISON_OP (StrongIndex, int, !=)
 
 STRONG_TYPE_COMPARISON_OP (StrongIndex, int,<=)
 
 STRONG_TYPE_COMPARISON_OP (StrongIndex, int, >=)
 
 STRONG_TYPE_COMPARISON_OP (StrongInt64, int64_t,==)
 
 STRONG_TYPE_COMPARISON_OP (StrongInt64, int64_t, !=)
 
 STRONG_TYPE_COMPARISON_OP (StrongInt64, int64_t,<=)
 
 STRONG_TYPE_COMPARISON_OP (StrongInt64, int64_t, >=)
 
template<typename StrongIndexName , typename H >
AbslHashValue (H h, const StrongIndex< StrongIndexName > &i)
 
template<typename StrongIntegerName , typename H >
AbslHashValue (H h, const StrongInt64< StrongIntegerName > &i)
 
bool ProbablyRunningInsideUnitTest ()
 
template<class T >
DemonMakeConstraintDemon0 (Solver *const s, T *const ct, void(T::*method)(), const std::string &name)
 
template<class P >
std::string ParameterDebugString (P param)
 
template<class P >
std::string ParameterDebugString (P *param)
 Support limited to pointers to classes which define DebugString(). More...
 
template<class T , class P >
DemonMakeConstraintDemon1 (Solver *const s, T *const ct, void(T::*method)(P), const std::string &name, P param1)
 
template<class T , class P , class Q >
DemonMakeConstraintDemon2 (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 >
DemonMakeConstraintDemon3 (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 >
DemonMakeDelayedConstraintDemon0 (Solver *const s, T *const ct, void(T::*method)(), const std::string &name)
 
template<class T , class P >
DemonMakeDelayedConstraintDemon1 (Solver *const s, T *const ct, void(T::*method)(P), const std::string &name, P param1)
 
template<class T , class P , class Q >
DemonMakeDelayedConstraintDemon2 (Solver *const s, T *const ct, void(T::*method)(P, Q), const std::string &name, P param1, Q param2)
 

Variables

static const int kUnassigned = -1
 
constexpr std::size_t kMaxGLPKNameLen = 255
 
std::function< int(GRBenv **, const char *, const char *, const char *, int, const char *)> GRBisqp = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int *datatypeP, int *sizeP, int *settableP)> GRBgetattrinfo = nullptr
 
std::function< int(GRBmodel *model, const char *attrname)> GRBisattravailable
 
std::function< int(GRBmodel *model, const char *attrname, int *valueP)> GRBgetintattr = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int newvalue)> GRBsetintattr = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int element, int *valueP)> GRBgetintattrelement = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int element, int newvalue)> GRBsetintattrelement = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int first, int len, int *values)> GRBgetintattrarray = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int first, int len, int *newvalues)> GRBsetintattrarray = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, int *values)> GRBgetintattrlist = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, int *newvalues)> GRBsetintattrlist = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int element, char *valueP)> GRBgetcharattrelement = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int element, char newvalue)> GRBsetcharattrelement = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int first, int len, char *values)> GRBgetcharattrarray = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int first, int len, char *newvalues)> GRBsetcharattrarray = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, char *values)> GRBgetcharattrlist = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, char *newvalues)> GRBsetcharattrlist = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, double *valueP)> GRBgetdblattr = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, double newvalue)> GRBsetdblattr = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int element, double *valueP)> GRBgetdblattrelement = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int element, double newvalue)> GRBsetdblattrelement = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int first, int len, double *values)> GRBgetdblattrarray = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int first, int len, double *newvalues)> GRBsetdblattrarray = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, double *values)> GRBgetdblattrlist = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, double *newvalues)> GRBsetdblattrlist = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, char **valueP)> GRBgetstrattr = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, const char *newvalue)> GRBsetstrattr = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int element, char **valueP)> GRBgetstrattrelement = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int element, const char *newvalue)> GRBsetstrattrelement = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int first, int len, char **values)> GRBgetstrattrarray = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int first, int len, char **newvalues)> GRBsetstrattrarray = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, char **values)> GRBgetstrattrlist = nullptr
 
std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, char **newvalues)> GRBsetstrattrlist = nullptr
 
std::function< int(GRBmodel *model, int(GUROBI_STDCALL *cb)(CB_ARGS), void *usrdata)> GRBsetcallbackfunc = nullptr
 
std::function< int(GRBmodel *model, int(GUROBI_STDCALL **cbP)(CB_ARGS))> GRBgetcallbackfunc = nullptr
 
std::function< int(GRBmodel *model, int(GUROBI_STDCALL *cb)(char *msg))> GRBsetlogcallbackfunc = nullptr
 
std::function< int(GRBenv *env, int(GUROBI_STDCALL *cb)(char *msg))> GRBsetlogcallbackfuncenv = nullptr
 
std::function< int(void *cbdata, int where, int what, void *resultP)> GRBcbget
 
std::function< int(void *cbdata, const char *paramname, const char *newvalue)> GRBcbsetparam = nullptr
 
std::function< int(void *cbdata, const double *solution, double *objvalP)> GRBcbsolution = nullptr
 
std::function< int(void *cbdata, int cutlen, const int *cutind, const double *cutval, char cutsense, double cutrhs)> GRBcbcut = nullptr
 
std::function< int(void *cbdata, int lazylen, const int *lazyind, const double *lazyval, char lazysense, double lazyrhs)> GRBcblazy = nullptr
 
std::function< int(GRBmodel *model, int constr, int var, double *valP)> GRBgetcoeff = nullptr
 
std::function< int(GRBmodel *model, int *numnzP, int *cbeg, int *cind, double *cval, int start, int len)> GRBgetconstrs = nullptr
 
std::function< int(GRBmodel *model, size_t *numnzP, size_t *cbeg, int *cind, double *cval, int start, int len)> GRBXgetconstrs = nullptr
 
std::function< int(GRBmodel *model, int *numnzP, int *vbeg, int *vind, double *vval, int start, int len)> GRBgetvars = nullptr
 
std::function< int(GRBmodel *model, size_t *numnzP, size_t *vbeg, int *vind, double *vval, int start, int len)> GRBXgetvars = nullptr
 
std::function< int(GRBmodel *model, int *nummembersP, int *sostype, int *beg, int *ind, double *weight, int start, int len)> GRBgetsos = nullptr
 
std::function< int(GRBmodel *model, int genconstr, int *resvarP, int *nvarsP, int *vars, double *constantP)> GRBgetgenconstrMax = nullptr
 
std::function< int(GRBmodel *model, int genconstr, int *resvarP, int *nvarsP, int *vars, double *constantP)> GRBgetgenconstrMin = nullptr
 
std::function< int(GRBmodel *model, int genconstr, int *resvarP, int *argvarP)> GRBgetgenconstrAbs = nullptr
 
std::function< int(GRBmodel *model, int genconstr, int *resvarP, int *nvarsP, int *vars)> GRBgetgenconstrAnd = nullptr
 
std::function< int(GRBmodel *model, int genconstr, int *resvarP, int *nvarsP, int *vars)> GRBgetgenconstrOr = nullptr
 
std::function< int(GRBmodel *model, int genconstr, int *binvarP, int *binvalP, int *nvarsP, int *vars, double *vals, char *senseP, double *rhsP)> GRBgetgenconstrIndicator = nullptr
 
std::function< int(GRBmodel *model, int *numqnzP, int *qrow, int *qcol, double *qval)> GRBgetq = nullptr
 
std::function< int(GRBmodel *model, int qconstr, int *numlnzP, int *lind, double *lval, int *numqnzP, int *qrow, int *qcol, double *qval)> GRBgetqconstr = nullptr
 
std::function< int(GRBmodel *model, const char *name, int *indexP)> GRBgetvarbyname = nullptr
 
std::function< int(GRBmodel *model, const char *name, int *indexP)> GRBgetconstrbyname = nullptr
 
std::function< int(GRBmodel *model, int var, int *pointsP, double *x, double *y)> GRBgetpwlobj = nullptr
 
std::function< int(GRBmodel *model)> GRBoptimize = nullptr
 
std::function< int(GRBmodel *model)> GRBoptimizeasync = nullptr
 
std::function< GRBmodel *(GRBmodel *model)> GRBcopymodel = nullptr
 
std::function< GRBmodel *(GRBmodel *model)> GRBfixedmodel = nullptr
 
std::function< int(GRBmodel *model, int relaxobjtype, int minrelax, double *lbpen, double *ubpen, double *rhspen, double *feasobjP)> GRBfeasrelax = nullptr
 
std::function< int(void *cbdata, int what, int *typeP, int *sizeP)> GRBgetcbwhatinfo = nullptr
 
std::function< GRBmodel *(GRBmodel *model)> GRBrelaxmodel = nullptr
 
std::function< int(GRBmodel *model)> GRBconverttofixed = nullptr
 
std::function< GRBmodel *(GRBmodel *model)> GRBpresolvemodel = nullptr
 
std::function< GRBmodel *(GRBmodel *model)> GRBiismodel = nullptr
 
std::function< GRBmodel *(GRBmodel *model)> GRBfeasibility = nullptr
 
std::function< GRBmodel *(GRBmodel *model)> GRBlinearizemodel = nullptr
 
std::function< int(GRBenv **envP, const char *logfilename, void *(GUROBI_STDCALL *malloccb)(MALLOCCB_ARGS), void *(GUROBI_STDCALL *calloccb)(CALLOCCB_ARGS), void *(GUROBI_STDCALL *realloccb)(REALLOCCB_ARGS), void(GUROBI_STDCALL *freecb)(FREECB_ARGS), int(GUROBI_STDCALL *threadcreatecb)(THREADCREATECB_ARGS), void(GUROBI_STDCALL *threadjoincb)(THREADJOINCB_ARGS), void *syscbusrdata)> GRBloadenvsyscb = nullptr
 
std::function< int(GRBenv *env, const char *filename, GRBmodel **modelP)> GRBreadmodel = nullptr
 
std::function< int(GRBmodel *model, const char *filename)> GRBread = nullptr
 
std::function< int(GRBmodel *model, const char *filename)> GRBwrite = nullptr
 
std::function< int(const char *filename)> GRBismodelfile = nullptr
 
std::function< int(const char *filename)> GRBfiletype = nullptr
 
std::function< int(const char *filename)> GRBisrecordfile = nullptr
 
std::function< int(GRBenv *env, GRBmodel **modelP, const char *Pname, int numvars, double *obj, double *lb, double *ub, char *vtype, char **varnames)> GRBnewmodel = nullptr
 
std::function< int(GRBenv *env, GRBmodel **modelP, const char *Pname, int numvars, int numconstrs, int objsense, double objcon, double *obj, char *sense, double *rhs, int *vbeg, int *vlen, int *vind, double *vval, double *lb, double *ub, char *vtype, char **varnames, char **constrnames)> GRBloadmodel = nullptr
 
std::function< int(GRBenv *env, GRBmodel **modelP, const char *Pname, int numvars, int numconstrs, int objsense, double objcon, double *obj, char *sense, double *rhs, size_t *vbeg, int *vlen, int *vind, double *vval, double *lb, double *ub, char *vtype, char **varnames, char **constrnames)> GRBXloadmodel = nullptr
 
std::function< int(GRBmodel *model, int numnz, int *vind, double *vval, double obj, double lb, double ub, char vtype, const char *varname)> GRBaddvar = nullptr
 
std::function< int(GRBmodel *model, int numvars, int numnz, int *vbeg, int *vind, double *vval, double *obj, double *lb, double *ub, char *vtype, char **varnames)> GRBaddvars = nullptr
 
std::function< int(GRBmodel *model, int numvars, size_t numnz, size_t *vbeg, int *vind, double *vval, double *obj, double *lb, double *ub, char *vtype, char **varnames)> GRBXaddvars = nullptr
 
std::function< int(GRBmodel *model, int numnz, int *cind, double *cval, char sense, double rhs, const char *constrname)> GRBaddconstr = nullptr
 
std::function< int(GRBmodel *model, int numconstrs, int numnz, int *cbeg, int *cind, double *cval, char *sense, double *rhs, char **constrnames)> GRBaddconstrs = nullptr
 
std::function< int(GRBmodel *model, int numconstrs, size_t numnz, size_t *cbeg, int *cind, double *cval, char *sense, double *rhs, char **constrnames)> GRBXaddconstrs = nullptr
 
std::function< int(GRBmodel *model, int numnz, int *cind, double *cval, double lower, double upper, const char *constrname)> GRBaddrangeconstr = nullptr
 
std::function< int(GRBmodel *model, int numconstrs, int numnz, int *cbeg, int *cind, double *cval, double *lower, double *upper, char **constrnames)> GRBaddrangeconstrs = nullptr
 
std::function< int(GRBmodel *model, int numconstrs, size_t numnz, size_t *cbeg, int *cind, double *cval, double *lower, double *upper, char **constrnames)> GRBXaddrangeconstrs = nullptr
 
std::function< int(GRBmodel *model, int numsos, int nummembers, int *types, int *beg, int *ind, double *weight)> GRBaddsos = nullptr
 
std::function< int(GRBmodel *model, const char *name, int resvar, int nvars, const int *vars, double constant)> GRBaddgenconstrMax = nullptr
 
std::function< int(GRBmodel *model, const char *name, int resvar, int nvars, const int *vars, double constant)> GRBaddgenconstrMin = nullptr
 
std::function< int(GRBmodel *model, const char *name, int resvar, int argvar)> GRBaddgenconstrAbs = nullptr
 
std::function< int(GRBmodel *model, const char *name, int resvar, int nvars, const int *vars)> GRBaddgenconstrAnd = nullptr
 
std::function< int(GRBmodel *model, const char *name, int resvar, int nvars, const int *vars)> GRBaddgenconstrOr = nullptr
 
std::function< int(GRBmodel *lp, const char *name, int binvar, int binval, int nvars, const int *vars, const double *vals, char sense, double rhs)> GRBaddgenconstrIndicator = nullptr
 
std::function< int(GRBmodel *model, int numlnz, int *lind, double *lval, int numqnz, int *qrow, int *qcol, double *qval, char sense, double rhs, const char *QCname)> GRBaddqconstr = nullptr
 
std::function< int(GRBmodel *model, int nummembers, int *members)> GRBaddcone
 
std::function< int(GRBmodel *model, int numqnz, int *qrow, int *qcol, double *qval)> GRBaddqpterms = nullptr
 
std::function< int(GRBmodel *model, int len, int *ind)> GRBdelvars = nullptr
 
std::function< int(GRBmodel *model, int len, int *ind)> GRBdelconstrs = nullptr
 
std::function< int(GRBmodel *model, int len, int *ind)> GRBdelsos = nullptr
 
std::function< int(GRBmodel *model, int len, int *ind)> GRBdelgenconstrs
 
std::function< int(GRBmodel *model, int len, int *ind)> GRBdelqconstrs = nullptr
 
std::function< int(GRBmodel *model)> GRBdelq = nullptr
 
std::function< int(GRBmodel *model, int cnt, int *cind, int *vind, double *val)> GRBchgcoeffs = nullptr
 
std::function< int(GRBmodel *model, size_t cnt, int *cind, int *vind, double *val)> GRBXchgcoeffs = nullptr
 
std::function< int(GRBmodel *model, int var, int points, double *x, double *y)> GRBsetpwlobj = nullptr
 
std::function< int(GRBmodel *model)> GRBupdatemodel = nullptr
 
std::function< int(GRBmodel *model)> GRBresetmodel = nullptr
 
std::function< int(GRBmodel *model)> GRBfreemodel = nullptr
 
std::function< int(GRBmodel *model)> GRBcomputeIIS = nullptr
 
std::function< int(GRBmodel *model, GRBsvec *b, GRBsvec *x)> GRBFSolve = nullptr
 
std::function< int(GRBmodel *model, int j, GRBsvec *x)> GRBBinvColj = nullptr
 
std::function< int(GRBmodel *model, int j, GRBsvec *x)> GRBBinvj = nullptr
 
std::function< int(GRBmodel *model, GRBsvec *b, GRBsvec *x)> GRBBSolve = nullptr
 
std::function< int(GRBmodel *model, int i, GRBsvec *x)> GRBBinvi = nullptr
 
std::function< int(GRBmodel *model, int i, GRBsvec *x)> GRBBinvRowi = nullptr
 
std::function< int(GRBmodel *model, int *bhead)> GRBgetBasisHead = nullptr
 
std::function< int(GRBmodel *model, int num, int *cand, double *downobjbd, double *upobjbd, int *statusP)> GRBstrongbranch = nullptr
 
std::function< int(GRBmodel *model)> GRBcheckmodel = nullptr
 
std::function< void(GRBmodel *model)> GRBsetsignal = nullptr
 
std::function< void(GRBmodel *model)> GRBterminate = nullptr
 
std::function< int(const char *filename)> GRBreplay = nullptr
 
std::function< int(GRBmodel *model, int sense, double constant, int lnz, int *lind, double *lval, int qnz, int *qrow, int *qcol, double *qval)> GRBsetobjective = nullptr
 
std::function< int(GRBmodel *model, int index, int priority, double weight, double abstol, double reltol, const char *name, double constant, int lnz, int *lind, double *lval)> GRBsetobjectiven = nullptr
 
std::function< void(GRBenv *env, const char *message)> GRBmsg = nullptr
 
std::function< int(GRBenv *env, const char *paramname, int *valueP)> GRBgetintparam = nullptr
 
std::function< int(GRBenv *env, const char *paramname, double *valueP)> GRBgetdblparam = nullptr
 
std::function< int(GRBenv *env, const char *paramname, char *valueP)> GRBgetstrparam = nullptr
 
std::function< int(GRBenv *env, const char *paramname, int *valueP, int *minP, int *maxP, int *defP)> GRBgetintparaminfo = nullptr
 
std::function< int(GRBenv *env, const char *paramname, double *valueP, double *minP, double *maxP, double *defP)> GRBgetdblparaminfo = nullptr
 
std::function< int(GRBenv *env, const char *paramname, char *valueP, char *defP)> GRBgetstrparaminfo = nullptr
 
std::function< int(GRBenv *env, const char *paramname, const char *value)> GRBsetparam = nullptr
 
std::function< int(GRBenv *env, const char *paramname, int value)> GRBsetintparam = nullptr
 
std::function< int(GRBenv *env, const char *paramname, double value)> GRBsetdblparam = nullptr
 
std::function< int(GRBenv *env, const char *paramname, const char *value)> GRBsetstrparam = nullptr
 
std::function< int(GRBenv *env, const char *paramname)> GRBgetparamtype
 
std::function< int(GRBenv *env)> GRBresetparams = nullptr
 
std::function< int(GRBenv *dest, GRBenv *src)> GRBcopyparams = nullptr
 
std::function< int(GRBenv *env, const char *filename)> GRBwriteparams = nullptr
 
std::function< int(GRBenv *env, const char *filename)> GRBreadparams = nullptr
 
std::function< int(GRBenv *env)> GRBgetnumparams = nullptr
 
std::function< int(GRBenv *env, int i, char **paramnameP)> GRBgetparamname
 
std::function< int(GRBmodel *model)> GRBgetnumattributes = nullptr
 
std::function< int(GRBmodel *model, int i, char **attrnameP)> GRBgetattrname
 
std::function< int(GRBenv **envP, const char *logfilename)> GRBloadenv = nullptr
 
std::function< int(GRBenv **envP, const char *logfilename, int apitype, int major, int minor, int tech, int(GUROBI_STDCALL *cb)(CB_ARGS), void *usrdata)> GRBloadenvadv = nullptr
 
std::function< int(GRBenv **envP, const char *logfilename, const char *computeservers, int port, const char *password, int priority, double timeout)> GRBloadclientenv = nullptr
 
std::function< int(GRBenv **envP, const char *logfilename, const char *computeservers, int port, const char *password, int priority, double timeout, int apitype, int major, int minor, int tech, int(GUROBI_STDCALL *cb)(CB_ARGS), void *usrdata)> GRBloadclientenvadv = nullptr
 
std::function< int(GRBenv **envP, const char *logfilename, const char *accessID, const char *secretKey, const char *pool)> GRBloadcloudenv = nullptr
 
std::function< int(GRBenv **envP, const char *logfilename, const char *accessID, const char *secretKey, const char *pool, int apitype, int major, int minor, int tech, int(GUROBI_STDCALL *cb)(CB_ARGS), void *usrdata)> GRBloadcloudenvadv = nullptr
 
std::function< GRBenv *(GRBmodel *model)> GRBgetenv = nullptr
 
std::function< GRBenv *(GRBmodel *model, int num)> GRBgetconcurrentenv = nullptr
 
std::function< void(GRBmodel *model)> GRBdiscardconcurrentenvs = nullptr
 
std::function< GRBenv *(GRBmodel *model, int num)> GRBgetmultiobjenv = nullptr
 
std::function< void(GRBmodel *model)> GRBdiscardmultiobjenvs = nullptr
 
std::function< void(GRBenv *env)> GRBreleaselicense = nullptr
 
std::function< void(GRBenv *env)> GRBfreeenv = nullptr
 
std::function< const char *(GRBenv *env)> GRBgeterrormsg = nullptr
 
std::function< const char *(GRBmodel *model)> GRBgetmerrormsg = nullptr
 
std::function< void(int *majorP, int *minorP, int *technicalP)> GRBversion
 
std::function< char *(void)> GRBplatform = nullptr
 
std::function< int(GRBmodel *model)> GRBtunemodel = nullptr
 
std::function< int(int nummodels, GRBmodel **models, GRBmodel *ignore, GRBmodel *hint)> GRBtunemodels = nullptr
 
std::function< int(GRBmodel *model, int i)> GRBgettuneresult = nullptr
 
std::function< int(GRBmodel *model, int i, char **logP)> GRBgettunelog = nullptr
 
std::function< int(GRBmodel *model, GRBmodel *ignore, GRBmodel *hint)> GRBtunemodeladv = nullptr
 
std::function< int(GRBmodel *model)> GRBsync = nullptr
 
constexpr NamedOptimizationProblemType kOptimizationProblemTypeNames []
 
constexpr double kDefaultPrimalTolerance = 1e-07
 
static const uint64_t kAllBits64 = uint64_t{0xFFFFFFFFFFFFFFFF}
 
static const uint64_t kAllBitsButLsb64 = uint64_t{0xFFFFFFFFFFFFFFFE}
 
static const uint32_t kAllBits32 = 0xFFFFFFFFU
 

Detailed Description

Collection of objects used to extend the Constraint Solver library.

The vehicle routing library lets one model and solve generic vehicle routing problems ranging from the Traveling Salesman Problem to more complex problems such as the Capacitated Vehicle Routing Problem with Time Windows.

This file contains a set of objects that simplifies writing extensions of the library.

The main objects that define extensions are:

Then, there are some internal classes that are used throughout the solver and exposed in this file:

  • SearchLog, the root class of all periodic outputs during search.
  • ModelCache, A caching layer to avoid creating twice the same object.

The objective of a vehicle routing problem is to build routes covering a set of nodes minimizing the overall cost of the routes (usually proportional to the sum of the lengths of each segment of the routes) while respecting some problem-specific constraints (such as the length of a route). A route is equivalent to a path connecting nodes, starting/ending at specific starting/ending nodes.

The term "vehicle routing" is historical and the category of problems solved is not limited to the routing of vehicles: any problem involving finding routes visiting a given number of nodes optimally falls under this category of problems, such as finding the optimal sequence in a playlist. The literature around vehicle routing problems is extremely dense but one can find some basic introductions in the following links:

The vehicle routing library is a vertical layer above the constraint programming library (ortools/constraint_programming:cp). One has access to all underlying constrained variables of the vehicle routing model which can therefore be enriched by adding any constraint available in the constraint programming library.

There are two sets of variables available:

  • path variables:
    • "next(i)" variables representing the immediate successor of the node corresponding to i; use IndexToNode() to get the node corresponding to a "next" variable value; note that node indices are strongly typed integers (cf. ortools/base/strong_int.h);
    • "vehicle(i)" variables representing the vehicle route to which the node corresponding to i belongs;
    • "active(i)" boolean variables, true if the node corresponding to i is visited and false if not; this can be false when nodes are either optional or part of a disjunction;
    • The following relationships hold for all i: active(i) == 0 <=> next(i) == i <=> vehicle(i) == -1, next(i) == j => vehicle(j) == vehicle(i).
  • dimension variables, used when one is accumulating quantities along routes, such as weight or volume carried, distance or time:
    • "cumul(i,d)" variables representing the quantity of dimension d when arriving at the node corresponding to i;
    • "transit(i,d)" variables representing the quantity of dimension d added after visiting the node corresponding to i.
    • The following relationship holds for all (i,d): next(i) == j => cumul(j,d) == cumul(i,d) + transit(i,d). Solving the vehicle routing problems is mainly done using approximate methods (namely local search, cf. http://en.wikipedia.org/wiki/Local_search_(optimization) ), potentially combined with exact techniques based on dynamic programming and exhaustive tree search. Advanced tips: Flags are available to tune the search used to solve routing problems. Here is a quick overview of the ones one might want to modify:
  • Limiting the search for solutions:
    • routing_solution_limit (default: kint64max): stop the search after finding 'routing_solution_limit' improving solutions;
    • routing_time_limit (default: kint64max): stop the search after 'routing_time_limit' milliseconds;
  • Customizing search:
    • routing_first_solution (default: select the first node with an unbound successor and connect it to the first available node): selects the heuristic to build a first solution which will then be improved by local search; possible values are GlobalCheapestArc (iteratively connect two nodes which produce the cheapest route segment), LocalCheapestArc (select the first node with an unbound successor and connect it to the node which produces the cheapest route segment), PathCheapestArc (starting from a route "start" node, connect it to the node which produces the cheapest route segment, then extend the route by iterating on the last node added to the route).
    • Local search neighborhoods:
      • routing_no_lns (default: false): forbids the use of Large Neighborhood Search (LNS); LNS can find good solutions but is usually very slow. Refer to the description of PATHLNS in the LocalSearchOperators enum in constraint_solver.h for more information.
      • routing_no_tsp (default: true): forbids the use of exact methods to solve "sub"-traveling salesman problems (TSPs) of the current model (such as sub-parts of a route, or one route in a multiple route problem). Uses dynamic programming to solve such TSPs with a maximum size (in number of nodes) up to cp_local_search_tsp_opt_size (flag with a default value of 13 nodes). It is not activated by default because it can slow down the search.
    • Meta-heuristics: used to guide the search out of local minima found by local search. Note that, in general, a search with metaheuristics activated never stops, therefore one must specify a search limit. Several types of metaheuristics are provided:

Code sample: Here is a simple example solving a traveling salesman problem given a cost function callback (returns the cost of a route segment):

  • Define a custom distance/cost function from an index to another; in this example just returns the sum of the indices:

    int64_t MyDistance(int64_t from, int64_t to) { return from + to; }

  • Create a routing model for a given problem size (int number of nodes) and number of routes (here, 1):

    RoutingIndexManager manager(...number of nodes..., 1); RoutingModel routing(manager);

  • Set the cost function by registering an std::function<int64_t(int64_t, int64_t)> in the model and passing its index as the vehicle cost.

    const int cost = routing.RegisterTransitCallback(MyDistance); routing.SetArcCostEvaluatorOfAllVehicles(cost);

  • Find a solution using Solve(), returns a solution if any (owned by routing):

    const Assignment* solution = routing.Solve(); CHECK(solution != nullptr);

  • Inspect the solution cost and route (only one route here):

    LOG(INFO) << "Cost " << solution->ObjectiveValue(); const int route_number = 0; for (int64_t node = routing.Start(route_number); !routing.IsEnd(node); node = solution->Value(routing.NextVar(node))) { LOG(INFO) << manager.IndexToNode(node); }

Keywords: Vehicle Routing, Traveling Salesman Problem, TSP, VRP, CVRPTW, PDP.

Meta namespace.

Typedef Documentation

◆ Arc

typedef std::pair<int64_t, int64_t> Arc

Definition at line 3434 of file search.cc.

◆ ArcIndex

typedef int32_t ArcIndex

Definition at line 202 of file ebert_graph.h.

◆ ArcIndexArray

Definition at line 209 of file ebert_graph.h.

◆ CostArray

Definition at line 211 of file ebert_graph.h.

◆ CostValue

typedef BlossomGraph::CostValue CostValue

Definition at line 204 of file ebert_graph.h.

◆ FlowQuantity

typedef int64_t FlowQuantity

Definition at line 203 of file ebert_graph.h.

◆ ForwardStarGraph

Definition at line 206 of file ebert_graph.h.

◆ ForwardStarStaticGraph

◆ Fraction

typedef std::pair<int64_t, int64_t> Fraction

Definition at line 26 of file rational_approximation.h.

◆ GScipBranchingPriority

using GScipBranchingPriority = absl::flat_hash_map<SCIP_VAR*, int>

Definition at line 121 of file gscip.h.

◆ GScipMessageHandler

using GScipMessageHandler = std::function<void(GScipMessageType type, absl::string_view message)>

Definition at line 36 of file gscip_message_handler.h.

◆ GScipSolution

using GScipSolution = absl::flat_hash_map<SCIP_VAR*, double>

Definition at line 74 of file gscip.h.

◆ Int16ZVector

typedef ZVector<int16_t> Int16ZVector

Definition at line 160 of file zvector.h.

◆ Int32ZVector

typedef ZVector<int32_t> Int32ZVector

Definition at line 161 of file zvector.h.

◆ Int64ZVector

typedef ZVector<int64_t> Int64ZVector

Definition at line 162 of file zvector.h.

◆ Int8ZVector

typedef ZVector<int8_t> Int8ZVector

Definition at line 159 of file zvector.h.

◆ KnapsackItemForCutsPtr

using KnapsackItemForCutsPtr = std::unique_ptr<KnapsackItemForCuts>

Definition at line 93 of file knapsack_solver_for_cuts.h.

◆ KnapsackItemPtr

Definition at line 329 of file knapsack_solver.h.

◆ NodeIndex

typedef BlossomGraph::NodeIndex NodeIndex

Definition at line 201 of file ebert_graph.h.

◆ NodeIndexArray

Definition at line 208 of file ebert_graph.h.

◆ PathNodeIndex

typedef int PathNodeIndex

Definition at line 451 of file hamiltonian_path.h.

◆ QuantityArray

Definition at line 210 of file ebert_graph.h.

◆ random_engine_t

using random_engine_t = std::mt19937

Definition at line 23 of file random_engine.h.

◆ RoutingIndexPair

typedef std::pair<std::vector<int64_t>, std::vector<int64_t> > RoutingIndexPair

Definition at line 45 of file routing_types.h.

◆ RoutingIndexPairs

typedef std::vector<RoutingIndexPair> RoutingIndexPairs

Definition at line 46 of file routing_types.h.

◆ RoutingTransitCallback1

typedef std::function<int64_t(int64_t)> RoutingTransitCallback1

Definition at line 42 of file routing_types.h.

◆ RoutingTransitCallback2

typedef std::function<int64_t(int64_t, int64_t)> RoutingTransitCallback2

Definition at line 43 of file routing_types.h.

◆ ScopedInstructionCounter

◆ ScopedTimeDistributionUpdater

◆ SequenceVarLocalSearchOperatorTemplate

◆ StarGraph

Definition at line 205 of file ebert_graph.h.

◆ UInt16ZVector

typedef ZVector<uint16_t> UInt16ZVector

Definition at line 164 of file zvector.h.

◆ UInt32ZVector

typedef ZVector<uint32_t> UInt32ZVector

Definition at line 165 of file zvector.h.

◆ UInt64ZVector

typedef ZVector<uint64_t> UInt64ZVector

Definition at line 166 of file zvector.h.

◆ UInt8ZVector

typedef ZVector<uint8_t> UInt8ZVector

Definition at line 163 of file zvector.h.

◆ value_type_t

using value_type_t = typename std::iterator_traits<Iterator>::value_type

Definition at line 24 of file sort.h.

Enumeration Type Documentation

◆ BronKerboschAlgorithmStatus

enum class BronKerboschAlgorithmStatus
strong
Enumerator
COMPLETED 
INTERRUPTED 

Definition at line 70 of file cliques.h.

◆ CliqueResponse

enum class CliqueResponse
strong
Enumerator
CONTINUE 
STOP 

Definition at line 60 of file cliques.h.

◆ DimensionSchedulingStatus

enum class DimensionSchedulingStatus
strong
Enumerator
OPTIMAL 
RELAXED_OPTIMAL_ONLY 
INFEASIBLE 

Definition at line 150 of file routing_lp_scheduling.h.

◆ GScipHintResult

enum class GScipHintResult
strong
Enumerator
kInfeasible 
kRejected 
kAccepted 

Definition at line 455 of file gscip.h.

◆ GScipMessageType

enum class GScipMessageType
strong
Enumerator
kInfoMessage 
kDialogMessage 
kWarningMessage 

Definition at line 28 of file gscip_message_handler.h.

◆ GScipVarType

enum class GScipVarType
strong
Enumerator
kContinuous 
kInteger 
kImpliedInteger 

Definition at line 108 of file gscip.h.

◆ MPCallbackEvent

enum class MPCallbackEvent
strong
Enumerator
kUnknown 
kPolling 
kPresolve 
kSimplex 
kMip 
kMipSolution 
kMipNode 
kBarrier 
kMessage 
kMultiObj 

Definition at line 37 of file linear_solver_callback.h.

◆ ProtoWriteFormat

enum class ProtoWriteFormat
strong
Enumerator
kProtoText 
kProtoBinary 
kJson 
kCanonicalJson 

Definition at line 49 of file file_util.h.

◆ ScipSeparationResult

enum class ScipSeparationResult
strong
Enumerator
kLazyConstraintAdded 
kCuttingPlaneAdded 
kDidNotFind 

Definition at line 90 of file scip_callback.cc.

◆ VarTypes

enum VarTypes

This enum is used internally to do dynamic typing on subclasses of integer variables.

Enumerator
UNSPECIFIED 
DOMAIN_INT_VAR 
BOOLEAN_VAR 
CONST_VAR 
VAR_ADD_CST 
VAR_TIMES_CST 
CST_SUB_VAR 
OPP_VAR 
TRACE_VAR 

Definition at line 115 of file constraint_solveri.h.

Function Documentation

◆ AbslHashValue() [1/2]

H operations_research::AbslHashValue ( h,
const StrongIndex< StrongIndexName > &  i 
)

Definition at line 331 of file strong_integers.h.

◆ AbslHashValue() [2/2]

H operations_research::AbslHashValue ( h,
const StrongInt64< StrongIntegerName > &  i 
)

Definition at line 336 of file strong_integers.h.

◆ AbslParseFlag()

bool AbslParseFlag ( const absl::string_view  text,
MPSolver::OptimizationProblemType solver_type,
std::string *  error 
)

Definition at line 593 of file linear_solver.cc.

◆ AbslUnparseFlag()

std::string operations_research::AbslUnparseFlag ( MPSolver::OptimizationProblemType  solver_type)
inline

Definition at line 959 of file linear_solver.h.

◆ AcceptDelta()

bool AcceptDelta ( Search *const  search,
Assignment delta,
Assignment deltadelta 
)

Definition at line 1352 of file constraint_solver.cc.

◆ AcceptNeighbor()

void AcceptNeighbor ( Search *const  search)

Definition at line 1357 of file constraint_solver.cc.

◆ AcceptUncheckedNeighbor()

void AcceptUncheckedNeighbor ( Search *const  search)

Definition at line 1359 of file constraint_solver.cc.

◆ AddArcsFromMinimumSpanningTree()

void operations_research::AddArcsFromMinimumSpanningTree ( int  number_of_nodes,
const CostFunction &  cost,
std::set< std::pair< int, int > > *  arcs 
)

Definition at line 294 of file one_tree_lower_bound.h.

◆ AddCallbackConstraint()

void AddCallbackConstraint ( SCIP *  scip,
ScipConstraintHandler< ConstraintData > *  handler,
const std::string &  constraint_name,
const ConstraintData *  constraint_data,
const ScipCallbackConstraintOptions options 
)

Definition at line 266 of file scip_callback.h.

◆ AddHadOverflow()

bool operations_research::AddHadOverflow ( int64_t  x,
int64_t  y,
int64_t  sum 
)
inline

Definition at line 54 of file saturated_arithmetic.h.

◆ AddLocalSearchNeighborhoodOperatorsFromFlags()

void operations_research::AddLocalSearchNeighborhoodOperatorsFromFlags ( RoutingSearchParameters *  parameters)

Definition at line 205 of file routing_flags.cc.

◆ AddOverflows()

bool operations_research::AddOverflows ( int64_t  x,
int64_t  y 
)
inline

Definition at line 78 of file saturated_arithmetic.h.

◆ AppendDimensionCumulFilters()

void AppendDimensionCumulFilters ( const std::vector< RoutingDimension * > &  dimensions,
const RoutingSearchParameters &  parameters,
bool  filter_objective_cost,
bool  filter_light_weight_unary_dimensions,
std::vector< LocalSearchFilterManager::FilterEvent > *  filters 
)

Definition at line 2166 of file routing_filters.cc.

◆ AppendLightWeightDimensionFilters()

void AppendLightWeightDimensionFilters ( const PathState path_state,
const std::vector< RoutingDimension * > &  dimensions,
std::vector< LocalSearchFilterManager::FilterEvent > *  filters 
)

Appends dimension-based filters to the given list of filters using a path state.

Definition at line 2105 of file routing_filters.cc.

◆ AppendTasksFromIntervals()

void AppendTasksFromIntervals ( const std::vector< IntervalVar * > &  intervals,
DisjunctivePropagator::Tasks tasks 
)

Definition at line 693 of file routing_breaks.cc.

◆ AppendTasksFromPath()

void AppendTasksFromPath ( const std::vector< int64_t > &  path,
const TravelBounds travel_bounds,
const RoutingDimension dimension,
DisjunctivePropagator::Tasks tasks 
)

Definition at line 609 of file routing_breaks.cc.

◆ ApplyMipPresolveSteps()

glop::ProblemStatus ApplyMipPresolveSteps ( const glop::GlopParameters &  glop_params,
MPModelProto *  model,
std::vector< std::unique_ptr< glop::Preprocessor > > *  for_postsolve,
SolverLogger logger 
)

Definition at line 27 of file sat_solver_utils.cc.

◆ ApplyVerifiedMPModelDelta()

void ApplyVerifiedMPModelDelta ( const MPModelDeltaProto &  delta,
MPModelProto *  model 
)

Definition at line 973 of file linear_solver/model_validator.cc.

◆ AreAllBooleans()

bool operations_research::AreAllBooleans ( const std::vector< IntVar * > &  vars)
inline

Definition at line 2955 of file constraint_solveri.h.

◆ AreAllBound()

bool operations_research::AreAllBound ( const std::vector< IntVar * > &  vars)
inline

Definition at line 2946 of file constraint_solveri.h.

◆ AreAllBoundOrNull()

bool operations_research::AreAllBoundOrNull ( const std::vector< IntVar * > &  vars,
const std::vector< T > &  values 
)

Returns true if all the variables are assigned to a single value, or if their corresponding value is null.

Definition at line 2962 of file constraint_solveri.h.

◆ AreAllBoundTo()

bool operations_research::AreAllBoundTo ( const std::vector< IntVar * > &  vars,
int64_t  value 
)
inline

Returns true if all variables are assigned to 'value'.

Definition at line 2973 of file constraint_solveri.h.

◆ AreAllGreaterOrEqual()

bool operations_research::AreAllGreaterOrEqual ( const std::vector< T > &  values,
const T &  value 
)

Definition at line 2876 of file constraint_solveri.h.

◆ AreAllLessOrEqual()

bool operations_research::AreAllLessOrEqual ( const std::vector< T > &  values,
const T &  value 
)

Definition at line 2886 of file constraint_solveri.h.

◆ AreAllNegative()

bool operations_research::AreAllNegative ( const std::vector< T > &  values)

Definition at line 2901 of file constraint_solveri.h.

◆ AreAllNull()

bool operations_research::AreAllNull ( const std::vector< T > &  values)

Definition at line 2871 of file constraint_solveri.h.

◆ AreAllOnes()

bool operations_research::AreAllOnes ( const std::vector< T > &  values)

Definition at line 2866 of file constraint_solveri.h.

◆ AreAllPositive()

bool operations_research::AreAllPositive ( const std::vector< T > &  values)

Definition at line 2896 of file constraint_solveri.h.

◆ AreAllStrictlyNegative()

bool operations_research::AreAllStrictlyNegative ( const std::vector< T > &  values)

Definition at line 2911 of file constraint_solveri.h.

◆ AreAllStrictlyPositive()

bool operations_research::AreAllStrictlyPositive ( const std::vector< T > &  values)

Definition at line 2906 of file constraint_solveri.h.

◆ AreWithinAbsoluteOrRelativeTolerances()

bool operations_research::AreWithinAbsoluteOrRelativeTolerances ( FloatType  x,
FloatType  y,
FloatType  relative_tolerance,
FloatType  absolute_tolerance 
)

Definition at line 124 of file fp_utils.h.

◆ AreWithinAbsoluteTolerance()

bool operations_research::AreWithinAbsoluteTolerance ( FloatType  x,
FloatType  y,
FloatType  absolute_tolerance 
)

Definition at line 145 of file fp_utils.h.

◆ AStarShortestPath()

bool AStarShortestPath ( int  node_count,
int  start_node,
int  end_node,
std::function< int64_t(int, int)>  graph,
std::function< int64_t(int)>  heuristic,
int64_t  disconnected_distance,
std::vector< int > *  nodes 
)

Definition at line 170 of file astar.cc.

◆ AutomaticFirstSolutionStrategy()

operations_research::FirstSolutionStrategy::Value AutomaticFirstSolutionStrategy ( bool  has_pickup_deliveries,
bool  has_node_precedences,
bool  has_single_vehicle_node 
)

Returns the best value for the automatic first solution strategy, based on the given model parameters.

Definition at line 181 of file routing_search.cc.

◆ BasisStatusString()

std::string BasisStatusString ( const int  stat)

Definition at line 48 of file glpk_formatters.cc.

◆ BellmanFordShortestPath()

bool BellmanFordShortestPath ( int  node_count,
int  start_node,
int  end_node,
std::function< int64_t(int, int)>  graph,
int64_t  disconnected_distance,
std::vector< int > *  nodes 
)

Definition at line 115 of file bellman_ford.cc.

◆ BitCount32()

uint32_t operations_research::BitCount32 ( uint32_t  n)
inline

Definition at line 53 of file bitset.h.

◆ BitCount64()

uint64_t operations_research::BitCount64 ( uint64_t  n)
inline

Definition at line 42 of file bitset.h.

◆ BitCountRange32()

uint32_t operations_research::BitCountRange32 ( const uint32_t *const  bitset,
uint32_t  start,
uint32_t  end 
)

◆ BitCountRange64()

uint64_t operations_research::BitCountRange64 ( const uint64_t *const  bitset,
uint64_t  start,
uint64_t  end 
)

◆ BitLength32()

uint32_t operations_research::BitLength32 ( uint32_t  size)
inline

Definition at line 339 of file bitset.h.

◆ BitLength64()

uint64_t operations_research::BitLength64 ( uint64_t  size)
inline

Definition at line 338 of file bitset.h.

◆ BitOffset32()

uint32_t operations_research::BitOffset32 ( uint32_t  pos)
inline

Definition at line 335 of file bitset.h.

◆ BitOffset64()

uint64_t operations_research::BitOffset64 ( uint64_t  pos)
inline

Definition at line 334 of file bitset.h.

◆ BitPos32()

uint32_t operations_research::BitPos32 ( uint32_t  pos)
inline

Definition at line 331 of file bitset.h.

◆ BitPos64()

uint32_t operations_research::BitPos64 ( uint64_t  pos)
inline

Definition at line 330 of file bitset.h.

◆ BitShift32()

uint32_t operations_research::BitShift32 ( uint32_t  v)
inline

Definition at line 343 of file bitset.h.

◆ BitShift64()

uint64_t operations_research::BitShift64 ( uint64_t  v)
inline

Definition at line 342 of file bitset.h.

◆ BuildBopInterface()

MPSolverInterface * BuildBopInterface ( MPSolver *const  solver)

Definition at line 388 of file bop_interface.cc.

◆ BuildCBCInterface()

MPSolverInterface * BuildCBCInterface ( MPSolver *const  solver)

Definition at line 535 of file cbc_interface.cc.

◆ BuildCLPInterface()

MPSolverInterface * BuildCLPInterface ( MPSolver *const  solver)

Definition at line 628 of file clp_interface.cc.

◆ BuildDemonProfiler()

DemonProfiler * BuildDemonProfiler ( Solver *const  solver)

Definition at line 443 of file demon_profiler.cc.

◆ BuildDurationExpr()

IntExpr * BuildDurationExpr ( IntervalVar var)

Definition at line 165 of file sched_expr.cc.

◆ BuildEndExpr()

IntExpr * BuildEndExpr ( IntervalVar var)

Definition at line 175 of file sched_expr.cc.

◆ BuildEulerianPath()

std::vector< typename Graph::NodeIndex > operations_research::BuildEulerianPath ( const Graph &  graph)

Definition at line 138 of file eulerian_path.h.

◆ BuildEulerianPathFromNode()

std::vector< NodeIndex > operations_research::BuildEulerianPathFromNode ( const Graph &  graph,
NodeIndex  root 
)

Definition at line 74 of file eulerian_path.h.

◆ BuildEulerianTour()

std::vector< typename Graph::NodeIndex > operations_research::BuildEulerianTour ( const Graph &  graph)

Definition at line 128 of file eulerian_path.h.

◆ BuildEulerianTourFromNode()

std::vector< NodeIndex > operations_research::BuildEulerianTourFromNode ( const Graph &  graph,
NodeIndex  root 
)

Definition at line 116 of file eulerian_path.h.

◆ BuildGLOPInterface()

MPSolverInterface * BuildGLOPInterface ( MPSolver *const  solver)

Definition at line 430 of file glop_interface.cc.

◆ BuildGurobiInterface()

MPSolverInterface * BuildGurobiInterface ( bool  mip,
MPSolver *const  solver 
)

Definition at line 1388 of file gurobi_interface.cc.

◆ BuildKruskalMinimumSpanningTree()

std::vector< typename Graph::ArcIndex > operations_research::BuildKruskalMinimumSpanningTree ( const Graph &  graph,
const ArcComparator &  arc_comparator 
)

Definition at line 89 of file minimum_spanning_tree.h.

◆ BuildKruskalMinimumSpanningTreeFromSortedArcs()

std::vector< typename Graph::ArcIndex > operations_research::BuildKruskalMinimumSpanningTreeFromSortedArcs ( const Graph &  graph,
const std::vector< typename Graph::ArcIndex > &  sorted_arcs 
)

Definition at line 50 of file minimum_spanning_tree.h.

◆ BuildLineGraph()

bool operations_research::BuildLineGraph ( const GraphType &  graph,
GraphType *const  line_graph 
)

Definition at line 2089 of file ebert_graph.h.

◆ BuildLocalSearchMonitorMaster()

LocalSearchMonitor * BuildLocalSearchMonitorMaster ( Solver *const  s)

Definition at line 3214 of file constraint_solver.cc.

◆ BuildLocalSearchProfiler()

LocalSearchProfiler * BuildLocalSearchProfiler ( Solver solver)

Definition at line 3924 of file local_search.cc.

◆ BuildModelCache()

ModelCache * BuildModelCache ( Solver *const  solver)

Definition at line 846 of file model_cache.cc.

◆ BuildModelParametersFromFlags()

RoutingModelParameters BuildModelParametersFromFlags ( )

Builds routing search parameters from flags.

Definition at line 334 of file routing_flags.cc.

◆ BuildPdlpInterface()

MPSolverInterface * BuildPdlpInterface ( MPSolver *const  solver)

Definition at line 303 of file pdlp_interface.cc.

◆ BuildPrimMinimumSpanningTree()

std::vector< typename Graph::ArcIndex > operations_research::BuildPrimMinimumSpanningTree ( const Graph &  graph,
const ArcValue &  arc_value 
)

Definition at line 115 of file minimum_spanning_tree.h.

◆ BuildPrintTrace()

PropagationMonitor * BuildPrintTrace ( Solver *const  s)

Definition at line 878 of file trace.cc.

◆ BuildSafeDurationExpr()

IntExpr * BuildSafeDurationExpr ( IntervalVar var,
int64_t  unperformed_value 
)

Definition at line 190 of file sched_expr.cc.

◆ BuildSafeEndExpr()

IntExpr * BuildSafeEndExpr ( IntervalVar var,
int64_t  unperformed_value 
)

Definition at line 195 of file sched_expr.cc.

◆ BuildSafeStartExpr()

IntExpr * BuildSafeStartExpr ( IntervalVar var,
int64_t  unperformed_value 
)

Definition at line 185 of file sched_expr.cc.

◆ BuildSatInterface()

MPSolverInterface * BuildSatInterface ( MPSolver *const  solver)

Definition at line 299 of file sat_interface.cc.

◆ BuildSCIPInterface()

MPSolverInterface * BuildSCIPInterface ( MPSolver *const  solver)

Definition at line 1156 of file scip_interface.cc.

◆ BuildSearchParametersFromFlags()

RoutingSearchParameters BuildSearchParametersFromFlags ( )

Builds routing search parameters from flags.

describe a valid set of routing search parameters.

Definition at line 321 of file routing_flags.cc.

◆ BuildStartExpr()

IntExpr * BuildStartExpr ( IntervalVar var)

Definition at line 155 of file sched_expr.cc.

◆ BuildTrace()

PropagationMonitor * BuildTrace ( Solver *const  s)

Definition at line 3139 of file constraint_solver.cc.

◆ CapAdd()

int64_t operations_research::CapAdd ( int64_t  x,
int64_t  y 
)
inline

Definition at line 126 of file saturated_arithmetic.h.

◆ CapAddGeneric()

int64_t operations_research::CapAddGeneric ( int64_t  x,
int64_t  y 
)
inline

Definition at line 104 of file saturated_arithmetic.h.

◆ CapAddTo()

void operations_research::CapAddTo ( int64_t  x,
int64_t *  y 
)
inline

Definition at line 134 of file saturated_arithmetic.h.

◆ CapOpp()

int64_t operations_research::CapOpp ( int64_t  v)
inline

Definition at line 167 of file saturated_arithmetic.h.

◆ CapProd()

int64_t operations_research::CapProd ( int64_t  x,
int64_t  y 
)
inline

Definition at line 235 of file saturated_arithmetic.h.

◆ CapProdGeneric()

int64_t operations_research::CapProdGeneric ( int64_t  x,
int64_t  y 
)
inline

Definition at line 184 of file saturated_arithmetic.h.

◆ CapSub()

int64_t operations_research::CapSub ( int64_t  x,
int64_t  y 
)
inline

Definition at line 158 of file saturated_arithmetic.h.

◆ CapSubGeneric()

int64_t operations_research::CapSubGeneric ( int64_t  x,
int64_t  y 
)
inline

Definition at line 136 of file saturated_arithmetic.h.

◆ CapWithSignOf()

int64_t operations_research::CapWithSignOf ( int64_t  x)
inline

Definition at line 99 of file saturated_arithmetic.h.

◆ CeilRatio()

int64_t operations_research::CeilRatio ( int64_t  value,
int64_t  positive_coeff 
)

Definition at line 93 of file sorted_interval_list.cc.

◆ ChooseMode()

BaseAssignVariables::Mode operations_research::ChooseMode ( Solver::IntValueStrategy  val_str)

Definition at line 2058 of file search.cc.

◆ CleanVariableOnFail()

void CleanVariableOnFail ( IntVar *const  var)

Definition at line 6359 of file expressions.cc.

◆ ClearBit32()

void operations_research::ClearBit32 ( uint32_t *const  bitset,
uint32_t  pos 
)
inline

Definition at line 365 of file bitset.h.

◆ ClearBit64()

void operations_research::ClearBit64 ( uint64_t *const  bitset,
uint64_t  pos 
)
inline

Definition at line 362 of file bitset.h.

◆ CompareKnapsackItemWithEfficiencyInDecreasingEfficiencyOrder()

bool operations_research::CompareKnapsackItemWithEfficiencyInDecreasingEfficiencyOrder ( const KnapsackItemWithEfficiency item1,
const KnapsackItemWithEfficiency item2 
)

Definition at line 719 of file knapsack_solver.cc.

◆ ComputeFormVarLowerBound()

double operations_research::ComputeFormVarLowerBound ( glp_prob *const  problem,
const int  num_cstrs,
const int  k 
)
inline

Definition at line 118 of file glpk_computational_form.h.

◆ ComputeFormVarPrimalValue()

double operations_research::ComputeFormVarPrimalValue ( glp_prob *const  problem,
const int  num_cstrs,
const int  k 
)
inline

Definition at line 108 of file glpk_computational_form.h.

◆ ComputeFormVarReducedCost()

double operations_research::ComputeFormVarReducedCost ( glp_prob *const  problem,
const int  num_cstrs,
const int  k 
)
inline

Definition at line 98 of file glpk_computational_form.h.

◆ ComputeFormVarStatus()

int operations_research::ComputeFormVarStatus ( glp_prob *const  problem,
const int  num_cstrs,
const int  k 
)
inline

Definition at line 88 of file glpk_computational_form.h.

◆ ComputeFormVarUpperBound()

double operations_research::ComputeFormVarUpperBound ( glp_prob *const  problem,
const int  num_cstrs,
const int  k 
)
inline

Definition at line 128 of file glpk_computational_form.h.

◆ ComputeGcdOfRoundedDoubles()

int64_t ComputeGcdOfRoundedDoubles ( const std::vector< double > &  x,
double  scaling_factor 
)

Definition at line 200 of file fp_utils.cc.

◆ ComputeMinimumWeightMatching()

absl::StatusOr< std::vector< std::pair< typename GraphType::NodeIndex, typename GraphType::NodeIndex > > > operations_research::ComputeMinimumWeightMatching ( const GraphType &  graph,
const WeightFunctionType &  weight 
)

Definition at line 109 of file christofides.h.

◆ ComputeMinimumWeightMatchingWithMIP()

absl::StatusOr< std::vector< std::pair< typename GraphType::NodeIndex, typename GraphType::NodeIndex > > > operations_research::ComputeMinimumWeightMatchingWithMIP ( const GraphType &  graph,
const WeightFunctionType &  weight 
)

Definition at line 145 of file christofides.h.

◆ ComputeOneTree()

std::vector< int > operations_research::ComputeOneTree ( const GraphType &  graph,
const CostFunction &  cost,
const std::vector< double > &  weights,
const std::vector< int > &  sorted_arcs,
CostType *  one_tree_cost 
)

Definition at line 332 of file one_tree_lower_bound.h.

◆ ComputeOneTreeLowerBound()

double operations_research::ComputeOneTreeLowerBound ( int  number_of_nodes,
const CostFunction &  cost 
)

Definition at line 481 of file one_tree_lower_bound.h.

◆ ComputeOneTreeLowerBoundWithAlgorithm()

double operations_research::ComputeOneTreeLowerBoundWithAlgorithm ( int  number_of_nodes,
int  nearest_neighbors,
const CostFunction &  cost,
Algorithm *  algorithm 
)

Definition at line 379 of file one_tree_lower_bound.h.

◆ ComputeOneTreeLowerBoundWithParameters()

double operations_research::ComputeOneTreeLowerBoundWithParameters ( int  number_of_nodes,
const CostFunction &  cost,
const TravelingSalesmanLowerBoundParameters parameters 
)

Definition at line 453 of file one_tree_lower_bound.h.

◆ ComputeScalingErrors()

void ComputeScalingErrors ( const std::vector< double > &  input,
const std::vector< double > &  lb,
const std::vector< double > &  ub,
double  scaling_factor,
double *  max_relative_coeff_error,
double *  max_scaled_sum_error 
)

Definition at line 170 of file fp_utils.cc.

◆ CoverArcsByCliques()

void CoverArcsByCliques ( std::function< bool(int, int)>  graph,
int  node_count,
std::function< bool(const std::vector< int > &)>  callback 
)

Definition at line 240 of file cliques.cc.

◆ CpRandomSeed()

int64_t operations_research::CpRandomSeed ( )
inline

Definition at line 160 of file constraint_solver.h.

◆ DefaultGScipConstraintOptions()

const GScipConstraintOptions & DefaultGScipConstraintOptions ( )

Definition at line 205 of file gscip.cc.

◆ DefaultGScipVariableOptions()

const GScipVariableOptions & DefaultGScipVariableOptions ( )

Definition at line 200 of file gscip.cc.

◆ DefaultPhaseStatString()

std::string operations_research::DefaultPhaseStatString ( DecisionBuilder db)

Definition at line 1110 of file default_search.cc.

◆ DefaultRoutingModelParameters()

RoutingModelParameters DefaultRoutingModelParameters ( )

Definition at line 35 of file routing_parameters.cc.

◆ DefaultRoutingSearchParameters()

RoutingSearchParameters DefaultRoutingSearchParameters ( )
Examples
tsp.cc, and vrp.cc.

Definition at line 48 of file routing_parameters.cc.

◆ DEFINE_STRONG_INT_TYPE() [1/5]

operations_research::DEFINE_STRONG_INT_TYPE ( RoutingCostClassIndex  ,
int   
)

◆ DEFINE_STRONG_INT_TYPE() [2/5]

operations_research::DEFINE_STRONG_INT_TYPE ( RoutingDimensionIndex  ,
int   
)

◆ DEFINE_STRONG_INT_TYPE() [3/5]

operations_research::DEFINE_STRONG_INT_TYPE ( RoutingDisjunctionIndex  ,
int   
)

◆ DEFINE_STRONG_INT_TYPE() [4/5]

operations_research::DEFINE_STRONG_INT_TYPE ( RoutingNodeIndex  ,
int   
)

Defining common types used in the routing library outside the main RoutingModel class has several purposes: 1) It allows some small libraries to avoid a dependency on routing.

{h,cc}, eg. routing_neighborhoods.h. 2) It allows an easier wrapping via SWIG, which can have issues with intra-class types.

Users that depend on routing.{h,cc} should just use the RoutingModel:: equivalent, eg. RoutingModel::NodeIndex.

◆ DEFINE_STRONG_INT_TYPE() [5/5]

operations_research::DEFINE_STRONG_INT_TYPE ( RoutingVehicleClassIndex  ,
int   
)

◆ DeleteDemonProfiler()

void DeleteDemonProfiler ( DemonProfiler *const  monitor)

Definition at line 451 of file demon_profiler.cc.

◆ DeleteLocalSearchProfiler()

void DeleteLocalSearchProfiler ( LocalSearchProfiler monitor)

Definition at line 3931 of file local_search.cc.

◆ DemonProfilerAddFakeRun()

void operations_research::DemonProfilerAddFakeRun ( DemonProfiler *const  monitor,
Demon *const  demon,
int64_t  start_time,
int64_t  end_time,
bool  is_fail 
)

Definition at line 468 of file demon_profiler.cc.

◆ DemonProfilerBeginInitialPropagation()

void operations_research::DemonProfilerBeginInitialPropagation ( DemonProfiler *const  monitor,
Constraint *const  constraint 
)

Definition at line 486 of file demon_profiler.cc.

◆ DemonProfilerEndInitialPropagation()

void operations_research::DemonProfilerEndInitialPropagation ( DemonProfiler *const  monitor,
Constraint *const  constraint 
)

Definition at line 491 of file demon_profiler.cc.

◆ DemonProfilerExportInformation()

void operations_research::DemonProfilerExportInformation ( DemonProfiler *const  monitor,
const Constraint *const  constraint,
int64_t *const  fails,
int64_t *const  initial_propagation_runtime,
int64_t *const  demon_invocations,
int64_t *const  total_demon_runtime,
int *const  demon_count 
)

Definition at line 474 of file demon_profiler.cc.

◆ DijkstraShortestPath()

bool DijkstraShortestPath ( int  node_count,
int  start_node,
int  end_node,
std::function< int64_t(int, int)>  graph,
int64_t  disconnected_distance,
std::vector< int > *  nodes 
)

Definition at line 151 of file dijkstra.cc.

◆ DropAllEvents()

SCIP_RETCODE operations_research::DropAllEvents ( GScipEventHandler handler)

Definition at line 128 of file gscip_event_handler.cc.

◆ EncodeSatParametersAsString()

std::string EncodeSatParametersAsString ( const sat::SatParameters &  parameters)

Definition at line 353 of file sat_proto_solver.cc.

◆ ExportModelAsLpFormat()

absl::StatusOr< std::string > ExportModelAsLpFormat ( const MPModelProto &  model,
const MPModelExportOptions options = MPModelExportOptions() 
)

Outputs the current model (variables, constraints, objective) as a string encoded in the so-called "CPLEX LP file format" as generated by SCIP.

The LP file format is easily readable by a human.

Returns false if some error has occurred during execution. The validity of names is automatically checked. If a variable name or a constraint name is invalid or non-existent, a new valid name is automatically generated.

If 'obfuscated' is true, the variable and constraint names of proto_ are not used. Variable and constraint names of the form "V12345" and "C12345" are used instead.

For more information about the different LP file formats: http://lpsolve.sourceforge.net/5.5/lp-format.htm The following give a reasonable idea of the CPLEX LP file format: http://lpsolve.sourceforge.net/5.5/CPLEX-format.htm http://tinyurl.com/cplex-lp-format http://www.gurobi.com/documentation/5.1/reference-manual/node871

Definition at line 213 of file model_exporter.cc.

◆ ExportModelAsMpsFormat()

absl::StatusOr< std::string > ExportModelAsMpsFormat ( const MPModelProto &  model,
const MPModelExportOptions options = MPModelExportOptions() 
)

Outputs the current model (variables, constraints, objective) as a string encoded in MPS file format, using the "free" MPS format.

Returns false if some error has occurred during execution. Models with maximization objectives trigger an error, because MPS can encode only minimization problems.

The validity of names is automatically checked. If a variable name or a constraint name is invalid or non-existent, a new valid name is automatically generated.

Name validity and obfuscation works exactly as in ExportModelAsLpFormat().

For more information about the MPS format: http://en.wikipedia.org/wiki/MPS_(format) A close-to-original description coming from OSL: http://tinyurl.com/mps-format-by-osl A recent description from CPLEX: http://tinyurl.com/mps-format-by-cplex CPLEX extensions: http://tinyurl.com/mps-extensions-by-cplex Gurobi's description: http://www.gurobi.com/documentation/5.1/reference-manual/node869

Definition at line 230 of file model_exporter.cc.

◆ ExtractValidMPModelInPlaceOrPopulateResponseStatus()

bool ExtractValidMPModelInPlaceOrPopulateResponseStatus ( MPModelRequest *  request,
MPSolutionResponse *  response 
)

Like ExtractValidMPModelOrPopulateResponseStatus(), but works in-place: if the MPModel needed extraction, it will be populated in the request, and it returns the success boolean.

Definition at line 758 of file linear_solver/model_validator.cc.

◆ ExtractValidMPModelOrPopulateResponseStatus()

absl::optional< LazyMutableCopy< MPModelProto > > ExtractValidMPModelOrPopulateResponseStatus ( const MPModelRequest &  request,
MPSolutionResponse *  response 
)

If the model is valid and non-empty, returns it (possibly after extracting the model_delta).

If invalid or empty, updates response and returns null.

Definition at line 681 of file linear_solver/model_validator.cc.

◆ fast_ilogb()

int fast_ilogb ( double  value)

Definition at line 222 of file fp_utils.cc.

◆ fast_scalbn()

double fast_scalbn ( double  value,
int  exponent 
)

Definition at line 235 of file fp_utils.cc.

◆ fast_scalbn_inplace()

void fast_scalbn_inplace ( double &  mutable_value,
int  exponent 
)

Definition at line 231 of file fp_utils.cc.

◆ FillPathEvaluation()

void FillPathEvaluation ( const std::vector< int64_t > &  path,
const RoutingModel::TransitCallback2 evaluator,
std::vector< int64_t > *  values 
)

Definition at line 6452 of file routing.cc.

◆ FillTravelBoundsOfVehicle()

void FillTravelBoundsOfVehicle ( int  vehicle,
const std::vector< int64_t > &  path,
const RoutingDimension dimension,
TravelBounds travel_bounds 
)

Definition at line 664 of file routing_breaks.cc.

◆ FillValues()

void operations_research::FillValues ( const std::vector< IntVar * > &  vars,
std::vector< int64_t > *const  values 
)
inline

Definition at line 3002 of file constraint_solveri.h.

◆ FindCliques()

void FindCliques ( std::function< bool(int, int)>  graph,
int  node_count,
std::function< bool(const std::vector< int > &)>  callback 
)

Definition at line 226 of file cliques.cc.

◆ FindErrorInMPModelDeltaProto()

std::string FindErrorInMPModelDeltaProto ( const MPModelDeltaProto &  delta,
const MPModelProto &  model 
)

Like FindErrorInMPModelProto, but for a MPModelDeltaProto applied to a given baseline model (assumed valid, eg.

FindErrorInMPModelProto(model)=""). Works in O(|model_delta|) + O(num_vars in model), but the latter term has a very small constant factor.

Definition at line 832 of file linear_solver/model_validator.cc.

◆ FindErrorInMPModelForScip()

std::string FindErrorInMPModelForScip ( const MPModelProto &  model,
SCIP *  scip 
)

Definition at line 536 of file scip_proto_solver.cc.

◆ FindErrorInMPModelProto()

std::string FindErrorInMPModelProto ( const MPModelProto &  model,
double  abs_value_threshold = 0.0,
bool  accept_trivially_infeasible_bounds = false 
)

Returns an empty string iff the model is valid and not trivially infeasible.

Otherwise, returns a description of the first error or trivial infeasibility variable or constraint bound encountered.

abs_value_threshold is the (exclusive) limit for the abs value of constraint coefficients, objective coefficients, etc. If unspecified, or 0, it defaults to FLAGS_model_validator_infinity.

NOTE(user): the code of this method (and the client code too!) is considerably simplified by this string-based, simple API. If clients require it, we could add a formal error status enum.

Definition at line 552 of file linear_solver/model_validator.cc.

◆ FindErrorInRoutingSearchParameters()

std::string FindErrorInRoutingSearchParameters ( const RoutingSearchParameters &  search_parameters)

Returns an empty std::string if the routing search parameters are valid, and a non-empty, human readable error description if they're not.

Definition at line 148 of file routing_parameters.cc.

◆ FindFeasibilityErrorInSolutionHint()

std::string FindFeasibilityErrorInSolutionHint ( const MPModelProto &  model,
double  tolerance 
)

Returns an empty string if the solution hint given in the model is a feasible solution.

Otherwise, returns a description of the first reason for infeasibility.

This function can be useful for debugging/checking that the given solution hint is feasible when it is expected to be the case. The feasibility is checked up to the given tolerance using the ::operations_research::IsLowerWithinTolerance() function.

Definition at line 771 of file linear_solver/model_validator.cc.

◆ FloorRatio()

int64_t operations_research::FloorRatio ( int64_t  value,
int64_t  positive_coeff 
)

Definition at line 100 of file sorted_interval_list.cc.

◆ FullProtocolMessageAsString()

std::string FullProtocolMessageAsString ( const google::protobuf::Message &  message,
int  indent_level 
)

Definition at line 59 of file proto_tools.cc.

◆ GenericCheck()

void operations_research::GenericCheck ( const int  expected_assignment_size,
const absl::flat_hash_map< int, int > &  direct_assignment,
const absl::flat_hash_map< int, int > &  reverse_assignment,
const int  expected_agents[],
const int  expected_tasks[] 
)

Definition at line 31 of file hungarian_test.cc.

◆ GetBestScalingOfDoublesToInt64() [1/2]

double GetBestScalingOfDoublesToInt64 ( const std::vector< double > &  input,
const std::vector< double > &  lb,
const std::vector< double > &  ub,
int64_t  max_absolute_sum 
)

Definition at line 179 of file fp_utils.cc.

◆ GetBestScalingOfDoublesToInt64() [2/2]

void GetBestScalingOfDoublesToInt64 ( const std::vector< double > &  input,
int64_t  max_absolute_sum,
double *  scaling_factor,
double *  max_relative_coeff_error 
)

Definition at line 189 of file fp_utils.cc.

◆ GetGurobiEnv()

absl::StatusOr< GRBenv * > GetGurobiEnv ( )

Definition at line 752 of file environment.cc.

◆ GetNodeMinimizingEdgeCostToSource()

int operations_research::GetNodeMinimizingEdgeCostToSource ( const GraphType &  graph,
int  source,
const CostFunction &  cost,
AcceptFunction  accept 
)

Definition at line 311 of file one_tree_lower_bound.h.

◆ GetProcessMemoryUsage()

int64_t GetProcessMemoryUsage ( )

Definition at line 85 of file base/sysinfo.cc.

◆ GlopToMPSolverConstraintStatus()

MPSolver::BasisStatus GlopToMPSolverConstraintStatus ( glop::ConstraintStatus  s)

Definition at line 91 of file glop_utils.cc.

◆ GlopToMPSolverResultStatus()

MPSolver::ResultStatus GlopToMPSolverResultStatus ( glop::ProblemStatus  s)

Definition at line 18 of file glop_utils.cc.

◆ GlopToMPSolverVariableStatus()

MPSolver::BasisStatus GlopToMPSolverVariableStatus ( glop::VariableStatus  s)

Definition at line 57 of file glop_utils.cc.

◆ GScipAddQuadraticObjectiveTerm()

absl::Status GScipAddQuadraticObjectiveTerm ( GScip gscip,
std::vector< SCIP_Var * >  quadratic_variables1,
std::vector< SCIP_Var * >  quadratic_variables2,
std::vector< double >  quadratic_coefficients,
const std::string &  name 
)

Definition at line 143 of file gscip_ext.cc.

◆ GScipCatchCtrlC()

bool GScipCatchCtrlC ( const GScipParameters &  parameters)

Definition at line 131 of file gscip_parameters.cc.

◆ GScipCatchCtrlCSet()

bool GScipCatchCtrlCSet ( const GScipParameters &  parameters)

Definition at line 138 of file gscip_parameters.cc.

◆ GScipCreateAbs()

absl::Status GScipCreateAbs ( GScip gscip,
SCIP_Var *  x,
SCIP_Var *  abs_x,
const std::string &  name 
)

Definition at line 69 of file gscip_ext.cc.

◆ GScipCreateIndicatorRange()

absl::Status GScipCreateIndicatorRange ( GScip gscip,
const GScipIndicatorRangeConstraint indicator_range,
const std::string &  name,
const GScipConstraintOptions options 
)

Definition at line 173 of file gscip_ext.cc.

◆ GScipCreateMaximum()

absl::Status GScipCreateMaximum ( GScip gscip,
const GScipLinearExpr resultant,
const std::vector< GScipLinearExpr > &  terms,
const std::string &  name 
)

Definition at line 76 of file gscip_ext.cc.

◆ GScipCreateMinimum()

absl::Status GScipCreateMinimum ( GScip gscip,
const GScipLinearExpr resultant,
const std::vector< GScipLinearExpr > &  terms,
const std::string &  name 
)

Definition at line 132 of file gscip_ext.cc.

◆ GScipDifference()

GScipLinearExpr GScipDifference ( GScipLinearExpr  left,
const GScipLinearExpr right 
)

Definition at line 37 of file gscip_ext.cc.

◆ GScipLe()

GScipLinearRange GScipLe ( const GScipLinearExpr  left,
const GScipLinearExpr right 
)

Definition at line 56 of file gscip_ext.cc.

◆ GScipLogLevel()

int GScipLogLevel ( const GScipParameters &  parameters)

Definition at line 83 of file gscip_parameters.cc.

◆ GScipLogLevelSet()

bool GScipLogLevelSet ( const GScipParameters &  parameters)

Definition at line 88 of file gscip_parameters.cc.

◆ GScipMaxNumThreads()

int GScipMaxNumThreads ( const GScipParameters &  parameters)

Definition at line 65 of file gscip_parameters.cc.

◆ GScipMaxNumThreadsSet()

bool GScipMaxNumThreadsSet ( const GScipParameters &  parameters)

Definition at line 72 of file gscip_parameters.cc.

◆ GScipNegate()

GScipLinearExpr GScipNegate ( GScipLinearExpr  expr)

Definition at line 46 of file gscip_ext.cc.

◆ GScipOutputEnabled()

bool GScipOutputEnabled ( const GScipParameters &  parameters)

Definition at line 99 of file gscip_parameters.cc.

◆ GScipOutputEnabledSet()

bool GScipOutputEnabledSet ( const GScipParameters &  parameters)

Definition at line 104 of file gscip_parameters.cc.

◆ GScipRandomSeed()

int GScipRandomSeed ( const GScipParameters &  parameters)

Definition at line 114 of file gscip_parameters.cc.

◆ GScipRandomSeedSet()

bool GScipRandomSeedSet ( const GScipParameters &  parameters)

Definition at line 121 of file gscip_parameters.cc.

◆ GScipSetCatchCtrlC()

void GScipSetCatchCtrlC ( const bool  catch_ctrl_c,
GScipParameters *const  parameters 
)

Definition at line 125 of file gscip_parameters.cc.

◆ GScipSetLogLevel()

void GScipSetLogLevel ( GScipParameters *  parameters,
int  log_level 
)

Definition at line 76 of file gscip_parameters.cc.

◆ GScipSetMaxNumThreads()

void GScipSetMaxNumThreads ( int  num_threads,
GScipParameters *  parameters 
)

Definition at line 59 of file gscip_parameters.cc.

◆ GScipSetOutputEnabled()

void GScipSetOutputEnabled ( GScipParameters *  parameters,
bool  output_enabled 
)

Definition at line 92 of file gscip_parameters.cc.

◆ GScipSetRandomSeed()

void GScipSetRandomSeed ( GScipParameters *  parameters,
int  random_seed 
)

Definition at line 108 of file gscip_parameters.cc.

◆ GScipSetTimeLimit()

void GScipSetTimeLimit ( absl::Duration  time_limit,
GScipParameters *  parameters 
)

Definition at line 31 of file gscip_parameters.cc.

◆ GScipTimeLimit()

absl::Duration GScipTimeLimit ( const GScipParameters &  parameters)

Definition at line 40 of file gscip_parameters.cc.

◆ GScipTimeLimitSet()

bool GScipTimeLimitSet ( const GScipParameters &  parameters)

Definition at line 55 of file gscip_parameters.cc.

◆ GurobiDynamicLibraryPotentialPaths()

std::vector< std::string > operations_research::GurobiDynamicLibraryPotentialPaths ( )

Definition at line 662 of file environment.cc.

◆ GurobiIsCorrectlyInstalled()

bool GurobiIsCorrectlyInstalled ( )

Definition at line 31 of file environment.cc.

◆ GurobiSolveProto()

absl::StatusOr< MPSolutionResponse > GurobiSolveProto ( const MPModelRequest &  request,
GRBenv gurobi_env 
)

Definition at line 264 of file gurobi_proto_solver.cc.

◆ Hash1() [1/7]

uint64_t operations_research::Hash1 ( const std::vector< int64_t > &  ptrs)
inline

Definition at line 262 of file constraint_solveri.h.

◆ Hash1() [2/7]

uint64_t operations_research::Hash1 ( const std::vector< T * > &  ptrs)

Definition at line 252 of file constraint_solveri.h.

◆ Hash1() [3/7]

uint64_t operations_research::Hash1 ( int  value)
inline

Definition at line 240 of file constraint_solveri.h.

◆ Hash1() [4/7]

uint64_t operations_research::Hash1 ( int64_t  value)
inline

Definition at line 236 of file constraint_solveri.h.

◆ Hash1() [5/7]

uint64_t operations_research::Hash1 ( uint32_t  value)
inline

Definition at line 225 of file constraint_solveri.h.

◆ Hash1() [6/7]

uint64_t operations_research::Hash1 ( uint64_t  value)
inline

Hash functions.

value = (value << 21) - value - 1;

value * 265

value * 21

Definition at line 214 of file constraint_solveri.h.

◆ Hash1() [7/7]

uint64_t operations_research::Hash1 ( void *const  ptr)
inline

Definition at line 242 of file constraint_solveri.h.

◆ Hash32NumWithSeed()

uint32_t operations_research::Hash32NumWithSeed ( uint32_t  num,
uint32_t  c 
)
inline

Definition at line 97 of file hash.h.

◆ Hash64NumWithSeed()

uint64_t operations_research::Hash64NumWithSeed ( uint64_t  num,
uint64_t  c 
)
inline

Definition at line 103 of file hash.h.

◆ HasUnaryDimension()

bool operations_research::HasUnaryDimension ( const std::vector< RoutingDimension * > &  dimensions)

Definition at line 4785 of file routing.cc.

◆ IncrementalSort() [1/2]

void operations_research::IncrementalSort ( int  max_comparisons,
Iterator  begin,
Iterator  end,
Compare  comp = Compare{},
bool  is_stable = false 
)

Definition at line 46 of file sort.h.

◆ IncrementalSort() [2/2]

void operations_research::IncrementalSort ( Iterator  begin,
Iterator  end,
Compare  comp = Compare{},
bool  is_stable = false 
)

Definition at line 129 of file sort.h.

◆ InputContainsNan()

bool operations_research::InputContainsNan ( const std::vector< std::vector< double > > &  input)

Definition at line 640 of file hungarian.cc.

◆ InsertionSort()

void operations_research::InsertionSort ( Iterator  begin,
Iterator  end,
Compare  comp = Compare{} 
)

Definition at line 95 of file sort.h.

◆ InstallDemonProfiler()

void InstallDemonProfiler ( DemonProfiler *const  monitor)

Definition at line 441 of file demon_profiler.cc.

◆ InstallLocalSearchProfiler()

void InstallLocalSearchProfiler ( LocalSearchProfiler monitor)

Definition at line 3920 of file local_search.cc.

◆ InternalSaveBooleanVarValue()

void operations_research::InternalSaveBooleanVarValue ( Solver *const  solver,
IntVar *const  var 
)

Definition at line 951 of file constraint_solver.cc.

◆ Interpolate()

FloatType operations_research::Interpolate ( FloatType  x,
FloatType  y,
FloatType  alpha 
)
inline

Definition at line 246 of file fp_utils.h.

◆ IntervalDown32()

uint32_t operations_research::IntervalDown32 ( uint32_t  s)
inline

Definition at line 316 of file bitset.h.

◆ IntervalDown64()

uint64_t operations_research::IntervalDown64 ( uint64_t  s)
inline

Definition at line 311 of file bitset.h.

◆ IntervalsAreSortedAndNonAdjacent()

bool IntervalsAreSortedAndNonAdjacent ( absl::Span< const ClosedInterval intervals)

Returns true iff we have:

  • The intervals appear in increasing order.
  • for all i: intervals[i].start <= intervals[i].end (should always be true, by construction, but bad intervals can in practice escape detection in opt mode).
  • for all i but the last: intervals[i].end + 1 < intervals[i+1].start

Definition at line 38 of file sorted_interval_list.cc.

◆ IntervalUp32()

uint32_t operations_research::IntervalUp32 ( uint32_t  s)
inline

Definition at line 305 of file bitset.h.

◆ IntervalUp64()

uint64_t operations_research::IntervalUp64 ( uint64_t  s)
inline

Definition at line 300 of file bitset.h.

◆ IsArrayBoolean()

bool operations_research::IsArrayBoolean ( const std::vector< T > &  values)

Definition at line 2856 of file constraint_solveri.h.

◆ IsArrayConstant()

bool operations_research::IsArrayConstant ( const std::vector< T > &  values,
const T &  value 
)

Definition at line 2846 of file constraint_solveri.h.

◆ IsArrayInRange()

bool operations_research::IsArrayInRange ( const std::vector< IntVar * > &  vars,
range_min,
range_max 
)

Definition at line 2936 of file constraint_solveri.h.

◆ IsBitSet32()

bool operations_research::IsBitSet32 ( const uint32_t *const  bitset,
uint32_t  pos 
)
inline

Definition at line 349 of file bitset.h.

◆ IsBitSet64()

bool operations_research::IsBitSet64 ( const uint64_t *const  bitset,
uint64_t  pos 
)
inline

Definition at line 346 of file bitset.h.

◆ IsEmptyRange32()

bool operations_research::IsEmptyRange32 ( const uint32_t *const  bitset,
uint32_t  start,
uint32_t  end 
)

◆ IsEmptyRange64()

bool operations_research::IsEmptyRange64 ( const uint64_t *const  bitset,
uint64_t  start,
uint64_t  end 
)

◆ IsEulerianGraph()

bool operations_research::IsEulerianGraph ( const Graph &  graph)

Definition at line 40 of file eulerian_path.h.

◆ IsIncreasing()

bool operations_research::IsIncreasing ( const std::vector< T > &  values)

Definition at line 2926 of file constraint_solveri.h.

◆ IsIncreasingContiguous()

bool operations_research::IsIncreasingContiguous ( const std::vector< T > &  values)

Definition at line 2916 of file constraint_solveri.h.

◆ IsIntegerWithinTolerance()

bool operations_research::IsIntegerWithinTolerance ( FloatType  x,
FloatType  tolerance 
)
inline

Definition at line 165 of file fp_utils.h.

◆ IsPositiveOrNegativeInfinity()

bool operations_research::IsPositiveOrNegativeInfinity ( FloatType  x)
inline

Definition at line 111 of file fp_utils.h.

◆ IsSemiEulerianGraph()

bool operations_research::IsSemiEulerianGraph ( const Graph &  graph,
std::vector< NodeIndex > *  odd_nodes 
)

Definition at line 55 of file eulerian_path.h.

◆ IsSmallerWithinTolerance()

bool operations_research::IsSmallerWithinTolerance ( FloatType  x,
FloatType  y,
FloatType  tolerance 
)

Definition at line 157 of file fp_utils.h.

◆ JoinDebugString()

std::string operations_research::JoinDebugString ( const std::vector< T > &  v,
const std::string &  separator 
)

Definition at line 38 of file string_array.h.

◆ JoinDebugStringPtr()

std::string operations_research::JoinDebugStringPtr ( const std::vector< T > &  v,
const std::string &  separator 
)

Definition at line 45 of file string_array.h.

◆ JoinNameFieldPtr()

std::string operations_research::JoinNameFieldPtr ( const std::vector< T > &  v,
const std::string &  separator 
)

Definition at line 58 of file string_array.h.

◆ JoinNamePtr()

std::string operations_research::JoinNamePtr ( const std::vector< T > &  v,
const std::string &  separator 
)

Definition at line 52 of file string_array.h.

◆ LeastSignificantBitPosition32() [1/2]

int operations_research::LeastSignificantBitPosition32 ( const uint32_t *const  bitset,
uint32_t  start,
uint32_t  end 
)

◆ LeastSignificantBitPosition32() [2/2]

int operations_research::LeastSignificantBitPosition32 ( uint32_t  n)
inline

Definition at line 182 of file bitset.h.

◆ LeastSignificantBitPosition32DeBruijn()

int operations_research::LeastSignificantBitPosition32DeBruijn ( uint32_t  n)
inline

Definition at line 144 of file bitset.h.

◆ LeastSignificantBitPosition32Default()

int operations_research::LeastSignificantBitPosition32Default ( uint32_t  n)
inline

Definition at line 153 of file bitset.h.

◆ LeastSignificantBitPosition64() [1/2]

int64_t operations_research::LeastSignificantBitPosition64 ( const uint64_t *const  bitset,
uint64_t  start,
uint64_t  end 
)

◆ LeastSignificantBitPosition64() [2/2]

int operations_research::LeastSignificantBitPosition64 ( uint64_t  n)
inline

Definition at line 127 of file bitset.h.

◆ LeastSignificantBitPosition64DeBruijn()

int operations_research::LeastSignificantBitPosition64DeBruijn ( uint64_t  n)
inline

Definition at line 81 of file bitset.h.

◆ LeastSignificantBitPosition64Default()

int operations_research::LeastSignificantBitPosition64Default ( uint64_t  n)
inline

Definition at line 93 of file bitset.h.

◆ LeastSignificantBitWord32()

uint32_t operations_research::LeastSignificantBitWord32 ( uint32_t  n)
inline

Definition at line 64 of file bitset.h.

◆ LeastSignificantBitWord64()

uint64_t operations_research::LeastSignificantBitWord64 ( uint64_t  n)
inline

Definition at line 63 of file bitset.h.

◆ LegacyScipSetSolverSpecificParameters()

absl::Status LegacyScipSetSolverSpecificParameters ( const std::string &  parameters,
SCIP *  scip 
)

Definition at line 32 of file legacy_scip_params.cc.

◆ LinearConstraintIsViolated()

bool operations_research::LinearConstraintIsViolated ( const ScipConstraintHandlerContext context,
const LinearRange constraint 
)

Definition at line 96 of file scip_callback.cc.

◆ LinkVarExpr()

void LinkVarExpr ( Solver *const  s,
IntExpr *const  expr,
IntVar *const  var 
)

Definition at line 7429 of file expressions.cc.

◆ LoadGurobiDynamicLibrary()

absl::Status LoadGurobiDynamicLibrary ( std::vector< std::string >  potential_paths)

Definition at line 717 of file environment.cc.

◆ LoadGurobiFunctions()

void operations_research::LoadGurobiFunctions ( DynamicLibrary gurobi_dynamic_library)

Definition at line 439 of file environment.cc.

◆ LocalOptimumReached()

bool LocalOptimumReached ( Search *const  search)

Definition at line 1348 of file constraint_solver.cc.

◆ MakeAllUnperformed()

DecisionBuilder * MakeAllUnperformed ( RoutingModel model)

Definition at line 4380 of file routing_search.cc.

◆ MakeBareIntToIntFunction()

RangeIntToIntFunction * MakeBareIntToIntFunction ( std::function< int64_t(int64_t)>  f)

Definition at line 217 of file range_query_function.cc.

◆ MakeCachedIntToIntFunction()

RangeIntToIntFunction * MakeCachedIntToIntFunction ( const std::function< int64_t(int64_t)> &  f,
int64_t  domain_start,
int64_t  domain_end 
)

Definition at line 222 of file range_query_function.cc.

◆ MakeCachedRangeMinMaxIndexFunction()

RangeMinMaxIndexFunction * MakeCachedRangeMinMaxIndexFunction ( const std::function< int64_t(int64_t)> &  f,
int64_t  domain_start,
int64_t  domain_end 
)

Definition at line 228 of file range_query_function.cc.

◆ MakeConstraintDemon0()

Demon * operations_research::MakeConstraintDemon0 ( Solver *const  s,
T *const  ct,
void(T::*)()  method,
const std::string &  name 
)

Definition at line 519 of file constraint_solveri.h.

◆ MakeConstraintDemon1()

Demon * operations_research::MakeConstraintDemon1 ( Solver *const  s,
T *const  ct,
void(T::*)(P)  method,
const std::string &  name,
param1 
)

Definition at line 560 of file constraint_solveri.h.

◆ MakeConstraintDemon2()

Demon * operations_research::MakeConstraintDemon2 ( Solver *const  s,
T *const  ct,
void(T::*)(P, Q)  method,
const std::string &  name,
param1,
param2 
)

Definition at line 599 of file constraint_solveri.h.

◆ MakeConstraintDemon3()

Demon * operations_research::MakeConstraintDemon3 ( Solver *const  s,
T *const  ct,
void(T::*)(P, Q, R)  method,
const std::string &  name,
param1,
param2,
param3 
)

Definition at line 642 of file constraint_solveri.h.

◆ MakeCPFeasibilityFilter()

IntVarLocalSearchFilter * MakeCPFeasibilityFilter ( RoutingModel routing_model)

Returns a filter checking the current solution using CP propagation.

Definition at line 3047 of file routing_filters.cc.

◆ MakeCumulBoundsPropagatorFilter()

IntVarLocalSearchFilter * MakeCumulBoundsPropagatorFilter ( const RoutingDimension dimension)

Returns a filter handling dimension cumul bounds.

Definition at line 2587 of file routing_filters.cc.

◆ MakeDelayedConstraintDemon0()

Demon * operations_research::MakeDelayedConstraintDemon0 ( Solver *const  s,
T *const  ct,
void(T::*)()  method,
const std::string &  name 
)

Definition at line 682 of file constraint_solveri.h.

◆ MakeDelayedConstraintDemon1()

Demon * operations_research::MakeDelayedConstraintDemon1 ( Solver *const  s,
T *const  ct,
void(T::*)(P)  method,
const std::string &  name,
param1 
)

Definition at line 718 of file constraint_solveri.h.

◆ MakeDelayedConstraintDemon2()

Demon * operations_research::MakeDelayedConstraintDemon2 ( Solver *const  s,
T *const  ct,
void(T::*)(P, Q)  method,
const std::string &  name,
param1,
param2 
)

Definition at line 762 of file constraint_solveri.h.

◆ MakeGlobalLPCumulFilter()

IntVarLocalSearchFilter * MakeGlobalLPCumulFilter ( GlobalDimensionCumulOptimizer optimizer,
GlobalDimensionCumulOptimizer mp_optimizer,
bool  filter_objective_cost 
)

Returns a filter checking global linear constraints and costs.

Definition at line 2724 of file routing_filters.cc.

◆ MakeHamiltonianPathSolver()

HamiltonianPathSolver< CostType, CostFunction > operations_research::MakeHamiltonianPathSolver ( int  num_nodes,
CostFunction  cost 
)

Definition at line 600 of file hamiltonian_path.h.

◆ MakeLocalSearchOperator()

LocalSearchOperator * 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.

Definition at line 2286 of file local_search.cc.

◆ MakeMaxActiveVehiclesFilter()

IntVarLocalSearchFilter * MakeMaxActiveVehiclesFilter ( const RoutingModel routing_model)

Returns a filter ensuring that max active vehicles constraints are enforced.

Definition at line 124 of file routing_filters.cc.

◆ MakeNodeDisjunctionFilter()

IntVarLocalSearchFilter * MakeNodeDisjunctionFilter ( const RoutingModel routing_model,
bool  filter_cost 
)

Returns a filter ensuring that node disjunction constraints are enforced.

Definition at line 281 of file routing_filters.cc.

◆ MakePathCumulFilter()

IntVarLocalSearchFilter * MakePathCumulFilter ( const RoutingDimension dimension,
bool  propagate_own_objective_value,
bool  filter_objective_cost,
bool  can_use_lp 
)

Returns a filter handling dimension costs and constraints.

Definition at line 2054 of file routing_filters.cc.

◆ MakePathStateFilter()

LocalSearchFilter * MakePathStateFilter ( Solver solver,
std::unique_ptr< PathState path_state,
const std::vector< IntVar * > &  nexts 
)

Definition at line 3000 of file local_search.cc.

◆ MakePickupDeliveryFilter()

IntVarLocalSearchFilter * MakePickupDeliveryFilter ( const RoutingModel routing_model,
const RoutingModel::IndexPairs pairs,
const std::vector< RoutingModel::PickupAndDeliveryPolicy > &  vehicle_policies 
)

Returns a filter enforcing pickup and delivery constraints for the given pair of nodes and given policies.

Definition at line 2456 of file routing_filters.cc.

◆ MakeResourceAssignmentFilter()

LocalSearchFilter * MakeResourceAssignmentFilter ( LocalDimensionCumulOptimizer optimizer,
LocalDimensionCumulOptimizer mp_optimizer,
bool  propagate_own_objective_value,
bool  filter_objective_cost 
)

Returns a filter checking the feasibility and cost of the resource assignment.

Definition at line 2938 of file routing_filters.cc.

◆ MakeRestoreDimensionValuesForUnchangedRoutes()

DecisionBuilder * MakeRestoreDimensionValuesForUnchangedRoutes ( RoutingModel model)

Definition at line 3105 of file routing.cc.

◆ MakeSetValuesFromTargets()

DecisionBuilder * MakeSetValuesFromTargets ( Solver solver,
std::vector< IntVar * >  variables,
std::vector< int64_t >  targets 
)

A decision builder which tries to assign values to variables as close as possible to target values first.

Definition at line 170 of file routing.cc.

◆ MakeSweepDecisionBuilder()

DecisionBuilder * MakeSweepDecisionBuilder ( RoutingModel model,
bool  check_assignment 
)

Definition at line 4346 of file routing_search.cc.

◆ MakeTypeRegulationsFilter()

IntVarLocalSearchFilter * MakeTypeRegulationsFilter ( const RoutingModel routing_model)

Returns a filter ensuring type regulation constraints are enforced.

Definition at line 815 of file routing_filters.cc.

◆ MakeUnaryDimensionFilter()

LocalSearchFilter * MakeUnaryDimensionFilter ( Solver solver,
std::unique_ptr< UnaryDimensionChecker checker,
const std::string &  dimension_name 
)

Definition at line 3254 of file local_search.cc.

◆ MakeVehicleAmortizedCostFilter()

IntVarLocalSearchFilter * MakeVehicleAmortizedCostFilter ( const RoutingModel routing_model)

Returns a filter computing vehicle amortized costs.

Definition at line 666 of file routing_filters.cc.

◆ MakeVehicleBreaksFilter()

IntVarLocalSearchFilter * MakeVehicleBreaksFilter ( const RoutingModel routing_model,
const RoutingDimension dimension 
)

Definition at line 1080 of file routing_breaks.cc.

◆ MakeVehicleVarFilter()

IntVarLocalSearchFilter * MakeVehicleVarFilter ( const RoutingModel routing_model)

Returns a filter checking that vehicle variable domains are respected.

Definition at line 2529 of file routing_filters.cc.

◆ MaximizeLinearAssignment()

void MaximizeLinearAssignment ( const std::vector< std::vector< double > > &  cost,
absl::flat_hash_map< int, int > *  direct_assignment,
absl::flat_hash_map< int, int > *  reverse_assignment 
)

Definition at line 670 of file hungarian.cc.

◆ MaxVarArray()

int64_t operations_research::MaxVarArray ( const std::vector< IntVar * > &  vars)
inline

The std::max<int64_t> is needed for compilation on MSVC.

Definition at line 2982 of file constraint_solveri.h.

◆ MemoryUsage()

std::string MemoryUsage ( )

Definition at line 25 of file stats.cc.

◆ MergeMPConstraintProtoExceptTerms()

void MergeMPConstraintProtoExceptTerms ( const MPConstraintProto &  from,
MPConstraintProto *  to 
)

Definition at line 930 of file linear_solver/model_validator.cc.

◆ MinimizeLinearAssignment()

void MinimizeLinearAssignment ( const std::vector< std::vector< double > > &  cost,
absl::flat_hash_map< int, int > *  direct_assignment,
absl::flat_hash_map< int, int > *  reverse_assignment 
)

Definition at line 652 of file hungarian.cc.

◆ MinVarArray()

int64_t operations_research::MinVarArray ( const std::vector< IntVar * > &  vars)
inline

The std::min<int64_t> is needed for compilation on MSVC.

Definition at line 2992 of file constraint_solveri.h.

◆ mix() [1/2]

static void operations_research::mix ( uint32_t &  a,
uint32_t &  b,
uint32_t &  c 
)
inlinestatic

Definition at line 28 of file hash.h.

◆ mix() [2/2]

static void operations_research::mix ( uint64_t &  a,
uint64_t &  b,
uint64_t &  c 
)
inlinestatic

Definition at line 59 of file hash.h.

◆ MixTwoUInt64()

uint64_t operations_research::MixTwoUInt64 ( uint64_t  fp1,
uint64_t  fp2 
)
inline

Definition at line 20 of file thorough_hash.h.

◆ ModelProtoFromLpFormat()

absl::StatusOr< MPModelProto > ModelProtoFromLpFormat ( absl::string_view  model)

Definition at line 450 of file lp_parser.cc.

◆ MostSignificantBitPosition32() [1/2]

int operations_research::MostSignificantBitPosition32 ( const uint32_t *const  bitset,
uint32_t  start,
uint32_t  end 
)

◆ MostSignificantBitPosition32() [2/2]

int operations_research::MostSignificantBitPosition32 ( uint32_t  n)
inline

Definition at line 273 of file bitset.h.

◆ MostSignificantBitPosition32Default()

int operations_research::MostSignificantBitPosition32Default ( uint32_t  n)
inline

Definition at line 249 of file bitset.h.

◆ MostSignificantBitPosition64() [1/2]

int64_t operations_research::MostSignificantBitPosition64 ( const uint64_t *const  bitset,
uint64_t  start,
uint64_t  end 
)

◆ MostSignificantBitPosition64() [2/2]

int operations_research::MostSignificantBitPosition64 ( uint64_t  n)
inline

Definition at line 231 of file bitset.h.

◆ MostSignificantBitPosition64Default()

int operations_research::MostSignificantBitPosition64Default ( uint64_t  n)
inline

Definition at line 203 of file bitset.h.

◆ MoveUpToDepth()

const KnapsackSearchNodeForCuts * MoveUpToDepth ( const KnapsackSearchNodeForCuts node,
int  depth 
)

Definition at line 95 of file knapsack_solver_for_cuts.cc.

◆ MPSolverResponseStatusIsRpcError()

bool MPSolverResponseStatusIsRpcError ( MPSolverResponseStatus  status)

Definition at line 1770 of file linear_solver.cc.

◆ MPSolverToGlopConstraintStatus()

glop::ConstraintStatus MPSolverToGlopConstraintStatus ( MPSolver::BasisStatus  s)

Definition at line 108 of file glop_utils.cc.

◆ MPSolverToGlopVariableStatus()

glop::VariableStatus MPSolverToGlopVariableStatus ( MPSolver::BasisStatus  s)

Definition at line 74 of file glop_utils.cc.

◆ NearestNeighbors()

std::set< std::pair< int, int > > operations_research::NearestNeighbors ( int  number_of_nodes,
int  number_of_neighbors,
const CostFunction &  cost 
)

Definition at line 263 of file one_tree_lower_bound.h.

◆ One()

int64_t operations_research::One ( )
inline

This method returns 1.

Definition at line 3164 of file constraint_solver.h.

◆ OneBit32()

uint32_t operations_research::OneBit32 ( int  pos)
inline

Definition at line 39 of file bitset.h.

◆ OneBit64()

uint64_t operations_research::OneBit64 ( int  pos)
inline

Definition at line 38 of file bitset.h.

◆ OneRange32()

uint32_t operations_research::OneRange32 ( uint32_t  s,
uint32_t  e 
)
inline

Definition at line 292 of file bitset.h.

◆ OneRange64()

uint64_t operations_research::OneRange64 ( uint64_t  s,
uint64_t  e 
)
inline

Definition at line 285 of file bitset.h.

◆ operator*() [1/2]

LinearExpr operator* ( double  lhs,
LinearExpr  rhs 
)

Definition at line 162 of file linear_expr.cc.

◆ operator*() [2/2]

LinearExpr operator* ( LinearExpr  lhs,
double  rhs 
)

Definition at line 154 of file linear_expr.cc.

◆ operator+()

LinearExpr operator+ ( LinearExpr  lhs,
const LinearExpr rhs 
)

Definition at line 146 of file linear_expr.cc.

◆ operator-()

LinearExpr operator- ( LinearExpr  lhs,
const LinearExpr rhs 
)

Definition at line 150 of file linear_expr.cc.

◆ operator/()

LinearExpr operator/ ( LinearExpr  lhs,
double  rhs 
)

Definition at line 158 of file linear_expr.cc.

◆ operator<<() [1/11]

std::ostream & operations_research::operator<< ( std::ostream &  os,
MPSolver::OptimizationProblemType  optimization_problem_type 
)
inline

Definition at line 943 of file linear_solver.h.

◆ operator<<() [2/11]

std::ostream & operations_research::operator<< ( std::ostream &  os,
MPSolver::ResultStatus  status 
)
inline

Definition at line 949 of file linear_solver.h.

◆ operator<<() [3/11]

std::ostream & operations_research::operator<< ( std::ostream &  os,
StrongIndex< StrongIndexName >  arg 
)

Definition at line 253 of file strong_integers.h.

◆ operator<<() [4/11]

std::ostream & operations_research::operator<< ( std::ostream &  os,
StrongInt64< StrongIntegerName >  arg 
)

Definition at line 259 of file strong_integers.h.

◆ operator<<() [5/11]

std::ostream & operator<< ( std::ostream &  out,
const Assignment assignment 
)

Definition at line 1094 of file constraint_solver/assignment.cc.

◆ operator<<() [6/11]

std::ostream & operator<< ( std::ostream &  out,
const BaseObject *const  o 
)

Definition at line 2504 of file constraint_solver.cc.

◆ operator<<() [7/11]

std::ostream & operator<< ( std::ostream &  out,
const ClosedInterval interval 
)

Definition at line 107 of file sorted_interval_list.cc.

◆ operator<<() [8/11]

std::ostream & operator<< ( std::ostream &  out,
const Domain domain 
)

Definition at line 116 of file sorted_interval_list.cc.

◆ operator<<() [9/11]

std::ostream & operator<< ( std::ostream &  out,
const Solver *const  s 
)

Definition at line 2499 of file constraint_solver.cc.

◆ operator<<() [10/11]

std::ostream & operator<< ( std::ostream &  out,
const std::vector< ClosedInterval > &  intervals 
)

Definition at line 111 of file sorted_interval_list.cc.

◆ operator<<() [11/11]

std::ostream & operator<< ( std::ostream &  stream,
const LinearExpr linear_expr 
)

Definition at line 141 of file linear_expr.cc.

◆ operator<=()

LinearRange operator<= ( const LinearExpr lhs,
const LinearExpr rhs 
)

Definition at line 177 of file linear_expr.cc.

◆ operator==()

LinearRange operator== ( const LinearExpr lhs,
const LinearExpr rhs 
)

Definition at line 180 of file linear_expr.cc.

◆ operator>=()

LinearRange operator>= ( const LinearExpr lhs,
const LinearExpr rhs 
)

Definition at line 183 of file linear_expr.cc.

◆ OrToolsMajorVersion()

int OrToolsMajorVersion ( )

Definition at line 20 of file version.cc.

◆ OrToolsMinorVersion()

int OrToolsMinorVersion ( )

Definition at line 22 of file version.cc.

◆ OrToolsPatchVersion()

int OrToolsPatchVersion ( )

Definition at line 24 of file version.cc.

◆ OrToolsVersionString()

std::string OrToolsVersionString ( )

Definition at line 26 of file version.cc.

◆ ParameterDebugString() [1/2]

std::string operations_research::ParameterDebugString ( P *  param)

Support limited to pointers to classes which define DebugString().

Definition at line 531 of file constraint_solveri.h.

◆ ParameterDebugString() [2/2]

std::string operations_research::ParameterDebugString ( param)

Definition at line 525 of file constraint_solveri.h.

◆ PdlpSolveProto()

absl::StatusOr< MPSolutionResponse > PdlpSolveProto ( const MPModelRequest &  request,
const bool  relax_integer_variables,
const std::atomic< bool > *  interrupt_solve 
)

Definition at line 36 of file pdlp_proto_solver.cc.

◆ PortableDeleteFile()

absl::Status PortableDeleteFile ( absl::string_view  file_name)

Definition at line 74 of file port/file.cc.

◆ PortableFileGetContents()

absl::Status PortableFileGetContents ( absl::string_view  file_name,
std::string *  output 
)

Definition at line 41 of file port/file.cc.

◆ PortableFileSetContents()

absl::Status PortableFileSetContents ( absl::string_view  file_name,
absl::string_view  content 
)

Definition at line 31 of file port/file.cc.

◆ PortableTemporaryFile()

bool PortableTemporaryFile ( const char *  directory_prefix,
std::string *  filename_out 
)

Definition at line 51 of file port/file.cc.

◆ PosIntDivDown()

int64_t operations_research::PosIntDivDown ( int64_t  e,
int64_t  v 
)
inline

Definition at line 3016 of file constraint_solveri.h.

◆ PosIntDivUp()

int64_t operations_research::PosIntDivUp ( int64_t  e,
int64_t  v 
)
inline

Definition at line 3011 of file constraint_solveri.h.

◆ ProbablyRunningInsideUnitTest()

bool operations_research::ProbablyRunningInsideUnitTest ( )
inline

Definition at line 19 of file testing_utils.h.

◆ ProtobufDebugString()

std::string operations_research::ProtobufDebugString ( const P &  message)

Definition at line 29 of file port/proto_utils.h.

◆ ProtobufShortDebugString()

std::string operations_research::ProtobufShortDebugString ( const P &  message)

Definition at line 38 of file port/proto_utils.h.

◆ ProtobufTextFormatMergeFromString()

bool operations_research::ProtobufTextFormatMergeFromString ( const std::string &  proto_text_string,
ProtoType *  proto 
)

Definition at line 63 of file port/proto_utils.h.

◆ ProtoEnumToString()

std::string operations_research::ProtoEnumToString ( ProtoEnumType  enum_value)

Definition at line 47 of file port/proto_utils.h.

◆ RationalApproximation()

Fraction RationalApproximation ( const double  x,
const double  precision 
)

Definition at line 26 of file rational_approximation.cc.

◆ ReadAllRecordsOrDie() [1/2]

std::vector< Proto > operations_research::ReadAllRecordsOrDie ( absl::string_view  filename)

Definition at line 104 of file file_util.h.

◆ ReadAllRecordsOrDie() [2/2]

std::vector< Proto > operations_research::ReadAllRecordsOrDie ( File file)

Definition at line 108 of file file_util.h.

◆ ReadFileToProto()

bool ReadFileToProto ( absl::string_view  filename,
google::protobuf::Message *  proto 
)

Definition at line 45 of file file_util.cc.

◆ ReadFileToProtoOrDie()

Proto operations_research::ReadFileToProtoOrDie ( absl::string_view  filename)

Definition at line 41 of file file_util.h.

◆ ReadFileToString()

absl::StatusOr< std::string > ReadFileToString ( absl::string_view  filename)

Definition at line 34 of file file_util.cc.

◆ ReadOneRecordOrDie()

Proto operations_research::ReadOneRecordOrDie ( absl::string_view  filename)

Definition at line 116 of file file_util.h.

◆ RealDebugString()

void operations_research::RealDebugString ( const Container &  container,
std::string *const  out 
)

Definition at line 617 of file constraint_solver/assignment.cc.

◆ RealLoad()

void operations_research::RealLoad ( const AssignmentProto &  assignment_proto,
Container *const  container,
int(AssignmentProto::*)() const  GetSize,
const Proto &(AssignmentProto::*)(int) const  GetElem 
)

Definition at line 506 of file constraint_solver/assignment.cc.

◆ RealSave()

void operations_research::RealSave ( AssignmentProto *const  assignment_proto,
const Container &  container,
Proto *(AssignmentProto::*)()  Add 
)

Definition at line 578 of file constraint_solver/assignment.cc.

◆ RegisterConstraintHandler() [1/2]

void operations_research::RegisterConstraintHandler ( ScipConstraintHandler< Constraint > *  handler,
SCIP *  scip 
)

◆ RegisterConstraintHandler() [2/2]

void operations_research::RegisterConstraintHandler ( ScipConstraintHandler< ConstraintData > *  handler,
SCIP *  scip 
)

Definition at line 256 of file scip_callback.h.

◆ RegisterDemon()

void operations_research::RegisterDemon ( Solver *const  solver,
Demon *const  demon,
DemonProfiler *const  monitor 
)

Definition at line 463 of file demon_profiler.cc.

◆ RestoreBoolValue()

void RestoreBoolValue ( IntVar *const  var)

Definition at line 6380 of file expressions.cc.

◆ ReturnCodeString()

std::string ReturnCodeString ( const int  rc)

Definition at line 65 of file glpk_formatters.cc.

◆ RunSeparation()

ScipSeparationResult operations_research::RunSeparation ( internal::ScipCallbackRunner runner,
const ScipConstraintHandlerContext context,
absl::Span< SCIP_CONS * >  constraints,
bool  is_integral 
)

Definition at line 113 of file scip_callback.cc.

◆ RunWorker()

void operations_research::RunWorker ( void *  data)

Definition at line 19 of file threadpool.cc.

◆ SafeAddInto()

bool operations_research::SafeAddInto ( IntegerType  a,
IntegerType *  b 
)

Definition at line 89 of file saturated_arithmetic.h.

◆ SafeProtoConstDownCast()

absl::StatusOr< const Proto * > SafeProtoConstDownCast ( const google::protobuf::Message *  proto)

Definition at line 59 of file proto_tools.h.

◆ SafeProtoDownCast()

absl::StatusOr< Proto * > SafeProtoDownCast ( google::protobuf::Message *  proto)

Definition at line 46 of file proto_tools.h.

◆ SatSolveProto()

absl::StatusOr< MPSolutionResponse > SatSolveProto ( MPModelRequest  request,
std::atomic< bool > *  interrupt_solve,
std::function< void(const std::string &)>  logging_callback,
std::function< void(const MPSolution &)>  solution_callback 
)

Definition at line 111 of file sat_proto_solver.cc.

◆ ScipSolveProto()

absl::StatusOr< MPSolutionResponse > ScipSolveProto ( const MPModelRequest &  request)

Definition at line 660 of file scip_proto_solver.cc.

◆ SetAssignmentFromAssignment()

void SetAssignmentFromAssignment ( Assignment target_assignment,
const std::vector< IntVar * > &  target_vars,
const Assignment source_assignment,
const std::vector< IntVar * > &  source_vars 
)

NOLINT.

Given a "source_assignment", clears the "target_assignment" and adds all IntVars in "target_vars", with the values of the variables set according to the corresponding values of "source_vars" in "source_assignment". source_vars and target_vars must have the same number of elements. The source and target assignments can belong to different Solvers.

Definition at line 1021 of file constraint_solver/assignment.cc.

◆ SetBit32()

void operations_research::SetBit32 ( uint32_t *const  bitset,
uint32_t  pos 
)
inline

Definition at line 357 of file bitset.h.

◆ SetBit64()

void operations_research::SetBit64 ( uint64_t *const  bitset,
uint64_t  pos 
)
inline

Definition at line 354 of file bitset.h.

◆ SetFirstSolutionStrategyFromFlags()

void operations_research::SetFirstSolutionStrategyFromFlags ( RoutingSearchParameters *  parameters)

Definition at line 138 of file routing_flags.cc.

◆ SetIsEqual()

Constraint * operations_research::SetIsEqual ( IntVar *const  var,
const std::vector< int64_t > &  values,
const std::vector< IntVar * > &  vars 
)

Definition at line 6365 of file expressions.cc.

◆ SetIsGreaterOrEqual()

Constraint * operations_research::SetIsGreaterOrEqual ( IntVar *const  var,
const std::vector< int64_t > &  values,
const std::vector< IntVar * > &  vars 
)

Definition at line 6372 of file expressions.cc.

◆ SetLocalSearchMetaheuristicFromFlags()

void operations_research::SetLocalSearchMetaheuristicFromFlags ( RoutingSearchParameters *  parameters)

Definition at line 182 of file routing_flags.cc.

◆ SetMiscellaneousParametersFromFlags()

void operations_research::SetMiscellaneousParametersFromFlags ( RoutingSearchParameters *  parameters)

Definition at line 305 of file routing_flags.cc.

◆ SetSearchLimitsFromFlags()

void operations_research::SetSearchLimitsFromFlags ( RoutingSearchParameters *  parameters)

Definition at line 281 of file routing_flags.cc.

◆ SetSolverSpecificParameters()

absl::Status SetSolverSpecificParameters ( const std::string &  parameters,
GRBenv gurobi 
)

Definition at line 224 of file gurobi_proto_solver.cc.

◆ SetupGlpkEnvAutomaticDeletion()

void SetupGlpkEnvAutomaticDeletion ( )

Definition at line 35 of file glpk_env_deleter.cc.

◆ SolutionStatusString()

std::string SolutionStatusString ( const int  status)

Definition at line 29 of file glpk_formatters.cc.

◆ SolveModelWithSat()

bool SolveModelWithSat ( const RoutingModel model,
const RoutingSearchParameters &  search_parameters,
const Assignment initial_solution,
Assignment solution 
)

Attempts to solve the model using the cp-sat solver.

As of 5/2019, will solve the TSP corresponding to the model if it has a single vehicle. Therefore the resulting solution might not actually be feasible. Will return false if a solution could not be found.

Definition at line 1055 of file routing_sat.cc.

◆ SolverTypeIsMip() [1/2]

bool SolverTypeIsMip ( MPModelRequest::SolverType  solver_type)

Definition at line 71 of file linear_solver.cc.

◆ SolverTypeIsMip() [2/2]

bool operations_research::SolverTypeIsMip ( MPSolver::OptimizationProblemType  solver_type)
inline

Definition at line 936 of file linear_solver.h.

◆ StableDijkstraShortestPath()

bool StableDijkstraShortestPath ( int  node_count,
int  start_node,
int  end_node,
std::function< int64_t(int, int)>  graph,
int64_t  disconnected_distance,
std::vector< int > *  nodes 
)

Definition at line 160 of file dijkstra.cc.

◆ STRONG_TYPE_ARITHMETIC_OP() [1/11]

operations_research::STRONG_TYPE_ARITHMETIC_OP ( StrongIndex  ,
int  ,
 
)

◆ STRONG_TYPE_ARITHMETIC_OP() [2/11]

operations_research::STRONG_TYPE_ARITHMETIC_OP ( StrongIndex  ,
int  ,
 
)

◆ STRONG_TYPE_ARITHMETIC_OP() [3/11]

operations_research::STRONG_TYPE_ARITHMETIC_OP ( StrongIndex  ,
int  ,
 
)

◆ STRONG_TYPE_ARITHMETIC_OP() [4/11]

operations_research::STRONG_TYPE_ARITHMETIC_OP ( StrongIndex  ,
int  ,
 
)

◆ STRONG_TYPE_ARITHMETIC_OP() [5/11]

operations_research::STRONG_TYPE_ARITHMETIC_OP ( StrongInt64  ,
int64_t  ,
 
)

◆ STRONG_TYPE_ARITHMETIC_OP() [6/11]

operations_research::STRONG_TYPE_ARITHMETIC_OP ( StrongInt64  ,
int64_t  ,
 
)

◆ STRONG_TYPE_ARITHMETIC_OP() [7/11]

operations_research::STRONG_TYPE_ARITHMETIC_OP ( StrongInt64  ,
int64_t  ,
 
)

◆ STRONG_TYPE_ARITHMETIC_OP() [8/11]

operations_research::STRONG_TYPE_ARITHMETIC_OP ( StrongInt64  ,
int64_t   
)

◆ STRONG_TYPE_ARITHMETIC_OP() [9/11]

operations_research::STRONG_TYPE_ARITHMETIC_OP ( StrongInt64  ,
int64_t  ,
 
)

◆ STRONG_TYPE_ARITHMETIC_OP() [10/11]

operations_research::STRONG_TYPE_ARITHMETIC_OP ( StrongInt64  ,
int64_t  ,
 
)

◆ STRONG_TYPE_ARITHMETIC_OP() [11/11]

operations_research::STRONG_TYPE_ARITHMETIC_OP ( StrongInt64  ,
int64_t  ,
<<   
)

◆ STRONG_TYPE_COMPARISON_OP() [1/8]

operations_research::STRONG_TYPE_COMPARISON_OP ( StrongIndex  ,
int  ,
 
)

◆ STRONG_TYPE_COMPARISON_OP() [2/8]

operations_research::STRONG_TYPE_COMPARISON_OP ( StrongIndex  ,
int  ,
>=   
)

◆ STRONG_TYPE_COMPARISON_OP() [3/8]

operations_research::STRONG_TYPE_COMPARISON_OP ( StrongIndex  ,
int  ,
<=   
)

◆ STRONG_TYPE_COMPARISON_OP() [4/8]

STRONG_TYPE_COMPARISON_OP ( StrongIndex  ,
int   
)

◆ STRONG_TYPE_COMPARISON_OP() [5/8]

operations_research::STRONG_TYPE_COMPARISON_OP ( StrongInt64  ,
int64_t  ,
 
)

◆ STRONG_TYPE_COMPARISON_OP() [6/8]

operations_research::STRONG_TYPE_COMPARISON_OP ( StrongInt64  ,
int64_t  ,
>=   
)

◆ STRONG_TYPE_COMPARISON_OP() [7/8]

operations_research::STRONG_TYPE_COMPARISON_OP ( StrongInt64  ,
int64_t  ,
<=   
)

◆ STRONG_TYPE_COMPARISON_OP() [8/8]

STRONG_TYPE_COMPARISON_OP ( StrongInt64  ,
int64_t   
)

◆ SubHadOverflow()

bool operations_research::SubHadOverflow ( int64_t  x,
int64_t  y,
int64_t  diff 
)
inline

Definition at line 63 of file saturated_arithmetic.h.

◆ SubOverflows()

int64_t operations_research::SubOverflows ( int64_t  x,
int64_t  y 
)
inline

Definition at line 82 of file saturated_arithmetic.h.

◆ SumOfKMaxValueInDomain()

int64_t SumOfKMaxValueInDomain ( const Domain domain,
int  k 
)

Definition at line 646 of file sorted_interval_list.cc.

◆ SumOfKMinValueInDomain()

int64_t SumOfKMinValueInDomain ( const Domain domain,
int  k 
)

Definition at line 632 of file sorted_interval_list.cc.

◆ TEST() [1/6]

operations_research::TEST ( LinearAssignmentTest  ,
InvalidMatrix   
)

Definition at line 83 of file hungarian_test.cc.

◆ TEST() [2/6]

operations_research::TEST ( LinearAssignmentTest  ,
NullMatrix   
)

Definition at line 74 of file hungarian_test.cc.

◆ TEST() [3/6]

operations_research::TEST ( LinearAssignmentTest  ,
SizeOneMatrix   
)

Definition at line 114 of file hungarian_test.cc.

◆ TEST() [4/6]

operations_research::TEST ( LinearAssignmentTest  ,
Small3x4Matrix   
)

Definition at line 142 of file hungarian_test.cc.

◆ TEST() [5/6]

operations_research::TEST ( LinearAssignmentTest  ,
Small4x3Matrix   
)

Definition at line 155 of file hungarian_test.cc.

◆ TEST() [6/6]

operations_research::TEST ( LinearAssignmentTest  ,
Small4x4Matrix   
)

Definition at line 127 of file hungarian_test.cc.

◆ TestMaximization()

void operations_research::TestMaximization ( const std::vector< std::vector< double > > &  cost,
const int  expected_assignment_size,
const int  expected_agents[],
const int  expected_tasks[] 
)

Definition at line 61 of file hungarian_test.cc.

◆ TestMinimization()

void operations_research::TestMinimization ( const std::vector< std::vector< double > > &  cost,
const int  expected_assignment_size,
const int  expected_agents[],
const int  expected_tasks[] 
)

Definition at line 50 of file hungarian_test.cc.

◆ ThoroughHash()

uint64_t operations_research::ThoroughHash ( const char *  bytes,
size_t  len 
)
inline

Definition at line 33 of file thorough_hash.h.

◆ ToInt64Vector()

std::vector< int64_t > ToInt64Vector ( const std::vector< int > &  input)

Definition at line 828 of file utilities.cc.

◆ ToString() [1/2]

std::string ToString ( MPCallbackEvent  event)

Definition at line 20 of file linear_solver_callback.cc.

◆ ToString() [2/2]

const absl::string_view ToString ( MPSolver::OptimizationProblemType  optimization_problem_type)

Definition at line 581 of file linear_solver.cc.

◆ TruncateAndQuoteGLPKName()

std::string TruncateAndQuoteGLPKName ( const std::string_view  original_name)

Definition at line 110 of file glpk_formatters.cc.

◆ TwoBitsFromPos64()

uint64_t operations_research::TwoBitsFromPos64 ( uint64_t  pos)
inline

Definition at line 404 of file bitset.h.

◆ TwosComplementAddition()

int64_t operations_research::TwosComplementAddition ( int64_t  x,
int64_t  y 
)
inline

Definition at line 38 of file saturated_arithmetic.h.

◆ TwosComplementSubtraction()

int64_t operations_research::TwosComplementSubtraction ( int64_t  x,
int64_t  y 
)
inline

Definition at line 45 of file saturated_arithmetic.h.

◆ UnsafeLeastSignificantBitPosition32()

int32_t operations_research::UnsafeLeastSignificantBitPosition32 ( const uint32_t *const  bitset,
uint32_t  start,
uint32_t  end 
)

◆ UnsafeLeastSignificantBitPosition64()

int64_t operations_research::UnsafeLeastSignificantBitPosition64 ( const uint64_t *const  bitset,
uint64_t  start,
uint64_t  end 
)

◆ UnsafeMostSignificantBitPosition32()

int32_t operations_research::UnsafeMostSignificantBitPosition32 ( const uint32_t *const  bitset,
uint32_t  start,
uint32_t  end 
)

◆ UnsafeMostSignificantBitPosition64()

int64_t operations_research::UnsafeMostSignificantBitPosition64 ( const uint64_t *const  bitset,
uint64_t  start,
uint64_t  end 
)

◆ WriteProtoToFile()

bool WriteProtoToFile ( absl::string_view  filename,
const google::protobuf::Message &  proto,
ProtoWriteFormat  proto_write_format,
bool  gzipped,
bool  append_extension_to_file_name 
)

Definition at line 106 of file file_util.cc.

◆ WriteRecordsOrDie()

void operations_research::WriteRecordsOrDie ( absl::string_view  filename,
const std::vector< Proto > &  protos 
)

Definition at line 125 of file file_util.h.

◆ Zero()

int64_t operations_research::Zero ( )
inline

NOLINT.

This method returns 0. It is useful when 0 can be cast either as a pointer or as an integer value and thus lead to an ambiguous function call.

Definition at line 3161 of file constraint_solver.h.

Variable Documentation

◆ GRBaddcone

std::function< int(GRBmodel *model, int nummembers, int *members)> GRBaddcone
Initial value:
=
nullptr

Definition at line 314 of file environment.cc.

◆ GRBaddconstr

std::function< int(GRBmodel *model, int numnz, int *cind, double *cval, char sense, double rhs, const char *constrname)> GRBaddconstr = nullptr

Definition at line 269 of file environment.cc.

◆ GRBaddconstrs

std::function< int(GRBmodel *model, int numconstrs, int numnz, int *cbeg, int *cind, double *cval, char *sense, double *rhs, char **constrnames)> GRBaddconstrs = nullptr

Definition at line 273 of file environment.cc.

◆ GRBaddgenconstrAbs

std::function< int(GRBmodel *model, const char *name, int resvar, int argvar)> GRBaddgenconstrAbs = nullptr

Definition at line 299 of file environment.cc.

◆ GRBaddgenconstrAnd

std::function< int(GRBmodel *model, const char *name, int resvar, int nvars, const int *vars)> GRBaddgenconstrAnd = nullptr

Definition at line 302 of file environment.cc.

◆ GRBaddgenconstrIndicator

std::function< int(GRBmodel *lp, const char *name, int binvar, int binval, int nvars, const int *vars, const double *vals, char sense, double rhs)> GRBaddgenconstrIndicator = nullptr

Definition at line 309 of file environment.cc.

◆ GRBaddgenconstrMax

std::function< int(GRBmodel *model, const char *name, int resvar, int nvars, const int *vars, double constant)> GRBaddgenconstrMax = nullptr

Definition at line 294 of file environment.cc.

◆ GRBaddgenconstrMin

std::function< int(GRBmodel *model, const char *name, int resvar, int nvars, const int *vars, double constant)> GRBaddgenconstrMin = nullptr

Definition at line 297 of file environment.cc.

◆ GRBaddgenconstrOr

std::function< int(GRBmodel *model, const char *name, int resvar, int nvars, const int *vars)> GRBaddgenconstrOr = nullptr

Definition at line 305 of file environment.cc.

◆ GRBaddqconstr

std::function< int(GRBmodel *model, int numlnz, int *lind, double *lval, int numqnz, int *qrow, int *qcol, double *qval, char sense, double rhs, const char *QCname)> GRBaddqconstr = nullptr

Definition at line 313 of file environment.cc.

◆ GRBaddqpterms

std::function< int(GRBmodel *model, int numqnz, int *qrow, int *qcol, double *qval)> GRBaddqpterms = nullptr

Definition at line 318 of file environment.cc.

◆ GRBaddrangeconstr

std::function< int(GRBmodel *model, int numnz, int *cind, double *cval, double lower, double upper, const char *constrname)> GRBaddrangeconstr = nullptr

Definition at line 280 of file environment.cc.

◆ GRBaddrangeconstrs

std::function< int(GRBmodel *model, int numconstrs, int numnz, int *cbeg, int *cind, double *cval, double *lower, double *upper, char **constrnames)> GRBaddrangeconstrs = nullptr

Definition at line 284 of file environment.cc.

◆ GRBaddsos

std::function< int(GRBmodel *model, int numsos, int nummembers, int *types, int *beg, int *ind, double *weight)> GRBaddsos = nullptr

Definition at line 291 of file environment.cc.

◆ GRBaddvar

std::function< int(GRBmodel *model, int numnz, int *vind, double *vval, double obj, double lb, double ub, char vtype, const char *varname)> GRBaddvar = nullptr

Definition at line 258 of file environment.cc.

◆ GRBaddvars

std::function< int(GRBmodel *model, int numvars, int numnz, int *vbeg, int *vind, double *vval, double *obj, double *lb, double *ub, char *vtype, char **varnames)> GRBaddvars = nullptr

Definition at line 262 of file environment.cc.

◆ GRBBinvColj

std::function< int(GRBmodel *model, int j, GRBsvec *x)> GRBBinvColj = nullptr

Definition at line 338 of file environment.cc.

◆ GRBBinvi

std::function< int(GRBmodel *model, int i, GRBsvec *x)> GRBBinvi = nullptr

Definition at line 341 of file environment.cc.

◆ GRBBinvj

std::function< int(GRBmodel *model, int j, GRBsvec *x)> GRBBinvj = nullptr

Definition at line 339 of file environment.cc.

◆ GRBBinvRowi

std::function< int(GRBmodel *model, int i, GRBsvec *x)> GRBBinvRowi = nullptr

Definition at line 342 of file environment.cc.

◆ GRBBSolve

std::function< int(GRBmodel *model, GRBsvec *b, GRBsvec *x)> GRBBSolve = nullptr

Definition at line 340 of file environment.cc.

◆ GRBcbcut

std::function< int(void *cbdata, int cutlen, const int *cutind, const double *cutval, char cutsense, double cutrhs)> GRBcbcut = nullptr

Definition at line 155 of file environment.cc.

◆ GRBcbget

std::function< int(void *cbdata, int where, int what, void *resultP)> GRBcbget
Initial value:
=
nullptr

Definition at line 147 of file environment.cc.

◆ GRBcblazy

std::function< int(void *cbdata, int lazylen, const int *lazyind, const double *lazyval, char lazysense, double lazyrhs)> GRBcblazy = nullptr

Definition at line 158 of file environment.cc.

◆ GRBcbsetparam

std::function< int(void *cbdata, const char *paramname, const char *newvalue)> GRBcbsetparam = nullptr

Definition at line 150 of file environment.cc.

◆ GRBcbsolution

std::function< int(void *cbdata, const double *solution, double *objvalP)> GRBcbsolution = nullptr

Definition at line 152 of file environment.cc.

◆ GRBcheckmodel

std::function< int(GRBmodel *model)> GRBcheckmodel = nullptr

Definition at line 347 of file environment.cc.

◆ GRBchgcoeffs

std::function< int(GRBmodel *model, int cnt, int *cind, int *vind, double *val)> GRBchgcoeffs = nullptr

Definition at line 327 of file environment.cc.

◆ GRBcomputeIIS

std::function< int(GRBmodel *model)> GRBcomputeIIS = nullptr

Definition at line 336 of file environment.cc.

◆ GRBconverttofixed

std::function< int(GRBmodel *model)> GRBconverttofixed = nullptr

Definition at line 218 of file environment.cc.

◆ GRBcopymodel

std::function< GRBmodel *(GRBmodel *model)> GRBcopymodel = nullptr

Definition at line 209 of file environment.cc.

◆ GRBcopyparams

std::function< int(GRBenv *dest, GRBenv *src)> GRBcopyparams = nullptr

Definition at line 385 of file environment.cc.

◆ GRBdelconstrs

std::function< int(GRBmodel *model, int len, int *ind)> GRBdelconstrs = nullptr

Definition at line 320 of file environment.cc.

◆ GRBdelgenconstrs

std::function< int(GRBmodel *model, int len, int *ind)> GRBdelgenconstrs
Initial value:
=
nullptr

Definition at line 322 of file environment.cc.

◆ GRBdelq

std::function< int(GRBmodel *model)> GRBdelq = nullptr

Definition at line 325 of file environment.cc.

◆ GRBdelqconstrs

std::function< int(GRBmodel *model, int len, int *ind)> GRBdelqconstrs = nullptr

Definition at line 324 of file environment.cc.

◆ GRBdelsos

std::function< int(GRBmodel *model, int len, int *ind)> GRBdelsos = nullptr

Definition at line 321 of file environment.cc.

◆ GRBdelvars

std::function< int(GRBmodel *model, int len, int *ind)> GRBdelvars = nullptr

Definition at line 319 of file environment.cc.

◆ GRBdiscardconcurrentenvs

std::function< void(GRBmodel *model)> GRBdiscardconcurrentenvs = nullptr

Definition at line 419 of file environment.cc.

◆ GRBdiscardmultiobjenvs

std::function< void(GRBmodel *model)> GRBdiscardmultiobjenvs = nullptr

Definition at line 421 of file environment.cc.

◆ GRBfeasibility

std::function< GRBmodel *(GRBmodel *model)> GRBfeasibility = nullptr

Definition at line 221 of file environment.cc.

◆ GRBfeasrelax

std::function< int(GRBmodel *model, int relaxobjtype, int minrelax, double *lbpen, double *ubpen, double *rhspen, double *feasobjP)> GRBfeasrelax = nullptr

Definition at line 214 of file environment.cc.

◆ GRBfiletype

std::function< int(const char *filename)> GRBfiletype = nullptr

Definition at line 237 of file environment.cc.

◆ GRBfixedmodel

std::function< GRBmodel *(GRBmodel *model)> GRBfixedmodel = nullptr

Definition at line 210 of file environment.cc.

◆ GRBfreeenv

std::function< void(GRBenv *env)> GRBfreeenv = nullptr

Definition at line 423 of file environment.cc.

◆ GRBfreemodel

std::function< int(GRBmodel *model)> GRBfreemodel = nullptr

Definition at line 335 of file environment.cc.

◆ GRBFSolve

std::function< int(GRBmodel *model, GRBsvec *b, GRBsvec *x)> GRBFSolve = nullptr

Definition at line 337 of file environment.cc.

◆ GRBgetattrinfo

std::function< int(GRBmodel *model, const char *attrname, int *datatypeP, int *sizeP, int *settableP)> GRBgetattrinfo = nullptr

Definition at line 51 of file environment.cc.

◆ GRBgetattrname

std::function< int(GRBmodel *model, int i, char **attrnameP)> GRBgetattrname
Initial value:
=
nullptr

Definition at line 392 of file environment.cc.

◆ GRBgetBasisHead

std::function< int(GRBmodel *model, int *bhead)> GRBgetBasisHead = nullptr

Definition at line 343 of file environment.cc.

◆ GRBgetcallbackfunc

std::function< int(GRBmodel *model, int(GUROBI_STDCALL **cbP)(CB_ARGS))> GRBgetcallbackfunc = nullptr

Definition at line 142 of file environment.cc.

◆ GRBgetcbwhatinfo

std::function< int(void *cbdata, int what, int *typeP, int *sizeP)> GRBgetcbwhatinfo = nullptr

Definition at line 216 of file environment.cc.

◆ GRBgetcharattrarray

std::function< int(GRBmodel *model, const char *attrname, int first, int len, char *values)> GRBgetcharattrarray = nullptr

Definition at line 84 of file environment.cc.

◆ GRBgetcharattrelement

std::function< int(GRBmodel *model, const char *attrname, int element, char *valueP)> GRBgetcharattrelement = nullptr

Definition at line 78 of file environment.cc.

◆ GRBgetcharattrlist

std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, char *values)> GRBgetcharattrlist = nullptr

Definition at line 90 of file environment.cc.

◆ GRBgetcoeff

std::function< int(GRBmodel *model, int constr, int var, double *valP)> GRBgetcoeff = nullptr

Definition at line 160 of file environment.cc.

◆ GRBgetconcurrentenv

std::function< GRBenv *(GRBmodel *model, int num)> GRBgetconcurrentenv = nullptr

Definition at line 418 of file environment.cc.

◆ GRBgetconstrbyname

std::function< int(GRBmodel *model, const char *name, int *indexP)> GRBgetconstrbyname = nullptr

Definition at line 204 of file environment.cc.

◆ GRBgetconstrs

std::function< int(GRBmodel *model, int *numnzP, int *cbeg, int *cind, double *cval, int start, int len)> GRBgetconstrs = nullptr

Definition at line 163 of file environment.cc.

◆ GRBgetdblattr

std::function< int(GRBmodel *model, const char *attrname, double *valueP)> GRBgetdblattr = nullptr

Definition at line 95 of file environment.cc.

◆ GRBgetdblattrarray

std::function< int(GRBmodel *model, const char *attrname, int first, int len, double *values)> GRBgetdblattrarray = nullptr

Definition at line 106 of file environment.cc.

◆ GRBgetdblattrelement

std::function< int(GRBmodel *model, const char *attrname, int element, double *valueP)> GRBgetdblattrelement = nullptr

Definition at line 100 of file environment.cc.

◆ GRBgetdblattrlist

std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, double *values)> GRBgetdblattrlist = nullptr

Definition at line 112 of file environment.cc.

◆ GRBgetdblparam

std::function< int(GRBenv *env, const char *paramname, double *valueP)> GRBgetdblparam = nullptr

Definition at line 363 of file environment.cc.

◆ GRBgetdblparaminfo

std::function< int(GRBenv *env, const char *paramname, double *valueP, double *minP, double *maxP, double *defP)> GRBgetdblparaminfo = nullptr

Definition at line 371 of file environment.cc.

◆ GRBgetenv

std::function< GRBenv *(GRBmodel *model)> GRBgetenv = nullptr

Definition at line 417 of file environment.cc.

◆ GRBgeterrormsg

std::function< const char *(GRBenv *env)> GRBgeterrormsg = nullptr

Definition at line 424 of file environment.cc.

◆ GRBgetgenconstrAbs

std::function< int(GRBmodel *model, int genconstr, int *resvarP, int *argvarP)> GRBgetgenconstrAbs = nullptr

Definition at line 183 of file environment.cc.

◆ GRBgetgenconstrAnd

std::function< int(GRBmodel *model, int genconstr, int *resvarP, int *nvarsP, int *vars)> GRBgetgenconstrAnd = nullptr

Definition at line 186 of file environment.cc.

◆ GRBgetgenconstrIndicator

std::function< int(GRBmodel *model, int genconstr, int *binvarP, int *binvalP, int *nvarsP, int *vars, double *vals, char *senseP, double *rhsP)> GRBgetgenconstrIndicator = nullptr

Definition at line 193 of file environment.cc.

◆ GRBgetgenconstrMax

std::function< int(GRBmodel *model, int genconstr, int *resvarP, int *nvarsP, int *vars, double *constantP)> GRBgetgenconstrMax = nullptr

Definition at line 178 of file environment.cc.

◆ GRBgetgenconstrMin

std::function< int(GRBmodel *model, int genconstr, int *resvarP, int *nvarsP, int *vars, double *constantP)> GRBgetgenconstrMin = nullptr

Definition at line 181 of file environment.cc.

◆ GRBgetgenconstrOr

std::function< int(GRBmodel *model, int genconstr, int *resvarP, int *nvarsP, int *vars)> GRBgetgenconstrOr = nullptr

Definition at line 189 of file environment.cc.

◆ GRBgetintattr

std::function< int(GRBmodel *model, const char *attrname, int *valueP)> GRBgetintattr = nullptr

Definition at line 55 of file environment.cc.

◆ GRBgetintattrarray

std::function< int(GRBmodel *model, const char *attrname, int first, int len, int *values)> GRBgetintattrarray = nullptr

Definition at line 66 of file environment.cc.

◆ GRBgetintattrelement

std::function< int(GRBmodel *model, const char *attrname, int element, int *valueP)> GRBgetintattrelement = nullptr

Definition at line 60 of file environment.cc.

◆ GRBgetintattrlist

std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, int *values)> GRBgetintattrlist = nullptr

Definition at line 72 of file environment.cc.

◆ GRBgetintparam

std::function< int(GRBenv *env, const char *paramname, int *valueP)> GRBgetintparam = nullptr

Definition at line 361 of file environment.cc.

◆ GRBgetintparaminfo

std::function< int(GRBenv *env, const char *paramname, int *valueP, int *minP, int *maxP, int *defP)> GRBgetintparaminfo = nullptr

Definition at line 368 of file environment.cc.

◆ GRBgetmerrormsg

std::function< const char *(GRBmodel *model)> GRBgetmerrormsg = nullptr

Definition at line 425 of file environment.cc.

◆ GRBgetmultiobjenv

std::function< GRBenv *(GRBmodel *model, int num)> GRBgetmultiobjenv = nullptr

Definition at line 420 of file environment.cc.

◆ GRBgetnumattributes

std::function< int(GRBmodel *model)> GRBgetnumattributes = nullptr

Definition at line 391 of file environment.cc.

◆ GRBgetnumparams

std::function< int(GRBenv *env)> GRBgetnumparams = nullptr

Definition at line 388 of file environment.cc.

◆ GRBgetparamname

std::function< int(GRBenv *env, int i, char **paramnameP)> GRBgetparamname
Initial value:
=
nullptr

Definition at line 389 of file environment.cc.

◆ GRBgetparamtype

std::function< int(GRBenv *env, const char *paramname)> GRBgetparamtype
Initial value:
=
nullptr

Definition at line 382 of file environment.cc.

◆ GRBgetpwlobj

std::function< int(GRBmodel *model, int var, int *pointsP, double *x, double *y)> GRBgetpwlobj = nullptr

Definition at line 206 of file environment.cc.

◆ GRBgetq

std::function< int(GRBmodel *model, int *numqnzP, int *qrow, int *qcol, double *qval)> GRBgetq = nullptr

Definition at line 196 of file environment.cc.

◆ GRBgetqconstr

std::function< int(GRBmodel *model, int qconstr, int *numlnzP, int *lind, double *lval, int *numqnzP, int *qrow, int *qcol, double *qval)> GRBgetqconstr = nullptr

Definition at line 200 of file environment.cc.

◆ GRBgetsos

std::function< int(GRBmodel *model, int *nummembersP, int *sostype, int *beg, int *ind, double *weight, int start, int len)> GRBgetsos = nullptr

Definition at line 175 of file environment.cc.

◆ GRBgetstrattr

std::function< int(GRBmodel *model, const char *attrname, char **valueP)> GRBgetstrattr = nullptr

Definition at line 117 of file environment.cc.

◆ GRBgetstrattrarray

std::function< int(GRBmodel *model, const char *attrname, int first, int len, char **values)> GRBgetstrattrarray = nullptr

Definition at line 128 of file environment.cc.

◆ GRBgetstrattrelement

std::function< int(GRBmodel *model, const char *attrname, int element, char **valueP)> GRBgetstrattrelement = nullptr

Definition at line 122 of file environment.cc.

◆ GRBgetstrattrlist

std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, char **values)> GRBgetstrattrlist = nullptr

Definition at line 134 of file environment.cc.

◆ GRBgetstrparam

std::function< int(GRBenv *env, const char *paramname, char *valueP)> GRBgetstrparam = nullptr

Definition at line 365 of file environment.cc.

◆ GRBgetstrparaminfo

std::function< int(GRBenv *env, const char *paramname, char *valueP, char *defP)> GRBgetstrparaminfo = nullptr

Definition at line 373 of file environment.cc.

◆ GRBgettunelog

std::function< int(GRBmodel *model, int i, char **logP)> GRBgettunelog = nullptr

Definition at line 434 of file environment.cc.

◆ GRBgettuneresult

std::function< int(GRBmodel *model, int i)> GRBgettuneresult = nullptr

Definition at line 433 of file environment.cc.

◆ GRBgetvarbyname

std::function< int(GRBmodel *model, const char *name, int *indexP)> GRBgetvarbyname = nullptr

Definition at line 202 of file environment.cc.

◆ GRBgetvars

std::function< int(GRBmodel *model, int *numnzP, int *vbeg, int *vind, double *vval, int start, int len)> GRBgetvars = nullptr

Definition at line 169 of file environment.cc.

◆ GRBiismodel

std::function< GRBmodel *(GRBmodel *model)> GRBiismodel = nullptr

Definition at line 220 of file environment.cc.

◆ GRBisattravailable

std::function< int(GRBmodel *model, const char *attrname)> GRBisattravailable
Initial value:
=
nullptr

Definition at line 52 of file environment.cc.

◆ GRBismodelfile

std::function< int(const char *filename)> GRBismodelfile = nullptr

Definition at line 236 of file environment.cc.

◆ GRBisqp

std::function< int(GRBenv **, const char *, const char *, const char *, int, const char *)> GRBisqp = nullptr

Definition at line 48 of file environment.cc.

◆ GRBisrecordfile

std::function< int(const char *filename)> GRBisrecordfile = nullptr

Definition at line 238 of file environment.cc.

◆ GRBlinearizemodel

std::function< GRBmodel *(GRBmodel *model)> GRBlinearizemodel = nullptr

Definition at line 222 of file environment.cc.

◆ GRBloadclientenv

std::function< int(GRBenv **envP, const char *logfilename, const char *computeservers, int port, const char *password, int priority, double timeout)> GRBloadclientenv = nullptr

Definition at line 402 of file environment.cc.

◆ GRBloadclientenvadv

std::function< int(GRBenv **envP, const char *logfilename, const char *computeservers, int port, const char *password, int priority, double timeout, int apitype, int major, int minor, int tech, int(GUROBI_STDCALL *cb)(CB_ARGS), void *usrdata)> GRBloadclientenvadv = nullptr

Definition at line 408 of file environment.cc.

◆ GRBloadcloudenv

std::function< int(GRBenv **envP, const char *logfilename, const char *accessID, const char *secretKey, const char *pool)> GRBloadcloudenv = nullptr

Definition at line 411 of file environment.cc.

◆ GRBloadcloudenvadv

std::function< int(GRBenv **envP, const char *logfilename, const char *accessID, const char *secretKey, const char *pool, int apitype, int major, int minor, int tech, int(GUROBI_STDCALL *cb)(CB_ARGS), void *usrdata)> GRBloadcloudenvadv = nullptr

Definition at line 416 of file environment.cc.

◆ GRBloadenv

std::function< int(GRBenv **envP, const char *logfilename)> GRBloadenv = nullptr

Definition at line 394 of file environment.cc.

◆ GRBloadenvadv

std::function< int(GRBenv **envP, const char *logfilename, int apitype, int major, int minor, int tech, int(GUROBI_STDCALL *cb)(CB_ARGS), void *usrdata)> GRBloadenvadv = nullptr

Definition at line 398 of file environment.cc.

◆ GRBloadenvsyscb

std::function< int(GRBenv **envP, const char *logfilename, void *(GUROBI_STDCALL *malloccb)(MALLOCCB_ARGS), void *(GUROBI_STDCALL *calloccb)(CALLOCCB_ARGS), void *(GUROBI_STDCALL *realloccb)(REALLOCCB_ARGS), void(GUROBI_STDCALL *freecb)(FREECB_ARGS), int(GUROBI_STDCALL *threadcreatecb)(THREADCREATECB_ARGS), void(GUROBI_STDCALL *threadjoincb)(THREADJOINCB_ARGS), void *syscbusrdata)> GRBloadenvsyscb = nullptr

Definition at line 231 of file environment.cc.

◆ GRBloadmodel

std::function< int(GRBenv *env, GRBmodel **modelP, const char *Pname, int numvars, int numconstrs, int objsense, double objcon, double *obj, char *sense, double *rhs, int *vbeg, int *vlen, int *vind, double *vval, double *lb, double *ub, char *vtype, char **varnames, char **constrnames)> GRBloadmodel = nullptr

Definition at line 248 of file environment.cc.

◆ GRBmsg

std::function< void(GRBenv *env, const char *message)> GRBmsg = nullptr

Definition at line 359 of file environment.cc.

◆ GRBnewmodel

std::function< int(GRBenv *env, GRBmodel **modelP, const char *Pname, int numvars, double *obj, double *lb, double *ub, char *vtype, char **varnames)> GRBnewmodel = nullptr

Definition at line 242 of file environment.cc.

◆ GRBoptimize

std::function< int(GRBmodel *model)> GRBoptimize = nullptr

Definition at line 207 of file environment.cc.

◆ GRBoptimizeasync

std::function< int(GRBmodel *model)> GRBoptimizeasync = nullptr

Definition at line 208 of file environment.cc.

◆ GRBplatform

std::function< char *(void)> GRBplatform = nullptr

Definition at line 428 of file environment.cc.

◆ GRBpresolvemodel

std::function< GRBmodel *(GRBmodel *model)> GRBpresolvemodel = nullptr

Definition at line 219 of file environment.cc.

◆ GRBread

std::function< int(GRBmodel *model, const char *filename)> GRBread = nullptr

Definition at line 234 of file environment.cc.

◆ GRBreadmodel

std::function< int(GRBenv *env, const char *filename, GRBmodel **modelP)> GRBreadmodel = nullptr

Definition at line 233 of file environment.cc.

◆ GRBreadparams

std::function< int(GRBenv *env, const char *filename)> GRBreadparams = nullptr

Definition at line 387 of file environment.cc.

◆ GRBrelaxmodel

std::function< GRBmodel *(GRBmodel *model)> GRBrelaxmodel = nullptr

Definition at line 217 of file environment.cc.

◆ GRBreleaselicense

std::function< void(GRBenv *env)> GRBreleaselicense = nullptr

Definition at line 422 of file environment.cc.

◆ GRBreplay

std::function< int(const char *filename)> GRBreplay = nullptr

Definition at line 350 of file environment.cc.

◆ GRBresetmodel

std::function< int(GRBmodel *model)> GRBresetmodel = nullptr

Definition at line 334 of file environment.cc.

◆ GRBresetparams

std::function< int(GRBenv *env)> GRBresetparams = nullptr

Definition at line 384 of file environment.cc.

◆ GRBsetcallbackfunc

std::function< int(GRBmodel *model, int(GUROBI_STDCALL *cb)(CB_ARGS), void *usrdata)> GRBsetcallbackfunc = nullptr

Definition at line 140 of file environment.cc.

◆ GRBsetcharattrarray

std::function< int(GRBmodel *model, const char *attrname, int first, int len, char *newvalues)> GRBsetcharattrarray = nullptr

Definition at line 87 of file environment.cc.

◆ GRBsetcharattrelement

std::function< int(GRBmodel *model, const char *attrname, int element, char newvalue)> GRBsetcharattrelement = nullptr

Definition at line 81 of file environment.cc.

◆ GRBsetcharattrlist

std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, char *newvalues)> GRBsetcharattrlist = nullptr

Definition at line 93 of file environment.cc.

◆ GRBsetdblattr

std::function< int(GRBmodel *model, const char *attrname, double newvalue)> GRBsetdblattr = nullptr

Definition at line 97 of file environment.cc.

◆ GRBsetdblattrarray

std::function< int(GRBmodel *model, const char *attrname, int first, int len, double *newvalues)> GRBsetdblattrarray = nullptr

Definition at line 109 of file environment.cc.

◆ GRBsetdblattrelement

std::function< int(GRBmodel *model, const char *attrname, int element, double newvalue)> GRBsetdblattrelement = nullptr

Definition at line 103 of file environment.cc.

◆ GRBsetdblattrlist

std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, double *newvalues)> GRBsetdblattrlist = nullptr

Definition at line 115 of file environment.cc.

◆ GRBsetdblparam

std::function< int(GRBenv *env, const char *paramname, double value)> GRBsetdblparam = nullptr

Definition at line 379 of file environment.cc.

◆ GRBsetintattr

std::function< int(GRBmodel *model, const char *attrname, int newvalue)> GRBsetintattr = nullptr

Definition at line 57 of file environment.cc.

◆ GRBsetintattrarray

std::function< int(GRBmodel *model, const char *attrname, int first, int len, int *newvalues)> GRBsetintattrarray = nullptr

Definition at line 69 of file environment.cc.

◆ GRBsetintattrelement

std::function< int(GRBmodel *model, const char *attrname, int element, int newvalue)> GRBsetintattrelement = nullptr

Definition at line 63 of file environment.cc.

◆ GRBsetintattrlist

std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, int *newvalues)> GRBsetintattrlist = nullptr

Definition at line 75 of file environment.cc.

◆ GRBsetintparam

std::function< int(GRBenv *env, const char *paramname, int value)> GRBsetintparam = nullptr

Definition at line 377 of file environment.cc.

◆ GRBsetlogcallbackfunc

std::function< int(GRBmodel *model, int(GUROBI_STDCALL *cb)(char *msg))> GRBsetlogcallbackfunc = nullptr

Definition at line 144 of file environment.cc.

◆ GRBsetlogcallbackfuncenv

std::function< int(GRBenv *env, int(GUROBI_STDCALL *cb)(char *msg))> GRBsetlogcallbackfuncenv = nullptr

Definition at line 146 of file environment.cc.

◆ GRBsetobjective

std::function< int(GRBmodel *model, int sense, double constant, int lnz, int *lind, double *lval, int qnz, int *qrow, int *qcol, double *qval)> GRBsetobjective = nullptr

Definition at line 354 of file environment.cc.

◆ GRBsetobjectiven

std::function< int(GRBmodel *model, int index, int priority, double weight, double abstol, double reltol, const char *name, double constant, int lnz, int *lind, double *lval)> GRBsetobjectiven = nullptr

Definition at line 358 of file environment.cc.

◆ GRBsetparam

std::function< int(GRBenv *env, const char *paramname, const char *value)> GRBsetparam = nullptr

Definition at line 375 of file environment.cc.

◆ GRBsetpwlobj

std::function< int(GRBmodel *model, int var, int points, double *x, double *y)> GRBsetpwlobj = nullptr

Definition at line 332 of file environment.cc.

◆ GRBsetsignal

std::function< void(GRBmodel *model)> GRBsetsignal = nullptr

Definition at line 348 of file environment.cc.

◆ GRBsetstrattr

std::function< int(GRBmodel *model, const char *attrname, const char *newvalue)> GRBsetstrattr = nullptr

Definition at line 119 of file environment.cc.

◆ GRBsetstrattrarray

std::function< int(GRBmodel *model, const char *attrname, int first, int len, char **newvalues)> GRBsetstrattrarray = nullptr

Definition at line 131 of file environment.cc.

◆ GRBsetstrattrelement

std::function< int(GRBmodel *model, const char *attrname, int element, const char *newvalue)> GRBsetstrattrelement = nullptr

Definition at line 125 of file environment.cc.

◆ GRBsetstrattrlist

std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, char **newvalues)> GRBsetstrattrlist = nullptr

Definition at line 137 of file environment.cc.

◆ GRBsetstrparam

std::function< int(GRBenv *env, const char *paramname, const char *value)> GRBsetstrparam = nullptr

Definition at line 381 of file environment.cc.

◆ GRBstrongbranch

std::function< int(GRBmodel *model, int num, int *cand, double *downobjbd, double *upobjbd, int *statusP)> GRBstrongbranch = nullptr

Definition at line 346 of file environment.cc.

◆ GRBsync

std::function< int(GRBmodel *model)> GRBsync = nullptr

Definition at line 437 of file environment.cc.

◆ GRBterminate

std::function< void(GRBmodel *model)> GRBterminate = nullptr

Definition at line 349 of file environment.cc.

◆ GRBtunemodel

std::function< int(GRBmodel *model)> GRBtunemodel = nullptr

Definition at line 429 of file environment.cc.

◆ GRBtunemodeladv

std::function< int(GRBmodel *model, GRBmodel *ignore, GRBmodel *hint)> GRBtunemodeladv = nullptr

Definition at line 436 of file environment.cc.

◆ GRBtunemodels

std::function< int(int nummodels, GRBmodel **models, GRBmodel *ignore, GRBmodel *hint)> GRBtunemodels = nullptr

Definition at line 432 of file environment.cc.

◆ GRBupdatemodel

std::function< int(GRBmodel *model)> GRBupdatemodel = nullptr

Definition at line 333 of file environment.cc.

◆ GRBversion

std::function< void(int *majorP, int *minorP, int *technicalP)> GRBversion
Initial value:
=
nullptr

Definition at line 426 of file environment.cc.

◆ GRBwrite

std::function< int(GRBmodel *model, const char *filename)> GRBwrite = nullptr

Definition at line 235 of file environment.cc.

◆ GRBwriteparams

std::function< int(GRBenv *env, const char *filename)> GRBwriteparams = nullptr

Definition at line 386 of file environment.cc.

◆ GRBXaddconstrs

std::function< int(GRBmodel *model, int numconstrs, size_t numnz, size_t *cbeg, int *cind, double *cval, char *sense, double *rhs, char **constrnames)> GRBXaddconstrs = nullptr

Definition at line 277 of file environment.cc.

◆ GRBXaddrangeconstrs

std::function< int(GRBmodel *model, int numconstrs, size_t numnz, size_t *cbeg, int *cind, double *cval, double *lower, double *upper, char **constrnames)> GRBXaddrangeconstrs = nullptr

Definition at line 288 of file environment.cc.

◆ GRBXaddvars

std::function< int(GRBmodel *model, int numvars, size_t numnz, size_t *vbeg, int *vind, double *vval, double *obj, double *lb, double *ub, char *vtype, char **varnames)> GRBXaddvars = nullptr

Definition at line 266 of file environment.cc.

◆ GRBXchgcoeffs

std::function< int(GRBmodel *model, size_t cnt, int *cind, int *vind, double *val)> GRBXchgcoeffs = nullptr

Definition at line 330 of file environment.cc.

◆ GRBXgetconstrs

std::function< int(GRBmodel *model, size_t *numnzP, size_t *cbeg, int *cind, double *cval, int start, int len)> GRBXgetconstrs = nullptr

Definition at line 166 of file environment.cc.

◆ GRBXgetvars

std::function< int(GRBmodel *model, size_t *numnzP, size_t *vbeg, int *vind, double *vval, int start, int len)> GRBXgetvars = nullptr

Definition at line 172 of file environment.cc.

◆ GRBXloadmodel

std::function< int(GRBenv *env, GRBmodel **modelP, const char *Pname, int numvars, int numconstrs, int objsense, double objcon, double *obj, char *sense, double *rhs, size_t *vbeg, int *vlen, int *vind, double *vval, double *lb, double *ub, char *vtype, char **varnames, char **constrnames)> GRBXloadmodel = nullptr

Definition at line 254 of file environment.cc.

◆ kAllBits32

const uint32_t kAllBits32 = 0xFFFFFFFFU
static

Definition at line 35 of file bitset.h.

◆ kAllBits64

const uint64_t kAllBits64 = uint64_t{0xFFFFFFFFFFFFFFFF}
static

Definition at line 33 of file bitset.h.

◆ kAllBitsButLsb64

const uint64_t kAllBitsButLsb64 = uint64_t{0xFFFFFFFFFFFFFFFE}
static

Definition at line 34 of file bitset.h.

◆ kDefaultPrimalTolerance

constexpr double kDefaultPrimalTolerance = 1e-07
constexpr

Definition at line 167 of file linear_solver.h.

◆ kMaxGLPKNameLen

constexpr std::size_t kMaxGLPKNameLen = 255
inlineconstexpr

Definition at line 35 of file glpk_formatters.h.

◆ kOptimizationProblemTypeNames

constexpr NamedOptimizationProblemType kOptimizationProblemTypeNames[]
constexpr
Initial value:
= {
{MPSolver::GLOP_LINEAR_PROGRAMMING, "glop"},
{MPSolver::CLP_LINEAR_PROGRAMMING, "clp"},
{MPSolver::GUROBI_LINEAR_PROGRAMMING, "gurobi_lp"},
{MPSolver::GLPK_LINEAR_PROGRAMMING, "glpk_lp"},
{MPSolver::CPLEX_LINEAR_PROGRAMMING, "cplex_lp"},
{MPSolver::XPRESS_LINEAR_PROGRAMMING, "xpress_lp"},
{MPSolver::SCIP_MIXED_INTEGER_PROGRAMMING, "scip"},
{MPSolver::CBC_MIXED_INTEGER_PROGRAMMING, "cbc"},
{MPSolver::SAT_INTEGER_PROGRAMMING, "sat"},
{MPSolver::BOP_INTEGER_PROGRAMMING, "bop"},
{MPSolver::GUROBI_MIXED_INTEGER_PROGRAMMING, "gurobi"},
{MPSolver::GLPK_MIXED_INTEGER_PROGRAMMING, "glpk"},
{MPSolver::PDLP_LINEAR_PROGRAMMING, "pdlp"},
{MPSolver::KNAPSACK_MIXED_INTEGER_PROGRAMMING, "knapsack"},
{MPSolver::CPLEX_MIXED_INTEGER_PROGRAMMING, "cplex"},
{MPSolver::XPRESS_MIXED_INTEGER_PROGRAMMING, "xpress"},
}

Definition at line 524 of file linear_solver.cc.

◆ kUnassigned

const int kUnassigned = -1
static

Definition at line 878 of file routing.cc.