Files
ortools-clone/docs/cpp_routing/routing_8h.html
Corentin Le Molgat 56440d30e5 Update docs to v7.5
2020-01-27 13:48:26 +01:00

215 lines
32 KiB
HTML

<!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"/>-->
<link rel="stylesheet" type="text/css" href="ortools.css" title="default" media="screen,print" />
<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">
<span id="sfml">Google OR-Tools 7.5</span>
</div>
</div>
<div id="content" style="width: 100%; overflow: hidden;">
<div style="margin-left: 15px; margin-top: 5px; float: left; color: #145A32;">
<h2>C++ Reference</h2>
<ul>
<li><a href="../cpp_algorithms/annotated.html">Algorithms</a></li>
<li><a href="../cpp_sat/annotated.html">CP-SAT</a></li>
<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>
<div id="content">
<div align="center">
<h1 style="color: #145A32;">C++ Reference: Routing</h1>
</div>
<!-- Generated by Doxygen 1.8.18 -->
<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>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<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>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">routing.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<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>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingModel.html">RoutingModel</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1RoutingModel_1_1StateDependentTransit.html">RoutingModel::StateDependentTransit</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1RoutingModel_1_1CostClass.html">RoutingModel::CostClass</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</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>
<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1RoutingModel_1_1VehicleClass.html">RoutingModel::VehicleClass</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingModelVisitor.html">RoutingModelVisitor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Routing model visitor. <a href="classoperations__research_1_1RoutingModelVisitor.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1DisjunctivePropagator.html">DisjunctivePropagator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1DisjunctivePropagator_1_1Tasks.html">DisjunctivePropagator::Tasks</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1GlobalVehicleBreaksConstraint.html">GlobalVehicleBreaksConstraint</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1TypeRegulationsChecker.html">TypeRegulationsChecker</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1TypeRegulationsChecker_1_1NodeCount.html">TypeRegulationsChecker::NodeCount</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1TypeIncompatibilityChecker.html">TypeIncompatibilityChecker</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checker for type incompatibilities. <a href="classoperations__research_1_1TypeIncompatibilityChecker.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1TypeRequirementChecker.html">TypeRequirementChecker</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checker for type requirements. <a href="classoperations__research_1_1TypeRequirementChecker.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1TypeRegulationsConstraint.html">TypeRegulationsConstraint</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SimpleBoundCosts.html">SimpleBoundCosts</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1SimpleBoundCosts_1_1BoundCost.html">SimpleBoundCosts::BoundCost</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html">RoutingDimension</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1RoutingDimension_1_1NodePrecedence.html">RoutingDimension::NodePrecedence</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SweepArranger.html">SweepArranger</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVarFilteredDecisionBuilder.html">IntVarFilteredDecisionBuilder</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</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">&#160;</td><td class="mdescRight">Generic filter-based heuristic applied to IntVars. <a href="classoperations__research_1_1IntVarFilteredHeuristic.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</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">&#160;</td><td class="mdescRight">Filter-based heuristic dedicated to routing. <a href="classoperations__research_1_1RoutingFilteredHeuristic.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1CheapestInsertionFilteredHeuristic.html">CheapestInsertionFilteredHeuristic</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1CheapestInsertionFilteredHeuristic_1_1StartEndValue.html">CheapestInsertionFilteredHeuristic::StartEndValue</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</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">&#160;</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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1GlobalCheapestInsertionFilteredHeuristic_1_1GlobalCheapestInsertionParameters.html">GlobalCheapestInsertionFilteredHeuristic::GlobalCheapestInsertionParameters</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</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">&#160;</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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</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">&#160;</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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</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">&#160;</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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</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">&#160;</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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</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">&#160;</td><td class="mdescRight">Filter-based decision builder which builds a solution by using Clarke &amp; Wright's Savings heuristic. <a href="classoperations__research_1_1SavingsFilteredHeuristic.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1SavingsFilteredHeuristic_1_1SavingsParameters.html">SavingsFilteredHeuristic::SavingsParameters</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SavingsFilteredHeuristic_1_1SavingsContainer.html">SavingsFilteredHeuristic::SavingsContainer&lt; S &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1SavingsFilteredHeuristic_1_1VehicleClassEntry.html">SavingsFilteredHeuristic::VehicleClassEntry</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</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">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</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">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</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">&#160;</td><td class="mdescRight">Christofides addition heuristic. <a href="classoperations__research_1_1ChristofidesFilteredHeuristic.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1BasePathFilter.html">BasePathFilter</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic path-based filter class. <a href="classoperations__research_1_1BasePathFilter.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1CPFeasibilityFilter.html">CPFeasibilityFilter</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<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"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html">operations_research</a></td></tr>
<tr class="memdesc:namespaceoperations__research"><td class="mdescLeft">&#160;</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>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a9c690acb94faaa03d89930ec84a76bba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a9c690acb94faaa03d89930ec84a76bba">AppendTasksFromPath</a> (const std::vector&lt; int64 &gt; &amp;path, const std::vector&lt; int64 &gt; &amp;min_travels, const std::vector&lt; int64 &gt; &amp;max_travels, const std::vector&lt; int64 &gt; &amp;pre_travels, const std::vector&lt; int64 &gt; &amp;post_travels, const RoutingDimension &amp;dimension, DisjunctivePropagator::Tasks *tasks)</td></tr>
<tr class="separator:a9c690acb94faaa03d89930ec84a76bba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec575fd72a48b07ceca957691d785d57"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#aec575fd72a48b07ceca957691d785d57">AppendTasksFromIntervals</a> (const std::vector&lt; IntervalVar * &gt; &amp;intervals, DisjunctivePropagator::Tasks *tasks)</td></tr>
<tr class="separator:aec575fd72a48b07ceca957691d785d57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f6a1b9fc737ba25fee7bf42d6635182"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a4f6a1b9fc737ba25fee7bf42d6635182">FillPathEvaluation</a> (const std::vector&lt; int64 &gt; &amp;path, const RoutingModel::TransitCallback2 &amp;evaluator, std::vector&lt; int64 &gt; *values)</td></tr>
<tr class="separator:a4f6a1b9fc737ba25fee7bf42d6635182"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e907b3668a07c9fa3f62d938f6cb855"><td class="memItemLeft" align="right" valign="top">DecisionBuilder *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a4e907b3668a07c9fa3f62d938f6cb855">MakeSetValuesFromTargets</a> (Solver *solver, std::vector&lt; IntVar * &gt; variables, std::vector&lt; int64 &gt; targets)</td></tr>
<tr class="memdesc:a4e907b3668a07c9fa3f62d938f6cb855"><td class="mdescLeft">&#160;</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>
<tr class="separator:a4e907b3668a07c9fa3f62d938f6cb855"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa17cca151690da44e948d7fbe07abca5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#aa17cca151690da44e948d7fbe07abca5">SolveModelWithSat</a> (const RoutingModel &amp;model, const RoutingSearchParameters &amp;search_parameters, const Assignment *initial_solution, Assignment *solution)</td></tr>
<tr class="memdesc:aa17cca151690da44e948d7fbe07abca5"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:ae3012c6b24c5be29fe921cb17f9d1d60"><td class="memItemLeft" align="right" valign="top">IntVarLocalSearchFilter *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#ae3012c6b24c5be29fe921cb17f9d1d60">MakeNodeDisjunctionFilter</a> (const RoutingModel &amp;routing_model)</td></tr>
<tr class="separator:ae3012c6b24c5be29fe921cb17f9d1d60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6379327d3431a9fe8f7434651eece59"><td class="memItemLeft" align="right" valign="top">IntVarLocalSearchFilter *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#ab6379327d3431a9fe8f7434651eece59">MakeVehicleAmortizedCostFilter</a> (const RoutingModel &amp;routing_model)</td></tr>
<tr class="separator:ab6379327d3431a9fe8f7434651eece59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3de43a015d4ee3ce53eb030e1d7232de"><td class="memItemLeft" align="right" valign="top">IntVarLocalSearchFilter *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a3de43a015d4ee3ce53eb030e1d7232de">MakeTypeRegulationsFilter</a> (const RoutingModel &amp;routing_model)</td></tr>
<tr class="separator:a3de43a015d4ee3ce53eb030e1d7232de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8e67e2bfb62d98317d2dbdeb4318876"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#ab8e67e2bfb62d98317d2dbdeb4318876">AppendDimensionCumulFilters</a> (const std::vector&lt; RoutingDimension * &gt; &amp;dimensions, const RoutingSearchParameters &amp;parameters, bool filter_objective_cost, std::vector&lt; LocalSearchFilter * &gt; *filters)</td></tr>
<tr class="separator:ab8e67e2bfb62d98317d2dbdeb4318876"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a856881ac4d4446a74ec5ef1a6bec5f72"><td class="memItemLeft" align="right" valign="top">IntVarLocalSearchFilter *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a856881ac4d4446a74ec5ef1a6bec5f72">MakePathCumulFilter</a> (const RoutingDimension &amp;dimension, const RoutingSearchParameters &amp;parameters, bool propagate_own_objective_value, bool filter_objective_cost)</td></tr>
<tr class="separator:a856881ac4d4446a74ec5ef1a6bec5f72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6956143fbdacf5edd7e4372394c29e2c"><td class="memItemLeft" align="right" valign="top">IntVarLocalSearchFilter *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a6956143fbdacf5edd7e4372394c29e2c">MakeCumulBoundsPropagatorFilter</a> (const RoutingDimension &amp;dimension)</td></tr>
<tr class="separator:a6956143fbdacf5edd7e4372394c29e2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad96516f011b5faf2c5587c797870ca9d"><td class="memItemLeft" align="right" valign="top">IntVarLocalSearchFilter *&#160;</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">&#160;</td></tr>
<tr class="memitem:ae3ffb53eac6214b414e926238012a2a0"><td class="memItemLeft" align="right" valign="top">IntVarLocalSearchFilter *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#ae3ffb53eac6214b414e926238012a2a0">MakePickupDeliveryFilter</a> (const RoutingModel &amp;routing_model, const RoutingModel::IndexPairs &amp;pairs, const std::vector&lt; RoutingModel::PickupAndDeliveryPolicy &gt; &amp;vehicle_policies)</td></tr>
<tr class="separator:ae3ffb53eac6214b414e926238012a2a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67f4b4b64a6c11717020eaa963b98c51"><td class="memItemLeft" align="right" valign="top">IntVarLocalSearchFilter *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a67f4b4b64a6c11717020eaa963b98c51">MakeVehicleVarFilter</a> (const RoutingModel &amp;routing_model)</td></tr>
<tr class="separator:a67f4b4b64a6c11717020eaa963b98c51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9a33af72abb5c2332a1f7ca71ab8215"><td class="memItemLeft" align="right" valign="top">IntVarLocalSearchFilter *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#ae9a33af72abb5c2332a1f7ca71ab8215">MakeVehicleBreaksFilter</a> (const RoutingModel &amp;routing_model, const RoutingDimension &amp;dimension)</td></tr>
<tr class="separator:ae9a33af72abb5c2332a1f7ca71ab8215"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa5f7d59af23f5e10fc43a3989fa0b68"><td class="memItemLeft" align="right" valign="top">IntVarLocalSearchFilter *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#aaa5f7d59af23f5e10fc43a3989fa0b68">MakeCPFeasibilityFilter</a> (const RoutingModel *routing_model)</td></tr>
<tr class="separator:aaa5f7d59af23f5e10fc43a3989fa0b68"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div>
</div>
<div id="footer-container">
<div id="footer">
</div>
</div>
</body>
</html>