Files
ortools-clone/docs/cpp_routing/routing_8h.html

215 lines
32 KiB
HTML
Raw Normal View History

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-04-23 15:34:43 +02:00
<!-- Generated by Doxygen 1.8.16 -->
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> &#124;
<a href="#namespaces">Namespaces</a> &#124;
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 &#160;</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">&#160;</td></tr>
2019-08-07 18:01:08 -07:00
<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>
2019-07-05 09:33:19 +02:00
<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>
2019-06-13 15:36:14 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2019-08-07 18:01:08 -07:00
<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>
2019-06-13 15:36:14 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2019-08-07 18:01:08 -07:00
<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>
2019-07-05 09:33:19 +02:00
<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>
2019-06-13 15:36:14 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2019-08-07 18:01:08 -07:00
<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>
2019-06-13 15:36:14 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2019-08-07 18:01:08 -07:00
<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>
2019-07-05 09:33:19 +02:00
<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>
2019-06-13 15:36:14 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2019-08-07 18:01:08 -07:00
<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>
2019-07-05 09:33:19 +02:00
<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>
2019-06-13 15:36:14 +02:00
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2019-08-07 18:01:08 -07:00
<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>
2019-07-05 09:33:19 +02:00
<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>
2019-08-07 18:01:08 -07:00
<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>
2019-07-05 09:33:19 +02:00
<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>
2019-08-07 18:01:08 -07:00
<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>
2020-04-23 15:34:43 +02:00
<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_1TypePolicyOccurrence.html">TypeRegulationsChecker::TypePolicyOccurrence</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
2019-08-07 18:01:08 -07:00
<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>
2019-07-05 09:33:19 +02:00
<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>
2019-08-07 18:01:08 -07:00
<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>
2019-07-05 09:33:19 +02:00
<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>
2019-08-07 18:01:08 -07:00
<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>
2019-07-05 09:33:19 +02:00
<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>
2019-08-07 18:01:08 -07:00
<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>
2019-07-05 09:33:19 +02:00
<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>
2019-08-07 18:01:08 -07:00
<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>
2019-08-07 18:01:08 -07:00
<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>
2019-07-05 09:33:19 +02:00
<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>
2019-08-07 18:01:08 -07:00
<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>
2019-08-07 18:01:08 -07:00
<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>
2019-07-05 09:33:19 +02:00
<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>
2019-08-07 18:01:08 -07:00
<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>
2019-11-14 13:52:51 -08:00
<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>
2019-11-14 13:52:51 -08:00
<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>
2019-11-14 13:52:51 -08:00
<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>
2019-11-14 13:52:51 -08:00
<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>
2019-11-14 13:52:51 -08:00
<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>
2019-11-14 13:52:51 -08:00
<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>
2019-11-14 13:52:51 -08:00
<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>
2019-11-14 13:52:51 -08:00
<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>
2019-11-14 13:52:51 -08:00
<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>
2019-11-14 13:52:51 -08:00
<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>
2019-11-14 13:52:51 -08:00
<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>
2019-11-14 13:52:51 -08:00
<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>
2019-11-14 13:52:51 -08:00
<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>
2019-11-14 13:52:51 -08:00
<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>
2019-11-14 13:52:51 -08:00
<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>
2019-11-14 13:52:51 -08:00
<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>
2019-08-07 18:01:08 -07:00
<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>
2019-07-05 09:33:19 +02:00
<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>
2019-08-07 18:01:08 -07:00
<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>
2019-07-05 09:33:19 +02:00
<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>
2019-06-13 15:36:14 +02:00
<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>
2019-07-05 09:33:19 +02:00
<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>
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&#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>
2019-08-07 18:01:08 -07:00
<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>
2019-08-07 18:01:08 -07:00
<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>
2019-08-07 18:01:08 -07:00
<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>
2019-07-05 09:33:19 +02:00
<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>
2019-08-07 18:01:08 -07:00
<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>
2019-08-12 09:16:03 -07:00
<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>
2019-08-07 18:01:08 -07:00
<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>
2020-01-27 13:48:26 +01:00
<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>
2019-09-12 09:22:44 +02:00
<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>
2019-09-03 15:42:34 +02:00
<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>
2019-08-07 18:01:08 -07:00
<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>
2019-08-07 18:01:08 -07:00
<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>
2019-08-07 18:01:08 -07:00
<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>
2019-08-07 18:01:08 -07:00
<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>
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>