Files
ortools-clone/docs/cpp/classoperations__research_1_1MakeRelocateNeighborsOperator.html
2020-09-01 16:01:06 +02:00

2965 lines
174 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.8.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>OR-Tools: MakeRelocateNeighborsOperator</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="styleSheet.tmp.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="orLogo.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">OR-Tools
&#160;<span id="projectnumber">8.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classoperations__research_1_1MakeRelocateNeighborsOperator.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="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classoperations__research_1_1MakeRelocateNeighborsOperator-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">MakeRelocateNeighborsOperator</div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="classoperations__research_1_1Relocate.html">Relocate</a> neighborhood which moves chains of neighbors. </p>
<p>The operator starts by relocating a node n after a node m, then continues moving nodes which were after n as long as the "cost" added is less than the "cost" of the arc (m, n). If the new chain doesn't respect the domain of next variables, it will try reordering the nodes. Possible neighbors for path 1 -&gt; A -&gt; B -&gt; C -&gt; D -&gt; E -&gt; 2 (where (1, 2) are first and last nodes of the path and can therefore not be moved, A must be performed before B, and A, D and E are located at the same place): 1 -&gt; A -&gt; C -&gt; [B] -&gt; D -&gt; E -&gt; 2 1 -&gt; A -&gt; C -&gt; D -&gt; [B] -&gt; E -&gt; 2 1 -&gt; A -&gt; C -&gt; D -&gt; E -&gt; [B] -&gt; 2 1 -&gt; A -&gt; B -&gt; D -&gt; [C] -&gt; E -&gt; 2 1 -&gt; A -&gt; B -&gt; D -&gt; E -&gt; [C] -&gt; 2 1 -&gt; A -&gt; [D] -&gt; [E] -&gt; B -&gt; C -&gt; 2 1 -&gt; A -&gt; B -&gt; [D] -&gt; [E] -&gt; C -&gt; 2 1 -&gt; A -&gt; [E] -&gt; B -&gt; C -&gt; D -&gt; 2 1 -&gt; A -&gt; B -&gt; [E] -&gt; C -&gt; D -&gt; 2 1 -&gt; A -&gt; B -&gt; C -&gt; [E] -&gt; D -&gt; 2 This operator is extremely useful to move chains of nodes which are located at the same place (for instance nodes part of a same stop). </p>
<p class="definition">Definition at line <a class="el" href="routing__neighborhoods_8h_source.html#l00047">47</a> of file <a class="el" href="routing__neighborhoods_8h_source.html">routing_neighborhoods.h</a>.</p>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a971457539d3fa9018e98ff3cdb6fa8e8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MakeRelocateNeighborsOperator.html#a971457539d3fa9018e98ff3cdb6fa8e8">MakeRelocateNeighborsOperator</a> (const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; IntVar * &gt; &amp;secondary_vars, std::function&lt; int(<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>)&gt; start_empty_path_class, <a class="el" href="namespaceoperations__research.html#ab35e9f27307e9c5273c9d77fcf30de0e">RoutingTransitCallback2</a> arc_evaluator)</td></tr>
<tr class="separator:a971457539d3fa9018e98ff3cdb6fa8e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac404bade2c0081928aaf6f29341907b4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MakeRelocateNeighborsOperator.html#ac404bade2c0081928aaf6f29341907b4">~MakeRelocateNeighborsOperator</a> () override</td></tr>
<tr class="separator:ac404bade2c0081928aaf6f29341907b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24ea165f00f8e15de94958fc804ff209"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MakeRelocateNeighborsOperator.html#a24ea165f00f8e15de94958fc804ff209">MakeNeighbor</a> () override</td></tr>
<tr class="separator:a24ea165f00f8e15de94958fc804ff209"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed804747c45a7e1caf81461f9e45dd91"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MakeRelocateNeighborsOperator.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a> () const override</td></tr>
<tr class="separator:aed804747c45a7e1caf81461f9e45dd91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af82f4acaed7bb39d568e689a9caa63d5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#af82f4acaed7bb39d568e689a9caa63d5">Reset</a> () override</td></tr>
<tr class="separator:af82f4acaed7bb39d568e689a9caa63d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8d4a4b8ea73184cedcc0be51f6a3921"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#aa8d4a4b8ea73184cedcc0be51f6a3921">SkipUnchanged</a> (int <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>) const override</td></tr>
<tr class="separator:aa8d4a4b8ea73184cedcc0be51f6a3921"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8f198c7897dd232096df08f2123582a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#aa8f198c7897dd232096df08f2123582a">Next</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> node) const</td></tr>
<tr class="memdesc:aa8f198c7897dd232096df08f2123582a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the node after node in the current delta. <a href="classoperations__research_1_1PathOperator.html#aa8f198c7897dd232096df08f2123582a">More...</a><br /></td></tr>
<tr class="separator:aa8f198c7897dd232096df08f2123582a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0decf38e47940df0bf389bd3e8ba173"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#aa0decf38e47940df0bf389bd3e8ba173">Prev</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> node) const</td></tr>
<tr class="memdesc:aa0decf38e47940df0bf389bd3e8ba173"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the node before node in the current delta. <a href="classoperations__research_1_1PathOperator.html#aa0decf38e47940df0bf389bd3e8ba173">More...</a><br /></td></tr>
<tr class="separator:aa0decf38e47940df0bf389bd3e8ba173"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae507915e833da66ed7371b87f6fc61ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#ae507915e833da66ed7371b87f6fc61ff">Path</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> node) const</td></tr>
<tr class="memdesc:ae507915e833da66ed7371b87f6fc61ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the index of the path to which node belongs in the current delta. <a href="classoperations__research_1_1PathOperator.html#ae507915e833da66ed7371b87f6fc61ff">More...</a><br /></td></tr>
<tr class="separator:ae507915e833da66ed7371b87f6fc61ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a208d45797eebd7cad439cc43b049103d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a208d45797eebd7cad439cc43b049103d">number_of_nexts</a> () const</td></tr>
<tr class="memdesc:a208d45797eebd7cad439cc43b049103d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of next variables. <a href="classoperations__research_1_1PathOperator.html#a208d45797eebd7cad439cc43b049103d">More...</a><br /></td></tr>
<tr class="separator:a208d45797eebd7cad439cc43b049103d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b47576627076cc054924a89a08f69a6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVarLocalSearchOperator.html#a2b47576627076cc054924a89a08f69a6">MakeNextNeighbor</a> (Assignment *<a class="el" href="resource_8cc.html#a73461c37822b6ebb75b54ba1a9ffb442">delta</a>, Assignment *deltadelta) override</td></tr>
<tr class="memdesc:a2b47576627076cc054924a89a08f69a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Redefines MakeNextNeighbor to export a simpler interface. <a href="classoperations__research_1_1IntVarLocalSearchOperator.html#a2b47576627076cc054924a89a08f69a6">More...</a><br /></td></tr>
<tr class="separator:a2b47576627076cc054924a89a08f69a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35de616bef50b1661e3133761f7260e1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a35de616bef50b1661e3133761f7260e1">HoldsDelta</a> () const override</td></tr>
<tr class="separator:a35de616bef50b1661e3133761f7260e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e1cf9d9c4228f22482c4ee6c58951a8"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1LocalSearchOperator.html#a1e1cf9d9c4228f22482c4ee6c58951a8">HoldsDelta</a> () const</td></tr>
<tr class="separator:a1e1cf9d9c4228f22482c4ee6c58951a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeacffb05338262fd232dc77fed8cc586"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#aeacffb05338262fd232dc77fed8cc586">Start</a> (const Assignment *assignment) override</td></tr>
<tr class="memdesc:aeacffb05338262fd232dc77fed8cc586"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method should not be overridden. <a href="classoperations__research_1_1VarLocalSearchOperator.html#aeacffb05338262fd232dc77fed8cc586">More...</a><br /></td></tr>
<tr class="separator:aeacffb05338262fd232dc77fed8cc586"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa21d5f9b4adc94167e3a466095d82fd5"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#aa21d5f9b4adc94167e3a466095d82fd5">IsIncremental</a> () const</td></tr>
<tr class="separator:aa21d5f9b4adc94167e3a466095d82fd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24926108b770033792d015cb86aeffb3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a24926108b770033792d015cb86aeffb3">Size</a> () const</td></tr>
<tr class="separator:a24926108b770033792d015cb86aeffb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d7b37de1f314b5dddb025a11d57e1e0"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a8d7b37de1f314b5dddb025a11d57e1e0">Value</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>) const</td></tr>
<tr class="memdesc:a8d7b37de1f314b5dddb025a11d57e1e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the value in the current assignment of the variable of given index. <a href="classoperations__research_1_1VarLocalSearchOperator.html#a8d7b37de1f314b5dddb025a11d57e1e0">More...</a><br /></td></tr>
<tr class="separator:a8d7b37de1f314b5dddb025a11d57e1e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8beb998a68abceb71f87d3bc8a35bd78"><td class="memItemLeft" align="right" valign="top">IntVar *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a8beb998a68abceb71f87d3bc8a35bd78">Var</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>) const</td></tr>
<tr class="memdesc:a8beb998a68abceb71f87d3bc8a35bd78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the variable of given index. <a href="classoperations__research_1_1VarLocalSearchOperator.html#a8beb998a68abceb71f87d3bc8a35bd78">More...</a><br /></td></tr>
<tr class="separator:a8beb998a68abceb71f87d3bc8a35bd78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0cd6b9a608c61a52933fd53d53873af"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#af0cd6b9a608c61a52933fd53d53873af">OldValue</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>) const</td></tr>
<tr class="separator:af0cd6b9a608c61a52933fd53d53873af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5f56c8c139f332cacfbd598c269887a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#af5f56c8c139f332cacfbd598c269887a">SetValue</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>, const <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &amp;<a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="separator:af5f56c8c139f332cacfbd598c269887a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff9b327f2a97858ac30a718bba4029c0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#aff9b327f2a97858ac30a718bba4029c0">Activated</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>) const</td></tr>
<tr class="separator:aff9b327f2a97858ac30a718bba4029c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebf766478091209b6170b5de179f9067"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#aebf766478091209b6170b5de179f9067">Activate</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>)</td></tr>
<tr class="separator:aebf766478091209b6170b5de179f9067"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcdbe360c416a4cbb906188a13860d7f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#abcdbe360c416a4cbb906188a13860d7f">Deactivate</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>)</td></tr>
<tr class="separator:abcdbe360c416a4cbb906188a13860d7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabafb6d8996f5101db26b30efff406b0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#aabafb6d8996f5101db26b30efff406b0">ApplyChanges</a> (Assignment *<a class="el" href="resource_8cc.html#a73461c37822b6ebb75b54ba1a9ffb442">delta</a>, Assignment *deltadelta) const</td></tr>
<tr class="separator:aabafb6d8996f5101db26b30efff406b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06eb05df61a9b9fce744928947f43d89"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a06eb05df61a9b9fce744928947f43d89">RevertChanges</a> (bool incremental)</td></tr>
<tr class="separator:a06eb05df61a9b9fce744928947f43d89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2af73491ab2aa6804b443d442026a5e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#ae2af73491ab2aa6804b443d442026a5e">AddVars</a> (const std::vector&lt; IntVar * &gt; &amp;vars)</td></tr>
<tr class="separator:ae2af73491ab2aa6804b443d442026a5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2030c5ed835cf4196e8cab0033a6d7bd"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classoperations__research_1_1LocalSearchOperator.html">LocalSearchOperator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1LocalSearchOperator.html#a2030c5ed835cf4196e8cab0033a6d7bd">Self</a> () const</td></tr>
<tr class="separator:a2030c5ed835cf4196e8cab0033a6d7bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b0063f805d92ed061848616d08f4664"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1LocalSearchOperator.html#a1b0063f805d92ed061848616d08f4664">HasFragments</a> () const</td></tr>
<tr class="separator:a1b0063f805d92ed061848616d08f4664"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:ad14cde260686e5b4174e691675df3139"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#ad14cde260686e5b4174e691675df3139">MakeOneNeighbor</a> () override</td></tr>
<tr class="memdesc:ad14cde260686e5b4174e691675df3139"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method should not be overridden. Override <a class="el" href="classoperations__research_1_1PathOperator.html#a10ae14d6daad9088377260420952f814">MakeNeighbor()</a> instead. <a href="classoperations__research_1_1PathOperator.html#ad14cde260686e5b4174e691675df3139">More...</a><br /></td></tr>
<tr class="separator:ad14cde260686e5b4174e691675df3139"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1223e0b8dbca7cd9c296fc4de65080b2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a1223e0b8dbca7cd9c296fc4de65080b2">OnNodeInitialization</a> ()</td></tr>
<tr class="memdesc:a1223e0b8dbca7cd9c296fc4de65080b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by OnStart() after initializing node information. <a href="classoperations__research_1_1PathOperator.html#a1223e0b8dbca7cd9c296fc4de65080b2">More...</a><br /></td></tr>
<tr class="separator:a1223e0b8dbca7cd9c296fc4de65080b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a124f2992de28f11a185072ba4df5441b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a124f2992de28f11a185072ba4df5441b">BaseNode</a> (int i) const</td></tr>
<tr class="memdesc:a124f2992de28f11a185072ba4df5441b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the ith base node of the operator. <a href="classoperations__research_1_1PathOperator.html#a124f2992de28f11a185072ba4df5441b">More...</a><br /></td></tr>
<tr class="separator:a124f2992de28f11a185072ba4df5441b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a752100eca408efb4a9392f16f21f9cf7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a752100eca408efb4a9392f16f21f9cf7">BaseAlternative</a> (int i) const</td></tr>
<tr class="memdesc:a752100eca408efb4a9392f16f21f9cf7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the alternative for the ith base node. <a href="classoperations__research_1_1PathOperator.html#a752100eca408efb4a9392f16f21f9cf7">More...</a><br /></td></tr>
<tr class="separator:a752100eca408efb4a9392f16f21f9cf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a088d80df6df63def37e43b73dc9b1d80"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a088d80df6df63def37e43b73dc9b1d80">BaseAlternativeNode</a> (int i) const</td></tr>
<tr class="memdesc:a088d80df6df63def37e43b73dc9b1d80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the alternative node for the ith base node. <a href="classoperations__research_1_1PathOperator.html#a088d80df6df63def37e43b73dc9b1d80">More...</a><br /></td></tr>
<tr class="separator:a088d80df6df63def37e43b73dc9b1d80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bc40a93b9ba709cfb3ca78cea7435e1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a5bc40a93b9ba709cfb3ca78cea7435e1">BaseSiblingAlternative</a> (int i) const</td></tr>
<tr class="memdesc:a5bc40a93b9ba709cfb3ca78cea7435e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the alternative for the sibling of the ith base node. <a href="classoperations__research_1_1PathOperator.html#a5bc40a93b9ba709cfb3ca78cea7435e1">More...</a><br /></td></tr>
<tr class="separator:a5bc40a93b9ba709cfb3ca78cea7435e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac41fc10e374ef9221ffca09da9e1c981"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#ac41fc10e374ef9221ffca09da9e1c981">BaseSiblingAlternativeNode</a> (int i) const</td></tr>
<tr class="memdesc:ac41fc10e374ef9221ffca09da9e1c981"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the alternative node for the sibling of the ith base node. <a href="classoperations__research_1_1PathOperator.html#ac41fc10e374ef9221ffca09da9e1c981">More...</a><br /></td></tr>
<tr class="separator:ac41fc10e374ef9221ffca09da9e1c981"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4e3bf1bd6d335ad6be0b0d100e3bd6a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#aa4e3bf1bd6d335ad6be0b0d100e3bd6a">StartNode</a> (int i) const</td></tr>
<tr class="memdesc:aa4e3bf1bd6d335ad6be0b0d100e3bd6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the start node of the ith base node. <a href="classoperations__research_1_1PathOperator.html#aa4e3bf1bd6d335ad6be0b0d100e3bd6a">More...</a><br /></td></tr>
<tr class="separator:aa4e3bf1bd6d335ad6be0b0d100e3bd6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61caffe27afd7d6e0c94f1907f1b3b53"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a61caffe27afd7d6e0c94f1907f1b3b53">path_starts</a> () const</td></tr>
<tr class="memdesc:a61caffe27afd7d6e0c94f1907f1b3b53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the vector of path start nodes. <a href="classoperations__research_1_1PathOperator.html#a61caffe27afd7d6e0c94f1907f1b3b53">More...</a><br /></td></tr>
<tr class="separator:a61caffe27afd7d6e0c94f1907f1b3b53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11b8ad366b686132736854e7029e7bff"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a11b8ad366b686132736854e7029e7bff">PathClass</a> (int i) const</td></tr>
<tr class="memdesc:a11b8ad366b686132736854e7029e7bff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the class of the path of the ith base node. <a href="classoperations__research_1_1PathOperator.html#a11b8ad366b686132736854e7029e7bff">More...</a><br /></td></tr>
<tr class="separator:a11b8ad366b686132736854e7029e7bff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38b76e1e3a147226d4981b05e4ec2c55"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a38b76e1e3a147226d4981b05e4ec2c55">RestartAtPathStartOnSynchronize</a> ()</td></tr>
<tr class="memdesc:a38b76e1e3a147226d4981b05e4ec2c55"><td class="mdescLeft">&#160;</td><td class="mdescRight">When the operator is being synchronized with a new solution (when <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#aeacffb05338262fd232dc77fed8cc586" title="This method should not be overridden.">Start()</a> is called), returns true to restart the exploration of the neighborhood from the start of the last paths explored; returns false to restart the exploration at the last nodes visited. <a href="classoperations__research_1_1PathOperator.html#a38b76e1e3a147226d4981b05e4ec2c55">More...</a><br /></td></tr>
<tr class="separator:a38b76e1e3a147226d4981b05e4ec2c55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb210d557c5ff1bc78ae493364868bb5"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#adb210d557c5ff1bc78ae493364868bb5">OnSamePathAsPreviousBase</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> base_index)</td></tr>
<tr class="memdesc:adb210d557c5ff1bc78ae493364868bb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if a base node has to be on the same path as the "previous" base node (base node of index base_index - 1). <a href="classoperations__research_1_1PathOperator.html#adb210d557c5ff1bc78ae493364868bb5">More...</a><br /></td></tr>
<tr class="separator:adb210d557c5ff1bc78ae493364868bb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7ffd8565f01cb9eb72fcc94204327a2"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#ac7ffd8565f01cb9eb72fcc94204327a2">GetBaseNodeRestartPosition</a> (int base_index)</td></tr>
<tr class="memdesc:ac7ffd8565f01cb9eb72fcc94204327a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the index of the node to which the base node of index base_index must be set to when it reaches the end of a path. <a href="classoperations__research_1_1PathOperator.html#ac7ffd8565f01cb9eb72fcc94204327a2">More...</a><br /></td></tr>
<tr class="separator:ac7ffd8565f01cb9eb72fcc94204327a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c928a4ff549033f6b44e423ec61b0d5"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a2c928a4ff549033f6b44e423ec61b0d5">SetNextBaseToIncrement</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> base_index)</td></tr>
<tr class="memdesc:a2c928a4ff549033f6b44e423ec61b0d5"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classoperations__research_1_1Set.html">Set</a> the next base to increment on next iteration. <a href="classoperations__research_1_1PathOperator.html#a2c928a4ff549033f6b44e423ec61b0d5">More...</a><br /></td></tr>
<tr class="separator:a2c928a4ff549033f6b44e423ec61b0d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3062cf7eeb53d8cc4cc02e3359d27531"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a3062cf7eeb53d8cc4cc02e3359d27531">ConsiderAlternatives</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> base_index) const</td></tr>
<tr class="memdesc:a3062cf7eeb53d8cc4cc02e3359d27531"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates if alternatives should be considered when iterating over base nodes. <a href="classoperations__research_1_1PathOperator.html#a3062cf7eeb53d8cc4cc02e3359d27531">More...</a><br /></td></tr>
<tr class="separator:a3062cf7eeb53d8cc4cc02e3359d27531"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e645c04c651a5cd0c5b1474c503713c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a6e645c04c651a5cd0c5b1474c503713c">OldNext</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> node) const</td></tr>
<tr class="separator:a6e645c04c651a5cd0c5b1474c503713c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae73fcc01833bc6a858e474320d37293f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#ae73fcc01833bc6a858e474320d37293f">OldPrev</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> node) const</td></tr>
<tr class="separator:ae73fcc01833bc6a858e474320d37293f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3979c66b95f3836e8257f41924952a8c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a3979c66b95f3836e8257f41924952a8c">OldPath</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> node) const</td></tr>
<tr class="separator:a3979c66b95f3836e8257f41924952a8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afce7de594ac758357d23d1e4b087ebf0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#afce7de594ac758357d23d1e4b087ebf0">MoveChain</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> before_chain, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> chain_end, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> destination)</td></tr>
<tr class="memdesc:afce7de594ac758357d23d1e4b087ebf0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Moves the chain starting after the node before_chain and ending at the node chain_end after the node destination. <a href="classoperations__research_1_1PathOperator.html#afce7de594ac758357d23d1e4b087ebf0">More...</a><br /></td></tr>
<tr class="separator:afce7de594ac758357d23d1e4b087ebf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62997309da1aeeee36192ffa09700eec"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a62997309da1aeeee36192ffa09700eec">ReverseChain</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> before_chain, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> after_chain, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> *chain_last)</td></tr>
<tr class="memdesc:a62997309da1aeeee36192ffa09700eec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverses the chain starting after before_chain and ending before after_chain. <a href="classoperations__research_1_1PathOperator.html#a62997309da1aeeee36192ffa09700eec">More...</a><br /></td></tr>
<tr class="separator:a62997309da1aeeee36192ffa09700eec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b1a0ecf6778a8018576d94b3c73930b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a8b1a0ecf6778a8018576d94b3c73930b">MakeActive</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> node, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> destination)</td></tr>
<tr class="memdesc:a8b1a0ecf6778a8018576d94b3c73930b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert the inactive node after destination. <a href="classoperations__research_1_1PathOperator.html#a8b1a0ecf6778a8018576d94b3c73930b">More...</a><br /></td></tr>
<tr class="separator:a8b1a0ecf6778a8018576d94b3c73930b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfe2c499f99ed814dbdd8e75db63ae3e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#adfe2c499f99ed814dbdd8e75db63ae3e">MakeChainInactive</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> before_chain, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> chain_end)</td></tr>
<tr class="memdesc:adfe2c499f99ed814dbdd8e75db63ae3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Makes the nodes on the chain starting after before_chain and ending at chain_end inactive. <a href="classoperations__research_1_1PathOperator.html#adfe2c499f99ed814dbdd8e75db63ae3e">More...</a><br /></td></tr>
<tr class="separator:adfe2c499f99ed814dbdd8e75db63ae3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a111c4d7dd49f12c67d97d16e9c473c79"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a111c4d7dd49f12c67d97d16e9c473c79">SwapActiveAndInactive</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> active, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> inactive)</td></tr>
<tr class="memdesc:a111c4d7dd49f12c67d97d16e9c473c79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replaces active by inactive in the current path, making active inactive. <a href="classoperations__research_1_1PathOperator.html#a111c4d7dd49f12c67d97d16e9c473c79">More...</a><br /></td></tr>
<tr class="separator:a111c4d7dd49f12c67d97d16e9c473c79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75322f62fb4d3c731035035f7d6aa3a4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a75322f62fb4d3c731035035f7d6aa3a4">SetNext</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> from, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> to, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> path)</td></tr>
<tr class="memdesc:a75322f62fb4d3c731035035f7d6aa3a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets 'to' to be the node after 'from' on the given path. <a href="classoperations__research_1_1PathOperator.html#a75322f62fb4d3c731035035f7d6aa3a4">More...</a><br /></td></tr>
<tr class="separator:a75322f62fb4d3c731035035f7d6aa3a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a255540efe5286aa6e55bf46894cc10f5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a255540efe5286aa6e55bf46894cc10f5">IsPathEnd</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> node) const</td></tr>
<tr class="memdesc:a255540efe5286aa6e55bf46894cc10f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if node is the last node on the path; defined by the fact that node is outside the range of the variable array. <a href="classoperations__research_1_1PathOperator.html#a255540efe5286aa6e55bf46894cc10f5">More...</a><br /></td></tr>
<tr class="separator:a255540efe5286aa6e55bf46894cc10f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb722ca1750c9814d2d2fc5c9c2f1a11"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#abb722ca1750c9814d2d2fc5c9c2f1a11">IsPathStart</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> node) const</td></tr>
<tr class="memdesc:abb722ca1750c9814d2d2fc5c9c2f1a11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if node is the first node on the path. <a href="classoperations__research_1_1PathOperator.html#abb722ca1750c9814d2d2fc5c9c2f1a11">More...</a><br /></td></tr>
<tr class="separator:abb722ca1750c9814d2d2fc5c9c2f1a11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15db4ae271ce553727a298dd0dbba5e7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a15db4ae271ce553727a298dd0dbba5e7">IsInactive</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> node) const</td></tr>
<tr class="memdesc:a15db4ae271ce553727a298dd0dbba5e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if node is inactive. <a href="classoperations__research_1_1PathOperator.html#a15db4ae271ce553727a298dd0dbba5e7">More...</a><br /></td></tr>
<tr class="separator:a15db4ae271ce553727a298dd0dbba5e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1c162cfc11069e25becbd53cdce7def"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#ae1c162cfc11069e25becbd53cdce7def">InitPosition</a> () const</td></tr>
<tr class="memdesc:ae1c162cfc11069e25becbd53cdce7def"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the operator needs to restart its initial position at each call to <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#aeacffb05338262fd232dc77fed8cc586" title="This method should not be overridden.">Start()</a> <a href="classoperations__research_1_1PathOperator.html#ae1c162cfc11069e25becbd53cdce7def">More...</a><br /></td></tr>
<tr class="separator:ae1c162cfc11069e25becbd53cdce7def"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab661b8d8259dac8444804d91809fbb0a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#ab661b8d8259dac8444804d91809fbb0a">ResetPosition</a> ()</td></tr>
<tr class="memdesc:ab661b8d8259dac8444804d91809fbb0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the position of the operator to its position when <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#aeacffb05338262fd232dc77fed8cc586" title="This method should not be overridden.">Start()</a> was last called; this can be used to let an operator iterate more than once over the paths. <a href="classoperations__research_1_1PathOperator.html#ab661b8d8259dac8444804d91809fbb0a">More...</a><br /></td></tr>
<tr class="separator:ab661b8d8259dac8444804d91809fbb0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ffdefbb2872bb54b8370ee590576812"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a9ffdefbb2872bb54b8370ee590576812">AddAlternativeSet</a> (const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;alternative_set)</td></tr>
<tr class="memdesc:a9ffdefbb2872bb54b8370ee590576812"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handling node alternatives. <a href="classoperations__research_1_1PathOperator.html#a9ffdefbb2872bb54b8370ee590576812">More...</a><br /></td></tr>
<tr class="separator:a9ffdefbb2872bb54b8370ee590576812"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e42ba88a40563030fe775d5eaec8d55"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a7e42ba88a40563030fe775d5eaec8d55">AddPairAlternativeSets</a> (const std::vector&lt; std::pair&lt; std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt;, std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt;&gt;&gt; &amp;pair_alternative_sets)</td></tr>
<tr class="memdesc:a7e42ba88a40563030fe775d5eaec8d55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds all sets of node alternatives of a vector of alternative pairs. <a href="classoperations__research_1_1PathOperator.html#a7e42ba88a40563030fe775d5eaec8d55">More...</a><br /></td></tr>
<tr class="separator:a7e42ba88a40563030fe775d5eaec8d55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3824a2c47ee3213ab462c66b2acb161"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#af3824a2c47ee3213ab462c66b2acb161">GetActiveInAlternativeSet</a> (int alternative_index) const</td></tr>
<tr class="memdesc:af3824a2c47ee3213ab462c66b2acb161"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the active node in the given alternative set. <a href="classoperations__research_1_1PathOperator.html#af3824a2c47ee3213ab462c66b2acb161">More...</a><br /></td></tr>
<tr class="separator:af3824a2c47ee3213ab462c66b2acb161"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3e073f632d3f5b7b7b0fb39380c49c6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#aa3e073f632d3f5b7b7b0fb39380c49c6">GetActiveAlternativeNode</a> (int node) const</td></tr>
<tr class="memdesc:aa3e073f632d3f5b7b7b0fb39380c49c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the active node in the alternative set of the given node. <a href="classoperations__research_1_1PathOperator.html#aa3e073f632d3f5b7b7b0fb39380c49c6">More...</a><br /></td></tr>
<tr class="separator:aa3e073f632d3f5b7b7b0fb39380c49c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9d41c75de01039a11af9b5d3cecc37f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#ac9d41c75de01039a11af9b5d3cecc37f">GetSiblingAlternativeIndex</a> (int node) const</td></tr>
<tr class="memdesc:ac9d41c75de01039a11af9b5d3cecc37f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the index of the alternative set of the sibling of node. <a href="classoperations__research_1_1PathOperator.html#ac9d41c75de01039a11af9b5d3cecc37f">More...</a><br /></td></tr>
<tr class="separator:ac9d41c75de01039a11af9b5d3cecc37f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbc9a4bbd3bc555e76767ca83d77749c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#afbc9a4bbd3bc555e76767ca83d77749c">GetActiveAlternativeSibling</a> (int node) const</td></tr>
<tr class="memdesc:afbc9a4bbd3bc555e76767ca83d77749c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the active node in the alternative set of the sibling of the given node. <a href="classoperations__research_1_1PathOperator.html#afbc9a4bbd3bc555e76767ca83d77749c">More...</a><br /></td></tr>
<tr class="separator:afbc9a4bbd3bc555e76767ca83d77749c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea53f675489ce7c73044deb01a9f3f18"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#aea53f675489ce7c73044deb01a9f3f18">CheckChainValidity</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> before_chain, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> chain_end, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> exclude) const</td></tr>
<tr class="memdesc:aea53f675489ce7c73044deb01a9f3f18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the chain is a valid path without cycles from before_chain to chain_end and does not contain exclude. <a href="classoperations__research_1_1PathOperator.html#aea53f675489ce7c73044deb01a9f3f18">More...</a><br /></td></tr>
<tr class="separator:aea53f675489ce7c73044deb01a9f3f18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4cbeb0a6b5484ff3d4dae2d87ead489"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVarLocalSearchOperator.html#aa4cbeb0a6b5484ff3d4dae2d87ead489">IsInverseValue</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>) const</td></tr>
<tr class="separator:aa4cbeb0a6b5484ff3d4dae2d87ead489"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a104b124a8b90a018a1583aa5f46081d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVarLocalSearchOperator.html#a104b124a8b90a018a1583aa5f46081d9">InverseValue</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>) const</td></tr>
<tr class="separator:a104b124a8b90a018a1583aa5f46081d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad462943207eb6d9ff00258445fb9e9dc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVarLocalSearchOperator.html#ad462943207eb6d9ff00258445fb9e9dc">OldInverseValue</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>) const</td></tr>
<tr class="separator:ad462943207eb6d9ff00258445fb9e9dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31d7dd39e21aad23250613bb884d0d2b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVarLocalSearchOperator.html#a31d7dd39e21aad23250613bb884d0d2b">SetInverseValue</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="separator:a31d7dd39e21aad23250613bb884d0d2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21cd5f9a362cd868371a6015c30874b7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVarLocalSearchOperator.html#a21cd5f9a362cd868371a6015c30874b7">SetOldInverseValue</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>, <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="matrix__utils_8cc.html#aee90379adb0307effb138f4871edbc5c">value</a>)</td></tr>
<tr class="separator:a21cd5f9a362cd868371a6015c30874b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d4345afe8b6013c483417a074add896"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a7d4345afe8b6013c483417a074add896">MarkChange</a> (<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> <a class="el" href="resource_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>)</td></tr>
<tr class="memdesc:a7d4345afe8b6013c483417a074add896"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#aae6d852f10b483ddfa68658e43130028" title="Called by Start() after synchronizing the operator with the current assignment.">OnStart()</a> should really be protected, but then SWIG doesn't see it. <a href="classoperations__research_1_1VarLocalSearchOperator.html#a7d4345afe8b6013c483417a074add896">More...</a><br /></td></tr>
<tr class="separator:a7d4345afe8b6013c483417a074add896"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:aad7695e494039d607c26afb6acd0644a"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#aad7695e494039d607c26afb6acd0644a">number_of_nexts_</a></td></tr>
<tr class="separator:aad7695e494039d607c26afb6acd0644a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae56132578e8bc7a7eca4af4fd24fa966"><td class="memItemLeft" align="right" valign="top">const bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#ae56132578e8bc7a7eca4af4fd24fa966">ignore_path_vars_</a></td></tr>
<tr class="separator:ae56132578e8bc7a7eca4af4fd24fa966"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4e410910ad9361ed46221ecc6f0aa9b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#ac4e410910ad9361ed46221ecc6f0aa9b">next_base_to_increment_</a></td></tr>
<tr class="separator:ac4e410910ad9361ed46221ecc6f0aa9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd4107d44c9d70962fa429ecd6cc8312"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#afd4107d44c9d70962fa429ecd6cc8312">num_paths_</a> = 0</td></tr>
<tr class="separator:afd4107d44c9d70962fa429ecd6cc8312"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d38b45f5f2c2c53a8ab77643839b080"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a3d38b45f5f2c2c53a8ab77643839b080">start_to_path_</a></td></tr>
<tr class="separator:a3d38b45f5f2c2c53a8ab77643839b080"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb9668115d3d60818099ce9ce80d1ec1"><td class="memItemLeft" align="right" valign="top">std::vector&lt; IntVar * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#acb9668115d3d60818099ce9ce80d1ec1">vars_</a></td></tr>
<tr class="separator:acb9668115d3d60818099ce9ce80d1ec1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38b2df531e660bd3c43b896970a4f014"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a38b2df531e660bd3c43b896970a4f014">values_</a></td></tr>
<tr class="separator:a38b2df531e660bd3c43b896970a4f014"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0aeeba03eeb9514e2946c44c733e994a"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a0aeeba03eeb9514e2946c44c733e994a">old_values_</a></td></tr>
<tr class="separator:a0aeeba03eeb9514e2946c44c733e994a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68dd19d6f0517e2bfb128f87fbad4fea"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a68dd19d6f0517e2bfb128f87fbad4fea">prev_values_</a></td></tr>
<tr class="separator:a68dd19d6f0517e2bfb128f87fbad4fea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b62af3db29eeb312e3cb06f7bb331ce"><td class="memItemLeft" align="right" valign="top">std::vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a7b62af3db29eeb312e3cb06f7bb331ce">assignment_indices_</a></td></tr>
<tr class="separator:a7b62af3db29eeb312e3cb06f7bb331ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7135085df615773e63a206e65ea21d53"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1Bitset64.html">Bitset64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a7135085df615773e63a206e65ea21d53">activated_</a></td></tr>
<tr class="separator:a7135085df615773e63a206e65ea21d53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade0f309c001b408cf7fe2a5b3c672640"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1Bitset64.html">Bitset64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#ade0f309c001b408cf7fe2a5b3c672640">was_activated_</a></td></tr>
<tr class="separator:ade0f309c001b408cf7fe2a5b3c672640"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f74f53b5802db835de7f925ffd7b105"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1SparseBitset.html">SparseBitset</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a8f74f53b5802db835de7f925ffd7b105">changes_</a></td></tr>
<tr class="separator:a8f74f53b5802db835de7f925ffd7b105"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6525132991e9140755b271a1cf43fee7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1SparseBitset.html">SparseBitset</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a6525132991e9140755b271a1cf43fee7">delta_changes_</a></td></tr>
<tr class="separator:a6525132991e9140755b271a1cf43fee7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96d44fa3defc89fe5e0fc0eafaf32714"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a96d44fa3defc89fe5e0fc0eafaf32714">cleared_</a></td></tr>
<tr class="separator:a96d44fa3defc89fe5e0fc0eafaf32714"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8627a7bbb2f34d6156b0fcd3d3abdc2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#aa8627a7bbb2f34d6156b0fcd3d3abdc2">var_handler_</a></td></tr>
<tr class="separator:aa8627a7bbb2f34d6156b0fcd3d3abdc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a971457539d3fa9018e98ff3cdb6fa8e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a971457539d3fa9018e98ff3cdb6fa8e8">&#9670;&nbsp;</a></span>MakeRelocateNeighborsOperator()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1MakeRelocateNeighborsOperator.html">MakeRelocateNeighborsOperator</a> </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; IntVar * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; IntVar * &gt; &amp;&#160;</td>
<td class="paramname"><em>secondary_vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::function&lt; int(<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>)&gt;&#160;</td>
<td class="paramname"><em>start_empty_path_class</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespaceoperations__research.html#ab35e9f27307e9c5273c9d77fcf30de0e">RoutingTransitCallback2</a>&#160;</td>
<td class="paramname"><em>arc_evaluator</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="routing__neighborhoods_8cc_source.html#l00024">24</a> of file <a class="el" href="routing__neighborhoods_8cc_source.html">routing_neighborhoods.cc</a>.</p>
</div>
</div>
<a id="ac404bade2c0081928aaf6f29341907b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac404bade2c0081928aaf6f29341907b4">&#9670;&nbsp;</a></span>~MakeRelocateNeighborsOperator()</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_1MakeRelocateNeighborsOperator.html">MakeRelocateNeighborsOperator</a> </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 class="mlabel">override</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="routing__neighborhoods_8h_source.html#l00054">54</a> of file <a class="el" href="routing__neighborhoods_8h_source.html">routing_neighborhoods.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aebf766478091209b6170b5de179f9067"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aebf766478091209b6170b5de179f9067">&#9670;&nbsp;</a></span>Activate()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Activate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00863">863</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="aff9b327f2a97858ac30a718bba4029c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff9b327f2a97858ac30a718bba4029c0">&#9670;&nbsp;</a></span>Activated()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool Activated </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00862">862</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a9ffdefbb2872bb54b8370ee590576812"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ffdefbb2872bb54b8370ee590576812">&#9670;&nbsp;</a></span>AddAlternativeSet()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int AddAlternativeSet </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>alternative_set</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Handling node alternatives. </p>
<p>Adds a set of node alternatives to the neighborhood. No node can be in two altrnatives. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01512">1512</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a7e42ba88a40563030fe775d5eaec8d55"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e42ba88a40563030fe775d5eaec8d55">&#9670;&nbsp;</a></span>AddPairAlternativeSets()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void AddPairAlternativeSets </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; std::pair&lt; std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt;, std::vector&lt; <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt;&gt;&gt; &amp;&#160;</td>
<td class="paramname"><em>pair_alternative_sets</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds all sets of node alternatives of a vector of alternative pairs. </p>
<p>No node can be in two altrnatives. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01525">1525</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="ae2af73491ab2aa6804b443d442026a5e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae2af73491ab2aa6804b443d442026a5e">&#9670;&nbsp;</a></span>AddVars()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void AddVars </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; V * &gt; &amp;&#160;</td>
<td class="paramname"><em>vars</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00908">908</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="aabafb6d8996f5101db26b30efff406b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aabafb6d8996f5101db26b30efff406b0">&#9670;&nbsp;</a></span>ApplyChanges()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ApplyChanges </td>
<td>(</td>
<td class="paramtype">Assignment *&#160;</td>
<td class="paramname"><em>delta</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Assignment *&#160;</td>
<td class="paramname"><em>deltadelta</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00871">871</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a752100eca408efb4a9392f16f21f9cf7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a752100eca408efb4a9392f16f21f9cf7">&#9670;&nbsp;</a></span>BaseAlternative()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int BaseAlternative </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the alternative for the ith base node. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01383">1383</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a088d80df6df63def37e43b73dc9b1d80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a088d80df6df63def37e43b73dc9b1d80">&#9670;&nbsp;</a></span>BaseAlternativeNode()</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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> BaseAlternativeNode </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the alternative node for the ith base node. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01385">1385</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a124f2992de28f11a185072ba4df5441b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a124f2992de28f11a185072ba4df5441b">&#9670;&nbsp;</a></span>BaseNode()</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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> BaseNode </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the ith base node of the operator. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01381">1381</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a5bc40a93b9ba709cfb3ca78cea7435e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5bc40a93b9ba709cfb3ca78cea7435e1">&#9670;&nbsp;</a></span>BaseSiblingAlternative()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int BaseSiblingAlternative </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the alternative for the sibling of the ith base node. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01393">1393</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="ac41fc10e374ef9221ffca09da9e1c981"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac41fc10e374ef9221ffca09da9e1c981">&#9670;&nbsp;</a></span>BaseSiblingAlternativeNode()</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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> BaseSiblingAlternativeNode </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the alternative node for the sibling of the ith base node. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01397">1397</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="aea53f675489ce7c73044deb01a9f3f18"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea53f675489ce7c73044deb01a9f3f18">&#9670;&nbsp;</a></span>CheckChainValidity()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool CheckChainValidity </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>before_chain</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>chain_end</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>exclude</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if the chain is a valid path without cycles from before_chain to chain_end and does not contain exclude. </p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l00842">842</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a3062cf7eeb53d8cc4cc02e3359d27531"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3062cf7eeb53d8cc4cc02e3359d27531">&#9670;&nbsp;</a></span>ConsiderAlternatives()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool ConsiderAlternatives </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>base_index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Indicates if alternatives should be considered when iterating over base nodes. </p>
<p>Reimplemented in <a class="el" href="classoperations__research_1_1PairRelocateOperator.html#ab26d6a936473dac60bb3b9aa46d38722">PairRelocateOperator</a>, <a class="el" href="classSwigDirector__PathOperator.html#a9dab1b0d0b85dec05719b3e5932e9ed2">SwigDirector_PathOperator</a>, and <a class="el" href="classSwigDirector__PathOperator.html#a3062cf7eeb53d8cc4cc02e3359d27531">SwigDirector_PathOperator</a>.</p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01446">1446</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="abcdbe360c416a4cbb906188a13860d7f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abcdbe360c416a4cbb906188a13860d7f">&#9670;&nbsp;</a></span>Deactivate()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Deactivate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00867">867</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="aed804747c45a7e1caf81461f9e45dd91"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed804747c45a7e1caf81461f9e45dd91">&#9670;&nbsp;</a></span>DebugString()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string DebugString </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 class="mlabel">override</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="routing__neighborhoods_8h_source.html#l00057">57</a> of file <a class="el" href="routing__neighborhoods_8h_source.html">routing_neighborhoods.h</a>.</p>
</div>
</div>
<a id="aa3e073f632d3f5b7b7b0fb39380c49c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa3e073f632d3f5b7b7b0fb39380c49c6">&#9670;&nbsp;</a></span>GetActiveAlternativeNode()</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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> GetActiveAlternativeNode </td>
<td>(</td>
<td class="paramtype">int&#160;</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 class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the active node in the alternative set of the given node. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01542">1542</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="afbc9a4bbd3bc555e76767ca83d77749c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbc9a4bbd3bc555e76767ca83d77749c">&#9670;&nbsp;</a></span>GetActiveAlternativeSibling()</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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> GetActiveAlternativeSibling </td>
<td>(</td>
<td class="paramtype">int&#160;</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 class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the active node in the alternative set of the sibling of the given node. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01553">1553</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="af3824a2c47ee3213ab462c66b2acb161"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af3824a2c47ee3213ab462c66b2acb161">&#9670;&nbsp;</a></span>GetActiveInAlternativeSet()</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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> GetActiveInAlternativeSet </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>alternative_index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the active node in the given alternative set. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01536">1536</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="ac7ffd8565f01cb9eb72fcc94204327a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7ffd8565f01cb9eb72fcc94204327a2">&#9670;&nbsp;</a></span>GetBaseNodeRestartPosition()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> GetBaseNodeRestartPosition </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>base_index</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the index of the node to which the base node of index base_index must be set to when it reaches the end of a path. </p>
<p>By default, it is set to the start of the current path. When this method is called, one can only assume that base nodes with indices &lt; base_index have their final position. </p>
<p>Reimplemented in <a class="el" href="classoperations__research_1_1MakeChainInactiveOperator.html#ad5f473fb19f98b38567ace0fa11f58b0">MakeChainInactiveOperator</a>, <a class="el" href="classoperations__research_1_1TwoOpt.html#ad5f473fb19f98b38567ace0fa11f58b0">TwoOpt</a>, <a class="el" href="classoperations__research_1_1PairNodeSwapActiveOperator.html#ad5f473fb19f98b38567ace0fa11f58b0">PairNodeSwapActiveOperator&lt; swap_first &gt;</a>, <a class="el" href="classoperations__research_1_1PairExchangeRelocateOperator.html#ad5f473fb19f98b38567ace0fa11f58b0">PairExchangeRelocateOperator</a>, <a class="el" href="classoperations__research_1_1PairRelocateOperator.html#ad5f473fb19f98b38567ace0fa11f58b0">PairRelocateOperator</a>, <a class="el" href="classoperations__research_1_1MakePairActiveOperator.html#ad5f473fb19f98b38567ace0fa11f58b0">MakePairActiveOperator</a>, <a class="el" href="classSwigDirector__PathOperator.html#a27accbeb4dfb9604e5e3a746e96bd4bd">SwigDirector_PathOperator</a>, and <a class="el" href="classSwigDirector__PathOperator.html#ac7ffd8565f01cb9eb72fcc94204327a2">SwigDirector_PathOperator</a>.</p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01436">1436</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="ac9d41c75de01039a11af9b5d3cecc37f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9d41c75de01039a11af9b5d3cecc37f">&#9670;&nbsp;</a></span>GetSiblingAlternativeIndex()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int GetSiblingAlternativeIndex </td>
<td>(</td>
<td class="paramtype">int&#160;</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 class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the index of the alternative set of the sibling of node. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01546">1546</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a1b0063f805d92ed061848616d08f4664"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b0063f805d92ed061848616d08f4664">&#9670;&nbsp;</a></span>HasFragments()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool HasFragments </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 class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reimplemented in <a class="el" href="classoperations__research_1_1PathLns.html#a4c069642a869d9055609c7eac7078f8c">PathLns</a>, <a class="el" href="classoperations__research_1_1BaseLns.html#a4c069642a869d9055609c7eac7078f8c">BaseLns</a>, <a class="el" href="classSwigDirector__PathOperator.html#a1c43e22699ec4dff03195005615b0ee6">SwigDirector_PathOperator</a>, <a class="el" href="classSwigDirector__ChangeValue.html#a1c43e22699ec4dff03195005615b0ee6">SwigDirector_ChangeValue</a>, <a class="el" href="classSwigDirector__BaseLns.html#a1c43e22699ec4dff03195005615b0ee6">SwigDirector_BaseLns</a>, <a class="el" href="classSwigDirector__SequenceVarLocalSearchOperator.html#a1c43e22699ec4dff03195005615b0ee6">SwigDirector_SequenceVarLocalSearchOperator</a>, <a class="el" href="classSwigDirector__IntVarLocalSearchOperator.html#a1c43e22699ec4dff03195005615b0ee6">SwigDirector_IntVarLocalSearchOperator</a>, <a class="el" href="classSwigDirector__LocalSearchOperator.html#a1c43e22699ec4dff03195005615b0ee6">SwigDirector_LocalSearchOperator</a>, <a class="el" href="classSwigDirector__ChangeValue.html#a1b0063f805d92ed061848616d08f4664">SwigDirector_ChangeValue</a>, <a class="el" href="classSwigDirector__BaseLns.html#a1b0063f805d92ed061848616d08f4664">SwigDirector_BaseLns</a>, <a class="el" href="classSwigDirector__IntVarLocalSearchOperator.html#a1b0063f805d92ed061848616d08f4664">SwigDirector_IntVarLocalSearchOperator</a>, <a class="el" href="classSwigDirector__LocalSearchOperator.html#a1b0063f805d92ed061848616d08f4664">SwigDirector_LocalSearchOperator</a>, <a class="el" href="classSwigDirector__PathOperator.html#a1b0063f805d92ed061848616d08f4664">SwigDirector_PathOperator</a>, <a class="el" href="classSwigDirector__ChangeValue.html#a1b0063f805d92ed061848616d08f4664">SwigDirector_ChangeValue</a>, <a class="el" href="classSwigDirector__BaseLns.html#a1b0063f805d92ed061848616d08f4664">SwigDirector_BaseLns</a>, <a class="el" href="classSwigDirector__SequenceVarLocalSearchOperator.html#a1b0063f805d92ed061848616d08f4664">SwigDirector_SequenceVarLocalSearchOperator</a>, <a class="el" href="classSwigDirector__IntVarLocalSearchOperator.html#a1b0063f805d92ed061848616d08f4664">SwigDirector_IntVarLocalSearchOperator</a>, and <a class="el" href="classSwigDirector__LocalSearchOperator.html#a1b0063f805d92ed061848616d08f4664">SwigDirector_LocalSearchOperator</a>.</p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00815">815</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a1e1cf9d9c4228f22482c4ee6c58951a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e1cf9d9c4228f22482c4ee6c58951a8">&#9670;&nbsp;</a></span>HoldsDelta() <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">virtual bool HoldsDelta </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 class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reimplemented in <a class="el" href="classoperations__research_1_1NeighborhoodLimit.html#a35de616bef50b1661e3133761f7260e1">NeighborhoodLimit</a>, <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a35de616bef50b1661e3133761f7260e1">VarLocalSearchOperator&lt; V, Val, Handler &gt;</a>, <a class="el" href="classSwigDirector__PathOperator.html#a0f13404d57183b4dac8f069f6881e62d">SwigDirector_PathOperator</a>, <a class="el" href="classSwigDirector__ChangeValue.html#a0f13404d57183b4dac8f069f6881e62d">SwigDirector_ChangeValue</a>, <a class="el" href="classSwigDirector__BaseLns.html#a0f13404d57183b4dac8f069f6881e62d">SwigDirector_BaseLns</a>, <a class="el" href="classSwigDirector__SequenceVarLocalSearchOperator.html#a0f13404d57183b4dac8f069f6881e62d">SwigDirector_SequenceVarLocalSearchOperator</a>, <a class="el" href="classSwigDirector__IntVarLocalSearchOperator.html#a0f13404d57183b4dac8f069f6881e62d">SwigDirector_IntVarLocalSearchOperator</a>, <a class="el" href="classSwigDirector__LocalSearchOperator.html#a0f13404d57183b4dac8f069f6881e62d">SwigDirector_LocalSearchOperator</a>, <a class="el" href="classSwigDirector__ChangeValue.html#a1e1cf9d9c4228f22482c4ee6c58951a8">SwigDirector_ChangeValue</a>, <a class="el" href="classSwigDirector__BaseLns.html#a1e1cf9d9c4228f22482c4ee6c58951a8">SwigDirector_BaseLns</a>, <a class="el" href="classSwigDirector__IntVarLocalSearchOperator.html#a1e1cf9d9c4228f22482c4ee6c58951a8">SwigDirector_IntVarLocalSearchOperator</a>, <a class="el" href="classSwigDirector__LocalSearchOperator.html#a1e1cf9d9c4228f22482c4ee6c58951a8">SwigDirector_LocalSearchOperator</a>, <a class="el" href="classSwigDirector__PathOperator.html#a1e1cf9d9c4228f22482c4ee6c58951a8">SwigDirector_PathOperator</a>, <a class="el" href="classSwigDirector__ChangeValue.html#a1e1cf9d9c4228f22482c4ee6c58951a8">SwigDirector_ChangeValue</a>, <a class="el" href="classSwigDirector__BaseLns.html#a1e1cf9d9c4228f22482c4ee6c58951a8">SwigDirector_BaseLns</a>, <a class="el" href="classSwigDirector__SequenceVarLocalSearchOperator.html#a1e1cf9d9c4228f22482c4ee6c58951a8">SwigDirector_SequenceVarLocalSearchOperator</a>, <a class="el" href="classSwigDirector__IntVarLocalSearchOperator.html#a1e1cf9d9c4228f22482c4ee6c58951a8">SwigDirector_IntVarLocalSearchOperator</a>, and <a class="el" href="classSwigDirector__LocalSearchOperator.html#a1e1cf9d9c4228f22482c4ee6c58951a8">SwigDirector_LocalSearchOperator</a>.</p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00816">816</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a35de616bef50b1661e3133761f7260e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35de616bef50b1661e3133761f7260e1">&#9670;&nbsp;</a></span>HoldsDelta() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool HoldsDelta </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 class="mlabel">override</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00830">830</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="ae1c162cfc11069e25becbd53cdce7def"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1c162cfc11069e25becbd53cdce7def">&#9670;&nbsp;</a></span>InitPosition()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool InitPosition </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 class="mlabel">protected</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if the operator needs to restart its initial position at each call to <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#aeacffb05338262fd232dc77fed8cc586" title="This method should not be overridden.">Start()</a> </p>
<p>Reimplemented in <a class="el" href="classSwigDirector__PathOperator.html#a09e338733d3bca035293d1f8a444c38a">SwigDirector_PathOperator</a>, and <a class="el" href="classSwigDirector__PathOperator.html#ae1c162cfc11069e25becbd53cdce7def">SwigDirector_PathOperator</a>.</p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01503">1503</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a104b124a8b90a018a1583aa5f46081d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a104b124a8b90a018a1583aa5f46081d9">&#9670;&nbsp;</a></span>InverseValue()</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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> InverseValue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01077">1077</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a15db4ae271ce553727a298dd0dbba5e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15db4ae271ce553727a298dd0dbba5e7">&#9670;&nbsp;</a></span>IsInactive()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool IsInactive </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</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 class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if node is inactive. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01497">1497</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="aa21d5f9b4adc94167e3a466095d82fd5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa21d5f9b4adc94167e3a466095d82fd5">&#9670;&nbsp;</a></span>IsIncremental()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool IsIncremental </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 class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00846">846</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="aa4cbeb0a6b5484ff3d4dae2d87ead489"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4cbeb0a6b5484ff3d4dae2d87ead489">&#9670;&nbsp;</a></span>IsInverseValue()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool IsInverseValue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01072">1072</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a255540efe5286aa6e55bf46894cc10f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a255540efe5286aa6e55bf46894cc10f5">&#9670;&nbsp;</a></span>IsPathEnd()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool IsPathEnd </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</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 class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if node is the last node on the path; defined by the fact that node is outside the range of the variable array. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01491">1491</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="abb722ca1750c9814d2d2fc5c9c2f1a11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb722ca1750c9814d2d2fc5c9c2f1a11">&#9670;&nbsp;</a></span>IsPathStart()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool IsPathStart </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</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 class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if node is the first node on the path. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01494">1494</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a8b1a0ecf6778a8018576d94b3c73930b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b1a0ecf6778a8018576d94b3c73930b">&#9670;&nbsp;</a></span>MakeActive()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool MakeActive </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>destination</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Insert the inactive node after destination. </p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l00460">460</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="adfe2c499f99ed814dbdd8e75db63ae3e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adfe2c499f99ed814dbdd8e75db63ae3e">&#9670;&nbsp;</a></span>MakeChainInactive()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool MakeChainInactive </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>before_chain</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>chain_end</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Makes the nodes on the chain starting after before_chain and ending at chain_end inactive. </p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l00471">471</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a24ea165f00f8e15de94958fc804ff209"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24ea165f00f8e15de94958fc804ff209">&#9670;&nbsp;</a></span>MakeNeighbor()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool MakeNeighbor </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classoperations__research_1_1PathOperator.html#a10ae14d6daad9088377260420952f814">PathOperator</a>.</p>
<p class="definition">Definition at line <a class="el" href="routing__neighborhoods_8cc_source.html#l00033">33</a> of file <a class="el" href="routing__neighborhoods_8cc_source.html">routing_neighborhoods.cc</a>.</p>
</div>
</div>
<a id="a2b47576627076cc054924a89a08f69a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b47576627076cc054924a89a08f69a6">&#9670;&nbsp;</a></span>MakeNextNeighbor()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool MakeNextNeighbor </td>
<td>(</td>
<td class="paramtype">Assignment *&#160;</td>
<td class="paramname"><em>delta</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Assignment *&#160;</td>
<td class="paramname"><em>deltadelta</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Redefines MakeNextNeighbor to export a simpler interface. </p>
<p>The calls to <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#aabafb6d8996f5101db26b30efff406b0">ApplyChanges()</a> and <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a06eb05df61a9b9fce744928947f43d89">RevertChanges()</a> are factored in this method, hiding both delta and deltadelta from subclasses which only need to override <a class="el" href="classoperations__research_1_1PathOperator.html#ad14cde260686e5b4174e691675df3139" title="This method should not be overridden. Override MakeNeighbor() instead.">MakeOneNeighbor()</a>. Therefore this method should not be overridden. Override <a class="el" href="classoperations__research_1_1PathOperator.html#ad14cde260686e5b4174e691675df3139" title="This method should not be overridden. Override MakeNeighbor() instead.">MakeOneNeighbor()</a> instead. </p>
<p>Implements <a class="el" href="classoperations__research_1_1LocalSearchOperator.html#a9bd1712271364632b22009ef10eb2172">LocalSearchOperator</a>.</p>
<p>Reimplemented in <a class="el" href="classoperations__research_1_1PairNodeSwapActiveOperator.html#a2b47576627076cc054924a89a08f69a6">PairNodeSwapActiveOperator&lt; swap_first &gt;</a>, <a class="el" href="classoperations__research_1_1IndexPairSwapActiveOperator.html#a2b47576627076cc054924a89a08f69a6">IndexPairSwapActiveOperator</a>, and <a class="el" href="classoperations__research_1_1SwapIndexPairOperator.html#a2b47576627076cc054924a89a08f69a6">SwapIndexPairOperator</a>.</p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l00074">74</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="ad14cde260686e5b4174e691675df3139"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad14cde260686e5b4174e691675df3139">&#9670;&nbsp;</a></span>MakeOneNeighbor()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool MakeOneNeighbor </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">protected</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method should not be overridden. Override <a class="el" href="classoperations__research_1_1MakeRelocateNeighborsOperator.html#a24ea165f00f8e15de94958fc804ff209">MakeNeighbor()</a> instead. </p>
<p>Reimplemented from <a class="el" href="classoperations__research_1_1IntVarLocalSearchOperator.html#ac7dcbffbe392b653b5e0674631d03d3d">IntVarLocalSearchOperator</a>.</p>
<p>Reimplemented in <a class="el" href="classoperations__research_1_1TSPLns.html#ad14cde260686e5b4174e691675df3139">TSPLns</a>, <a class="el" href="classoperations__research_1_1BaseInactiveNodeToPathOperator.html#ad14cde260686e5b4174e691675df3139">BaseInactiveNodeToPathOperator</a>, <a class="el" href="classoperations__research_1_1RelocateExpensiveChain.html#ad14cde260686e5b4174e691675df3139">RelocateExpensiveChain</a>, <a class="el" href="classoperations__research_1_1MakePairActiveOperator.html#ad14cde260686e5b4174e691675df3139">MakePairActiveOperator</a>, <a class="el" href="classSwigDirector__PathOperator.html#ac7dcbffbe392b653b5e0674631d03d3d">SwigDirector_PathOperator</a>, and <a class="el" href="classSwigDirector__PathOperator.html#a4e4f1f53f6a8a6bdb6c9d7c97842565d">SwigDirector_PathOperator</a>.</p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l00389">389</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a7d4345afe8b6013c483417a074add896"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d4345afe8b6013c483417a074add896">&#9670;&nbsp;</a></span>MarkChange()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void MarkChange </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>OnStart() should really be protected, but then SWIG doesn't see it. </p>
<p>So we make it public, but only subclasses should access to it (to override it). </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00932">932</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="afce7de594ac758357d23d1e4b087ebf0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afce7de594ac758357d23d1e4b087ebf0">&#9670;&nbsp;</a></span>MoveChain()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool MoveChain </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>before_chain</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>chain_end</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>destination</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Moves the chain starting after the node before_chain and ending at the node chain_end after the node destination. </p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l00414">414</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="aa8f198c7897dd232096df08f2123582a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8f198c7897dd232096df08f2123582a">&#9670;&nbsp;</a></span>Next()</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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> Next </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</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 class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the node after node in the current delta. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01351">1351</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a208d45797eebd7cad439cc43b049103d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a208d45797eebd7cad439cc43b049103d">&#9670;&nbsp;</a></span>number_of_nexts()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int number_of_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 class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of next variables. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01370">1370</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="ad462943207eb6d9ff00258445fb9e9dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad462943207eb6d9ff00258445fb9e9dc">&#9670;&nbsp;</a></span>OldInverseValue()</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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> OldInverseValue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01079">1079</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a6e645c04c651a5cd0c5b1474c503713c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e645c04c651a5cd0c5b1474c503713c">&#9670;&nbsp;</a></span>OldNext()</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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> OldNext </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</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 class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01448">1448</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a3979c66b95f3836e8257f41924952a8c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3979c66b95f3836e8257f41924952a8c">&#9670;&nbsp;</a></span>OldPath()</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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> OldPath </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</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 class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01458">1458</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="ae73fcc01833bc6a858e474320d37293f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae73fcc01833bc6a858e474320d37293f">&#9670;&nbsp;</a></span>OldPrev()</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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> OldPrev </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</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 class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01453">1453</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="af0cd6b9a608c61a52933fd53d53873af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0cd6b9a608c61a52933fd53d53873af">&#9670;&nbsp;</a></span>OldValue()</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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &amp; OldValue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00857">857</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a1223e0b8dbca7cd9c296fc4de65080b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1223e0b8dbca7cd9c296fc4de65080b2">&#9670;&nbsp;</a></span>OnNodeInitialization()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void OnNodeInitialization </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 class="mlabel">protected</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Called by OnStart() after initializing node information. </p>
<p>Should be overridden instead of OnStart() to avoid calling PathOperator::OnStart explicitly. </p>
<p>Reimplemented in <a class="el" href="classSwigDirector__PathOperator.html#a4d08a724b60322e5d590d32fe10ed2aa">SwigDirector_PathOperator</a>, and <a class="el" href="classSwigDirector__PathOperator.html#a1223e0b8dbca7cd9c296fc4de65080b2">SwigDirector_PathOperator</a>.</p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01378">1378</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="adb210d557c5ff1bc78ae493364868bb5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb210d557c5ff1bc78ae493364868bb5">&#9670;&nbsp;</a></span>OnSamePathAsPreviousBase()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool OnSamePathAsPreviousBase </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>base_index</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if a base node has to be on the same path as the "previous" base node (base node of index base_index - 1). </p>
<p>Useful to limit neighborhood exploration to nodes on the same path. it's currently way more complicated to implement. </p>
<p>Reimplemented in <a class="el" href="classoperations__research_1_1MakeChainInactiveOperator.html#ac7df4d8cca71e3ceb0e5b8c0c53bc50f">MakeChainInactiveOperator</a>, <a class="el" href="classoperations__research_1_1Relocate.html#ac7df4d8cca71e3ceb0e5b8c0c53bc50f">Relocate</a>, <a class="el" href="classoperations__research_1_1TwoOpt.html#ac7df4d8cca71e3ceb0e5b8c0c53bc50f">TwoOpt</a>, <a class="el" href="classoperations__research_1_1PairNodeSwapActiveOperator.html#ac7df4d8cca71e3ceb0e5b8c0c53bc50f">PairNodeSwapActiveOperator&lt; swap_first &gt;</a>, <a class="el" href="classoperations__research_1_1PairExchangeRelocateOperator.html#ac7df4d8cca71e3ceb0e5b8c0c53bc50f">PairExchangeRelocateOperator</a>, <a class="el" href="classoperations__research_1_1PairRelocateOperator.html#ac7df4d8cca71e3ceb0e5b8c0c53bc50f">PairRelocateOperator</a>, <a class="el" href="classoperations__research_1_1MakePairActiveOperator.html#ac7df4d8cca71e3ceb0e5b8c0c53bc50f">MakePairActiveOperator</a>, <a class="el" href="classSwigDirector__PathOperator.html#a3d33bfaa78b13a8132450058111ee10a">SwigDirector_PathOperator</a>, and <a class="el" href="classSwigDirector__PathOperator.html#adb210d557c5ff1bc78ae493364868bb5">SwigDirector_PathOperator</a>.</p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01430">1430</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="ae507915e833da66ed7371b87f6fc61ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae507915e833da66ed7371b87f6fc61ff">&#9670;&nbsp;</a></span>Path()</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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> Path </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</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 class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the index of the path to which node belongs in the current delta. </p>
<p>Only returns a valid value if path variables are taken into account. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01365">1365</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a61caffe27afd7d6e0c94f1907f1b3b53"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61caffe27afd7d6e0c94f1907f1b3b53">&#9670;&nbsp;</a></span>path_starts()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt;<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&gt;&amp; path_starts </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 class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the vector of path start nodes. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01409">1409</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a11b8ad366b686132736854e7029e7bff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11b8ad366b686132736854e7029e7bff">&#9670;&nbsp;</a></span>PathClass()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int PathClass </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the class of the path of the ith base node. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01411">1411</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="aa0decf38e47940df0bf389bd3e8ba173"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0decf38e47940df0bf389bd3e8ba173">&#9670;&nbsp;</a></span>Prev()</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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> Prev </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</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 class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the node before node in the current delta. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01357">1357</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="af82f4acaed7bb39d568e689a9caa63d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af82f4acaed7bb39d568e689a9caa63d5">&#9670;&nbsp;</a></span>Reset()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Reset </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reimplemented from <a class="el" href="classoperations__research_1_1LocalSearchOperator.html#a4c4ba0ffe635d14b93794268bd8e5995">LocalSearchOperator</a>.</p>
<p>Reimplemented in <a class="el" href="classSwigDirector__PathOperator.html#a372de693ad40b3f42839c8ec6ac845f4">SwigDirector_PathOperator</a>, and <a class="el" href="classSwigDirector__PathOperator.html#a4c4ba0ffe635d14b93794268bd8e5995">SwigDirector_PathOperator</a>.</p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l00380">380</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="ab661b8d8259dac8444804d91809fbb0a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab661b8d8259dac8444804d91809fbb0a">&#9670;&nbsp;</a></span>ResetPosition()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ResetPosition </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 class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reset the position of the operator to its position when <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#aeacffb05338262fd232dc77fed8cc586" title="This method should not be overridden.">Start()</a> was last called; this can be used to let an operator iterate more than once over the paths. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01507">1507</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a38b76e1e3a147226d4981b05e4ec2c55"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38b76e1e3a147226d4981b05e4ec2c55">&#9670;&nbsp;</a></span>RestartAtPathStartOnSynchronize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool RestartAtPathStartOnSynchronize </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 class="mlabel">protected</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>When the operator is being synchronized with a new solution (when <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#aeacffb05338262fd232dc77fed8cc586" title="This method should not be overridden.">Start()</a> is called), returns true to restart the exploration of the neighborhood from the start of the last paths explored; returns false to restart the exploration at the last nodes visited. </p>
<p>This is used to avoid restarting on base nodes which have changed paths, leading to potentially skipping neighbors. </p>
<p>Reimplemented in <a class="el" href="classoperations__research_1_1PairNodeSwapActiveOperator.html#aab68dfb72803f3ee3116e4425113ed11">PairNodeSwapActiveOperator&lt; swap_first &gt;</a>, <a class="el" href="classoperations__research_1_1MakePairActiveOperator.html#aab68dfb72803f3ee3116e4425113ed11">MakePairActiveOperator</a>, <a class="el" href="classSwigDirector__PathOperator.html#abaf377c5931e459a507a306103695bfc">SwigDirector_PathOperator</a>, and <a class="el" href="classSwigDirector__PathOperator.html#a38b76e1e3a147226d4981b05e4ec2c55">SwigDirector_PathOperator</a>.</p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01424">1424</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a62997309da1aeeee36192ffa09700eec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62997309da1aeeee36192ffa09700eec">&#9670;&nbsp;</a></span>ReverseChain()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ReverseChain </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>before_chain</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>after_chain</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> *&#160;</td>
<td class="paramname"><em>chain_last</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reverses the chain starting after before_chain and ending before after_chain. </p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l00437">437</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a06eb05df61a9b9fce744928947f43d89"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06eb05df61a9b9fce744928947f43d89">&#9670;&nbsp;</a></span>RevertChanges()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void RevertChanges </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>incremental</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00895">895</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a2030c5ed835cf4196e8cab0033a6d7bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2030c5ed835cf4196e8cab0033a6d7bd">&#9670;&nbsp;</a></span>Self()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual const <a class="el" href="classoperations__research_1_1LocalSearchOperator.html">LocalSearchOperator</a>* Self </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 class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00813">813</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a31d7dd39e21aad23250613bb884d0d2b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31d7dd39e21aad23250613bb884d0d2b">&#9670;&nbsp;</a></span>SetInverseValue()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void SetInverseValue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01083">1083</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a75322f62fb4d3c731035035f7d6aa3a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a75322f62fb4d3c731035035f7d6aa3a4">&#9670;&nbsp;</a></span>SetNext()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void SetNext </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>from</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>to</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>path</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets 'to' to be the node after 'from' on the given path. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01479">1479</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a2c928a4ff549033f6b44e423ec61b0d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c928a4ff549033f6b44e423ec61b0d5">&#9670;&nbsp;</a></span>SetNextBaseToIncrement()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void SetNextBaseToIncrement </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>base_index</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="classoperations__research_1_1Set.html">Set</a> the next base to increment on next iteration. </p>
<p>All base &gt; base_index will be reset to their start value. </p>
<p>Reimplemented in <a class="el" href="classSwigDirector__PathOperator.html#a606dae607251890612cd39269e68639d">SwigDirector_PathOperator</a>, and <a class="el" href="classSwigDirector__PathOperator.html#a2c928a4ff549033f6b44e423ec61b0d5">SwigDirector_PathOperator</a>.</p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01441">1441</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a21cd5f9a362cd868371a6015c30874b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a21cd5f9a362cd868371a6015c30874b7">&#9670;&nbsp;</a></span>SetOldInverseValue()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void SetOldInverseValue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01087">1087</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="af5f56c8c139f332cacfbd598c269887a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5f56c8c139f332cacfbd598c269887a">&#9670;&nbsp;</a></span>SetValue()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void SetValue </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const Val &amp;&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00858">858</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a24926108b770033792d015cb86aeffb3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24926108b770033792d015cb86aeffb3">&#9670;&nbsp;</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">int 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 class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00847">847</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="aa8d4a4b8ea73184cedcc0be51f6a3921"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8d4a4b8ea73184cedcc0be51f6a3921">&#9670;&nbsp;</a></span>SkipUnchanged()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool SkipUnchanged </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reimplemented from <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a18eb329b669c6a2e4e2431ea950b52fe">VarLocalSearchOperator&lt; IntVar, int64, IntVarLocalSearchHandler &gt;</a>.</p>
<p>Reimplemented in <a class="el" href="classSwigDirector__PathOperator.html#ab33238363822fa54f6b7a588d29930ca">SwigDirector_PathOperator</a>, and <a class="el" href="classSwigDirector__PathOperator.html#a18eb329b669c6a2e4e2431ea950b52fe">SwigDirector_PathOperator</a>.</p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l00401">401</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="aeacffb05338262fd232dc77fed8cc586"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeacffb05338262fd232dc77fed8cc586">&#9670;&nbsp;</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">void Start </td>
<td>(</td>
<td class="paramtype">const Assignment *&#160;</td>
<td class="paramname"><em>assignment</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method should not be overridden. </p>
<p>Override OnStart() instead which is called before exiting this method. </p>
<p>Implements <a class="el" href="classoperations__research_1_1LocalSearchOperator.html#ae8505ab0739cf0b585de5844f7a6703c">LocalSearchOperator</a>.</p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00833">833</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="aa4e3bf1bd6d335ad6be0b0d100e3bd6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4e3bf1bd6d335ad6be0b0d100e3bd6a">&#9670;&nbsp;</a></span>StartNode()</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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> StartNode </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the start node of the ith base node. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01407">1407</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a111c4d7dd49f12c67d97d16e9c473c79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a111c4d7dd49f12c67d97d16e9c473c79">&#9670;&nbsp;</a></span>SwapActiveAndInactive()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool SwapActiveAndInactive </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>active</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>inactive</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Replaces active by inactive in the current path, making active inactive. </p>
<p class="definition">Definition at line <a class="el" href="local__search_8cc_source.html#l00488">488</a> of file <a class="el" href="local__search_8cc_source.html">local_search.cc</a>.</p>
</div>
</div>
<a id="a8d7b37de1f314b5dddb025a11d57e1e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d7b37de1f314b5dddb025a11d57e1e0">&#9670;&nbsp;</a></span>Value()</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="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &amp; Value </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the value in the current assignment of the variable of given index. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00850">850</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a8beb998a68abceb71f87d3bc8a35bd78"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8beb998a68abceb71f87d3bc8a35bd78">&#9670;&nbsp;</a></span>Var()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">IntVar * Var </td>
<td>(</td>
<td class="paramtype"><a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the variable of given index. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00855">855</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a7135085df615773e63a206e65ea21d53"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7135085df615773e63a206e65ea21d53">&#9670;&nbsp;</a></span>activated_</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_1Bitset64.html">Bitset64</a> activated_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00942">942</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a7b62af3db29eeb312e3cb06f7bb331ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b62af3db29eeb312e3cb06f7bb331ce">&#9670;&nbsp;</a></span>assignment_indices_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;int&gt; assignment_indices_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">mutable</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00941">941</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a8f74f53b5802db835de7f925ffd7b105"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8f74f53b5802db835de7f925ffd7b105">&#9670;&nbsp;</a></span>changes_</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_1SparseBitset.html">SparseBitset</a> changes_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00944">944</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a96d44fa3defc89fe5e0fc0eafaf32714"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a96d44fa3defc89fe5e0fc0eafaf32714">&#9670;&nbsp;</a></span>cleared_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool cleared_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00946">946</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a6525132991e9140755b271a1cf43fee7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6525132991e9140755b271a1cf43fee7">&#9670;&nbsp;</a></span>delta_changes_</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_1SparseBitset.html">SparseBitset</a> delta_changes_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00945">945</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="ae56132578e8bc7a7eca4af4fd24fa966"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae56132578e8bc7a7eca4af4fd24fa966">&#9670;&nbsp;</a></span>ignore_path_vars_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const bool ignore_path_vars_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01566">1566</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="ac4e410910ad9361ed46221ecc6f0aa9b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4e410910ad9361ed46221ecc6f0aa9b">&#9670;&nbsp;</a></span>next_base_to_increment_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int next_base_to_increment_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01567">1567</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="afd4107d44c9d70962fa429ecd6cc8312"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd4107d44c9d70962fa429ecd6cc8312">&#9670;&nbsp;</a></span>num_paths_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int num_paths_ = 0</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01568">1568</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="aad7695e494039d607c26afb6acd0644a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad7695e494039d607c26afb6acd0644a">&#9670;&nbsp;</a></span>number_of_nexts_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const int number_of_nexts_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01565">1565</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a0aeeba03eeb9514e2946c44c733e994a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0aeeba03eeb9514e2946c44c733e994a">&#9670;&nbsp;</a></span>old_values_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; old_values_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00939">939</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a68dd19d6f0517e2bfb128f87fbad4fea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68dd19d6f0517e2bfb128f87fbad4fea">&#9670;&nbsp;</a></span>prev_values_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; prev_values_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00940">940</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a3d38b45f5f2c2c53a8ab77643839b080"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d38b45f5f2c2c53a8ab77643839b080">&#9670;&nbsp;</a></span>start_to_path_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a>&gt; start_to_path_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01569">1569</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a38b2df531e660bd3c43b896970a4f014"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38b2df531e660bd3c43b896970a4f014">&#9670;&nbsp;</a></span>values_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="integral__types_8h.html#a7cde0074dfd288f2d70c0e035dacb28a">int64</a> &gt; values_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00938">938</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="aa8627a7bbb2f34d6156b0fcd3d3abdc2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8627a7bbb2f34d6156b0fcd3d3abdc2">&#9670;&nbsp;</a></span>var_handler_</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_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a> var_handler_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00947">947</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="acb9668115d3d60818099ce9ce80d1ec1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb9668115d3d60818099ce9ce80d1ec1">&#9670;&nbsp;</a></span>vars_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;IntVar *&gt; vars_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00937">937</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="ade0f309c001b408cf7fe2a5b3c672640"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade0f309c001b408cf7fe2a5b3c672640">&#9670;&nbsp;</a></span>was_activated_</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_1Bitset64.html">Bitset64</a> was_activated_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l00943">943</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="routing__neighborhoods_8h_source.html">routing_neighborhoods.h</a></li>
<li><a class="el" href="routing__neighborhoods_8cc_source.html">routing_neighborhoods.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_1MakeRelocateNeighborsOperator.html">MakeRelocateNeighborsOperator</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.8.18 </li>
</ul>
</div>
</body>
</html>