2158 lines
117 KiB
HTML
2158 lines
117 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 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="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_1RoutingDimension.html">RoutingDimension</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#nested-classes">Classes</a> |
|
|
<a href="#pub-types">Public Types</a> |
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="classoperations__research_1_1RoutingDimension-members.html">List of all members</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">RoutingDimension</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>Dimensions represent quantities accumulated at nodes along the routes. </p>
|
|
<p>They represent quantities such as weights or volumes carried along the route, or distance or times.</p>
|
|
<p>Quantities at a node are represented by "cumul" variables and the increase or decrease of quantities between nodes are represented by "transit" variables. These variables are linked as follows:</p>
|
|
<p>if j == next(i), cumuls(j) = cumuls(i) + transits(i) + slacks(i) + state_dependent_transits(i)</p>
|
|
<p>where slack is a positive slack variable (can represent waiting times for a time dimension), and state_dependent_transits is a non-purely functional version of transits_. Favour transits over state_dependent_transits when possible, because purely functional callbacks allow more optimisations and make the model faster and easier to solve. for a given vehicle, it is passed as an external vector, it would be better to have this information here. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l02076">2076</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
</div><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">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1RoutingDimension_1_1NodePrecedence.html">NodePrecedence</a></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="pub-types"></a>
|
|
Public Types</h2></td></tr>
|
|
<tr class="memitem:a64f4e1f55b71a9f9a0d7e3ef7033ade7"><td class="memItemLeft" align="right" valign="top">typedef std::function< int64(int, int)> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a64f4e1f55b71a9f9a0d7e3ef7033ade7">PickupToDeliveryLimitFunction</a></td></tr>
|
|
<tr class="memdesc:a64f4e1f55b71a9f9a0d7e3ef7033ade7"><td class="mdescLeft"> </td><td class="mdescRight">Limits, in terms of maximum difference between the cumul variables, between the pickup and delivery alternatives belonging to a single pickup/delivery pair in the <a class="el" href="classoperations__research_1_1RoutingModel.html">RoutingModel</a>. <a href="classoperations__research_1_1RoutingDimension.html#a64f4e1f55b71a9f9a0d7e3ef7033ade7">More...</a><br /></td></tr>
|
|
<tr class="separator:a64f4e1f55b71a9f9a0d7e3ef7033ade7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><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:af42a5771d18b334091cc0f786219fe04"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#af42a5771d18b334091cc0f786219fe04">~RoutingDimension</a> ()</td></tr>
|
|
<tr class="separator:af42a5771d18b334091cc0f786219fe04"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a35a576bb3ea6814f122593d44a3c391e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1RoutingModel.html">RoutingModel</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a35a576bb3ea6814f122593d44a3c391e">model</a> () const</td></tr>
|
|
<tr class="memdesc:a35a576bb3ea6814f122593d44a3c391e"><td class="mdescLeft"> </td><td class="mdescRight">Returns the model on which the dimension was created. <a href="classoperations__research_1_1RoutingDimension.html#a35a576bb3ea6814f122593d44a3c391e">More...</a><br /></td></tr>
|
|
<tr class="separator:a35a576bb3ea6814f122593d44a3c391e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7ed584226a1930ec8663c3e4efe28a93"><td class="memItemLeft" align="right" valign="top">int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a7ed584226a1930ec8663c3e4efe28a93">GetTransitValue</a> (int64 from_index, int64 to_index, int64 vehicle) const</td></tr>
|
|
<tr class="memdesc:a7ed584226a1930ec8663c3e4efe28a93"><td class="mdescLeft"> </td><td class="mdescRight">Returns the transition value for a given pair of nodes (as var index); this value is the one taken by the corresponding transit variable when the 'next' variable for 'from_index' is bound to 'to_index'. <a href="classoperations__research_1_1RoutingDimension.html#a7ed584226a1930ec8663c3e4efe28a93">More...</a><br /></td></tr>
|
|
<tr class="separator:a7ed584226a1930ec8663c3e4efe28a93"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a175989a601fa29235dce43255647ab01"><td class="memItemLeft" align="right" valign="top">int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a175989a601fa29235dce43255647ab01">GetTransitValueFromClass</a> (int64 from_index, int64 to_index, int64 vehicle_class) const</td></tr>
|
|
<tr class="memdesc:a175989a601fa29235dce43255647ab01"><td class="mdescLeft"> </td><td class="mdescRight">Same as above but taking a vehicle class of the dimension instead of a vehicle (the class of a vehicle can be obtained with <a class="el" href="classoperations__research_1_1RoutingDimension.html#aa46d01169492b00c999344e8982ddd0f">vehicle_to_class()</a>). <a href="classoperations__research_1_1RoutingDimension.html#a175989a601fa29235dce43255647ab01">More...</a><br /></td></tr>
|
|
<tr class="separator:a175989a601fa29235dce43255647ab01"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4d87db39b37a97bcf6669448a67f0356"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a4d87db39b37a97bcf6669448a67f0356">CumulVar</a> (int64 index) const</td></tr>
|
|
<tr class="memdesc:a4d87db39b37a97bcf6669448a67f0356"><td class="mdescLeft"> </td><td class="mdescRight">Get the cumul, transit and slack variables for the given node (given as int64 var index). <a href="classoperations__research_1_1RoutingDimension.html#a4d87db39b37a97bcf6669448a67f0356">More...</a><br /></td></tr>
|
|
<tr class="separator:a4d87db39b37a97bcf6669448a67f0356"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:abad8b7edc9f675056db28171da1da655"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#abad8b7edc9f675056db28171da1da655">TransitVar</a> (int64 index) const</td></tr>
|
|
<tr class="separator:abad8b7edc9f675056db28171da1da655"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5997ca01d12b18b158ac0232acc731dd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a5997ca01d12b18b158ac0232acc731dd">FixedTransitVar</a> (int64 index) const</td></tr>
|
|
<tr class="separator:a5997ca01d12b18b158ac0232acc731dd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac300c6449a65333961d8abdd7ce40a7a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#ac300c6449a65333961d8abdd7ce40a7a">SlackVar</a> (int64 index) const</td></tr>
|
|
<tr class="separator:ac300c6449a65333961d8abdd7ce40a7a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1b6f521fdc9dff38b7e065c838fa54a3"><td class="memItemLeft" align="right" valign="top">const std::vector< <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a1b6f521fdc9dff38b7e065c838fa54a3">cumuls</a> () const</td></tr>
|
|
<tr class="memdesc:a1b6f521fdc9dff38b7e065c838fa54a3"><td class="mdescLeft"> </td><td class="mdescRight">Like <a class="el" href="classoperations__research_1_1RoutingDimension.html#a4d87db39b37a97bcf6669448a67f0356" title="Get the cumul, transit and slack variables for the given node (given as int64 var index).">CumulVar()</a>, <a class="el" href="classoperations__research_1_1RoutingDimension.html#abad8b7edc9f675056db28171da1da655">TransitVar()</a>, <a class="el" href="classoperations__research_1_1RoutingDimension.html#ac300c6449a65333961d8abdd7ce40a7a">SlackVar()</a> but return the whole variable vectors instead (indexed by int64 var index). <a href="classoperations__research_1_1RoutingDimension.html#a1b6f521fdc9dff38b7e065c838fa54a3">More...</a><br /></td></tr>
|
|
<tr class="separator:a1b6f521fdc9dff38b7e065c838fa54a3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6a4b2eb4cf5999b4e84ef3da78beb42c"><td class="memItemLeft" align="right" valign="top">const std::vector< <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a6a4b2eb4cf5999b4e84ef3da78beb42c">fixed_transits</a> () const</td></tr>
|
|
<tr class="separator:a6a4b2eb4cf5999b4e84ef3da78beb42c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6f170c2c3b2a0c5f616aa449a38d84fa"><td class="memItemLeft" align="right" valign="top">const std::vector< <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a6f170c2c3b2a0c5f616aa449a38d84fa">transits</a> () const</td></tr>
|
|
<tr class="separator:a6f170c2c3b2a0c5f616aa449a38d84fa"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:adeac1b3791fe4e3ba366bbb60c268ae7"><td class="memItemLeft" align="right" valign="top">const std::vector< <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#adeac1b3791fe4e3ba366bbb60c268ae7">slacks</a> () const</td></tr>
|
|
<tr class="separator:adeac1b3791fe4e3ba366bbb60c268ae7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aff15c149ac7cbb96d340d8c1370d5aea"><td class="memItemLeft" align="right" valign="top">const std::vector< SortedDisjointIntervalList > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#aff15c149ac7cbb96d340d8c1370d5aea">forbidden_intervals</a> () const</td></tr>
|
|
<tr class="memdesc:aff15c149ac7cbb96d340d8c1370d5aea"><td class="mdescLeft"> </td><td class="mdescRight">Returns forbidden intervals for each node. <a href="classoperations__research_1_1RoutingDimension.html#aff15c149ac7cbb96d340d8c1370d5aea">More...</a><br /></td></tr>
|
|
<tr class="separator:aff15c149ac7cbb96d340d8c1370d5aea"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:acf39f330b220a62bbb8fac9c8c1256b5"><td class="memItemLeft" align="right" valign="top">SortedDisjointIntervalList </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#acf39f330b220a62bbb8fac9c8c1256b5">GetAllowedIntervalsInRange</a> (int64 index, int64 min_value, int64 max_value) const</td></tr>
|
|
<tr class="memdesc:acf39f330b220a62bbb8fac9c8c1256b5"><td class="mdescLeft"> </td><td class="mdescRight">Returns allowed intervals for a given node in a given interval. <a href="classoperations__research_1_1RoutingDimension.html#acf39f330b220a62bbb8fac9c8c1256b5">More...</a><br /></td></tr>
|
|
<tr class="separator:acf39f330b220a62bbb8fac9c8c1256b5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa4596b194814f3513d421381074a9a08"><td class="memItemLeft" align="right" valign="top">int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#aa4596b194814f3513d421381074a9a08">GetFirstPossibleGreaterOrEqualValueForNode</a> (int64 index, int64 min_value) const</td></tr>
|
|
<tr class="memdesc:aa4596b194814f3513d421381074a9a08"><td class="mdescLeft"> </td><td class="mdescRight">Returns the smallest value outside the forbidden intervals of node 'index' that is greater than or equal to a given 'min_value'. <a href="classoperations__research_1_1RoutingDimension.html#aa4596b194814f3513d421381074a9a08">More...</a><br /></td></tr>
|
|
<tr class="separator:aa4596b194814f3513d421381074a9a08"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aaee65a899797a014dd19d0fa76f0d8a2"><td class="memItemLeft" align="right" valign="top">int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#aaee65a899797a014dd19d0fa76f0d8a2">GetLastPossibleLessOrEqualValueForNode</a> (int64 index, int64 max_value) const</td></tr>
|
|
<tr class="memdesc:aaee65a899797a014dd19d0fa76f0d8a2"><td class="mdescLeft"> </td><td class="mdescRight">Returns the largest value outside the forbidden intervals of node 'index' that is less than or equal to a given 'max_value'. <a href="classoperations__research_1_1RoutingDimension.html#aaee65a899797a014dd19d0fa76f0d8a2">More...</a><br /></td></tr>
|
|
<tr class="separator:aaee65a899797a014dd19d0fa76f0d8a2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5c95c1b0049cb5dddbd4995ad8cd5b4e"><td class="memItemLeft" align="right" valign="top">const std::vector< int64 > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a5c95c1b0049cb5dddbd4995ad8cd5b4e">vehicle_capacities</a> () const</td></tr>
|
|
<tr class="memdesc:a5c95c1b0049cb5dddbd4995ad8cd5b4e"><td class="mdescLeft"> </td><td class="mdescRight">Returns the capacities for all vehicles. <a href="classoperations__research_1_1RoutingDimension.html#a5c95c1b0049cb5dddbd4995ad8cd5b4e">More...</a><br /></td></tr>
|
|
<tr class="separator:a5c95c1b0049cb5dddbd4995ad8cd5b4e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aae1962408e06dbb45f6e5ee67e530880"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classoperations__research_1_1RoutingModel.html#a5fa8aee5b0c67072dbbb03f1899ec60a">RoutingModel::TransitCallback2</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#aae1962408e06dbb45f6e5ee67e530880">transit_evaluator</a> (int vehicle) const</td></tr>
|
|
<tr class="memdesc:aae1962408e06dbb45f6e5ee67e530880"><td class="mdescLeft"> </td><td class="mdescRight">Returns the callback evaluating the transit value between two node indices for a given vehicle. <a href="classoperations__research_1_1RoutingDimension.html#aae1962408e06dbb45f6e5ee67e530880">More...</a><br /></td></tr>
|
|
<tr class="separator:aae1962408e06dbb45f6e5ee67e530880"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4e440577c58c25c988280a98328e5598"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classoperations__research_1_1RoutingModel.html#a204041e5264282d54dfd198011e776d3">RoutingModel::TransitCallback1</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a4e440577c58c25c988280a98328e5598">GetUnaryTransitEvaluator</a> (int vehicle) const</td></tr>
|
|
<tr class="memdesc:a4e440577c58c25c988280a98328e5598"><td class="mdescLeft"> </td><td class="mdescRight">Returns the unary callback evaluating the transit value between two node indices for a given vehicle. <a href="classoperations__research_1_1RoutingDimension.html#a4e440577c58c25c988280a98328e5598">More...</a><br /></td></tr>
|
|
<tr class="separator:a4e440577c58c25c988280a98328e5598"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6873634e63019f7c8af33a0b7e79d397"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a6873634e63019f7c8af33a0b7e79d397">AreVehicleTransitsPositive</a> (int vehicle) const</td></tr>
|
|
<tr class="memdesc:a6873634e63019f7c8af33a0b7e79d397"><td class="mdescLeft"> </td><td class="mdescRight">Returns true iff the transit evaluator of 'vehicle' is positive for all arcs. <a href="classoperations__research_1_1RoutingDimension.html#a6873634e63019f7c8af33a0b7e79d397">More...</a><br /></td></tr>
|
|
<tr class="separator:a6873634e63019f7c8af33a0b7e79d397"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa46d01169492b00c999344e8982ddd0f"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#aa46d01169492b00c999344e8982ddd0f">vehicle_to_class</a> (int vehicle) const</td></tr>
|
|
<tr class="separator:aa46d01169492b00c999344e8982ddd0f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a360d9c53a26f994367971cb23c8697ff"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a360d9c53a26f994367971cb23c8697ff">SetSpanUpperBoundForVehicle</a> (int64 upper_bound, int vehicle)</td></tr>
|
|
<tr class="memdesc:a360d9c53a26f994367971cb23c8697ff"><td class="mdescLeft"> </td><td class="mdescRight">!defined(SWIGCSHARP) && !defined(SWIGJAVA) !defined(SWIGPYTHON) <a href="classoperations__research_1_1RoutingDimension.html#a360d9c53a26f994367971cb23c8697ff">More...</a><br /></td></tr>
|
|
<tr class="separator:a360d9c53a26f994367971cb23c8697ff"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa98cc88bb33e9f703167cb030c093930"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#aa98cc88bb33e9f703167cb030c093930">SetSpanCostCoefficientForVehicle</a> (int64 coefficient, int vehicle)</td></tr>
|
|
<tr class="memdesc:aa98cc88bb33e9f703167cb030c093930"><td class="mdescLeft"> </td><td class="mdescRight">Sets a cost proportional to the dimension span on a given vehicle, or on all vehicles at once. <a href="classoperations__research_1_1RoutingDimension.html#aa98cc88bb33e9f703167cb030c093930">More...</a><br /></td></tr>
|
|
<tr class="separator:aa98cc88bb33e9f703167cb030c093930"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5d861ad3e93b404872633f359570f234"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a5d861ad3e93b404872633f359570f234">SetSpanCostCoefficientForAllVehicles</a> (int64 coefficient)</td></tr>
|
|
<tr class="separator:a5d861ad3e93b404872633f359570f234"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae961a8435c4bc4ac850fa06bff29b625"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#ae961a8435c4bc4ac850fa06bff29b625">SetGlobalSpanCostCoefficient</a> (int64 coefficient)</td></tr>
|
|
<tr class="memdesc:ae961a8435c4bc4ac850fa06bff29b625"><td class="mdescLeft"> </td><td class="mdescRight">Sets a cost proportional to the <em>global</em> dimension span, that is the difference between the largest value of route end cumul variables and the smallest value of route start cumul variables. <a href="classoperations__research_1_1RoutingDimension.html#ae961a8435c4bc4ac850fa06bff29b625">More...</a><br /></td></tr>
|
|
<tr class="separator:ae961a8435c4bc4ac850fa06bff29b625"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a052c958dd77221524f13f06d87960e63"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a052c958dd77221524f13f06d87960e63">SetCumulVarPiecewiseLinearCost</a> (int64 index, const PiecewiseLinearFunction &cost)</td></tr>
|
|
<tr class="memdesc:a052c958dd77221524f13f06d87960e63"><td class="mdescLeft"> </td><td class="mdescRight">Sets a piecewise linear cost on the cumul variable of a given variable index. <a href="classoperations__research_1_1RoutingDimension.html#a052c958dd77221524f13f06d87960e63">More...</a><br /></td></tr>
|
|
<tr class="separator:a052c958dd77221524f13f06d87960e63"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae85d6e3327a52eb2e93195d1ba45884d"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#ae85d6e3327a52eb2e93195d1ba45884d">HasCumulVarPiecewiseLinearCost</a> (int64 index) const</td></tr>
|
|
<tr class="memdesc:ae85d6e3327a52eb2e93195d1ba45884d"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if a piecewise linear cost has been set for a given variable index. <a href="classoperations__research_1_1RoutingDimension.html#ae85d6e3327a52eb2e93195d1ba45884d">More...</a><br /></td></tr>
|
|
<tr class="separator:ae85d6e3327a52eb2e93195d1ba45884d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a702dccba87a55da6912acde06f743712"><td class="memItemLeft" align="right" valign="top">const PiecewiseLinearFunction * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a702dccba87a55da6912acde06f743712">GetCumulVarPiecewiseLinearCost</a> (int64 index) const</td></tr>
|
|
<tr class="memdesc:a702dccba87a55da6912acde06f743712"><td class="mdescLeft"> </td><td class="mdescRight">Returns the piecewise linear cost of a cumul variable for a given variable index. <a href="classoperations__research_1_1RoutingDimension.html#a702dccba87a55da6912acde06f743712">More...</a><br /></td></tr>
|
|
<tr class="separator:a702dccba87a55da6912acde06f743712"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab4ee0772eb17ffba5e3a2f6f38026546"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#ab4ee0772eb17ffba5e3a2f6f38026546">SetCumulVarSoftUpperBound</a> (int64 index, int64 upper_bound, int64 coefficient)</td></tr>
|
|
<tr class="memdesc:ab4ee0772eb17ffba5e3a2f6f38026546"><td class="mdescLeft"> </td><td class="mdescRight">Sets a soft upper bound to the cumul variable of a given variable index. <a href="classoperations__research_1_1RoutingDimension.html#ab4ee0772eb17ffba5e3a2f6f38026546">More...</a><br /></td></tr>
|
|
<tr class="separator:ab4ee0772eb17ffba5e3a2f6f38026546"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aea64f6b7cb80887be5478c35609cab1c"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#aea64f6b7cb80887be5478c35609cab1c">HasCumulVarSoftUpperBound</a> (int64 index) const</td></tr>
|
|
<tr class="memdesc:aea64f6b7cb80887be5478c35609cab1c"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if a soft upper bound has been set for a given variable index. <a href="classoperations__research_1_1RoutingDimension.html#aea64f6b7cb80887be5478c35609cab1c">More...</a><br /></td></tr>
|
|
<tr class="separator:aea64f6b7cb80887be5478c35609cab1c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aacc17c3711ac030db624e72c5ae2394f"><td class="memItemLeft" align="right" valign="top">int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#aacc17c3711ac030db624e72c5ae2394f">GetCumulVarSoftUpperBound</a> (int64 index) const</td></tr>
|
|
<tr class="memdesc:aacc17c3711ac030db624e72c5ae2394f"><td class="mdescLeft"> </td><td class="mdescRight">Returns the soft upper bound of a cumul variable for a given variable index. <a href="classoperations__research_1_1RoutingDimension.html#aacc17c3711ac030db624e72c5ae2394f">More...</a><br /></td></tr>
|
|
<tr class="separator:aacc17c3711ac030db624e72c5ae2394f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af362b70cab1a5a90703808e9575c2f54"><td class="memItemLeft" align="right" valign="top">int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#af362b70cab1a5a90703808e9575c2f54">GetCumulVarSoftUpperBoundCoefficient</a> (int64 index) const</td></tr>
|
|
<tr class="memdesc:af362b70cab1a5a90703808e9575c2f54"><td class="mdescLeft"> </td><td class="mdescRight">Returns the cost coefficient of the soft upper bound of a cumul variable for a given variable index. <a href="classoperations__research_1_1RoutingDimension.html#af362b70cab1a5a90703808e9575c2f54">More...</a><br /></td></tr>
|
|
<tr class="separator:af362b70cab1a5a90703808e9575c2f54"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:adc8bb803b3a5f74bd5e1c04d0154b03c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#adc8bb803b3a5f74bd5e1c04d0154b03c">SetCumulVarSoftLowerBound</a> (int64 index, int64 lower_bound, int64 coefficient)</td></tr>
|
|
<tr class="memdesc:adc8bb803b3a5f74bd5e1c04d0154b03c"><td class="mdescLeft"> </td><td class="mdescRight">Sets a soft lower bound to the cumul variable of a given variable index. <a href="classoperations__research_1_1RoutingDimension.html#adc8bb803b3a5f74bd5e1c04d0154b03c">More...</a><br /></td></tr>
|
|
<tr class="separator:adc8bb803b3a5f74bd5e1c04d0154b03c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a54e75670bdbf7abca93c9e02cfee83fe"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a54e75670bdbf7abca93c9e02cfee83fe">HasCumulVarSoftLowerBound</a> (int64 index) const</td></tr>
|
|
<tr class="memdesc:a54e75670bdbf7abca93c9e02cfee83fe"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if a soft lower bound has been set for a given variable index. <a href="classoperations__research_1_1RoutingDimension.html#a54e75670bdbf7abca93c9e02cfee83fe">More...</a><br /></td></tr>
|
|
<tr class="separator:a54e75670bdbf7abca93c9e02cfee83fe"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a607df50e6bc0dc54fbe811e96155ee95"><td class="memItemLeft" align="right" valign="top">int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a607df50e6bc0dc54fbe811e96155ee95">GetCumulVarSoftLowerBound</a> (int64 index) const</td></tr>
|
|
<tr class="memdesc:a607df50e6bc0dc54fbe811e96155ee95"><td class="mdescLeft"> </td><td class="mdescRight">Returns the soft lower bound of a cumul variable for a given variable index. <a href="classoperations__research_1_1RoutingDimension.html#a607df50e6bc0dc54fbe811e96155ee95">More...</a><br /></td></tr>
|
|
<tr class="separator:a607df50e6bc0dc54fbe811e96155ee95"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a51eadbd617f6658396e5ba790f6b0c19"><td class="memItemLeft" align="right" valign="top">int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a51eadbd617f6658396e5ba790f6b0c19">GetCumulVarSoftLowerBoundCoefficient</a> (int64 index) const</td></tr>
|
|
<tr class="memdesc:a51eadbd617f6658396e5ba790f6b0c19"><td class="mdescLeft"> </td><td class="mdescRight">Returns the cost coefficient of the soft lower bound of a cumul variable for a given variable index. <a href="classoperations__research_1_1RoutingDimension.html#a51eadbd617f6658396e5ba790f6b0c19">More...</a><br /></td></tr>
|
|
<tr class="separator:a51eadbd617f6658396e5ba790f6b0c19"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae34995163df20f89961e907ac3b25532"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#ae34995163df20f89961e907ac3b25532">SetBreakIntervalsOfVehicle</a> (std::vector< <a class="el" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a> * > breaks, int vehicle, int pre_travel_evaluator, int post_travel_evaluator)</td></tr>
|
|
<tr class="memdesc:ae34995163df20f89961e907ac3b25532"><td class="mdescLeft"> </td><td class="mdescRight">Sets the breaks for a given vehicle. <a href="classoperations__research_1_1RoutingDimension.html#ae34995163df20f89961e907ac3b25532">More...</a><br /></td></tr>
|
|
<tr class="separator:ae34995163df20f89961e907ac3b25532"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae0ff0210afb5c8d829a9d2158833c50f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#ae0ff0210afb5c8d829a9d2158833c50f">SetBreakIntervalsOfVehicle</a> (std::vector< <a class="el" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a> * > breaks, int vehicle, std::vector< int64 > node_visit_transits)</td></tr>
|
|
<tr class="memdesc:ae0ff0210afb5c8d829a9d2158833c50f"><td class="mdescLeft"> </td><td class="mdescRight">Deprecated, sets pre_travel(i, j) = node_visit_transit[i]. <a href="classoperations__research_1_1RoutingDimension.html#ae0ff0210afb5c8d829a9d2158833c50f">More...</a><br /></td></tr>
|
|
<tr class="separator:ae0ff0210afb5c8d829a9d2158833c50f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a68c42bd26c7f0a2f1a0247e51a45aab5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a68c42bd26c7f0a2f1a0247e51a45aab5">SetBreakDistanceDurationOfVehicle</a> (int64 distance, int64 duration, int vehicle)</td></tr>
|
|
<tr class="memdesc:a68c42bd26c7f0a2f1a0247e51a45aab5"><td class="mdescLeft"> </td><td class="mdescRight">With breaks supposed to be consecutive, this forces the distance between breaks of size at least minimum_break_duration to be at least distance. <a href="classoperations__research_1_1RoutingDimension.html#a68c42bd26c7f0a2f1a0247e51a45aab5">More...</a><br /></td></tr>
|
|
<tr class="separator:a68c42bd26c7f0a2f1a0247e51a45aab5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a76645042dd00fd9a97a9c4a395927947"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a76645042dd00fd9a97a9c4a395927947">InitializeBreaks</a> ()</td></tr>
|
|
<tr class="memdesc:a76645042dd00fd9a97a9c4a395927947"><td class="mdescLeft"> </td><td class="mdescRight">Sets up vehicle_break_intervals_, vehicle_break_distance_duration_, pre_travel_evaluators and post_travel_evaluators. <a href="classoperations__research_1_1RoutingDimension.html#a76645042dd00fd9a97a9c4a395927947">More...</a><br /></td></tr>
|
|
<tr class="separator:a76645042dd00fd9a97a9c4a395927947"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6debc638c02bfb2b4afe0afccdd98ca5"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a6debc638c02bfb2b4afe0afccdd98ca5">HasBreakConstraints</a> () const</td></tr>
|
|
<tr class="memdesc:a6debc638c02bfb2b4afe0afccdd98ca5"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if any break interval or break distance was defined. <a href="classoperations__research_1_1RoutingDimension.html#a6debc638c02bfb2b4afe0afccdd98ca5">More...</a><br /></td></tr>
|
|
<tr class="separator:a6debc638c02bfb2b4afe0afccdd98ca5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9535f9b1e14dc539e25ef9dffacbd3d7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a9535f9b1e14dc539e25ef9dffacbd3d7">SetBreakIntervalsOfVehicle</a> (std::vector< <a class="el" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a> * > breaks, int vehicle, std::vector< int64 > node_visit_transits, std::function< int64(int64, int64)> group_delays)</td></tr>
|
|
<tr class="memdesc:a9535f9b1e14dc539e25ef9dffacbd3d7"><td class="mdescLeft"> </td><td class="mdescRight">Deprecated, sets pre_travel(i, j) = node_visit_transit[i] and post_travel(i, j) = group_delays(i, j). <a href="classoperations__research_1_1RoutingDimension.html#a9535f9b1e14dc539e25ef9dffacbd3d7">More...</a><br /></td></tr>
|
|
<tr class="separator:a9535f9b1e14dc539e25ef9dffacbd3d7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1016552c3e687e1a555e1c6cf7525e0e"><td class="memItemLeft" align="right" valign="top">const std::vector< <a class="el" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a> * > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a1016552c3e687e1a555e1c6cf7525e0e">GetBreakIntervalsOfVehicle</a> (int vehicle) const</td></tr>
|
|
<tr class="memdesc:a1016552c3e687e1a555e1c6cf7525e0e"><td class="mdescLeft"> </td><td class="mdescRight">Returns the break intervals set by <a class="el" href="classoperations__research_1_1RoutingDimension.html#ae34995163df20f89961e907ac3b25532" title="Sets the breaks for a given vehicle.">SetBreakIntervalsOfVehicle()</a>. <a href="classoperations__research_1_1RoutingDimension.html#a1016552c3e687e1a555e1c6cf7525e0e">More...</a><br /></td></tr>
|
|
<tr class="separator:a1016552c3e687e1a555e1c6cf7525e0e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:acbe051ae21f1e3a5c66455e4c408cffd"><td class="memItemLeft" align="right" valign="top">const std::vector< std::pair< int64, int64 > > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#acbe051ae21f1e3a5c66455e4c408cffd">GetBreakDistanceDurationOfVehicle</a> (int vehicle) const</td></tr>
|
|
<tr class="memdesc:acbe051ae21f1e3a5c66455e4c408cffd"><td class="mdescLeft"> </td><td class="mdescRight">Returns the pairs (distance, duration) specified by break distance constraints. <a href="classoperations__research_1_1RoutingDimension.html#acbe051ae21f1e3a5c66455e4c408cffd">More...</a><br /></td></tr>
|
|
<tr class="separator:acbe051ae21f1e3a5c66455e4c408cffd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8e93e99ce491f2779c0d2e5e7de5a98a"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a8e93e99ce491f2779c0d2e5e7de5a98a">GetPreTravelEvaluatorOfVehicle</a> (int vehicle) const</td></tr>
|
|
<tr class="memdesc:a8e93e99ce491f2779c0d2e5e7de5a98a"><td class="mdescLeft"> </td><td class="mdescRight">!defined(SWIGPYTHON) <a href="classoperations__research_1_1RoutingDimension.html#a8e93e99ce491f2779c0d2e5e7de5a98a">More...</a><br /></td></tr>
|
|
<tr class="separator:a8e93e99ce491f2779c0d2e5e7de5a98a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:afb4c32e76561cad95bd8be2777d8f1ac"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#afb4c32e76561cad95bd8be2777d8f1ac">GetPostTravelEvaluatorOfVehicle</a> (int vehicle) const</td></tr>
|
|
<tr class="separator:afb4c32e76561cad95bd8be2777d8f1ac"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a717341229f16012899360656534bba50"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classoperations__research_1_1RoutingDimension.html">RoutingDimension</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a717341229f16012899360656534bba50">base_dimension</a> () const</td></tr>
|
|
<tr class="memdesc:a717341229f16012899360656534bba50"><td class="mdescLeft"> </td><td class="mdescRight">Returns the parent in the dependency tree if any or nullptr otherwise. <a href="classoperations__research_1_1RoutingDimension.html#a717341229f16012899360656534bba50">More...</a><br /></td></tr>
|
|
<tr class="separator:a717341229f16012899360656534bba50"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab425ddb1df081fea8f527c63d824fb88"><td class="memItemLeft" align="right" valign="top">int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#ab425ddb1df081fea8f527c63d824fb88">ShortestTransitionSlack</a> (int64 node) const</td></tr>
|
|
<tr class="memdesc:ab425ddb1df081fea8f527c63d824fb88"><td class="mdescLeft"> </td><td class="mdescRight">It makes sense to use the function only for self-dependent dimension. <a href="classoperations__research_1_1RoutingDimension.html#ab425ddb1df081fea8f527c63d824fb88">More...</a><br /></td></tr>
|
|
<tr class="separator:ab425ddb1df081fea8f527c63d824fb88"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad8227ba86a01f26e4f173cd5e219d5d1"><td class="memItemLeft" align="right" valign="top">const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#ad8227ba86a01f26e4f173cd5e219d5d1">name</a> () const</td></tr>
|
|
<tr class="memdesc:ad8227ba86a01f26e4f173cd5e219d5d1"><td class="mdescLeft"> </td><td class="mdescRight">Returns the name of the dimension. <a href="classoperations__research_1_1RoutingDimension.html#ad8227ba86a01f26e4f173cd5e219d5d1">More...</a><br /></td></tr>
|
|
<tr class="separator:ad8227ba86a01f26e4f173cd5e219d5d1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad3f93c4522b3a4abd48a8c360b8c1c80"><td class="memItemLeft" align="right" valign="top">const ReverseArcListGraph< int, int > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#ad3f93c4522b3a4abd48a8c360b8c1c80">GetPathPrecedenceGraph</a> () const</td></tr>
|
|
<tr class="memdesc:ad3f93c4522b3a4abd48a8c360b8c1c80"><td class="mdescLeft"> </td><td class="mdescRight">Accessors. <a href="classoperations__research_1_1RoutingDimension.html#ad3f93c4522b3a4abd48a8c360b8c1c80">More...</a><br /></td></tr>
|
|
<tr class="separator:ad3f93c4522b3a4abd48a8c360b8c1c80"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa21323f8eeaa9c502d6cfb92109a73d4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#aa21323f8eeaa9c502d6cfb92109a73d4">SetPickupToDeliveryLimitFunctionForPair</a> (<a class="el" href="classoperations__research_1_1RoutingDimension.html#a64f4e1f55b71a9f9a0d7e3ef7033ade7">PickupToDeliveryLimitFunction</a> limit_function, int pair_index)</td></tr>
|
|
<tr class="separator:aa21323f8eeaa9c502d6cfb92109a73d4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a36f4aa60ff1b8c1dd5fc1180199cad8d"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a36f4aa60ff1b8c1dd5fc1180199cad8d">HasPickupToDeliveryLimits</a> () const</td></tr>
|
|
<tr class="separator:a36f4aa60ff1b8c1dd5fc1180199cad8d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa70f385bdf5fc31eec8a848dea13b357"><td class="memItemLeft" align="right" valign="top">int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#aa70f385bdf5fc31eec8a848dea13b357">GetPickupToDeliveryLimitForPair</a> (int pair_index, int pickup, int delivery) const</td></tr>
|
|
<tr class="separator:aa70f385bdf5fc31eec8a848dea13b357"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a80ebd60db4ccb3f512288a553f181fe9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a80ebd60db4ccb3f512288a553f181fe9">AddNodePrecedence</a> (<a class="el" href="structoperations__research_1_1RoutingDimension_1_1NodePrecedence.html">NodePrecedence</a> precedence)</td></tr>
|
|
<tr class="separator:a80ebd60db4ccb3f512288a553f181fe9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae4b40d046de51f0ace9138a3692b0090"><td class="memItemLeft" align="right" valign="top">const std::vector< <a class="el" href="structoperations__research_1_1RoutingDimension_1_1NodePrecedence.html">NodePrecedence</a> > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#ae4b40d046de51f0ace9138a3692b0090">GetNodePrecedences</a> () const</td></tr>
|
|
<tr class="separator:ae4b40d046de51f0ace9138a3692b0090"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a10fbd239f47aef280b475ae0db9e8f9a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a10fbd239f47aef280b475ae0db9e8f9a">AddNodePrecedence</a> (int64 first_node, int64 second_node, int64 offset)</td></tr>
|
|
<tr class="separator:a10fbd239f47aef280b475ae0db9e8f9a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:affe684b0df382fbf2b5eda869ec0c271"><td class="memItemLeft" align="right" valign="top">int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#affe684b0df382fbf2b5eda869ec0c271">GetSpanUpperBoundForVehicle</a> (int vehicle) const</td></tr>
|
|
<tr class="separator:affe684b0df382fbf2b5eda869ec0c271"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a88c834076ab8e7237fe49b17a907a847"><td class="memItemLeft" align="right" valign="top">const std::vector< int64 > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a88c834076ab8e7237fe49b17a907a847">vehicle_span_upper_bounds</a> () const</td></tr>
|
|
<tr class="separator:a88c834076ab8e7237fe49b17a907a847"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a26d28dacdef6a70d512df1a175429558"><td class="memItemLeft" align="right" valign="top">int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a26d28dacdef6a70d512df1a175429558">GetSpanCostCoefficientForVehicle</a> (int vehicle) const</td></tr>
|
|
<tr class="separator:a26d28dacdef6a70d512df1a175429558"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac99ab58c828c4e814dd3c3d508ff5233"><td class="memItemLeft" align="right" valign="top">const std::vector< int64 > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#ac99ab58c828c4e814dd3c3d508ff5233">vehicle_span_cost_coefficients</a> () const</td></tr>
|
|
<tr class="separator:ac99ab58c828c4e814dd3c3d508ff5233"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1faf1ea53b992b47f60d0622e42f7a50"><td class="memItemLeft" align="right" valign="top">int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a1faf1ea53b992b47f60d0622e42f7a50">global_span_cost_coefficient</a> () const</td></tr>
|
|
<tr class="separator:a1faf1ea53b992b47f60d0622e42f7a50"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a375d5aec667421cb92f6439464420062"><td class="memItemLeft" align="right" valign="top">int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a375d5aec667421cb92f6439464420062">GetGlobalOptimizerOffset</a> () const</td></tr>
|
|
<tr class="separator:a375d5aec667421cb92f6439464420062"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a82f14203d850d1ede49849c5020c6f51"><td class="memItemLeft" align="right" valign="top">int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a82f14203d850d1ede49849c5020c6f51">GetLocalOptimizerOffsetForVehicle</a> (int vehicle) const</td></tr>
|
|
<tr class="separator:a82f14203d850d1ede49849c5020c6f51"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a29304c6e17a12d06903ef952d685c5b3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a29304c6e17a12d06903ef952d685c5b3">SetSoftSpanUpperBoundForVehicle</a> (<a class="el" href="structoperations__research_1_1SimpleBoundCosts_1_1BoundCost.html">SimpleBoundCosts::BoundCost</a> bound_cost, int vehicle)</td></tr>
|
|
<tr class="memdesc:a29304c6e17a12d06903ef952d685c5b3"><td class="mdescLeft"> </td><td class="mdescRight">If the span of vehicle on this dimension is larger than bound, the cost will be increased by cost * (span - bound). <a href="classoperations__research_1_1RoutingDimension.html#a29304c6e17a12d06903ef952d685c5b3">More...</a><br /></td></tr>
|
|
<tr class="separator:a29304c6e17a12d06903ef952d685c5b3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af0185f7c0ea3abf45191db23514604f3"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#af0185f7c0ea3abf45191db23514604f3">HasSoftSpanUpperBounds</a> () const</td></tr>
|
|
<tr class="separator:af0185f7c0ea3abf45191db23514604f3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a06257e0b9422e5de00bd4eef03777355"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structoperations__research_1_1SimpleBoundCosts_1_1BoundCost.html">SimpleBoundCosts::BoundCost</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a06257e0b9422e5de00bd4eef03777355">GetSoftSpanUpperBoundForVehicle</a> (int vehicle) const</td></tr>
|
|
<tr class="separator:a06257e0b9422e5de00bd4eef03777355"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h2 class="groupheader">Member Typedef Documentation</h2>
|
|
<a id="a64f4e1f55b71a9f9a0d7e3ef7033ade7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a64f4e1f55b71a9f9a0d7e3ef7033ade7">◆ </a></span>PickupToDeliveryLimitFunction</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef std::function<int64(int, int)> <a class="el" href="classoperations__research_1_1RoutingDimension.html#a64f4e1f55b71a9f9a0d7e3ef7033ade7">PickupToDeliveryLimitFunction</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Limits, in terms of maximum difference between the cumul variables, between the pickup and delivery alternatives belonging to a single pickup/delivery pair in the <a class="el" href="classoperations__research_1_1RoutingModel.html">RoutingModel</a>. </p>
|
|
<p>The indices passed to the function respectively correspond to the position of the pickup in the vector of pickup alternatives, and delivery position in the delivery alternatives for this pickup/delivery pair. These limits should only be set when each node index appears in at most one pickup/delivery pair, i.e. each pickup (delivery) index is in a single pickup/delivery pair.first (pair.second). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l02349">2349</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a id="af42a5771d18b334091cc0f786219fe04"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af42a5771d18b334091cc0f786219fe04">◆ </a></span>~RoutingDimension()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">~<a class="el" href="classoperations__research_1_1RoutingDimension.html">RoutingDimension</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
<a id="a10fbd239f47aef280b475ae0db9e8f9a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a10fbd239f47aef280b475ae0db9e8f9a">◆ </a></span>AddNodePrecedence() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddNodePrecedence </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>first_node</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>second_node</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>offset</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></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_8h_source.html#l02373">2373</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a80ebd60db4ccb3f512288a553f181fe9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a80ebd60db4ccb3f512288a553f181fe9">◆ </a></span>AddNodePrecedence() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddNodePrecedence </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structoperations__research_1_1RoutingDimension_1_1NodePrecedence.html">NodePrecedence</a> </td>
|
|
<td class="paramname"><em>precedence</em></td><td>)</td>
|
|
<td></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_8h_source.html#l02365">2365</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6873634e63019f7c8af33a0b7e79d397"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6873634e63019f7c8af33a0b7e79d397">◆ </a></span>AreVehicleTransitsPositive()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool AreVehicleTransitsPositive </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em></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>Returns true iff the transit evaluator of 'vehicle' is positive for all arcs. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l02171">2171</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a717341229f16012899360656534bba50"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a717341229f16012899360656534bba50">◆ </a></span>base_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="classoperations__research_1_1RoutingDimension.html">RoutingDimension</a>* base_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>Returns the parent in the dependency tree if any or nullptr otherwise. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l02320">2320</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a1b6f521fdc9dff38b7e065c838fa54a3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1b6f521fdc9dff38b7e065c838fa54a3">◆ </a></span>cumuls()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector<<a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a>*>& cumuls </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>Like <a class="el" href="classoperations__research_1_1RoutingDimension.html#a4d87db39b37a97bcf6669448a67f0356" title="Get the cumul, transit and slack variables for the given node (given as int64 var index).">CumulVar()</a>, <a class="el" href="classoperations__research_1_1RoutingDimension.html#abad8b7edc9f675056db28171da1da655">TransitVar()</a>, <a class="el" href="classoperations__research_1_1RoutingDimension.html#ac300c6449a65333961d8abdd7ce40a7a">SlackVar()</a> but return the whole variable vectors instead (indexed by int64 var index). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l02102">2102</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4d87db39b37a97bcf6669448a67f0356"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4d87db39b37a97bcf6669448a67f0356">◆ </a></span>CumulVar()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a>* CumulVar </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>index</em></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>Get the cumul, transit and slack variables for the given node (given as int64 var index). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l02094">2094</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6a4b2eb4cf5999b4e84ef3da78beb42c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6a4b2eb4cf5999b4e84ef3da78beb42c">◆ </a></span>fixed_transits()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector<<a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a>*>& fixed_transits </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_8h_source.html#l02103">2103</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5997ca01d12b18b158ac0232acc731dd"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5997ca01d12b18b158ac0232acc731dd">◆ </a></span>FixedTransitVar()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a>* FixedTransitVar </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>index</em></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_8h_source.html#l02096">2096</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aff15c149ac7cbb96d340d8c1370d5aea"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aff15c149ac7cbb96d340d8c1370d5aea">◆ </a></span>forbidden_intervals()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector<SortedDisjointIntervalList>& forbidden_intervals </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>Returns forbidden intervals for each node. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l02108">2108</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="acf39f330b220a62bbb8fac9c8c1256b5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#acf39f330b220a62bbb8fac9c8c1256b5">◆ </a></span>GetAllowedIntervalsInRange()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">SortedDisjointIntervalList GetAllowedIntervalsInRange </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>min_value</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>max_value</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns allowed intervals for a given node in a given interval. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="acbe051ae21f1e3a5c66455e4c408cffd"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#acbe051ae21f1e3a5c66455e4c408cffd">◆ </a></span>GetBreakDistanceDurationOfVehicle()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector<std::pair<int64, int64> >& GetBreakDistanceDurationOfVehicle </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the pairs (distance, duration) specified by break distance constraints. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a1016552c3e687e1a555e1c6cf7525e0e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1016552c3e687e1a555e1c6cf7525e0e">◆ </a></span>GetBreakIntervalsOfVehicle()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector<<a class="el" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>*>& GetBreakIntervalsOfVehicle </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the break intervals set by <a class="el" href="classoperations__research_1_1RoutingDimension.html#ae34995163df20f89961e907ac3b25532" title="Sets the breaks for a given vehicle.">SetBreakIntervalsOfVehicle()</a>. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a702dccba87a55da6912acde06f743712"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a702dccba87a55da6912acde06f743712">◆ </a></span>GetCumulVarPiecewiseLinearCost()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const PiecewiseLinearFunction* GetCumulVarPiecewiseLinearCost </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>index</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the piecewise linear cost of a cumul variable for a given variable index. </p>
|
|
<p>The returned pointer has the same validity as this class. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a607df50e6bc0dc54fbe811e96155ee95"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a607df50e6bc0dc54fbe811e96155ee95">◆ </a></span>GetCumulVarSoftLowerBound()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64 GetCumulVarSoftLowerBound </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>index</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the soft lower bound of a cumul variable for a given variable index. </p>
|
|
<p>The "hard" lower bound of the variable is returned if no soft lower bound has been set. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a51eadbd617f6658396e5ba790f6b0c19"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a51eadbd617f6658396e5ba790f6b0c19">◆ </a></span>GetCumulVarSoftLowerBoundCoefficient()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64 GetCumulVarSoftLowerBoundCoefficient </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>index</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the cost coefficient of the soft lower bound of a cumul variable for a given variable index. </p>
|
|
<p>If no soft lower bound has been set, 0 is returned. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aacc17c3711ac030db624e72c5ae2394f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aacc17c3711ac030db624e72c5ae2394f">◆ </a></span>GetCumulVarSoftUpperBound()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64 GetCumulVarSoftUpperBound </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>index</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the soft upper bound of a cumul variable for a given variable index. </p>
|
|
<p>The "hard" upper bound of the variable is returned if no soft upper bound has been set. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af362b70cab1a5a90703808e9575c2f54"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af362b70cab1a5a90703808e9575c2f54">◆ </a></span>GetCumulVarSoftUpperBoundCoefficient()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64 GetCumulVarSoftUpperBoundCoefficient </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>index</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the cost coefficient of the soft upper bound of a cumul variable for a given variable index. </p>
|
|
<p>If no soft upper bound has been set, 0 is returned. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa4596b194814f3513d421381074a9a08"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa4596b194814f3513d421381074a9a08">◆ </a></span>GetFirstPossibleGreaterOrEqualValueForNode()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64 GetFirstPossibleGreaterOrEqualValueForNode </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>min_value</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</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>Returns the smallest value outside the forbidden intervals of node 'index' that is greater than or equal to a given 'min_value'. </p>
|
|
<p>min_value is in a forbidden interval.</p>
|
|
<p>min_value is not forbidden.</p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l02117">2117</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a375d5aec667421cb92f6439464420062"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a375d5aec667421cb92f6439464420062">◆ </a></span>GetGlobalOptimizerOffset()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64 GetGlobalOptimizerOffset </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_8h_source.html#l02397">2397</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aaee65a899797a014dd19d0fa76f0d8a2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aaee65a899797a014dd19d0fa76f0d8a2">◆ </a></span>GetLastPossibleLessOrEqualValueForNode()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64 GetLastPossibleLessOrEqualValueForNode </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>max_value</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</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>Returns the largest value outside the forbidden intervals of node 'index' that is less than or equal to a given 'max_value'. </p>
|
|
<p>NOTE: If this method is called with a max_value lower than the node's cumul min, it will return -1. </p>
|
|
<p>max_value is in a forbidden interval.</p>
|
|
<p>max_value is not forbidden.</p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l02136">2136</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a82f14203d850d1ede49849c5020c6f51"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a82f14203d850d1ede49849c5020c6f51">◆ </a></span>GetLocalOptimizerOffsetForVehicle()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64 GetLocalOptimizerOffsetForVehicle </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em></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_8h_source.html#l02401">2401</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae4b40d046de51f0ace9138a3692b0090"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae4b40d046de51f0ace9138a3692b0090">◆ </a></span>GetNodePrecedences()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector<<a class="el" href="structoperations__research_1_1RoutingDimension_1_1NodePrecedence.html">NodePrecedence</a>>& GetNodePrecedences </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_8h_source.html#l02368">2368</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad3f93c4522b3a4abd48a8c360b8c1c80"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad3f93c4522b3a4abd48a8c360b8c1c80">◆ </a></span>GetPathPrecedenceGraph()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const ReverseArcListGraph<int, int>& GetPathPrecedenceGraph </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>Accessors. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l02335">2335</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa70f385bdf5fc31eec8a848dea13b357"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa70f385bdf5fc31eec8a848dea13b357">◆ </a></span>GetPickupToDeliveryLimitForPair()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64 GetPickupToDeliveryLimitForPair </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>pair_index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>pickup</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>delivery</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="afb4c32e76561cad95bd8be2777d8f1ac"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#afb4c32e76561cad95bd8be2777d8f1ac">◆ </a></span>GetPostTravelEvaluatorOfVehicle()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int GetPostTravelEvaluatorOfVehicle </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a8e93e99ce491f2779c0d2e5e7de5a98a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8e93e99ce491f2779c0d2e5e7de5a98a">◆ </a></span>GetPreTravelEvaluatorOfVehicle()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int GetPreTravelEvaluatorOfVehicle </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>!defined(SWIGPYTHON) </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a06257e0b9422e5de00bd4eef03777355"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a06257e0b9422e5de00bd4eef03777355">◆ </a></span>GetSoftSpanUpperBoundForVehicle()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structoperations__research_1_1SimpleBoundCosts_1_1BoundCost.html">SimpleBoundCosts::BoundCost</a> GetSoftSpanUpperBoundForVehicle </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em></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_8h_source.html#l02422">2422</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a26d28dacdef6a70d512df1a175429558"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a26d28dacdef6a70d512df1a175429558">◆ </a></span>GetSpanCostCoefficientForVehicle()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64 GetSpanCostCoefficientForVehicle </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em></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_8h_source.html#l02385">2385</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="affe684b0df382fbf2b5eda869ec0c271"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#affe684b0df382fbf2b5eda869ec0c271">◆ </a></span>GetSpanUpperBoundForVehicle()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64 GetSpanUpperBoundForVehicle </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em></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_8h_source.html#l02377">2377</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7ed584226a1930ec8663c3e4efe28a93"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7ed584226a1930ec8663c3e4efe28a93">◆ </a></span>GetTransitValue()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64 GetTransitValue </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>from_index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>to_index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>vehicle</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the transition value for a given pair of nodes (as var index); this value is the one taken by the corresponding transit variable when the 'next' variable for 'from_index' is bound to 'to_index'. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a175989a601fa29235dce43255647ab01"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a175989a601fa29235dce43255647ab01">◆ </a></span>GetTransitValueFromClass()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64 GetTransitValueFromClass </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>from_index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>to_index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>vehicle_class</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</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>Same as above but taking a vehicle class of the dimension instead of a vehicle (the class of a vehicle can be obtained with <a class="el" href="classoperations__research_1_1RoutingDimension.html#aa46d01169492b00c999344e8982ddd0f">vehicle_to_class()</a>). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l02087">2087</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4e440577c58c25c988280a98328e5598"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4e440577c58c25c988280a98328e5598">◆ </a></span>GetUnaryTransitEvaluator()</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="classoperations__research_1_1RoutingModel.html#a204041e5264282d54dfd198011e776d3">RoutingModel::TransitCallback1</a>& GetUnaryTransitEvaluator </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em></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>Returns the unary callback evaluating the transit value between two node indices for a given vehicle. </p>
|
|
<p>If the corresponding callback is not unary, returns a null callback. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l02164">2164</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a1faf1ea53b992b47f60d0622e42f7a50"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1faf1ea53b992b47f60d0622e42f7a50">◆ </a></span>global_span_cost_coefficient()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64 global_span_cost_coefficient </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_8h_source.html#l02393">2393</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6debc638c02bfb2b4afe0afccdd98ca5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6debc638c02bfb2b4afe0afccdd98ca5">◆ </a></span>HasBreakConstraints()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool HasBreakConstraints </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns true if any break interval or break distance was defined. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae85d6e3327a52eb2e93195d1ba45884d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae85d6e3327a52eb2e93195d1ba45884d">◆ </a></span>HasCumulVarPiecewiseLinearCost()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool HasCumulVarPiecewiseLinearCost </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>index</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns true if a piecewise linear cost has been set for a given variable index. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a54e75670bdbf7abca93c9e02cfee83fe"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a54e75670bdbf7abca93c9e02cfee83fe">◆ </a></span>HasCumulVarSoftLowerBound()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool HasCumulVarSoftLowerBound </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>index</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns true if a soft lower bound has been set for a given variable index. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aea64f6b7cb80887be5478c35609cab1c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aea64f6b7cb80887be5478c35609cab1c">◆ </a></span>HasCumulVarSoftUpperBound()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool HasCumulVarSoftUpperBound </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>index</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns true if a soft upper bound has been set for a given variable index. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a36f4aa60ff1b8c1dd5fc1180199cad8d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a36f4aa60ff1b8c1dd5fc1180199cad8d">◆ </a></span>HasPickupToDeliveryLimits()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool HasPickupToDeliveryLimits </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af0185f7c0ea3abf45191db23514604f3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af0185f7c0ea3abf45191db23514604f3">◆ </a></span>HasSoftSpanUpperBounds()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool HasSoftSpanUpperBounds </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_8h_source.html#l02419">2419</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a76645042dd00fd9a97a9c4a395927947"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a76645042dd00fd9a97a9c4a395927947">◆ </a></span>InitializeBreaks()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void InitializeBreaks </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Sets up vehicle_break_intervals_, vehicle_break_distance_duration_, pre_travel_evaluators and post_travel_evaluators. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a35a576bb3ea6814f122593d44a3c391e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a35a576bb3ea6814f122593d44a3c391e">◆ </a></span>model()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1RoutingModel.html">RoutingModel</a>* model </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>Returns the model on which the dimension was created. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l02080">2080</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad8227ba86a01f26e4f173cd5e219d5d1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad8227ba86a01f26e4f173cd5e219d5d1">◆ </a></span>name()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::string& name </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>Returns the name of the dimension. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l02331">2331</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a68c42bd26c7f0a2f1a0247e51a45aab5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a68c42bd26c7f0a2f1a0247e51a45aab5">◆ </a></span>SetBreakDistanceDurationOfVehicle()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetBreakDistanceDurationOfVehicle </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>distance</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>duration</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>With breaks supposed to be consecutive, this forces the distance between breaks of size at least minimum_break_duration to be at least distance. </p>
|
|
<p>This supposes that the time until route start and after route end are infinite breaks. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae34995163df20f89961e907ac3b25532"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae34995163df20f89961e907ac3b25532">◆ </a></span>SetBreakIntervalsOfVehicle() <span class="overload">[1/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetBreakIntervalsOfVehicle </td>
|
|
<td>(</td>
|
|
<td class="paramtype">std::vector< <a class="el" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a> * > </td>
|
|
<td class="paramname"><em>breaks</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></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">int </td>
|
|
<td class="paramname"><em>pre_travel_evaluator</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>post_travel_evaluator</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Sets the breaks for a given vehicle. </p>
|
|
<p>Breaks are represented by IntervalVars. They may interrupt transits between nodes and increase the value of corresponding slack variables. A break may take place before the start of a vehicle, after the end of a vehicle, or during a travel i -> j.</p>
|
|
<p>In that case, the interval [break.Start(), break.End()) must be a subset of [CumulVar(i) + pre_travel(i, j), CumulVar(j) - post_travel(i, j)). In other words, a break may not overlap any node n's visit, given by [CumulVar(n) - post_travel(_, n), CumulVar(n) + pre_travel(n, _)). This formula considers post_travel(_, start) and pre_travel(end, _) to be 0; pre_travel will never be called on any (_, start) and post_travel will never we called on any (end, _). If pre_travel_evaluator or post_travel_evaluator is -1, it will be taken as a function that always returns 0. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae0ff0210afb5c8d829a9d2158833c50f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae0ff0210afb5c8d829a9d2158833c50f">◆ </a></span>SetBreakIntervalsOfVehicle() <span class="overload">[2/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetBreakIntervalsOfVehicle </td>
|
|
<td>(</td>
|
|
<td class="paramtype">std::vector< <a class="el" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a> * > </td>
|
|
<td class="paramname"><em>breaks</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></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">std::vector< int64 > </td>
|
|
<td class="paramname"><em>node_visit_transits</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Deprecated, sets pre_travel(i, j) = node_visit_transit[i]. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9535f9b1e14dc539e25ef9dffacbd3d7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9535f9b1e14dc539e25ef9dffacbd3d7">◆ </a></span>SetBreakIntervalsOfVehicle() <span class="overload">[3/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetBreakIntervalsOfVehicle </td>
|
|
<td>(</td>
|
|
<td class="paramtype">std::vector< <a class="el" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a> * > </td>
|
|
<td class="paramname"><em>breaks</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></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">std::vector< int64 > </td>
|
|
<td class="paramname"><em>node_visit_transits</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">std::function< int64(int64, int64)> </td>
|
|
<td class="paramname"><em>group_delays</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Deprecated, sets pre_travel(i, j) = node_visit_transit[i] and post_travel(i, j) = group_delays(i, j). </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a052c958dd77221524f13f06d87960e63"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a052c958dd77221524f13f06d87960e63">◆ </a></span>SetCumulVarPiecewiseLinearCost()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetCumulVarPiecewiseLinearCost </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const PiecewiseLinearFunction & </td>
|
|
<td class="paramname"><em>cost</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Sets a piecewise linear cost on the cumul variable of a given variable index. </p>
|
|
<p>If f is a piecewise linear function, the resulting cost at 'index' will be f(CumulVar(index)). As of 3/2017, only non-decreasing positive cost functions are supported. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="adc8bb803b3a5f74bd5e1c04d0154b03c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#adc8bb803b3a5f74bd5e1c04d0154b03c">◆ </a></span>SetCumulVarSoftLowerBound()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetCumulVarSoftLowerBound </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>lower_bound</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>coefficient</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Sets a soft lower bound to the cumul variable of a given variable index. </p>
|
|
<p>If the value of the cumul variable is less than the bound, a cost proportional to the difference between this value and the bound is added to the cost function of the model: cumulVar > lower_bound -> cost = 0 cumulVar <= lower_bound -> cost = coefficient * (lower_bound - cumulVar). This is also handy to model earliness costs when the dimension represents time. Note: Using soft lower and upper bounds or span costs together is, as of 6/2014, not well supported in the sense that an optimal schedule is not guaranteed. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab4ee0772eb17ffba5e3a2f6f38026546"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab4ee0772eb17ffba5e3a2f6f38026546">◆ </a></span>SetCumulVarSoftUpperBound()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetCumulVarSoftUpperBound </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>upper_bound</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>coefficient</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Sets a soft upper bound to the cumul variable of a given variable index. </p>
|
|
<p>If the value of the cumul variable is greater than the bound, a cost proportional to the difference between this value and the bound is added to the cost function of the model: cumulVar <= upper_bound -> cost = 0 cumulVar > upper_bound -> cost = coefficient * (cumulVar - upper_bound) This is also handy to model tardiness costs when the dimension represents time. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae961a8435c4bc4ac850fa06bff29b625"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae961a8435c4bc4ac850fa06bff29b625">◆ </a></span>SetGlobalSpanCostCoefficient()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetGlobalSpanCostCoefficient </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>coefficient</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Sets a cost proportional to the <em>global</em> dimension span, that is the difference between the largest value of route end cumul variables and the smallest value of route start cumul variables. </p>
|
|
<p>In other words: global_span_cost = coefficient * (Max(dimension end value) - Min(dimension start value)). </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa21323f8eeaa9c502d6cfb92109a73d4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa21323f8eeaa9c502d6cfb92109a73d4">◆ </a></span>SetPickupToDeliveryLimitFunctionForPair()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetPickupToDeliveryLimitFunctionForPair </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1RoutingDimension.html#a64f4e1f55b71a9f9a0d7e3ef7033ade7">PickupToDeliveryLimitFunction</a> </td>
|
|
<td class="paramname"><em>limit_function</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>pair_index</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a29304c6e17a12d06903ef952d685c5b3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a29304c6e17a12d06903ef952d685c5b3">◆ </a></span>SetSoftSpanUpperBoundForVehicle()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetSoftSpanUpperBoundForVehicle </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structoperations__research_1_1SimpleBoundCosts_1_1BoundCost.html">SimpleBoundCosts::BoundCost</a> </td>
|
|
<td class="paramname"><em>bound_cost</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></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>If the span of vehicle on this dimension is larger than bound, the cost will be increased by cost * (span - bound). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l02411">2411</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5d861ad3e93b404872633f359570f234"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5d861ad3e93b404872633f359570f234">◆ </a></span>SetSpanCostCoefficientForAllVehicles()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetSpanCostCoefficientForAllVehicles </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>coefficient</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa98cc88bb33e9f703167cb030c093930"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa98cc88bb33e9f703167cb030c093930">◆ </a></span>SetSpanCostCoefficientForVehicle()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetSpanCostCoefficientForVehicle </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>coefficient</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Sets a cost proportional to the dimension span on a given vehicle, or on all vehicles at once. </p>
|
|
<p>"coefficient" must be nonnegative. This is handy to model costs proportional to idle time when the dimension represents time. The cost for a vehicle is span_cost = coefficient * (dimension end value - dimension start value). </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a360d9c53a26f994367971cb23c8697ff"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a360d9c53a26f994367971cb23c8697ff">◆ </a></span>SetSpanUpperBoundForVehicle()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetSpanUpperBoundForVehicle </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>upper_bound</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>!defined(SWIGCSHARP) && !defined(SWIGJAVA) !defined(SWIGPYTHON) </p>
|
|
<p>Sets an upper bound on the dimension span on a given vehicle. This is the preferred way to limit the "length" of the route of a vehicle according to a dimension. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab425ddb1df081fea8f527c63d824fb88"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab425ddb1df081fea8f527c63d824fb88">◆ </a></span>ShortestTransitionSlack()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64 ShortestTransitionSlack </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>node</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>It makes sense to use the function only for self-dependent dimension. </p>
|
|
<p>For such dimensions the value of the slack of a node determines the transition cost of the next transit. Provided that</p><ol type="1">
|
|
<li>cumul[node] is fixed,</li>
|
|
<li>next[node] and next[next[node]] (if exists) are fixed, the value of slack[node] for which cumul[next[node]] + transit[next[node]] is minimized can be found in O(1) using this function. </li>
|
|
</ol>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="adeac1b3791fe4e3ba366bbb60c268ae7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#adeac1b3791fe4e3ba366bbb60c268ae7">◆ </a></span>slacks()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector<<a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a>*>& slacks </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_8h_source.html#l02105">2105</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac300c6449a65333961d8abdd7ce40a7a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac300c6449a65333961d8abdd7ce40a7a">◆ </a></span>SlackVar()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a>* SlackVar </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>index</em></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_8h_source.html#l02097">2097</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aae1962408e06dbb45f6e5ee67e530880"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aae1962408e06dbb45f6e5ee67e530880">◆ </a></span>transit_evaluator()</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="classoperations__research_1_1RoutingModel.html#a5fa8aee5b0c67072dbbb03f1899ec60a">RoutingModel::TransitCallback2</a>& transit_evaluator </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em></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>Returns the callback evaluating the transit value between two node indices for a given vehicle. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l02157">2157</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6f170c2c3b2a0c5f616aa449a38d84fa"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6f170c2c3b2a0c5f616aa449a38d84fa">◆ </a></span>transits()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector<<a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a>*>& transits </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_8h_source.html#l02104">2104</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="abad8b7edc9f675056db28171da1da655"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#abad8b7edc9f675056db28171da1da655">◆ </a></span>TransitVar()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a>* TransitVar </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64 </td>
|
|
<td class="paramname"><em>index</em></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_8h_source.html#l02095">2095</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5c95c1b0049cb5dddbd4995ad8cd5b4e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5c95c1b0049cb5dddbd4995ad8cd5b4e">◆ </a></span>vehicle_capacities()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector<int64>& vehicle_capacities </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>Returns the capacities for all vehicles. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l02152">2152</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac99ab58c828c4e814dd3c3d508ff5233"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac99ab58c828c4e814dd3c3d508ff5233">◆ </a></span>vehicle_span_cost_coefficients()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector<int64>& vehicle_span_cost_coefficients </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_8h_source.html#l02389">2389</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a88c834076ab8e7237fe49b17a907a847"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a88c834076ab8e7237fe49b17a907a847">◆ </a></span>vehicle_span_upper_bounds()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector<int64>& vehicle_span_upper_bounds </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_8h_source.html#l02381">2381</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa46d01169492b00c999344e8982ddd0f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa46d01169492b00c999344e8982ddd0f">◆ </a></span>vehicle_to_class()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int vehicle_to_class </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em></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_8h_source.html#l02175">2175</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
|
<li><a class="el" href="routing_8h_source.html">routing.h</a></li>
|
|
</ul>
|
|
</div><!-- contents -->
|
|
</div>
|
|
</div>
|
|
<div id="footer-container">
|
|
<div id="footer">
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|