Files
ortools-clone/docs/cpp/classoperations__research_1_1_routing_dimension.html
2021-04-27 23:00:03 +02:00

2372 lines
134 KiB
HTML

<!-- HTML header for doxygen 1.8.18-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>OR-Tools: RoutingDimension</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="styleSheet.tmp.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="orLogo.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">OR-Tools
&#160;<span id="projectnumber">9.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classoperations__research_1_1_routing_dimension.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classoperations__research_1_1_routing_dimension-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#l02374">2374</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 &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1_routing_dimension_1_1_node_precedence.html">NodePrecedence</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a7d1899ebcd524b8902d6777a1644fdc9"><td class="memItemLeft" align="right" valign="top">typedef std::function&lt; int64_t(int, int)&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a7d1899ebcd524b8902d6777a1644fdc9">PickupToDeliveryLimitFunction</a></td></tr>
<tr class="memdesc:a7d1899ebcd524b8902d6777a1644fdc9"><td class="mdescLeft">&#160;</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_1_routing_model.html">RoutingModel</a>. <a href="classoperations__research_1_1_routing_dimension.html#a7d1899ebcd524b8902d6777a1644fdc9">More...</a><br /></td></tr>
<tr class="separator:a7d1899ebcd524b8902d6777a1644fdc9"><td class="memSeparator" colspan="2">&#160;</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">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#af42a5771d18b334091cc0f786219fe04">~RoutingDimension</a> ()</td></tr>
<tr class="separator:af42a5771d18b334091cc0f786219fe04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35a576bb3ea6814f122593d44a3c391e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_routing_model.html">RoutingModel</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a35a576bb3ea6814f122593d44a3c391e">model</a> () const</td></tr>
<tr class="memdesc:a35a576bb3ea6814f122593d44a3c391e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the model on which the dimension was created. <a href="classoperations__research_1_1_routing_dimension.html#a35a576bb3ea6814f122593d44a3c391e">More...</a><br /></td></tr>
<tr class="separator:a35a576bb3ea6814f122593d44a3c391e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacebe98359d92dbc79626807ad78971c"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#aacebe98359d92dbc79626807ad78971c">GetTransitValue</a> (int64_t from_index, int64_t to_index, int64_t vehicle) const</td></tr>
<tr class="memdesc:aacebe98359d92dbc79626807ad78971c"><td class="mdescLeft">&#160;</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_1_routing_dimension.html#aacebe98359d92dbc79626807ad78971c">More...</a><br /></td></tr>
<tr class="separator:aacebe98359d92dbc79626807ad78971c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac37dad3d58933eba269fe606fdc01330"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#ac37dad3d58933eba269fe606fdc01330">GetTransitValueFromClass</a> (int64_t from_index, int64_t to_index, int64_t <a class="el" href="routing__search_8cc.html#a1a01a2753d74fedd87264d8bd34a12df">vehicle_class</a>) const</td></tr>
<tr class="memdesc:ac37dad3d58933eba269fe606fdc01330"><td class="mdescLeft">&#160;</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_1_routing_dimension.html#aa46d01169492b00c999344e8982ddd0f">vehicle_to_class()</a>). <a href="classoperations__research_1_1_routing_dimension.html#ac37dad3d58933eba269fe606fdc01330">More...</a><br /></td></tr>
<tr class="separator:ac37dad3d58933eba269fe606fdc01330"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae243b923995a2c77533bb9d3318535e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#ae243b923995a2c77533bb9d3318535e4">CumulVar</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
<tr class="memdesc:ae243b923995a2c77533bb9d3318535e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the cumul, transit and slack variables for the given node (given as int64_t var index). <a href="classoperations__research_1_1_routing_dimension.html#ae243b923995a2c77533bb9d3318535e4">More...</a><br /></td></tr>
<tr class="separator:ae243b923995a2c77533bb9d3318535e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3994babe1fa2214a2916711cfe87176"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#af3994babe1fa2214a2916711cfe87176">TransitVar</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
<tr class="separator:af3994babe1fa2214a2916711cfe87176"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1be22b8756f0d319a2c6e61f0cee32d6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a1be22b8756f0d319a2c6e61f0cee32d6">FixedTransitVar</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
<tr class="separator:a1be22b8756f0d319a2c6e61f0cee32d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97d67612406bde6bb6dce31dde1a057e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a97d67612406bde6bb6dce31dde1a057e">SlackVar</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
<tr class="separator:a97d67612406bde6bb6dce31dde1a057e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b6f521fdc9dff38b7e065c838fa54a3"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a1b6f521fdc9dff38b7e065c838fa54a3">cumuls</a> () const</td></tr>
<tr class="memdesc:a1b6f521fdc9dff38b7e065c838fa54a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Like <a class="el" href="classoperations__research_1_1_routing_dimension.html#ae243b923995a2c77533bb9d3318535e4" title="Get the cumul, transit and slack variables for the given node (given as int64_t var index).">CumulVar()</a>, <a class="el" href="classoperations__research_1_1_routing_dimension.html#af3994babe1fa2214a2916711cfe87176">TransitVar()</a>, <a class="el" href="classoperations__research_1_1_routing_dimension.html#a97d67612406bde6bb6dce31dde1a057e">SlackVar()</a> but return the whole variable vectors instead (indexed by int64_t var index). <a href="classoperations__research_1_1_routing_dimension.html#a1b6f521fdc9dff38b7e065c838fa54a3">More...</a><br /></td></tr>
<tr class="separator:a1b6f521fdc9dff38b7e065c838fa54a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a4b2eb4cf5999b4e84ef3da78beb42c"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a6a4b2eb4cf5999b4e84ef3da78beb42c">fixed_transits</a> () const</td></tr>
<tr class="separator:a6a4b2eb4cf5999b4e84ef3da78beb42c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f170c2c3b2a0c5f616aa449a38d84fa"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a6f170c2c3b2a0c5f616aa449a38d84fa">transits</a> () const</td></tr>
<tr class="separator:a6f170c2c3b2a0c5f616aa449a38d84fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adeac1b3791fe4e3ba366bbb60c268ae7"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#adeac1b3791fe4e3ba366bbb60c268ae7">slacks</a> () const</td></tr>
<tr class="separator:adeac1b3791fe4e3ba366bbb60c268ae7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff15c149ac7cbb96d340d8c1370d5aea"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="classoperations__research_1_1_sorted_disjoint_interval_list.html">SortedDisjointIntervalList</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#aff15c149ac7cbb96d340d8c1370d5aea">forbidden_intervals</a> () const</td></tr>
<tr class="memdesc:aff15c149ac7cbb96d340d8c1370d5aea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns forbidden intervals for each node. <a href="classoperations__research_1_1_routing_dimension.html#aff15c149ac7cbb96d340d8c1370d5aea">More...</a><br /></td></tr>
<tr class="separator:aff15c149ac7cbb96d340d8c1370d5aea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70dcc75273b8ffe7bf1df455e227d939"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_sorted_disjoint_interval_list.html">SortedDisjointIntervalList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a70dcc75273b8ffe7bf1df455e227d939">GetAllowedIntervalsInRange</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>, int64_t min_value, int64_t max_value) const</td></tr>
<tr class="memdesc:a70dcc75273b8ffe7bf1df455e227d939"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns allowed intervals for a given node in a given interval. <a href="classoperations__research_1_1_routing_dimension.html#a70dcc75273b8ffe7bf1df455e227d939">More...</a><br /></td></tr>
<tr class="separator:a70dcc75273b8ffe7bf1df455e227d939"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e43146490354e3aaece177f14fd693c"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a8e43146490354e3aaece177f14fd693c">GetFirstPossibleGreaterOrEqualValueForNode</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>, int64_t min_value) const</td></tr>
<tr class="memdesc:a8e43146490354e3aaece177f14fd693c"><td class="mdescLeft">&#160;</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_1_routing_dimension.html#a8e43146490354e3aaece177f14fd693c">More...</a><br /></td></tr>
<tr class="separator:a8e43146490354e3aaece177f14fd693c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3f1c12c557366e28c26132a524be3d3"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#ac3f1c12c557366e28c26132a524be3d3">GetLastPossibleLessOrEqualValueForNode</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>, int64_t max_value) const</td></tr>
<tr class="memdesc:ac3f1c12c557366e28c26132a524be3d3"><td class="mdescLeft">&#160;</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_1_routing_dimension.html#ac3f1c12c557366e28c26132a524be3d3">More...</a><br /></td></tr>
<tr class="separator:ac3f1c12c557366e28c26132a524be3d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab42006786ca113adf6bd25e4f9974b8f"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; int64_t &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#ab42006786ca113adf6bd25e4f9974b8f">vehicle_capacities</a> () const</td></tr>
<tr class="memdesc:ab42006786ca113adf6bd25e4f9974b8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the capacities for all vehicles. <a href="classoperations__research_1_1_routing_dimension.html#ab42006786ca113adf6bd25e4f9974b8f">More...</a><br /></td></tr>
<tr class="separator:ab42006786ca113adf6bd25e4f9974b8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae1962408e06dbb45f6e5ee67e530880"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classoperations__research_1_1_routing_model.html#a5fa8aee5b0c67072dbbb03f1899ec60a">RoutingModel::TransitCallback2</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#aae1962408e06dbb45f6e5ee67e530880">transit_evaluator</a> (int vehicle) const</td></tr>
<tr class="memdesc:aae1962408e06dbb45f6e5ee67e530880"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the callback evaluating the transit value between two node indices for a given vehicle. <a href="classoperations__research_1_1_routing_dimension.html#aae1962408e06dbb45f6e5ee67e530880">More...</a><br /></td></tr>
<tr class="separator:aae1962408e06dbb45f6e5ee67e530880"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e440577c58c25c988280a98328e5598"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classoperations__research_1_1_routing_model.html#a204041e5264282d54dfd198011e776d3">RoutingModel::TransitCallback1</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a4e440577c58c25c988280a98328e5598">GetUnaryTransitEvaluator</a> (int vehicle) const</td></tr>
<tr class="memdesc:a4e440577c58c25c988280a98328e5598"><td class="mdescLeft">&#160;</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_1_routing_dimension.html#a4e440577c58c25c988280a98328e5598">More...</a><br /></td></tr>
<tr class="separator:a4e440577c58c25c988280a98328e5598"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6873634e63019f7c8af33a0b7e79d397"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a6873634e63019f7c8af33a0b7e79d397">AreVehicleTransitsPositive</a> (int vehicle) const</td></tr>
<tr class="memdesc:a6873634e63019f7c8af33a0b7e79d397"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true iff the transit evaluator of 'vehicle' is positive for all arcs. <a href="classoperations__research_1_1_routing_dimension.html#a6873634e63019f7c8af33a0b7e79d397">More...</a><br /></td></tr>
<tr class="separator:a6873634e63019f7c8af33a0b7e79d397"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa46d01169492b00c999344e8982ddd0f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#aa46d01169492b00c999344e8982ddd0f">vehicle_to_class</a> (int vehicle) const</td></tr>
<tr class="separator:aa46d01169492b00c999344e8982ddd0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec65c2e89b95b1509b76fbff076666ad"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#aec65c2e89b95b1509b76fbff076666ad">SetSpanUpperBoundForVehicle</a> (int64_t <a class="el" href="gscip__solver_8cc.html#a1ba5ca0f61f2fa13bd23bf0f89004f35">upper_bound</a>, int vehicle)</td></tr>
<tr class="memdesc:aec65c2e89b95b1509b76fbff076666ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">!defined(SWIGCSHARP) &amp;&amp; !defined(SWIGJAVA) !defined(SWIGPYTHON) <a href="classoperations__research_1_1_routing_dimension.html#aec65c2e89b95b1509b76fbff076666ad">More...</a><br /></td></tr>
<tr class="separator:aec65c2e89b95b1509b76fbff076666ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb58020be40d47c942a4f3f0b7661068"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#afb58020be40d47c942a4f3f0b7661068">SetSpanCostCoefficientForVehicle</a> (int64_t <a class="el" href="markowitz_8cc.html#a722e11301e7de93191aa47dbd3ecb4d8">coefficient</a>, int vehicle)</td></tr>
<tr class="memdesc:afb58020be40d47c942a4f3f0b7661068"><td class="mdescLeft">&#160;</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_1_routing_dimension.html#afb58020be40d47c942a4f3f0b7661068">More...</a><br /></td></tr>
<tr class="separator:afb58020be40d47c942a4f3f0b7661068"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a149832f24795a7b2c0b61da79d9ec3ba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a149832f24795a7b2c0b61da79d9ec3ba">SetSpanCostCoefficientForAllVehicles</a> (int64_t <a class="el" href="markowitz_8cc.html#a722e11301e7de93191aa47dbd3ecb4d8">coefficient</a>)</td></tr>
<tr class="separator:a149832f24795a7b2c0b61da79d9ec3ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3506c5dbc4ca4f281ed0589164f3de0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#af3506c5dbc4ca4f281ed0589164f3de0">SetGlobalSpanCostCoefficient</a> (int64_t <a class="el" href="markowitz_8cc.html#a722e11301e7de93191aa47dbd3ecb4d8">coefficient</a>)</td></tr>
<tr class="memdesc:af3506c5dbc4ca4f281ed0589164f3de0"><td class="mdescLeft">&#160;</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_1_routing_dimension.html#af3506c5dbc4ca4f281ed0589164f3de0">More...</a><br /></td></tr>
<tr class="separator:af3506c5dbc4ca4f281ed0589164f3de0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a170770b614a847e56afe80355b53a363"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a170770b614a847e56afe80355b53a363">SetCumulVarPiecewiseLinearCost</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>, const <a class="el" href="classoperations__research_1_1_piecewise_linear_function.html">PiecewiseLinearFunction</a> &amp;<a class="el" href="routing__flow_8cc.html#a75d7b5e4cab1e156cc7a2c5eba1e16f1">cost</a>)</td></tr>
<tr class="memdesc:a170770b614a847e56afe80355b53a363"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a piecewise linear cost on the cumul variable of a given variable index. <a href="classoperations__research_1_1_routing_dimension.html#a170770b614a847e56afe80355b53a363">More...</a><br /></td></tr>
<tr class="separator:a170770b614a847e56afe80355b53a363"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a320c6e0379386d701cc6b84a25c7f020"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a320c6e0379386d701cc6b84a25c7f020">HasCumulVarPiecewiseLinearCost</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
<tr class="memdesc:a320c6e0379386d701cc6b84a25c7f020"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if a piecewise linear cost has been set for a given variable index. <a href="classoperations__research_1_1_routing_dimension.html#a320c6e0379386d701cc6b84a25c7f020">More...</a><br /></td></tr>
<tr class="separator:a320c6e0379386d701cc6b84a25c7f020"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa597b91522af2c0f7f36f566e22f6d4a"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classoperations__research_1_1_piecewise_linear_function.html">PiecewiseLinearFunction</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#aa597b91522af2c0f7f36f566e22f6d4a">GetCumulVarPiecewiseLinearCost</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
<tr class="memdesc:aa597b91522af2c0f7f36f566e22f6d4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the piecewise linear cost of a cumul variable for a given variable index. <a href="classoperations__research_1_1_routing_dimension.html#aa597b91522af2c0f7f36f566e22f6d4a">More...</a><br /></td></tr>
<tr class="separator:aa597b91522af2c0f7f36f566e22f6d4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad62d2fe202a7e38982ee1dea486f7a9f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#ad62d2fe202a7e38982ee1dea486f7a9f">SetCumulVarSoftUpperBound</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>, int64_t <a class="el" href="gscip__solver_8cc.html#a1ba5ca0f61f2fa13bd23bf0f89004f35">upper_bound</a>, int64_t <a class="el" href="markowitz_8cc.html#a722e11301e7de93191aa47dbd3ecb4d8">coefficient</a>)</td></tr>
<tr class="memdesc:ad62d2fe202a7e38982ee1dea486f7a9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a soft upper bound to the cumul variable of a given variable index. <a href="classoperations__research_1_1_routing_dimension.html#ad62d2fe202a7e38982ee1dea486f7a9f">More...</a><br /></td></tr>
<tr class="separator:ad62d2fe202a7e38982ee1dea486f7a9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8eafd6802aace5a8b509d920de5e37c5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a8eafd6802aace5a8b509d920de5e37c5">HasCumulVarSoftUpperBound</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
<tr class="memdesc:a8eafd6802aace5a8b509d920de5e37c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if a soft upper bound has been set for a given variable index. <a href="classoperations__research_1_1_routing_dimension.html#a8eafd6802aace5a8b509d920de5e37c5">More...</a><br /></td></tr>
<tr class="separator:a8eafd6802aace5a8b509d920de5e37c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae80c65007e8e9be55995bb2aa4493898"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#ae80c65007e8e9be55995bb2aa4493898">GetCumulVarSoftUpperBound</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
<tr class="memdesc:ae80c65007e8e9be55995bb2aa4493898"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the soft upper bound of a cumul variable for a given variable index. <a href="classoperations__research_1_1_routing_dimension.html#ae80c65007e8e9be55995bb2aa4493898">More...</a><br /></td></tr>
<tr class="separator:ae80c65007e8e9be55995bb2aa4493898"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32c310c90b2870f76dfe58ef41127d83"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a32c310c90b2870f76dfe58ef41127d83">GetCumulVarSoftUpperBoundCoefficient</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
<tr class="memdesc:a32c310c90b2870f76dfe58ef41127d83"><td class="mdescLeft">&#160;</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_1_routing_dimension.html#a32c310c90b2870f76dfe58ef41127d83">More...</a><br /></td></tr>
<tr class="separator:a32c310c90b2870f76dfe58ef41127d83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc83fbeb8594e87774089b99b0add61f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#afc83fbeb8594e87774089b99b0add61f">SetCumulVarSoftLowerBound</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>, int64_t <a class="el" href="gscip__solver_8cc.html#a1e2f9a2352c1d9a6cada9544898fceec">lower_bound</a>, int64_t <a class="el" href="markowitz_8cc.html#a722e11301e7de93191aa47dbd3ecb4d8">coefficient</a>)</td></tr>
<tr class="memdesc:afc83fbeb8594e87774089b99b0add61f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a soft lower bound to the cumul variable of a given variable index. <a href="classoperations__research_1_1_routing_dimension.html#afc83fbeb8594e87774089b99b0add61f">More...</a><br /></td></tr>
<tr class="separator:afc83fbeb8594e87774089b99b0add61f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ffb5532e1a2da908b35ce947f30a0a3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a3ffb5532e1a2da908b35ce947f30a0a3">HasCumulVarSoftLowerBound</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
<tr class="memdesc:a3ffb5532e1a2da908b35ce947f30a0a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if a soft lower bound has been set for a given variable index. <a href="classoperations__research_1_1_routing_dimension.html#a3ffb5532e1a2da908b35ce947f30a0a3">More...</a><br /></td></tr>
<tr class="separator:a3ffb5532e1a2da908b35ce947f30a0a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe26c6f9f4c70620ce91fbff37f4834d"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#afe26c6f9f4c70620ce91fbff37f4834d">GetCumulVarSoftLowerBound</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
<tr class="memdesc:afe26c6f9f4c70620ce91fbff37f4834d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the soft lower bound of a cumul variable for a given variable index. <a href="classoperations__research_1_1_routing_dimension.html#afe26c6f9f4c70620ce91fbff37f4834d">More...</a><br /></td></tr>
<tr class="separator:afe26c6f9f4c70620ce91fbff37f4834d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af63828b2874b76ba4af52bfbbed5f156"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#af63828b2874b76ba4af52bfbbed5f156">GetCumulVarSoftLowerBoundCoefficient</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
<tr class="memdesc:af63828b2874b76ba4af52bfbbed5f156"><td class="mdescLeft">&#160;</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_1_routing_dimension.html#af63828b2874b76ba4af52bfbbed5f156">More...</a><br /></td></tr>
<tr class="separator:af63828b2874b76ba4af52bfbbed5f156"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae34995163df20f89961e907ac3b25532"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#ae34995163df20f89961e907ac3b25532">SetBreakIntervalsOfVehicle</a> (std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; breaks, int vehicle, int pre_travel_evaluator, int post_travel_evaluator)</td></tr>
<tr class="memdesc:ae34995163df20f89961e907ac3b25532"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the breaks for a given vehicle. <a href="classoperations__research_1_1_routing_dimension.html#ae34995163df20f89961e907ac3b25532">More...</a><br /></td></tr>
<tr class="separator:ae34995163df20f89961e907ac3b25532"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac85353f4ba32aecc3dac32ba1a552bda"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#ac85353f4ba32aecc3dac32ba1a552bda">SetBreakIntervalsOfVehicle</a> (std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; breaks, int vehicle, std::vector&lt; int64_t &gt; node_visit_transits)</td></tr>
<tr class="memdesc:ac85353f4ba32aecc3dac32ba1a552bda"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deprecated, sets pre_travel(i, j) = node_visit_transit[i]. <a href="classoperations__research_1_1_routing_dimension.html#ac85353f4ba32aecc3dac32ba1a552bda">More...</a><br /></td></tr>
<tr class="separator:ac85353f4ba32aecc3dac32ba1a552bda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53a1734d4818932a457346136f5f2bdc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a53a1734d4818932a457346136f5f2bdc">SetBreakDistanceDurationOfVehicle</a> (int64_t <a class="el" href="routing__search_8cc.html#a79b8e036dca6911e3295a47d99f21f43">distance</a>, int64_t duration, int vehicle)</td></tr>
<tr class="memdesc:a53a1734d4818932a457346136f5f2bdc"><td class="mdescLeft">&#160;</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 most distance. <a href="classoperations__research_1_1_routing_dimension.html#a53a1734d4818932a457346136f5f2bdc">More...</a><br /></td></tr>
<tr class="separator:a53a1734d4818932a457346136f5f2bdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76645042dd00fd9a97a9c4a395927947"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a76645042dd00fd9a97a9c4a395927947">InitializeBreaks</a> ()</td></tr>
<tr class="memdesc:a76645042dd00fd9a97a9c4a395927947"><td class="mdescLeft">&#160;</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_1_routing_dimension.html#a76645042dd00fd9a97a9c4a395927947">More...</a><br /></td></tr>
<tr class="separator:a76645042dd00fd9a97a9c4a395927947"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6debc638c02bfb2b4afe0afccdd98ca5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a6debc638c02bfb2b4afe0afccdd98ca5">HasBreakConstraints</a> () const</td></tr>
<tr class="memdesc:a6debc638c02bfb2b4afe0afccdd98ca5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if any break interval or break distance was defined. <a href="classoperations__research_1_1_routing_dimension.html#a6debc638c02bfb2b4afe0afccdd98ca5">More...</a><br /></td></tr>
<tr class="separator:a6debc638c02bfb2b4afe0afccdd98ca5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7712e580d7e88364f8db5a7c19ca87c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#aa7712e580d7e88364f8db5a7c19ca87c">SetBreakIntervalsOfVehicle</a> (std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; breaks, int vehicle, std::vector&lt; int64_t &gt; node_visit_transits, std::function&lt; int64_t(int64_t, int64_t)&gt; delays)</td></tr>
<tr class="memdesc:aa7712e580d7e88364f8db5a7c19ca87c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deprecated, sets pre_travel(i, j) = node_visit_transit[i] and post_travel(i, j) = delays(i, j). <a href="classoperations__research_1_1_routing_dimension.html#aa7712e580d7e88364f8db5a7c19ca87c">More...</a><br /></td></tr>
<tr class="separator:aa7712e580d7e88364f8db5a7c19ca87c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91b8a6eb7cf5ab0ebc74ddced140d700"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a91b8a6eb7cf5ab0ebc74ddced140d700">GetBreakIntervalsOfVehicle</a> (int vehicle) const</td></tr>
<tr class="memdesc:a91b8a6eb7cf5ab0ebc74ddced140d700"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the break intervals set by <a class="el" href="classoperations__research_1_1_routing_dimension.html#ae34995163df20f89961e907ac3b25532" title="Sets the breaks for a given vehicle.">SetBreakIntervalsOfVehicle()</a>. <a href="classoperations__research_1_1_routing_dimension.html#a91b8a6eb7cf5ab0ebc74ddced140d700">More...</a><br /></td></tr>
<tr class="separator:a91b8a6eb7cf5ab0ebc74ddced140d700"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb48e0a259af538f591d9f843c113d00"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; std::pair&lt; int64_t, int64_t &gt; &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#aeb48e0a259af538f591d9f843c113d00">GetBreakDistanceDurationOfVehicle</a> (int vehicle) const</td></tr>
<tr class="memdesc:aeb48e0a259af538f591d9f843c113d00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the pairs (distance, duration) specified by break distance constraints. <a href="classoperations__research_1_1_routing_dimension.html#aeb48e0a259af538f591d9f843c113d00">More...</a><br /></td></tr>
<tr class="separator:aeb48e0a259af538f591d9f843c113d00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e93e99ce491f2779c0d2e5e7de5a98a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a8e93e99ce491f2779c0d2e5e7de5a98a">GetPreTravelEvaluatorOfVehicle</a> (int vehicle) const</td></tr>
<tr class="memdesc:a8e93e99ce491f2779c0d2e5e7de5a98a"><td class="mdescLeft">&#160;</td><td class="mdescRight">!defined(SWIGPYTHON) <a href="classoperations__research_1_1_routing_dimension.html#a8e93e99ce491f2779c0d2e5e7de5a98a">More...</a><br /></td></tr>
<tr class="separator:a8e93e99ce491f2779c0d2e5e7de5a98a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb4c32e76561cad95bd8be2777d8f1ac"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#afb4c32e76561cad95bd8be2777d8f1ac">GetPostTravelEvaluatorOfVehicle</a> (int vehicle) const</td></tr>
<tr class="separator:afb4c32e76561cad95bd8be2777d8f1ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a717341229f16012899360656534bba50"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a717341229f16012899360656534bba50">base_dimension</a> () const</td></tr>
<tr class="memdesc:a717341229f16012899360656534bba50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the parent in the dependency tree if any or nullptr otherwise. <a href="classoperations__research_1_1_routing_dimension.html#a717341229f16012899360656534bba50">More...</a><br /></td></tr>
<tr class="separator:a717341229f16012899360656534bba50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa92333e706853d147814ecd3426a0c1d"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#aa92333e706853d147814ecd3426a0c1d">ShortestTransitionSlack</a> (int64_t node) const</td></tr>
<tr class="memdesc:aa92333e706853d147814ecd3426a0c1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">It makes sense to use the function only for self-dependent dimension. <a href="classoperations__research_1_1_routing_dimension.html#aa92333e706853d147814ecd3426a0c1d">More...</a><br /></td></tr>
<tr class="separator:aa92333e706853d147814ecd3426a0c1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8227ba86a01f26e4f173cd5e219d5d1"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#ad8227ba86a01f26e4f173cd5e219d5d1">name</a> () const</td></tr>
<tr class="memdesc:ad8227ba86a01f26e4f173cd5e219d5d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the dimension. <a href="classoperations__research_1_1_routing_dimension.html#ad8227ba86a01f26e4f173cd5e219d5d1">More...</a><br /></td></tr>
<tr class="separator:ad8227ba86a01f26e4f173cd5e219d5d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3f93c4522b3a4abd48a8c360b8c1c80"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classutil_1_1_reverse_arc_list_graph.html">ReverseArcListGraph</a>&lt; int, int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#ad3f93c4522b3a4abd48a8c360b8c1c80">GetPathPrecedenceGraph</a> () const</td></tr>
<tr class="memdesc:ad3f93c4522b3a4abd48a8c360b8c1c80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accessors. <a href="classoperations__research_1_1_routing_dimension.html#ad3f93c4522b3a4abd48a8c360b8c1c80">More...</a><br /></td></tr>
<tr class="separator:ad3f93c4522b3a4abd48a8c360b8c1c80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa21323f8eeaa9c502d6cfb92109a73d4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#aa21323f8eeaa9c502d6cfb92109a73d4">SetPickupToDeliveryLimitFunctionForPair</a> (<a class="el" href="classoperations__research_1_1_routing_dimension.html#a7d1899ebcd524b8902d6777a1644fdc9">PickupToDeliveryLimitFunction</a> limit_function, int pair_index)</td></tr>
<tr class="separator:aa21323f8eeaa9c502d6cfb92109a73d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36f4aa60ff1b8c1dd5fc1180199cad8d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a36f4aa60ff1b8c1dd5fc1180199cad8d">HasPickupToDeliveryLimits</a> () const</td></tr>
<tr class="separator:a36f4aa60ff1b8c1dd5fc1180199cad8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3efd441f3accdd91d91ffbd1d4e1b255"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a3efd441f3accdd91d91ffbd1d4e1b255">GetPickupToDeliveryLimitForPair</a> (int pair_index, int pickup, int delivery) const</td></tr>
<tr class="separator:a3efd441f3accdd91d91ffbd1d4e1b255"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80ebd60db4ccb3f512288a553f181fe9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a80ebd60db4ccb3f512288a553f181fe9">AddNodePrecedence</a> (<a class="el" href="structoperations__research_1_1_routing_dimension_1_1_node_precedence.html">NodePrecedence</a> precedence)</td></tr>
<tr class="separator:a80ebd60db4ccb3f512288a553f181fe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4b40d046de51f0ace9138a3692b0090"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="structoperations__research_1_1_routing_dimension_1_1_node_precedence.html">NodePrecedence</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#ae4b40d046de51f0ace9138a3692b0090">GetNodePrecedences</a> () const</td></tr>
<tr class="separator:ae4b40d046de51f0ace9138a3692b0090"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69eef1be411e1643cb7c8130e96fa24c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a69eef1be411e1643cb7c8130e96fa24c">AddNodePrecedence</a> (int64_t first_node, int64_t second_node, int64_t offset)</td></tr>
<tr class="separator:a69eef1be411e1643cb7c8130e96fa24c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ffb5c0e60db5d3939873fe92462bae9"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a5ffb5c0e60db5d3939873fe92462bae9">GetSpanUpperBoundForVehicle</a> (int vehicle) const</td></tr>
<tr class="separator:a5ffb5c0e60db5d3939873fe92462bae9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefd69f840a18beccf95339b3a05d6ded"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; int64_t &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#aefd69f840a18beccf95339b3a05d6ded">vehicle_span_upper_bounds</a> () const</td></tr>
<tr class="separator:aefd69f840a18beccf95339b3a05d6ded"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a506e1394eff1694085e3cfeb4a1997f1"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a506e1394eff1694085e3cfeb4a1997f1">GetSpanCostCoefficientForVehicle</a> (int vehicle) const</td></tr>
<tr class="separator:a506e1394eff1694085e3cfeb4a1997f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b13e31112f3202a2cac1d21c99a2255"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; int64_t &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a8b13e31112f3202a2cac1d21c99a2255">vehicle_span_cost_coefficients</a> () const</td></tr>
<tr class="separator:a8b13e31112f3202a2cac1d21c99a2255"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a539915a226ec8626161d0310b22e8881"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a539915a226ec8626161d0310b22e8881">global_span_cost_coefficient</a> () const</td></tr>
<tr class="separator:a539915a226ec8626161d0310b22e8881"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38a1205e1e6fec4a632d523a64856c4b"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a38a1205e1e6fec4a632d523a64856c4b">GetGlobalOptimizerOffset</a> () const</td></tr>
<tr class="separator:a38a1205e1e6fec4a632d523a64856c4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac49d19c473861fd725540574c9779f7f"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#ac49d19c473861fd725540574c9779f7f">GetLocalOptimizerOffsetForVehicle</a> (int vehicle) const</td></tr>
<tr class="separator:ac49d19c473861fd725540574c9779f7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29304c6e17a12d06903ef952d685c5b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a29304c6e17a12d06903ef952d685c5b3">SetSoftSpanUpperBoundForVehicle</a> (<a class="el" href="structoperations__research_1_1_simple_bound_costs_1_1_bound_cost.html">SimpleBoundCosts::BoundCost</a> bound_cost, int vehicle)</td></tr>
<tr class="memdesc:a29304c6e17a12d06903ef952d685c5b3"><td class="mdescLeft">&#160;</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_1_routing_dimension.html#a29304c6e17a12d06903ef952d685c5b3">More...</a><br /></td></tr>
<tr class="separator:a29304c6e17a12d06903ef952d685c5b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0185f7c0ea3abf45191db23514604f3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#af0185f7c0ea3abf45191db23514604f3">HasSoftSpanUpperBounds</a> () const</td></tr>
<tr class="separator:af0185f7c0ea3abf45191db23514604f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06257e0b9422e5de00bd4eef03777355"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structoperations__research_1_1_simple_bound_costs_1_1_bound_cost.html">SimpleBoundCosts::BoundCost</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a06257e0b9422e5de00bd4eef03777355">GetSoftSpanUpperBoundForVehicle</a> (int vehicle) const</td></tr>
<tr class="separator:a06257e0b9422e5de00bd4eef03777355"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a012fdf5c7ca7a423d90dc75b6d95cf39"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a012fdf5c7ca7a423d90dc75b6d95cf39">SetQuadraticCostSoftSpanUpperBoundForVehicle</a> (<a class="el" href="structoperations__research_1_1_simple_bound_costs_1_1_bound_cost.html">SimpleBoundCosts::BoundCost</a> bound_cost, int vehicle)</td></tr>
<tr class="memdesc:a012fdf5c7ca7a423d90dc75b6d95cf39"><td class="mdescLeft">&#160;</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)^2. <a href="classoperations__research_1_1_routing_dimension.html#a012fdf5c7ca7a423d90dc75b6d95cf39">More...</a><br /></td></tr>
<tr class="separator:a012fdf5c7ca7a423d90dc75b6d95cf39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f040af6919077c9fb3b7d1eb1aaa677"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#a8f040af6919077c9fb3b7d1eb1aaa677">HasQuadraticCostSoftSpanUpperBounds</a> () const</td></tr>
<tr class="separator:a8f040af6919077c9fb3b7d1eb1aaa677"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe114b1ae740fcef694ce3835e37d9d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structoperations__research_1_1_simple_bound_costs_1_1_bound_cost.html">SimpleBoundCosts::BoundCost</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_dimension.html#afe114b1ae740fcef694ce3835e37d9d2">GetQuadraticCostSoftSpanUpperBoundForVehicle</a> (int vehicle) const</td></tr>
<tr class="separator:afe114b1ae740fcef694ce3835e37d9d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a7d1899ebcd524b8902d6777a1644fdc9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d1899ebcd524b8902d6777a1644fdc9">&#9670;&nbsp;</a></span>PickupToDeliveryLimitFunction</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef std::function&lt;int64_t(int, int)&gt; <a class="el" href="classoperations__research_1_1_routing_dimension.html#a7d1899ebcd524b8902d6777a1644fdc9">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_1_routing_model.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#l02646">2646</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="af42a5771d18b334091cc0f786219fe04"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af42a5771d18b334091cc0f786219fe04">&#9670;&nbsp;</a></span>~RoutingDimension()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">~<a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l05433">5433</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a69eef1be411e1643cb7c8130e96fa24c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69eef1be411e1643cb7c8130e96fa24c">&#9670;&nbsp;</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_t&#160;</td>
<td class="paramname"><em>first_node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>second_node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>offset</em>&#160;</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#l02670">2670</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">&#9670;&nbsp;</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_1_routing_dimension_1_1_node_precedence.html">NodePrecedence</a>&#160;</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#l02662">2662</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">&#9670;&nbsp;</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&#160;</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#l02471">2471</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">&#9670;&nbsp;</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_1_routing_dimension.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#l02617">2617</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">&#9670;&nbsp;</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&lt;<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a>*&gt;&amp; 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_1_routing_dimension.html#ae243b923995a2c77533bb9d3318535e4" title="Get the cumul, transit and slack variables for the given node (given as int64_t var index).">CumulVar()</a>, <a class="el" href="classoperations__research_1_1_routing_dimension.html#af3994babe1fa2214a2916711cfe87176">TransitVar()</a>, <a class="el" href="classoperations__research_1_1_routing_dimension.html#a97d67612406bde6bb6dce31dde1a057e">SlackVar()</a> but return the whole variable vectors instead (indexed by int64_t var index). </p>
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l02403">2403</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
</div>
</div>
<a id="ae243b923995a2c77533bb9d3318535e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae243b923995a2c77533bb9d3318535e4">&#9670;&nbsp;</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_1_int_var.html">IntVar</a>* CumulVar </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</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_t var index). </p>
<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="a6a4b2eb4cf5999b4e84ef3da78beb42c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a4b2eb4cf5999b4e84ef3da78beb42c">&#9670;&nbsp;</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&lt;<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a>*&gt;&amp; 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#l02404">2404</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
</div>
</div>
<a id="a1be22b8756f0d319a2c6e61f0cee32d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1be22b8756f0d319a2c6e61f0cee32d6">&#9670;&nbsp;</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_1_int_var.html">IntVar</a>* FixedTransitVar </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</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#l02395">2395</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">&#9670;&nbsp;</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&lt;<a class="el" href="classoperations__research_1_1_sorted_disjoint_interval_list.html">SortedDisjointIntervalList</a>&gt;&amp; 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#l02409">2409</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
</div>
</div>
<a id="a70dcc75273b8ffe7bf1df455e227d939"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70dcc75273b8ffe7bf1df455e227d939">&#9670;&nbsp;</a></span>GetAllowedIntervalsInRange()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1_sorted_disjoint_interval_list.html">SortedDisjointIntervalList</a> GetAllowedIntervalsInRange </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>min_value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>max_value</em>&#160;</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>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06033">6033</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="aeb48e0a259af538f591d9f843c113d00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb48e0a259af538f591d9f843c113d00">&#9670;&nbsp;</a></span>GetBreakDistanceDurationOfVehicle()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt; std::pair&lt; int64_t, int64_t &gt; &gt; &amp; GetBreakDistanceDurationOfVehicle </td>
<td>(</td>
<td class="paramtype">int&#160;</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>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06413">6413</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="a91b8a6eb7cf5ab0ebc74ddced140d700"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a91b8a6eb7cf5ab0ebc74ddced140d700">&#9670;&nbsp;</a></span>GetBreakIntervalsOfVehicle()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt; &amp; GetBreakIntervalsOfVehicle </td>
<td>(</td>
<td class="paramtype">int&#160;</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_1_routing_dimension.html#ae34995163df20f89961e907ac3b25532" title="Sets the breaks for a given vehicle.">SetBreakIntervalsOfVehicle()</a>. </p>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06378">6378</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="aa597b91522af2c0f7f36f566e22f6d4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa597b91522af2c0f7f36f566e22f6d4a">&#9670;&nbsp;</a></span>GetCumulVarPiecewiseLinearCost()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classoperations__research_1_1_piecewise_linear_function.html">PiecewiseLinearFunction</a> * GetCumulVarPiecewiseLinearCost </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</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>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06107">6107</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="afe26c6f9f4c70620ce91fbff37f4834d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afe26c6f9f4c70620ce91fbff37f4834d">&#9670;&nbsp;</a></span>GetCumulVarSoftLowerBound()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t GetCumulVarSoftLowerBound </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</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>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06216">6216</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="af63828b2874b76ba4af52bfbbed5f156"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af63828b2874b76ba4af52bfbbed5f156">&#9670;&nbsp;</a></span>GetCumulVarSoftLowerBoundCoefficient()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t GetCumulVarSoftLowerBoundCoefficient </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</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>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06224">6224</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="ae80c65007e8e9be55995bb2aa4493898"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae80c65007e8e9be55995bb2aa4493898">&#9670;&nbsp;</a></span>GetCumulVarSoftUpperBound()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t GetCumulVarSoftUpperBound </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</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>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06164">6164</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="a32c310c90b2870f76dfe58ef41127d83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a32c310c90b2870f76dfe58ef41127d83">&#9670;&nbsp;</a></span>GetCumulVarSoftUpperBoundCoefficient()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t GetCumulVarSoftUpperBoundCoefficient </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</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>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06172">6172</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="a8e43146490354e3aaece177f14fd693c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e43146490354e3aaece177f14fd693c">&#9670;&nbsp;</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_t GetFirstPossibleGreaterOrEqualValueForNode </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>min_value</em>&#160;</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#l02417">2417</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
</div>
</div>
<a id="a38a1205e1e6fec4a632d523a64856c4b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38a1205e1e6fec4a632d523a64856c4b">&#9670;&nbsp;</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_t 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#l02695">2695</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
</div>
</div>
<a id="ac3f1c12c557366e28c26132a524be3d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3f1c12c557366e28c26132a524be3d3">&#9670;&nbsp;</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_t GetLastPossibleLessOrEqualValueForNode </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>max_value</em>&#160;</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#l02436">2436</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
</div>
</div>
<a id="ac49d19c473861fd725540574c9779f7f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac49d19c473861fd725540574c9779f7f">&#9670;&nbsp;</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_t GetLocalOptimizerOffsetForVehicle </td>
<td>(</td>
<td class="paramtype">int&#160;</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#l02699">2699</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">&#9670;&nbsp;</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&lt;<a class="el" href="structoperations__research_1_1_routing_dimension_1_1_node_precedence.html">NodePrecedence</a>&gt;&amp; 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#l02665">2665</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">&#9670;&nbsp;</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 <a class="el" href="classutil_1_1_reverse_arc_list_graph.html">ReverseArcListGraph</a>&lt;int, int&gt;&amp; 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#l02632">2632</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
</div>
</div>
<a id="a3efd441f3accdd91d91ffbd1d4e1b255"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3efd441f3accdd91d91ffbd1d4e1b255">&#9670;&nbsp;</a></span>GetPickupToDeliveryLimitForPair()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t GetPickupToDeliveryLimitForPair </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>pair_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>pickup</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>delivery</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06433">6433</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="afb4c32e76561cad95bd8be2777d8f1ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb4c32e76561cad95bd8be2777d8f1ac">&#9670;&nbsp;</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&#160;</td>
<td class="paramname"><em>vehicle</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06391">6391</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="a8e93e99ce491f2779c0d2e5e7de5a98a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e93e99ce491f2779c0d2e5e7de5a98a">&#9670;&nbsp;</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&#160;</td>
<td class="paramname"><em>vehicle</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>!defined(SWIGPYTHON) </p>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06385">6385</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="afe114b1ae740fcef694ce3835e37d9d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afe114b1ae740fcef694ce3835e37d9d2">&#9670;&nbsp;</a></span>GetQuadraticCostSoftSpanUpperBoundForVehicle()</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_1_simple_bound_costs_1_1_bound_cost.html">SimpleBoundCosts::BoundCost</a> GetQuadraticCostSoftSpanUpperBoundForVehicle </td>
<td>(</td>
<td class="paramtype">int&#160;</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#l02740">2740</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
</div>
</div>
<a id="a06257e0b9422e5de00bd4eef03777355"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06257e0b9422e5de00bd4eef03777355">&#9670;&nbsp;</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_1_simple_bound_costs_1_1_bound_cost.html">SimpleBoundCosts::BoundCost</a> GetSoftSpanUpperBoundForVehicle </td>
<td>(</td>
<td class="paramtype">int&#160;</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#l02720">2720</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
</div>
</div>
<a id="a506e1394eff1694085e3cfeb4a1997f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a506e1394eff1694085e3cfeb4a1997f1">&#9670;&nbsp;</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_t GetSpanCostCoefficientForVehicle </td>
<td>(</td>
<td class="paramtype">int&#160;</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#l02683">2683</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
</div>
</div>
<a id="a5ffb5c0e60db5d3939873fe92462bae9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ffb5c0e60db5d3939873fe92462bae9">&#9670;&nbsp;</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_t GetSpanUpperBoundForVehicle </td>
<td>(</td>
<td class="paramtype">int&#160;</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#l02675">2675</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
</div>
</div>
<a id="aacebe98359d92dbc79626807ad78971c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aacebe98359d92dbc79626807ad78971c">&#9670;&nbsp;</a></span>GetTransitValue()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t GetTransitValue </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>from_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>to_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>vehicle</em>&#160;</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>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06027">6027</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="ac37dad3d58933eba269fe606fdc01330"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac37dad3d58933eba269fe606fdc01330">&#9670;&nbsp;</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_t GetTransitValueFromClass </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>from_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>to_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>vehicle_class</em>&#160;</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_1_routing_dimension.html#aa46d01169492b00c999344e8982ddd0f">vehicle_to_class()</a>). </p>
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l02386">2386</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">&#9670;&nbsp;</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_1_routing_model.html#a204041e5264282d54dfd198011e776d3">RoutingModel::TransitCallback1</a>&amp; GetUnaryTransitEvaluator </td>
<td>(</td>
<td class="paramtype">int&#160;</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#l02464">2464</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
</div>
</div>
<a id="a539915a226ec8626161d0310b22e8881"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a539915a226ec8626161d0310b22e8881">&#9670;&nbsp;</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_t 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#l02691">2691</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">&#9670;&nbsp;</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>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06374">6374</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="a320c6e0379386d701cc6b84a25c7f020"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a320c6e0379386d701cc6b84a25c7f020">&#9670;&nbsp;</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_t&#160;</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>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06102">6102</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="a3ffb5532e1a2da908b35ce947f30a0a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ffb5532e1a2da908b35ce947f30a0a3">&#9670;&nbsp;</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_t&#160;</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>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06211">6211</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="a8eafd6802aace5a8b509d920de5e37c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8eafd6802aace5a8b509d920de5e37c5">&#9670;&nbsp;</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_t&#160;</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>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06159">6159</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="a36f4aa60ff1b8c1dd5fc1180199cad8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a36f4aa60ff1b8c1dd5fc1180199cad8d">&#9670;&nbsp;</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">
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06429">6429</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="a8f040af6919077c9fb3b7d1eb1aaa677"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8f040af6919077c9fb3b7d1eb1aaa677">&#9670;&nbsp;</a></span>HasQuadraticCostSoftSpanUpperBounds()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool HasQuadraticCostSoftSpanUpperBounds </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#l02737">2737</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
</div>
</div>
<a id="af0185f7c0ea3abf45191db23514604f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0185f7c0ea3abf45191db23514604f3">&#9670;&nbsp;</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#l02717">2717</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">&#9670;&nbsp;</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>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06364">6364</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="a35a576bb3ea6814f122593d44a3c391e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35a576bb3ea6814f122593d44a3c391e">&#9670;&nbsp;</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_1_routing_model.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#l02378">2378</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">&#9670;&nbsp;</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&amp; 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#l02628">2628</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
</div>
</div>
<a id="a53a1734d4818932a457346136f5f2bdc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53a1734d4818932a457346136f5f2bdc">&#9670;&nbsp;</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_t&#160;</td>
<td class="paramname"><em>distance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>duration</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>vehicle</em>&#160;</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 most distance. </p>
<p>This supposes that the time until route start and after route end are infinite breaks. </p>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06397">6397</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="ae34995163df20f89961e907ac3b25532"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae34995163df20f89961e907ac3b25532">&#9670;&nbsp;</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&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt;&#160;</td>
<td class="paramname"><em>breaks</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>vehicle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>pre_travel_evaluator</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>post_travel_evaluator</em>&#160;</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 -&gt; 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>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06335">6335</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="ac85353f4ba32aecc3dac32ba1a552bda"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac85353f4ba32aecc3dac32ba1a552bda">&#9670;&nbsp;</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&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt;&#160;</td>
<td class="paramname"><em>breaks</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>vehicle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; int64_t &gt;&#160;</td>
<td class="paramname"><em>node_visit_transits</em>&#160;</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>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06309">6309</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="aa7712e580d7e88364f8db5a7c19ca87c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7712e580d7e88364f8db5a7c19ca87c">&#9670;&nbsp;</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&lt; <a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> * &gt;&#160;</td>
<td class="paramname"><em>breaks</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>vehicle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; int64_t &gt;&#160;</td>
<td class="paramname"><em>node_visit_transits</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::function&lt; int64_t(int64_t, int64_t)&gt;&#160;</td>
<td class="paramname"><em>delays</em>&#160;</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) = delays(i, j). </p>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06320">6320</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="a170770b614a847e56afe80355b53a363"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a170770b614a847e56afe80355b53a363">&#9670;&nbsp;</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_t&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_piecewise_linear_function.html">PiecewiseLinearFunction</a> &amp;&#160;</td>
<td class="paramname"><em>cost</em>&#160;</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>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06083">6083</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="afc83fbeb8594e87774089b99b0add61f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc83fbeb8594e87774089b99b0add61f">&#9670;&nbsp;</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_t&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>lower_bound</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>coefficient</em>&#160;</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 &gt; lower_bound -&gt; cost = 0 cumulVar &lt;= lower_bound -&gt; cost = coefficient * (lower_bound - cumulVar). This is also handy to model earliness costs when the dimension represents time. </p>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06201">6201</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="ad62d2fe202a7e38982ee1dea486f7a9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad62d2fe202a7e38982ee1dea486f7a9f">&#9670;&nbsp;</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_t&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>upper_bound</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t&#160;</td>
<td class="paramname"><em>coefficient</em>&#160;</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 &lt;= upper_bound -&gt; cost = 0 cumulVar &gt; upper_bound -&gt; cost = coefficient * (cumulVar - upper_bound) This is also handy to model tardiness costs when the dimension represents time. </p>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06149">6149</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="af3506c5dbc4ca4f281ed0589164f3de0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af3506c5dbc4ca4f281ed0589164f3de0">&#9670;&nbsp;</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_t&#160;</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>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06078">6078</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="aa21323f8eeaa9c502d6cfb92109a73d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa21323f8eeaa9c502d6cfb92109a73d4">&#9670;&nbsp;</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_1_routing_dimension.html#a7d1899ebcd524b8902d6777a1644fdc9">PickupToDeliveryLimitFunction</a>&#160;</td>
<td class="paramname"><em>limit_function</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>pair_index</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06419">6419</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="a012fdf5c7ca7a423d90dc75b6d95cf39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a012fdf5c7ca7a423d90dc75b6d95cf39">&#9670;&nbsp;</a></span>SetQuadraticCostSoftSpanUpperBoundForVehicle()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void SetQuadraticCostSoftSpanUpperBoundForVehicle </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structoperations__research_1_1_simple_bound_costs_1_1_bound_cost.html">SimpleBoundCosts::BoundCost</a>&#160;</td>
<td class="paramname"><em>bound_cost</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>vehicle</em>&#160;</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)^2. </p>
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l02727">2727</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
</div>
</div>
<a id="a29304c6e17a12d06903ef952d685c5b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29304c6e17a12d06903ef952d685c5b3">&#9670;&nbsp;</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_1_simple_bound_costs_1_1_bound_cost.html">SimpleBoundCosts::BoundCost</a>&#160;</td>
<td class="paramname"><em>bound_cost</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>vehicle</em>&#160;</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#l02709">2709</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
</div>
</div>
<a id="a149832f24795a7b2c0b61da79d9ec3ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a149832f24795a7b2c0b61da79d9ec3ba">&#9670;&nbsp;</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_t&#160;</td>
<td class="paramname"><em>coefficient</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06072">6072</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="afb58020be40d47c942a4f3f0b7661068"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb58020be40d47c942a4f3f0b7661068">&#9670;&nbsp;</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_t&#160;</td>
<td class="paramname"><em>coefficient</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>vehicle</em>&#160;</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>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06064">6064</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="aec65c2e89b95b1509b76fbff076666ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec65c2e89b95b1509b76fbff076666ad">&#9670;&nbsp;</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_t&#160;</td>
<td class="paramname"><em>upper_bound</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>vehicle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>!defined(SWIGCSHARP) &amp;&amp; !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>
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06056">6056</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
</div>
</div>
<a id="aa92333e706853d147814ecd3426a0c1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa92333e706853d147814ecd3426a0c1d">&#9670;&nbsp;</a></span>ShortestTransitionSlack()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t ShortestTransitionSlack </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</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>
<p class="definition">Definition at line <a class="el" href="routing__search_8cc_source.html#l04186">4186</a> of file <a class="el" href="routing__search_8cc_source.html">routing_search.cc</a>.</p>
</div>
</div>
<a id="adeac1b3791fe4e3ba366bbb60c268ae7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adeac1b3791fe4e3ba366bbb60c268ae7">&#9670;&nbsp;</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&lt;<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a>*&gt;&amp; 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#l02406">2406</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
</div>
</div>
<a id="a97d67612406bde6bb6dce31dde1a057e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a97d67612406bde6bb6dce31dde1a057e">&#9670;&nbsp;</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_1_int_var.html">IntVar</a>* SlackVar </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</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#l02398">2398</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">&#9670;&nbsp;</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_1_routing_model.html#a5fa8aee5b0c67072dbbb03f1899ec60a">RoutingModel::TransitCallback2</a>&amp; transit_evaluator </td>
<td>(</td>
<td class="paramtype">int&#160;</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#l02457">2457</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">&#9670;&nbsp;</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&lt;<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a>*&gt;&amp; 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#l02405">2405</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
</div>
</div>
<a id="af3994babe1fa2214a2916711cfe87176"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af3994babe1fa2214a2916711cfe87176">&#9670;&nbsp;</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_1_int_var.html">IntVar</a>* TransitVar </td>
<td>(</td>
<td class="paramtype">int64_t&#160;</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#l02394">2394</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
</div>
</div>
<a id="ab42006786ca113adf6bd25e4f9974b8f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab42006786ca113adf6bd25e4f9974b8f">&#9670;&nbsp;</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&lt;int64_t&gt;&amp; 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#l02452">2452</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
</div>
</div>
<a id="a8b13e31112f3202a2cac1d21c99a2255"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b13e31112f3202a2cac1d21c99a2255">&#9670;&nbsp;</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&lt;int64_t&gt;&amp; 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#l02687">2687</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
</div>
</div>
<a id="aefd69f840a18beccf95339b3a05d6ded"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aefd69f840a18beccf95339b3a05d6ded">&#9670;&nbsp;</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&lt;int64_t&gt;&amp; 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#l02679">2679</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">&#9670;&nbsp;</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&#160;</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#l02475">2475</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 files:<ul>
<li><a class="el" href="routing_8h_source.html">routing.h</a></li>
<li><a class="el" href="routing_8cc_source.html">routing.cc</a></li>
<li><a class="el" href="routing__search_8cc_source.html">routing_search.cc</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.18-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<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_1_routing_dimension.html">RoutingDimension</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.9.1 </li>
</ul>
</div>
</body>
</html>