6986 lines
437 KiB
HTML
6986 lines
437 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.3"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>OR-Tools: RoutingModel</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
|
|
 <span id="projectnumber">9.3</span>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.9.3 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
var searchBox = new SearchBox("searchBox", "search",'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:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(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:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(document).ready(function(){initNavTree('classoperations__research_1_1_routing_model.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> |
|
|
<a href="#pub-types">Public Types</a> |
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="#pub-static-methods">Static Public Member Functions</a> |
|
|
<a href="#pub-static-attribs">Static Public Attributes</a> |
|
|
<a href="classoperations__research_1_1_routing_model-members.html">List of all members</a> </div>
|
|
<div class="headertitle"><div class="title">RoutingModel</div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock">
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00210">210</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 id="nested-classes" name="nested-classes"></a>
|
|
Classes</h2></td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1_routing_model_1_1_cost_class.html">CostClass</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model_1_1_resource_group.html">ResourceGroup</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A <a class="el" href="classoperations__research_1_1_routing_model_1_1_resource_group.html" title="A ResourceGroup defines a set of available Resources with attributes on one or multiple dimensions.">ResourceGroup</a> defines a set of available Resources with attributes on one or multiple dimensions. <a href="classoperations__research_1_1_routing_model_1_1_resource_group.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1_routing_model_1_1_state_dependent_transit.html">StateDependentTransit</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">What follows is relevant for models with time/state dependent transits. <a href="structoperations__research_1_1_routing_model_1_1_state_dependent_transit.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1_routing_model_1_1_vehicle_class.html">VehicleClass</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1_routing_model_1_1_vehicle_type_container.html">VehicleTypeContainer</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Struct used to sort and store vehicles by their type. <a href="structoperations__research_1_1_routing_model_1_1_vehicle_type_container.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
|
|
Public Types</h2></td></tr>
|
|
<tr class="memitem:a67a0db04d321a74b7e7fcfd3f1a3f70b"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a> { <br />
|
|
  <a class="el" href="classoperations__research_1_1_routing_model.html#a67a0db04d321a74b7e7fcfd3f1a3f70babe45300b724161791a6429b27d7f5009">ROUTING_NOT_SOLVED</a>
|
|
, <a class="el" href="classoperations__research_1_1_routing_model.html#a67a0db04d321a74b7e7fcfd3f1a3f70ba09515ee36ef4715f09f3aa67f685011e">ROUTING_SUCCESS</a>
|
|
, <a class="el" href="classoperations__research_1_1_routing_model.html#a67a0db04d321a74b7e7fcfd3f1a3f70baba9b2029e549c14c8a6b9f6201e329fd">ROUTING_FAIL</a>
|
|
, <a class="el" href="classoperations__research_1_1_routing_model.html#a67a0db04d321a74b7e7fcfd3f1a3f70baf6452d79d02ab06bc8d722d25825cae3">ROUTING_FAIL_TIMEOUT</a>
|
|
, <br />
|
|
  <a class="el" href="classoperations__research_1_1_routing_model.html#a67a0db04d321a74b7e7fcfd3f1a3f70bae78ffdfdfc3eb7331c0ef91bdef8452b">ROUTING_INVALID</a>
|
|
, <a class="el" href="classoperations__research_1_1_routing_model.html#a67a0db04d321a74b7e7fcfd3f1a3f70ba02010eaecd8ea14e642100b84c0cd972">ROUTING_INFEASIBLE</a>
|
|
<br />
|
|
}</td></tr>
|
|
<tr class="memdesc:a67a0db04d321a74b7e7fcfd3f1a3f70b"><td class="mdescLeft"> </td><td class="mdescRight">Status of the search. <a href="classoperations__research_1_1_routing_model.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">More...</a><br /></td></tr>
|
|
<tr class="separator:a67a0db04d321a74b7e7fcfd3f1a3f70b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa5cff2ee7fbe3a9c5c701bfba7460c83"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aa5cff2ee7fbe3a9c5c701bfba7460c83">PickupAndDeliveryPolicy</a> { <a class="el" href="classoperations__research_1_1_routing_model.html#aa5cff2ee7fbe3a9c5c701bfba7460c83a2fecd02405f5ff0769292822ad17a955">PICKUP_AND_DELIVERY_NO_ORDER</a>
|
|
, <a class="el" href="classoperations__research_1_1_routing_model.html#aa5cff2ee7fbe3a9c5c701bfba7460c83a272376ed085de7d28d36fa1013394cc8">PICKUP_AND_DELIVERY_LIFO</a>
|
|
, <a class="el" href="classoperations__research_1_1_routing_model.html#aa5cff2ee7fbe3a9c5c701bfba7460c83a5c55a9aa52a754be8eb1b9d29af97a8a">PICKUP_AND_DELIVERY_FIFO</a>
|
|
}</td></tr>
|
|
<tr class="memdesc:aa5cff2ee7fbe3a9c5c701bfba7460c83"><td class="mdescLeft"> </td><td class="mdescRight">Types of precedence policy applied to pickup and delivery pairs. <a href="classoperations__research_1_1_routing_model.html#aa5cff2ee7fbe3a9c5c701bfba7460c83">More...</a><br /></td></tr>
|
|
<tr class="separator:aa5cff2ee7fbe3a9c5c701bfba7460c83"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a495b53b94a8c31a8f13755962d6c6059"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a495b53b94a8c31a8f13755962d6c6059">VisitTypePolicy</a> { <a class="el" href="classoperations__research_1_1_routing_model.html#a495b53b94a8c31a8f13755962d6c6059a0c6d4521dc67c6bc22dc917caef2286a">TYPE_ADDED_TO_VEHICLE</a>
|
|
, <a class="el" href="classoperations__research_1_1_routing_model.html#a495b53b94a8c31a8f13755962d6c6059a5b57570c52e974c761a9b08c1fc7e8ab">ADDED_TYPE_REMOVED_FROM_VEHICLE</a>
|
|
, <a class="el" href="classoperations__research_1_1_routing_model.html#a495b53b94a8c31a8f13755962d6c6059a7fc0cab89681d70bbb68958ed70b85c1">TYPE_ON_VEHICLE_UP_TO_VISIT</a>
|
|
, <a class="el" href="classoperations__research_1_1_routing_model.html#a495b53b94a8c31a8f13755962d6c6059ad86e8082b5636a532fe181b288a4dea7">TYPE_SIMULTANEOUSLY_ADDED_AND_REMOVED</a>
|
|
}</td></tr>
|
|
<tr class="memdesc:a495b53b94a8c31a8f13755962d6c6059"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classoperations__research_1_1_set.html">Set</a> the node visit types and incompatibilities/requirements between the types (see below). <a href="classoperations__research_1_1_routing_model.html#a495b53b94a8c31a8f13755962d6c6059">More...</a><br /></td></tr>
|
|
<tr class="separator:a495b53b94a8c31a8f13755962d6c6059"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad13ad202092298b43c9099b212c54d3d"><td class="memItemLeft" align="right" valign="top">typedef RoutingCostClassIndex </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ad13ad202092298b43c9099b212c54d3d">CostClassIndex</a></td></tr>
|
|
<tr class="separator:ad13ad202092298b43c9099b212c54d3d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a966f3010581e2a82e0b1e550667d8bce"><td class="memItemLeft" align="right" valign="top">typedef RoutingDimensionIndex </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a966f3010581e2a82e0b1e550667d8bce">DimensionIndex</a></td></tr>
|
|
<tr class="separator:a966f3010581e2a82e0b1e550667d8bce"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:afa7cbbd4db2dd5d0bec3393efc9ebac1"><td class="memItemLeft" align="right" valign="top">typedef RoutingDisjunctionIndex </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#afa7cbbd4db2dd5d0bec3393efc9ebac1">DisjunctionIndex</a></td></tr>
|
|
<tr class="separator:afa7cbbd4db2dd5d0bec3393efc9ebac1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab6aae3927f3537c446ac33f2c6ecb922"><td class="memItemLeft" align="right" valign="top">typedef RoutingVehicleClassIndex </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ab6aae3927f3537c446ac33f2c6ecb922">VehicleClassIndex</a></td></tr>
|
|
<tr class="separator:ab6aae3927f3537c446ac33f2c6ecb922"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a204041e5264282d54dfd198011e776d3"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceoperations__research.html#aae02b84a58c3008fb747c0f6917bfe6c">RoutingTransitCallback1</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a204041e5264282d54dfd198011e776d3">TransitCallback1</a></td></tr>
|
|
<tr class="separator:a204041e5264282d54dfd198011e776d3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5fa8aee5b0c67072dbbb03f1899ec60a"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceoperations__research.html#a26868b9d744edcd8d59145e068678885">RoutingTransitCallback2</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a5fa8aee5b0c67072dbbb03f1899ec60a">TransitCallback2</a></td></tr>
|
|
<tr class="separator:a5fa8aee5b0c67072dbbb03f1899ec60a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1636c49d2587c3d9df16918345b82378"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceoperations__research.html#a630fe793e232b361cd9fd99f18599df1">RoutingIndexPair</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a1636c49d2587c3d9df16918345b82378">IndexPair</a></td></tr>
|
|
<tr class="separator:a1636c49d2587c3d9df16918345b82378"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a76874cd778ea1b9220673e019f9e7abe"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceoperations__research.html#aef7db0bee0a22d1791d040fd3853f3b7">RoutingIndexPairs</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a76874cd778ea1b9220673e019f9e7abe">IndexPairs</a></td></tr>
|
|
<tr class="separator:a76874cd778ea1b9220673e019f9e7abe"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aba73f2fc54b941bd9233d07cf86b9feb"><td class="memItemLeft" align="right" valign="top">typedef std::function< <a class="el" href="structoperations__research_1_1_routing_model_1_1_state_dependent_transit.html">StateDependentTransit</a>(int64_t, int64_t)> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aba73f2fc54b941bd9233d07cf86b9feb">VariableIndexEvaluator2</a></td></tr>
|
|
<tr class="separator:aba73f2fc54b941bd9233d07cf86b9feb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0e106a97f0156868f1d1c741b283793e"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a0e106a97f0156868f1d1c741b283793e">GetTabuVarsCallback</a> = std::function< std::vector< <a class="el" href="classoperations__research_1_1_int_var.html">operations_research::IntVar</a> * >(<a class="el" href="classoperations__research_1_1_routing_model.html">RoutingModel</a> *)></td></tr>
|
|
<tr class="memdesc:a0e106a97f0156868f1d1c741b283793e"><td class="mdescLeft"> </td><td class="mdescRight">Sets the callback returning the variable to use for the Tabu <a class="el" href="classoperations__research_1_1_search.html">Search</a> metaheuristic. <a href="classoperations__research_1_1_routing_model.html#a0e106a97f0156868f1d1c741b283793e">More...</a><br /></td></tr>
|
|
<tr class="separator:a0e106a97f0156868f1d1c741b283793e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:af12674b693b7b7cfe271e5b066e10bff"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#af12674b693b7b7cfe271e5b066e10bff">RoutingModel</a> (const <a class="el" href="classoperations__research_1_1_routing_index_manager.html">RoutingIndexManager</a> &index_manager)</td></tr>
|
|
<tr class="memdesc:af12674b693b7b7cfe271e5b066e10bff"><td class="mdescLeft"> </td><td class="mdescRight">Constructor taking an index manager. <a href="classoperations__research_1_1_routing_model.html#af12674b693b7b7cfe271e5b066e10bff">More...</a><br /></td></tr>
|
|
<tr class="separator:af12674b693b7b7cfe271e5b066e10bff"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a33cbb6c72596f866cb9cd105c5fee8ff"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a33cbb6c72596f866cb9cd105c5fee8ff">RoutingModel</a> (const <a class="el" href="classoperations__research_1_1_routing_index_manager.html">RoutingIndexManager</a> &index_manager, const RoutingModelParameters &<a class="el" href="cp__model__fz__solver_8cc.html#a10a1eab179b472c030bdc2a2efef7219">parameters</a>)</td></tr>
|
|
<tr class="separator:a33cbb6c72596f866cb9cd105c5fee8ff"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:adca8397d2ad8dfc3bcd2a768bf3e12a2"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#adca8397d2ad8dfc3bcd2a768bf3e12a2">~RoutingModel</a> ()</td></tr>
|
|
<tr class="separator:adca8397d2ad8dfc3bcd2a768bf3e12a2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a558728d2399a362f2595455653edad02"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a558728d2399a362f2595455653edad02">RegisterUnaryTransitVector</a> (std::vector< int64_t > values)</td></tr>
|
|
<tr class="memdesc:a558728d2399a362f2595455653edad02"><td class="mdescLeft"> </td><td class="mdescRight">Registers 'callback' and returns its index. <a href="classoperations__research_1_1_routing_model.html#a558728d2399a362f2595455653edad02">More...</a><br /></td></tr>
|
|
<tr class="separator:a558728d2399a362f2595455653edad02"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:acbab635c68d8a6e0961afae0f606590b"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#acbab635c68d8a6e0961afae0f606590b">RegisterUnaryTransitCallback</a> (<a class="el" href="classoperations__research_1_1_routing_model.html#a204041e5264282d54dfd198011e776d3">TransitCallback1</a> <a class="el" href="gurobi__interface_8cc.html#a6627a3800ac768bb5528ef54c9cace36">callback</a>)</td></tr>
|
|
<tr class="separator:acbab635c68d8a6e0961afae0f606590b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7dd3d77b26ddfc5e981637ee8b83c1ed"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a7dd3d77b26ddfc5e981637ee8b83c1ed">RegisterPositiveUnaryTransitCallback</a> (<a class="el" href="classoperations__research_1_1_routing_model.html#a204041e5264282d54dfd198011e776d3">TransitCallback1</a> <a class="el" href="gurobi__interface_8cc.html#a6627a3800ac768bb5528ef54c9cace36">callback</a>)</td></tr>
|
|
<tr class="separator:a7dd3d77b26ddfc5e981637ee8b83c1ed"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:add1a60041c1f8ec87b492635be1c8704"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#add1a60041c1f8ec87b492635be1c8704">RegisterTransitMatrix</a> (std::vector< std::vector< int64_t > > values)</td></tr>
|
|
<tr class="separator:add1a60041c1f8ec87b492635be1c8704"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8c58bbbfc090a581f02d76fabf465b3e"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a8c58bbbfc090a581f02d76fabf465b3e">RegisterTransitCallback</a> (<a class="el" href="classoperations__research_1_1_routing_model.html#a5fa8aee5b0c67072dbbb03f1899ec60a">TransitCallback2</a> <a class="el" href="gurobi__interface_8cc.html#a6627a3800ac768bb5528ef54c9cace36">callback</a>)</td></tr>
|
|
<tr class="separator:a8c58bbbfc090a581f02d76fabf465b3e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa540a1068aef75c041330a2eafccd623"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aa540a1068aef75c041330a2eafccd623">RegisterPositiveTransitCallback</a> (<a class="el" href="classoperations__research_1_1_routing_model.html#a5fa8aee5b0c67072dbbb03f1899ec60a">TransitCallback2</a> <a class="el" href="gurobi__interface_8cc.html#a6627a3800ac768bb5528ef54c9cace36">callback</a>)</td></tr>
|
|
<tr class="separator:aa540a1068aef75c041330a2eafccd623"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a422ce2898045c53fc90d21d8633d4af7"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a422ce2898045c53fc90d21d8633d4af7">RegisterStateDependentTransitCallback</a> (<a class="el" href="classoperations__research_1_1_routing_model.html#aba73f2fc54b941bd9233d07cf86b9feb">VariableIndexEvaluator2</a> <a class="el" href="gurobi__interface_8cc.html#a6627a3800ac768bb5528ef54c9cace36">callback</a>)</td></tr>
|
|
<tr class="separator:a422ce2898045c53fc90d21d8633d4af7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0ceffe3b4741e0075a7be69d5d539ec4"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classoperations__research_1_1_routing_model.html#a5fa8aee5b0c67072dbbb03f1899ec60a">TransitCallback2</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a0ceffe3b4741e0075a7be69d5d539ec4">TransitCallback</a> (int callback_index) const</td></tr>
|
|
<tr class="separator:a0ceffe3b4741e0075a7be69d5d539ec4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7bcff3e4ab28854695610b340d5d11c3"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classoperations__research_1_1_routing_model.html#a204041e5264282d54dfd198011e776d3">TransitCallback1</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a7bcff3e4ab28854695610b340d5d11c3">UnaryTransitCallbackOrNull</a> (int callback_index) const</td></tr>
|
|
<tr class="separator:a7bcff3e4ab28854695610b340d5d11c3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a903045a090a5c25dfd55fafeec7678ca"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classoperations__research_1_1_routing_model.html#aba73f2fc54b941bd9233d07cf86b9feb">VariableIndexEvaluator2</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a903045a090a5c25dfd55fafeec7678ca">StateDependentTransitCallback</a> (int callback_index) const</td></tr>
|
|
<tr class="separator:a903045a090a5c25dfd55fafeec7678ca"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:afe7b5ce21d69c0cf5e8469a73988b0df"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#afe7b5ce21d69c0cf5e8469a73988b0df">AddDimension</a> (int evaluator_index, int64_t slack_max, int64_t <a class="el" href="routing__flow_8cc.html#a2acb49f4df5288066c43610bede123ec">capacity</a>, bool fix_start_cumul_to_zero, const std::string &<a class="el" href="gscip__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
|
|
<tr class="memdesc:afe7b5ce21d69c0cf5e8469a73988b0df"><td class="mdescLeft"> </td><td class="mdescRight">Model creation. <a href="classoperations__research_1_1_routing_model.html#afe7b5ce21d69c0cf5e8469a73988b0df">More...</a><br /></td></tr>
|
|
<tr class="separator:afe7b5ce21d69c0cf5e8469a73988b0df"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:acf6e2a1031a61467fff27d14cb937fde"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#acf6e2a1031a61467fff27d14cb937fde">AddDimensionWithVehicleTransits</a> (const std::vector< int > &evaluator_indices, int64_t slack_max, int64_t <a class="el" href="routing__flow_8cc.html#a2acb49f4df5288066c43610bede123ec">capacity</a>, bool fix_start_cumul_to_zero, const std::string &<a class="el" href="gscip__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
|
|
<tr class="separator:acf6e2a1031a61467fff27d14cb937fde"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:abb04114cc25bd55e364b79d9adccab91"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#abb04114cc25bd55e364b79d9adccab91">AddDimensionWithVehicleCapacity</a> (int evaluator_index, int64_t slack_max, std::vector< int64_t > vehicle_capacities, bool fix_start_cumul_to_zero, const std::string &<a class="el" href="gscip__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
|
|
<tr class="separator:abb04114cc25bd55e364b79d9adccab91"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af6fa2d6d6bd7201d701efca7da040dd6"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#af6fa2d6d6bd7201d701efca7da040dd6">AddDimensionWithVehicleTransitAndCapacity</a> (const std::vector< int > &evaluator_indices, int64_t slack_max, std::vector< int64_t > vehicle_capacities, bool fix_start_cumul_to_zero, const std::string &<a class="el" href="gscip__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
|
|
<tr class="separator:af6fa2d6d6bd7201d701efca7da040dd6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a646667a1b7c142fc9ac9471be43d12d1"><td class="memItemLeft" align="right" valign="top">std::pair< int, bool > </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a646667a1b7c142fc9ac9471be43d12d1">AddConstantDimensionWithSlack</a> (int64_t <a class="el" href="primal__dual__hybrid__gradient_8cc.html#a730b1ea892f1f794d9bd5f16027acb63">value</a>, int64_t <a class="el" href="routing__flow_8cc.html#a2acb49f4df5288066c43610bede123ec">capacity</a>, int64_t slack_max, bool fix_start_cumul_to_zero, const std::string &<a class="el" href="gscip__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
|
|
<tr class="memdesc:a646667a1b7c142fc9ac9471be43d12d1"><td class="mdescLeft"> </td><td class="mdescRight">Creates a dimension where the transit variable is constrained to be equal to 'value'; 'capacity' is the upper bound of the cumul variables. <a href="classoperations__research_1_1_routing_model.html#a646667a1b7c142fc9ac9471be43d12d1">More...</a><br /></td></tr>
|
|
<tr class="separator:a646667a1b7c142fc9ac9471be43d12d1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9c2c5aa0aa996edff44eb262c6aaad63"><td class="memItemLeft" align="right" valign="top">std::pair< int, bool > </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a9c2c5aa0aa996edff44eb262c6aaad63">AddConstantDimension</a> (int64_t <a class="el" href="primal__dual__hybrid__gradient_8cc.html#a730b1ea892f1f794d9bd5f16027acb63">value</a>, int64_t <a class="el" href="routing__flow_8cc.html#a2acb49f4df5288066c43610bede123ec">capacity</a>, bool fix_start_cumul_to_zero, const std::string &<a class="el" href="gscip__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
|
|
<tr class="separator:a9c2c5aa0aa996edff44eb262c6aaad63"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a34be40dba53068c0eb5c1f1fbb5966c0"><td class="memItemLeft" align="right" valign="top">std::pair< int, bool > </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a34be40dba53068c0eb5c1f1fbb5966c0">AddVectorDimension</a> (std::vector< int64_t > values, int64_t <a class="el" href="routing__flow_8cc.html#a2acb49f4df5288066c43610bede123ec">capacity</a>, bool fix_start_cumul_to_zero, const std::string &<a class="el" href="gscip__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
|
|
<tr class="memdesc:a34be40dba53068c0eb5c1f1fbb5966c0"><td class="mdescLeft"> </td><td class="mdescRight">Creates a dimension where the transit variable is constrained to be equal to 'values[i]' for node i; 'capacity' is the upper bound of the cumul variables. <a href="classoperations__research_1_1_routing_model.html#a34be40dba53068c0eb5c1f1fbb5966c0">More...</a><br /></td></tr>
|
|
<tr class="separator:a34be40dba53068c0eb5c1f1fbb5966c0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1a976fc02875c6fbc766c8a67c8a2b93"><td class="memItemLeft" align="right" valign="top">std::pair< int, bool > </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a1a976fc02875c6fbc766c8a67c8a2b93">AddMatrixDimension</a> (std::vector< std::vector< int64_t > > values, int64_t <a class="el" href="routing__flow_8cc.html#a2acb49f4df5288066c43610bede123ec">capacity</a>, bool fix_start_cumul_to_zero, const std::string &<a class="el" href="gscip__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
|
|
<tr class="memdesc:a1a976fc02875c6fbc766c8a67c8a2b93"><td class="mdescLeft"> </td><td class="mdescRight">Creates a dimension where the transit variable is constrained to be equal to 'values[i][next(i)]' for node i; 'capacity' is the upper bound of the cumul variables. <a href="classoperations__research_1_1_routing_model.html#a1a976fc02875c6fbc766c8a67c8a2b93">More...</a><br /></td></tr>
|
|
<tr class="separator:a1a976fc02875c6fbc766c8a67c8a2b93"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a102980a19e062b6a1b0b89f119d64e67"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a102980a19e062b6a1b0b89f119d64e67">AddDimensionDependentDimensionWithVehicleCapacity</a> (const std::vector< int > &pure_transits, const std::vector< int > &dependent_transits, const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> *base_dimension, int64_t slack_max, std::vector< int64_t > vehicle_capacities, bool fix_start_cumul_to_zero, const std::string &<a class="el" href="gscip__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
|
|
<tr class="memdesc:a102980a19e062b6a1b0b89f119d64e67"><td class="mdescLeft"> </td><td class="mdescRight">Creates a dimension with transits depending on the cumuls of another dimension. <a href="classoperations__research_1_1_routing_model.html#a102980a19e062b6a1b0b89f119d64e67">More...</a><br /></td></tr>
|
|
<tr class="separator:a102980a19e062b6a1b0b89f119d64e67"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a29d89e72de5dd5b4faa176e24298c48a"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a29d89e72de5dd5b4faa176e24298c48a">AddDimensionDependentDimensionWithVehicleCapacity</a> (const std::vector< int > &transits, const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> *base_dimension, int64_t slack_max, std::vector< int64_t > vehicle_capacities, bool fix_start_cumul_to_zero, const std::string &<a class="el" href="gscip__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
|
|
<tr class="memdesc:a29d89e72de5dd5b4faa176e24298c48a"><td class="mdescLeft"> </td><td class="mdescRight">As above, but pure_transits are taken to be zero evaluators. <a href="classoperations__research_1_1_routing_model.html#a29d89e72de5dd5b4faa176e24298c48a">More...</a><br /></td></tr>
|
|
<tr class="separator:a29d89e72de5dd5b4faa176e24298c48a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a23b9ed9eee4280a48f9c9231d5768ad9"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a23b9ed9eee4280a48f9c9231d5768ad9">AddDimensionDependentDimensionWithVehicleCapacity</a> (int transit, const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> *base_dimension, int64_t slack_max, int64_t vehicle_capacity, bool fix_start_cumul_to_zero, const std::string &<a class="el" href="gscip__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
|
|
<tr class="memdesc:a23b9ed9eee4280a48f9c9231d5768ad9"><td class="mdescLeft"> </td><td class="mdescRight">Homogeneous versions of the functions above. <a href="classoperations__research_1_1_routing_model.html#a23b9ed9eee4280a48f9c9231d5768ad9">More...</a><br /></td></tr>
|
|
<tr class="separator:a23b9ed9eee4280a48f9c9231d5768ad9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aef72ecc78425383c931a66caa21d15e2"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aef72ecc78425383c931a66caa21d15e2">AddDimensionDependentDimensionWithVehicleCapacity</a> (int pure_transit, int dependent_transit, const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> *base_dimension, int64_t slack_max, int64_t vehicle_capacity, bool fix_start_cumul_to_zero, const std::string &<a class="el" href="gscip__solver_8cc.html#a82e2a7e0f28d620da677073b6b24574b">name</a>)</td></tr>
|
|
<tr class="separator:aef72ecc78425383c931a66caa21d15e2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4ffedcd1ce5dc6b224edff0b417aad5c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a4ffedcd1ce5dc6b224edff0b417aad5c">MakePathSpansAndTotalSlacks</a> (const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> *dimension, std::vector< <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * > spans, std::vector< <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * > total_slacks)</td></tr>
|
|
<tr class="memdesc:a4ffedcd1ce5dc6b224edff0b417aad5c"><td class="mdescLeft"> </td><td class="mdescRight">For every vehicle of the routing model: <a href="classoperations__research_1_1_routing_model.html#a4ffedcd1ce5dc6b224edff0b417aad5c">More...</a><br /></td></tr>
|
|
<tr class="separator:a4ffedcd1ce5dc6b224edff0b417aad5c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a644ab247b579b93e9a3b1ecd96ba415c"><td class="memItemLeft" align="right" valign="top">std::vector< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a644ab247b579b93e9a3b1ecd96ba415c">GetAllDimensionNames</a> () const</td></tr>
|
|
<tr class="memdesc:a644ab247b579b93e9a3b1ecd96ba415c"><td class="mdescLeft"> </td><td class="mdescRight">Outputs the names of all dimensions added to the routing engine. <a href="classoperations__research_1_1_routing_model.html#a644ab247b579b93e9a3b1ecd96ba415c">More...</a><br /></td></tr>
|
|
<tr class="separator:a644ab247b579b93e9a3b1ecd96ba415c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a88c2b51c968a004484673a6869c1f39d"><td class="memItemLeft" align="right" valign="top">const std::vector< <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> * > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a88c2b51c968a004484673a6869c1f39d">GetDimensions</a> () const</td></tr>
|
|
<tr class="memdesc:a88c2b51c968a004484673a6869c1f39d"><td class="mdescLeft"> </td><td class="mdescRight">Returns all dimensions of the model. <a href="classoperations__research_1_1_routing_model.html#a88c2b51c968a004484673a6869c1f39d">More...</a><br /></td></tr>
|
|
<tr class="separator:a88c2b51c968a004484673a6869c1f39d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6e0fb2d4d5bbda1cad6bf795152cbe13"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a6e0fb2d4d5bbda1cad6bf795152cbe13">GetDimensionsWithSoftOrSpanCosts</a> () const</td></tr>
|
|
<tr class="memdesc:a6e0fb2d4d5bbda1cad6bf795152cbe13"><td class="mdescLeft"> </td><td class="mdescRight">Returns dimensions with soft or vehicle span costs. <a href="classoperations__research_1_1_routing_model.html#a6e0fb2d4d5bbda1cad6bf795152cbe13">More...</a><br /></td></tr>
|
|
<tr class="separator:a6e0fb2d4d5bbda1cad6bf795152cbe13"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aed0ce377baab3b4f688f8f4602188178"><td class="memItemLeft" align="right" valign="top">const std::vector< std::unique_ptr< <a class="el" href="classoperations__research_1_1_global_dimension_cumul_optimizer.html">GlobalDimensionCumulOptimizer</a> > > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aed0ce377baab3b4f688f8f4602188178">GetGlobalDimensionCumulOptimizers</a> () const</td></tr>
|
|
<tr class="memdesc:aed0ce377baab3b4f688f8f4602188178"><td class="mdescLeft"> </td><td class="mdescRight">Returns [global|local]_dimension_optimizers_, which are empty if the model has not been closed. <a href="classoperations__research_1_1_routing_model.html#aed0ce377baab3b4f688f8f4602188178">More...</a><br /></td></tr>
|
|
<tr class="separator:aed0ce377baab3b4f688f8f4602188178"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5bfdde32eb65e619a0c5aa5b3e442c85"><td class="memItemLeft" align="right" valign="top">const std::vector< std::unique_ptr< <a class="el" href="classoperations__research_1_1_global_dimension_cumul_optimizer.html">GlobalDimensionCumulOptimizer</a> > > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a5bfdde32eb65e619a0c5aa5b3e442c85">GetGlobalDimensionCumulMPOptimizers</a> () const</td></tr>
|
|
<tr class="separator:a5bfdde32eb65e619a0c5aa5b3e442c85"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9a07703aefbfad85097b3c03378c2b7b"><td class="memItemLeft" align="right" valign="top">const std::vector< std::unique_ptr< <a class="el" href="classoperations__research_1_1_local_dimension_cumul_optimizer.html">LocalDimensionCumulOptimizer</a> > > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a9a07703aefbfad85097b3c03378c2b7b">GetLocalDimensionCumulOptimizers</a> () const</td></tr>
|
|
<tr class="separator:a9a07703aefbfad85097b3c03378c2b7b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3b780291494b520928962649bc3aa020"><td class="memItemLeft" align="right" valign="top">const std::vector< std::unique_ptr< <a class="el" href="classoperations__research_1_1_local_dimension_cumul_optimizer.html">LocalDimensionCumulOptimizer</a> > > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a3b780291494b520928962649bc3aa020">GetLocalDimensionCumulMPOptimizers</a> () const</td></tr>
|
|
<tr class="separator:a3b780291494b520928962649bc3aa020"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:abac1ff6e7eaa5e1ec6e86e726cce3d90"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_global_dimension_cumul_optimizer.html">GlobalDimensionCumulOptimizer</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#abac1ff6e7eaa5e1ec6e86e726cce3d90">GetMutableGlobalCumulOptimizer</a> (const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> &dimension) const</td></tr>
|
|
<tr class="memdesc:abac1ff6e7eaa5e1ec6e86e726cce3d90"><td class="mdescLeft"> </td><td class="mdescRight">Returns the global/local dimension cumul optimizer for a given dimension, or nullptr if there is none. <a href="classoperations__research_1_1_routing_model.html#abac1ff6e7eaa5e1ec6e86e726cce3d90">More...</a><br /></td></tr>
|
|
<tr class="separator:abac1ff6e7eaa5e1ec6e86e726cce3d90"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4aa17dcb68bcfcfa4c6c0088f5155da8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_global_dimension_cumul_optimizer.html">GlobalDimensionCumulOptimizer</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a4aa17dcb68bcfcfa4c6c0088f5155da8">GetMutableGlobalCumulMPOptimizer</a> (const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> &dimension) const</td></tr>
|
|
<tr class="separator:a4aa17dcb68bcfcfa4c6c0088f5155da8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a54dbca44a148f9d6d37d4938d686b838"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_dimension_cumul_optimizer.html">LocalDimensionCumulOptimizer</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a54dbca44a148f9d6d37d4938d686b838">GetMutableLocalCumulOptimizer</a> (const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> &dimension) const</td></tr>
|
|
<tr class="separator:a54dbca44a148f9d6d37d4938d686b838"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9b9a92ffb451f19ec773b0543b3f2497"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_local_dimension_cumul_optimizer.html">LocalDimensionCumulOptimizer</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a9b9a92ffb451f19ec773b0543b3f2497">GetMutableLocalCumulMPOptimizer</a> (const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> &dimension) const</td></tr>
|
|
<tr class="separator:a9b9a92ffb451f19ec773b0543b3f2497"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aea90b377b2cc45917a08d519be784009"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aea90b377b2cc45917a08d519be784009">HasDimension</a> (const std::string &dimension_name) const</td></tr>
|
|
<tr class="memdesc:aea90b377b2cc45917a08d519be784009"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if a dimension exists for a given dimension name. <a href="classoperations__research_1_1_routing_model.html#aea90b377b2cc45917a08d519be784009">More...</a><br /></td></tr>
|
|
<tr class="separator:aea90b377b2cc45917a08d519be784009"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aff7724c6a1de20cd5369108e3db5fc76"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aff7724c6a1de20cd5369108e3db5fc76">GetDimensionOrDie</a> (const std::string &dimension_name) const</td></tr>
|
|
<tr class="memdesc:aff7724c6a1de20cd5369108e3db5fc76"><td class="mdescLeft"> </td><td class="mdescRight">Returns a dimension from its name. Dies if the dimension does not exist. <a href="classoperations__research_1_1_routing_model.html#aff7724c6a1de20cd5369108e3db5fc76">More...</a><br /></td></tr>
|
|
<tr class="separator:aff7724c6a1de20cd5369108e3db5fc76"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a57cfea273f9a4d2bacc0cc1e626cb3e1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a57cfea273f9a4d2bacc0cc1e626cb3e1">GetMutableDimension</a> (const std::string &dimension_name) const</td></tr>
|
|
<tr class="memdesc:a57cfea273f9a4d2bacc0cc1e626cb3e1"><td class="mdescLeft"> </td><td class="mdescRight">Returns a dimension from its name. <a href="classoperations__research_1_1_routing_model.html#a57cfea273f9a4d2bacc0cc1e626cb3e1">More...</a><br /></td></tr>
|
|
<tr class="separator:a57cfea273f9a4d2bacc0cc1e626cb3e1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:abfa1b833413dee47ab0aa06d8f625fd2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#abfa1b833413dee47ab0aa06d8f625fd2">SetPrimaryConstrainedDimension</a> (const std::string &dimension_name)</td></tr>
|
|
<tr class="memdesc:abfa1b833413dee47ab0aa06d8f625fd2"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classoperations__research_1_1_set.html">Set</a> the given dimension as "primary constrained". <a href="classoperations__research_1_1_routing_model.html#abfa1b833413dee47ab0aa06d8f625fd2">More...</a><br /></td></tr>
|
|
<tr class="separator:abfa1b833413dee47ab0aa06d8f625fd2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af0ef4b9ace61b0d3f366cf128bfae32d"><td class="memItemLeft" align="right" valign="top">const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#af0ef4b9ace61b0d3f366cf128bfae32d">GetPrimaryConstrainedDimension</a> () const</td></tr>
|
|
<tr class="memdesc:af0ef4b9ace61b0d3f366cf128bfae32d"><td class="mdescLeft"> </td><td class="mdescRight">Get the primary constrained dimension, or an empty string if it is unset. <a href="classoperations__research_1_1_routing_model.html#af0ef4b9ace61b0d3f366cf128bfae32d">More...</a><br /></td></tr>
|
|
<tr class="separator:af0ef4b9ace61b0d3f366cf128bfae32d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a935fbe2d7b2b9d71bf66b0987b9ae4b3"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a935fbe2d7b2b9d71bf66b0987b9ae4b3">AddResourceGroup</a> ()</td></tr>
|
|
<tr class="memdesc:a935fbe2d7b2b9d71bf66b0987b9ae4b3"><td class="mdescLeft"> </td><td class="mdescRight">Adds a resource group to the routing model. <a href="classoperations__research_1_1_routing_model.html#a935fbe2d7b2b9d71bf66b0987b9ae4b3">More...</a><br /></td></tr>
|
|
<tr class="separator:a935fbe2d7b2b9d71bf66b0987b9ae4b3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae1181f0fe3878ba573b8afe8dcbcd557"><td class="memItemLeft" align="right" valign="top">const std::vector< std::unique_ptr< <a class="el" href="classoperations__research_1_1_routing_model_1_1_resource_group.html">ResourceGroup</a> > > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ae1181f0fe3878ba573b8afe8dcbcd557">GetResourceGroups</a> () const</td></tr>
|
|
<tr class="separator:ae1181f0fe3878ba573b8afe8dcbcd557"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a132ce8a8682033f261f2b77c3b84ed81"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_routing_model_1_1_resource_group.html">ResourceGroup</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a132ce8a8682033f261f2b77c3b84ed81">GetResourceGroup</a> (int rg_index) const</td></tr>
|
|
<tr class="separator:a132ce8a8682033f261f2b77c3b84ed81"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a219dfa10a2c3c26cff85c5adde3d47a3"><td class="memItemLeft" align="right" valign="top">const std::vector< int > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a219dfa10a2c3c26cff85c5adde3d47a3">GetDimensionResourceGroupIndices</a> (const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> *dimension) const</td></tr>
|
|
<tr class="memdesc:a219dfa10a2c3c26cff85c5adde3d47a3"><td class="mdescLeft"> </td><td class="mdescRight">Returns the indices of resource groups for this dimension. <a href="classoperations__research_1_1_routing_model.html#a219dfa10a2c3c26cff85c5adde3d47a3">More...</a><br /></td></tr>
|
|
<tr class="separator:a219dfa10a2c3c26cff85c5adde3d47a3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4312c82fe139599cde75656bbb73f863"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a4312c82fe139599cde75656bbb73f863">GetDimensionResourceGroupIndex</a> (const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> *dimension) const</td></tr>
|
|
<tr class="memdesc:a4312c82fe139599cde75656bbb73f863"><td class="mdescLeft"> </td><td class="mdescRight">Returns the index of the resource group attached to the dimension. <a href="classoperations__research_1_1_routing_model.html#a4312c82fe139599cde75656bbb73f863">More...</a><br /></td></tr>
|
|
<tr class="separator:a4312c82fe139599cde75656bbb73f863"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a855597cfbfe217d469f87488444bb0cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_routing_model.html#afa7cbbd4db2dd5d0bec3393efc9ebac1">DisjunctionIndex</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a855597cfbfe217d469f87488444bb0cd">AddDisjunction</a> (const std::vector< int64_t > &indices, int64_t penalty=<a class="el" href="classoperations__research_1_1_routing_model.html#a5f3df49299b1aaad3bca40b14291aa79">kNoPenalty</a>, int64_t max_cardinality=1)</td></tr>
|
|
<tr class="memdesc:a855597cfbfe217d469f87488444bb0cd"><td class="mdescLeft"> </td><td class="mdescRight">Adds a disjunction constraint on the indices: exactly 'max_cardinality' of the indices are active. <a href="classoperations__research_1_1_routing_model.html#a855597cfbfe217d469f87488444bb0cd">More...</a><br /></td></tr>
|
|
<tr class="separator:a855597cfbfe217d469f87488444bb0cd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9148b93be3892d950af000a9b379940e"><td class="memItemLeft" align="right" valign="top">const std::vector< <a class="el" href="classoperations__research_1_1_routing_model.html#afa7cbbd4db2dd5d0bec3393efc9ebac1">DisjunctionIndex</a> > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a9148b93be3892d950af000a9b379940e">GetDisjunctionIndices</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
|
|
<tr class="memdesc:a9148b93be3892d950af000a9b379940e"><td class="mdescLeft"> </td><td class="mdescRight">Returns the indices of the disjunctions to which an index belongs. <a href="classoperations__research_1_1_routing_model.html#a9148b93be3892d950af000a9b379940e">More...</a><br /></td></tr>
|
|
<tr class="separator:a9148b93be3892d950af000a9b379940e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a14ddf0a3cc644cd510603b1cd84e08be"><td class="memTemplParams" colspan="2">template<typename F > </td></tr>
|
|
<tr class="memitem:a14ddf0a3cc644cd510603b1cd84e08be"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a14ddf0a3cc644cd510603b1cd84e08be">ForEachNodeInDisjunctionWithMaxCardinalityFromIndex</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>, int64_t max_cardinality, F f) const</td></tr>
|
|
<tr class="memdesc:a14ddf0a3cc644cd510603b1cd84e08be"><td class="mdescLeft"> </td><td class="mdescRight">Calls f for each variable index of indices in the same disjunctions as the node corresponding to the variable index 'index'; only disjunctions of cardinality 'cardinality' are considered. <a href="classoperations__research_1_1_routing_model.html#a14ddf0a3cc644cd510603b1cd84e08be">More...</a><br /></td></tr>
|
|
<tr class="separator:a14ddf0a3cc644cd510603b1cd84e08be"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:affd6cc6c76adff8e52220cff2c61635b"><td class="memItemLeft" align="right" valign="top">const std::vector< int64_t > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#affd6cc6c76adff8e52220cff2c61635b">GetDisjunctionNodeIndices</a> (<a class="el" href="classoperations__research_1_1_routing_model.html#afa7cbbd4db2dd5d0bec3393efc9ebac1">DisjunctionIndex</a> <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
|
|
<tr class="memdesc:affd6cc6c76adff8e52220cff2c61635b"><td class="mdescLeft"> </td><td class="mdescRight">Returns the variable indices of the nodes in the disjunction of index 'index'. <a href="classoperations__research_1_1_routing_model.html#affd6cc6c76adff8e52220cff2c61635b">More...</a><br /></td></tr>
|
|
<tr class="separator:affd6cc6c76adff8e52220cff2c61635b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a74902abbe8bbfa1c50a80ca8ac83e864"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a74902abbe8bbfa1c50a80ca8ac83e864">GetDisjunctionPenalty</a> (<a class="el" href="classoperations__research_1_1_routing_model.html#afa7cbbd4db2dd5d0bec3393efc9ebac1">DisjunctionIndex</a> <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
|
|
<tr class="memdesc:a74902abbe8bbfa1c50a80ca8ac83e864"><td class="mdescLeft"> </td><td class="mdescRight">Returns the penalty of the node disjunction of index 'index'. <a href="classoperations__research_1_1_routing_model.html#a74902abbe8bbfa1c50a80ca8ac83e864">More...</a><br /></td></tr>
|
|
<tr class="separator:a74902abbe8bbfa1c50a80ca8ac83e864"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a63f303a555e28a1f9aa5c9f710643b9d"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a63f303a555e28a1f9aa5c9f710643b9d">GetDisjunctionMaxCardinality</a> (<a class="el" href="classoperations__research_1_1_routing_model.html#afa7cbbd4db2dd5d0bec3393efc9ebac1">DisjunctionIndex</a> <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
|
|
<tr class="memdesc:a63f303a555e28a1f9aa5c9f710643b9d"><td class="mdescLeft"> </td><td class="mdescRight">Returns the maximum number of possible active nodes of the node disjunction of index 'index'. <a href="classoperations__research_1_1_routing_model.html#a63f303a555e28a1f9aa5c9f710643b9d">More...</a><br /></td></tr>
|
|
<tr class="separator:a63f303a555e28a1f9aa5c9f710643b9d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa9ed1612ddad261cf7e75643534d0aa0"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aa9ed1612ddad261cf7e75643534d0aa0">GetNumberOfDisjunctions</a> () const</td></tr>
|
|
<tr class="memdesc:aa9ed1612ddad261cf7e75643534d0aa0"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of node disjunctions in the model. <a href="classoperations__research_1_1_routing_model.html#aa9ed1612ddad261cf7e75643534d0aa0">More...</a><br /></td></tr>
|
|
<tr class="separator:aa9ed1612ddad261cf7e75643534d0aa0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2ce6b8b331e031114f565ed64926f373"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a2ce6b8b331e031114f565ed64926f373">HasMandatoryDisjunctions</a> () const</td></tr>
|
|
<tr class="memdesc:a2ce6b8b331e031114f565ed64926f373"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if the model contains mandatory disjunctions (ones with kNoPenalty as penalty). <a href="classoperations__research_1_1_routing_model.html#a2ce6b8b331e031114f565ed64926f373">More...</a><br /></td></tr>
|
|
<tr class="separator:a2ce6b8b331e031114f565ed64926f373"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad22a15f79dc9567160b3dd2070db9d48"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ad22a15f79dc9567160b3dd2070db9d48">HasMaxCardinalityConstrainedDisjunctions</a> () const</td></tr>
|
|
<tr class="memdesc:ad22a15f79dc9567160b3dd2070db9d48"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if the model contains at least one disjunction which is constrained by its max_cardinality. <a href="classoperations__research_1_1_routing_model.html#ad22a15f79dc9567160b3dd2070db9d48">More...</a><br /></td></tr>
|
|
<tr class="separator:ad22a15f79dc9567160b3dd2070db9d48"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aba04bfb310dabb1357ebabd3163350c9"><td class="memItemLeft" align="right" valign="top">std::vector< std::pair< int64_t, int64_t > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aba04bfb310dabb1357ebabd3163350c9">GetPerfectBinaryDisjunctions</a> () const</td></tr>
|
|
<tr class="memdesc:aba04bfb310dabb1357ebabd3163350c9"><td class="mdescLeft"> </td><td class="mdescRight">Returns the list of all perfect binary disjunctions, as pairs of variable indices: a disjunction is "perfect" when its variables do not appear in any other disjunction. <a href="classoperations__research_1_1_routing_model.html#aba04bfb310dabb1357ebabd3163350c9">More...</a><br /></td></tr>
|
|
<tr class="separator:aba04bfb310dabb1357ebabd3163350c9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8b9a513f402e84f4c71436cf430f248a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a8b9a513f402e84f4c71436cf430f248a">IgnoreDisjunctionsAlreadyForcedToZero</a> ()</td></tr>
|
|
<tr class="memdesc:a8b9a513f402e84f4c71436cf430f248a"><td class="mdescLeft"> </td><td class="mdescRight">SPECIAL: Makes the solver ignore all the disjunctions whose active variables are all trivially zero (i.e. <a href="classoperations__research_1_1_routing_model.html#a8b9a513f402e84f4c71436cf430f248a">More...</a><br /></td></tr>
|
|
<tr class="separator:a8b9a513f402e84f4c71436cf430f248a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3941ea5b7354b04afea324f91a2ebd35"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a3941ea5b7354b04afea324f91a2ebd35">AddSoftSameVehicleConstraint</a> (const std::vector< int64_t > &indices, int64_t <a class="el" href="routing__flow_8cc.html#a75d7b5e4cab1e156cc7a2c5eba1e16f1">cost</a>)</td></tr>
|
|
<tr class="memdesc:a3941ea5b7354b04afea324f91a2ebd35"><td class="mdescLeft"> </td><td class="mdescRight">Adds a soft constraint to force a set of variable indices to be on the same vehicle. <a href="classoperations__research_1_1_routing_model.html#a3941ea5b7354b04afea324f91a2ebd35">More...</a><br /></td></tr>
|
|
<tr class="separator:a3941ea5b7354b04afea324f91a2ebd35"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aaa20e609421302541206a667e0c71f36"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aaa20e609421302541206a667e0c71f36">SetAllowedVehiclesForIndex</a> (const std::vector< int > &<a class="el" href="classoperations__research_1_1_routing_model.html#aa9e7ba89833775f29889744fe9480d29">vehicles</a>, int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>)</td></tr>
|
|
<tr class="memdesc:aaa20e609421302541206a667e0c71f36"><td class="mdescLeft"> </td><td class="mdescRight">Sets the vehicles which can visit a given node. <a href="classoperations__research_1_1_routing_model.html#aaa20e609421302541206a667e0c71f36">More...</a><br /></td></tr>
|
|
<tr class="separator:aaa20e609421302541206a667e0c71f36"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7d83ad98473be9a287f5ef628b99c929"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a7d83ad98473be9a287f5ef628b99c929">IsVehicleAllowedForIndex</a> (int vehicle, int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>)</td></tr>
|
|
<tr class="memdesc:a7d83ad98473be9a287f5ef628b99c929"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if a vehicle is allowed to visit a given node. <a href="classoperations__research_1_1_routing_model.html#a7d83ad98473be9a287f5ef628b99c929">More...</a><br /></td></tr>
|
|
<tr class="separator:a7d83ad98473be9a287f5ef628b99c929"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7ab8e7947bd1cf91da5560bf7db1fa61"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a7ab8e7947bd1cf91da5560bf7db1fa61">AddPickupAndDelivery</a> (int64_t pickup, int64_t delivery)</td></tr>
|
|
<tr class="memdesc:a7ab8e7947bd1cf91da5560bf7db1fa61"><td class="mdescLeft"> </td><td class="mdescRight">Notifies that index1 and index2 form a pair of nodes which should belong to the same route. <a href="classoperations__research_1_1_routing_model.html#a7ab8e7947bd1cf91da5560bf7db1fa61">More...</a><br /></td></tr>
|
|
<tr class="separator:a7ab8e7947bd1cf91da5560bf7db1fa61"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5f404ec17ed0917a6ac3711ac53e60f1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a5f404ec17ed0917a6ac3711ac53e60f1">AddPickupAndDeliverySets</a> (<a class="el" href="classoperations__research_1_1_routing_model.html#afa7cbbd4db2dd5d0bec3393efc9ebac1">DisjunctionIndex</a> pickup_disjunction, <a class="el" href="classoperations__research_1_1_routing_model.html#afa7cbbd4db2dd5d0bec3393efc9ebac1">DisjunctionIndex</a> delivery_disjunction)</td></tr>
|
|
<tr class="memdesc:a5f404ec17ed0917a6ac3711ac53e60f1"><td class="mdescLeft"> </td><td class="mdescRight">Same as AddPickupAndDelivery but notifying that the performed node from the disjunction of index 'pickup_disjunction' is on the same route as the performed node from the disjunction of index 'delivery_disjunction'. <a href="classoperations__research_1_1_routing_model.html#a5f404ec17ed0917a6ac3711ac53e60f1">More...</a><br /></td></tr>
|
|
<tr class="separator:a5f404ec17ed0917a6ac3711ac53e60f1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac6d5e197d4c8db922db0b8e2a8b7074e"><td class="memItemLeft" align="right" valign="top">const std::vector< std::pair< int, int > > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ac6d5e197d4c8db922db0b8e2a8b7074e">GetPickupIndexPairs</a> (int64_t node_index) const</td></tr>
|
|
<tr class="memdesc:ac6d5e197d4c8db922db0b8e2a8b7074e"><td class="mdescLeft"> </td><td class="mdescRight">Returns pairs for which the node is a pickup; the first element of each pair is the index in the pickup and delivery pairs list in which the pickup appears, the second element is its index in the pickups list. <a href="classoperations__research_1_1_routing_model.html#ac6d5e197d4c8db922db0b8e2a8b7074e">More...</a><br /></td></tr>
|
|
<tr class="separator:ac6d5e197d4c8db922db0b8e2a8b7074e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a434b15d056c7e1751925eba475e84c32"><td class="memItemLeft" align="right" valign="top">const std::vector< std::pair< int, int > > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a434b15d056c7e1751925eba475e84c32">GetDeliveryIndexPairs</a> (int64_t node_index) const</td></tr>
|
|
<tr class="memdesc:a434b15d056c7e1751925eba475e84c32"><td class="mdescLeft"> </td><td class="mdescRight">Same as above for deliveries. <a href="classoperations__research_1_1_routing_model.html#a434b15d056c7e1751925eba475e84c32">More...</a><br /></td></tr>
|
|
<tr class="separator:a434b15d056c7e1751925eba475e84c32"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3656e594d89a44fb6b35ba8f2d395624"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a3656e594d89a44fb6b35ba8f2d395624">SetPickupAndDeliveryPolicyOfAllVehicles</a> (<a class="el" href="classoperations__research_1_1_routing_model.html#aa5cff2ee7fbe3a9c5c701bfba7460c83">PickupAndDeliveryPolicy</a> policy)</td></tr>
|
|
<tr class="memdesc:a3656e594d89a44fb6b35ba8f2d395624"><td class="mdescLeft"> </td><td class="mdescRight">Sets the Pickup and delivery policy of all vehicles. <a href="classoperations__research_1_1_routing_model.html#a3656e594d89a44fb6b35ba8f2d395624">More...</a><br /></td></tr>
|
|
<tr class="separator:a3656e594d89a44fb6b35ba8f2d395624"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8bd5bf6b0d1d0c1c5e2470c5f4882a62"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a8bd5bf6b0d1d0c1c5e2470c5f4882a62">SetPickupAndDeliveryPolicyOfVehicle</a> (<a class="el" href="classoperations__research_1_1_routing_model.html#aa5cff2ee7fbe3a9c5c701bfba7460c83">PickupAndDeliveryPolicy</a> policy, int vehicle)</td></tr>
|
|
<tr class="separator:a8bd5bf6b0d1d0c1c5e2470c5f4882a62"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a351611d23877598dbf426f4235b68112"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_routing_model.html#aa5cff2ee7fbe3a9c5c701bfba7460c83">PickupAndDeliveryPolicy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a351611d23877598dbf426f4235b68112">GetPickupAndDeliveryPolicyOfVehicle</a> (int vehicle) const</td></tr>
|
|
<tr class="separator:a351611d23877598dbf426f4235b68112"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad62f14646fa4da5b6836a2ae505706d2"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ad62f14646fa4da5b6836a2ae505706d2">GetNumOfSingletonNodes</a> () const</td></tr>
|
|
<tr class="memdesc:ad62f14646fa4da5b6836a2ae505706d2"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of non-start/end nodes which do not appear in a pickup/delivery pair. <a href="classoperations__research_1_1_routing_model.html#ad62f14646fa4da5b6836a2ae505706d2">More...</a><br /></td></tr>
|
|
<tr class="separator:ad62f14646fa4da5b6836a2ae505706d2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a251dfaa30251901d13cd2f33a92571ac"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classoperations__research_1_1_routing_model.html#a76874cd778ea1b9220673e019f9e7abe">IndexPairs</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a251dfaa30251901d13cd2f33a92571ac">GetPickupAndDeliveryPairs</a> () const</td></tr>
|
|
<tr class="memdesc:a251dfaa30251901d13cd2f33a92571ac"><td class="mdescLeft"> </td><td class="mdescRight">Returns pickup and delivery pairs currently in the model. <a href="classoperations__research_1_1_routing_model.html#a251dfaa30251901d13cd2f33a92571ac">More...</a><br /></td></tr>
|
|
<tr class="separator:a251dfaa30251901d13cd2f33a92571ac"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2cd53efbfd6e7e99377a77b8b5b07073"><td class="memItemLeft" align="right" valign="top">const std::vector< std::pair< <a class="el" href="classoperations__research_1_1_routing_model.html#afa7cbbd4db2dd5d0bec3393efc9ebac1">DisjunctionIndex</a>, <a class="el" href="classoperations__research_1_1_routing_model.html#afa7cbbd4db2dd5d0bec3393efc9ebac1">DisjunctionIndex</a> > > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a2cd53efbfd6e7e99377a77b8b5b07073">GetPickupAndDeliveryDisjunctions</a> () const</td></tr>
|
|
<tr class="separator:a2cd53efbfd6e7e99377a77b8b5b07073"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a41b22cf5fcd67cab4dd9331673b9efcb"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classoperations__research_1_1_routing_model.html#a76874cd778ea1b9220673e019f9e7abe">IndexPairs</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a41b22cf5fcd67cab4dd9331673b9efcb">GetImplicitUniquePickupAndDeliveryPairs</a> () const</td></tr>
|
|
<tr class="memdesc:a41b22cf5fcd67cab4dd9331673b9efcb"><td class="mdescLeft"> </td><td class="mdescRight">Returns implicit pickup and delivery pairs currently in the model. <a href="classoperations__research_1_1_routing_model.html#a41b22cf5fcd67cab4dd9331673b9efcb">More...</a><br /></td></tr>
|
|
<tr class="separator:a41b22cf5fcd67cab4dd9331673b9efcb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6a07d2e1f4a3af4a2c0051ab40a8b788"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a6a07d2e1f4a3af4a2c0051ab40a8b788">SetVisitType</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>, int type, <a class="el" href="classoperations__research_1_1_routing_model.html#a495b53b94a8c31a8f13755962d6c6059">VisitTypePolicy</a> type_policy)</td></tr>
|
|
<tr class="separator:a6a07d2e1f4a3af4a2c0051ab40a8b788"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5ae82715107922af5fbc18f854d58026"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a5ae82715107922af5fbc18f854d58026">GetVisitType</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
|
|
<tr class="separator:a5ae82715107922af5fbc18f854d58026"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a72d627d4d3da5f1b59256eb9ebf503b5"><td class="memItemLeft" align="right" valign="top">const std::vector< int > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a72d627d4d3da5f1b59256eb9ebf503b5">GetSingleNodesOfType</a> (int type) const</td></tr>
|
|
<tr class="separator:a72d627d4d3da5f1b59256eb9ebf503b5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1e783e12fa9a756c3f96ef9bb09cb972"><td class="memItemLeft" align="right" valign="top">const std::vector< int > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a1e783e12fa9a756c3f96ef9bb09cb972">GetPairIndicesOfType</a> (int type) const</td></tr>
|
|
<tr class="separator:a1e783e12fa9a756c3f96ef9bb09cb972"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aeb6c785d9ebc792b3c6eda788a6dfdf0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_routing_model.html#a495b53b94a8c31a8f13755962d6c6059">VisitTypePolicy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aeb6c785d9ebc792b3c6eda788a6dfdf0">GetVisitTypePolicy</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
|
|
<tr class="separator:aeb6c785d9ebc792b3c6eda788a6dfdf0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a822458cc9a9a6fa02e86af3e3a1e5c89"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a822458cc9a9a6fa02e86af3e3a1e5c89">CloseVisitTypes</a> ()</td></tr>
|
|
<tr class="memdesc:a822458cc9a9a6fa02e86af3e3a1e5c89"><td class="mdescLeft"> </td><td class="mdescRight">This function should be called once all node visit types have been set and prior to adding any incompatibilities/requirements. <a href="classoperations__research_1_1_routing_model.html#a822458cc9a9a6fa02e86af3e3a1e5c89">More...</a><br /></td></tr>
|
|
<tr class="separator:a822458cc9a9a6fa02e86af3e3a1e5c89"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a24478803a7138d68852093b9c2743892"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a24478803a7138d68852093b9c2743892">GetNumberOfVisitTypes</a> () const</td></tr>
|
|
<tr class="separator:a24478803a7138d68852093b9c2743892"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a875041269e3d4c1f90599cde3596353d"><td class="memItemLeft" align="right" valign="top">const std::vector< std::vector< int > > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a875041269e3d4c1f90599cde3596353d">GetTopologicallySortedVisitTypes</a> () const</td></tr>
|
|
<tr class="separator:a875041269e3d4c1f90599cde3596353d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a796b4eed03ed53bbbaed642f4ae94952"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a796b4eed03ed53bbbaed642f4ae94952">AddHardTypeIncompatibility</a> (int type1, int type2)</td></tr>
|
|
<tr class="memdesc:a796b4eed03ed53bbbaed642f4ae94952"><td class="mdescLeft"> </td><td class="mdescRight">Incompatibilities: Two nodes with "hard" incompatible types cannot share the same route at all, while with a "temporal" incompatibility they can't be on the same route at the same time. <a href="classoperations__research_1_1_routing_model.html#a796b4eed03ed53bbbaed642f4ae94952">More...</a><br /></td></tr>
|
|
<tr class="separator:a796b4eed03ed53bbbaed642f4ae94952"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7086a908f1890a7e1550c97b774e6384"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a7086a908f1890a7e1550c97b774e6384">AddTemporalTypeIncompatibility</a> (int type1, int type2)</td></tr>
|
|
<tr class="separator:a7086a908f1890a7e1550c97b774e6384"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac26167700ef3e2bf5e595e2150d1f895"><td class="memItemLeft" align="right" valign="top">const absl::flat_hash_set< int > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ac26167700ef3e2bf5e595e2150d1f895">GetHardTypeIncompatibilitiesOfType</a> (int type) const</td></tr>
|
|
<tr class="memdesc:ac26167700ef3e2bf5e595e2150d1f895"><td class="mdescLeft"> </td><td class="mdescRight">Returns visit types incompatible with a given type. <a href="classoperations__research_1_1_routing_model.html#ac26167700ef3e2bf5e595e2150d1f895">More...</a><br /></td></tr>
|
|
<tr class="separator:ac26167700ef3e2bf5e595e2150d1f895"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a20e9006ff9b8dc8ce89a8239a092b0c7"><td class="memItemLeft" align="right" valign="top">const absl::flat_hash_set< int > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a20e9006ff9b8dc8ce89a8239a092b0c7">GetTemporalTypeIncompatibilitiesOfType</a> (int type) const</td></tr>
|
|
<tr class="separator:a20e9006ff9b8dc8ce89a8239a092b0c7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9c58894df747f5498c335a3a8c5c0c88"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a9c58894df747f5498c335a3a8c5c0c88">HasHardTypeIncompatibilities</a> () const</td></tr>
|
|
<tr class="memdesc:a9c58894df747f5498c335a3a8c5c0c88"><td class="mdescLeft"> </td><td class="mdescRight">Returns true iff any hard (resp. <a href="classoperations__research_1_1_routing_model.html#a9c58894df747f5498c335a3a8c5c0c88">More...</a><br /></td></tr>
|
|
<tr class="separator:a9c58894df747f5498c335a3a8c5c0c88"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad19492313b68e5a963af3793aaec8d90"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ad19492313b68e5a963af3793aaec8d90">HasTemporalTypeIncompatibilities</a> () const</td></tr>
|
|
<tr class="separator:ad19492313b68e5a963af3793aaec8d90"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac22e9cfd1fbf1b4af4f8a9be46ec88a1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ac22e9cfd1fbf1b4af4f8a9be46ec88a1">AddSameVehicleRequiredTypeAlternatives</a> (int dependent_type, absl::flat_hash_set< int > required_type_alternatives)</td></tr>
|
|
<tr class="memdesc:ac22e9cfd1fbf1b4af4f8a9be46ec88a1"><td class="mdescLeft"> </td><td class="mdescRight">Requirements: NOTE: As of 2019-04, cycles in the requirement graph are not supported, and lead to the dependent nodes being skipped if possible (otherwise the model is considered infeasible). <a href="classoperations__research_1_1_routing_model.html#ac22e9cfd1fbf1b4af4f8a9be46ec88a1">More...</a><br /></td></tr>
|
|
<tr class="separator:ac22e9cfd1fbf1b4af4f8a9be46ec88a1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad7dbf1150b65fa6495a6cf4a6ab9dd3b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ad7dbf1150b65fa6495a6cf4a6ab9dd3b">AddRequiredTypeAlternativesWhenAddingType</a> (int dependent_type, absl::flat_hash_set< int > required_type_alternatives)</td></tr>
|
|
<tr class="memdesc:ad7dbf1150b65fa6495a6cf4a6ab9dd3b"><td class="mdescLeft"> </td><td class="mdescRight">If type_D depends on type_R when adding type_D, any node_D of type_D and VisitTypePolicy TYPE_ADDED_TO_VEHICLE or TYPE_SIMULTANEOUSLY_ADDED_AND_REMOVED requires at least one type_R on its vehicle at the time node_D is visited. <a href="classoperations__research_1_1_routing_model.html#ad7dbf1150b65fa6495a6cf4a6ab9dd3b">More...</a><br /></td></tr>
|
|
<tr class="separator:ad7dbf1150b65fa6495a6cf4a6ab9dd3b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa11b7e0480c2cfed29972adef0d3fa74"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aa11b7e0480c2cfed29972adef0d3fa74">AddRequiredTypeAlternativesWhenRemovingType</a> (int dependent_type, absl::flat_hash_set< int > required_type_alternatives)</td></tr>
|
|
<tr class="memdesc:aa11b7e0480c2cfed29972adef0d3fa74"><td class="mdescLeft"> </td><td class="mdescRight">The following requirements apply when visiting dependent nodes that remove their type from the route, i.e. <a href="classoperations__research_1_1_routing_model.html#aa11b7e0480c2cfed29972adef0d3fa74">More...</a><br /></td></tr>
|
|
<tr class="separator:aa11b7e0480c2cfed29972adef0d3fa74"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a56d36a8ace500aa67983ea7cbf4e97e7"><td class="memItemLeft" align="right" valign="top">const std::vector< absl::flat_hash_set< int > > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a56d36a8ace500aa67983ea7cbf4e97e7">GetSameVehicleRequiredTypeAlternativesOfType</a> (int type) const</td></tr>
|
|
<tr class="memdesc:a56d36a8ace500aa67983ea7cbf4e97e7"><td class="mdescLeft"> </td><td class="mdescRight">Returns the set of same-vehicle requirement alternatives for the given type. <a href="classoperations__research_1_1_routing_model.html#a56d36a8ace500aa67983ea7cbf4e97e7">More...</a><br /></td></tr>
|
|
<tr class="separator:a56d36a8ace500aa67983ea7cbf4e97e7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a780dc49f977070d8f061d82550b8ca82"><td class="memItemLeft" align="right" valign="top">const std::vector< absl::flat_hash_set< int > > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a780dc49f977070d8f061d82550b8ca82">GetRequiredTypeAlternativesWhenAddingType</a> (int type) const</td></tr>
|
|
<tr class="memdesc:a780dc49f977070d8f061d82550b8ca82"><td class="mdescLeft"> </td><td class="mdescRight">Returns the set of requirement alternatives when adding the given type. <a href="classoperations__research_1_1_routing_model.html#a780dc49f977070d8f061d82550b8ca82">More...</a><br /></td></tr>
|
|
<tr class="separator:a780dc49f977070d8f061d82550b8ca82"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2c5397c69eec560d911892a7c1642bdd"><td class="memItemLeft" align="right" valign="top">const std::vector< absl::flat_hash_set< int > > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a2c5397c69eec560d911892a7c1642bdd">GetRequiredTypeAlternativesWhenRemovingType</a> (int type) const</td></tr>
|
|
<tr class="memdesc:a2c5397c69eec560d911892a7c1642bdd"><td class="mdescLeft"> </td><td class="mdescRight">Returns the set of requirement alternatives when removing the given type. <a href="classoperations__research_1_1_routing_model.html#a2c5397c69eec560d911892a7c1642bdd">More...</a><br /></td></tr>
|
|
<tr class="separator:a2c5397c69eec560d911892a7c1642bdd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:abc101a64a3c876dcdf1b7176d59bd2c9"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#abc101a64a3c876dcdf1b7176d59bd2c9">HasSameVehicleTypeRequirements</a> () const</td></tr>
|
|
<tr class="memdesc:abc101a64a3c876dcdf1b7176d59bd2c9"><td class="mdescLeft"> </td><td class="mdescRight">Returns true iff any same-route (resp. <a href="classoperations__research_1_1_routing_model.html#abc101a64a3c876dcdf1b7176d59bd2c9">More...</a><br /></td></tr>
|
|
<tr class="separator:abc101a64a3c876dcdf1b7176d59bd2c9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5e3f4c6871f7b2c67fd5b1ad6c94d891"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a5e3f4c6871f7b2c67fd5b1ad6c94d891">HasTemporalTypeRequirements</a> () const</td></tr>
|
|
<tr class="separator:a5e3f4c6871f7b2c67fd5b1ad6c94d891"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab313d84a56c5e9b1b8f28da70b8d4045"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ab313d84a56c5e9b1b8f28da70b8d4045">HasTypeRegulations</a> () const</td></tr>
|
|
<tr class="memdesc:ab313d84a56c5e9b1b8f28da70b8d4045"><td class="mdescLeft"> </td><td class="mdescRight">Returns true iff the model has any incompatibilities or requirements set on node types. <a href="classoperations__research_1_1_routing_model.html#ab313d84a56c5e9b1b8f28da70b8d4045">More...</a><br /></td></tr>
|
|
<tr class="separator:ab313d84a56c5e9b1b8f28da70b8d4045"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aae1975baf3d895a6503de44d872ecb1e"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aae1975baf3d895a6503de44d872ecb1e">UnperformedPenalty</a> (int64_t var_index) const</td></tr>
|
|
<tr class="memdesc:aae1975baf3d895a6503de44d872ecb1e"><td class="mdescLeft"> </td><td class="mdescRight">Get the "unperformed" penalty of a node. <a href="classoperations__research_1_1_routing_model.html#aae1975baf3d895a6503de44d872ecb1e">More...</a><br /></td></tr>
|
|
<tr class="separator:aae1975baf3d895a6503de44d872ecb1e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9285d707cc3302c913f5c88697743947"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a9285d707cc3302c913f5c88697743947">UnperformedPenaltyOrValue</a> (int64_t default_value, int64_t var_index) const</td></tr>
|
|
<tr class="memdesc:a9285d707cc3302c913f5c88697743947"><td class="mdescLeft"> </td><td class="mdescRight">Same as above except that it returns default_value instead of 0 when penalty is not well defined (default value is passed as first argument to simplify the usage of the method in a callback). <a href="classoperations__research_1_1_routing_model.html#a9285d707cc3302c913f5c88697743947">More...</a><br /></td></tr>
|
|
<tr class="separator:a9285d707cc3302c913f5c88697743947"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6aa2251c9948bb8c23fe58704b580b65"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a6aa2251c9948bb8c23fe58704b580b65">GetDepot</a> () const</td></tr>
|
|
<tr class="memdesc:a6aa2251c9948bb8c23fe58704b580b65"><td class="mdescLeft"> </td><td class="mdescRight">Returns the variable index of the first starting or ending node of all routes. <a href="classoperations__research_1_1_routing_model.html#a6aa2251c9948bb8c23fe58704b580b65">More...</a><br /></td></tr>
|
|
<tr class="separator:a6aa2251c9948bb8c23fe58704b580b65"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a82d4266dfd4702907d43f41579ba842e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a82d4266dfd4702907d43f41579ba842e">SetMaximumNumberOfActiveVehicles</a> (int max_active_vehicles)</td></tr>
|
|
<tr class="memdesc:a82d4266dfd4702907d43f41579ba842e"><td class="mdescLeft"> </td><td class="mdescRight">Constrains the maximum number of active vehicles, aka the number of vehicles which do not have an empty route. <a href="classoperations__research_1_1_routing_model.html#a82d4266dfd4702907d43f41579ba842e">More...</a><br /></td></tr>
|
|
<tr class="separator:a82d4266dfd4702907d43f41579ba842e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a945920b524617c6884bb0de60b363c63"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a945920b524617c6884bb0de60b363c63">GetMaximumNumberOfActiveVehicles</a> () const</td></tr>
|
|
<tr class="memdesc:a945920b524617c6884bb0de60b363c63"><td class="mdescLeft"> </td><td class="mdescRight">Returns the maximum number of active vehicles. <a href="classoperations__research_1_1_routing_model.html#a945920b524617c6884bb0de60b363c63">More...</a><br /></td></tr>
|
|
<tr class="separator:a945920b524617c6884bb0de60b363c63"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab8d61705aa4291d2cd437ba0a7dfccbf"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ab8d61705aa4291d2cd437ba0a7dfccbf">SetArcCostEvaluatorOfAllVehicles</a> (int evaluator_index)</td></tr>
|
|
<tr class="memdesc:ab8d61705aa4291d2cd437ba0a7dfccbf"><td class="mdescLeft"> </td><td class="mdescRight">Sets the cost function of the model such that the cost of a segment of a route between node 'from' and 'to' is evaluator(from, to), whatever the route or vehicle performing the route. <a href="classoperations__research_1_1_routing_model.html#ab8d61705aa4291d2cd437ba0a7dfccbf">More...</a><br /></td></tr>
|
|
<tr class="separator:ab8d61705aa4291d2cd437ba0a7dfccbf"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae75d9f49c157b7784fc8baa7d623ee35"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ae75d9f49c157b7784fc8baa7d623ee35">SetArcCostEvaluatorOfVehicle</a> (int evaluator_index, int vehicle)</td></tr>
|
|
<tr class="memdesc:ae75d9f49c157b7784fc8baa7d623ee35"><td class="mdescLeft"> </td><td class="mdescRight">Sets the cost function for a given vehicle route. <a href="classoperations__research_1_1_routing_model.html#ae75d9f49c157b7784fc8baa7d623ee35">More...</a><br /></td></tr>
|
|
<tr class="separator:ae75d9f49c157b7784fc8baa7d623ee35"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae75b9e0c54aab66cffec86c67df3a1d8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ae75b9e0c54aab66cffec86c67df3a1d8">SetFixedCostOfAllVehicles</a> (int64_t <a class="el" href="routing__flow_8cc.html#a75d7b5e4cab1e156cc7a2c5eba1e16f1">cost</a>)</td></tr>
|
|
<tr class="memdesc:ae75b9e0c54aab66cffec86c67df3a1d8"><td class="mdescLeft"> </td><td class="mdescRight">Sets the fixed cost of all vehicle routes. <a href="classoperations__research_1_1_routing_model.html#ae75b9e0c54aab66cffec86c67df3a1d8">More...</a><br /></td></tr>
|
|
<tr class="separator:ae75b9e0c54aab66cffec86c67df3a1d8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a76b241b39811cd74a0ab6e59ab9f63f2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a76b241b39811cd74a0ab6e59ab9f63f2">SetFixedCostOfVehicle</a> (int64_t <a class="el" href="routing__flow_8cc.html#a75d7b5e4cab1e156cc7a2c5eba1e16f1">cost</a>, int vehicle)</td></tr>
|
|
<tr class="memdesc:a76b241b39811cd74a0ab6e59ab9f63f2"><td class="mdescLeft"> </td><td class="mdescRight">Sets the fixed cost of one vehicle route. <a href="classoperations__research_1_1_routing_model.html#a76b241b39811cd74a0ab6e59ab9f63f2">More...</a><br /></td></tr>
|
|
<tr class="separator:a76b241b39811cd74a0ab6e59ab9f63f2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a34bd38fe78ef5896f2a623170f1be5d0"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a34bd38fe78ef5896f2a623170f1be5d0">GetFixedCostOfVehicle</a> (int vehicle) const</td></tr>
|
|
<tr class="memdesc:a34bd38fe78ef5896f2a623170f1be5d0"><td class="mdescLeft"> </td><td class="mdescRight">Returns the route fixed cost taken into account if the route of the vehicle is not empty, aka there's at least one node on the route other than the first and last nodes. <a href="classoperations__research_1_1_routing_model.html#a34bd38fe78ef5896f2a623170f1be5d0">More...</a><br /></td></tr>
|
|
<tr class="separator:a34bd38fe78ef5896f2a623170f1be5d0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa3a9b4b73781a66cf0095c3d29af87c7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aa3a9b4b73781a66cf0095c3d29af87c7">SetAmortizedCostFactorsOfAllVehicles</a> (int64_t linear_cost_factor, int64_t quadratic_cost_factor)</td></tr>
|
|
<tr class="memdesc:aa3a9b4b73781a66cf0095c3d29af87c7"><td class="mdescLeft"> </td><td class="mdescRight">The following methods set the linear and quadratic cost factors of vehicles (must be positive values). <a href="classoperations__research_1_1_routing_model.html#aa3a9b4b73781a66cf0095c3d29af87c7">More...</a><br /></td></tr>
|
|
<tr class="separator:aa3a9b4b73781a66cf0095c3d29af87c7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aaf77a22f4aad202b26d26415f2ad51c7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aaf77a22f4aad202b26d26415f2ad51c7">SetAmortizedCostFactorsOfVehicle</a> (int64_t linear_cost_factor, int64_t quadratic_cost_factor, int vehicle)</td></tr>
|
|
<tr class="memdesc:aaf77a22f4aad202b26d26415f2ad51c7"><td class="mdescLeft"> </td><td class="mdescRight">Sets the linear and quadratic cost factor of the given vehicle. <a href="classoperations__research_1_1_routing_model.html#aaf77a22f4aad202b26d26415f2ad51c7">More...</a><br /></td></tr>
|
|
<tr class="separator:aaf77a22f4aad202b26d26415f2ad51c7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a93253a98a7cf4fd4032c775fc1684b1e"><td class="memItemLeft" align="right" valign="top">const std::vector< int64_t > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a93253a98a7cf4fd4032c775fc1684b1e">GetAmortizedLinearCostFactorOfVehicles</a> () const</td></tr>
|
|
<tr class="separator:a93253a98a7cf4fd4032c775fc1684b1e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad4842065480b0fd38be47e96eeb32fc7"><td class="memItemLeft" align="right" valign="top">const std::vector< int64_t > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ad4842065480b0fd38be47e96eeb32fc7">GetAmortizedQuadraticCostFactorOfVehicles</a> () const</td></tr>
|
|
<tr class="separator:ad4842065480b0fd38be47e96eeb32fc7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a967cdc356518c25283935efe3c0fe799"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a967cdc356518c25283935efe3c0fe799">SetVehicleUsedWhenEmpty</a> (bool is_used, int vehicle)</td></tr>
|
|
<tr class="separator:a967cdc356518c25283935efe3c0fe799"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a27e8ef007bbfb2585ca2569faf92453c"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a27e8ef007bbfb2585ca2569faf92453c">IsVehicleUsedWhenEmpty</a> (int vehicle) const</td></tr>
|
|
<tr class="separator:a27e8ef007bbfb2585ca2569faf92453c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0a341401d28136b8385723641352c9f8"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classoperations__research_1_1_solver.html#a55d833360c375d45a3c503437de9841c">Solver::IndexEvaluator2</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a0a341401d28136b8385723641352c9f8">first_solution_evaluator</a> () const</td></tr>
|
|
<tr class="memdesc:a0a341401d28136b8385723641352c9f8"><td class="mdescLeft"> </td><td class="mdescRight">Gets/sets the evaluator used during the search. <a href="classoperations__research_1_1_routing_model.html#a0a341401d28136b8385723641352c9f8">More...</a><br /></td></tr>
|
|
<tr class="separator:a0a341401d28136b8385723641352c9f8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab69145472d51d341f82d3ad29e9c6be2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ab69145472d51d341f82d3ad29e9c6be2">SetFirstSolutionEvaluator</a> (<a class="el" href="classoperations__research_1_1_solver.html#a55d833360c375d45a3c503437de9841c">Solver::IndexEvaluator2</a> evaluator)</td></tr>
|
|
<tr class="memdesc:ab69145472d51d341f82d3ad29e9c6be2"><td class="mdescLeft"> </td><td class="mdescRight">Takes ownership of evaluator. <a href="classoperations__research_1_1_routing_model.html#ab69145472d51d341f82d3ad29e9c6be2">More...</a><br /></td></tr>
|
|
<tr class="separator:ab69145472d51d341f82d3ad29e9c6be2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1156fa8214dba09e2a2a94862244aa1f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a1156fa8214dba09e2a2a94862244aa1f">AddLocalSearchOperator</a> (<a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> *ls_operator)</td></tr>
|
|
<tr class="memdesc:a1156fa8214dba09e2a2a94862244aa1f"><td class="mdescLeft"> </td><td class="mdescRight">Adds a local search operator to the set of operators used to solve the vehicle routing problem. <a href="classoperations__research_1_1_routing_model.html#a1156fa8214dba09e2a2a94862244aa1f">More...</a><br /></td></tr>
|
|
<tr class="separator:a1156fa8214dba09e2a2a94862244aa1f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0e23be986e4c3b96a50c8798aa5f536d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a0e23be986e4c3b96a50c8798aa5f536d">AddSearchMonitor</a> (<a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const monitor)</td></tr>
|
|
<tr class="memdesc:a0e23be986e4c3b96a50c8798aa5f536d"><td class="mdescLeft"> </td><td class="mdescRight">Adds a search monitor to the search used to solve the routing model. <a href="classoperations__research_1_1_routing_model.html#a0e23be986e4c3b96a50c8798aa5f536d">More...</a><br /></td></tr>
|
|
<tr class="separator:a0e23be986e4c3b96a50c8798aa5f536d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a086605d9650ce3c576d8a9c45ce0b9fc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a086605d9650ce3c576d8a9c45ce0b9fc">AddAtSolutionCallback</a> (std::function< void()> <a class="el" href="gurobi__interface_8cc.html#a6627a3800ac768bb5528ef54c9cace36">callback</a>)</td></tr>
|
|
<tr class="memdesc:a086605d9650ce3c576d8a9c45ce0b9fc"><td class="mdescLeft"> </td><td class="mdescRight">Adds a callback called each time a solution is found during the search. <a href="classoperations__research_1_1_routing_model.html#a086605d9650ce3c576d8a9c45ce0b9fc">More...</a><br /></td></tr>
|
|
<tr class="separator:a086605d9650ce3c576d8a9c45ce0b9fc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4768ba91c34c542eddec212a68d79473"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a4768ba91c34c542eddec212a68d79473">AddVariableMinimizedByFinalizer</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *<a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>)</td></tr>
|
|
<tr class="memdesc:a4768ba91c34c542eddec212a68d79473"><td class="mdescLeft"> </td><td class="mdescRight">Adds a variable to minimize in the solution finalizer. <a href="classoperations__research_1_1_routing_model.html#a4768ba91c34c542eddec212a68d79473">More...</a><br /></td></tr>
|
|
<tr class="separator:a4768ba91c34c542eddec212a68d79473"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aabdcf3bd412a5a61d811ef85e115e5ff"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aabdcf3bd412a5a61d811ef85e115e5ff">AddVariableMaximizedByFinalizer</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *<a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>)</td></tr>
|
|
<tr class="memdesc:aabdcf3bd412a5a61d811ef85e115e5ff"><td class="mdescLeft"> </td><td class="mdescRight">Adds a variable to maximize in the solution finalizer (see above for information on the solution finalizer). <a href="classoperations__research_1_1_routing_model.html#aabdcf3bd412a5a61d811ef85e115e5ff">More...</a><br /></td></tr>
|
|
<tr class="separator:aabdcf3bd412a5a61d811ef85e115e5ff"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab81fff41f3dde630902e1c4e2f534732"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ab81fff41f3dde630902e1c4e2f534732">AddWeightedVariableMinimizedByFinalizer</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *<a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, int64_t <a class="el" href="routing__flow_8cc.html#a75d7b5e4cab1e156cc7a2c5eba1e16f1">cost</a>)</td></tr>
|
|
<tr class="memdesc:ab81fff41f3dde630902e1c4e2f534732"><td class="mdescLeft"> </td><td class="mdescRight">Adds a variable to minimize in the solution finalizer, with a weighted priority: the higher the more priority it has. <a href="classoperations__research_1_1_routing_model.html#ab81fff41f3dde630902e1c4e2f534732">More...</a><br /></td></tr>
|
|
<tr class="separator:ab81fff41f3dde630902e1c4e2f534732"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6efbe07e86c17fee8bdef0765253ff4c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a6efbe07e86c17fee8bdef0765253ff4c">AddWeightedVariableMaximizedByFinalizer</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *<a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, int64_t <a class="el" href="routing__flow_8cc.html#a75d7b5e4cab1e156cc7a2c5eba1e16f1">cost</a>)</td></tr>
|
|
<tr class="memdesc:a6efbe07e86c17fee8bdef0765253ff4c"><td class="mdescLeft"> </td><td class="mdescRight">Adds a variable to maximize in the solution finalizer, with a weighted priority: the higher the more priority it has. <a href="classoperations__research_1_1_routing_model.html#a6efbe07e86c17fee8bdef0765253ff4c">More...</a><br /></td></tr>
|
|
<tr class="separator:a6efbe07e86c17fee8bdef0765253ff4c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8fc98154baec00fd3be88c9d6a0234dc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a8fc98154baec00fd3be88c9d6a0234dc">AddVariableTargetToFinalizer</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *<a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, int64_t target)</td></tr>
|
|
<tr class="memdesc:a8fc98154baec00fd3be88c9d6a0234dc"><td class="mdescLeft"> </td><td class="mdescRight">Add a variable to set the closest possible to the target value in the solution finalizer. <a href="classoperations__research_1_1_routing_model.html#a8fc98154baec00fd3be88c9d6a0234dc">More...</a><br /></td></tr>
|
|
<tr class="separator:a8fc98154baec00fd3be88c9d6a0234dc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4f508f95cf260fed97b354866924052f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a4f508f95cf260fed97b354866924052f">AddWeightedVariableTargetToFinalizer</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *<a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>, int64_t target, int64_t <a class="el" href="routing__flow_8cc.html#a75d7b5e4cab1e156cc7a2c5eba1e16f1">cost</a>)</td></tr>
|
|
<tr class="memdesc:a4f508f95cf260fed97b354866924052f"><td class="mdescLeft"> </td><td class="mdescRight">Same as above with a weighted priority: the higher the cost, the more priority it has to be set close to the target value. <a href="classoperations__research_1_1_routing_model.html#a4f508f95cf260fed97b354866924052f">More...</a><br /></td></tr>
|
|
<tr class="separator:a4f508f95cf260fed97b354866924052f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:add71470f4175a0859e6e3d69c2a53988"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#add71470f4175a0859e6e3d69c2a53988">CloseModel</a> ()</td></tr>
|
|
<tr class="memdesc:add71470f4175a0859e6e3d69c2a53988"><td class="mdescLeft"> </td><td class="mdescRight">Closes the current routing model; after this method is called, no modification to the model can be done, but RoutesToAssignment becomes available. <a href="classoperations__research_1_1_routing_model.html#add71470f4175a0859e6e3d69c2a53988">More...</a><br /></td></tr>
|
|
<tr class="separator:add71470f4175a0859e6e3d69c2a53988"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa79f8d482de4dd0ef86a1b54999686af"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aa79f8d482de4dd0ef86a1b54999686af">CloseModelWithParameters</a> (const RoutingSearchParameters &search_parameters)</td></tr>
|
|
<tr class="memdesc:aa79f8d482de4dd0ef86a1b54999686af"><td class="mdescLeft"> </td><td class="mdescRight">Same as above taking search parameters (as of 10/2015 some the parameters have to be set when closing the model). <a href="classoperations__research_1_1_routing_model.html#aa79f8d482de4dd0ef86a1b54999686af">More...</a><br /></td></tr>
|
|
<tr class="separator:aa79f8d482de4dd0ef86a1b54999686af"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae3bb9f7055b5dabd24e2ea7c6a377a6a"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ae3bb9f7055b5dabd24e2ea7c6a377a6a">Solve</a> (const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *assignment=nullptr)</td></tr>
|
|
<tr class="memdesc:ae3bb9f7055b5dabd24e2ea7c6a377a6a"><td class="mdescLeft"> </td><td class="mdescRight">Solves the current routing model; closes the current model. <a href="classoperations__research_1_1_routing_model.html#ae3bb9f7055b5dabd24e2ea7c6a377a6a">More...</a><br /></td></tr>
|
|
<tr class="separator:ae3bb9f7055b5dabd24e2ea7c6a377a6a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8c5267a8f35e062c163b61bcae31857b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a8c5267a8f35e062c163b61bcae31857b">SolveWithParameters</a> (const RoutingSearchParameters &search_parameters, std::vector< const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * > *solutions=nullptr)</td></tr>
|
|
<tr class="memdesc:a8c5267a8f35e062c163b61bcae31857b"><td class="mdescLeft"> </td><td class="mdescRight">Solves the current routing model with the given parameters. <a href="classoperations__research_1_1_routing_model.html#a8c5267a8f35e062c163b61bcae31857b">More...</a><br /></td></tr>
|
|
<tr class="separator:a8c5267a8f35e062c163b61bcae31857b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a674ab7782c46ba72034c73932b1dbd38"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a674ab7782c46ba72034c73932b1dbd38">SolveFromAssignmentWithParameters</a> (const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *assignment, const RoutingSearchParameters &search_parameters, std::vector< const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * > *solutions=nullptr)</td></tr>
|
|
<tr class="memdesc:a674ab7782c46ba72034c73932b1dbd38"><td class="mdescLeft"> </td><td class="mdescRight">Same as above, except that if assignment is not null, it will be used as the initial solution. <a href="classoperations__research_1_1_routing_model.html#a674ab7782c46ba72034c73932b1dbd38">More...</a><br /></td></tr>
|
|
<tr class="separator:a674ab7782c46ba72034c73932b1dbd38"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a090a12711254bafc2cc797f8f6b21a8c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a090a12711254bafc2cc797f8f6b21a8c">SolveFromAssignmentsWithParameters</a> (const std::vector< const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * > &assignments, const RoutingSearchParameters &search_parameters, std::vector< const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * > *solutions=nullptr)</td></tr>
|
|
<tr class="memdesc:a090a12711254bafc2cc797f8f6b21a8c"><td class="mdescLeft"> </td><td class="mdescRight">Same as above but will try all assignments in order as first solutions until one succeeds. <a href="classoperations__research_1_1_routing_model.html#a090a12711254bafc2cc797f8f6b21a8c">More...</a><br /></td></tr>
|
|
<tr class="separator:a090a12711254bafc2cc797f8f6b21a8c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac1a2ab630f6b13644ca6853c7893f413"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ac1a2ab630f6b13644ca6853c7893f413">SetAssignmentFromOtherModelAssignment</a> (<a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *target_assignment, const <a class="el" href="classoperations__research_1_1_routing_model.html">RoutingModel</a> *source_model, const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *source_assignment)</td></tr>
|
|
<tr class="memdesc:ac1a2ab630f6b13644ca6853c7893f413"><td class="mdescLeft"> </td><td class="mdescRight">Given a "source_model" and its "source_assignment", resets "target_assignment" with the <a class="el" href="classoperations__research_1_1_int_var.html" title="The class IntVar is a subset of IntExpr.">IntVar</a> variables (nexts_, and vehicle_vars_ if costs aren't homogeneous across vehicles) of "this" model, with the values set according to those in "other_assignment". <a href="classoperations__research_1_1_routing_model.html#ac1a2ab630f6b13644ca6853c7893f413">More...</a><br /></td></tr>
|
|
<tr class="separator:ac1a2ab630f6b13644ca6853c7893f413"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a045b5c068a5676ef3d3af9357621d7f7"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a045b5c068a5676ef3d3af9357621d7f7">ComputeLowerBound</a> ()</td></tr>
|
|
<tr class="memdesc:a045b5c068a5676ef3d3af9357621d7f7"><td class="mdescLeft"> </td><td class="mdescRight">Computes a lower bound to the routing problem solving a linear assignment problem. <a href="classoperations__research_1_1_routing_model.html#a045b5c068a5676ef3d3af9357621d7f7">More...</a><br /></td></tr>
|
|
<tr class="separator:a045b5c068a5676ef3d3af9357621d7f7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:adb1490a44086db009cdb51f854a02a65"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_routing_model.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#adb1490a44086db009cdb51f854a02a65">status</a> () const</td></tr>
|
|
<tr class="memdesc:adb1490a44086db009cdb51f854a02a65"><td class="mdescLeft"> </td><td class="mdescRight">Returns the current status of the routing model. <a href="classoperations__research_1_1_routing_model.html#adb1490a44086db009cdb51f854a02a65">More...</a><br /></td></tr>
|
|
<tr class="separator:adb1490a44086db009cdb51f854a02a65"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7fcd2e6d28a2ac1d07f052bc8840a477"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a7fcd2e6d28a2ac1d07f052bc8840a477">ApplyLocks</a> (const std::vector< int64_t > &locks)</td></tr>
|
|
<tr class="memdesc:a7fcd2e6d28a2ac1d07f052bc8840a477"><td class="mdescLeft"> </td><td class="mdescRight">Applies a lock chain to the next search. <a href="classoperations__research_1_1_routing_model.html#a7fcd2e6d28a2ac1d07f052bc8840a477">More...</a><br /></td></tr>
|
|
<tr class="separator:a7fcd2e6d28a2ac1d07f052bc8840a477"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab9242d96967ff3b4e5bec3241831552b"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ab9242d96967ff3b4e5bec3241831552b">ApplyLocksToAllVehicles</a> (const std::vector< std::vector< int64_t > > &locks, bool close_routes)</td></tr>
|
|
<tr class="memdesc:ab9242d96967ff3b4e5bec3241831552b"><td class="mdescLeft"> </td><td class="mdescRight">Applies lock chains to all vehicles to the next search, such that locks[p] is the lock chain for route p. <a href="classoperations__research_1_1_routing_model.html#ab9242d96967ff3b4e5bec3241831552b">More...</a><br /></td></tr>
|
|
<tr class="separator:ab9242d96967ff3b4e5bec3241831552b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aff67d1a1040bedd580940005ef180d6a"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aff67d1a1040bedd580940005ef180d6a">PreAssignment</a> () const</td></tr>
|
|
<tr class="memdesc:aff67d1a1040bedd580940005ef180d6a"><td class="mdescLeft"> </td><td class="mdescRight">Returns an assignment used to fix some of the variables of the problem. <a href="classoperations__research_1_1_routing_model.html#aff67d1a1040bedd580940005ef180d6a">More...</a><br /></td></tr>
|
|
<tr class="separator:aff67d1a1040bedd580940005ef180d6a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a99a5bc05f9eb2dda21edbcca9a48caa5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a99a5bc05f9eb2dda21edbcca9a48caa5">MutablePreAssignment</a> ()</td></tr>
|
|
<tr class="separator:a99a5bc05f9eb2dda21edbcca9a48caa5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:acfcef421e8c8cd243157543f741d6a73"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#acfcef421e8c8cd243157543f741d6a73">WriteAssignment</a> (const std::string &file_name) const</td></tr>
|
|
<tr class="memdesc:acfcef421e8c8cd243157543f741d6a73"><td class="mdescLeft"> </td><td class="mdescRight">Writes the current solution to a file containing an AssignmentProto. <a href="classoperations__research_1_1_routing_model.html#acfcef421e8c8cd243157543f741d6a73">More...</a><br /></td></tr>
|
|
<tr class="separator:acfcef421e8c8cd243157543f741d6a73"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3d81f16de798be60f56cf03cd9b907cf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a3d81f16de798be60f56cf03cd9b907cf">ReadAssignment</a> (const std::string &file_name)</td></tr>
|
|
<tr class="memdesc:a3d81f16de798be60f56cf03cd9b907cf"><td class="mdescLeft"> </td><td class="mdescRight">Reads an assignment from a file and returns the current solution. <a href="classoperations__research_1_1_routing_model.html#a3d81f16de798be60f56cf03cd9b907cf">More...</a><br /></td></tr>
|
|
<tr class="separator:a3d81f16de798be60f56cf03cd9b907cf"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0d3987c3df07976d19f3165788fc97a9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a0d3987c3df07976d19f3165788fc97a9">RestoreAssignment</a> (const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> &solution)</td></tr>
|
|
<tr class="memdesc:a0d3987c3df07976d19f3165788fc97a9"><td class="mdescLeft"> </td><td class="mdescRight">Restores an assignment as a solution in the routing model and returns the new solution. <a href="classoperations__research_1_1_routing_model.html#a0d3987c3df07976d19f3165788fc97a9">More...</a><br /></td></tr>
|
|
<tr class="separator:a0d3987c3df07976d19f3165788fc97a9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a64ae94fd93be72fc5872e9fe27a8c8ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a64ae94fd93be72fc5872e9fe27a8c8ab">ReadAssignmentFromRoutes</a> (const std::vector< std::vector< int64_t > > &routes, bool ignore_inactive_indices)</td></tr>
|
|
<tr class="memdesc:a64ae94fd93be72fc5872e9fe27a8c8ab"><td class="mdescLeft"> </td><td class="mdescRight">Restores the routes as the current solution. <a href="classoperations__research_1_1_routing_model.html#a64ae94fd93be72fc5872e9fe27a8c8ab">More...</a><br /></td></tr>
|
|
<tr class="separator:a64ae94fd93be72fc5872e9fe27a8c8ab"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5b158fd970a1fb0cd98f6c3c324aa7d2"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a5b158fd970a1fb0cd98f6c3c324aa7d2">RoutesToAssignment</a> (const std::vector< std::vector< int64_t > > &routes, bool ignore_inactive_indices, bool close_routes, <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const assignment) const</td></tr>
|
|
<tr class="memdesc:a5b158fd970a1fb0cd98f6c3c324aa7d2"><td class="mdescLeft"> </td><td class="mdescRight">Fills an assignment from a specification of the routes of the vehicles. <a href="classoperations__research_1_1_routing_model.html#a5b158fd970a1fb0cd98f6c3c324aa7d2">More...</a><br /></td></tr>
|
|
<tr class="separator:a5b158fd970a1fb0cd98f6c3c324aa7d2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a85555955bff836046b755e58e363f1a2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a85555955bff836046b755e58e363f1a2">AssignmentToRoutes</a> (const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> &assignment, std::vector< std::vector< int64_t > > *const routes) const</td></tr>
|
|
<tr class="memdesc:a85555955bff836046b755e58e363f1a2"><td class="mdescLeft"> </td><td class="mdescRight">Converts the solution in the given assignment to routes for all vehicles. <a href="classoperations__research_1_1_routing_model.html#a85555955bff836046b755e58e363f1a2">More...</a><br /></td></tr>
|
|
<tr class="separator:a85555955bff836046b755e58e363f1a2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa12303c2dedbd81a69f237f67fa784c5"><td class="memItemLeft" align="right" valign="top">std::vector< std::vector< int64_t > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aa12303c2dedbd81a69f237f67fa784c5">GetRoutesFromAssignment</a> (const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> &assignment)</td></tr>
|
|
<tr class="memdesc:aa12303c2dedbd81a69f237f67fa784c5"><td class="mdescLeft"> </td><td class="mdescRight">Converts the solution in the given assignment to routes for all vehicles. <a href="classoperations__research_1_1_routing_model.html#aa12303c2dedbd81a69f237f67fa784c5">More...</a><br /></td></tr>
|
|
<tr class="separator:aa12303c2dedbd81a69f237f67fa784c5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3ea07f9778e02e7160c30bfb0f08736b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a3ea07f9778e02e7160c30bfb0f08736b">CompactAssignment</a> (const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> &assignment) const</td></tr>
|
|
<tr class="memdesc:a3ea07f9778e02e7160c30bfb0f08736b"><td class="mdescLeft"> </td><td class="mdescRight">Returns a compacted version of the given assignment, in which all vehicles with id lower or equal to some N have non-empty routes, and all vehicles with id greater than N have empty routes. <a href="classoperations__research_1_1_routing_model.html#a3ea07f9778e02e7160c30bfb0f08736b">More...</a><br /></td></tr>
|
|
<tr class="separator:a3ea07f9778e02e7160c30bfb0f08736b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9a9f45350da93a613c6226f7d09d4353"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a9a9f45350da93a613c6226f7d09d4353">CompactAndCheckAssignment</a> (const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> &assignment) const</td></tr>
|
|
<tr class="memdesc:a9a9f45350da93a613c6226f7d09d4353"><td class="mdescLeft"> </td><td class="mdescRight">Same as <a class="el" href="classoperations__research_1_1_routing_model.html#a3ea07f9778e02e7160c30bfb0f08736b" title="Returns a compacted version of the given assignment, in which all vehicles with id lower or equal to ...">CompactAssignment()</a> but also checks the validity of the final compact solution; if it is not valid, no attempts to repair it are made (instead, the method returns nullptr). <a href="classoperations__research_1_1_routing_model.html#a9a9f45350da93a613c6226f7d09d4353">More...</a><br /></td></tr>
|
|
<tr class="separator:a9a9f45350da93a613c6226f7d09d4353"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a437ae499bef0aa64f2753166a000f5bd"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a437ae499bef0aa64f2753166a000f5bd">AddToAssignment</a> (<a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const <a class="el" href="sat__solver_8cc.html#a8392bdc4ed570e6a95c7fca35b09f83f">var</a>)</td></tr>
|
|
<tr class="memdesc:a437ae499bef0aa64f2753166a000f5bd"><td class="mdescLeft"> </td><td class="mdescRight">Adds an extra variable to the vehicle routing assignment. <a href="classoperations__research_1_1_routing_model.html#a437ae499bef0aa64f2753166a000f5bd">More...</a><br /></td></tr>
|
|
<tr class="separator:a437ae499bef0aa64f2753166a000f5bd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab878a81ace850e3ecd26e95966409f61"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ab878a81ace850e3ecd26e95966409f61">AddIntervalToAssignment</a> (<a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const <a class="el" href="resource_8cc.html#af92a8383a05fdf586a52263d358f5ada">interval</a>)</td></tr>
|
|
<tr class="separator:ab878a81ace850e3ecd26e95966409f61"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a90c35f02b0901acc9822020297e313e7"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a90c35f02b0901acc9822020297e313e7">PackCumulsOfOptimizerDimensionsFromAssignment</a> (const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *original_assignment, absl::Duration duration_limit)</td></tr>
|
|
<tr class="memdesc:a90c35f02b0901acc9822020297e313e7"><td class="mdescLeft"> </td><td class="mdescRight">For every dimension in the model with an optimizer in local/global_dimension_optimizers_, this method tries to pack the cumul values of the dimension, such that: <a href="classoperations__research_1_1_routing_model.html#a90c35f02b0901acc9822020297e313e7">More...</a><br /></td></tr>
|
|
<tr class="separator:a90c35f02b0901acc9822020297e313e7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a700982f228080c6278eb5a2f7f06f31d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a700982f228080c6278eb5a2f7f06f31d">SetSweepArranger</a> (<a class="el" href="classoperations__research_1_1_sweep_arranger.html">SweepArranger</a> *<a class="el" href="classoperations__research_1_1_routing_model.html#a641eb9492d9e1682b05fd882635fcfd7">sweep_arranger</a>)</td></tr>
|
|
<tr class="separator:a700982f228080c6278eb5a2f7f06f31d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a641eb9492d9e1682b05fd882635fcfd7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_sweep_arranger.html">SweepArranger</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a641eb9492d9e1682b05fd882635fcfd7">sweep_arranger</a> () const</td></tr>
|
|
<tr class="memdesc:a641eb9492d9e1682b05fd882635fcfd7"><td class="mdescLeft"> </td><td class="mdescRight">Returns the sweep arranger to be used by routing heuristics. <a href="classoperations__research_1_1_routing_model.html#a641eb9492d9e1682b05fd882635fcfd7">More...</a><br /></td></tr>
|
|
<tr class="separator:a641eb9492d9e1682b05fd882635fcfd7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a566384949e6395952f6f6b48603fd87f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a566384949e6395952f6f6b48603fd87f">AddLocalSearchFilter</a> (<a class="el" href="classoperations__research_1_1_local_search_filter.html">LocalSearchFilter</a> *filter)</td></tr>
|
|
<tr class="memdesc:a566384949e6395952f6f6b48603fd87f"><td class="mdescLeft"> </td><td class="mdescRight">Adds a custom local search filter to the list of filters used to speed up local search by pruning unfeasible variable assignments. <a href="classoperations__research_1_1_routing_model.html#a566384949e6395952f6f6b48603fd87f">More...</a><br /></td></tr>
|
|
<tr class="separator:a566384949e6395952f6f6b48603fd87f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa650ea2c539fab98337ae2f6ca553f3d"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aa650ea2c539fab98337ae2f6ca553f3d">Start</a> (int vehicle) const</td></tr>
|
|
<tr class="memdesc:aa650ea2c539fab98337ae2f6ca553f3d"><td class="mdescLeft"> </td><td class="mdescRight">Model inspection. <a href="classoperations__research_1_1_routing_model.html#aa650ea2c539fab98337ae2f6ca553f3d">More...</a><br /></td></tr>
|
|
<tr class="separator:aa650ea2c539fab98337ae2f6ca553f3d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:afb80fd36c1fb57d2db049403483e2074"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#afb80fd36c1fb57d2db049403483e2074">End</a> (int vehicle) const</td></tr>
|
|
<tr class="memdesc:afb80fd36c1fb57d2db049403483e2074"><td class="mdescLeft"> </td><td class="mdescRight">Returns the variable index of the ending node of a vehicle route. <a href="classoperations__research_1_1_routing_model.html#afb80fd36c1fb57d2db049403483e2074">More...</a><br /></td></tr>
|
|
<tr class="separator:afb80fd36c1fb57d2db049403483e2074"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3582f01eabc65ba4b801215ca6420a7c"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a3582f01eabc65ba4b801215ca6420a7c">IsStart</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
|
|
<tr class="memdesc:a3582f01eabc65ba4b801215ca6420a7c"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if 'index' represents the first node of a route. <a href="classoperations__research_1_1_routing_model.html#a3582f01eabc65ba4b801215ca6420a7c">More...</a><br /></td></tr>
|
|
<tr class="separator:a3582f01eabc65ba4b801215ca6420a7c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:acf67dc202e247ce193038850f71306d3"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#acf67dc202e247ce193038850f71306d3">IsEnd</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
|
|
<tr class="memdesc:acf67dc202e247ce193038850f71306d3"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if 'index' represents the last node of a route. <a href="classoperations__research_1_1_routing_model.html#acf67dc202e247ce193038850f71306d3">More...</a><br /></td></tr>
|
|
<tr class="separator:acf67dc202e247ce193038850f71306d3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aeb9d2afe2e9d5bd929aad759f37e4938"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aeb9d2afe2e9d5bd929aad759f37e4938">VehicleIndex</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
|
|
<tr class="memdesc:aeb9d2afe2e9d5bd929aad759f37e4938"><td class="mdescLeft"> </td><td class="mdescRight">Returns the vehicle of the given start/end index, and -1 if the given index is not a vehicle start/end. <a href="classoperations__research_1_1_routing_model.html#aeb9d2afe2e9d5bd929aad759f37e4938">More...</a><br /></td></tr>
|
|
<tr class="separator:aeb9d2afe2e9d5bd929aad759f37e4938"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa1e8634ca9564e23a832de7479ba34ba"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aa1e8634ca9564e23a832de7479ba34ba">Next</a> (const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> &assignment, int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
|
|
<tr class="memdesc:aa1e8634ca9564e23a832de7479ba34ba"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classoperations__research_1_1_assignment.html" title="An Assignment is a variable -> domains mapping, used to report solutions to the user.">Assignment</a> inspection Returns the variable index of the node directly after the node corresponding to 'index' in 'assignment'. <a href="classoperations__research_1_1_routing_model.html#aa1e8634ca9564e23a832de7479ba34ba">More...</a><br /></td></tr>
|
|
<tr class="separator:aa1e8634ca9564e23a832de7479ba34ba"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aedb8dca94b15e5465fef1667d1a81db6"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aedb8dca94b15e5465fef1667d1a81db6">IsVehicleUsed</a> (const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> &assignment, int vehicle) const</td></tr>
|
|
<tr class="memdesc:aedb8dca94b15e5465fef1667d1a81db6"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if the route of 'vehicle' is non empty in 'assignment'. <a href="classoperations__research_1_1_routing_model.html#aedb8dca94b15e5465fef1667d1a81db6">More...</a><br /></td></tr>
|
|
<tr class="separator:aedb8dca94b15e5465fef1667d1a81db6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a911482cb7495f22638a02066adf13c8b"><td class="memItemLeft" align="right" valign="top">const std::vector< <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a911482cb7495f22638a02066adf13c8b">Nexts</a> () const</td></tr>
|
|
<tr class="memdesc:a911482cb7495f22638a02066adf13c8b"><td class="mdescLeft"> </td><td class="mdescRight">Returns all next variables of the model, such that Nexts(i) is the next variable of the node corresponding to i. <a href="classoperations__research_1_1_routing_model.html#a911482cb7495f22638a02066adf13c8b">More...</a><br /></td></tr>
|
|
<tr class="separator:a911482cb7495f22638a02066adf13c8b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2323c80745919399f8665a07beab1451"><td class="memItemLeft" align="right" valign="top">const std::vector< <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a2323c80745919399f8665a07beab1451">VehicleVars</a> () const</td></tr>
|
|
<tr class="memdesc:a2323c80745919399f8665a07beab1451"><td class="mdescLeft"> </td><td class="mdescRight">Returns all vehicle variables of the model, such that VehicleVars(i) is the vehicle variable of the node corresponding to i. <a href="classoperations__research_1_1_routing_model.html#a2323c80745919399f8665a07beab1451">More...</a><br /></td></tr>
|
|
<tr class="separator:a2323c80745919399f8665a07beab1451"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a86552e6990bac42fb0f1d66754d08aca"><td class="memItemLeft" align="right" valign="top">const std::vector< <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a86552e6990bac42fb0f1d66754d08aca">ResourceVars</a> (int resource_group) const</td></tr>
|
|
<tr class="memdesc:a86552e6990bac42fb0f1d66754d08aca"><td class="mdescLeft"> </td><td class="mdescRight">Returns vehicle resource variables for a given resource group, such that ResourceVars(r_g)[v] is the resource variable for vehicle 'v' in resource group 'r_g'. <a href="classoperations__research_1_1_routing_model.html#a86552e6990bac42fb0f1d66754d08aca">More...</a><br /></td></tr>
|
|
<tr class="separator:a86552e6990bac42fb0f1d66754d08aca"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5e7fe0d056275b47eccc1b6bfce0b482"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a5e7fe0d056275b47eccc1b6bfce0b482">NextVar</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
|
|
<tr class="memdesc:a5e7fe0d056275b47eccc1b6bfce0b482"><td class="mdescLeft"> </td><td class="mdescRight">!defined(SWIGPYTHON) <a href="classoperations__research_1_1_routing_model.html#a5e7fe0d056275b47eccc1b6bfce0b482">More...</a><br /></td></tr>
|
|
<tr class="separator:a5e7fe0d056275b47eccc1b6bfce0b482"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab1d54f34a26afd08eeef25e8725dd7c2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ab1d54f34a26afd08eeef25e8725dd7c2">ActiveVar</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
|
|
<tr class="memdesc:ab1d54f34a26afd08eeef25e8725dd7c2"><td class="mdescLeft"> </td><td class="mdescRight">Returns the active variable of the node corresponding to index. <a href="classoperations__research_1_1_routing_model.html#ab1d54f34a26afd08eeef25e8725dd7c2">More...</a><br /></td></tr>
|
|
<tr class="separator:ab1d54f34a26afd08eeef25e8725dd7c2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a634e15ec828c04eb036e982607e76ef3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a634e15ec828c04eb036e982607e76ef3">ActiveVehicleVar</a> (int vehicle) const</td></tr>
|
|
<tr class="memdesc:a634e15ec828c04eb036e982607e76ef3"><td class="mdescLeft"> </td><td class="mdescRight">Returns the active variable of the vehicle. <a href="classoperations__research_1_1_routing_model.html#a634e15ec828c04eb036e982607e76ef3">More...</a><br /></td></tr>
|
|
<tr class="separator:a634e15ec828c04eb036e982607e76ef3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af3614e694427b794c6faa1fcd39a7c43"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#af3614e694427b794c6faa1fcd39a7c43">VehicleRouteConsideredVar</a> (int vehicle) const</td></tr>
|
|
<tr class="memdesc:af3614e694427b794c6faa1fcd39a7c43"><td class="mdescLeft"> </td><td class="mdescRight">Returns the variable specifying whether or not the given vehicle route is considered for costs and constraints. <a href="classoperations__research_1_1_routing_model.html#af3614e694427b794c6faa1fcd39a7c43">More...</a><br /></td></tr>
|
|
<tr class="separator:af3614e694427b794c6faa1fcd39a7c43"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a43c00b1c44d7f5bec9287ce60fadef52"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a43c00b1c44d7f5bec9287ce60fadef52">VehicleVar</a> (int64_t <a class="el" href="routing__search_8cc.html#aa9d6bcc39dc199c2a2671a88ecf3630e">index</a>) const</td></tr>
|
|
<tr class="memdesc:a43c00b1c44d7f5bec9287ce60fadef52"><td class="mdescLeft"> </td><td class="mdescRight">Returns the vehicle variable of the node corresponding to index. <a href="classoperations__research_1_1_routing_model.html#a43c00b1c44d7f5bec9287ce60fadef52">More...</a><br /></td></tr>
|
|
<tr class="separator:a43c00b1c44d7f5bec9287ce60fadef52"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a12cae8fe2487eb93900a24017192ee79"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a12cae8fe2487eb93900a24017192ee79">ResourceVar</a> (int vehicle, int resource_group) const</td></tr>
|
|
<tr class="memdesc:a12cae8fe2487eb93900a24017192ee79"><td class="mdescLeft"> </td><td class="mdescRight">Returns the resource variable for the given vehicle index in the given resource group. <a href="classoperations__research_1_1_routing_model.html#a12cae8fe2487eb93900a24017192ee79">More...</a><br /></td></tr>
|
|
<tr class="separator:a12cae8fe2487eb93900a24017192ee79"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:abb61fc6939fecebe93387f63319d2b7f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#abb61fc6939fecebe93387f63319d2b7f">CostVar</a> () const</td></tr>
|
|
<tr class="memdesc:abb61fc6939fecebe93387f63319d2b7f"><td class="mdescLeft"> </td><td class="mdescRight">Returns the global cost variable which is being minimized. <a href="classoperations__research_1_1_routing_model.html#abb61fc6939fecebe93387f63319d2b7f">More...</a><br /></td></tr>
|
|
<tr class="separator:abb61fc6939fecebe93387f63319d2b7f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8174e01c9a66c00a87cdbe86ccd3655c"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a8174e01c9a66c00a87cdbe86ccd3655c">GetArcCostForVehicle</a> (int64_t from_index, int64_t to_index, int64_t vehicle) const</td></tr>
|
|
<tr class="memdesc:a8174e01c9a66c00a87cdbe86ccd3655c"><td class="mdescLeft"> </td><td class="mdescRight">Returns the cost of the transit arc between two nodes for a given vehicle. <a href="classoperations__research_1_1_routing_model.html#a8174e01c9a66c00a87cdbe86ccd3655c">More...</a><br /></td></tr>
|
|
<tr class="separator:a8174e01c9a66c00a87cdbe86ccd3655c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae0c21c6d4e99cb309b8b298d280e4853"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ae0c21c6d4e99cb309b8b298d280e4853">CostsAreHomogeneousAcrossVehicles</a> () const</td></tr>
|
|
<tr class="memdesc:ae0c21c6d4e99cb309b8b298d280e4853"><td class="mdescLeft"> </td><td class="mdescRight">Whether costs are homogeneous across all vehicles. <a href="classoperations__research_1_1_routing_model.html#ae0c21c6d4e99cb309b8b298d280e4853">More...</a><br /></td></tr>
|
|
<tr class="separator:ae0c21c6d4e99cb309b8b298d280e4853"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a51b526b532fc95cfed13d54ed2d6db95"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a51b526b532fc95cfed13d54ed2d6db95">GetHomogeneousCost</a> (int64_t from_index, int64_t to_index) const</td></tr>
|
|
<tr class="memdesc:a51b526b532fc95cfed13d54ed2d6db95"><td class="mdescLeft"> </td><td class="mdescRight">Returns the cost of the segment between two nodes supposing all vehicle costs are the same (returns the cost for the first vehicle otherwise). <a href="classoperations__research_1_1_routing_model.html#a51b526b532fc95cfed13d54ed2d6db95">More...</a><br /></td></tr>
|
|
<tr class="separator:a51b526b532fc95cfed13d54ed2d6db95"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7c1886b567f58aff622ab91f7f0f8685"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a7c1886b567f58aff622ab91f7f0f8685">GetArcCostForFirstSolution</a> (int64_t from_index, int64_t to_index) const</td></tr>
|
|
<tr class="memdesc:a7c1886b567f58aff622ab91f7f0f8685"><td class="mdescLeft"> </td><td class="mdescRight">Returns the cost of the arc in the context of the first solution strategy. <a href="classoperations__research_1_1_routing_model.html#a7c1886b567f58aff622ab91f7f0f8685">More...</a><br /></td></tr>
|
|
<tr class="separator:a7c1886b567f58aff622ab91f7f0f8685"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:abfa127093eb53ae531ccb1f4ada6cc8a"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#abfa127093eb53ae531ccb1f4ada6cc8a">GetArcCostForClass</a> (int64_t from_index, int64_t to_index, int64_t cost_class_index) const</td></tr>
|
|
<tr class="memdesc:abfa127093eb53ae531ccb1f4ada6cc8a"><td class="mdescLeft"> </td><td class="mdescRight">Returns the cost of the segment between two nodes for a given cost class. <a href="classoperations__research_1_1_routing_model.html#abfa127093eb53ae531ccb1f4ada6cc8a">More...</a><br /></td></tr>
|
|
<tr class="separator:abfa127093eb53ae531ccb1f4ada6cc8a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae378d23c967e818f321bd4498b5c74f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_routing_model.html#ad13ad202092298b43c9099b212c54d3d">CostClassIndex</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ae378d23c967e818f321bd4498b5c74f2">GetCostClassIndexOfVehicle</a> (int64_t vehicle) const</td></tr>
|
|
<tr class="memdesc:ae378d23c967e818f321bd4498b5c74f2"><td class="mdescLeft"> </td><td class="mdescRight">Get the cost class index of the given vehicle. <a href="classoperations__research_1_1_routing_model.html#ae378d23c967e818f321bd4498b5c74f2">More...</a><br /></td></tr>
|
|
<tr class="separator:ae378d23c967e818f321bd4498b5c74f2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a67e8d10adbcc563f428069f9b2c04b63"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a67e8d10adbcc563f428069f9b2c04b63">HasVehicleWithCostClassIndex</a> (<a class="el" href="classoperations__research_1_1_routing_model.html#ad13ad202092298b43c9099b212c54d3d">CostClassIndex</a> cost_class_index) const</td></tr>
|
|
<tr class="memdesc:a67e8d10adbcc563f428069f9b2c04b63"><td class="mdescLeft"> </td><td class="mdescRight">Returns true iff the model contains a vehicle with the given cost_class_index. <a href="classoperations__research_1_1_routing_model.html#a67e8d10adbcc563f428069f9b2c04b63">More...</a><br /></td></tr>
|
|
<tr class="separator:a67e8d10adbcc563f428069f9b2c04b63"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad3b144985c2b4b24cf39b839dbd9c16d"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ad3b144985c2b4b24cf39b839dbd9c16d">GetCostClassesCount</a> () const</td></tr>
|
|
<tr class="memdesc:ad3b144985c2b4b24cf39b839dbd9c16d"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of different cost classes in the model. <a href="classoperations__research_1_1_routing_model.html#ad3b144985c2b4b24cf39b839dbd9c16d">More...</a><br /></td></tr>
|
|
<tr class="separator:ad3b144985c2b4b24cf39b839dbd9c16d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:abaa74f74aefe075aedb6b16259a4404e"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#abaa74f74aefe075aedb6b16259a4404e">GetNonZeroCostClassesCount</a> () const</td></tr>
|
|
<tr class="memdesc:abaa74f74aefe075aedb6b16259a4404e"><td class="mdescLeft"> </td><td class="mdescRight">Ditto, minus the 'always zero', built-in cost class. <a href="classoperations__research_1_1_routing_model.html#abaa74f74aefe075aedb6b16259a4404e">More...</a><br /></td></tr>
|
|
<tr class="separator:abaa74f74aefe075aedb6b16259a4404e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a114000eadb54d1a6275add6c1e6fcf33"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_routing_model.html#ab6aae3927f3537c446ac33f2c6ecb922">VehicleClassIndex</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a114000eadb54d1a6275add6c1e6fcf33">GetVehicleClassIndexOfVehicle</a> (int64_t vehicle) const</td></tr>
|
|
<tr class="separator:a114000eadb54d1a6275add6c1e6fcf33"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aee0325d1261891b864f0ca58ddec99ca"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aee0325d1261891b864f0ca58ddec99ca">GetVehicleOfClass</a> (<a class="el" href="classoperations__research_1_1_routing_model.html#ab6aae3927f3537c446ac33f2c6ecb922">VehicleClassIndex</a> <a class="el" href="routing__search_8cc.html#a1a01a2753d74fedd87264d8bd34a12df">vehicle_class</a>) const</td></tr>
|
|
<tr class="memdesc:aee0325d1261891b864f0ca58ddec99ca"><td class="mdescLeft"> </td><td class="mdescRight">Returns a vehicle of the given vehicle class, and -1 if there are no vehicles for this class. <a href="classoperations__research_1_1_routing_model.html#aee0325d1261891b864f0ca58ddec99ca">More...</a><br /></td></tr>
|
|
<tr class="separator:aee0325d1261891b864f0ca58ddec99ca"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a34ab0d5fa45360b5e6a42b9a78cfe5a8"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a34ab0d5fa45360b5e6a42b9a78cfe5a8">GetVehicleClassesCount</a> () const</td></tr>
|
|
<tr class="memdesc:a34ab0d5fa45360b5e6a42b9a78cfe5a8"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of different vehicle classes in the model. <a href="classoperations__research_1_1_routing_model.html#a34ab0d5fa45360b5e6a42b9a78cfe5a8">More...</a><br /></td></tr>
|
|
<tr class="separator:a34ab0d5fa45360b5e6a42b9a78cfe5a8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:adc7c0eab5589e7faf920d287134035f7"><td class="memItemLeft" align="right" valign="top">const std::vector< int > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#adc7c0eab5589e7faf920d287134035f7">GetSameVehicleIndicesOfIndex</a> (int node) const</td></tr>
|
|
<tr class="memdesc:adc7c0eab5589e7faf920d287134035f7"><td class="mdescLeft"> </td><td class="mdescRight">Returns variable indices of nodes constrained to be on the same route. <a href="classoperations__research_1_1_routing_model.html#adc7c0eab5589e7faf920d287134035f7">More...</a><br /></td></tr>
|
|
<tr class="separator:adc7c0eab5589e7faf920d287134035f7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7daf2db234ec1da54f595dbec3663699"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structoperations__research_1_1_routing_model_1_1_vehicle_type_container.html">VehicleTypeContainer</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a7daf2db234ec1da54f595dbec3663699">GetVehicleTypeContainer</a> () const</td></tr>
|
|
<tr class="separator:a7daf2db234ec1da54f595dbec3663699"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a78657faa6e076466c745caefdf732970"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a78657faa6e076466c745caefdf732970">ArcIsMoreConstrainedThanArc</a> (int64_t from, int64_t to1, int64_t to2)</td></tr>
|
|
<tr class="memdesc:a78657faa6e076466c745caefdf732970"><td class="mdescLeft"> </td><td class="mdescRight">Returns whether the arc from->to1 is more constrained than from->to2, taking into account, in order: <a href="classoperations__research_1_1_routing_model.html#a78657faa6e076466c745caefdf732970">More...</a><br /></td></tr>
|
|
<tr class="separator:a78657faa6e076466c745caefdf732970"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a25d079aaf52ffdf6d547384b523ff018"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a25d079aaf52ffdf6d547384b523ff018">DebugOutputAssignment</a> (const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> &solution_assignment, const std::string &dimension_to_print) const</td></tr>
|
|
<tr class="memdesc:a25d079aaf52ffdf6d547384b523ff018"><td class="mdescLeft"> </td><td class="mdescRight">Print some debugging information about an assignment, including the feasible intervals of the CumulVar for dimension "dimension_to_print" at each step of the routes. <a href="classoperations__research_1_1_routing_model.html#a25d079aaf52ffdf6d547384b523ff018">More...</a><br /></td></tr>
|
|
<tr class="separator:a25d079aaf52ffdf6d547384b523ff018"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a76e91ac014792e6e99d7e19afeff36dc"><td class="memItemLeft" align="right" valign="top">std::vector< std::vector< std::pair< int64_t, int64_t > > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a76e91ac014792e6e99d7e19afeff36dc">GetCumulBounds</a> (const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> &solution_assignment, const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> &dimension)</td></tr>
|
|
<tr class="memdesc:a76e91ac014792e6e99d7e19afeff36dc"><td class="mdescLeft"> </td><td class="mdescRight">Returns a vector cumul_bounds, for which cumul_bounds[i][j] is a pair containing the minimum and maximum of the CumulVar of the jth node on route i. <a href="classoperations__research_1_1_routing_model.html#a76e91ac014792e6e99d7e19afeff36dc">More...</a><br /></td></tr>
|
|
<tr class="separator:a76e91ac014792e6e99d7e19afeff36dc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0b526d33739114e9255ffbe8343efe1a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_solver.html">Solver</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a0b526d33739114e9255ffbe8343efe1a">solver</a> () const</td></tr>
|
|
<tr class="memdesc:a0b526d33739114e9255ffbe8343efe1a"><td class="mdescLeft"> </td><td class="mdescRight">Returns the underlying constraint solver. <a href="classoperations__research_1_1_routing_model.html#a0b526d33739114e9255ffbe8343efe1a">More...</a><br /></td></tr>
|
|
<tr class="separator:a0b526d33739114e9255ffbe8343efe1a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3f5d70fe48cb54cbc5d8f6bba55b007d"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a3f5d70fe48cb54cbc5d8f6bba55b007d">CheckLimit</a> ()</td></tr>
|
|
<tr class="memdesc:a3f5d70fe48cb54cbc5d8f6bba55b007d"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if the search limit has been crossed. <a href="classoperations__research_1_1_routing_model.html#a3f5d70fe48cb54cbc5d8f6bba55b007d">More...</a><br /></td></tr>
|
|
<tr class="separator:a3f5d70fe48cb54cbc5d8f6bba55b007d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:adb0524e488894fa8f88764c74abb31f5"><td class="memItemLeft" align="right" valign="top">absl::Duration </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#adb0524e488894fa8f88764c74abb31f5">RemainingTime</a> () const</td></tr>
|
|
<tr class="memdesc:adb0524e488894fa8f88764c74abb31f5"><td class="mdescLeft"> </td><td class="mdescRight">Returns the time left in the search limit. <a href="classoperations__research_1_1_routing_model.html#adb0524e488894fa8f88764c74abb31f5">More...</a><br /></td></tr>
|
|
<tr class="separator:adb0524e488894fa8f88764c74abb31f5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0f38add802397fef1f57b7d90ccd5aef"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a0f38add802397fef1f57b7d90ccd5aef">nodes</a> () const</td></tr>
|
|
<tr class="memdesc:a0f38add802397fef1f57b7d90ccd5aef"><td class="mdescLeft"> </td><td class="mdescRight">Sizes and indices Returns the number of nodes in the model. <a href="classoperations__research_1_1_routing_model.html#a0f38add802397fef1f57b7d90ccd5aef">More...</a><br /></td></tr>
|
|
<tr class="separator:a0f38add802397fef1f57b7d90ccd5aef"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa9e7ba89833775f29889744fe9480d29"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aa9e7ba89833775f29889744fe9480d29">vehicles</a> () const</td></tr>
|
|
<tr class="memdesc:aa9e7ba89833775f29889744fe9480d29"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of vehicle routes in the model. <a href="classoperations__research_1_1_routing_model.html#aa9e7ba89833775f29889744fe9480d29">More...</a><br /></td></tr>
|
|
<tr class="separator:aa9e7ba89833775f29889744fe9480d29"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a572bd92c25ebc67c72137fd59e53f6d6"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a572bd92c25ebc67c72137fd59e53f6d6">Size</a> () const</td></tr>
|
|
<tr class="memdesc:a572bd92c25ebc67c72137fd59e53f6d6"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of next variables in the model. <a href="classoperations__research_1_1_routing_model.html#a572bd92c25ebc67c72137fd59e53f6d6">More...</a><br /></td></tr>
|
|
<tr class="separator:a572bd92c25ebc67c72137fd59e53f6d6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab207970f71285b3169cbb67aa4fb04f8"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ab207970f71285b3169cbb67aa4fb04f8">GetNumberOfDecisionsInFirstSolution</a> (const RoutingSearchParameters &search_parameters) const</td></tr>
|
|
<tr class="memdesc:ab207970f71285b3169cbb67aa4fb04f8"><td class="mdescLeft"> </td><td class="mdescRight">Returns statistics on first solution search, number of decisions sent to filters, number of decisions rejected by filters. <a href="classoperations__research_1_1_routing_model.html#ab207970f71285b3169cbb67aa4fb04f8">More...</a><br /></td></tr>
|
|
<tr class="separator:ab207970f71285b3169cbb67aa4fb04f8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:acc939d4c1da0e5db1bb694eda1d95994"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#acc939d4c1da0e5db1bb694eda1d95994">GetNumberOfRejectsInFirstSolution</a> (const RoutingSearchParameters &search_parameters) const</td></tr>
|
|
<tr class="separator:acc939d4c1da0e5db1bb694eda1d95994"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad7e76bac509eb82ff32aff9fd2b051b0"><td class="memItemLeft" align="right" valign="top">operations_research::FirstSolutionStrategy::Value </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ad7e76bac509eb82ff32aff9fd2b051b0">GetAutomaticFirstSolutionStrategy</a> () const</td></tr>
|
|
<tr class="memdesc:ad7e76bac509eb82ff32aff9fd2b051b0"><td class="mdescLeft"> </td><td class="mdescRight">Returns the automatic first solution strategy selected. <a href="classoperations__research_1_1_routing_model.html#ad7e76bac509eb82ff32aff9fd2b051b0">More...</a><br /></td></tr>
|
|
<tr class="separator:ad7e76bac509eb82ff32aff9fd2b051b0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac8347e84488d1b5eb7b5e6972fb32be3"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ac8347e84488d1b5eb7b5e6972fb32be3">IsMatchingModel</a> () const</td></tr>
|
|
<tr class="memdesc:ac8347e84488d1b5eb7b5e6972fb32be3"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if a vehicle/node matching problem is detected. <a href="classoperations__research_1_1_routing_model.html#ac8347e84488d1b5eb7b5e6972fb32be3">More...</a><br /></td></tr>
|
|
<tr class="separator:ac8347e84488d1b5eb7b5e6972fb32be3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7e2d405cde11bc4a08d752d0e669912c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a7e2d405cde11bc4a08d752d0e669912c">SetTabuVarsCallback</a> (<a class="el" href="classoperations__research_1_1_routing_model.html#a0e106a97f0156868f1d1c741b283793e">GetTabuVarsCallback</a> tabu_var_callback)</td></tr>
|
|
<tr class="separator:a7e2d405cde11bc4a08d752d0e669912c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aba3eb59d97b0beef7f153ada8fe862f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#aba3eb59d97b0beef7f153ada8fe862f7">MakeGuidedSlackFinalizer</a> (const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> *dimension, std::function< int64_t(int64_t)> initializer)</td></tr>
|
|
<tr class="memdesc:aba3eb59d97b0beef7f153ada8fe862f7"><td class="mdescLeft"> </td><td class="mdescRight">The next few members are in the public section only for testing purposes. <a href="classoperations__research_1_1_routing_model.html#aba3eb59d97b0beef7f153ada8fe862f7">More...</a><br /></td></tr>
|
|
<tr class="separator:aba3eb59d97b0beef7f153ada8fe862f7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a143ecd04614b139f3118ad599a399942"><td class="memItemLeft" align="right" valign="top">const std::vector< <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a143ecd04614b139f3118ad599a399942">GetSearchMonitors</a> () const</td></tr>
|
|
<tr class="separator:a143ecd04614b139f3118ad599a399942"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:acb94aaffe504b1b6873c3400a8edceaa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#acb94aaffe504b1b6873c3400a8edceaa">MakeSelfDependentDimensionFinalizer</a> (const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> *dimension)</td></tr>
|
|
<tr class="memdesc:acb94aaffe504b1b6873c3400a8edceaa"><td class="mdescLeft"> </td><td class="mdescRight"><b>SWIG</b> <a href="classoperations__research_1_1_routing_model.html#acb94aaffe504b1b6873c3400a8edceaa">More...</a><br /></td></tr>
|
|
<tr class="separator:acb94aaffe504b1b6873c3400a8edceaa"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
|
|
Static Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:ac8c094ea0f03a3c394140698e0ce7ffd"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structoperations__research_1_1_routing_model_1_1_state_dependent_transit.html">RoutingModel::StateDependentTransit</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ac8c094ea0f03a3c394140698e0ce7ffd">MakeStateDependentTransit</a> (const std::function< int64_t(int64_t)> &f, int64_t domain_start, int64_t domain_end)</td></tr>
|
|
<tr class="memdesc:ac8c094ea0f03a3c394140698e0ce7ffd"><td class="mdescLeft"> </td><td class="mdescRight">Creates a cached <a class="el" href="structoperations__research_1_1_routing_model_1_1_state_dependent_transit.html" title="What follows is relevant for models with time/state dependent transits.">StateDependentTransit</a> from an std::function. <a href="classoperations__research_1_1_routing_model.html#ac8c094ea0f03a3c394140698e0ce7ffd">More...</a><br /></td></tr>
|
|
<tr class="separator:ac8c094ea0f03a3c394140698e0ce7ffd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a43b2c4a7a4f58c02ca36ed0a4d76a3b4"><td class="memItemLeft" align="right" valign="top">static std::unique_ptr< <a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a43b2c4a7a4f58c02ca36ed0a4d76a3b4">MakeGreedyDescentLSOperator</a> (std::vector< <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * > variables)</td></tr>
|
|
<tr class="memdesc:a43b2c4a7a4f58c02ca36ed0a4d76a3b4"><td class="mdescLeft"> </td><td class="mdescRight">Perhaps move it to <a class="el" href="constraint__solver_8h.html">constraint_solver.h</a>. <a href="classoperations__research_1_1_routing_model.html#a43b2c4a7a4f58c02ca36ed0a4d76a3b4">More...</a><br /></td></tr>
|
|
<tr class="separator:a43b2c4a7a4f58c02ca36ed0a4d76a3b4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
|
|
Static Public Attributes</h2></td></tr>
|
|
<tr class="memitem:a5f3df49299b1aaad3bca40b14291aa79"><td class="memItemLeft" align="right" valign="top">static const int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#a5f3df49299b1aaad3bca40b14291aa79">kNoPenalty</a> = -1</td></tr>
|
|
<tr class="memdesc:a5f3df49299b1aaad3bca40b14291aa79"><td class="mdescLeft"> </td><td class="mdescRight">Constant used to express a hard constraint instead of a soft penalty. <a href="classoperations__research_1_1_routing_model.html#a5f3df49299b1aaad3bca40b14291aa79">More...</a><br /></td></tr>
|
|
<tr class="separator:a5f3df49299b1aaad3bca40b14291aa79"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae5a61ca8a5a897aa6c4ce5c466e8f45f"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classoperations__research_1_1_routing_model.html#afa7cbbd4db2dd5d0bec3393efc9ebac1">DisjunctionIndex</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ae5a61ca8a5a897aa6c4ce5c466e8f45f">kNoDisjunction</a></td></tr>
|
|
<tr class="memdesc:ae5a61ca8a5a897aa6c4ce5c466e8f45f"><td class="mdescLeft"> </td><td class="mdescRight">Constant used to express the "no disjunction" index, returned when a node does not appear in any disjunction. <a href="classoperations__research_1_1_routing_model.html#ae5a61ca8a5a897aa6c4ce5c466e8f45f">More...</a><br /></td></tr>
|
|
<tr class="separator:ae5a61ca8a5a897aa6c4ce5c466e8f45f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae00630e36d2d8a2fa7eb4743a65e80d1"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classoperations__research_1_1_routing_model.html#a966f3010581e2a82e0b1e550667d8bce">DimensionIndex</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1_routing_model.html#ae00630e36d2d8a2fa7eb4743a65e80d1">kNoDimension</a></td></tr>
|
|
<tr class="memdesc:ae00630e36d2d8a2fa7eb4743a65e80d1"><td class="mdescLeft"> </td><td class="mdescRight">Constant used to express the "no dimension" index, returned when a dimension name does not correspond to an actual dimension. <a href="classoperations__research_1_1_routing_model.html#ae00630e36d2d8a2fa7eb4743a65e80d1">More...</a><br /></td></tr>
|
|
<tr class="separator:ae00630e36d2d8a2fa7eb4743a65e80d1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h2 class="groupheader">Member Typedef Documentation</h2>
|
|
<a id="ad13ad202092298b43c9099b212c54d3d" name="ad13ad202092298b43c9099b212c54d3d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad13ad202092298b43c9099b212c54d3d">◆ </a></span>CostClassIndex</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef RoutingCostClassIndex <a class="el" href="classoperations__research_1_1_routing_model.html#ad13ad202092298b43c9099b212c54d3d">CostClassIndex</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00237">237</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a966f3010581e2a82e0b1e550667d8bce" name="a966f3010581e2a82e0b1e550667d8bce"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a966f3010581e2a82e0b1e550667d8bce">◆ </a></span>DimensionIndex</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef RoutingDimensionIndex <a class="el" href="classoperations__research_1_1_routing_model.html#a966f3010581e2a82e0b1e550667d8bce">DimensionIndex</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00238">238</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="afa7cbbd4db2dd5d0bec3393efc9ebac1" name="afa7cbbd4db2dd5d0bec3393efc9ebac1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#afa7cbbd4db2dd5d0bec3393efc9ebac1">◆ </a></span>DisjunctionIndex</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef RoutingDisjunctionIndex <a class="el" href="classoperations__research_1_1_routing_model.html#afa7cbbd4db2dd5d0bec3393efc9ebac1">DisjunctionIndex</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00239">239</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a0e106a97f0156868f1d1c741b283793e" name="a0e106a97f0156868f1d1c741b283793e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0e106a97f0156868f1d1c741b283793e">◆ </a></span>GetTabuVarsCallback</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">using <a class="el" href="classoperations__research_1_1_routing_model.html#a0e106a97f0156868f1d1c741b283793e">GetTabuVarsCallback</a> = std::function<std::vector<<a class="el" href="classoperations__research_1_1_int_var.html">operations_research::IntVar</a>*>(<a class="el" href="classoperations__research_1_1_routing_model.html">RoutingModel</a>*)></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Sets the callback returning the variable to use for the Tabu <a class="el" href="classoperations__research_1_1_search.html">Search</a> metaheuristic. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01551">1551</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a1636c49d2587c3d9df16918345b82378" name="a1636c49d2587c3d9df16918345b82378"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1636c49d2587c3d9df16918345b82378">◆ </a></span>IndexPair</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef <a class="el" href="namespaceoperations__research.html#a630fe793e232b361cd9fd99f18599df1">RoutingIndexPair</a> <a class="el" href="classoperations__research_1_1_routing_model.html#a1636c49d2587c3d9df16918345b82378">IndexPair</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00246">246</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a76874cd778ea1b9220673e019f9e7abe" name="a76874cd778ea1b9220673e019f9e7abe"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a76874cd778ea1b9220673e019f9e7abe">◆ </a></span>IndexPairs</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef <a class="el" href="namespaceoperations__research.html#aef7db0bee0a22d1791d040fd3853f3b7">RoutingIndexPairs</a> <a class="el" href="classoperations__research_1_1_routing_model.html#a76874cd778ea1b9220673e019f9e7abe">IndexPairs</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00247">247</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a204041e5264282d54dfd198011e776d3" name="a204041e5264282d54dfd198011e776d3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a204041e5264282d54dfd198011e776d3">◆ </a></span>TransitCallback1</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef <a class="el" href="namespaceoperations__research.html#aae02b84a58c3008fb747c0f6917bfe6c">RoutingTransitCallback1</a> <a class="el" href="classoperations__research_1_1_routing_model.html#a204041e5264282d54dfd198011e776d3">TransitCallback1</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00241">241</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5fa8aee5b0c67072dbbb03f1899ec60a" name="a5fa8aee5b0c67072dbbb03f1899ec60a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5fa8aee5b0c67072dbbb03f1899ec60a">◆ </a></span>TransitCallback2</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef <a class="el" href="namespaceoperations__research.html#a26868b9d744edcd8d59145e068678885">RoutingTransitCallback2</a> <a class="el" href="classoperations__research_1_1_routing_model.html#a5fa8aee5b0c67072dbbb03f1899ec60a">TransitCallback2</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00242">242</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aba73f2fc54b941bd9233d07cf86b9feb" name="aba73f2fc54b941bd9233d07cf86b9feb"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aba73f2fc54b941bd9233d07cf86b9feb">◆ </a></span>VariableIndexEvaluator2</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef std::function<<a class="el" href="structoperations__research_1_1_routing_model_1_1_state_dependent_transit.html">StateDependentTransit</a>(int64_t, int64_t)> <a class="el" href="classoperations__research_1_1_routing_model.html#aba73f2fc54b941bd9233d07cf86b9feb">VariableIndexEvaluator2</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00268">268</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab6aae3927f3537c446ac33f2c6ecb922" name="ab6aae3927f3537c446ac33f2c6ecb922"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab6aae3927f3537c446ac33f2c6ecb922">◆ </a></span>VehicleClassIndex</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef RoutingVehicleClassIndex <a class="el" href="classoperations__research_1_1_routing_model.html#ab6aae3927f3537c446ac33f2c6ecb922">VehicleClassIndex</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00240">240</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Enumeration Documentation</h2>
|
|
<a id="aa5cff2ee7fbe3a9c5c701bfba7460c83" name="aa5cff2ee7fbe3a9c5c701bfba7460c83"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa5cff2ee7fbe3a9c5c701bfba7460c83">◆ </a></span>PickupAndDeliveryPolicy</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="classoperations__research_1_1_routing_model.html#aa5cff2ee7fbe3a9c5c701bfba7460c83">PickupAndDeliveryPolicy</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Types of precedence policy applied to pickup and delivery pairs. </p>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aa5cff2ee7fbe3a9c5c701bfba7460c83a2fecd02405f5ff0769292822ad17a955" name="aa5cff2ee7fbe3a9c5c701bfba7460c83a2fecd02405f5ff0769292822ad17a955"></a>PICKUP_AND_DELIVERY_NO_ORDER </td><td class="fielddoc"><p >Any precedence is accepted. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="aa5cff2ee7fbe3a9c5c701bfba7460c83a272376ed085de7d28d36fa1013394cc8" name="aa5cff2ee7fbe3a9c5c701bfba7460c83a272376ed085de7d28d36fa1013394cc8"></a>PICKUP_AND_DELIVERY_LIFO </td><td class="fielddoc"><p >Deliveries must be performed in reverse order of pickups. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="aa5cff2ee7fbe3a9c5c701bfba7460c83a5c55a9aa52a754be8eb1b9d29af97a8a" name="aa5cff2ee7fbe3a9c5c701bfba7460c83a5c55a9aa52a754be8eb1b9d29af97a8a"></a>PICKUP_AND_DELIVERY_FIFO </td><td class="fielddoc"><p >Deliveries must be performed in the same order as pickups. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00229">229</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a67a0db04d321a74b7e7fcfd3f1a3f70b" name="a67a0db04d321a74b7e7fcfd3f1a3f70b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a67a0db04d321a74b7e7fcfd3f1a3f70b">◆ </a></span>Status</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="classoperations__research_1_1_routing_model.html#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Status of the search. </p>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a67a0db04d321a74b7e7fcfd3f1a3f70babe45300b724161791a6429b27d7f5009" name="a67a0db04d321a74b7e7fcfd3f1a3f70babe45300b724161791a6429b27d7f5009"></a>ROUTING_NOT_SOLVED </td><td class="fielddoc"><p >Problem not solved yet (before calling <a class="el" href="classoperations__research_1_1_routing_model.html#ae3bb9f7055b5dabd24e2ea7c6a377a6a" title="Solves the current routing model; closes the current model.">RoutingModel::Solve()</a>). </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a67a0db04d321a74b7e7fcfd3f1a3f70ba09515ee36ef4715f09f3aa67f685011e" name="a67a0db04d321a74b7e7fcfd3f1a3f70ba09515ee36ef4715f09f3aa67f685011e"></a>ROUTING_SUCCESS </td><td class="fielddoc"><p >Problem solved successfully after calling <a class="el" href="classoperations__research_1_1_routing_model.html#ae3bb9f7055b5dabd24e2ea7c6a377a6a" title="Solves the current routing model; closes the current model.">RoutingModel::Solve()</a>. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a67a0db04d321a74b7e7fcfd3f1a3f70baba9b2029e549c14c8a6b9f6201e329fd" name="a67a0db04d321a74b7e7fcfd3f1a3f70baba9b2029e549c14c8a6b9f6201e329fd"></a>ROUTING_FAIL </td><td class="fielddoc"><p >No solution found to the problem after calling <a class="el" href="classoperations__research_1_1_routing_model.html#ae3bb9f7055b5dabd24e2ea7c6a377a6a" title="Solves the current routing model; closes the current model.">RoutingModel::Solve()</a>. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a67a0db04d321a74b7e7fcfd3f1a3f70baf6452d79d02ab06bc8d722d25825cae3" name="a67a0db04d321a74b7e7fcfd3f1a3f70baf6452d79d02ab06bc8d722d25825cae3"></a>ROUTING_FAIL_TIMEOUT </td><td class="fielddoc"><p >Time limit reached before finding a solution with <a class="el" href="classoperations__research_1_1_routing_model.html#ae3bb9f7055b5dabd24e2ea7c6a377a6a" title="Solves the current routing model; closes the current model.">RoutingModel::Solve()</a>. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a67a0db04d321a74b7e7fcfd3f1a3f70bae78ffdfdfc3eb7331c0ef91bdef8452b" name="a67a0db04d321a74b7e7fcfd3f1a3f70bae78ffdfdfc3eb7331c0ef91bdef8452b"></a>ROUTING_INVALID </td><td class="fielddoc"><p >Model, model parameters or flags are not valid. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a67a0db04d321a74b7e7fcfd3f1a3f70ba02010eaecd8ea14e642100b84c0cd972" name="a67a0db04d321a74b7e7fcfd3f1a3f70ba02010eaecd8ea14e642100b84c0cd972"></a>ROUTING_INFEASIBLE </td><td class="fielddoc"><p >Problem proven to be infeasible. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00213">213</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a495b53b94a8c31a8f13755962d6c6059" name="a495b53b94a8c31a8f13755962d6c6059"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a495b53b94a8c31a8f13755962d6c6059">◆ </a></span>VisitTypePolicy</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="classoperations__research_1_1_routing_model.html#a495b53b94a8c31a8f13755962d6c6059">VisitTypePolicy</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p><a class="el" href="classoperations__research_1_1_set.html">Set</a> the node visit types and incompatibilities/requirements between the types (see below). </p>
|
|
<p >NOTE: Before adding any incompatibilities and/or requirements on types: 1) All corresponding node types must have been set. 2) <a class="el" href="classoperations__research_1_1_routing_model.html#a822458cc9a9a6fa02e86af3e3a1e5c89" title="This function should be called once all node visit types have been set and prior to adding any incomp...">CloseVisitTypes()</a> must be called so all containers are resized accordingly.</p>
|
|
<p >The following enum is used to describe how a node with a given type 'T' impacts the number of types 'T' on the route when visited, and thus determines how temporal incompatibilities and requirements take effect. </p>
|
|
<table class="fieldtable">
|
|
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a495b53b94a8c31a8f13755962d6c6059a0c6d4521dc67c6bc22dc917caef2286a" name="a495b53b94a8c31a8f13755962d6c6059a0c6d4521dc67c6bc22dc917caef2286a"></a>TYPE_ADDED_TO_VEHICLE </td><td class="fielddoc"><p >When visited, the number of types 'T' on the vehicle increases by one. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a495b53b94a8c31a8f13755962d6c6059a5b57570c52e974c761a9b08c1fc7e8ab" name="a495b53b94a8c31a8f13755962d6c6059a5b57570c52e974c761a9b08c1fc7e8ab"></a>ADDED_TYPE_REMOVED_FROM_VEHICLE </td><td class="fielddoc"><p >When visited, one instance of type 'T' previously added to the route (TYPE_ADDED_TO_VEHICLE), if any, is removed from the vehicle. </p>
|
|
<p >If the type was not previously added to the route or all added instances have already been removed, this visit has no effect on the types. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a495b53b94a8c31a8f13755962d6c6059a7fc0cab89681d70bbb68958ed70b85c1" name="a495b53b94a8c31a8f13755962d6c6059a7fc0cab89681d70bbb68958ed70b85c1"></a>TYPE_ON_VEHICLE_UP_TO_VISIT </td><td class="fielddoc"><p >With the following policy, the visit enforces that type 'T' is considered on the route from its start until this node is visited. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><a id="a495b53b94a8c31a8f13755962d6c6059ad86e8082b5636a532fe181b288a4dea7" name="a495b53b94a8c31a8f13755962d6c6059ad86e8082b5636a532fe181b288a4dea7"></a>TYPE_SIMULTANEOUSLY_ADDED_AND_REMOVED </td><td class="fielddoc"><p >The visit doesn't have an impact on the number of types 'T' on the route, as it's (virtually) added and removed directly. </p>
|
|
<p >This policy can be used for visits which are part of an incompatibility or requirement set without affecting the type count on the route. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00910">910</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a id="af12674b693b7b7cfe271e5b066e10bff" name="af12674b693b7b7cfe271e5b066e10bff"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af12674b693b7b7cfe271e5b066e10bff">◆ </a></span>RoutingModel() <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"><a class="el" href="classoperations__research_1_1_routing_model.html">RoutingModel</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_routing_index_manager.html">RoutingIndexManager</a> & </td>
|
|
<td class="paramname"><em>index_manager</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Constructor taking an index manager. </p>
|
|
<p >The version which does not take RoutingModelParameters is equivalent to passing <a class="el" href="namespaceoperations__research.html#a2fb66556abf59bfcf2fc1b87789d2a8e">DefaultRoutingModelParameters()</a>. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l00885">885</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a33cbb6c72596f866cb9cd105c5fee8ff" name="a33cbb6c72596f866cb9cd105c5fee8ff"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a33cbb6c72596f866cb9cd105c5fee8ff">◆ </a></span>RoutingModel() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1_routing_model.html">RoutingModel</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_routing_index_manager.html">RoutingIndexManager</a> & </td>
|
|
<td class="paramname"><em>index_manager</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const RoutingModelParameters & </td>
|
|
<td class="paramname"><em>parameters</em> </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#l00888">888</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="adca8397d2ad8dfc3bcd2a768bf3e12a2" name="adca8397d2ad8dfc3bcd2a768bf3e12a2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#adca8397d2ad8dfc3bcd2a768bf3e12a2">◆ </a></span>~RoutingModel()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">~<a class="el" href="classoperations__research_1_1_routing_model.html">RoutingModel</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#l00978">978</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="ab1d54f34a26afd08eeef25e8725dd7c2" name="ab1d54f34a26afd08eeef25e8725dd7c2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab1d54f34a26afd08eeef25e8725dd7c2">◆ </a></span>ActiveVar()</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> * ActiveVar </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </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>Returns the active variable of the node corresponding to index. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01368">1368</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a634e15ec828c04eb036e982607e76ef3" name="a634e15ec828c04eb036e982607e76ef3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a634e15ec828c04eb036e982607e76ef3">◆ </a></span>ActiveVehicleVar()</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> * ActiveVehicleVar </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the active variable of the vehicle. </p>
|
|
<p >It will be equal to 1 iff the route of the vehicle is not empty, 0 otherwise. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01371">1371</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a086605d9650ce3c576d8a9c45ce0b9fc" name="a086605d9650ce3c576d8a9c45ce0b9fc"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a086605d9650ce3c576d8a9c45ce0b9fc">◆ </a></span>AddAtSolutionCallback()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddAtSolutionCallback </td>
|
|
<td>(</td>
|
|
<td class="paramtype">std::function< void()> </td>
|
|
<td class="paramname"><em>callback</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Adds a callback called each time a solution is found during the search. </p>
|
|
<p >This is a shortcut to creating a monitor to call the callback on AtSolution() and adding it with AddSearchMonitor. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03130">3130</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9c2c5aa0aa996edff44eb262c6aaad63" name="a9c2c5aa0aa996edff44eb262c6aaad63"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9c2c5aa0aa996edff44eb262c6aaad63">◆ </a></span>AddConstantDimension()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">std::pair< int, bool > AddConstantDimension </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>value</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>capacity</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>fix_start_cumul_to_zero</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::string & </td>
|
|
<td class="paramname"><em>name</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00569">569</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a646667a1b7c142fc9ac9471be43d12d1" name="a646667a1b7c142fc9ac9471be43d12d1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a646667a1b7c142fc9ac9471be43d12d1">◆ </a></span>AddConstantDimensionWithSlack()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">std::pair< int, bool > AddConstantDimensionWithSlack </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>value</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>capacity</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>slack_max</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>fix_start_cumul_to_zero</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::string & </td>
|
|
<td class="paramname"><em>name</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Creates a dimension where the transit variable is constrained to be equal to 'value'; 'capacity' is the upper bound of the cumul variables. </p>
|
|
<p >'name' is the name used to reference the dimension; this name is used to get cumul and transit variables from the routing model. Returns a pair consisting of an index to the registered unary transit callback and a bool denoting whether the dimension has been created. It is false if a dimension with the same name has already been created (and doesn't create the new dimension but still register a new callback). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01194">1194</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="afe7b5ce21d69c0cf5e8469a73988b0df" name="afe7b5ce21d69c0cf5e8469a73988b0df"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#afe7b5ce21d69c0cf5e8469a73988b0df">◆ </a></span>AddDimension()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool AddDimension </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>evaluator_index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>slack_max</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>capacity</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>fix_start_cumul_to_zero</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::string & </td>
|
|
<td class="paramname"><em>name</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Model creation. </p>
|
|
<p >Methods to add dimensions to routes; dimensions represent quantities accumulated at nodes along the routes. They represent quantities such as weights or volumes carried along the route, or distance or times. 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: if j == next(i), cumul(j) = cumul(i) + transit(i) + slack(i) where slack is a positive slack variable (can represent waiting times for a time dimension). Setting the value of fix_start_cumul_to_zero to true will force the "cumul" variable of the start node of all vehicles to be equal to 0. Creates a dimension where the transit variable is constrained to be equal to evaluator(i, next(i)); 'slack_max' is the upper bound of the slack variable and 'capacity' is the upper bound of the cumul variables. 'name' is the name used to reference the dimension; this name is used to get cumul and transit variables from the routing model. Returns false if a dimension with the same name has already been created (and doesn't create the new dimension). Takes ownership of the callback 'evaluator'. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01115">1115</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a102980a19e062b6a1b0b89f119d64e67" name="a102980a19e062b6a1b0b89f119d64e67"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a102980a19e062b6a1b0b89f119d64e67">◆ </a></span>AddDimensionDependentDimensionWithVehicleCapacity() <span class="overload">[1/4]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool AddDimensionDependentDimensionWithVehicleCapacity </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::vector< int > & </td>
|
|
<td class="paramname"><em>pure_transits</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::vector< int > & </td>
|
|
<td class="paramname"><em>dependent_transits</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> * </td>
|
|
<td class="paramname"><em>base_dimension</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>slack_max</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">std::vector< int64_t > </td>
|
|
<td class="paramname"><em>vehicle_capacities</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>fix_start_cumul_to_zero</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::string & </td>
|
|
<td class="paramname"><em>name</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Creates a dimension with transits depending on the cumuls of another dimension. </p>
|
|
<p >'pure_transits' are the per-vehicle fixed transits as above. 'dependent_transits' is a vector containing for each vehicle an index to a registered state dependent transit callback. 'base_dimension' indicates the dimension from which the cumul variable is taken. If 'base_dimension' is nullptr, then the newly created dimension is self-based. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00606">606</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a29d89e72de5dd5b4faa176e24298c48a" name="a29d89e72de5dd5b4faa176e24298c48a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a29d89e72de5dd5b4faa176e24298c48a">◆ </a></span>AddDimensionDependentDimensionWithVehicleCapacity() <span class="overload">[2/4]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool AddDimensionDependentDimensionWithVehicleCapacity </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::vector< int > & </td>
|
|
<td class="paramname"><em>transits</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> * </td>
|
|
<td class="paramname"><em>base_dimension</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>slack_max</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">std::vector< int64_t > </td>
|
|
<td class="paramname"><em>vehicle_capacities</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>fix_start_cumul_to_zero</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::string & </td>
|
|
<td class="paramname"><em>name</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>As above, but pure_transits are taken to be zero evaluators. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01300">1300</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aef72ecc78425383c931a66caa21d15e2" name="aef72ecc78425383c931a66caa21d15e2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aef72ecc78425383c931a66caa21d15e2">◆ </a></span>AddDimensionDependentDimensionWithVehicleCapacity() <span class="overload">[3/4]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool AddDimensionDependentDimensionWithVehicleCapacity </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>pure_transit</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>dependent_transit</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> * </td>
|
|
<td class="paramname"><em>base_dimension</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>slack_max</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>vehicle_capacity</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>fix_start_cumul_to_zero</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::string & </td>
|
|
<td class="paramname"><em>name</em> </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#l01340">1340</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a23b9ed9eee4280a48f9c9231d5768ad9" name="a23b9ed9eee4280a48f9c9231d5768ad9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a23b9ed9eee4280a48f9c9231d5768ad9">◆ </a></span>AddDimensionDependentDimensionWithVehicleCapacity() <span class="overload">[4/4]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool AddDimensionDependentDimensionWithVehicleCapacity </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>transit</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> * </td>
|
|
<td class="paramname"><em>base_dimension</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>slack_max</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>vehicle_capacity</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>fix_start_cumul_to_zero</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::string & </td>
|
|
<td class="paramname"><em>name</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Homogeneous versions of the functions above. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01311">1311</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="abb04114cc25bd55e364b79d9adccab91" name="abb04114cc25bd55e364b79d9adccab91"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#abb04114cc25bd55e364b79d9adccab91">◆ </a></span>AddDimensionWithVehicleCapacity()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool AddDimensionWithVehicleCapacity </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>evaluator_index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>slack_max</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">std::vector< int64_t > </td>
|
|
<td class="paramname"><em>vehicle_capacities</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>fix_start_cumul_to_zero</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::string & </td>
|
|
<td class="paramname"><em>name</em> </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#l01134">1134</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af6fa2d6d6bd7201d701efca7da040dd6" name="af6fa2d6d6bd7201d701efca7da040dd6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af6fa2d6d6bd7201d701efca7da040dd6">◆ </a></span>AddDimensionWithVehicleTransitAndCapacity()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool AddDimensionWithVehicleTransitAndCapacity </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::vector< int > & </td>
|
|
<td class="paramname"><em>evaluator_indices</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>slack_max</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">std::vector< int64_t > </td>
|
|
<td class="paramname"><em>vehicle_capacities</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>fix_start_cumul_to_zero</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::string & </td>
|
|
<td class="paramname"><em>name</em> </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#l01144">1144</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="acf6e2a1031a61467fff27d14cb937fde" name="acf6e2a1031a61467fff27d14cb937fde"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#acf6e2a1031a61467fff27d14cb937fde">◆ </a></span>AddDimensionWithVehicleTransits()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool AddDimensionWithVehicleTransits </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::vector< int > & </td>
|
|
<td class="paramname"><em>evaluator_indices</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>slack_max</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>capacity</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>fix_start_cumul_to_zero</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::string & </td>
|
|
<td class="paramname"><em>name</em> </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#l01125">1125</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a855597cfbfe217d469f87488444bb0cd" name="a855597cfbfe217d469f87488444bb0cd"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a855597cfbfe217d469f87488444bb0cd">◆ </a></span>AddDisjunction()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1_routing_model.html#afa7cbbd4db2dd5d0bec3393efc9ebac1">RoutingModel::DisjunctionIndex</a> AddDisjunction </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::vector< int64_t > & </td>
|
|
<td class="paramname"><em>indices</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>penalty</em> = <code><a class="el" href="classoperations__research_1_1_routing_model.html#a5f3df49299b1aaad3bca40b14291aa79">kNoPenalty</a></code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>max_cardinality</em> = <code>1</code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Adds a disjunction constraint on the indices: exactly 'max_cardinality' of the indices are active. </p>
|
|
<p >Start and end indices of any vehicle cannot be part of a disjunction.</p>
|
|
<p >If a penalty is given, at most 'max_cardinality' of the indices can be active, and if less are active, 'penalty' is payed per inactive index. This is equivalent to adding the constraint: p + Sum(i)active[i] == max_cardinality where p is an integer variable, and the following cost to the cost function: p * penalty. 'penalty' must be positive to make the disjunction optional; a negative penalty will force 'max_cardinality' indices of the disjunction to be performed, and therefore p == 0. Note: passing a vector with a single index will model an optional index with a penalty cost if it is not visited. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01917">1917</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a796b4eed03ed53bbbaed642f4ae94952" name="a796b4eed03ed53bbbaed642f4ae94952"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a796b4eed03ed53bbbaed642f4ae94952">◆ </a></span>AddHardTypeIncompatibility()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddHardTypeIncompatibility </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>type1</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>type2</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Incompatibilities: Two nodes with "hard" incompatible types cannot share the same route at all, while with a "temporal" incompatibility they can't be on the same route at the same time. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l04150">4150</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab878a81ace850e3ecd26e95966409f61" name="ab878a81ace850e3ecd26e95966409f61"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab878a81ace850e3ecd26e95966409f61">◆ </a></span>AddIntervalToAssignment()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddIntervalToAssignment </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_interval_var.html">IntervalVar</a> *const </td>
|
|
<td class="paramname"><em>interval</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#l05802">5802</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a566384949e6395952f6f6b48603fd87f" name="a566384949e6395952f6f6b48603fd87f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a566384949e6395952f6f6b48603fd87f">◆ </a></span>AddLocalSearchFilter()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddLocalSearchFilter </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_local_search_filter.html">LocalSearchFilter</a> * </td>
|
|
<td class="paramname"><em>filter</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>Adds a custom local search filter to the list of filters used to speed up local search by pruning unfeasible variable assignments. </p>
|
|
<p >Calling this method after the routing model has been closed (<a class="el" href="classoperations__research_1_1_routing_model.html#add71470f4175a0859e6e3d69c2a53988" title="Closes the current routing model; after this method is called, no modification to the model can be do...">CloseModel()</a> or <a class="el" href="classoperations__research_1_1_routing_model.html#ae3bb9f7055b5dabd24e2ea7c6a377a6a" title="Solves the current routing model; closes the current model.">Solve()</a> has been called) has no effect. The routing model does not take ownership of the filter. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01322">1322</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a1156fa8214dba09e2a2a94862244aa1f" name="a1156fa8214dba09e2a2a94862244aa1f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1156fa8214dba09e2a2a94862244aa1f">◆ </a></span>AddLocalSearchOperator()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddLocalSearchOperator </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> * </td>
|
|
<td class="paramname"><em>ls_operator</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Adds a local search operator to the set of operators used to solve the vehicle routing problem. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l02140">2140</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a1a976fc02875c6fbc766c8a67c8a2b93" name="a1a976fc02875c6fbc766c8a67c8a2b93"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1a976fc02875c6fbc766c8a67c8a2b93">◆ </a></span>AddMatrixDimension()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">std::pair< int, bool > AddMatrixDimension </td>
|
|
<td>(</td>
|
|
<td class="paramtype">std::vector< std::vector< int64_t > > </td>
|
|
<td class="paramname"><em>values</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>capacity</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>fix_start_cumul_to_zero</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::string & </td>
|
|
<td class="paramname"><em>name</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Creates a dimension where the transit variable is constrained to be equal to 'values[i][next(i)]' for node i; 'capacity' is the upper bound of the cumul variables. </p>
|
|
<p >'name' is the name used to reference the dimension; this name is used to get cumul and transit variables from the routing model. Returns a pair consisting of an index to the registered transit callback and a bool denoting whether the dimension has been created. It is false if a dimension with the same name has already been created (and doesn't create the new dimension but still register a new callback). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01214">1214</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7ab8e7947bd1cf91da5560bf7db1fa61" name="a7ab8e7947bd1cf91da5560bf7db1fa61"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7ab8e7947bd1cf91da5560bf7db1fa61">◆ </a></span>AddPickupAndDelivery()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddPickupAndDelivery </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>pickup</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>delivery</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Notifies that index1 and index2 form a pair of nodes which should belong to the same route. </p>
|
|
<p >This methods helps the search find better solutions, especially in the local search phase. It should be called each time you have an equality constraint linking the vehicle variables of two node (including for instance pickup and delivery problems): Solver* const solver = routing.solver(); int64_t index1 = manager.NodeToIndex(node1); int64_t index2 = manager.NodeToIndex(node2); solver->AddConstraint(solver->MakeEquality( routing.VehicleVar(index1), routing.VehicleVar(index2))); routing.AddPickupAndDelivery(index1, index2); </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l02028">2028</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5f404ec17ed0917a6ac3711ac53e60f1" name="a5f404ec17ed0917a6ac3711ac53e60f1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5f404ec17ed0917a6ac3711ac53e60f1">◆ </a></span>AddPickupAndDeliverySets()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddPickupAndDeliverySets </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_routing_model.html#afa7cbbd4db2dd5d0bec3393efc9ebac1">DisjunctionIndex</a> </td>
|
|
<td class="paramname"><em>pickup_disjunction</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_routing_model.html#afa7cbbd4db2dd5d0bec3393efc9ebac1">DisjunctionIndex</a> </td>
|
|
<td class="paramname"><em>delivery_disjunction</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Same as AddPickupAndDelivery but notifying that the performed node from the disjunction of index 'pickup_disjunction' is on the same route as the performed node from the disjunction of index 'delivery_disjunction'. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l02033">2033</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad7dbf1150b65fa6495a6cf4a6ab9dd3b" name="ad7dbf1150b65fa6495a6cf4a6ab9dd3b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad7dbf1150b65fa6495a6cf4a6ab9dd3b">◆ </a></span>AddRequiredTypeAlternativesWhenAddingType()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddRequiredTypeAlternativesWhenAddingType </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>dependent_type</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">absl::flat_hash_set< int > </td>
|
|
<td class="paramname"><em>required_type_alternatives</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>If type_D depends on type_R when adding type_D, any node_D of type_D and VisitTypePolicy TYPE_ADDED_TO_VEHICLE or TYPE_SIMULTANEOUSLY_ADDED_AND_REMOVED requires at least one type_R on its vehicle at the time node_D is visited. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l04206">4206</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa11b7e0480c2cfed29972adef0d3fa74" name="aa11b7e0480c2cfed29972adef0d3fa74"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa11b7e0480c2cfed29972adef0d3fa74">◆ </a></span>AddRequiredTypeAlternativesWhenRemovingType()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddRequiredTypeAlternativesWhenRemovingType </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>dependent_type</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">absl::flat_hash_set< int > </td>
|
|
<td class="paramname"><em>required_type_alternatives</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>The following requirements apply when visiting dependent nodes that remove their type from the route, i.e. </p>
|
|
<p >type_R must be on the vehicle when type_D of VisitTypePolicy ADDED_TYPE_REMOVED_FROM_VEHICLE, TYPE_ON_VEHICLE_UP_TO_VISIT or TYPE_SIMULTANEOUSLY_ADDED_AND_REMOVED is visited. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l04227">4227</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a935fbe2d7b2b9d71bf66b0987b9ae4b3" name="a935fbe2d7b2b9d71bf66b0987b9ae4b3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a935fbe2d7b2b9d71bf66b0987b9ae4b3">◆ </a></span>AddResourceGroup()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int AddResourceGroup </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Adds a resource group to the routing model. </p>
|
|
<p >Returns its index in resource_groups_. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01484">1484</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac22e9cfd1fbf1b4af4f8a9be46ec88a1" name="ac22e9cfd1fbf1b4af4f8a9be46ec88a1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac22e9cfd1fbf1b4af4f8a9be46ec88a1">◆ </a></span>AddSameVehicleRequiredTypeAlternatives()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddSameVehicleRequiredTypeAlternatives </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>dependent_type</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">absl::flat_hash_set< int > </td>
|
|
<td class="paramname"><em>required_type_alternatives</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Requirements: NOTE: As of 2019-04, cycles in the requirement graph are not supported, and lead to the dependent nodes being skipped if possible (otherwise the model is considered infeasible). </p>
|
|
<p >The following functions specify that "dependent_type" requires at least one of the types in "required_type_alternatives".</p>
|
|
<p >For same-vehicle requirements, a node of dependent type type_D requires at least one node of type type_R among the required alternatives on the same route. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l04184">4184</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a0e23be986e4c3b96a50c8798aa5f536d" name="a0e23be986e4c3b96a50c8798aa5f536d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0e23be986e4c3b96a50c8798aa5f536d">◆ </a></span>AddSearchMonitor()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddSearchMonitor </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> *const </td>
|
|
<td class="paramname"><em>monitor</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Adds a search monitor to the search used to solve the routing model. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03111">3111</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3941ea5b7354b04afea324f91a2ebd35" name="a3941ea5b7354b04afea324f91a2ebd35"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3941ea5b7354b04afea324f91a2ebd35">◆ </a></span>AddSoftSameVehicleConstraint()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddSoftSameVehicleConstraint </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::vector< int64_t > & </td>
|
|
<td class="paramname"><em>indices</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>cost</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Adds a soft constraint to force a set of variable indices to be on the same vehicle. </p>
|
|
<p >If all nodes are not on the same vehicle, each extra vehicle used adds 'cost' to the cost function. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l02007">2007</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7086a908f1890a7e1550c97b774e6384" name="a7086a908f1890a7e1550c97b774e6384"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7086a908f1890a7e1550c97b774e6384">◆ </a></span>AddTemporalTypeIncompatibility()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddTemporalTypeIncompatibility </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>type1</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>type2</em> </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#l04159">4159</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a437ae499bef0aa64f2753166a000f5bd" name="a437ae499bef0aa64f2753166a000f5bd"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a437ae499bef0aa64f2753166a000f5bd">◆ </a></span>AddToAssignment()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddToAssignment </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> *const </td>
|
|
<td class="paramname"><em>var</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Adds an extra variable to the vehicle routing assignment. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l05798">5798</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aabdcf3bd412a5a61d811ef85e115e5ff" name="aabdcf3bd412a5a61d811ef85e115e5ff"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aabdcf3bd412a5a61d811ef85e115e5ff">◆ </a></span>AddVariableMaximizedByFinalizer()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddVariableMaximizedByFinalizer </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * </td>
|
|
<td class="paramname"><em>var</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Adds a variable to maximize in the solution finalizer (see above for information on the solution finalizer). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l05784">5784</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4768ba91c34c542eddec212a68d79473" name="a4768ba91c34c542eddec212a68d79473"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4768ba91c34c542eddec212a68d79473">◆ </a></span>AddVariableMinimizedByFinalizer()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddVariableMinimizedByFinalizer </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * </td>
|
|
<td class="paramname"><em>var</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Adds a variable to minimize in the solution finalizer. </p>
|
|
<p >The solution finalizer is called each time a solution is found during the search and allows to instantiate secondary variables (such as dimension cumul variables). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l05788">5788</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a8fc98154baec00fd3be88c9d6a0234dc" name="a8fc98154baec00fd3be88c9d6a0234dc"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8fc98154baec00fd3be88c9d6a0234dc">◆ </a></span>AddVariableTargetToFinalizer()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddVariableTargetToFinalizer </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * </td>
|
|
<td class="paramname"><em>var</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>target</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Add a variable to set the closest possible to the target value in the solution finalizer. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l05777">5777</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a34be40dba53068c0eb5c1f1fbb5966c0" name="a34be40dba53068c0eb5c1f1fbb5966c0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a34be40dba53068c0eb5c1f1fbb5966c0">◆ </a></span>AddVectorDimension()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">std::pair< int, bool > AddVectorDimension </td>
|
|
<td>(</td>
|
|
<td class="paramtype">std::vector< int64_t > </td>
|
|
<td class="paramname"><em>values</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>capacity</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>fix_start_cumul_to_zero</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::string & </td>
|
|
<td class="paramname"><em>name</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Creates a dimension where the transit variable is constrained to be equal to 'values[i]' for node i; 'capacity' is the upper bound of the cumul variables. </p>
|
|
<p >'name' is the name used to reference the dimension; this name is used to get cumul and transit variables from the routing model. Returns a pair consisting of an index to the registered unary transit callback and a bool denoting whether the dimension has been created. It is false if a dimension with the same name has already been created (and doesn't create the new dimension but still register a new callback). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01205">1205</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6efbe07e86c17fee8bdef0765253ff4c" name="a6efbe07e86c17fee8bdef0765253ff4c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6efbe07e86c17fee8bdef0765253ff4c">◆ </a></span>AddWeightedVariableMaximizedByFinalizer()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddWeightedVariableMaximizedByFinalizer </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * </td>
|
|
<td class="paramname"><em>var</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>cost</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Adds a variable to maximize in the solution finalizer, with a weighted priority: the higher the more priority it has. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l05771">5771</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab81fff41f3dde630902e1c4e2f534732" name="ab81fff41f3dde630902e1c4e2f534732"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab81fff41f3dde630902e1c4e2f534732">◆ </a></span>AddWeightedVariableMinimizedByFinalizer()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddWeightedVariableMinimizedByFinalizer </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * </td>
|
|
<td class="paramname"><em>var</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>cost</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Adds a variable to minimize in the solution finalizer, with a weighted priority: the higher the more priority it has. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l05765">5765</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4f508f95cf260fed97b354866924052f" name="a4f508f95cf260fed97b354866924052f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4f508f95cf260fed97b354866924052f">◆ </a></span>AddWeightedVariableTargetToFinalizer()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddWeightedVariableTargetToFinalizer </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * </td>
|
|
<td class="paramname"><em>var</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>target</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>cost</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Same as above with a weighted priority: the higher the cost, the more priority it has to be set close to the target value. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l05745">5745</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7fcd2e6d28a2ac1d07f052bc8840a477" name="a7fcd2e6d28a2ac1d07f052bc8840a477"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7fcd2e6d28a2ac1d07f052bc8840a477">◆ </a></span>ApplyLocks()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * ApplyLocks </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::vector< int64_t > & </td>
|
|
<td class="paramname"><em>locks</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Applies a lock chain to the next search. </p>
|
|
<p >'locks' represents an ordered vector of nodes representing a partial route which will be fixed during the next search; it will constrain next variables such that: next[locks[i]] == locks[i+1].</p>
|
|
<p >Returns the next variable at the end of the locked chain; this variable is not locked. An assignment containing the locks can be obtained by calling <a class="el" href="classoperations__research_1_1_routing_model.html#aff67d1a1040bedd580940005ef180d6a" title="Returns an assignment used to fix some of the variables of the problem.">PreAssignment()</a>. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03635">3635</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab9242d96967ff3b4e5bec3241831552b" name="ab9242d96967ff3b4e5bec3241831552b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab9242d96967ff3b4e5bec3241831552b">◆ </a></span>ApplyLocksToAllVehicles()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ApplyLocksToAllVehicles </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::vector< std::vector< int64_t > > & </td>
|
|
<td class="paramname"><em>locks</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>close_routes</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Applies lock chains to all vehicles to the next search, such that locks[p] is the lock chain for route p. </p>
|
|
<p >Returns false if the locks do not contain valid routes; expects that the routes do not contain the depots, i.e. there are empty vectors in place of empty routes. If close_routes is set to true, adds the end nodes to the route of each vehicle and deactivates other nodes. An assignment containing the locks can be obtained by calling <a class="el" href="classoperations__research_1_1_routing_model.html#aff67d1a1040bedd580940005ef180d6a" title="Returns an assignment used to fix some of the variables of the problem.">PreAssignment()</a>. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03656">3656</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a78657faa6e076466c745caefdf732970" name="a78657faa6e076466c745caefdf732970"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a78657faa6e076466c745caefdf732970">◆ </a></span>ArcIsMoreConstrainedThanArc()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ArcIsMoreConstrainedThanArc </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>from</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>to1</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>to2</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns whether the arc from->to1 is more constrained than from->to2, taking into account, in order: </p>
|
|
<ul>
|
|
<li>whether the destination node isn't an end node</li>
|
|
<li>whether the destination node is mandatory</li>
|
|
<li>whether the destination node is bound to the same vehicle as the source</li>
|
|
<li>the "primary constrained" dimension (see SetPrimaryConstrainedDimension) It then breaks ties using, in order:</li>
|
|
<li>the arc cost (taking unperformed penalties into account)</li>
|
|
<li>the size of the vehicle vars of "to1" and "to2" (lowest size wins)</li>
|
|
<li>the value: the lowest value of the indices to1 and to2 wins. See the .cc for details. The more constrained arc is typically preferable when building a first solution. This method is intended to be used as a callback for the BestValueByComparisonSelector value selector. Args: from: the variable index of the source node to1: the variable index of the first candidate destination node. to2: the variable index of the second candidate destination node. </li>
|
|
</ul>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l04016">4016</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a85555955bff836046b755e58e363f1a2" name="a85555955bff836046b755e58e363f1a2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a85555955bff836046b755e58e363f1a2">◆ </a></span>AssignmentToRoutes()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AssignmentToRoutes </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> & </td>
|
|
<td class="paramname"><em>assignment</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">std::vector< std::vector< int64_t > > *const </td>
|
|
<td class="paramname"><em>routes</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Converts the solution in the given assignment to routes for all vehicles. </p>
|
|
<p >Expects that assignment contains a valid solution (i.e. routes for all vehicles end with an end index for that vehicle). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03844">3844</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3f5d70fe48cb54cbc5d8f6bba55b007d" name="a3f5d70fe48cb54cbc5d8f6bba55b007d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3f5d70fe48cb54cbc5d8f6bba55b007d">◆ </a></span>CheckLimit()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool CheckLimit </td>
|
|
<td>(</td>
|
|
<td class="paramname"></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>Returns true if the search limit has been crossed. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01514">1514</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="add71470f4175a0859e6e3d69c2a53988" name="add71470f4175a0859e6e3d69c2a53988"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#add71470f4175a0859e6e3d69c2a53988">◆ </a></span>CloseModel()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void CloseModel </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Closes the current routing model; after this method is called, no modification to the model can be done, but RoutesToAssignment becomes available. </p>
|
|
<p >Note that <a class="el" href="classoperations__research_1_1_routing_model.html#add71470f4175a0859e6e3d69c2a53988" title="Closes the current routing model; after this method is called, no modification to the model can be do...">CloseModel()</a> is automatically called by <a class="el" href="classoperations__research_1_1_routing_model.html#ae3bb9f7055b5dabd24e2ea7c6a377a6a" title="Solves the current routing model; closes the current model.">Solve()</a> and other methods that produce solution. This is equivalent to calling CloseModelWithParameters(DefaultRoutingSearchParameters()). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l02247">2247</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa79f8d482de4dd0ef86a1b54999686af" name="aa79f8d482de4dd0ef86a1b54999686af"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa79f8d482de4dd0ef86a1b54999686af">◆ </a></span>CloseModelWithParameters()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void CloseModelWithParameters </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const RoutingSearchParameters & </td>
|
|
<td class="paramname"><em>search_parameters</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Same as above taking search parameters (as of 10/2015 some the parameters have to be set when closing the model). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l02425">2425</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a822458cc9a9a6fa02e86af3e3a1e5c89" name="a822458cc9a9a6fa02e86af3e3a1e5c89"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a822458cc9a9a6fa02e86af3e3a1e5c89">◆ </a></span>CloseVisitTypes()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void CloseVisitTypes </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This function should be called once all node visit types have been set and prior to adding any incompatibilities/requirements. </p>
|
|
<p >"close" types. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l04141">4141</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9a9f45350da93a613c6226f7d09d4353" name="a9a9f45350da93a613c6226f7d09d4353"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9a9f45350da93a613c6226f7d09d4353">◆ </a></span>CompactAndCheckAssignment()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * CompactAndCheckAssignment </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> & </td>
|
|
<td class="paramname"><em>assignment</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Same as <a class="el" href="classoperations__research_1_1_routing_model.html#a3ea07f9778e02e7160c30bfb0f08736b" title="Returns a compacted version of the given assignment, in which all vehicles with id lower or equal to ...">CompactAssignment()</a> but also checks the validity of the final compact solution; if it is not valid, no attempts to repair it are made (instead, the method returns nullptr). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03549">3549</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3ea07f9778e02e7160c30bfb0f08736b" name="a3ea07f9778e02e7160c30bfb0f08736b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3ea07f9778e02e7160c30bfb0f08736b">◆ </a></span>CompactAssignment()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * CompactAssignment </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> & </td>
|
|
<td class="paramname"><em>assignment</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns a compacted version of the given assignment, in which all vehicles with id lower or equal to some N have non-empty routes, and all vehicles with id greater than N have empty routes. </p>
|
|
<p >Does not take ownership of the returned object. If found, the cost of the compact assignment is the same as in the original assignment and it preserves the values of 'active' variables. Returns nullptr if a compact assignment was not found. This method only works in homogenous mode, and it only swaps equivalent vehicles (vehicles with the same start and end nodes). When creating the compact assignment, the empty plan is replaced by the route assigned to the compatible vehicle with the highest id. Note that with more complex constraints on vehicle variables, this method might fail even if a compact solution exists. This method changes the vehicle and dimension variables as necessary. While compacting the solution, only basic checks on vehicle variables are performed; if one of these checks fails no attempts to repair it are made (instead, the method returns nullptr). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03544">3544</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a045b5c068a5676ef3d3af9357621d7f7" name="a045b5c068a5676ef3d3af9357621d7f7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a045b5c068a5676ef3d3af9357621d7f7">◆ </a></span>ComputeLowerBound()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64_t ComputeLowerBound </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Computes a lower bound to the routing problem solving a linear assignment problem. </p>
|
|
<p >The routing model must be closed before calling this method. Note that problems with node disjunction constraints (including optional nodes) and non-homogenous costs are not supported (the method returns 0 in these cases). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03400">3400</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae0c21c6d4e99cb309b8b298d280e4853" name="ae0c21c6d4e99cb309b8b298d280e4853"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae0c21c6d4e99cb309b8b298d280e4853">◆ </a></span>CostsAreHomogeneousAcrossVehicles()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool CostsAreHomogeneousAcrossVehicles </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>Whether costs are homogeneous across all vehicles. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01399">1399</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="abb61fc6939fecebe93387f63319d2b7f" name="abb61fc6939fecebe93387f63319d2b7f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#abb61fc6939fecebe93387f63319d2b7f">◆ </a></span>CostVar()</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> * CostVar </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 global cost variable which is being minimized. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01392">1392</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a25d079aaf52ffdf6d547384b523ff018" name="a25d079aaf52ffdf6d547384b523ff018"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a25d079aaf52ffdf6d547384b523ff018">◆ </a></span>DebugOutputAssignment()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">std::string DebugOutputAssignment </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> & </td>
|
|
<td class="paramname"><em>solution_assignment</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const std::string & </td>
|
|
<td class="paramname"><em>dimension_to_print</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Print some debugging information about an assignment, including the feasible intervals of the CumulVar for dimension "dimension_to_print" at each step of the routes. </p>
|
|
<p >If "dimension_to_print" is omitted, all dimensions will be printed. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l04289">4289</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="afb80fd36c1fb57d2db049403483e2074" name="afb80fd36c1fb57d2db049403483e2074"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#afb80fd36c1fb57d2db049403483e2074">◆ </a></span>End()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64_t End </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the variable index of the ending node of a vehicle route. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01335">1335</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a0a341401d28136b8385723641352c9f8" name="a0a341401d28136b8385723641352c9f8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0a341401d28136b8385723641352c9f8">◆ </a></span>first_solution_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_solver.html#a55d833360c375d45a3c503437de9841c">Solver::IndexEvaluator2</a> & first_solution_evaluator </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>Gets/sets the evaluator used during the search. </p>
|
|
<p >Only relevant when RoutingSearchParameters.first_solution_strategy = EVALUATOR_STRATEGY. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01102">1102</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a14ddf0a3cc644cd510603b1cd84e08be" name="a14ddf0a3cc644cd510603b1cd84e08be"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a14ddf0a3cc644cd510603b1cd84e08be">◆ </a></span>ForEachNodeInDisjunctionWithMaxCardinalityFromIndex()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ForEachNodeInDisjunctionWithMaxCardinalityFromIndex </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>max_cardinality</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">F </td>
|
|
<td class="paramname"><em>f</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Calls f for each variable index of indices in the same disjunctions as the node corresponding to the variable index 'index'; only disjunctions of cardinality 'cardinality' are considered. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00770">770</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a644ab247b579b93e9a3b1ecd96ba415c" name="a644ab247b579b93e9a3b1ecd96ba415c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a644ab247b579b93e9a3b1ecd96ba415c">◆ </a></span>GetAllDimensionNames()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">std::vector< std::string > GetAllDimensionNames </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Outputs the names of all dimensions added to the routing engine. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01365">1365</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a93253a98a7cf4fd4032c775fc1684b1e" name="a93253a98a7cf4fd4032c775fc1684b1e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a93253a98a7cf4fd4032c775fc1684b1e">◆ </a></span>GetAmortizedLinearCostFactorOfVehicles()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector< int64_t > & GetAmortizedLinearCostFactorOfVehicles </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#l01081">1081</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad4842065480b0fd38be47e96eeb32fc7" name="ad4842065480b0fd38be47e96eeb32fc7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad4842065480b0fd38be47e96eeb32fc7">◆ </a></span>GetAmortizedQuadraticCostFactorOfVehicles()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector< int64_t > & GetAmortizedQuadraticCostFactorOfVehicles </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#l01084">1084</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="abfa127093eb53ae531ccb1f4ada6cc8a" name="abfa127093eb53ae531ccb1f4ada6cc8a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#abfa127093eb53ae531ccb1f4ada6cc8a">◆ </a></span>GetArcCostForClass()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64_t GetArcCostForClass </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>from_index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>to_index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>cost_class_index</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the cost of the segment between two nodes for a given cost class. </p>
|
|
<p >Input are variable indices of nodes and the cost class. Unlike <a class="el" href="classoperations__research_1_1_routing_model.html#a8174e01c9a66c00a87cdbe86ccd3655c" title="Returns the cost of the transit arc between two nodes for a given vehicle.">GetArcCostForVehicle()</a>, if cost_class is kNoCost, then the returned cost won't necessarily be zero: only some of the components of the cost that depend on the cost class will be omited. See the code for details. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03971">3971</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7c1886b567f58aff622ab91f7f0f8685" name="a7c1886b567f58aff622ab91f7f0f8685"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7c1886b567f58aff622ab91f7f0f8685">◆ </a></span>GetArcCostForFirstSolution()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64_t GetArcCostForFirstSolution </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>from_index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>to_index</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the cost of the arc in the context of the first solution strategy. </p>
|
|
<p >This is typically a simplification of the actual cost; see the .cc. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03982">3982</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a8174e01c9a66c00a87cdbe86ccd3655c" name="a8174e01c9a66c00a87cdbe86ccd3655c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8174e01c9a66c00a87cdbe86ccd3655c">◆ </a></span>GetArcCostForVehicle()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64_t GetArcCostForVehicle </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>from_index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>to_index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>vehicle</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the cost of the transit arc between two nodes for a given vehicle. </p>
|
|
<p >Input are variable indices of node. This returns 0 if vehicle < 0. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03961">3961</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad7e76bac509eb82ff32aff9fd2b051b0" name="ad7e76bac509eb82ff32aff9fd2b051b0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad7e76bac509eb82ff32aff9fd2b051b0">◆ </a></span>GetAutomaticFirstSolutionStrategy()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">operations_research::FirstSolutionStrategy::Value GetAutomaticFirstSolutionStrategy </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 automatic first solution strategy selected. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01541">1541</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad3b144985c2b4b24cf39b839dbd9c16d" name="ad3b144985c2b4b24cf39b839dbd9c16d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad3b144985c2b4b24cf39b839dbd9c16d">◆ </a></span>GetCostClassesCount()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int GetCostClassesCount </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 number of different cost classes in the model. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01437">1437</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae378d23c967e818f321bd4498b5c74f2" name="ae378d23c967e818f321bd4498b5c74f2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae378d23c967e818f321bd4498b5c74f2">◆ </a></span>GetCostClassIndexOfVehicle()</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#ad13ad202092298b43c9099b212c54d3d">CostClassIndex</a> GetCostClassIndexOfVehicle </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </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>Get the cost class index of the given vehicle. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01420">1420</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a76e91ac014792e6e99d7e19afeff36dc" name="a76e91ac014792e6e99d7e19afeff36dc"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a76e91ac014792e6e99d7e19afeff36dc">◆ </a></span>GetCumulBounds()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">std::vector< std::vector< std::pair< int64_t, int64_t > > > GetCumulBounds </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> & </td>
|
|
<td class="paramname"><em>solution_assignment</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> & </td>
|
|
<td class="paramname"><em>dimension</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns a vector cumul_bounds, for which cumul_bounds[i][j] is a pair containing the minimum and maximum of the CumulVar of the jth node on route i. </p>
|
|
<ul>
|
|
<li>cumul_bounds[i][j].first is the minimum.</li>
|
|
<li>cumul_bounds[i][j].second is the maximum. </li>
|
|
</ul>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l04363">4363</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a434b15d056c7e1751925eba475e84c32" name="a434b15d056c7e1751925eba475e84c32"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a434b15d056c7e1751925eba475e84c32">◆ </a></span>GetDeliveryIndexPairs()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector< std::pair< int, int > > & GetDeliveryIndexPairs </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>node_index</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Same as above for deliveries. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l02072">2072</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6aa2251c9948bb8c23fe58704b580b65" name="a6aa2251c9948bb8c23fe58704b580b65"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6aa2251c9948bb8c23fe58704b580b65">◆ </a></span>GetDepot()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64_t GetDepot </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the variable index of the first starting or ending node of all routes. </p>
|
|
<p >If all routes start and end at the same node (single depot), this is the node returned. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l02144">2144</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aff7724c6a1de20cd5369108e3db5fc76" name="aff7724c6a1de20cd5369108e3db5fc76"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aff7724c6a1de20cd5369108e3db5fc76">◆ </a></span>GetDimensionOrDie()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> & GetDimensionOrDie </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::string & </td>
|
|
<td class="paramname"><em>dimension_name</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns a dimension from its name. Dies if the dimension does not exist. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01432">1432</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4312c82fe139599cde75656bbb73f863" name="a4312c82fe139599cde75656bbb73f863"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4312c82fe139599cde75656bbb73f863">◆ </a></span>GetDimensionResourceGroupIndex()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int GetDimensionResourceGroupIndex </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> * </td>
|
|
<td class="paramname"><em>dimension</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 index of the resource group attached to the dimension. </p>
|
|
<p >DCHECKS that there's exactly one resource group for this dimension. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00737">737</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a219dfa10a2c3c26cff85c5adde3d47a3" name="a219dfa10a2c3c26cff85c5adde3d47a3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a219dfa10a2c3c26cff85c5adde3d47a3">◆ </a></span>GetDimensionResourceGroupIndices()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector< int > & GetDimensionResourceGroupIndices </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> * </td>
|
|
<td class="paramname"><em>dimension</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the indices of resource groups for this dimension. </p>
|
|
<p >This method can only be called after the model has been closed. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01513">1513</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a88c2b51c968a004484673a6869c1f39d" name="a88c2b51c968a004484673a6869c1f39d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a88c2b51c968a004484673a6869c1f39d">◆ </a></span>GetDimensions()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector< <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> * > & GetDimensions </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 all dimensions of the model. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00655">655</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6e0fb2d4d5bbda1cad6bf795152cbe13" name="a6e0fb2d4d5bbda1cad6bf795152cbe13"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6e0fb2d4d5bbda1cad6bf795152cbe13">◆ </a></span>GetDimensionsWithSoftOrSpanCosts()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">std::vector< <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> * > GetDimensionsWithSoftOrSpanCosts </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns dimensions with soft or vehicle span costs. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l05047">5047</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9148b93be3892d950af000a9b379940e" name="a9148b93be3892d950af000a9b379940e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9148b93be3892d950af000a9b379940e">◆ </a></span>GetDisjunctionIndices()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector< <a class="el" href="classoperations__research_1_1_routing_model.html#afa7cbbd4db2dd5d0bec3393efc9ebac1">DisjunctionIndex</a> > & GetDisjunctionIndices </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </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>Returns the indices of the disjunctions to which an index belongs. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00762">762</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a63f303a555e28a1f9aa5c9f710643b9d" name="a63f303a555e28a1f9aa5c9f710643b9d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a63f303a555e28a1f9aa5c9f710643b9d">◆ </a></span>GetDisjunctionMaxCardinality()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64_t GetDisjunctionMaxCardinality </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_routing_model.html#afa7cbbd4db2dd5d0bec3393efc9ebac1">DisjunctionIndex</a> </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>Returns the maximum number of possible active nodes of the node disjunction of index 'index'. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00794">794</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="affd6cc6c76adff8e52220cff2c61635b" name="affd6cc6c76adff8e52220cff2c61635b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#affd6cc6c76adff8e52220cff2c61635b">◆ </a></span>GetDisjunctionNodeIndices()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector< int64_t > & GetDisjunctionNodeIndices </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_routing_model.html#afa7cbbd4db2dd5d0bec3393efc9ebac1">DisjunctionIndex</a> </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>Returns the variable indices of the nodes in the disjunction of index 'index'. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00783">783</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a74902abbe8bbfa1c50a80ca8ac83e864" name="a74902abbe8bbfa1c50a80ca8ac83e864"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a74902abbe8bbfa1c50a80ca8ac83e864">◆ </a></span>GetDisjunctionPenalty()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64_t GetDisjunctionPenalty </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_routing_model.html#afa7cbbd4db2dd5d0bec3393efc9ebac1">DisjunctionIndex</a> </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>Returns the penalty of the node disjunction of index 'index'. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00789">789</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a34bd38fe78ef5896f2a623170f1be5d0" name="a34bd38fe78ef5896f2a623170f1be5d0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a34bd38fe78ef5896f2a623170f1be5d0">◆ </a></span>GetFixedCostOfVehicle()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64_t GetFixedCostOfVehicle </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the route fixed cost taken into account if the route of the vehicle is not empty, aka there's at least one node on the route other than the first and last nodes. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01541">1541</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5bfdde32eb65e619a0c5aa5b3e442c85" name="a5bfdde32eb65e619a0c5aa5b3e442c85"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5bfdde32eb65e619a0c5aa5b3e442c85">◆ </a></span>GetGlobalDimensionCumulMPOptimizers()</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< std::unique_ptr< <a class="el" href="classoperations__research_1_1_global_dimension_cumul_optimizer.html">GlobalDimensionCumulOptimizer</a> > > & GetGlobalDimensionCumulMPOptimizers </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#l00668">668</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aed0ce377baab3b4f688f8f4602188178" name="aed0ce377baab3b4f688f8f4602188178"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aed0ce377baab3b4f688f8f4602188178">◆ </a></span>GetGlobalDimensionCumulOptimizers()</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< std::unique_ptr< <a class="el" href="classoperations__research_1_1_global_dimension_cumul_optimizer.html">GlobalDimensionCumulOptimizer</a> > > & GetGlobalDimensionCumulOptimizers </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 [global|local]_dimension_optimizers_, which are empty if the model has not been closed. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00664">664</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac26167700ef3e2bf5e595e2150d1f895" name="ac26167700ef3e2bf5e595e2150d1f895"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac26167700ef3e2bf5e595e2150d1f895">◆ </a></span>GetHardTypeIncompatibilitiesOfType()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const absl::flat_hash_set< int > & GetHardTypeIncompatibilitiesOfType </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>type</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns visit types incompatible with a given type. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l04169">4169</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a51b526b532fc95cfed13d54ed2d6db95" name="a51b526b532fc95cfed13d54ed2d6db95"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a51b526b532fc95cfed13d54ed2d6db95">◆ </a></span>GetHomogeneousCost()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64_t GetHomogeneousCost </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>from_index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>to_index</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the cost of the segment between two nodes supposing all vehicle costs are the same (returns the cost for the first vehicle otherwise). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01404">1404</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a41b22cf5fcd67cab4dd9331673b9efcb" name="a41b22cf5fcd67cab4dd9331673b9efcb"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a41b22cf5fcd67cab4dd9331673b9efcb">◆ </a></span>GetImplicitUniquePickupAndDeliveryPairs()</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#a76874cd778ea1b9220673e019f9e7abe">IndexPairs</a> & GetImplicitUniquePickupAndDeliveryPairs </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 implicit pickup and delivery pairs currently in the model. </p>
|
|
<p >Pairs are implicit if they are not linked by a pickup and delivery constraint but that for a given unary dimension, the first element of the pair has a positive demand d, and the second element has a demand of -d. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00894">894</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3b780291494b520928962649bc3aa020" name="a3b780291494b520928962649bc3aa020"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3b780291494b520928962649bc3aa020">◆ </a></span>GetLocalDimensionCumulMPOptimizers()</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< std::unique_ptr< <a class="el" href="classoperations__research_1_1_local_dimension_cumul_optimizer.html">LocalDimensionCumulOptimizer</a> > > & GetLocalDimensionCumulMPOptimizers </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#l00676">676</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9a07703aefbfad85097b3c03378c2b7b" name="a9a07703aefbfad85097b3c03378c2b7b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9a07703aefbfad85097b3c03378c2b7b">◆ </a></span>GetLocalDimensionCumulOptimizers()</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< std::unique_ptr< <a class="el" href="classoperations__research_1_1_local_dimension_cumul_optimizer.html">LocalDimensionCumulOptimizer</a> > > & GetLocalDimensionCumulOptimizers </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#l00672">672</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a945920b524617c6884bb0de60b363c63" name="a945920b524617c6884bb0de60b363c63"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a945920b524617c6884bb0de60b363c63">◆ </a></span>GetMaximumNumberOfActiveVehicles()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int GetMaximumNumberOfActiveVehicles </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 maximum number of active vehicles. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01042">1042</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a57cfea273f9a4d2bacc0cc1e626cb3e1" name="a57cfea273f9a4d2bacc0cc1e626cb3e1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a57cfea273f9a4d2bacc0cc1e626cb3e1">◆ </a></span>GetMutableDimension()</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> * GetMutableDimension </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::string & </td>
|
|
<td class="paramname"><em>dimension_name</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns a dimension from its name. </p>
|
|
<p >Returns nullptr if the dimension does not exist. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01437">1437</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4aa17dcb68bcfcfa4c6c0088f5155da8" name="a4aa17dcb68bcfcfa4c6c0088f5155da8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4aa17dcb68bcfcfa4c6c0088f5155da8">◆ </a></span>GetMutableGlobalCumulMPOptimizer()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1_global_dimension_cumul_optimizer.html">GlobalDimensionCumulOptimizer</a> * GetMutableGlobalCumulMPOptimizer </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> & </td>
|
|
<td class="paramname"><em>dimension</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#l01386">1386</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="abac1ff6e7eaa5e1ec6e86e726cce3d90" name="abac1ff6e7eaa5e1ec6e86e726cce3d90"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#abac1ff6e7eaa5e1ec6e86e726cce3d90">◆ </a></span>GetMutableGlobalCumulOptimizer()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1_global_dimension_cumul_optimizer.html">GlobalDimensionCumulOptimizer</a> * GetMutableGlobalCumulOptimizer </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> & </td>
|
|
<td class="paramname"><em>dimension</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the global/local dimension cumul optimizer for a given dimension, or nullptr if there is none. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01374">1374</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9b9a92ffb451f19ec773b0543b3f2497" name="a9b9a92ffb451f19ec773b0543b3f2497"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9b9a92ffb451f19ec773b0543b3f2497">◆ </a></span>GetMutableLocalCumulMPOptimizer()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1_local_dimension_cumul_optimizer.html">LocalDimensionCumulOptimizer</a> * GetMutableLocalCumulMPOptimizer </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> & </td>
|
|
<td class="paramname"><em>dimension</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#l01410">1410</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a54dbca44a148f9d6d37d4938d686b838" name="a54dbca44a148f9d6d37d4938d686b838"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a54dbca44a148f9d6d37d4938d686b838">◆ </a></span>GetMutableLocalCumulOptimizer()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1_local_dimension_cumul_optimizer.html">LocalDimensionCumulOptimizer</a> * GetMutableLocalCumulOptimizer </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> & </td>
|
|
<td class="paramname"><em>dimension</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#l01398">1398</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="abaa74f74aefe075aedb6b16259a4404e" name="abaa74f74aefe075aedb6b16259a4404e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#abaa74f74aefe075aedb6b16259a4404e">◆ </a></span>GetNonZeroCostClassesCount()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int GetNonZeroCostClassesCount </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>Ditto, minus the 'always zero', built-in cost class. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01439">1439</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab207970f71285b3169cbb67aa4fb04f8" name="ab207970f71285b3169cbb67aa4fb04f8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab207970f71285b3169cbb67aa4fb04f8">◆ </a></span>GetNumberOfDecisionsInFirstSolution()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64_t GetNumberOfDecisionsInFirstSolution </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const RoutingSearchParameters & </td>
|
|
<td class="paramname"><em>search_parameters</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns statistics on first solution search, number of decisions sent to filters, number of decisions rejected by filters. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03662">3662</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa9ed1612ddad261cf7e75643534d0aa0" name="aa9ed1612ddad261cf7e75643534d0aa0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa9ed1612ddad261cf7e75643534d0aa0">◆ </a></span>GetNumberOfDisjunctions()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int GetNumberOfDisjunctions </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 number of node disjunctions in the model. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00798">798</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="acc939d4c1da0e5db1bb694eda1d95994" name="acc939d4c1da0e5db1bb694eda1d95994"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#acc939d4c1da0e5db1bb694eda1d95994">◆ </a></span>GetNumberOfRejectsInFirstSolution()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64_t GetNumberOfRejectsInFirstSolution </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const RoutingSearchParameters & </td>
|
|
<td class="paramname"><em>search_parameters</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#l03670">3670</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a24478803a7138d68852093b9c2743892" name="a24478803a7138d68852093b9c2743892"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a24478803a7138d68852093b9c2743892">◆ </a></span>GetNumberOfVisitTypes()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int GetNumberOfVisitTypes </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#l00938">938</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad62f14646fa4da5b6836a2ae505706d2" name="ad62f14646fa4da5b6836a2ae505706d2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad62f14646fa4da5b6836a2ae505706d2">◆ </a></span>GetNumOfSingletonNodes()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int GetNumOfSingletonNodes </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the number of non-start/end nodes which do not appear in a pickup/delivery pair. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l02098">2098</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a1e783e12fa9a756c3f96ef9bb09cb972" name="a1e783e12fa9a756c3f96ef9bb09cb972"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1e783e12fa9a756c3f96ef9bb09cb972">◆ </a></span>GetPairIndicesOfType()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector< int > & GetPairIndicesOfType </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>type</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#l04130">4130</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aba04bfb310dabb1357ebabd3163350c9" name="aba04bfb310dabb1357ebabd3163350c9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aba04bfb310dabb1357ebabd3163350c9">◆ </a></span>GetPerfectBinaryDisjunctions()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">std::vector< std::pair< int64_t, int64_t > > GetPerfectBinaryDisjunctions </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the list of all perfect binary disjunctions, as pairs of variable indices: a disjunction is "perfect" when its variables do not appear in any other disjunction. </p>
|
|
<p >Each pair is sorted (lowest variable index first), and the output vector is also sorted (lowest pairs first). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01948">1948</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2cd53efbfd6e7e99377a77b8b5b07073" name="a2cd53efbfd6e7e99377a77b8b5b07073"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2cd53efbfd6e7e99377a77b8b5b07073">◆ </a></span>GetPickupAndDeliveryDisjunctions()</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< std::pair< <a class="el" href="classoperations__research_1_1_routing_model.html#afa7cbbd4db2dd5d0bec3393efc9ebac1">DisjunctionIndex</a>, <a class="el" href="classoperations__research_1_1_routing_model.html#afa7cbbd4db2dd5d0bec3393efc9ebac1">DisjunctionIndex</a> > > & GetPickupAndDeliveryDisjunctions </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#l00887">887</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a251dfaa30251901d13cd2f33a92571ac" name="a251dfaa30251901d13cd2f33a92571ac"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a251dfaa30251901d13cd2f33a92571ac">◆ </a></span>GetPickupAndDeliveryPairs()</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#a76874cd778ea1b9220673e019f9e7abe">IndexPairs</a> & GetPickupAndDeliveryPairs </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 pickup and delivery pairs currently in the model. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00883">883</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a351611d23877598dbf426f4235b68112" name="a351611d23877598dbf426f4235b68112"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a351611d23877598dbf426f4235b68112">◆ </a></span>GetPickupAndDeliveryPolicyOfVehicle()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1_routing_model.html#aa5cff2ee7fbe3a9c5c701bfba7460c83">RoutingModel::PickupAndDeliveryPolicy</a> GetPickupAndDeliveryPolicyOfVehicle </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l02093">2093</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac6d5e197d4c8db922db0b8e2a8b7074e" name="ac6d5e197d4c8db922db0b8e2a8b7074e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac6d5e197d4c8db922db0b8e2a8b7074e">◆ </a></span>GetPickupIndexPairs()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector< std::pair< int, int > > & GetPickupIndexPairs </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>node_index</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns pairs for which the node is a pickup; the first element of each pair is the index in the pickup and delivery pairs list in which the pickup appears, the second element is its index in the pickups list. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l02066">2066</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af0ef4b9ace61b0d3f366cf128bfae32d" name="af0ef4b9ace61b0d3f366cf128bfae32d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af0ef4b9ace61b0d3f366cf128bfae32d">◆ </a></span>GetPrimaryConstrainedDimension()</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 & GetPrimaryConstrainedDimension </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>Get the primary constrained dimension, or an empty string if it is unset. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00710">710</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a780dc49f977070d8f061d82550b8ca82" name="a780dc49f977070d8f061d82550b8ca82"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a780dc49f977070d8f061d82550b8ca82">◆ </a></span>GetRequiredTypeAlternativesWhenAddingType()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector< absl::flat_hash_set< int > > & GetRequiredTypeAlternativesWhenAddingType </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>type</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the set of requirement alternatives when adding the given type. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l04258">4258</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2c5397c69eec560d911892a7c1642bdd" name="a2c5397c69eec560d911892a7c1642bdd"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2c5397c69eec560d911892a7c1642bdd">◆ </a></span>GetRequiredTypeAlternativesWhenRemovingType()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector< absl::flat_hash_set< int > > & GetRequiredTypeAlternativesWhenRemovingType </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>type</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the set of requirement alternatives when removing the given type. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l04265">4265</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a132ce8a8682033f261f2b77c3b84ed81" name="a132ce8a8682033f261f2b77c3b84ed81"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a132ce8a8682033f261f2b77c3b84ed81">◆ </a></span>GetResourceGroup()</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_1_1_resource_group.html">ResourceGroup</a> * GetResourceGroup </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>rg_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#l00724">724</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae1181f0fe3878ba573b8afe8dcbcd557" name="ae1181f0fe3878ba573b8afe8dcbcd557"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae1181f0fe3878ba573b8afe8dcbcd557">◆ </a></span>GetResourceGroups()</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< std::unique_ptr< <a class="el" href="classoperations__research_1_1_routing_model_1_1_resource_group.html">ResourceGroup</a> > > & GetResourceGroups </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#l00719">719</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa12303c2dedbd81a69f237f67fa784c5" name="aa12303c2dedbd81a69f237f67fa784c5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa12303c2dedbd81a69f237f67fa784c5">◆ </a></span>GetRoutesFromAssignment()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">std::vector< std::vector< int64_t > > GetRoutesFromAssignment </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> & </td>
|
|
<td class="paramname"><em>assignment</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Converts the solution in the given assignment to routes for all vehicles. </p>
|
|
<p >If the returned vector is route_indices, route_indices[i][j] is the index for jth location visited on route i. Note that contrary to AssignmentToRoutes, the vectors do include start and end locations. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03878">3878</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="adc7c0eab5589e7faf920d287134035f7" name="adc7c0eab5589e7faf920d287134035f7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#adc7c0eab5589e7faf920d287134035f7">◆ </a></span>GetSameVehicleIndicesOfIndex()</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< int > & GetSameVehicleIndicesOfIndex </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>node</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 variable indices of nodes constrained to be on the same route. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01464">1464</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a56d36a8ace500aa67983ea7cbf4e97e7" name="a56d36a8ace500aa67983ea7cbf4e97e7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a56d36a8ace500aa67983ea7cbf4e97e7">◆ </a></span>GetSameVehicleRequiredTypeAlternativesOfType()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector< absl::flat_hash_set< int > > & GetSameVehicleRequiredTypeAlternativesOfType </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>type</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the set of same-vehicle requirement alternatives for the given type. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l04250">4250</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a143ecd04614b139f3118ad599a399942" name="a143ecd04614b139f3118ad599a399942"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a143ecd04614b139f3118ad599a399942">◆ </a></span>GetSearchMonitors()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector< <a class="el" href="classoperations__research_1_1_search_monitor.html">SearchMonitor</a> * > & GetSearchMonitors </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#l01582">1582</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a72d627d4d3da5f1b59256eb9ebf503b5" name="a72d627d4d3da5f1b59256eb9ebf503b5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a72d627d4d3da5f1b59256eb9ebf503b5">◆ </a></span>GetSingleNodesOfType()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector< int > & GetSingleNodesOfType </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>type</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#l04125">4125</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a20e9006ff9b8dc8ce89a8239a092b0c7" name="a20e9006ff9b8dc8ce89a8239a092b0c7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a20e9006ff9b8dc8ce89a8239a092b0c7">◆ </a></span>GetTemporalTypeIncompatibilitiesOfType()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const absl::flat_hash_set< int > & GetTemporalTypeIncompatibilitiesOfType </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>type</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#l04176">4176</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a875041269e3d4c1f90599cde3596353d" name="a875041269e3d4c1f90599cde3596353d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a875041269e3d4c1f90599cde3596353d">◆ </a></span>GetTopologicallySortedVisitTypes()</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< std::vector< int > > & GetTopologicallySortedVisitTypes </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#l00940">940</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a34ab0d5fa45360b5e6a42b9a78cfe5a8" name="a34ab0d5fa45360b5e6a42b9a78cfe5a8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a34ab0d5fa45360b5e6a42b9a78cfe5a8">◆ </a></span>GetVehicleClassesCount()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int GetVehicleClassesCount </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 number of different vehicle classes in the model. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01462">1462</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a114000eadb54d1a6275add6c1e6fcf33" name="a114000eadb54d1a6275add6c1e6fcf33"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a114000eadb54d1a6275add6c1e6fcf33">◆ </a></span>GetVehicleClassIndexOfVehicle()</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#ab6aae3927f3537c446ac33f2c6ecb922">VehicleClassIndex</a> GetVehicleClassIndexOfVehicle </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </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#l01442">1442</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aee0325d1261891b864f0ca58ddec99ca" name="aee0325d1261891b864f0ca58ddec99ca"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aee0325d1261891b864f0ca58ddec99ca">◆ </a></span>GetVehicleOfClass()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int GetVehicleOfClass </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_routing_model.html#ab6aae3927f3537c446ac33f2c6ecb922">VehicleClassIndex</a> </td>
|
|
<td class="paramname"><em>vehicle_class</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 a vehicle of the given vehicle class, and -1 if there are no vehicles for this class. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01448">1448</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7daf2db234ec1da54f595dbec3663699" name="a7daf2db234ec1da54f595dbec3663699"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7daf2db234ec1da54f595dbec3663699">◆ </a></span>GetVehicleTypeContainer()</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="structoperations__research_1_1_routing_model_1_1_vehicle_type_container.html">VehicleTypeContainer</a> & GetVehicleTypeContainer </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#l01469">1469</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5ae82715107922af5fbc18f854d58026" name="a5ae82715107922af5fbc18f854d58026"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5ae82715107922af5fbc18f854d58026">◆ </a></span>GetVisitType()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int GetVisitType </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>index</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#l04120">4120</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aeb6c785d9ebc792b3c6eda788a6dfdf0" name="aeb6c785d9ebc792b3c6eda788a6dfdf0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aeb6c785d9ebc792b3c6eda788a6dfdf0">◆ </a></span>GetVisitTypePolicy()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1_routing_model.html#a495b53b94a8c31a8f13755962d6c6059">RoutingModel::VisitTypePolicy</a> GetVisitTypePolicy </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>index</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#l04135">4135</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aea90b377b2cc45917a08d519be784009" name="aea90b377b2cc45917a08d519be784009"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aea90b377b2cc45917a08d519be784009">◆ </a></span>HasDimension()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool HasDimension </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::string & </td>
|
|
<td class="paramname"><em>dimension_name</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns true if a dimension exists for a given dimension name. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01422">1422</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9c58894df747f5498c335a3a8c5c0c88" name="a9c58894df747f5498c335a3a8c5c0c88"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9c58894df747f5498c335a3a8c5c0c88">◆ </a></span>HasHardTypeIncompatibilities()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool HasHardTypeIncompatibilities </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 true iff any hard (resp. </p>
|
|
<p >temporal) type incompatibilities have been added to the model. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00959">959</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2ce6b8b331e031114f565ed64926f373" name="a2ce6b8b331e031114f565ed64926f373"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2ce6b8b331e031114f565ed64926f373">◆ </a></span>HasMandatoryDisjunctions()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool HasMandatoryDisjunctions </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns true if the model contains mandatory disjunctions (ones with kNoPenalty as penalty). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01933">1933</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad22a15f79dc9567160b3dd2070db9d48" name="ad22a15f79dc9567160b3dd2070db9d48"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad22a15f79dc9567160b3dd2070db9d48">◆ </a></span>HasMaxCardinalityConstrainedDisjunctions()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool HasMaxCardinalityConstrainedDisjunctions </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns true if the model contains at least one disjunction which is constrained by its max_cardinality. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01940">1940</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="abc101a64a3c876dcdf1b7176d59bd2c9" name="abc101a64a3c876dcdf1b7176d59bd2c9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#abc101a64a3c876dcdf1b7176d59bd2c9">◆ </a></span>HasSameVehicleTypeRequirements()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool HasSameVehicleTypeRequirements </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 true iff any same-route (resp. </p>
|
|
<p >temporal) type requirements have been added to the model. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01004">1004</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad19492313b68e5a963af3793aaec8d90" name="ad19492313b68e5a963af3793aaec8d90"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad19492313b68e5a963af3793aaec8d90">◆ </a></span>HasTemporalTypeIncompatibilities()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool HasTemporalTypeIncompatibilities </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#l00962">962</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5e3f4c6871f7b2c67fd5b1ad6c94d891" name="a5e3f4c6871f7b2c67fd5b1ad6c94d891"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5e3f4c6871f7b2c67fd5b1ad6c94d891">◆ </a></span>HasTemporalTypeRequirements()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool HasTemporalTypeRequirements </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#l01007">1007</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab313d84a56c5e9b1b8f28da70b8d4045" name="ab313d84a56c5e9b1b8f28da70b8d4045"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab313d84a56c5e9b1b8f28da70b8d4045">◆ </a></span>HasTypeRegulations()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool HasTypeRegulations </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 true iff the model has any incompatibilities or requirements set on node types. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01013">1013</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a67e8d10adbcc563f428069f9b2c04b63" name="a67e8d10adbcc563f428069f9b2c04b63"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a67e8d10adbcc563f428069f9b2c04b63">◆ </a></span>HasVehicleWithCostClassIndex()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool HasVehicleWithCostClassIndex </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_routing_model.html#ad13ad202092298b43c9099b212c54d3d">CostClassIndex</a> </td>
|
|
<td class="paramname"><em>cost_class_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>Returns true iff the model contains a vehicle with the given cost_class_index. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01429">1429</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a8b9a513f402e84f4c71436cf430f248a" name="a8b9a513f402e84f4c71436cf430f248a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8b9a513f402e84f4c71436cf430f248a">◆ </a></span>IgnoreDisjunctionsAlreadyForcedToZero()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void IgnoreDisjunctionsAlreadyForcedToZero </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>SPECIAL: Makes the solver ignore all the disjunctions whose active variables are all trivially zero (i.e. </p>
|
|
<p >Max() == 0), by setting their max_cardinality to 0. This can be useful when using the BaseBinaryDisjunctionNeighborhood operators, in the context of arc-based routing. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01965">1965</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="acf67dc202e247ce193038850f71306d3" name="acf67dc202e247ce193038850f71306d3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#acf67dc202e247ce193038850f71306d3">◆ </a></span>IsEnd()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool IsEnd </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </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>Returns true if 'index' represents the last node of a route. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01339">1339</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac8347e84488d1b5eb7b5e6972fb32be3" name="ac8347e84488d1b5eb7b5e6972fb32be3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac8347e84488d1b5eb7b5e6972fb32be3">◆ </a></span>IsMatchingModel()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool IsMatchingModel </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns true if a vehicle/node matching problem is detected. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing__flow_8cc_source.html#l00055">55</a> of file <a class="el" href="routing__flow_8cc_source.html">routing_flow.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3582f01eabc65ba4b801215ca6420a7c" name="a3582f01eabc65ba4b801215ca6420a7c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3582f01eabc65ba4b801215ca6420a7c">◆ </a></span>IsStart()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool IsStart </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>index</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns true if 'index' represents the first node of a route. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03939">3939</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7d83ad98473be9a287f5ef628b99c929" name="a7d83ad98473be9a287f5ef628b99c929"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7d83ad98473be9a287f5ef628b99c929">◆ </a></span>IsVehicleAllowedForIndex()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool IsVehicleAllowedForIndex </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>index</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns true if a vehicle is allowed to visit a given node. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00831">831</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aedb8dca94b15e5465fef1667d1a81db6" name="aedb8dca94b15e5465fef1667d1a81db6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aedb8dca94b15e5465fef1667d1a81db6">◆ </a></span>IsVehicleUsed()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool IsVehicleUsed </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> & </td>
|
|
<td class="paramname"><em>assignment</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns true if the route of 'vehicle' is non empty in 'assignment'. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03943">3943</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a27e8ef007bbfb2585ca2569faf92453c" name="a27e8ef007bbfb2585ca2569faf92453c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a27e8ef007bbfb2585ca2569faf92453c">◆ </a></span>IsVehicleUsedWhenEmpty()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool IsVehicleUsedWhenEmpty </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01094">1094</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a43b2c4a7a4f58c02ca36ed0a4d76a3b4" name="a43b2c4a7a4f58c02ca36ed0a4d76a3b4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a43b2c4a7a4f58c02ca36ed0a4d76a3b4">◆ </a></span>MakeGreedyDescentLSOperator()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">std::unique_ptr< <a class="el" href="classoperations__research_1_1_local_search_operator.html">LocalSearchOperator</a> > MakeGreedyDescentLSOperator </td>
|
|
<td>(</td>
|
|
<td class="paramtype">std::vector< <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * > </td>
|
|
<td class="paramname"><em>variables</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Perhaps move it to <a class="el" href="constraint__solver_8h.html">constraint_solver.h</a>. </p>
|
|
<p >MakeGreedyDescentLSOperator creates a local search operator that tries to improve the initial assignment by moving a logarithmically decreasing step away in each possible dimension. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing__search_8cc_source.html#l04617">4617</a> of file <a class="el" href="routing__search_8cc_source.html">routing_search.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aba3eb59d97b0beef7f153ada8fe862f7" name="aba3eb59d97b0beef7f153ada8fe862f7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aba3eb59d97b0beef7f153ada8fe862f7">◆ </a></span>MakeGuidedSlackFinalizer()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeGuidedSlackFinalizer </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> * </td>
|
|
<td class="paramname"><em>dimension</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">std::function< int64_t(int64_t)> </td>
|
|
<td class="paramname"><em>initializer</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>The next few members are in the public section only for testing purposes. </p>
|
|
<p >MakeGuidedSlackFinalizer creates a <a class="el" href="classoperations__research_1_1_decision_builder.html" title="A DecisionBuilder is responsible for creating the search tree.">DecisionBuilder</a> for the slacks of a dimension using a callback to choose which values to start with. The finalizer works only when all next variables in the model have been fixed. It has the following two characteristics:</p><ol type="1">
|
|
<li>It follows the routes defined by the nexts variables when choosing a variable to make a decision on.</li>
|
|
<li>When it comes to choose a value for the slack of node i, the decision builder first calls the callback with argument i, and supposingly the returned value is x it creates decisions slack[i] = x, slack[i] = x + 1, slack[i] = x - 1, slack[i] = x + 2, etc. </li>
|
|
</ol>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing__search_8cc_source.html#l04490">4490</a> of file <a class="el" href="routing__search_8cc_source.html">routing_search.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4ffedcd1ce5dc6b224edff0b417aad5c" name="a4ffedcd1ce5dc6b224edff0b417aad5c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4ffedcd1ce5dc6b224edff0b417aad5c">◆ </a></span>MakePathSpansAndTotalSlacks()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1_constraint.html">Constraint</a> * MakePathSpansAndTotalSlacks </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> * </td>
|
|
<td class="paramname"><em>dimension</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">std::vector< <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * > </td>
|
|
<td class="paramname"><em>spans</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">std::vector< <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * > </td>
|
|
<td class="paramname"><em>total_slacks</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>For every vehicle of the routing model: </p>
|
|
<ul>
|
|
<li>if total_slacks[vehicle] is not nullptr, constrains it to be the sum of slacks on that vehicle, that is, dimension->CumulVar(end) - dimension->CumulVar(start) - sum_{node in path of vehicle} dimension->FixedTransitVar(node).</li>
|
|
<li>if spans[vehicle] is not nullptr, constrains it to be dimension->CumulVar(end) - dimension->CumulVar(start) This does stronger propagation than a decomposition, and takes breaks into account. </li>
|
|
</ul>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l06153">6153</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="acb94aaffe504b1b6873c3400a8edceaa" name="acb94aaffe504b1b6873c3400a8edceaa"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#acb94aaffe504b1b6873c3400a8edceaa">◆ </a></span>MakeSelfDependentDimensionFinalizer()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1_decision_builder.html">DecisionBuilder</a> * MakeSelfDependentDimensionFinalizer </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_routing_dimension.html">RoutingDimension</a> * </td>
|
|
<td class="paramname"><em>dimension</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p><b>SWIG</b> </p>
|
|
<p >MakeSelfDependentDimensionFinalizer is a finalizer for the slacks of a self-dependent dimension. It makes an extensive use of the caches of the state dependent transits. In detail, MakeSelfDependentDimensionFinalizer returns a composition of a local search decision builder with a greedy descent operator for the cumul of the start of each route and a guided slack finalizer. Provided there are no time windows and the maximum slacks are large enough, once the cumul of the start of route is fixed, the guided finalizer can find optimal values of the slacks for the rest of the route in time proportional to the length of the route. Therefore the composed finalizer generally works in time O(log(t)*n*m), where t is the latest possible departute time, n is the number of nodes in the network and m is the number of vehicles. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing__search_8cc_source.html#l04623">4623</a> of file <a class="el" href="routing__search_8cc_source.html">routing_search.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac8c094ea0f03a3c394140698e0ce7ffd" name="ac8c094ea0f03a3c394140698e0ce7ffd"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac8c094ea0f03a3c394140698e0ce7ffd">◆ </a></span>MakeStateDependentTransit()</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_routing_model_1_1_state_dependent_transit.html">RoutingModel::StateDependentTransit</a> MakeStateDependentTransit </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::function< int64_t(int64_t)> & </td>
|
|
<td class="paramname"><em>f</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>domain_start</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>domain_end</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Creates a cached <a class="el" href="structoperations__research_1_1_routing_model_1_1_state_dependent_transit.html" title="What follows is relevant for models with time/state dependent transits.">StateDependentTransit</a> from an std::function. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01353">1353</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a99a5bc05f9eb2dda21edbcca9a48caa5" name="a99a5bc05f9eb2dda21edbcca9a48caa5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a99a5bc05f9eb2dda21edbcca9a48caa5">◆ </a></span>MutablePreAssignment()</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_assignment.html">Assignment</a> * MutablePreAssignment </td>
|
|
<td>(</td>
|
|
<td class="paramname"></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#l01221">1221</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa1e8634ca9564e23a832de7479ba34ba" name="aa1e8634ca9564e23a832de7479ba34ba"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa1e8634ca9564e23a832de7479ba34ba">◆ </a></span>Next()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64_t Next </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> & </td>
|
|
<td class="paramname"><em>assignment</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>index</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p><a class="el" href="classoperations__research_1_1_assignment.html" title="An Assignment is a variable -> domains mapping, used to report solutions to the user.">Assignment</a> inspection Returns the variable index of the node directly after the node corresponding to 'index' in 'assignment'. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03953">3953</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a911482cb7495f22638a02066adf13c8b" name="a911482cb7495f22638a02066adf13c8b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a911482cb7495f22638a02066adf13c8b">◆ </a></span>Nexts()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector< <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * > & Nexts </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 all next variables of the model, such that Nexts(i) is the next variable of the node corresponding to i. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01353">1353</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5e7fe0d056275b47eccc1b6bfce0b482" name="a5e7fe0d056275b47eccc1b6bfce0b482"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5e7fe0d056275b47eccc1b6bfce0b482">◆ </a></span>NextVar()</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> * NextVar </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </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>!defined(SWIGPYTHON) </p>
|
|
<p >Returns the next variable of the node corresponding to index. Note that NextVar(index) == index is equivalent to ActiveVar(index) == 0. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01366">1366</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a0f38add802397fef1f57b7d90ccd5aef" name="a0f38add802397fef1f57b7d90ccd5aef"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0f38add802397fef1f57b7d90ccd5aef">◆ </a></span>nodes()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int nodes </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>Sizes and indices Returns the number of nodes in the model. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01527">1527</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a90c35f02b0901acc9822020297e313e7" name="a90c35f02b0901acc9822020297e313e7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a90c35f02b0901acc9822020297e313e7">◆ </a></span>PackCumulsOfOptimizerDimensionsFromAssignment()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * PackCumulsOfOptimizerDimensionsFromAssignment </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * </td>
|
|
<td class="paramname"><em>original_assignment</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">absl::Duration </td>
|
|
<td class="paramname"><em>duration_limit</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>For every dimension in the model with an optimizer in local/global_dimension_optimizers_, this method tries to pack the cumul values of the dimension, such that: </p>
|
|
<ul>
|
|
<li>The cumul costs (span costs, soft lower and upper bound costs, etc) are minimized.</li>
|
|
<li>The cumuls of the ends of the routes are minimized for this given minimal cumul cost.</li>
|
|
<li>Given these minimal end cumuls, the route start cumuls are maximized. Returns the assignment resulting from allocating these packed cumuls with the solver, and nullptr if these cumuls could not be set by the solver. </li>
|
|
</ul>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l00607">607</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aff67d1a1040bedd580940005ef180d6a" name="aff67d1a1040bedd580940005ef180d6a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aff67d1a1040bedd580940005ef180d6a">◆ </a></span>PreAssignment()</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_assignment.html">Assignment</a> *const PreAssignment </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 an assignment used to fix some of the variables of the problem. </p>
|
|
<p >In practice, this assignment locks partial routes of the problem. This can be used in the context of locking the parts of the routes which have already been driven in online routing problems. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01220">1220</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3d81f16de798be60f56cf03cd9b907cf" name="a3d81f16de798be60f56cf03cd9b907cf"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3d81f16de798be60f56cf03cd9b907cf">◆ </a></span>ReadAssignment()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * ReadAssignment </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::string & </td>
|
|
<td class="paramname"><em>file_name</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Reads an assignment from a file and returns the current solution. </p>
|
|
<p >Returns nullptr if the file cannot be opened or if the assignment is not valid. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03687">3687</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a64ae94fd93be72fc5872e9fe27a8c8ab" name="a64ae94fd93be72fc5872e9fe27a8c8ab"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a64ae94fd93be72fc5872e9fe27a8c8ab">◆ </a></span>ReadAssignmentFromRoutes()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * ReadAssignmentFromRoutes </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::vector< std::vector< int64_t > > & </td>
|
|
<td class="paramname"><em>routes</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>ignore_inactive_indices</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Restores the routes as the current solution. </p>
|
|
<p >Returns nullptr if the solution cannot be restored (routes do not contain a valid solution). Note that calling this method will run the solver to assign values to the dimension variables; this may take considerable amount of time, especially when using dimensions with slack. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03831">3831</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa540a1068aef75c041330a2eafccd623" name="aa540a1068aef75c041330a2eafccd623"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa540a1068aef75c041330a2eafccd623">◆ </a></span>RegisterPositiveTransitCallback()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int RegisterPositiveTransitCallback </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_routing_model.html#a5fa8aee5b0c67072dbbb03f1899ec60a">TransitCallback2</a> </td>
|
|
<td class="paramname"><em>callback</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#l01084">1084</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7dd3d77b26ddfc5e981637ee8b83c1ed" name="a7dd3d77b26ddfc5e981637ee8b83c1ed"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7dd3d77b26ddfc5e981637ee8b83c1ed">◆ </a></span>RegisterPositiveUnaryTransitCallback()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int RegisterPositiveUnaryTransitCallback </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_routing_model.html#a204041e5264282d54dfd198011e776d3">TransitCallback1</a> </td>
|
|
<td class="paramname"><em>callback</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#l01050">1050</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a422ce2898045c53fc90d21d8633d4af7" name="a422ce2898045c53fc90d21d8633d4af7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a422ce2898045c53fc90d21d8633d4af7">◆ </a></span>RegisterStateDependentTransitCallback()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int RegisterStateDependentTransitCallback </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_routing_model.html#aba73f2fc54b941bd9233d07cf86b9feb">VariableIndexEvaluator2</a> </td>
|
|
<td class="paramname"><em>callback</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#l01091">1091</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a8c58bbbfc090a581f02d76fabf465b3e" name="a8c58bbbfc090a581f02d76fabf465b3e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8c58bbbfc090a581f02d76fabf465b3e">◆ </a></span>RegisterTransitCallback()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int RegisterTransitCallback </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_routing_model.html#a5fa8aee5b0c67072dbbb03f1899ec60a">TransitCallback2</a> </td>
|
|
<td class="paramname"><em>callback</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#l01058">1058</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="add1a60041c1f8ec87b492635be1c8704" name="add1a60041c1f8ec87b492635be1c8704"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#add1a60041c1f8ec87b492635be1c8704">◆ </a></span>RegisterTransitMatrix()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int RegisterTransitMatrix </td>
|
|
<td>(</td>
|
|
<td class="paramtype">std::vector< std::vector< int64_t > > </td>
|
|
<td class="paramname"><em>values</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#l01031">1031</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="acbab635c68d8a6e0961afae0f606590b" name="acbab635c68d8a6e0961afae0f606590b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#acbab635c68d8a6e0961afae0f606590b">◆ </a></span>RegisterUnaryTransitCallback()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int RegisterUnaryTransitCallback </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_routing_model.html#a204041e5264282d54dfd198011e776d3">TransitCallback1</a> </td>
|
|
<td class="paramname"><em>callback</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#l01023">1023</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a558728d2399a362f2595455653edad02" name="a558728d2399a362f2595455653edad02"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a558728d2399a362f2595455653edad02">◆ </a></span>RegisterUnaryTransitVector()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int RegisterUnaryTransitVector </td>
|
|
<td>(</td>
|
|
<td class="paramtype">std::vector< int64_t > </td>
|
|
<td class="paramname"><em>values</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Registers 'callback' and returns its index. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01012">1012</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="adb0524e488894fa8f88764c74abb31f5" name="adb0524e488894fa8f88764c74abb31f5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#adb0524e488894fa8f88764c74abb31f5">◆ </a></span>RemainingTime()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">absl::Duration RemainingTime </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 time left in the search limit. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01520">1520</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a12cae8fe2487eb93900a24017192ee79" name="a12cae8fe2487eb93900a24017192ee79"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a12cae8fe2487eb93900a24017192ee79">◆ </a></span>ResourceVar()</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> * ResourceVar </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>resource_group</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the resource variable for the given vehicle index in the given resource group. </p>
|
|
<p >If a vehicle doesn't require a resource from the corresponding resource group, then ResourceVar(v, r_g) == -1. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01386">1386</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a86552e6990bac42fb0f1d66754d08aca" name="a86552e6990bac42fb0f1d66754d08aca"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a86552e6990bac42fb0f1d66754d08aca">◆ </a></span>ResourceVars()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector< <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * > & ResourceVars </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>resource_group</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 vehicle resource variables for a given resource group, such that ResourceVars(r_g)[v] is the resource variable for vehicle 'v' in resource group 'r_g'. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01360">1360</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a0d3987c3df07976d19f3165788fc97a9" name="a0d3987c3df07976d19f3165788fc97a9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0d3987c3df07976d19f3165788fc97a9">◆ </a></span>RestoreAssignment()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * RestoreAssignment </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> & </td>
|
|
<td class="paramname"><em>solution</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Restores an assignment as a solution in the routing model and returns the new solution. </p>
|
|
<p >Returns nullptr if the assignment is not valid. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03696">3696</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5b158fd970a1fb0cd98f6c3c324aa7d2" name="a5b158fd970a1fb0cd98f6c3c324aa7d2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5b158fd970a1fb0cd98f6c3c324aa7d2">◆ </a></span>RoutesToAssignment()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool RoutesToAssignment </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::vector< std::vector< int64_t > > & </td>
|
|
<td class="paramname"><em>routes</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>ignore_inactive_indices</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>close_routes</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> *const </td>
|
|
<td class="paramname"><em>assignment</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Fills an assignment from a specification of the routes of the vehicles. </p>
|
|
<p >The routes are specified as lists of variable indices that appear on the routes of the vehicles. The indices of the outer vector in 'routes' correspond to vehicles IDs, the inner vector contains the variable indices on the routes for the given vehicle. The inner vectors must not contain the start and end indices, as these are determined by the routing model. Sets the value of NextVars in the assignment, adding the variables to the assignment if necessary. The method does not touch other variables in the assignment. The method can only be called after the model is closed. With ignore_inactive_indices set to false, this method will fail (return nullptr) in case some of the route contain indices that are deactivated in the model; when set to true, these indices will be skipped. Returns true if routes were successfully loaded. However, such assignment still might not be a valid solution to the routing problem due to more complex constraints; it is advisible to call <a class="el" href="classoperations__research_1_1_routing_model.html#a0b526d33739114e9255ffbe8343efe1a" title="Returns the underlying constraint solver.">solver()</a>-><a class="el" href="namespaceoperations__research_1_1fz.html#a459f0de7d4aaaba9ac406576a5677d8f">CheckSolution()</a> afterwards. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03718">3718</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aaa20e609421302541206a667e0c71f36" name="aaa20e609421302541206a667e0c71f36"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aaa20e609421302541206a667e0c71f36">◆ </a></span>SetAllowedVehiclesForIndex()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetAllowedVehiclesForIndex </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::vector< int > & </td>
|
|
<td class="paramname"><em>vehicles</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>index</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Sets the vehicles which can visit a given node. </p>
|
|
<p >If the node is in a disjunction, this will not prevent it from being unperformed. Specifying an empty vector of vehicles has no effect (all vehicles will be allowed to visit the node). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l02019">2019</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa3a9b4b73781a66cf0095c3d29af87c7" name="aa3a9b4b73781a66cf0095c3d29af87c7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa3a9b4b73781a66cf0095c3d29af87c7">◆ </a></span>SetAmortizedCostFactorsOfAllVehicles()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetAmortizedCostFactorsOfAllVehicles </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>linear_cost_factor</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>quadratic_cost_factor</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>The following methods set the linear and quadratic cost factors of vehicles (must be positive values). </p>
|
|
<p >The default value of these parameters is zero for all vehicles.</p>
|
|
<p >When set, the cost_ of the model will contain terms aiming at reducing the number of vehicles used in the model, by adding the following to the objective for every vehicle v: INDICATOR(v used in the model) * [linear_cost_factor_of_vehicle_[v]</p><ul>
|
|
<li>quadratic_cost_factor_of_vehicle_[v]*(square of length of route v)] i.e. for every used vehicle, we add the linear factor as fixed cost, and subtract the square of the route length multiplied by the quadratic factor. This second term aims at making the routes as dense as possible.</li>
|
|
</ul>
|
|
<p >Sets the linear and quadratic cost factor of all vehicles. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01552">1552</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aaf77a22f4aad202b26d26415f2ad51c7" name="aaf77a22f4aad202b26d26415f2ad51c7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aaf77a22f4aad202b26d26415f2ad51c7">◆ </a></span>SetAmortizedCostFactorsOfVehicle()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetAmortizedCostFactorsOfVehicle </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>linear_cost_factor</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>quadratic_cost_factor</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Sets the linear and quadratic cost factor of the given vehicle. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01560">1560</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab8d61705aa4291d2cd437ba0a7dfccbf" name="ab8d61705aa4291d2cd437ba0a7dfccbf"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab8d61705aa4291d2cd437ba0a7dfccbf">◆ </a></span>SetArcCostEvaluatorOfAllVehicles()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetArcCostEvaluatorOfAllVehicles </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>evaluator_index</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Sets the cost function of the model such that the cost of a segment of a route between node 'from' and 'to' is evaluator(from, to), whatever the route or vehicle performing the route. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01521">1521</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae75d9f49c157b7784fc8baa7d623ee35" name="ae75d9f49c157b7784fc8baa7d623ee35"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae75d9f49c157b7784fc8baa7d623ee35">◆ </a></span>SetArcCostEvaluatorOfVehicle()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetArcCostEvaluatorOfVehicle </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>evaluator_index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Sets the cost function for a given vehicle route. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01528">1528</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac1a2ab630f6b13644ca6853c7893f413" name="ac1a2ab630f6b13644ca6853c7893f413"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac1a2ab630f6b13644ca6853c7893f413">◆ </a></span>SetAssignmentFromOtherModelAssignment()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetAssignmentFromOtherModelAssignment </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * </td>
|
|
<td class="paramname"><em>target_assignment</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_routing_model.html">RoutingModel</a> * </td>
|
|
<td class="paramname"><em>source_model</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * </td>
|
|
<td class="paramname"><em>source_assignment</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Given a "source_model" and its "source_assignment", resets "target_assignment" with the <a class="el" href="classoperations__research_1_1_int_var.html" title="The class IntVar is a subset of IntExpr.">IntVar</a> variables (nexts_, and vehicle_vars_ if costs aren't homogeneous across vehicles) of "this" model, with the values set according to those in "other_assignment". </p>
|
|
<p >The objective_element of target_assignment is set to this->cost_. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03362">3362</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab69145472d51d341f82d3ad29e9c6be2" name="ab69145472d51d341f82d3ad29e9c6be2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab69145472d51d341f82d3ad29e9c6be2">◆ </a></span>SetFirstSolutionEvaluator()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetFirstSolutionEvaluator </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_solver.html#a55d833360c375d45a3c503437de9841c">Solver::IndexEvaluator2</a> </td>
|
|
<td class="paramname"><em>evaluator</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>Takes ownership of evaluator. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01107">1107</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae75b9e0c54aab66cffec86c67df3a1d8" name="ae75b9e0c54aab66cffec86c67df3a1d8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae75b9e0c54aab66cffec86c67df3a1d8">◆ </a></span>SetFixedCostOfAllVehicles()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetFixedCostOfAllVehicles </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>cost</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Sets the fixed cost of all vehicle routes. </p>
|
|
<p >It is equivalent to calling SetFixedCostOfVehicle on all vehicle routes. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01535">1535</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a76b241b39811cd74a0ab6e59ab9f63f2" name="a76b241b39811cd74a0ab6e59ab9f63f2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a76b241b39811cd74a0ab6e59ab9f63f2">◆ </a></span>SetFixedCostOfVehicle()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetFixedCostOfVehicle </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>cost</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Sets the fixed cost of one vehicle route. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l01546">1546</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a82d4266dfd4702907d43f41579ba842e" name="a82d4266dfd4702907d43f41579ba842e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a82d4266dfd4702907d43f41579ba842e">◆ </a></span>SetMaximumNumberOfActiveVehicles()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetMaximumNumberOfActiveVehicles </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>max_active_vehicles</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>Constrains the maximum number of active vehicles, aka the number of vehicles which do not have an empty route. </p>
|
|
<p >For instance, this can be used to limit the number of routes in the case where there are fewer drivers than vehicles and that the fleet of vehicle is heterogeneous. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01038">1038</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3656e594d89a44fb6b35ba8f2d395624" name="a3656e594d89a44fb6b35ba8f2d395624"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3656e594d89a44fb6b35ba8f2d395624">◆ </a></span>SetPickupAndDeliveryPolicyOfAllVehicles()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetPickupAndDeliveryPolicyOfAllVehicles </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_routing_model.html#aa5cff2ee7fbe3a9c5c701bfba7460c83">PickupAndDeliveryPolicy</a> </td>
|
|
<td class="paramname"><em>policy</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Sets the Pickup and delivery policy of all vehicles. </p>
|
|
<p >It is equivalent to calling SetPickupAndDeliveryPolicyOfVehicle on all vehicles. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l02084">2084</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a8bd5bf6b0d1d0c1c5e2470c5f4882a62" name="a8bd5bf6b0d1d0c1c5e2470c5f4882a62"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8bd5bf6b0d1d0c1c5e2470c5f4882a62">◆ </a></span>SetPickupAndDeliveryPolicyOfVehicle()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetPickupAndDeliveryPolicyOfVehicle </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_routing_model.html#aa5cff2ee7fbe3a9c5c701bfba7460c83">PickupAndDeliveryPolicy</a> </td>
|
|
<td class="paramname"><em>policy</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l02078">2078</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="abfa1b833413dee47ab0aa06d8f625fd2" name="abfa1b833413dee47ab0aa06d8f625fd2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#abfa1b833413dee47ab0aa06d8f625fd2">◆ </a></span>SetPrimaryConstrainedDimension()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetPrimaryConstrainedDimension </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::string & </td>
|
|
<td class="paramname"><em>dimension_name</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><a class="el" href="classoperations__research_1_1_set.html">Set</a> the given dimension as "primary constrained". </p>
|
|
<p >As of August 2013, this is only used by <a class="el" href="classoperations__research_1_1_routing_model.html#a78657faa6e076466c745caefdf732970" title="Returns whether the arc from->to1 is more constrained than from->to2, taking into account,...">ArcIsMoreConstrainedThanArc()</a>. "dimension" must be the name of an existing dimension, or be empty, in which case there will not be a primary dimension after this call. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00705">705</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a700982f228080c6278eb5a2f7f06f31d" name="a700982f228080c6278eb5a2f7f06f31d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a700982f228080c6278eb5a2f7f06f31d">◆ </a></span>SetSweepArranger()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetSweepArranger </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_sweep_arranger.html">SweepArranger</a> * </td>
|
|
<td class="paramname"><em>sweep_arranger</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#l00676">676</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7e2d405cde11bc4a08d752d0e669912c" name="a7e2d405cde11bc4a08d752d0e669912c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7e2d405cde11bc4a08d752d0e669912c">◆ </a></span>SetTabuVarsCallback()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetTabuVarsCallback </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_routing_model.html#a0e106a97f0156868f1d1c741b283793e">GetTabuVarsCallback</a> </td>
|
|
<td class="paramname"><em>tabu_var_callback</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#l05665">5665</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a967cdc356518c25283935efe3c0fe799" name="a967cdc356518c25283935efe3c0fe799"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a967cdc356518c25283935efe3c0fe799">◆ </a></span>SetVehicleUsedWhenEmpty()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetVehicleUsedWhenEmpty </td>
|
|
<td>(</td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>is_used</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01089">1089</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6a07d2e1f4a3af4a2c0051ab40a8b788" name="a6a07d2e1f4a3af4a2c0051ab40a8b788"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6a07d2e1f4a3af4a2c0051ab40a8b788">◆ </a></span>SetVisitType()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void SetVisitType </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>type</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1_routing_model.html#a495b53b94a8c31a8f13755962d6c6059">VisitTypePolicy</a> </td>
|
|
<td class="paramname"><em>type_policy</em> </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#l04111">4111</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a572bd92c25ebc67c72137fd59e53f6d6" name="a572bd92c25ebc67c72137fd59e53f6d6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a572bd92c25ebc67c72137fd59e53f6d6">◆ </a></span>Size()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64_t Size </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 number of next variables in the model. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01531">1531</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae3bb9f7055b5dabd24e2ea7c6a377a6a" name="ae3bb9f7055b5dabd24e2ea7c6a377a6a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae3bb9f7055b5dabd24e2ea7c6a377a6a">◆ </a></span>Solve()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * Solve </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * </td>
|
|
<td class="paramname"><em>assignment</em> = <code>nullptr</code></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Solves the current routing model; closes the current model. </p>
|
|
<p >This is equivalent to calling SolveWithParameters(DefaultRoutingSearchParameters()) or SolveFromAssignmentWithParameters(assignment,
|
|
DefaultRoutingSearchParameters()). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03135">3135</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a090a12711254bafc2cc797f8f6b21a8c" name="a090a12711254bafc2cc797f8f6b21a8c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a090a12711254bafc2cc797f8f6b21a8c">◆ </a></span>SolveFromAssignmentsWithParameters()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * SolveFromAssignmentsWithParameters </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::vector< const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * > & </td>
|
|
<td class="paramname"><em>assignments</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const RoutingSearchParameters & </td>
|
|
<td class="paramname"><em>search_parameters</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">std::vector< const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * > * </td>
|
|
<td class="paramname"><em>solutions</em> = <code>nullptr</code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Same as above but will try all assignments in order as first solutions until one succeeds. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03213">3213</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a674ab7782c46ba72034c73932b1dbd38" name="a674ab7782c46ba72034c73932b1dbd38"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a674ab7782c46ba72034c73932b1dbd38">◆ </a></span>SolveFromAssignmentWithParameters()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * SolveFromAssignmentWithParameters </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * </td>
|
|
<td class="paramname"><em>assignment</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const RoutingSearchParameters & </td>
|
|
<td class="paramname"><em>search_parameters</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">std::vector< const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * > * </td>
|
|
<td class="paramname"><em>solutions</em> = <code>nullptr</code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Same as above, except that if assignment is not null, it will be used as the initial solution. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03206">3206</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a0b526d33739114e9255ffbe8343efe1a" name="a0b526d33739114e9255ffbe8343efe1a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0b526d33739114e9255ffbe8343efe1a">◆ </a></span>solver()</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_solver.html">Solver</a> * solver </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 underlying constraint solver. </p>
|
|
<p >Can be used to add extra constraints and/or modify search algorithms. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01511">1511</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a8c5267a8f35e062c163b61bcae31857b" name="a8c5267a8f35e062c163b61bcae31857b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8c5267a8f35e062c163b61bcae31857b">◆ </a></span>SolveWithParameters()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * SolveWithParameters </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const RoutingSearchParameters & </td>
|
|
<td class="paramname"><em>search_parameters</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">std::vector< const <a class="el" href="classoperations__research_1_1_assignment.html">Assignment</a> * > * </td>
|
|
<td class="paramname"><em>solutions</em> = <code>nullptr</code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Solves the current routing model with the given parameters. </p>
|
|
<p >If 'solutions' is specified, it will contain the k best solutions found during the search (from worst to best, including the one returned by this method), where k corresponds to the 'number_of_solutions_to_collect' in 'search_parameters'. Note that the <a class="el" href="classoperations__research_1_1_assignment.html" title="An Assignment is a variable -> domains mapping, used to report solutions to the user.">Assignment</a> returned by the method and the ones in solutions are owned by the underlying solver and should not be deleted. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03140">3140</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa650ea2c539fab98337ae2f6ca553f3d" name="aa650ea2c539fab98337ae2f6ca553f3d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa650ea2c539fab98337ae2f6ca553f3d">◆ </a></span>Start()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64_t Start </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Model inspection. </p>
|
|
<p >Returns the variable index of the starting node of a vehicle route. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01333">1333</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a903045a090a5c25dfd55fafeec7678ca" name="a903045a090a5c25dfd55fafeec7678ca"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a903045a090a5c25dfd55fafeec7678ca">◆ </a></span>StateDependentTransitCallback()</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#aba73f2fc54b941bd9233d07cf86b9feb">VariableIndexEvaluator2</a> & StateDependentTransitCallback </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>callback_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#l00517">517</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="adb1490a44086db009cdb51f854a02a65" name="adb1490a44086db009cdb51f854a02a65"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#adb1490a44086db009cdb51f854a02a65">◆ </a></span>status()</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#a67a0db04d321a74b7e7fcfd3f1a3f70b">Status</a> status </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 current status of the routing model. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01196">1196</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a641eb9492d9e1682b05fd882635fcfd7" name="a641eb9492d9e1682b05fd882635fcfd7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a641eb9492d9e1682b05fd882635fcfd7">◆ </a></span>sweep_arranger()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1_sweep_arranger.html">SweepArranger</a> * sweep_arranger </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the sweep arranger to be used by routing heuristics. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l00680">680</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a0ceffe3b4741e0075a7be69d5d539ec4" name="a0ceffe3b4741e0075a7be69d5d539ec4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0ceffe3b4741e0075a7be69d5d539ec4">◆ </a></span>TransitCallback()</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">TransitCallback2</a> & TransitCallback </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>callback_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#l00509">509</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7bcff3e4ab28854695610b340d5d11c3" name="a7bcff3e4ab28854695610b340d5d11c3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7bcff3e4ab28854695610b340d5d11c3">◆ </a></span>UnaryTransitCallbackOrNull()</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">TransitCallback1</a> & UnaryTransitCallbackOrNull </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>callback_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#l00513">513</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aae1975baf3d895a6503de44d872ecb1e" name="aae1975baf3d895a6503de44d872ecb1e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aae1975baf3d895a6503de44d872ecb1e">◆ </a></span>UnperformedPenalty()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64_t UnperformedPenalty </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>var_index</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Get the "unperformed" penalty of a node. </p>
|
|
<p >This is only well defined if the node is only part of a single Disjunction, and that disjunction has a penalty. For forced active nodes returns max int64_t. In all other cases, this returns 0. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l04271">4271</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9285d707cc3302c913f5c88697743947" name="a9285d707cc3302c913f5c88697743947"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9285d707cc3302c913f5c88697743947">◆ </a></span>UnperformedPenaltyOrValue()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64_t UnperformedPenaltyOrValue </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>default_value</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"><em>var_index</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Same as above except that it returns default_value instead of 0 when penalty is not well defined (default value is passed as first argument to simplify the usage of the method in a callback). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l04275">4275</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aeb9d2afe2e9d5bd929aad759f37e4938" name="aeb9d2afe2e9d5bd929aad759f37e4938"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aeb9d2afe2e9d5bd929aad759f37e4938">◆ </a></span>VehicleIndex()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int VehicleIndex </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </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>Returns the vehicle of the given start/end index, and -1 if the given index is not a vehicle start/end. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01342">1342</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af3614e694427b794c6faa1fcd39a7c43" name="af3614e694427b794c6faa1fcd39a7c43"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af3614e694427b794c6faa1fcd39a7c43">◆ </a></span>VehicleRouteConsideredVar()</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> * VehicleRouteConsideredVar </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>vehicle</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the variable specifying whether or not the given vehicle route is considered for costs and constraints. </p>
|
|
<p >It will be equal to 1 iff the route of the vehicle is not empty OR vehicle_used_when_empty_[vehicle] is true. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01377">1377</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa9e7ba89833775f29889744fe9480d29" name="aa9e7ba89833775f29889744fe9480d29"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa9e7ba89833775f29889744fe9480d29">◆ </a></span>vehicles()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int vehicles </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 number of vehicle routes in the model. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01529">1529</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a43c00b1c44d7f5bec9287ce60fadef52" name="a43c00b1c44d7f5bec9287ce60fadef52"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a43c00b1c44d7f5bec9287ce60fadef52">◆ </a></span>VehicleVar()</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> * VehicleVar </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </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>Returns the vehicle variable of the node corresponding to index. </p>
|
|
<p >Note that VehicleVar(index) == -1 is equivalent to ActiveVar(index) == 0. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01382">1382</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2323c80745919399f8665a07beab1451" name="a2323c80745919399f8665a07beab1451"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2323c80745919399f8665a07beab1451">◆ </a></span>VehicleVars()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector< <a class="el" href="classoperations__research_1_1_int_var.html">IntVar</a> * > & VehicleVars </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 all vehicle variables of the model, such that VehicleVars(i) is the vehicle variable of the node corresponding to i. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l01356">1356</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="acfcef421e8c8cd243157543f741d6a73" name="acfcef421e8c8cd243157543f741d6a73"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#acfcef421e8c8cd243157543f741d6a73">◆ </a></span>WriteAssignment()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool WriteAssignment </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::string & </td>
|
|
<td class="paramname"><em>file_name</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Writes the current solution to a file containing an AssignmentProto. </p>
|
|
<p >Returns false if the file cannot be opened or if there is no current solution. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8cc_source.html#l03678">3678</a> of file <a class="el" href="routing_8cc_source.html">routing.cc</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Data Documentation</h2>
|
|
<a id="ae00630e36d2d8a2fa7eb4743a65e80d1" name="ae00630e36d2d8a2fa7eb4743a65e80d1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae00630e36d2d8a2fa7eb4743a65e80d1">◆ </a></span>kNoDimension</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#a966f3010581e2a82e0b1e550667d8bce">RoutingModel::DimensionIndex</a> kNoDimension</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Constant used to express the "no dimension" index, returned when a dimension name does not correspond to an actual dimension. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00488">488</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae5a61ca8a5a897aa6c4ce5c466e8f45f" name="ae5a61ca8a5a897aa6c4ce5c466e8f45f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae5a61ca8a5a897aa6c4ce5c466e8f45f">◆ </a></span>kNoDisjunction</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#afa7cbbd4db2dd5d0bec3393efc9ebac1">RoutingModel::DisjunctionIndex</a> kNoDisjunction</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Constant used to express the "no disjunction" index, returned when a node does not appear in any disjunction. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00484">484</a> of file <a class="el" href="routing_8h_source.html">routing.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5f3df49299b1aaad3bca40b14291aa79" name="a5f3df49299b1aaad3bca40b14291aa79"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5f3df49299b1aaad3bca40b14291aa79">◆ </a></span>kNoPenalty</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const int64_t kNoPenalty = -1</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Constant used to express a hard constraint instead of a soft penalty. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="routing_8h_source.html#l00480">480</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__flow_8cc_source.html">routing_flow.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_model.html">RoutingModel</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.3 </li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|