Files
ortools-clone/docs/cpp_routing/classoperations__research_1_1PathOperator.html
Laurent Perron 6230c8e7a4 polish cpp doc
2019-07-12 13:25:23 -07:00

2109 lines
128 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OR-Tools</title>
<meta http-equiv="Content-Type" content="text/html;"/>
<meta charset="utf-8"/>
<!--<link rel='stylesheet' type='text/css' href="https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/>-->
<link rel="stylesheet" type="text/css" href="ortools.css" title="default" media="screen,print" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
</head>
<body>
<div id="banner-container">
<div id="banner">
<span id="sfml">OR-Tools 7.2</span>
</div>
</div>
<link rel="icon" href="https://developers.google.com/optimization/images/orLogo.png">
<div id="content">
<!-- Generated by Doxygen 1.8.15 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
</ul>
</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_1PathOperator.html','');});
/* @license-end */
</script>
<div id="doc-content">
<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_1PathOperator-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">operations_research::PathOperator Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Base class of the local search operators dedicated to path modifications (a path is a set of nodes linked together by arcs). </p>
<p>This family of neighborhoods supposes they are handling next variables representing the arcs (var[i] represents the node immediately after i on a path). Several services are provided:</p><ul>
<li>arc manipulators (<a class="el" href="classoperations__research_1_1PathOperator.html#a2f05e5dce708fd86775e612d08ffc08e" title="Sets the to to be the node after from.">SetNext()</a>, <a class="el" href="classoperations__research_1_1PathOperator.html#ad819515eabc14b84e8e31b574a59d2fb" title="Reverses the chain starting after before_chain and ending before after_chain.">ReverseChain()</a>, <a class="el" href="classoperations__research_1_1PathOperator.html#aa6d431b31dc1fce0520698179e165817" title="Moves the chain starting after the node before_chain and ending at the node chain_end after the node ...">MoveChain()</a>)</li>
<li>path inspectors (<a class="el" href="classoperations__research_1_1PathOperator.html#af916e434b85cddbe48e0378242a04aca" title="Returns the index of the node after the node of index node_index in the current assignment.">Next()</a>, <a class="el" href="classoperations__research_1_1PathOperator.html#a31f03e7418e4d1bd53d8d1212cdba731" title="Returns true if i is the last node on the path; defined by the fact that i outside the range of the v...">IsPathEnd()</a>)</li>
<li>path iterators: operators need a given number of nodes to define a neighbor; this class provides the iteration on a given number of (base) nodes which can be used to define a neighbor (through the BaseNode method) Subclasses only need to override MakeNeighbor to create neighbors using the services above (no direct manipulation of assignments). </li>
</ul>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01261">1261</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.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:aefe922e3f6a2233cf3c2a6bbc079181d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#aefe922e3f6a2233cf3c2a6bbc079181d">PathOperator</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * &gt; &amp;next_vars, const std::vector&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * &gt; &amp;path_vars, int number_of_base_nodes, bool skip_locally_optimal_paths, std::function&lt; int(int64)&gt; start_empty_path_class)</td></tr>
<tr class="memdesc:aefe922e3f6a2233cf3c2a6bbc079181d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds an instance of <a class="el" href="classoperations__research_1_1PathOperator.html" title="Base class of the local search operators dedicated to path modifications (a path is a set of nodes li...">PathOperator</a> from next and path variables. <a href="#aefe922e3f6a2233cf3c2a6bbc079181d">More...</a><br /></td></tr>
<tr class="separator:aefe922e3f6a2233cf3c2a6bbc079181d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a192caff70f4f12fd43df88bf8053e50d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a192caff70f4f12fd43df88bf8053e50d">~PathOperator</a> () override</td></tr>
<tr class="separator:a192caff70f4f12fd43df88bf8053e50d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf884d7efc40fbf9932b64623604c23a"><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#abf884d7efc40fbf9932b64623604c23a">MakeNeighbor</a> ()=0</td></tr>
<tr class="separator:abf884d7efc40fbf9932b64623604c23a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd31bd01947ecfcfcaf0871f1268d54d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#afd31bd01947ecfcfcaf0871f1268d54d">Reset</a> () override</td></tr>
<tr class="separator:afd31bd01947ecfcfcaf0871f1268d54d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13fc3f3cb8f8de7198d1b16338df06ad"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a13fc3f3cb8f8de7198d1b16338df06ad">SkipUnchanged</a> (int index) const override</td></tr>
<tr class="separator:a13fc3f3cb8f8de7198d1b16338df06ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af916e434b85cddbe48e0378242a04aca"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#af916e434b85cddbe48e0378242a04aca">Next</a> (int64 node_index) const</td></tr>
<tr class="memdesc:af916e434b85cddbe48e0378242a04aca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the index of the node after the node of index node_index in the current assignment. <a href="#af916e434b85cddbe48e0378242a04aca">More...</a><br /></td></tr>
<tr class="separator:af916e434b85cddbe48e0378242a04aca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b158942b0eb2b77f96560f34dab5105"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a2b158942b0eb2b77f96560f34dab5105">Path</a> (int64 node_index) const</td></tr>
<tr class="memdesc:a2b158942b0eb2b77f96560f34dab5105"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the index of the path to which the node of index node_index belongs in the current assignment. <a href="#a2b158942b0eb2b77f96560f34dab5105">More...</a><br /></td></tr>
<tr class="separator:a2b158942b0eb2b77f96560f34dab5105"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b11142fde9a99967d442953603afb19"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a1b11142fde9a99967d442953603afb19">number_of_nexts</a> () const</td></tr>
<tr class="memdesc:a1b11142fde9a99967d442953603afb19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of next variables. <a href="#a1b11142fde9a99967d442953603afb19">More...</a><br /></td></tr>
<tr class="separator:a1b11142fde9a99967d442953603afb19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bc78fdde6b4e5a6ad9c3b00a6d47d65"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1IntVarLocalSearchOperator.html#a5bc78fdde6b4e5a6ad9c3b00a6d47d65">MakeNextNeighbor</a> (<a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> *delta, <a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> *deltadelta) override</td></tr>
<tr class="memdesc:a5bc78fdde6b4e5a6ad9c3b00a6d47d65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Redefines MakeNextNeighbor to export a simpler interface. <a href="#a5bc78fdde6b4e5a6ad9c3b00a6d47d65">More...</a><br /></td></tr>
<tr class="separator:a5bc78fdde6b4e5a6ad9c3b00a6d47d65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b2f5a0a53ca3a5fd370d51d5cd03acf"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a8b2f5a0a53ca3a5fd370d51d5cd03acf">HoldsDelta</a> () const override</td></tr>
<tr class="separator:a8b2f5a0a53ca3a5fd370d51d5cd03acf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea532902ec6591bfdd80bfcf8bc101e5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#aea532902ec6591bfdd80bfcf8bc101e5">Start</a> (const <a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> *assignment) override</td></tr>
<tr class="memdesc:aea532902ec6591bfdd80bfcf8bc101e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method should not be overridden. <a href="#aea532902ec6591bfdd80bfcf8bc101e5">More...</a><br /></td></tr>
<tr class="separator:aea532902ec6591bfdd80bfcf8bc101e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abeb70644a01dd602718900dc4ea74138"><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#abeb70644a01dd602718900dc4ea74138">IsIncremental</a> () const</td></tr>
<tr class="separator:abeb70644a01dd602718900dc4ea74138"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24d7846b013b9940fbf367e3f9575eab"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a24d7846b013b9940fbf367e3f9575eab">Size</a> () const</td></tr>
<tr class="separator:a24d7846b013b9940fbf367e3f9575eab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed2632ded4615cbad36036b6025ac183"><td class="memItemLeft" align="right" valign="top">const int64 &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#aed2632ded4615cbad36036b6025ac183">Value</a> (int64 index) const</td></tr>
<tr class="memdesc:aed2632ded4615cbad36036b6025ac183"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the value in the current assignment of the variable of given index. <a href="#aed2632ded4615cbad36036b6025ac183">More...</a><br /></td></tr>
<tr class="separator:aed2632ded4615cbad36036b6025ac183"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4844e2d1e002a6012c65e582583b351d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a4844e2d1e002a6012c65e582583b351d">Var</a> (int64 index) const</td></tr>
<tr class="memdesc:a4844e2d1e002a6012c65e582583b351d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the variable of given index. <a href="#a4844e2d1e002a6012c65e582583b351d">More...</a><br /></td></tr>
<tr class="separator:a4844e2d1e002a6012c65e582583b351d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc1f38d74f6325824ed77acdc1ef973b"><td class="memItemLeft" align="right" valign="top">const int64 &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#acc1f38d74f6325824ed77acdc1ef973b">OldValue</a> (int64 index) const</td></tr>
<tr class="separator:acc1f38d74f6325824ed77acdc1ef973b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58228fd9a45fda74debe601dbed29412"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a58228fd9a45fda74debe601dbed29412">SetValue</a> (int64 index, const int64 &amp;value)</td></tr>
<tr class="separator:a58228fd9a45fda74debe601dbed29412"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad4866caecbcae8b8350ae9e15e124d0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#aad4866caecbcae8b8350ae9e15e124d0">Activated</a> (int64 index) const</td></tr>
<tr class="separator:aad4866caecbcae8b8350ae9e15e124d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a510df14620fc20ebe03cfd7769ee6eac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a510df14620fc20ebe03cfd7769ee6eac">Activate</a> (int64 index)</td></tr>
<tr class="separator:a510df14620fc20ebe03cfd7769ee6eac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed4a4938ec6ea3c46a8b9df80b5656e1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#aed4a4938ec6ea3c46a8b9df80b5656e1">Deactivate</a> (int64 index)</td></tr>
<tr class="separator:aed4a4938ec6ea3c46a8b9df80b5656e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50a9e8bb02dced90001def09e5fe09aa"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a50a9e8bb02dced90001def09e5fe09aa">ApplyChanges</a> (<a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> *delta, <a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> *deltadelta) const</td></tr>
<tr class="separator:a50a9e8bb02dced90001def09e5fe09aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0879e67af842558a1eba522d962b1a1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#ab0879e67af842558a1eba522d962b1a1">RevertChanges</a> (bool incremental)</td></tr>
<tr class="separator:ab0879e67af842558a1eba522d962b1a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7586c7a5666257d16e25e7e402e0881"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#ab7586c7a5666257d16e25e7e402e0881">AddVars</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * &gt; &amp;vars)</td></tr>
<tr class="separator:ab7586c7a5666257d16e25e7e402e0881"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9498f655675f66cd8fcf71041f7ef2cb"><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#a9498f655675f66cd8fcf71041f7ef2cb">Self</a> () const</td></tr>
<tr class="separator:a9498f655675f66cd8fcf71041f7ef2cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ce368143e93d9d49b6e087c53800e73"><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#a7ce368143e93d9d49b6e087c53800e73">HasFragments</a> () const</td></tr>
<tr class="separator:a7ce368143e93d9d49b6e087c53800e73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb3b013c5063d71566d5273793c1d828"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1BaseObject.html#afb3b013c5063d71566d5273793c1d828">DebugString</a> () const</td></tr>
<tr class="separator:afb3b013c5063d71566d5273793c1d828"><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:a91972b2afa1739b2e93e320323b157d1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a91972b2afa1739b2e93e320323b157d1">MakeOneNeighbor</a> () override</td></tr>
<tr class="memdesc:a91972b2afa1739b2e93e320323b157d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method should not be overridden. Override <a class="el" href="classoperations__research_1_1PathOperator.html#abf884d7efc40fbf9932b64623604c23a">MakeNeighbor()</a> instead. <a href="#a91972b2afa1739b2e93e320323b157d1">More...</a><br /></td></tr>
<tr class="separator:a91972b2afa1739b2e93e320323b157d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3e9d2e2469efd77e345b11b6d04e60a"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#af3e9d2e2469efd77e345b11b6d04e60a">BaseNode</a> (int i) const</td></tr>
<tr class="memdesc:af3e9d2e2469efd77e345b11b6d04e60a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the index of the variable corresponding to the ith base node. <a href="#af3e9d2e2469efd77e345b11b6d04e60a">More...</a><br /></td></tr>
<tr class="separator:af3e9d2e2469efd77e345b11b6d04e60a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbf3cfe992573dff00462e8e616cd1ea"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#abbf3cfe992573dff00462e8e616cd1ea">StartNode</a> (int i) const</td></tr>
<tr class="memdesc:abbf3cfe992573dff00462e8e616cd1ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the index of the variable corresponding to the current path of the ith base node. <a href="#abbf3cfe992573dff00462e8e616cd1ea">More...</a><br /></td></tr>
<tr class="separator:abbf3cfe992573dff00462e8e616cd1ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a864082b71a99ae929d97a3eafbf9fc39"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; int64 &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a864082b71a99ae929d97a3eafbf9fc39">path_starts</a> () const</td></tr>
<tr class="memdesc:a864082b71a99ae929d97a3eafbf9fc39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the vector of path start nodes. <a href="#a864082b71a99ae929d97a3eafbf9fc39">More...</a><br /></td></tr>
<tr class="separator:a864082b71a99ae929d97a3eafbf9fc39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d45b94ec6f26f51e95bb651f56f5a59"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a6d45b94ec6f26f51e95bb651f56f5a59">PathClass</a> (int i) const</td></tr>
<tr class="memdesc:a6d45b94ec6f26f51e95bb651f56f5a59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the class of the current path of the ith base node. <a href="#a6d45b94ec6f26f51e95bb651f56f5a59">More...</a><br /></td></tr>
<tr class="separator:a6d45b94ec6f26f51e95bb651f56f5a59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6580d6cdf003656019a25f7e9f2d8496"><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#a6580d6cdf003656019a25f7e9f2d8496">RestartAtPathStartOnSynchronize</a> ()</td></tr>
<tr class="memdesc:a6580d6cdf003656019a25f7e9f2d8496"><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#aea532902ec6591bfdd80bfcf8bc101e5" 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="#a6580d6cdf003656019a25f7e9f2d8496">More...</a><br /></td></tr>
<tr class="separator:a6580d6cdf003656019a25f7e9f2d8496"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a661ecee1a13c036a57c5c75b97882462"><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#a661ecee1a13c036a57c5c75b97882462">OnSamePathAsPreviousBase</a> (int64 base_index)</td></tr>
<tr class="memdesc:a661ecee1a13c036a57c5c75b97882462"><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="#a661ecee1a13c036a57c5c75b97882462">More...</a><br /></td></tr>
<tr class="separator:a661ecee1a13c036a57c5c75b97882462"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c309dfacbd1dc10373408446e46f118"><td class="memItemLeft" align="right" valign="top">virtual int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a2c309dfacbd1dc10373408446e46f118">GetBaseNodeRestartPosition</a> (int base_index)</td></tr>
<tr class="memdesc:a2c309dfacbd1dc10373408446e46f118"><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="#a2c309dfacbd1dc10373408446e46f118">More...</a><br /></td></tr>
<tr class="separator:a2c309dfacbd1dc10373408446e46f118"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad25e64910b5848f1ce0669fb00ae2270"><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#ad25e64910b5848f1ce0669fb00ae2270">SetNextBaseToIncrement</a> (int64 base_index)</td></tr>
<tr class="memdesc:ad25e64910b5848f1ce0669fb00ae2270"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the next base to increment on next iteration. <a href="#ad25e64910b5848f1ce0669fb00ae2270">More...</a><br /></td></tr>
<tr class="separator:ad25e64910b5848f1ce0669fb00ae2270"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28790409d066cdf5e1aabe7346bdd8f1"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a28790409d066cdf5e1aabe7346bdd8f1">OldNext</a> (int64 node_index) const</td></tr>
<tr class="separator:a28790409d066cdf5e1aabe7346bdd8f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c170be7bcefce3b86ed107bab998b23"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a1c170be7bcefce3b86ed107bab998b23">OldPath</a> (int64 node_index) const</td></tr>
<tr class="separator:a1c170be7bcefce3b86ed107bab998b23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6d431b31dc1fce0520698179e165817"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#aa6d431b31dc1fce0520698179e165817">MoveChain</a> (int64 before_chain, int64 chain_end, int64 destination)</td></tr>
<tr class="memdesc:aa6d431b31dc1fce0520698179e165817"><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="#aa6d431b31dc1fce0520698179e165817">More...</a><br /></td></tr>
<tr class="separator:aa6d431b31dc1fce0520698179e165817"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad819515eabc14b84e8e31b574a59d2fb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#ad819515eabc14b84e8e31b574a59d2fb">ReverseChain</a> (int64 before_chain, int64 after_chain, int64 *chain_last)</td></tr>
<tr class="memdesc:ad819515eabc14b84e8e31b574a59d2fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverses the chain starting after before_chain and ending before after_chain. <a href="#ad819515eabc14b84e8e31b574a59d2fb">More...</a><br /></td></tr>
<tr class="separator:ad819515eabc14b84e8e31b574a59d2fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb067b917027c878de5284d3ee191528"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#acb067b917027c878de5284d3ee191528">MakeActive</a> (int64 node, int64 destination)</td></tr>
<tr class="separator:acb067b917027c878de5284d3ee191528"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12698134e7a71ccbe52c4ce36213f0f1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a12698134e7a71ccbe52c4ce36213f0f1">MakeChainInactive</a> (int64 before_chain, int64 chain_end)</td></tr>
<tr class="separator:a12698134e7a71ccbe52c4ce36213f0f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f05e5dce708fd86775e612d08ffc08e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a2f05e5dce708fd86775e612d08ffc08e">SetNext</a> (int64 from, int64 to, int64 path)</td></tr>
<tr class="memdesc:a2f05e5dce708fd86775e612d08ffc08e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the to to be the node after from. <a href="#a2f05e5dce708fd86775e612d08ffc08e">More...</a><br /></td></tr>
<tr class="separator:a2f05e5dce708fd86775e612d08ffc08e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31f03e7418e4d1bd53d8d1212cdba731"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a31f03e7418e4d1bd53d8d1212cdba731">IsPathEnd</a> (int64 i) const</td></tr>
<tr class="memdesc:a31f03e7418e4d1bd53d8d1212cdba731"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if i is the last node on the path; defined by the fact that i outside the range of the variable array. <a href="#a31f03e7418e4d1bd53d8d1212cdba731">More...</a><br /></td></tr>
<tr class="separator:a31f03e7418e4d1bd53d8d1212cdba731"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec53f03b1e4951950f970a0da7d78fc8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#aec53f03b1e4951950f970a0da7d78fc8">IsInactive</a> (int64 i) const</td></tr>
<tr class="memdesc:aec53f03b1e4951950f970a0da7d78fc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if node is inactive. <a href="#aec53f03b1e4951950f970a0da7d78fc8">More...</a><br /></td></tr>
<tr class="separator:aec53f03b1e4951950f970a0da7d78fc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ae387b900a7fd695061874269c46509"><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#a7ae387b900a7fd695061874269c46509">InitPosition</a> () const</td></tr>
<tr class="memdesc:a7ae387b900a7fd695061874269c46509"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if operator needs to restart its initial position at each call to <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#aea532902ec6591bfdd80bfcf8bc101e5" title="This method should not be overridden.">Start()</a> <a href="#a7ae387b900a7fd695061874269c46509">More...</a><br /></td></tr>
<tr class="separator:a7ae387b900a7fd695061874269c46509"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a1cf2f93320e83de87b6c302f27e00d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a2a1cf2f93320e83de87b6c302f27e00d">ResetPosition</a> ()</td></tr>
<tr class="memdesc:a2a1cf2f93320e83de87b6c302f27e00d"><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#aea532902ec6591bfdd80bfcf8bc101e5" 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="#a2a1cf2f93320e83de87b6c302f27e00d">More...</a><br /></td></tr>
<tr class="separator:a2a1cf2f93320e83de87b6c302f27e00d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45cd791846ef146c03a87b3ab380c030"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a45cd791846ef146c03a87b3ab380c030">MarkChange</a> (int64 index)</td></tr>
<tr class="memdesc:a45cd791846ef146c03a87b3ab380c030"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#acea2a4d4db296445315d66aaec85ee81" 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="#a45cd791846ef146c03a87b3ab380c030">More...</a><br /></td></tr>
<tr class="separator:a45cd791846ef146c03a87b3ab380c030"><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:ae108cf2f383928202b506cba66e911ee"><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#ae108cf2f383928202b506cba66e911ee">number_of_nexts_</a></td></tr>
<tr class="separator:ae108cf2f383928202b506cba66e911ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46728a21c28eaf507a20bba345d9df8f"><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#a46728a21c28eaf507a20bba345d9df8f">ignore_path_vars_</a></td></tr>
<tr class="separator:a46728a21c28eaf507a20bba345d9df8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10f2c4277993608f09fea9244df0a301"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#a10f2c4277993608f09fea9244df0a301">next_base_to_increment_</a></td></tr>
<tr class="separator:a10f2c4277993608f09fea9244df0a301"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadab60adab155e9fe9da3f550643d671"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#aadab60adab155e9fe9da3f550643d671">num_paths_</a> = 0</td></tr>
<tr class="separator:aadab60adab155e9fe9da3f550643d671"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae805be99530c66f840c6d99a2987c3b4"><td class="memItemLeft" align="right" valign="top">std::vector&lt; int64 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PathOperator.html#ae805be99530c66f840c6d99a2987c3b4">start_to_path_</a></td></tr>
<tr class="separator:ae805be99530c66f840c6d99a2987c3b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a710d1eeb2818e3730a08e62c7314862e"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a710d1eeb2818e3730a08e62c7314862e">vars_</a></td></tr>
<tr class="separator:a710d1eeb2818e3730a08e62c7314862e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadd339ccd5a44eb702049d147fce0f75"><td class="memItemLeft" align="right" valign="top">std::vector&lt; int64 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#aadd339ccd5a44eb702049d147fce0f75">values_</a></td></tr>
<tr class="separator:aadd339ccd5a44eb702049d147fce0f75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4f20070ef5ff1a051b602e691ab6567"><td class="memItemLeft" align="right" valign="top">std::vector&lt; int64 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#ae4f20070ef5ff1a051b602e691ab6567">old_values_</a></td></tr>
<tr class="separator:ae4f20070ef5ff1a051b602e691ab6567"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad53681f1b9d6707149608c7826c3a834"><td class="memItemLeft" align="right" valign="top">std::vector&lt; int64 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#ad53681f1b9d6707149608c7826c3a834">prev_values_</a></td></tr>
<tr class="separator:ad53681f1b9d6707149608c7826c3a834"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65dad0789e8a043e7e38528ce81c6874"><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#a65dad0789e8a043e7e38528ce81c6874">assignment_indices_</a></td></tr>
<tr class="separator:a65dad0789e8a043e7e38528ce81c6874"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36de50f13d1b2aa3de35ceca4214c2a0"><td class="memItemLeft" align="right" valign="top">Bitset64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a36de50f13d1b2aa3de35ceca4214c2a0">activated_</a></td></tr>
<tr class="separator:a36de50f13d1b2aa3de35ceca4214c2a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14f6f947f99af037d1611c18c2730323"><td class="memItemLeft" align="right" valign="top">Bitset64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a14f6f947f99af037d1611c18c2730323">was_activated_</a></td></tr>
<tr class="separator:a14f6f947f99af037d1611c18c2730323"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed78d261e91c29a927c7caf938882bb5"><td class="memItemLeft" align="right" valign="top">SparseBitset&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#aed78d261e91c29a927c7caf938882bb5">changes_</a></td></tr>
<tr class="separator:aed78d261e91c29a927c7caf938882bb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07f399ef1d34d435289229d620c3350e"><td class="memItemLeft" align="right" valign="top">SparseBitset&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a07f399ef1d34d435289229d620c3350e">delta_changes_</a></td></tr>
<tr class="separator:a07f399ef1d34d435289229d620c3350e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c6887f734d2a6ef16165b9893a9fa59"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a5c6887f734d2a6ef16165b9893a9fa59">cleared_</a></td></tr>
<tr class="separator:a5c6887f734d2a6ef16165b9893a9fa59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79bf2242dc1962d10e6b04cf09be2c56"><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#a79bf2242dc1962d10e6b04cf09be2c56">var_handler_</a></td></tr>
<tr class="separator:a79bf2242dc1962d10e6b04cf09be2c56"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aefe922e3f6a2233cf3c2a6bbc079181d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aefe922e3f6a2233cf3c2a6bbc079181d">&#9670;&nbsp;</a></span>PathOperator()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">operations_research::PathOperator::PathOperator </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>next_vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>path_vars</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>number_of_base_nodes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>skip_locally_optimal_paths</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::function&lt; int(int64)&gt;&#160;</td>
<td class="paramname"><em>start_empty_path_class</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Builds an instance of <a class="el" href="classoperations__research_1_1PathOperator.html" title="Base class of the local search operators dedicated to path modifications (a path is a set of nodes li...">PathOperator</a> from next and path variables. </p>
<p>'number_of_base_nodes' is the number of nodes needed to define a neighbor. 'start_empty_path_class' is a callback returning an index such that if c1 = start_empty_path_class(StartNode(p1)), c2 = start_empty_path_class(StartNode(p2)), p1 and p2 are path indices, then if c1 == c2, p1 and p2 are equivalent if they are empty. This is used to remove neighborhood symmetries on equivalent empty paths; for instance if a node cannot be moved to an empty path, then all moves moving the same node to equivalent empty paths will be skipped. 'start_empty_path_class' can be nullptr in which case no symmetries will be removed. </p>
</div>
</div>
<a id="a192caff70f4f12fd43df88bf8053e50d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a192caff70f4f12fd43df88bf8053e50d">&#9670;&nbsp;</a></span>~PathOperator()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">operations_research::PathOperator::~PathOperator </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="constraint__solveri_8h_source.html#l01280">1280</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a510df14620fc20ebe03cfd7769ee6eac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a510df14620fc20ebe03cfd7769ee6eac">&#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 <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a> &gt;::Activate </td>
<td>(</td>
<td class="paramtype">int64&#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="aad4866caecbcae8b8350ae9e15e124d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad4866caecbcae8b8350ae9e15e124d0">&#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 <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a> &gt;::Activated </td>
<td>(</td>
<td class="paramtype">int64&#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="ab7586c7a5666257d16e25e7e402e0881"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab7586c7a5666257d16e25e7e402e0881">&#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 <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a> &gt;::AddVars </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * &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="a50a9e8bb02dced90001def09e5fe09aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50a9e8bb02dced90001def09e5fe09aa">&#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 <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a> &gt;::ApplyChanges </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> *&#160;</td>
<td class="paramname"><em>delta</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> *&#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="af3e9d2e2469efd77e345b11b6d04e60a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af3e9d2e2469efd77e345b11b6d04e60a">&#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">int64 operations_research::PathOperator::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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the index of the variable corresponding to the ith base node. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01308">1308</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="aed4a4938ec6ea3c46a8b9df80b5656e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed4a4938ec6ea3c46a8b9df80b5656e1">&#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 <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a> &gt;::Deactivate </td>
<td>(</td>
<td class="paramtype">int64&#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="afb3b013c5063d71566d5273793c1d828"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb3b013c5063d71566d5273793c1d828">&#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">virtual std::string operations_research::BaseObject::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">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_1Pack.html#a494cf6256ff568544390e507a6943112">operations_research::Pack</a>, <a class="el" href="classoperations__research_1_1Assignment.html#a709bad20694c9c117a3abfff24a60d03">operations_research::Assignment</a>, <a class="el" href="classoperations__research_1_1SequenceVar.html#af92814129c466409ff4c004002c2034d">operations_research::SequenceVar</a>, <a class="el" href="classoperations__research_1_1RegularLimit.html#a7a6e185350eade19733138b3d054bba9">operations_research::RegularLimit</a>, <a class="el" href="classoperations__research_1_1SearchLimit.html#a1e65e704ea5249bc9c346b46449ff1ba">operations_research::SearchLimit</a>, <a class="el" href="classoperations__research_1_1OptimizeVar.html#ae2a7ca2a1d7ffb879e2d7794aa3875dc">operations_research::OptimizeVar</a>, <a class="el" href="classoperations__research_1_1SolutionCollector.html#a13b2487c422d35cd36e9bfbc2810c652">operations_research::SolutionCollector</a>, <a class="el" href="classoperations__research_1_1IntVarIterator.html#afcbc1c1ac6f9230d7037807d3dbd46dc">operations_research::IntVarIterator</a>, <a class="el" href="classoperations__research_1_1Constraint.html#a443bf6da3f8db15c240cb92d20e37466">operations_research::Constraint</a>, <a class="el" href="classoperations__research_1_1CPFeasibilityFilter.html#a39c6c9bb0a7cdaa452daa56e740f10b4">operations_research::CPFeasibilityFilter</a>, <a class="el" href="classoperations__research_1_1Demon.html#a906a1bd16d33b9b841e68b2a06bbbfd2">operations_research::Demon</a>, <a class="el" href="classoperations__research_1_1DecisionBuilder.html#aca201d99227a6116c62418d28761aa9b">operations_research::DecisionBuilder</a>, <a class="el" href="classoperations__research_1_1Decision.html#a8c30db3cf86cc406442a05f5361fe4b9">operations_research::Decision</a>, <a class="el" href="classoperations__research_1_1ChristofidesFilteredDecisionBuilder.html#adfc28bc18d4fbc481c51c92b44d12739">operations_research::ChristofidesFilteredDecisionBuilder</a>, <a class="el" href="classoperations__research_1_1ParallelSavingsFilteredDecisionBuilder.html#ad81f687a2b8b7f06fbe387c2a9159163">operations_research::ParallelSavingsFilteredDecisionBuilder</a>, <a class="el" href="classoperations__research_1_1PropagationBaseObject.html#ae5b6f8cb73c1b76da152ad612f91c4ce">operations_research::PropagationBaseObject</a>, <a class="el" href="classoperations__research_1_1SequentialSavingsFilteredDecisionBuilder.html#a03eb36c220aacf9dc6eaa439a242b76c">operations_research::SequentialSavingsFilteredDecisionBuilder</a>, <a class="el" href="classoperations__research_1_1ComparatorCheapestAdditionFilteredDecisionBuilder.html#a1ee5ca24459065ac257b5e4b7a48778e">operations_research::ComparatorCheapestAdditionFilteredDecisionBuilder</a>, <a class="el" href="classoperations__research_1_1EvaluatorCheapestAdditionFilteredDecisionBuilder.html#aff3956d65c1486c9bdab3fd850dbb5a6">operations_research::EvaluatorCheapestAdditionFilteredDecisionBuilder</a>, <a class="el" href="classoperations__research_1_1LocalCheapestInsertionFilteredDecisionBuilder.html#af623caea58c368f9b6bd5c3c7cca4e01">operations_research::LocalCheapestInsertionFilteredDecisionBuilder</a>, <a class="el" href="classoperations__research_1_1GlobalCheapestInsertionFilteredDecisionBuilder.html#a396d1d7fcc6b3b71cdb07105867b83cf">operations_research::GlobalCheapestInsertionFilteredDecisionBuilder</a>, <a class="el" href="classoperations__research_1_1ArrayWithOffset.html#ae3389cbd1f1f47c3c0ba0d8c9d98c8d2">operations_research::ArrayWithOffset&lt; T &gt;</a>, <a class="el" href="classoperations__research_1_1SearchLog.html#ae853a2dfed7755b376ccbee1c534682f">operations_research::SearchLog</a>, <a class="el" href="classoperations__research_1_1BooleanVar.html#acad14290f1f14a53adc0feb170d67f22">operations_research::BooleanVar</a>, <a class="el" href="classoperations__research_1_1LocalSearchMonitor.html#ab47cdaf51e8a28905ab0967a65138adc">operations_research::LocalSearchMonitor</a>, <a class="el" href="classoperations__research_1_1PropagationMonitor.html#a303fb6b35a71fdbcba21088d88a222ac">operations_research::PropagationMonitor</a>, <a class="el" href="classoperations__research_1_1LocalSearchFilterManager.html#a92e302e76f3c9a4033c390cbd2be9c48">operations_research::LocalSearchFilterManager</a>, <a class="el" href="classoperations__research_1_1PathWithPreviousNodesOperator.html#ac3dd1fd60d3ebe3777a8369787f78275">operations_research::PathWithPreviousNodesOperator</a>, <a class="el" href="classoperations__research_1_1DelayedCallMethod2.html#a58c60413c247ee5d5fb627dda5aa20f9">operations_research::DelayedCallMethod2&lt; T, P, Q &gt;</a>, <a class="el" href="classoperations__research_1_1DelayedCallMethod1.html#ac7acfb8e911fb85df5208f96f5e44adf">operations_research::DelayedCallMethod1&lt; T, P &gt;</a>, <a class="el" href="classoperations__research_1_1DelayedCallMethod0.html#ade95ef80273cff25d8e6ad96930484b6">operations_research::DelayedCallMethod0&lt; T &gt;</a>, <a class="el" href="classoperations__research_1_1CallMethod3.html#a8ffd455d49414f28011382cf83fff175">operations_research::CallMethod3&lt; T, P, Q, R &gt;</a>, <a class="el" href="classoperations__research_1_1CallMethod2.html#a441b1578ed3ec8baccd9938f637fb96d">operations_research::CallMethod2&lt; T, P, Q &gt;</a>, <a class="el" href="classoperations__research_1_1CallMethod1.html#ab65d89c9f459c682e727ec7352b13d0f">operations_research::CallMethod1&lt; T, P &gt;</a>, <a class="el" href="classoperations__research_1_1ExchangeSubtrip.html#a66dd3883a571b730fec9c047711e9635">operations_research::ExchangeSubtrip</a>, <a class="el" href="classoperations__research_1_1RelocateSubtrip.html#aa9aa7e51c3ae2c7943a0c9700ebc3ea5">operations_research::RelocateSubtrip</a>, <a class="el" href="classoperations__research_1_1CallMethod0.html#a50933bd9255294eca78f60b3b5bd176c">operations_research::CallMethod0&lt; T &gt;</a>, <a class="el" href="classoperations__research_1_1PairNodeSwapActiveOperator.html#ab62649ea792c88c3e39f90f40da4434a">operations_research::PairNodeSwapActiveOperator&lt; swap_first &gt;</a>, <a class="el" href="classoperations__research_1_1RelocateExpensiveChain.html#a99cdd3acd4fd444399b6a70ee546e77b">operations_research::RelocateExpensiveChain</a>, <a class="el" href="classoperations__research_1_1IndexPairSwapActiveOperator.html#ad9fef9a1ded161855e9c130bd1019b98">operations_research::IndexPairSwapActiveOperator</a>, <a class="el" href="classoperations__research_1_1SwapIndexPairOperator.html#a4b6e91cf387750a4d199f0ec3a225008">operations_research::SwapIndexPairOperator</a>, <a class="el" href="classoperations__research_1_1PairExchangeRelocateOperator.html#a4e68060927f617c04e2def41e9f1fd2a">operations_research::PairExchangeRelocateOperator</a>, <a class="el" href="classoperations__research_1_1PairExchangeOperator.html#a78bebf852bbc0d9666c0a2626ea10564">operations_research::PairExchangeOperator</a>, <a class="el" href="classoperations__research_1_1LightPairRelocateOperator.html#a748f7ffb28521cbf984314b0976ea88e">operations_research::LightPairRelocateOperator</a>, <a class="el" href="classoperations__research_1_1PairRelocateOperator.html#adf487da3f24592d0f7ab321358b47385">operations_research::PairRelocateOperator</a>, <a class="el" href="classoperations__research_1_1MakePairInactiveOperator.html#aad7e91452b315d47ff25a9873f438316">operations_research::MakePairInactiveOperator</a>, <a class="el" href="classoperations__research_1_1MakePairActiveOperator.html#a0b374cf2ad00b0ae1249ae3f40748c9d">operations_research::MakePairActiveOperator</a>, and <a class="el" href="classoperations__research_1_1MakeRelocateNeighborsOperator.html#a5e5d6f27a9a11ec5ff0d88fe0e83a003">operations_research::MakeRelocateNeighborsOperator</a>.</p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03093">3093</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a2c309dfacbd1dc10373408446e46f118"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c309dfacbd1dc10373408446e46f118">&#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 int64 operations_research::PathOperator::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> </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_1PairNodeSwapActiveOperator.html#a8023edd3bb68723e1be72fbdef1e3313">operations_research::PairNodeSwapActiveOperator&lt; swap_first &gt;</a>, <a class="el" href="classoperations__research_1_1PairExchangeRelocateOperator.html#a03a0c86a9d849961094e427a573bb826">operations_research::PairExchangeRelocateOperator</a>, <a class="el" href="classoperations__research_1_1PairRelocateOperator.html#a07839e54aa42e5040ba1d04729a53ebc">operations_research::PairRelocateOperator</a>, and <a class="el" href="classoperations__research_1_1MakePairActiveOperator.html#a54d05bb6495074bd795eeece6f7466a6">operations_research::MakePairActiveOperator</a>.</p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01340">1340</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a7ce368143e93d9d49b6e087c53800e73"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ce368143e93d9d49b6e087c53800e73">&#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 operations_research::LocalSearchOperator::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_1BaseLns.html#a4d8adbee4dc4ff4795904ef4e817a5f2">operations_research::BaseLns</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="a8b2f5a0a53ca3a5fd370d51d5cd03acf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b2f5a0a53ca3a5fd370d51d5cd03acf">&#9670;&nbsp;</a></span>HoldsDelta()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a> &gt;::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">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#a2288c9bfc7b3d9ad8e06c346c675b2b0">operations_research::LocalSearchOperator</a>.</p>
<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="a7ae387b900a7fd695061874269c46509"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ae387b900a7fd695061874269c46509">&#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 operations_research::PathOperator::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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if operator needs to restart its initial position at each call to <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#aea532902ec6591bfdd80bfcf8bc101e5" title="This method should not be overridden.">Start()</a> </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01388">1388</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="aec53f03b1e4951950f970a0da7d78fc8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec53f03b1e4951950f970a0da7d78fc8">&#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 operations_research::PathOperator::IsInactive </td>
<td>(</td>
<td class="paramtype">int64&#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> </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#l01384">1384</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="abeb70644a01dd602718900dc4ea74138"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abeb70644a01dd602718900dc4ea74138">&#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 <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a> &gt;::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="a31f03e7418e4d1bd53d8d1212cdba731"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31f03e7418e4d1bd53d8d1212cdba731">&#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 operations_research::PathOperator::IsPathEnd </td>
<td>(</td>
<td class="paramtype">int64&#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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if i is the last node on the path; defined by the fact that i outside the range of the variable array. </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="acb067b917027c878de5284d3ee191528"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb067b917027c878de5284d3ee191528">&#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 operations_research::PathOperator::MakeActive </td>
<td>(</td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64&#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> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a12698134e7a71ccbe52c4ce36213f0f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a12698134e7a71ccbe52c4ce36213f0f1">&#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 operations_research::PathOperator::MakeChainInactive </td>
<td>(</td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>before_chain</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64&#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> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="abf884d7efc40fbf9932b64623604c23a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf884d7efc40fbf9932b64623604c23a">&#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">virtual bool operations_research::PathOperator::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">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="classoperations__research_1_1ExchangeSubtrip.html#a4f48364ef4d882276af33968d534fc4a">operations_research::ExchangeSubtrip</a>, <a class="el" href="classoperations__research_1_1RelocateSubtrip.html#a3ff200c1f4b1e64074225d838aa3789b">operations_research::RelocateSubtrip</a>, <a class="el" href="classoperations__research_1_1PairNodeSwapActiveOperator.html#aa1d1ae60a42228a1ed1363362006f05e">operations_research::PairNodeSwapActiveOperator&lt; swap_first &gt;</a>, <a class="el" href="classoperations__research_1_1RelocateExpensiveChain.html#a9a88f045cd2761bbe4894bf5764e6078">operations_research::RelocateExpensiveChain</a>, <a class="el" href="classoperations__research_1_1IndexPairSwapActiveOperator.html#a3a0df60af89ee61a1bb0a214214e5ac1">operations_research::IndexPairSwapActiveOperator</a>, <a class="el" href="classoperations__research_1_1PairExchangeRelocateOperator.html#af5f3f6aa4e76d51ee677bbc277da242a">operations_research::PairExchangeRelocateOperator</a>, <a class="el" href="classoperations__research_1_1PairExchangeOperator.html#abe5bdb5b47972a06326d2e9ab802faf4">operations_research::PairExchangeOperator</a>, <a class="el" href="classoperations__research_1_1LightPairRelocateOperator.html#ab5a8f9eadcc60ebb142f301ad0206f45">operations_research::LightPairRelocateOperator</a>, <a class="el" href="classoperations__research_1_1PairRelocateOperator.html#ada4c573d55306bbad08fec943e279ba2">operations_research::PairRelocateOperator</a>, <a class="el" href="classoperations__research_1_1MakePairInactiveOperator.html#a772a3dc510a540342e0e010d7fa6f7ac">operations_research::MakePairInactiveOperator</a>, <a class="el" href="classoperations__research_1_1MakePairActiveOperator.html#a6cdf2d6cd73f281d1d0aff368e551d99">operations_research::MakePairActiveOperator</a>, and <a class="el" href="classoperations__research_1_1MakeRelocateNeighborsOperator.html#a68fcef23cc239d8bc9f7864595a05d5e">operations_research::MakeRelocateNeighborsOperator</a>.</p>
</div>
</div>
<a id="a5bc78fdde6b4e5a6ad9c3b00a6d47d65"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5bc78fdde6b4e5a6ad9c3b00a6d47d65">&#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 operations_research::IntVarLocalSearchOperator::MakeNextNeighbor </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> *&#160;</td>
<td class="paramname"><em>delta</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> *&#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#a50a9e8bb02dced90001def09e5fe09aa">ApplyChanges()</a> and <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#ab0879e67af842558a1eba522d962b1a1">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#a91972b2afa1739b2e93e320323b157d1" 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#a91972b2afa1739b2e93e320323b157d1" 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#a2951ae57e5fd3fce7d4f9b831594b460">operations_research::LocalSearchOperator</a>.</p>
<p>Reimplemented in <a class="el" href="classoperations__research_1_1PairNodeSwapActiveOperator.html#a0980c455528f5b1ba4ecd1137d412403">operations_research::PairNodeSwapActiveOperator&lt; swap_first &gt;</a>, <a class="el" href="classoperations__research_1_1IndexPairSwapActiveOperator.html#a11a3a2e7cea2b5b5197b9a17a71dc075">operations_research::IndexPairSwapActiveOperator</a>, <a class="el" href="classoperations__research_1_1SwapIndexPairOperator.html#aa898c7fe71ea8c1bf1d16ac656037c01">operations_research::SwapIndexPairOperator</a>, and <a class="el" href="classoperations__research_1_1MakePairActiveOperator.html#adf56eeee1f33c11ce6f80d4a881ada31">operations_research::MakePairActiveOperator</a>.</p>
</div>
</div>
<a id="a91972b2afa1739b2e93e320323b157d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a91972b2afa1739b2e93e320323b157d1">&#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 operations_research::PathOperator::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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method should not be overridden. Override <a class="el" href="classoperations__research_1_1PathOperator.html#abf884d7efc40fbf9932b64623604c23a">MakeNeighbor()</a> instead. </p>
<p>Reimplemented from <a class="el" href="classoperations__research_1_1IntVarLocalSearchOperator.html#a821c7457813d5411b11e6bbfce63f47a">operations_research::IntVarLocalSearchOperator</a>.</p>
<p>Reimplemented in <a class="el" href="classoperations__research_1_1RelocateExpensiveChain.html#ac22e01aeaac3d0cafcb8b2d0ebf59bcf">operations_research::RelocateExpensiveChain</a>.</p>
</div>
</div>
<a id="a45cd791846ef146c03a87b3ab380c030"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45cd791846ef146c03a87b3ab380c030">&#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 <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a> &gt;::MarkChange </td>
<td>(</td>
<td class="paramtype">int64&#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="aa6d431b31dc1fce0520698179e165817"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6d431b31dc1fce0520698179e165817">&#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 operations_research::PathOperator::MoveChain </td>
<td>(</td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>before_chain</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>chain_end</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64&#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> </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>
</div>
</div>
<a id="af916e434b85cddbe48e0378242a04aca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af916e434b85cddbe48e0378242a04aca">&#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">int64 operations_research::PathOperator::Next </td>
<td>(</td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>node_index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the index of the node after the node of index node_index in the current assignment. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01289">1289</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a1b11142fde9a99967d442953603afb19"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b11142fde9a99967d442953603afb19">&#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 operations_research::PathOperator::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> </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#l01301">1301</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a28790409d066cdf5e1aabe7346bdd8f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28790409d066cdf5e1aabe7346bdd8f1">&#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">int64 operations_research::PathOperator::OldNext </td>
<td>(</td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>node_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> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01349">1349</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a1c170be7bcefce3b86ed107bab998b23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c170be7bcefce3b86ed107bab998b23">&#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">int64 operations_research::PathOperator::OldPath </td>
<td>(</td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>node_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> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01354">1354</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="acc1f38d74f6325824ed77acdc1ef973b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc1f38d74f6325824ed77acdc1ef973b">&#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 int64 &amp; <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a> &gt;::OldValue </td>
<td>(</td>
<td class="paramtype">int64&#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="a661ecee1a13c036a57c5c75b97882462"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a661ecee1a13c036a57c5c75b97882462">&#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 operations_research::PathOperator::OnSamePathAsPreviousBase </td>
<td>(</td>
<td class="paramtype">int64&#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> </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_1PairNodeSwapActiveOperator.html#a3930be7f9d8aa73d847eaaaca0ee1180">operations_research::PairNodeSwapActiveOperator&lt; swap_first &gt;</a>, <a class="el" href="classoperations__research_1_1PairExchangeRelocateOperator.html#a3beb65eed738c57a613b70cab4e89b9a">operations_research::PairExchangeRelocateOperator</a>, <a class="el" href="classoperations__research_1_1PairRelocateOperator.html#a498abb2b2994fe5fcf8abb6a731b4418">operations_research::PairRelocateOperator</a>, and <a class="el" href="classoperations__research_1_1MakePairActiveOperator.html#a723d92c5b664592897a42cb2d2478e0f">operations_research::MakePairActiveOperator</a>.</p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01334">1334</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a2b158942b0eb2b77f96560f34dab5105"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b158942b0eb2b77f96560f34dab5105">&#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">int64 operations_research::PathOperator::Path </td>
<td>(</td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>node_index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the index of the path to which the node of index node_index belongs in the current assignment. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01296">1296</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a864082b71a99ae929d97a3eafbf9fc39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a864082b71a99ae929d97a3eafbf9fc39">&#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;int64&gt;&amp; operations_research::PathOperator::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> </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#l01313">1313</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a6d45b94ec6f26f51e95bb651f56f5a59"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d45b94ec6f26f51e95bb651f56f5a59">&#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 operations_research::PathOperator::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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the class of the current path of the ith base node. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01315">1315</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="afd31bd01947ecfcfcaf0871f1268d54d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd31bd01947ecfcfcaf0871f1268d54d">&#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 operations_research::PathOperator::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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reimplemented from <a class="el" href="classoperations__research_1_1LocalSearchOperator.html#a19dbe14d545ff629f7756b32d570c349">operations_research::LocalSearchOperator</a>.</p>
</div>
</div>
<a id="a2a1cf2f93320e83de87b6c302f27e00d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a1cf2f93320e83de87b6c302f27e00d">&#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 operations_research::PathOperator::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> </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#aea532902ec6591bfdd80bfcf8bc101e5" 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#l01392">1392</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a6580d6cdf003656019a25f7e9f2d8496"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6580d6cdf003656019a25f7e9f2d8496">&#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 operations_research::PathOperator::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> </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#aea532902ec6591bfdd80bfcf8bc101e5" 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#a0501b7d5bc01026d24c1e942432593ad">operations_research::PairNodeSwapActiveOperator&lt; swap_first &gt;</a>, and <a class="el" href="classoperations__research_1_1MakePairActiveOperator.html#a77e9aa9f4c619b386919b734d6cbda90">operations_research::MakePairActiveOperator</a>.</p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01328">1328</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="ad819515eabc14b84e8e31b574a59d2fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad819515eabc14b84e8e31b574a59d2fb">&#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 operations_research::PathOperator::ReverseChain </td>
<td>(</td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>before_chain</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>after_chain</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64 *&#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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reverses the chain starting after before_chain and ending before after_chain. </p>
</div>
</div>
<a id="ab0879e67af842558a1eba522d962b1a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0879e67af842558a1eba522d962b1a1">&#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 <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a> &gt;::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="a9498f655675f66cd8fcf71041f7ef2cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9498f655675f66cd8fcf71041f7ef2cb">&#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>* operations_research::LocalSearchOperator::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="a2f05e5dce708fd86775e612d08ffc08e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f05e5dce708fd86775e612d08ffc08e">&#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 operations_research::PathOperator::SetNext </td>
<td>(</td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>from</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>to</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64&#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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the to to be the node after from. </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="ad25e64910b5848f1ce0669fb00ae2270"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad25e64910b5848f1ce0669fb00ae2270">&#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 operations_research::PathOperator::SetNextBaseToIncrement </td>
<td>(</td>
<td class="paramtype">int64&#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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the next base to increment on next iteration. </p>
<p>All base &gt; base_index will be reset to their start value. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01345">1345</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a58228fd9a45fda74debe601dbed29412"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58228fd9a45fda74debe601dbed29412">&#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 <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a> &gt;::SetValue </td>
<td>(</td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int64 &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="a24d7846b013b9940fbf367e3f9575eab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24d7846b013b9940fbf367e3f9575eab">&#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 <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a> &gt;::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="a13fc3f3cb8f8de7198d1b16338df06ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13fc3f3cb8f8de7198d1b16338df06ad">&#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 operations_research::PathOperator::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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reimplemented from <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html#a77ea7391b7d1cbde18ad821e8e681413">operations_research::VarLocalSearchOperator&lt; IntVar, int64, IntVarLocalSearchHandler &gt;</a>.</p>
</div>
</div>
<a id="aea532902ec6591bfdd80bfcf8bc101e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea532902ec6591bfdd80bfcf8bc101e5">&#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 <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a> &gt;::Start </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> *&#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#a832fd07f7355d16895841a4735e544c1">operations_research::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="abbf3cfe992573dff00462e8e616cd1ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abbf3cfe992573dff00462e8e616cd1ea">&#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">int64 operations_research::PathOperator::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> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the index of the variable corresponding to the current path of the ith base node. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01311">1311</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="aed2632ded4615cbad36036b6025ac183"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed2632ded4615cbad36036b6025ac183">&#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 int64 &amp; <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a> &gt;::Value </td>
<td>(</td>
<td class="paramtype">int64&#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="a4844e2d1e002a6012c65e582583b351d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4844e2d1e002a6012c65e582583b351d">&#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"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a> &gt;::Var </td>
<td>(</td>
<td class="paramtype">int64&#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="a36de50f13d1b2aa3de35ceca4214c2a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a36de50f13d1b2aa3de35ceca4214c2a0">&#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">Bitset64 <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a> &gt;::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="a65dad0789e8a043e7e38528ce81c6874"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65dad0789e8a043e7e38528ce81c6874">&#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; <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a> &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="aed78d261e91c29a927c7caf938882bb5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed78d261e91c29a927c7caf938882bb5">&#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">SparseBitset <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a> &gt;::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="a5c6887f734d2a6ef16165b9893a9fa59"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c6887f734d2a6ef16165b9893a9fa59">&#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 <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a> &gt;::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="a07f399ef1d34d435289229d620c3350e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a07f399ef1d34d435289229d620c3350e">&#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">SparseBitset <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a> &gt;::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="a46728a21c28eaf507a20bba345d9df8f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46728a21c28eaf507a20bba345d9df8f">&#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 operations_research::PathOperator::ignore_path_vars_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01395">1395</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="a10f2c4277993608f09fea9244df0a301"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10f2c4277993608f09fea9244df0a301">&#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 operations_research::PathOperator::next_base_to_increment_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01396">1396</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="aadab60adab155e9fe9da3f550643d671"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadab60adab155e9fe9da3f550643d671">&#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 operations_research::PathOperator::num_paths_ = 0</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<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="ae108cf2f383928202b506cba66e911ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae108cf2f383928202b506cba66e911ee">&#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 operations_research::PathOperator::number_of_nexts_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01394">1394</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="ae4f20070ef5ff1a051b602e691ab6567"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae4f20070ef5ff1a051b602e691ab6567">&#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;int64 &gt; <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</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="ad53681f1b9d6707149608c7826c3a834"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad53681f1b9d6707149608c7826c3a834">&#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;int64 &gt; <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</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="ae805be99530c66f840c6d99a2987c3b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae805be99530c66f840c6d99a2987c3b4">&#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;int64&gt; operations_research::PathOperator::start_to_path_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01398">1398</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div>
</div>
<a id="aadd339ccd5a44eb702049d147fce0f75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadd339ccd5a44eb702049d147fce0f75">&#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;int64 &gt; <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</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="a79bf2242dc1962d10e6b04cf09be2c56"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a79bf2242dc1962d10e6b04cf09be2c56">&#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> <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a> &gt;::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="a710d1eeb2818e3730a08e62c7314862e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a710d1eeb2818e3730a08e62c7314862e">&#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;<a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *&gt; <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a> &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="a14f6f947f99af037d1611c18c2730323"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14f6f947f99af037d1611c18c2730323">&#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">Bitset64 <a class="el" href="classoperations__research_1_1VarLocalSearchOperator.html">operations_research::VarLocalSearchOperator</a>&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> , int64 , <a class="el" href="classoperations__research_1_1IntVarLocalSearchHandler.html">IntVarLocalSearchHandler</a> &gt;::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 file:<ul>
<li><a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div>
<div id="footer-container">
<div id="footer">
</div>
</div>
</body>
</html>