2019-06-13 15:36:14 +02:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< title > OR-Tools< / title >
< meta http-equiv = "Content-Type" content = "text/html;" / >
< meta charset = "utf-8" / >
<!-- <link rel='stylesheet' type='text/css' href="https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/> -->
2019-06-20 23:08:48 +02:00
< link rel = "stylesheet" type = "text/css" href = "ortools.css" title = "default" media = "screen,print" / >
2019-06-13 15:36:14 +02:00
< script type = "text/javascript" src = "jquery.js" > < / script >
< script type = "text/javascript" src = "dynsections.js" > < / script >
< / head >
< body >
< div id = "banner-container" >
< div id = "banner" >
2020-01-27 13:48:26 +01:00
< span id = "sfml" > Google OR-Tools 7.5< / span >
2019-06-13 15:36:14 +02:00
< / div >
< / div >
2019-08-07 18:01:08 -07:00
< div id = "content" style = "width: 100%; overflow: hidden;" >
< div style = "margin-left: 15px; margin-top: 5px; float: left; color: #145A32;" >
2019-08-12 09:16:03 -07:00
< h2 > C++ Reference< / h2 >
2019-08-07 18:01:08 -07:00
< ul >
< li > < a href = "../cpp_algorithms/annotated.html" > Algorithms< / a > < / li >
2019-08-12 09:16:03 -07:00
< li > < a href = "../cpp_sat/annotated.html" > CP-SAT< / a > < / li >
2019-08-07 18:01:08 -07:00
< li > < a href = "../cpp_graph/annotated.html" > Graph< / a > < / li >
< li > < a href = "../cpp_routing/annotated.html" > Routing< / a > < / li >
< li > < a href = "../cpp_linear/annotated.html" > Linear solver< / a > < / li >
< / ul >
< / div >
2019-06-13 15:36:14 +02:00
< div id = "content" >
2019-08-07 18:01:08 -07:00
< div align = "center" >
< h1 style = "color: #145A32;" > C++ Reference: Routing< / h1 >
< / div >
2020-01-27 13:48:26 +01:00
<!-- Generated by Doxygen 1.8.18 -->
2019-06-13 15:36:14 +02:00
< div id = "navrow1" class = "tabs" >
< ul class = "tablist" >
< li > < a href = "namespaces.html" > < span > Namespaces< / span > < / a > < / li >
< li > < a href = "annotated.html" > < span > Classes< / span > < / a > < / li >
2019-07-15 17:42:24 -07:00
< li class = "current" > < a href = "files.html" > < span > Files< / span > < / a > < / li >
2019-06-13 15:36:14 +02:00
< / ul >
< / div >
2019-08-07 18:01:08 -07:00
< div id = "nav-path" class = "navpath" >
< ul >
< li class = "navelem" > < a class = "el" href = "dir_a7cc1eeded8f693d0da6c729bc88c45a.html" > ortools< / a > < / li > < li class = "navelem" > < a class = "el" href = "dir_afbb39f66221aac28bbdefd1dca2b2b0.html" > constraint_solver< / a > < / li > < / ul >
2019-07-12 13:25:23 -07:00
< / div >
2019-08-07 18:01:08 -07:00
< / div > <!-- top -->
2019-06-13 15:36:14 +02:00
< div class = "header" >
< div class = "summary" >
< a href = "#nested-classes" > Classes< / a > |
2019-07-05 00:25:55 +02:00
< a href = "#namespaces" > Namespaces< / a > |
2019-06-13 15:36:14 +02:00
< a href = "#func-members" > Functions< / a > < / div >
< div class = "headertitle" >
< div class = "title" > routing.h File Reference< / div > < / div >
< / div > <!-- header -->
< div class = "contents" >
2019-08-12 23:15:11 -07:00
2019-06-13 15:36:14 +02:00
< p > < a href = "routing_8h_source.html" > Go to the source code of this file.< / a > < / p >
< table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "nested-classes" > < / a >
Classes< / h2 > < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1RoutingModel.html" > RoutingModel< / a > < / td > < / tr >
2019-06-13 15:36:14 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structoperations__research_1_1RoutingModel_1_1StateDependentTransit.html" > RoutingModel::StateDependentTransit< / a > < / td > < / tr >
2019-07-05 09:33:19 +02:00
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > What follows is relevant for models with time/state dependent transits. < a href = "structoperations__research_1_1RoutingModel_1_1StateDependentTransit.html#details" > More...< / a > < br / > < / td > < / tr >
2019-06-13 15:36:14 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structoperations__research_1_1RoutingModel_1_1CostClass.html" > RoutingModel::CostClass< / a > < / td > < / tr >
2019-06-13 15:36:14 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structoperations__research_1_1RoutingModel_1_1CostClass_1_1DimensionCost.html" > RoutingModel::CostClass::DimensionCost< / a > < / td > < / tr >
2019-07-05 09:33:19 +02:00
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > SUBTLE: The vehicle's fixed cost is skipped on purpose here, because we can afford to do so: < a href = "structoperations__research_1_1RoutingModel_1_1CostClass_1_1DimensionCost.html#details" > More...< / a > < br / > < / td > < / tr >
2019-06-13 15:36:14 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structoperations__research_1_1RoutingModel_1_1VehicleClass.html" > RoutingModel::VehicleClass< / a > < / td > < / tr >
2019-06-13 15:36:14 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1RoutingModelVisitor.html" > RoutingModelVisitor< / a > < / td > < / tr >
2019-07-05 09:33:19 +02:00
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Routing model visitor. < a href = "classoperations__research_1_1RoutingModelVisitor.html#details" > More...< / a > < br / > < / td > < / tr >
2019-06-13 15:36:14 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1DisjunctivePropagator.html" > DisjunctivePropagator< / a > < / td > < / tr >
2019-07-05 09:33:19 +02:00
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > 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. < a href = "classoperations__research_1_1DisjunctivePropagator.html#details" > More...< / a > < br / > < / td > < / tr >
2019-06-13 15:36:14 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structoperations__research_1_1DisjunctivePropagator_1_1Tasks.html" > DisjunctivePropagator::Tasks< / a > < / td > < / tr >
2019-07-05 09:33:19 +02:00
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > A structure to hold tasks described by their features. < a href = "structoperations__research_1_1DisjunctivePropagator_1_1Tasks.html#details" > More...< / a > < br / > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1GlobalVehicleBreaksConstraint.html" > GlobalVehicleBreaksConstraint< / a > < / td > < / tr >
2019-07-05 09:33:19 +02:00
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > < a class = "el" href = "classoperations__research_1_1GlobalVehicleBreaksConstraint.html" title = "GlobalVehicleBreaksConstraint ensures breaks constraints are enforced on all vehicles in the dimensio..." > GlobalVehicleBreaksConstraint< / a > ensures breaks constraints are enforced on all vehicles in the dimension passed to its constructor. < a href = "classoperations__research_1_1GlobalVehicleBreaksConstraint.html#details" > More...< / a > < br / > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1TypeRegulationsChecker.html" > TypeRegulationsChecker< / a > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structoperations__research_1_1TypeRegulationsChecker_1_1NodeCount.html" > TypeRegulationsChecker::NodeCount< / a > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1TypeIncompatibilityChecker.html" > TypeIncompatibilityChecker< / a > < / td > < / tr >
2019-07-05 09:33:19 +02:00
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Checker for type incompatibilities. < a href = "classoperations__research_1_1TypeIncompatibilityChecker.html#details" > More...< / a > < br / > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1TypeRequirementChecker.html" > TypeRequirementChecker< / a > < / td > < / tr >
2019-07-05 09:33:19 +02:00
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Checker for type requirements. < a href = "classoperations__research_1_1TypeRequirementChecker.html#details" > More...< / a > < br / > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1TypeRegulationsConstraint.html" > TypeRegulationsConstraint< / a > < / td > < / tr >
2019-07-05 09:33:19 +02:00
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > The following constraint ensures that incompatibilities and requirements between types are respected. < a href = "classoperations__research_1_1TypeRegulationsConstraint.html#details" > More...< / a > < br / > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1SimpleBoundCosts.html" > SimpleBoundCosts< / a > < / td > < / tr >
2019-07-05 09:33:19 +02:00
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > A structure meant to store soft bounds and associated violation constants. < a href = "classoperations__research_1_1SimpleBoundCosts.html#details" > More...< / a > < br / > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structoperations__research_1_1SimpleBoundCosts_1_1BoundCost.html" > SimpleBoundCosts::BoundCost< / a > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1RoutingDimension.html" > RoutingDimension< / a > < / td > < / tr >
2019-07-05 09:33:19 +02:00
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Dimensions represent quantities accumulated at nodes along the routes. < a href = "classoperations__research_1_1RoutingDimension.html#details" > More...< / a > < br / > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structoperations__research_1_1RoutingDimension_1_1NodePrecedence.html" > RoutingDimension::NodePrecedence< / a > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1SweepArranger.html" > SweepArranger< / a > < / td > < / tr >
2019-07-05 09:33:19 +02:00
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Class to arrange indices by by their distance and their angles from the depot. < a href = "classoperations__research_1_1SweepArranger.html#details" > More...< / a > < br / > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1IntVarFilteredDecisionBuilder.html" > IntVarFilteredDecisionBuilder< / a > < / td > < / tr >
2019-11-14 13:52:51 -08:00
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > < a class = "el" href = "classoperations__research_1_1Decision.html" title = "A Decision represents a choice point in the search tree." > Decision< / a > builder building a solution using heuristics with local search filters to evaluate its feasibility. < a href = "classoperations__research_1_1IntVarFilteredDecisionBuilder.html#details" > More...< / a > < br / > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-11-14 13:52:51 -08:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1IntVarFilteredHeuristic.html" > IntVarFilteredHeuristic< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Generic filter-based heuristic applied to IntVars. < a href = "classoperations__research_1_1IntVarFilteredHeuristic.html#details" > More...< / a > < br / > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-11-14 13:52:51 -08:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1RoutingFilteredHeuristic.html" > RoutingFilteredHeuristic< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Filter-based heuristic dedicated to routing. < a href = "classoperations__research_1_1RoutingFilteredHeuristic.html#details" > More...< / a > < br / > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-11-14 13:52:51 -08:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1CheapestInsertionFilteredHeuristic.html" > CheapestInsertionFilteredHeuristic< / a > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-11-14 13:52:51 -08:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structoperations__research_1_1CheapestInsertionFilteredHeuristic_1_1StartEndValue.html" > CheapestInsertionFilteredHeuristic::StartEndValue< / a > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-11-14 13:52:51 -08:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1GlobalCheapestInsertionFilteredHeuristic.html" > GlobalCheapestInsertionFilteredHeuristic< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > 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. < a href = "classoperations__research_1_1GlobalCheapestInsertionFilteredHeuristic.html#details" > More...< / a > < br / > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-11-14 13:52:51 -08:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structoperations__research_1_1GlobalCheapestInsertionFilteredHeuristic_1_1GlobalCheapestInsertionParameters.html" > GlobalCheapestInsertionFilteredHeuristic::GlobalCheapestInsertionParameters< / a > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-11-14 13:52:51 -08:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1LocalCheapestInsertionFilteredHeuristic.html" > LocalCheapestInsertionFilteredHeuristic< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Filter-base decision builder which builds a solution by inserting nodes at their cheapest position. < a href = "classoperations__research_1_1LocalCheapestInsertionFilteredHeuristic.html#details" > More...< / a > < br / > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-11-14 13:52:51 -08:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1CheapestAdditionFilteredHeuristic.html" > CheapestAdditionFilteredHeuristic< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Filtered-base decision builder based on the addition heuristic, extending a path from its start node with the cheapest arc. < a href = "classoperations__research_1_1CheapestAdditionFilteredHeuristic.html#details" > More...< / a > < br / > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-11-14 13:52:51 -08:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1EvaluatorCheapestAdditionFilteredHeuristic.html" > EvaluatorCheapestAdditionFilteredHeuristic< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > A < a class = "el" href = "classoperations__research_1_1CheapestAdditionFilteredHeuristic.html" title = "Filtered-base decision builder based on the addition heuristic, extending a path from its start node ..." > CheapestAdditionFilteredHeuristic< / a > where the notion of 'cheapest arc' comes from an arc evaluator. < a href = "classoperations__research_1_1EvaluatorCheapestAdditionFilteredHeuristic.html#details" > More...< / a > < br / > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-11-14 13:52:51 -08:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1ComparatorCheapestAdditionFilteredHeuristic.html" > ComparatorCheapestAdditionFilteredHeuristic< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > A < a class = "el" href = "classoperations__research_1_1CheapestAdditionFilteredHeuristic.html" title = "Filtered-base decision builder based on the addition heuristic, extending a path from its start node ..." > CheapestAdditionFilteredHeuristic< / a > where the notion of 'cheapest arc' comes from an arc comparator. < a href = "classoperations__research_1_1ComparatorCheapestAdditionFilteredHeuristic.html#details" > More...< / a > < br / > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-11-14 13:52:51 -08:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1SavingsFilteredHeuristic.html" > SavingsFilteredHeuristic< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Filter-based decision builder which builds a solution by using Clarke & Wright's Savings heuristic. < a href = "classoperations__research_1_1SavingsFilteredHeuristic.html#details" > More...< / a > < br / > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-11-14 13:52:51 -08:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structoperations__research_1_1SavingsFilteredHeuristic_1_1SavingsParameters.html" > SavingsFilteredHeuristic::SavingsParameters< / a > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-11-14 13:52:51 -08:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1SavingsFilteredHeuristic_1_1SavingsContainer.html" > SavingsFilteredHeuristic::SavingsContainer< S > < / a > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-11-14 13:52:51 -08:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > struct   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "structoperations__research_1_1SavingsFilteredHeuristic_1_1VehicleClassEntry.html" > SavingsFilteredHeuristic::VehicleClassEntry< / a > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-11-14 13:52:51 -08:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1SequentialSavingsFilteredHeuristic.html" > SequentialSavingsFilteredHeuristic< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1ParallelSavingsFilteredHeuristic.html" > ParallelSavingsFilteredHeuristic< / a > < / td > < / tr >
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1ChristofidesFilteredHeuristic.html" > ChristofidesFilteredHeuristic< / a > < / td > < / tr >
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Christofides addition heuristic. < a href = "classoperations__research_1_1ChristofidesFilteredHeuristic.html#details" > More...< / a > < br / > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1BasePathFilter.html" > BasePathFilter< / a > < / td > < / tr >
2019-07-05 09:33:19 +02:00
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Generic path-based filter class. < a href = "classoperations__research_1_1BasePathFilter.html#details" > More...< / a > < br / > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:" > < td class = "memItemLeft" align = "right" valign = "top" > class   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1CPFeasibilityFilter.html" > CPFeasibilityFilter< / a > < / td > < / tr >
2019-07-05 09:33:19 +02:00
< tr class = "memdesc:" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > This filter accepts deltas for which the assignment satisfies the constraints of the < a class = "el" href = "classoperations__research_1_1Solver.html" title = "Solver Class." > Solver< / a > . < a href = "classoperations__research_1_1CPFeasibilityFilter.html#details" > More...< / a > < br / > < / td > < / tr >
2019-06-13 15:36:14 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table > < table class = "memberdecls" >
2019-07-05 00:25:55 +02:00
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "namespaces" > < / a >
Namespaces< / h2 > < / td > < / tr >
< tr class = "memitem:namespaceoperations__research" > < td class = "memItemLeft" align = "right" valign = "top" >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespaceoperations__research.html" > operations_research< / a > < / td > < / tr >
2019-07-05 09:33:19 +02:00
< tr class = "memdesc:namespaceoperations__research" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > 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. < br / > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-06-13 15:36:14 +02:00
< / table > < table class = "memberdecls" >
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "func-members" > < / a >
Functions< / h2 > < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:a9c690acb94faaa03d89930ec84a76bba" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespaceoperations__research.html#a9c690acb94faaa03d89930ec84a76bba" > AppendTasksFromPath< / a > (const std::vector< int64 > & path, const std::vector< int64 > & min_travels, const std::vector< int64 > & max_travels, const std::vector< int64 > & pre_travels, const std::vector< int64 > & post_travels, const RoutingDimension & dimension, DisjunctivePropagator::Tasks *tasks)< / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:a9c690acb94faaa03d89930ec84a76bba" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:aec575fd72a48b07ceca957691d785d57" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespaceoperations__research.html#aec575fd72a48b07ceca957691d785d57" > AppendTasksFromIntervals< / a > (const std::vector< IntervalVar * > & intervals, DisjunctivePropagator::Tasks *tasks)< / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:aec575fd72a48b07ceca957691d785d57" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:a4f6a1b9fc737ba25fee7bf42d6635182" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespaceoperations__research.html#a4f6a1b9fc737ba25fee7bf42d6635182" > FillPathEvaluation< / a > (const std::vector< int64 > & path, const RoutingModel::TransitCallback2 & evaluator, std::vector< int64 > *values)< / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:a4f6a1b9fc737ba25fee7bf42d6635182" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:a4e907b3668a07c9fa3f62d938f6cb855" > < td class = "memItemLeft" align = "right" valign = "top" > DecisionBuilder *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespaceoperations__research.html#a4e907b3668a07c9fa3f62d938f6cb855" > MakeSetValuesFromTargets< / a > (Solver *solver, std::vector< IntVar * > variables, std::vector< int64 > targets)< / td > < / tr >
2019-07-05 09:33:19 +02:00
< tr class = "memdesc:a4e907b3668a07c9fa3f62d938f6cb855" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > A decision builder which tries to assign values to variables as close as possible to target values first. < a href = "namespaceoperations__research.html#a4e907b3668a07c9fa3f62d938f6cb855" > More...< / a > < br / > < / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:a4e907b3668a07c9fa3f62d938f6cb855" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:aa17cca151690da44e948d7fbe07abca5" > < td class = "memItemLeft" align = "right" valign = "top" > bool  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespaceoperations__research.html#aa17cca151690da44e948d7fbe07abca5" > SolveModelWithSat< / a > (const RoutingModel & model, const RoutingSearchParameters & search_parameters, const Assignment *initial_solution, Assignment *solution)< / td > < / tr >
< tr class = "memdesc:aa17cca151690da44e948d7fbe07abca5" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Attempts to solve the model using the cp-sat solver. < a href = "namespaceoperations__research.html#aa17cca151690da44e948d7fbe07abca5" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:aa17cca151690da44e948d7fbe07abca5" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-12 09:16:03 -07:00
< tr class = "memitem:ae3012c6b24c5be29fe921cb17f9d1d60" > < td class = "memItemLeft" align = "right" valign = "top" > IntVarLocalSearchFilter *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespaceoperations__research.html#ae3012c6b24c5be29fe921cb17f9d1d60" > MakeNodeDisjunctionFilter< / a > (const RoutingModel & routing_model)< / td > < / tr >
< tr class = "separator:ae3012c6b24c5be29fe921cb17f9d1d60" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ab6379327d3431a9fe8f7434651eece59" > < td class = "memItemLeft" align = "right" valign = "top" > IntVarLocalSearchFilter *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespaceoperations__research.html#ab6379327d3431a9fe8f7434651eece59" > MakeVehicleAmortizedCostFilter< / a > (const RoutingModel & routing_model)< / td > < / tr >
< tr class = "separator:ab6379327d3431a9fe8f7434651eece59" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:a3de43a015d4ee3ce53eb030e1d7232de" > < td class = "memItemLeft" align = "right" valign = "top" > IntVarLocalSearchFilter *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespaceoperations__research.html#a3de43a015d4ee3ce53eb030e1d7232de" > MakeTypeRegulationsFilter< / a > (const RoutingModel & routing_model)< / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:a3de43a015d4ee3ce53eb030e1d7232de" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2020-01-27 13:48:26 +01:00
< tr class = "memitem:ab8e67e2bfb62d98317d2dbdeb4318876" > < td class = "memItemLeft" align = "right" valign = "top" > void  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespaceoperations__research.html#ab8e67e2bfb62d98317d2dbdeb4318876" > AppendDimensionCumulFilters< / a > (const std::vector< RoutingDimension * > & dimensions, const RoutingSearchParameters & parameters, bool filter_objective_cost, std::vector< LocalSearchFilter * > *filters)< / td > < / tr >
< tr class = "separator:ab8e67e2bfb62d98317d2dbdeb4318876" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a856881ac4d4446a74ec5ef1a6bec5f72" > < td class = "memItemLeft" align = "right" valign = "top" > IntVarLocalSearchFilter *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespaceoperations__research.html#a856881ac4d4446a74ec5ef1a6bec5f72" > MakePathCumulFilter< / a > (const RoutingDimension & dimension, const RoutingSearchParameters & parameters, bool propagate_own_objective_value, bool filter_objective_cost)< / td > < / tr >
< tr class = "separator:a856881ac4d4446a74ec5ef1a6bec5f72" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-09-12 09:22:44 +02:00
< tr class = "memitem:a6956143fbdacf5edd7e4372394c29e2c" > < td class = "memItemLeft" align = "right" valign = "top" > IntVarLocalSearchFilter *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespaceoperations__research.html#a6956143fbdacf5edd7e4372394c29e2c" > MakeCumulBoundsPropagatorFilter< / a > (const RoutingDimension & dimension)< / td > < / tr >
< tr class = "separator:a6956143fbdacf5edd7e4372394c29e2c" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-09-03 15:42:34 +02:00
< tr class = "memitem:ad96516f011b5faf2c5587c797870ca9d" > < td class = "memItemLeft" align = "right" valign = "top" > IntVarLocalSearchFilter *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespaceoperations__research.html#ad96516f011b5faf2c5587c797870ca9d" > MakeGlobalLPCumulFilter< / a > (GlobalDimensionCumulOptimizer *optimizer, bool filter_objective_cost)< / td > < / tr >
< tr class = "separator:ad96516f011b5faf2c5587c797870ca9d" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:ae3ffb53eac6214b414e926238012a2a0" > < td class = "memItemLeft" align = "right" valign = "top" > IntVarLocalSearchFilter *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespaceoperations__research.html#ae3ffb53eac6214b414e926238012a2a0" > MakePickupDeliveryFilter< / a > (const RoutingModel & routing_model, const RoutingModel::IndexPairs & pairs, const std::vector< RoutingModel::PickupAndDeliveryPolicy > & vehicle_policies)< / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:ae3ffb53eac6214b414e926238012a2a0" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:a67f4b4b64a6c11717020eaa963b98c51" > < td class = "memItemLeft" align = "right" valign = "top" > IntVarLocalSearchFilter *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespaceoperations__research.html#a67f4b4b64a6c11717020eaa963b98c51" > MakeVehicleVarFilter< / a > (const RoutingModel & routing_model)< / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:a67f4b4b64a6c11717020eaa963b98c51" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:ae9a33af72abb5c2332a1f7ca71ab8215" > < td class = "memItemLeft" align = "right" valign = "top" > IntVarLocalSearchFilter *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespaceoperations__research.html#ae9a33af72abb5c2332a1f7ca71ab8215" > MakeVehicleBreaksFilter< / a > (const RoutingModel & routing_model, const RoutingDimension & dimension)< / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:ae9a33af72abb5c2332a1f7ca71ab8215" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-08-07 18:01:08 -07:00
< tr class = "memitem:aaa5f7d59af23f5e10fc43a3989fa0b68" > < td class = "memItemLeft" align = "right" valign = "top" > IntVarLocalSearchFilter *  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "namespaceoperations__research.html#aaa5f7d59af23f5e10fc43a3989fa0b68" > MakeCPFeasibilityFilter< / a > (const RoutingModel *routing_model)< / td > < / tr >
2019-07-05 00:25:55 +02:00
< tr class = "separator:aaa5f7d59af23f5e10fc43a3989fa0b68" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
2019-06-13 15:36:14 +02:00
< / table >
< / div > <!-- contents -->
2019-08-07 18:01:08 -07:00
< / div >
2019-06-13 15:36:14 +02:00
< / div >
< div id = "footer-container" >
< div id = "footer" >
< / div >
< / div >
< / body >
< / html >