292 lines
16 KiB
HTML
292 lines
16 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="doxygen.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.1@</span>
|
|
</div>
|
|
</div>
|
|
<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="pages.html"><span>Related Pages</span></a></li>
|
|
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
|
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
|
<li><a href="files.html"><span>Files</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<div id="navrow2" class="tabs2">
|
|
<ul class="tablist">
|
|
<li><a href="annotated.html"><span>Class List</span></a></li>
|
|
<li><a href="classes.html"><span>Class Index</span></a></li>
|
|
<li><a href="inherits.html"><span>Class Hierarchy</span></a></li>
|
|
<li><a href="functions.html"><span>Class Members</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<div id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="namespaceoperations__research.html">operations_research</a></li><li class="navelem"><a class="el" href="classoperations__research_1_1LocalDimensionCumulOptimizer.html">LocalDimensionCumulOptimizer</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="classoperations__research_1_1LocalDimensionCumulOptimizer-members.html">List of all members</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">operations_research::LocalDimensionCumulOptimizer Class Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Class used to compute optimal values for dimension cumuls of routes, minimizing cumul soft lower and upper bound costs, and vehicle span costs of a route.
|
|
<a href="classoperations__research_1_1LocalDimensionCumulOptimizer.html#details">More...</a></p>
|
|
|
|
<p><code>#include <<a class="el" href="routing__lp__scheduling_8h_source.html">routing_lp_scheduling.h</a>></code></p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:ac4fce7a68e479fab75cf1d5e161d75df"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1LocalDimensionCumulOptimizer.html#ac4fce7a68e479fab75cf1d5e161d75df">LocalDimensionCumulOptimizer</a> (const <a class="el" href="routing_8h.html#a50ba9dd11704e0be7edaa9e9f24142ff">RoutingDimension</a> *<a class="el" href="classoperations__research_1_1LocalDimensionCumulOptimizer.html#a9771b7daec71c086f027561e905a447e">dimension</a>)</td></tr>
|
|
<tr class="separator:ac4fce7a68e479fab75cf1d5e161d75df"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a61efb881f6d454c92969b636860c3ec0"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1LocalDimensionCumulOptimizer.html#a61efb881f6d454c92969b636860c3ec0">ComputeRouteCumulCost</a> (int vehicle, const std::function< int64(int64)> &next_accessor, int64 *optimal_cost)</td></tr>
|
|
<tr class="memdesc:a61efb881f6d454c92969b636860c3ec0"><td class="mdescLeft"> </td><td class="mdescRight">If feasible, computes the optimal cost of the route performed by a vehicle, minimizing cumul soft lower and upper bound costs and vehicle span costs, and stores it in "optimal_cost" (if not null). <a href="#a61efb881f6d454c92969b636860c3ec0">More...</a><br /></td></tr>
|
|
<tr class="separator:a61efb881f6d454c92969b636860c3ec0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a17d5586b9cbc444067c85f3a664edc94"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1LocalDimensionCumulOptimizer.html#a17d5586b9cbc444067c85f3a664edc94">ComputeRouteCumulCostWithoutFixedTransits</a> (int vehicle, const std::function< int64(int64)> &next_accessor, int64 *optimal_cost_without_transits)</td></tr>
|
|
<tr class="memdesc:a17d5586b9cbc444067c85f3a664edc94"><td class="mdescLeft"> </td><td class="mdescRight">Same as ComputeRouteCumulCost, but the cost computed does not contain the part of the vehicle span cost due to fixed transits. <a href="#a17d5586b9cbc444067c85f3a664edc94">More...</a><br /></td></tr>
|
|
<tr class="separator:a17d5586b9cbc444067c85f3a664edc94"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aac604b6944a3226c09b8227cfcd95e41"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1LocalDimensionCumulOptimizer.html#aac604b6944a3226c09b8227cfcd95e41">ComputeRouteCumuls</a> (int vehicle, const std::function< int64(int64)> &next_accessor, std::vector< int64 > *optimal_cumuls)</td></tr>
|
|
<tr class="memdesc:aac604b6944a3226c09b8227cfcd95e41"><td class="mdescLeft"> </td><td class="mdescRight">If feasible, computes the optimal cumul values of the route performed by a vehicle, minimizing cumul soft lower and upper bound costs and vehicle span costs, stores them in "optimal_cumuls" (if not null), and returns true. <a href="#aac604b6944a3226c09b8227cfcd95e41">More...</a><br /></td></tr>
|
|
<tr class="separator:aac604b6944a3226c09b8227cfcd95e41"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a80bde55511799f3e2b2e3d82c92b1514"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1LocalDimensionCumulOptimizer.html#a80bde55511799f3e2b2e3d82c92b1514">ComputePackedRouteCumuls</a> (int vehicle, const std::function< int64(int64)> &next_accessor, std::vector< int64 > *packed_cumuls)</td></tr>
|
|
<tr class="memdesc:a80bde55511799f3e2b2e3d82c92b1514"><td class="mdescLeft"> </td><td class="mdescRight">Similar to ComputeRouteCumuls, but also tries to pack the cumul values on the route, such that the cost remains the same, the cumul of route end is minimized, and then the cumul of the start of the route is maximized. <a href="#a80bde55511799f3e2b2e3d82c92b1514">More...</a><br /></td></tr>
|
|
<tr class="separator:a80bde55511799f3e2b2e3d82c92b1514"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9771b7daec71c086f027561e905a447e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="routing_8h.html#a50ba9dd11704e0be7edaa9e9f24142ff">RoutingDimension</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1LocalDimensionCumulOptimizer.html#a9771b7daec71c086f027561e905a447e">dimension</a> () const</td></tr>
|
|
<tr class="separator:a9771b7daec71c086f027561e905a447e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>Class used to compute optimal values for dimension cumuls of routes, minimizing cumul soft lower and upper bound costs, and vehicle span costs of a route. </p>
|
|
<p>In its methods, next_accessor is a callback returning the next node of a given node on a route. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing__lp__scheduling_8h_source.html#l00116">116</a> of file <a class="el" href="routing__lp__scheduling_8h_source.html">routing_lp_scheduling.h</a>.</p>
|
|
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a id="ac4fce7a68e479fab75cf1d5e161d75df"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac4fce7a68e479fab75cf1d5e161d75df">◆ </a></span>LocalDimensionCumulOptimizer()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">operations_research::LocalDimensionCumulOptimizer::LocalDimensionCumulOptimizer </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="routing_8h.html#a50ba9dd11704e0be7edaa9e9f24142ff">RoutingDimension</a> * </td>
|
|
<td class="paramname"><em>dimension</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
<a id="a80bde55511799f3e2b2e3d82c92b1514"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a80bde55511799f3e2b2e3d82c92b1514">◆ </a></span>ComputePackedRouteCumuls()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool operations_research::LocalDimensionCumulOptimizer::ComputePackedRouteCumuls </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::function< int64(int64)> & </td>
|
|
<td class="paramname"><em>next_accessor</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">std::vector< int64 > * </td>
|
|
<td class="paramname"><em>packed_cumuls</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Similar to ComputeRouteCumuls, but also tries to pack the cumul values on the route, such that the cost remains the same, the cumul of route end is minimized, and then the cumul of the start of the route is maximized. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a61efb881f6d454c92969b636860c3ec0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a61efb881f6d454c92969b636860c3ec0">◆ </a></span>ComputeRouteCumulCost()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool operations_research::LocalDimensionCumulOptimizer::ComputeRouteCumulCost </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::function< int64(int64)> & </td>
|
|
<td class="paramname"><em>next_accessor</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64 * </td>
|
|
<td class="paramname"><em>optimal_cost</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>If feasible, computes the optimal cost of the route performed by a vehicle, minimizing cumul soft lower and upper bound costs and vehicle span costs, and stores it in "optimal_cost" (if not null). </p>
|
|
<p>Returns true iff the route respects all constraints. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a17d5586b9cbc444067c85f3a664edc94"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a17d5586b9cbc444067c85f3a664edc94">◆ </a></span>ComputeRouteCumulCostWithoutFixedTransits()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool operations_research::LocalDimensionCumulOptimizer::ComputeRouteCumulCostWithoutFixedTransits </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::function< int64(int64)> & </td>
|
|
<td class="paramname"><em>next_accessor</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64 * </td>
|
|
<td class="paramname"><em>optimal_cost_without_transits</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Same as ComputeRouteCumulCost, but the cost computed does not contain the part of the vehicle span cost due to fixed transits. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aac604b6944a3226c09b8227cfcd95e41"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aac604b6944a3226c09b8227cfcd95e41">◆ </a></span>ComputeRouteCumuls()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool operations_research::LocalDimensionCumulOptimizer::ComputeRouteCumuls </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::function< int64(int64)> & </td>
|
|
<td class="paramname"><em>next_accessor</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">std::vector< int64 > * </td>
|
|
<td class="paramname"><em>optimal_cumuls</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>If feasible, computes the optimal cumul values of the route performed by a vehicle, minimizing cumul soft lower and upper bound costs and vehicle span costs, stores them in "optimal_cumuls" (if not null), and returns true. </p>
|
|
<p>Returns false if the route is not feasible. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9771b7daec71c086f027561e905a447e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9771b7daec71c086f027561e905a447e">◆ </a></span>dimension()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const <a class="el" href="routing_8h.html#a50ba9dd11704e0be7edaa9e9f24142ff">RoutingDimension</a>* operations_research::LocalDimensionCumulOptimizer::dimension </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing__lp__scheduling_8h_source.html#l00149">149</a> of file <a class="el" href="routing__lp__scheduling_8h_source.html">routing_lp_scheduling.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
|
<li><a class="el" href="routing__lp__scheduling_8h_source.html">routing_lp_scheduling.h</a></li>
|
|
</ul>
|
|
</div><!-- contents -->
|
|
</div>
|
|
<div id="footer-container">
|
|
<div id="footer">
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|