225 lines
34 KiB
HTML
225 lines
34 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">OR-Tools 7.2</span>
|
|
</div>
|
|
</div>
|
|
<link rel="icon" href="https://developers.google.com/optimization/images/orLogo.png">
|
|
<div id="content">
|
|
<!-- Generated by Doxygen 1.8.15 -->
|
|
<div id="navrow1" class="tabs">
|
|
<ul class="tablist">
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
|
<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="navrow2" class="tabs2">
|
|
<ul class="tablist">
|
|
<li><a href="files.html"><span>File List</span></a></li>
|
|
<li><a href="globals.html"><span>File Members</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> |
|
|
<a href="#namespaces">Namespaces</a> |
|
|
<a href="#func-members">Functions</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">routing.h File Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<div class="textblock"><code>#include <cstddef></code><br />
|
|
<code>#include <functional></code><br />
|
|
<code>#include <memory></code><br />
|
|
<code>#include <queue></code><br />
|
|
<code>#include <string></code><br />
|
|
<code>#include <utility></code><br />
|
|
<code>#include <vector></code><br />
|
|
<code>#include "absl/container/flat_hash_map.h"</code><br />
|
|
<code>#include "absl/container/flat_hash_set.h"</code><br />
|
|
<code>#include "absl/hash/hash.h"</code><br />
|
|
<code>#include "absl/time/time.h"</code><br />
|
|
<code>#include "ortools/base/adjustable_priority_queue-inl.h"</code><br />
|
|
<code>#include "ortools/base/commandlineflags.h"</code><br />
|
|
<code>#include "ortools/base/hash.h"</code><br />
|
|
<code>#include "ortools/base/int_type_indexed_vector.h"</code><br />
|
|
<code>#include "<a class="el" href="constraint__solver_8h_source.html">ortools/constraint_solver/constraint_solver.h</a>"</code><br />
|
|
<code>#include "<a class="el" href="constraint__solveri_8h_source.html">ortools/constraint_solver/constraint_solveri.h</a>"</code><br />
|
|
<code>#include "<a class="el" href="routing__index__manager_8h_source.html">ortools/constraint_solver/routing_index_manager.h</a>"</code><br />
|
|
<code>#include "<a class="el" href="routing__parameters_8pb_8h_source.html">ortools/constraint_solver/routing_parameters.pb.h</a>"</code><br />
|
|
<code>#include "<a class="el" href="routing__types_8h_source.html">ortools/constraint_solver/routing_types.h</a>"</code><br />
|
|
<code>#include "ortools/glop/lp_solver.h"</code><br />
|
|
<code>#include "ortools/graph/graph.h"</code><br />
|
|
<code>#include "ortools/sat/theta_tree.h"</code><br />
|
|
<code>#include "ortools/util/range_query_function.h"</code><br />
|
|
</div>
|
|
<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  </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingModel.html">operations_research::RoutingModel</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<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">operations_research::RoutingModel::StateDependentTransit</a></td></tr>
|
|
<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>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<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">operations_research::RoutingModel::CostClass</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<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">operations_research::RoutingModel::CostClass::DimensionCost</a></td></tr>
|
|
<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>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<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">operations_research::RoutingModel::VehicleClass</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_1RoutingModelVisitor.html">operations_research::RoutingModelVisitor</a></td></tr>
|
|
<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>
|
|
<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_1DisjunctivePropagator.html">operations_research::DisjunctivePropagator</a></td></tr>
|
|
<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>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<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">operations_research::DisjunctivePropagator::Tasks</a></td></tr>
|
|
<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>
|
|
<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_1GlobalVehicleBreaksConstraint.html">operations_research::GlobalVehicleBreaksConstraint</a></td></tr>
|
|
<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>
|
|
<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_1TypeRegulationsChecker.html">operations_research::TypeRegulationsChecker</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<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">operations_research::TypeRegulationsChecker::NodeCount</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_1TypeIncompatibilityChecker.html">operations_research::TypeIncompatibilityChecker</a></td></tr>
|
|
<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>
|
|
<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_1TypeRequirementChecker.html">operations_research::TypeRequirementChecker</a></td></tr>
|
|
<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>
|
|
<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_1TypeRegulationsConstraint.html">operations_research::TypeRegulationsConstraint</a></td></tr>
|
|
<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>
|
|
<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_1SimpleBoundCosts.html">operations_research::SimpleBoundCosts</a></td></tr>
|
|
<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>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<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">operations_research::SimpleBoundCosts::BoundCost</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_1RoutingDimension.html">operations_research::RoutingDimension</a></td></tr>
|
|
<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>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<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">operations_research::RoutingDimension::NodePrecedence</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_1SweepArranger.html">operations_research::SweepArranger</a></td></tr>
|
|
<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>
|
|
<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_1IntVarFilteredDecisionBuilder.html">operations_research::IntVarFilteredDecisionBuilder</a></td></tr>
|
|
<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> builders building a solution using 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"> </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_1RoutingFilteredDecisionBuilder.html">operations_research::RoutingFilteredDecisionBuilder</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Filter-based decision builder dedicated to routing. <a href="classoperations__research_1_1RoutingFilteredDecisionBuilder.html#details">More...</a><br /></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_1CheapestInsertionFilteredDecisionBuilder.html">operations_research::CheapestInsertionFilteredDecisionBuilder</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1CheapestInsertionFilteredDecisionBuilder_1_1StartEndValue.html">operations_research::CheapestInsertionFilteredDecisionBuilder::StartEndValue</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_1GlobalCheapestInsertionFilteredDecisionBuilder.html">operations_research::GlobalCheapestInsertionFilteredDecisionBuilder</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_1GlobalCheapestInsertionFilteredDecisionBuilder.html#details">More...</a><br /></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_1LocalCheapestInsertionFilteredDecisionBuilder.html">operations_research::LocalCheapestInsertionFilteredDecisionBuilder</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_1LocalCheapestInsertionFilteredDecisionBuilder.html#details">More...</a><br /></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_1CheapestAdditionFilteredDecisionBuilder.html">operations_research::CheapestAdditionFilteredDecisionBuilder</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_1CheapestAdditionFilteredDecisionBuilder.html#details">More...</a><br /></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_1EvaluatorCheapestAdditionFilteredDecisionBuilder.html">operations_research::EvaluatorCheapestAdditionFilteredDecisionBuilder</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A <a class="el" href="classoperations__research_1_1CheapestAdditionFilteredDecisionBuilder.html" title="Filtered-base decision builder based on the addition heuristic, extending a path from its start node ...">CheapestAdditionFilteredDecisionBuilder</a> where the notion of 'cheapest arc' comes from an arc evaluator. <a href="classoperations__research_1_1EvaluatorCheapestAdditionFilteredDecisionBuilder.html#details">More...</a><br /></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_1ComparatorCheapestAdditionFilteredDecisionBuilder.html">operations_research::ComparatorCheapestAdditionFilteredDecisionBuilder</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A <a class="el" href="classoperations__research_1_1CheapestAdditionFilteredDecisionBuilder.html" title="Filtered-base decision builder based on the addition heuristic, extending a path from its start node ...">CheapestAdditionFilteredDecisionBuilder</a> where the notion of 'cheapest arc' comes from an arc comparator. <a href="classoperations__research_1_1ComparatorCheapestAdditionFilteredDecisionBuilder.html#details">More...</a><br /></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_1SavingsFilteredDecisionBuilder.html">operations_research::SavingsFilteredDecisionBuilder</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_1SavingsFilteredDecisionBuilder.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1SavingsParameters.html">operations_research::SavingsFilteredDecisionBuilder::SavingsParameters</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_1SavingsFilteredDecisionBuilder_1_1SavingsContainer.html">operations_research::SavingsFilteredDecisionBuilder::SavingsContainer< S ></a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1SavingsFilteredDecisionBuilder_1_1VehicleClassEntry.html">operations_research::SavingsFilteredDecisionBuilder::VehicleClassEntry</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_1SequentialSavingsFilteredDecisionBuilder.html">operations_research::SequentialSavingsFilteredDecisionBuilder</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_1ParallelSavingsFilteredDecisionBuilder.html">operations_research::ParallelSavingsFilteredDecisionBuilder</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_1ChristofidesFilteredDecisionBuilder.html">operations_research::ChristofidesFilteredDecisionBuilder</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Christofides addition heuristic. <a href="classoperations__research_1_1ChristofidesFilteredDecisionBuilder.html#details">More...</a><br /></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_1BasePathFilter.html">operations_research::BasePathFilter</a></td></tr>
|
|
<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>
|
|
<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_1CPFeasibilityFilter.html">operations_research::CPFeasibilityFilter</a></td></tr>
|
|
<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>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </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">  </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"> </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"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a9c690acb94faaa03d89930ec84a76bba">operations_research::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>
|
|
<tr class="separator:a9c690acb94faaa03d89930ec84a76bba"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<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">operations_research::AppendTasksFromIntervals</a> (const std::vector< IntervalVar * > &intervals, DisjunctivePropagator::Tasks *tasks)</td></tr>
|
|
<tr class="separator:aec575fd72a48b07ceca957691d785d57"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<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">operations_research::FillPathEvaluation</a> (const std::vector< int64 > &path, const RoutingModel::TransitCallback2 &evaluator, std::vector< int64 > *values)</td></tr>
|
|
<tr class="separator:a4f6a1b9fc737ba25fee7bf42d6635182"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<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">operations_research::MakeSetValuesFromTargets</a> (Solver *solver, std::vector< IntVar * > variables, std::vector< int64 > targets)</td></tr>
|
|
<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>
|
|
<tr class="separator:a4e907b3668a07c9fa3f62d938f6cb855"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab70fc1eb89b0210ef0e6d24256f7776a"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#ab70fc1eb89b0210ef0e6d24256f7776a">operations_research::SolveModelWithSat</a> (const RoutingModel &model, const Assignment *initial_solution, Assignment *solution)</td></tr>
|
|
<tr class="memdesc:ab70fc1eb89b0210ef0e6d24256f7776a"><td class="mdescLeft"> </td><td class="mdescRight">Attempts to solve the model using the cp-sat solver. <a href="namespaceoperations__research.html#ab70fc1eb89b0210ef0e6d24256f7776a">More...</a><br /></td></tr>
|
|
<tr class="separator:ab70fc1eb89b0210ef0e6d24256f7776a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae096121f1559753c357ed8ee184353f8"><td class="memItemLeft" align="right" valign="top">IntVarLocalSearchFilter * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#ae096121f1559753c357ed8ee184353f8">operations_research::MakeNodeDisjunctionFilter</a> (const RoutingModel &routing_model, std::function< void(int64)> objective_callback)</td></tr>
|
|
<tr class="separator:ae096121f1559753c357ed8ee184353f8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5f6417c3f4078b9fdaafdb8e19116b55"><td class="memItemLeft" align="right" valign="top">IntVarLocalSearchFilter * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a5f6417c3f4078b9fdaafdb8e19116b55">operations_research::MakeVehicleAmortizedCostFilter</a> (const RoutingModel &routing_model, Solver::ObjectiveWatcher objective_callback)</td></tr>
|
|
<tr class="separator:a5f6417c3f4078b9fdaafdb8e19116b55"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<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">operations_research::MakeTypeRegulationsFilter</a> (const RoutingModel &routing_model)</td></tr>
|
|
<tr class="separator:a3de43a015d4ee3ce53eb030e1d7232de"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab7e213b9838f546243a7040d58506cd9"><td class="memItemLeft" align="right" valign="top">std::vector< IntVarLocalSearchFilter * > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#ab7e213b9838f546243a7040d58506cd9">operations_research::MakeCumulFilters</a> (const RoutingDimension &dimension, Solver::ObjectiveWatcher objective_callback, bool filter_objective_cost)</td></tr>
|
|
<tr class="separator:ab7e213b9838f546243a7040d58506cd9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab64b4ace42f0744e0814257a9a6ffa16"><td class="memItemLeft" align="right" valign="top">IntVarLocalSearchFilter * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#ab64b4ace42f0744e0814257a9a6ffa16">operations_research::MakePathCumulFilter</a> (const RoutingDimension &dimension, Solver::ObjectiveWatcher objective_callback, bool propagate_own_objective_value, bool filter_objective_cost)</td></tr>
|
|
<tr class="separator:ab64b4ace42f0744e0814257a9a6ffa16"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:afbaa470f2ff428bc316d5eac61567955"><td class="memItemLeft" align="right" valign="top">IntVarLocalSearchFilter * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#afbaa470f2ff428bc316d5eac61567955">operations_research::MakeGlobalLPCumulFilter</a> (const RoutingDimension &dimension, Solver::ObjectiveWatcher objective_callback, bool filter_objective_cost)</td></tr>
|
|
<tr class="separator:afbaa470f2ff428bc316d5eac61567955"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<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">operations_research::MakePickupDeliveryFilter</a> (const RoutingModel &routing_model, const RoutingModel::IndexPairs &pairs, const std::vector< RoutingModel::PickupAndDeliveryPolicy > &vehicle_policies)</td></tr>
|
|
<tr class="separator:ae3ffb53eac6214b414e926238012a2a0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<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">operations_research::MakeVehicleVarFilter</a> (const RoutingModel &routing_model)</td></tr>
|
|
<tr class="separator:a67f4b4b64a6c11717020eaa963b98c51"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<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">operations_research::MakeVehicleBreaksFilter</a> (const RoutingModel &routing_model, const RoutingDimension &dimension)</td></tr>
|
|
<tr class="separator:ae9a33af72abb5c2332a1f7ca71ab8215"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<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">operations_research::MakeCPFeasibilityFilter</a> (const RoutingModel *routing_model)</td></tr>
|
|
<tr class="separator:aaa5f7d59af23f5e10fc43a3989fa0b68"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
</div><!-- contents -->
|
|
</div>
|
|
<div id="footer-container">
|
|
<div id="footer">
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|