<ahref="local__search_8cc.html">Go to the documentation of this file.</a><divclass="fragment"><divclass="line"><aname="l00001"></a><spanclass="lineno"> 1</span> <spanclass="comment">// Copyright 2010-2021 Google LLC</span></div><divclass="line"><aname="l00002"></a><spanclass="lineno"> 2</span> <spanclass="comment">// Licensed under the Apache License, Version 2.0 (the "License");</span></div><divclass="line"><aname="l00003"></a><spanclass="lineno"> 3</span> <spanclass="comment">// you may not use this file except in compliance with the License.</span></div><divclass="line"><aname="l00004"></a><spanclass="lineno"> 4</span> <spanclass="comment">// You may obtain a copy of the License at</span></div><divclass="line"><aname="l00005"></a><spanclass="lineno"> 5</span> <spanclass="comment">//</span></div><divclass="line"><aname="l00006"></a><spanclass="lineno"> 6</span> <spanclass="comment">// http://www.apache.org/licenses/LICENSE-2.0</span></div><divclass="line"><aname="l00007"></a><spanclass="lineno"> 7</span> <spanclass="comment">//</span></div><divclass="line"><aname="l00008"></a><spanclass="lineno"> 8</span> <spanclass="comment">// Unless required by applicable law or agreed to in writing, software</span></div><divclass="line"><aname="l00009"></a><spanclass="lineno"> 9</span> <spanclass="comment">// distributed under the License is distributed on an "AS IS" BASIS,</span></div><divclass="line"><aname="l00010"></a><spanclass="lineno"> 10</span> <spanclass="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><divclass="line"><aname="l00011"></a><spanclass="lineno"> 11</span> <spanclass="comment">// See the License for the specific language governing permissions and</span></div><divclass="line"><aname="l00012"></a><spanclass="lineno"> 12</span> <spanclass="comment">// limitations under the License.</span></div><divclass="line"><aname="l00013"></a><spanclass="lineno"> 13</span> </div><divclass="line"><aname="l00014"></a><spanclass="lineno"> 14</span> <spanclass="preprocessor">#include <algorithm></span></div><divclass="line"><aname="l00015"></a><spanclass="lineno"> 15</span> <spanclass="preprocessor">#include <cstdint></span></div><divclass="line"><aname="l00016"></a><spanclass="lineno"> 16</span> <spanclass="preprocessor">#include <iterator></span></div><divclass="line"><aname="l00017"></a><spanclass="lineno"> 17</span> <spanclass="preprocessor">#include <limits></span></div><divclass="line"><aname="l00018"></a><spanclass="lineno"> 18</span> <spanclass="preprocessor">#include <map></span></div><divclass="line"><aname="l00019"></a><spanclass="lineno"> 19</span> <spanclass="preprocessor">#include <memory></span></div><divclass="line"><aname="l00020"></a><spanclass="lineno"> 20</span> <spanclass="preprocessor">#include <numeric></span></div><divclass="line"><aname="l00021"></a><spanclass="lineno"> 21</span> <spanclass="preprocessor">#include <set></span></div><divclass="line"><aname="l00022"></a><spanclass="lineno"> 22</span> <spanclass="preprocessor">#include <string></span></div><divclass="line"><aname="l00023"></a><spanclass="lineno"> 23</span> <spanclass="preprocessor">#include <utility></span></div><divclass="line"><aname="l00024"></a><spanclass="lineno"> 24</span> <spanclass="preprocessor">#include <vector></span></div><divclass="line"><aname="l00025"></a><spanclass="lineno"> 25</span> </div><divclass="line"><aname="l00026"></a><spanclass="lineno"> 26</span> <spanclass="preprocessor">#include "absl/container/flat_hash_map.h"</span></div><divclass="line"><aname="l00027"></a><spanclass="lineno"> 27</span> <spanclass="preprocessor">#include "absl/container/flat_hash_set.h"
<divclass="ttc"id="classoperations__research_1_1_base_lns_html"><divclass="ttname"><ahref="classoperations__research_1_1_base_lns.html">operations_research::BaseLns</a></div><divclass="ttdoc">This is the base class for building an Lns operator.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01260">constraint_solveri.h:1260</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_a4f36c21ecd69ac0eda49cd44375e88b4"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#a4f36c21ecd69ac0eda49cd44375e88b4">operations_research::PathOperator::IsPathEnd</a></div><divclass="ttdeci">bool IsPathEnd(int64_t node) const</div><divclass="ttdoc">Returns true if node is the last node on the path; defined by the fact that node is outside the range...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01498">constraint_solveri.h:1498</a></div></div>
<divclass="ttc"id="structoperations__research_1_1_path_operator_1_1_iteration_parameters_html"><divclass="ttname"><ahref="structoperations__research_1_1_path_operator_1_1_iteration_parameters.html">operations_research::PathOperator::IterationParameters</a></div><divclass="ttdoc">Set of parameters used to configure how the neighnorhood is traversed.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01316">constraint_solveri.h:1316</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_relocate_html_aeb4fe30538ba848f88b1657accd934c6"><divclass="ttname"><ahref="classoperations__research_1_1_relocate.html#aeb4fe30538ba848f88b1657accd934c6">operations_research::Relocate::OnSamePathAsPreviousBase</a></div><divclass="ttdeci">bool OnSamePathAsPreviousBase(int64_t base_index) override</div><divclass="ttdoc">Returns true if a base node has to be on the same path as the "previous" base node (base node of inde...</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l00968">local_search.cc:968</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_local_search_operator_html"><divclass="ttname"><ahref="classoperations__research_1_1_local_search_operator.html">operations_research::LocalSearchOperator</a></div><divclass="ttdoc">The base class for all local search operators.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00792">constraint_solveri.h:792</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_two_opt_html_aeb4fe30538ba848f88b1657accd934c6"><divclass="ttname"><ahref="classoperations__research_1_1_two_opt.html#aeb4fe30538ba848f88b1657accd934c6">operations_research::TwoOpt::OnSamePathAsPreviousBase</a></div><divclass="ttdeci">bool OnSamePathAsPreviousBase(int64_t base_index) override</div><divclass="ttdoc">Returns true if a base node has to be on the same path as the "previous" base node (base node of inde...</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l00886">local_search.cc:886</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_int_var_html_a36d71f28bff7448b6490fe4720ab2fe0"><divclass="ttname"><ahref="classoperations__research_1_1_int_var.html#a36d71f28bff7448b6490fe4720ab2fe0">operations_research::IntVar::Var</a></div><divclass="ttdeci">IntVar * Var() override</div><divclass="ttdoc">Creates a variable from the expression.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l04047">constraint_solver.h:4047</a></div></div>
<divclass="ttc"id="log__severity_8h_html_acdd38e3c9f22f127d7776920e3079eda"><divclass="ttname"><ahref="log__severity_8h.html#acdd38e3c9f22f127d7776920e3079eda">FATAL</a></div><divclass="ttdeci">const int FATAL</div><divclass="ttdef"><b>Definition:</b><ahref="log__severity_8h_source.html#l00032">log_severity.h:32</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_ac9d41c75de01039a11af9b5d3cecc37f"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#ac9d41c75de01039a11af9b5d3cecc37f">operations_research::PathOperator::GetSiblingAlternativeIndex</a></div><divclass="ttdeci">int GetSiblingAlternativeIndex(int node) const</div><divclass="ttdoc">Returns the index of the alternative set of the sibling of node.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01553">constraint_solveri.h:1553</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a4de855c905df4a729715972dc39997a4"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a4de855c905df4a729715972dc39997a4">operations_research::Solver::TopPeriodicCheck</a></div><divclass="ttdeci">void TopPeriodicCheck()</div><divclass="ttdoc">Performs PeriodicCheck on the top-level search; for instance, can be called from a nested solve to ch...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8cc_source.html#l01548">constraint_solver.cc:1548</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html">operations_research::PathOperator</a></div><divclass="ttdoc">Base class of the local search operators dedicated to path modifications (a path is a set of nodes li...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01313">constraint_solveri.h:1313</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_afd2868244e1a645aaf41eb8a6a6c8bf4a2e646463fe193258a090a50ba806fd6e"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4a2e646463fe193258a090a50ba806fd6e">operations_research::Solver::LK</a></div><divclass="ttdoc">Lin-Kernighan local search.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00569">constraint_solver.h:569</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_aad7695e494039d607c26afb6acd0644a"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#aad7695e494039d607c26afb6acd0644a">operations_research::PathOperator::number_of_nexts_</a></div><divclass="ttdeci">const int number_of_nexts_</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01572">constraint_solveri.h:1572</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18acd27a3a13d233019cec19a2423d65a84"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18acd27a3a13d233019cec19a2423d65a84">operations_research::Solver::DECREMENT</a></div><divclass="ttdoc">Operator which defines a neighborhood to decrement values.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00550">constraint_solver.h:550</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_a968f3a82c5dbaba4f0725200b00ee97f"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#a968f3a82c5dbaba4f0725200b00ee97f">operations_research::PathOperator::SetNext</a></div><divclass="ttdeci">void SetNext(int64_t from, int64_t to, int64_t path)</div><divclass="ttdoc">Sets 'to' to be the node after 'from' on the given path.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01486">constraint_solveri.h:1486</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a7d7f85d631ce26fd2e025555d65b1aad"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a7d7f85d631ce26fd2e025555d65b1aad">operations_research::Solver::MakeNeighborhoodLimit</a></div><divclass="ttdeci">LocalSearchOperator * MakeNeighborhoodLimit(LocalSearchOperator *const op, int64_t limit)</div><divclass="ttdoc">Creates a local search operator that wraps another local search operator and limits the number of nei...</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l01889">local_search.cc:1889</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a1c5d6c437384057c9b472a5081800462"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a1c5d6c437384057c9b472a5081800462">operations_research::Solver::EXCHANGE</a></div><divclass="ttdoc">Operator which exchanges the positions of two nodes.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00464">constraint_solver.h:464</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a0a6069cef9fe87b649dd6e7f20d4d070"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a0a6069cef9fe87b649dd6e7f20d4d070">operations_research::Solver::MakeSolutionsLimit</a></div><divclass="ttdeci">ABSL_MUST_USE_RESULT RegularLimit * MakeSolutionsLimit(int64_t solutions)</div><divclass="ttdoc">Creates a search limit that constrains the number of solutions found during the search.</div><divclass="ttdef"><b>Definition:</b><ahref="search_8cc_source.html#l04194">search.cc:4194</a></div></div>
<divclass="ttc"id="local__search_8cc_html_a3f3280fc397293e6745e03cefccdf5d4"><divclass="ttname"><ahref="local__search_8cc.html#a3f3280fc397293e6745e03cefccdf5d4">ABSL_FLAG</a></div><divclass="ttdeci">ABSL_FLAG(int, cp_local_search_sync_frequency, 16, "Frequency of checks for better solutions in the solution pool.")</div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_a027b0d17fd972bee95a8023e7d4f81c9"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#a027b0d17fd972bee95a8023e7d4f81c9">operations_research::PathOperator::StartNode</a></div><divclass="ttdeci">int64_t StartNode(int i) const</div><divclass="ttdoc">Returns the start node of the ith base node.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01412">constraint_solveri.h:1412</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a1974d638ba45f2a66ae864e96b766131"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a1974d638ba45f2a66ae864e96b766131">operations_research::Solver::SolveAndCommit</a></div><divclass="ttdeci">bool SolveAndCommit(DecisionBuilder *const db, const std::vector< SearchMonitor * >&monitors)</div><divclass="ttdoc">SolveAndCommit using a decision builder and up to three search monitors, usually one for the objectiv...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8cc_source.html#l02411">constraint_solver.cc:2411</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_ab8846cc7a17291cb0dffd4c0fc4933ea"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#ab8846cc7a17291cb0dffd4c0fc4933ea">operations_research::PathOperator::BaseNode</a></div><divclass="ttdeci">int64_t BaseNode(int i) const</div><divclass="ttdoc">Returns the ith base node of the operator.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01386">constraint_solveri.h:1386</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_int_var_local_search_filter_html_a625550edd889d6c9a3b73db329d52a72"><divclass="ttname"><ahref="classoperations__research_1_1_int_var_local_search_filter.html#a625550edd889d6c9a3b73db329d52a72">operations_research::IntVarLocalSearchFilter::Synchronize</a></div><divclass="ttdeci">void Synchronize(const Assignment *assignment, const Assignment *delta) override</div><divclass="ttdoc">This method should not be overridden.</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l03278">local_search.cc:3278</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_ad1715ae8613b43ca37c2d76e61047a82"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#ad1715ae8613b43ca37c2d76e61047a82">operations_research::Solver::MultiArmedBanditConcatenateOperators</a></div><divclass="ttdeci">LocalSearchOperator * MultiArmedBanditConcatenateOperators(const std::vector< LocalSearchOperator * >&ops, double memory_coefficient, double exploration_coefficient, bool maximize)</div><divclass="ttdoc">Creates a local search operator which concatenates a vector of operators.</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l02274">local_search.cc:2274</a></div></div>
<divclass="ttc"id="structoperations__research_1_1_path_operator_1_1_iteration_parameters_html_ab789487f0da61ea5fffb910d587d18b3"><divclass="ttname"><ahref="structoperations__research_1_1_path_operator_1_1_iteration_parameters.html#ab789487f0da61ea5fffb910d587d18b3">operations_research::PathOperator::IterationParameters::skip_locally_optimal_paths</a></div><divclass="ttdeci">bool skip_locally_optimal_paths</div><divclass="ttdoc">Skip paths which have been proven locally optimal.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01321">constraint_solveri.h:1321</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_a11b8ad366b686132736854e7029e7bff"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#a11b8ad366b686132736854e7029e7bff">operations_research::PathOperator::PathClass</a></div><divclass="ttdeci">int PathClass(int i) const</div><divclass="ttdoc">Returns the class of the path of the ith base node.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01416">constraint_solveri.h:1416</a></div></div>
<divclass="ttc"id="namespaceoperations__research_1_1math__opt_html_a5de89a1f6e3f80a49a0d76136d8044e2"><divclass="ttname"><ahref="namespaceoperations__research_1_1math__opt.html#a5de89a1f6e3f80a49a0d76136d8044e2">operations_research::math_opt::swap</a></div><divclass="ttdeci">void swap(IdMap< K, V >&a, IdMap< K, V >&b)</div><divclass="ttdef"><b>Definition:</b><ahref="id__map_8h_source.html#l00263">id_map.h:263</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a2270aed8867e84e996306402cfa4f5d5"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a2270aed8867e84e996306402cfa4f5d5">operations_research::Solver::MAKEINACTIVE</a></div><divclass="ttdoc">Operator which makes path nodes inactive.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00490">constraint_solver.h:490</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_var_local_search_operator_html_ad3f7d71b09c99c9b939cb5cf495edf7b"><divclass="ttname"><ahref="classoperations__research_1_1_var_local_search_operator.html#ad3f7d71b09c99c9b939cb5cf495edf7b">operations_research::VarLocalSearchOperator< IntVar, int64_t, IntVarLocalSearchHandler >::Var</a></div><divclass="ttdeci">IntVar * Var(int64_t index) const</div><divclass="ttdoc">Returns the variable of given index.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00842">constraint_solveri.h:842</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_a03283bdc4a6447ff4882cb1e42662b00"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#a03283bdc4a6447ff4882cb1e42662b00">operations_research::PathOperator::IsInactive</a></div><divclass="ttdeci">bool IsInactive(int64_t node) const</div><divclass="ttdoc">Returns true if node is inactive.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01504">constraint_solveri.h:1504</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_regular_limit_html"><divclass="ttname"><ahref="classoperations__research_1_1_regular_limit.html">operations_research::RegularLimit</a></div><divclass="ttdoc">Usual limit based on wall_time, number of explored branches and number of failures in the search tree...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l04324">constraint_solver.h:4324</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_assignment_container_html_a907ce7f41938cc755b6b1f4a55b5cd27"><divclass="ttname"><ahref="classoperations__research_1_1_assignment_container.html#a907ce7f41938cc755b6b1f4a55b5cd27">operations_research::AssignmentContainer::Element</a></div><divclass="ttdeci">const E & Element(const V *const var) const</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l04984">constraint_solver.h:4984</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_decision_builder_html"><divclass="ttname"><ahref="classoperations__research_1_1_decision_builder.html">operations_research::DecisionBuilder</a></div><divclass="ttdoc">A DecisionBuilder is responsible for creating the search tree.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l03285">constraint_solver.h:3285</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_a1223e0b8dbca7cd9c296fc4de65080b2"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#a1223e0b8dbca7cd9c296fc4de65080b2">operations_research::PathOperator::OnNodeInitialization</a></div><divclass="ttdeci">virtual void OnNodeInitialization()</div><divclass="ttdoc">Called by OnStart() after initializing node information.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01383">constraint_solveri.h:1383</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_assignment_html_aec13b3eeabbd052d40b803adf7543d7c"><divclass="ttname"><ahref="classoperations__research_1_1_assignment.html#aec13b3eeabbd052d40b803adf7543d7c">operations_research::Assignment::IntervalVarContainer</a></div><divclass="ttdeci">const IntervalContainer & IntervalVarContainer() const</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l05234">constraint_solver.h:5234</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_base_inactive_node_to_path_operator_html_ad14cde260686e5b4174e691675df3139"><divclass="ttname"><ahref="classoperations__research_1_1_base_inactive_node_to_path_operator.html#ad14cde260686e5b4174e691675df3139">operations_research::BaseInactiveNodeToPathOperator::MakeOneNeighbor</a></div><divclass="ttdeci">bool MakeOneNeighbor() override</div><divclass="ttdoc">This method should not be overridden. Override MakeNeighbor() instead.</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l01112">local_search.cc:1112</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_a208d45797eebd7cad439cc43b049103d"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#a208d45797eebd7cad439cc43b049103d">operations_research::PathOperator::number_of_nexts</a></div><divclass="ttdeci">int number_of_nexts() const</div><divclass="ttdoc">Number of next variables.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01375">constraint_solveri.h:1375</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_int_var_local_search_filter_html_ad0c622b7f274388822c9f35659a56542"><divclass="ttname"><ahref="classoperations__research_1_1_int_var_local_search_filter.html#ad0c622b7f274388822c9f35659a56542">operations_research::IntVarLocalSearchFilter::AddVars</a></div><divclass="ttdeci">void AddVars(const std::vector< IntVar * >&vars)</div><divclass="ttdoc">Add variables to "track" to the filter.</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l03261">local_search.cc:3261</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a0a0fa138e73ae39159c557c6356d055f"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a0a0fa138e73ae39159c557c6356d055f">operations_research::Solver::MakeProfiledDecisionBuilderWrapper</a></div><divclass="ttdeci">DecisionBuilder * MakeProfiledDecisionBuilderWrapper(DecisionBuilder *db)</div><divclass="ttdoc">Activates profiling on a decision builder.</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l03862">local_search.cc:3862</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a9fe88872d52e4a1fead358f9f6b57408"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a9fe88872d52e4a1fead358f9f6b57408">operations_research::Solver::UNACTIVELNS</a></div><divclass="ttdoc">Operator which relaxes all inactive nodes and one sub-chain of six consecutive arcs.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00535">constraint_solver.h:535</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_a5f9e1016a5bb6a7d5cded8599a50fce1"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#a5f9e1016a5bb6a7d5cded8599a50fce1">operations_research::PathOperator::Next</a></div><divclass="ttdeci">int64_t Next(int64_t node) const</div><divclass="ttdoc">Returns the node after node in the current delta.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01356">constraint_solveri.h:1356</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a2893291ad956ff115a7a331f512cd4a3"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a2893291ad956ff115a7a331f512cd4a3">operations_research::Solver::RELOCATE</a></div><divclass="ttdoc">Relocate neighborhood with length of 1 (see OROPT comment).</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00455">constraint_solver.h:455</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_make_chain_inactive_operator_html_a22efab68fd4a93ad85101ceffb01134b"><divclass="ttname"><ahref="classoperations__research_1_1_make_chain_inactive_operator.html#a22efab68fd4a93ad85101ceffb01134b">operations_research::MakeChainInactiveOperator::GetBaseNodeRestartPosition</a></div><divclass="ttdeci">int64_t GetBaseNodeRestartPosition(int base_index) override</div><divclass="ttdoc">Returns the index of the node to which the base node of index base_index must be set to when it reach...</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l01301">local_search.cc:1301</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_afd2d924f019d44bc99930a1e931a735fa662ed4b51721a45f07d645d4ca099a61"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735fa662ed4b51721a45f07d645d4ca099a61">operations_research::Solver::LE</a></div><divclass="ttdoc">Move is accepted when the current objective value <= objective.Max.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00596">constraint_solver.h:596</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a5d249e853c4031947f979fe903390dfb"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a5d249e853c4031947f979fe903390dfb">operations_research::Solver::INCREMENT</a></div><divclass="ttdoc">Operator which defines one neighbor per variable.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00545">constraint_solver.h:545</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18ad699bdf1731bd839b56c299536ba1d9d"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18ad699bdf1731bd839b56c299536ba1d9d">operations_research::Solver::CROSS</a></div><divclass="ttdoc">Operator which cross exchanges the starting chains of 2 paths, including exchanging the whole paths.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00475">constraint_solver.h:475</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_afd2d924f019d44bc99930a1e931a735f"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735f">operations_research::Solver::LocalSearchFilterBound</a></div><divclass="ttdeci">LocalSearchFilterBound</div><divclass="ttdoc">This enum is used in Solver::MakeLocalSearchObjectiveFilter.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00592">constraint_solver.h:592</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_local_search_filter_manager_html"><divclass="ttname"><ahref="classoperations__research_1_1_local_search_filter_manager.html">operations_research::LocalSearchFilterManager</a></div><divclass="ttdoc">Filter manager: when a move is made, filters are executed to decide whether the solution is feasible ...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01774">constraint_solveri.h:1774</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_t_s_p_lns_html_ad14cde260686e5b4174e691675df3139"><divclass="ttname"><ahref="classoperations__research_1_1_t_s_p_lns.html#ad14cde260686e5b4174e691675df3139">operations_research::TSPLns::MakeOneNeighbor</a></div><divclass="ttdeci">bool MakeOneNeighbor() override</div><divclass="ttdoc">This method should not be overridden. Override MakeNeighbor() instead.</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l01493">local_search.cc:1493</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_ae3e41eaf96a9ec044d34293897960631"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#ae3e41eaf96a9ec044d34293897960631">operations_research::Solver::MakeStoreAssignment</a></div><divclass="ttdeci">DecisionBuilder * MakeStoreAssignment(Assignment *assignment)</div><divclass="ttdoc">Returns a DecisionBuilder which stores an Assignment (calls void Assignment::Store())</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_2assignment_8cc_source.html#l01090">constraint_solver/assignment.cc:1090</a></div></div>
<divclass="ttc"id="local__search_8cc_html_abb9d2b424ab39435d678a29eb290bb7c"><divclass="ttname"><ahref="local__search_8cc.html#abb9d2b424ab39435d678a29eb290bb7c">primary_vars_size_</a></div><divclass="ttdeci">const int primary_vars_size_</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l03403">local_search.cc:3403</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_a28146a7f59f91f25281c97d55abce60d"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#a28146a7f59f91f25281c97d55abce60d">operations_research::PathOperator::CheckChainValidity</a></div><divclass="ttdeci">bool CheckChainValidity(int64_t before_chain, int64_t chain_end, int64_t exclude) const</div><divclass="ttdoc">Returns true if the chain is a valid path without cycles from before_chain to chain_end and does not ...</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l00839">local_search.cc:839</a></div></div>
<divclass="ttc"id="structoperations__research_1_1_path_operator_1_1_iteration_parameters_html_a06ba9faa1da8bc11b9bad1b28184d66a"><divclass="ttname"><ahref="structoperations__research_1_1_path_operator_1_1_iteration_parameters.html#a06ba9faa1da8bc11b9bad1b28184d66a">operations_research::PathOperator::IterationParameters::accept_path_end_base</a></div><divclass="ttdeci">bool accept_path_end_base</div><divclass="ttdoc">True if path ends should be considered when iterating over neighbors.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01323">constraint_solveri.h:1323</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_aa58a5d8b15333d39678c0d6180c1c0b1"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#aa58a5d8b15333d39678c0d6180c1c0b1">operations_research::Solver::UseFastLocalSearch</a></div><divclass="ttdeci">bool UseFastLocalSearch() const</div><divclass="ttdoc">Returns true if fast local search is enabled.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l02901">constraint_solver.h:2901</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a60b0c4db87e990aa84b63ba1990aa41e"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a60b0c4db87e990aa84b63ba1990aa41e">operations_research::Solver::MAKECHAININACTIVE</a></div><divclass="ttdoc">Operator which makes a "chain" of path nodes inactive.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00498">constraint_solver.h:498</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_var_local_search_operator_html_a6813d015a11bf9bad5a5b9b335df989f"><divclass="ttname"><ahref="classoperations__research_1_1_var_local_search_operator.html#a6813d015a11bf9bad5a5b9b335df989f">operations_research::VarLocalSearchOperator< IntVar, int64_t, IntVarLocalSearchHandler >::Value</a></div><divclass="ttdeci">const int64_t & Value(int64_t index) const</div><divclass="ttdoc">Returns the value in the current assignment of the variable of given index.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00837">constraint_solveri.h:837</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18">operations_research::Solver::LocalSearchOperators</a></div><divclass="ttdeci">LocalSearchOperators</div><divclass="ttdoc">This enum is used in Solver::MakeOperator to specify the neighborhood to create.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00426">constraint_solver.h:426</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_ad14cde260686e5b4174e691675df3139"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#ad14cde260686e5b4174e691675df3139">operations_research::PathOperator::MakeOneNeighbor</a></div><divclass="ttdeci">bool MakeOneNeighbor() override</div><divclass="ttdoc">This method should not be overridden. Override MakeNeighbor() instead.</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l00388">local_search.cc:388</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_local_search_profiler_html_a4d07aaa3fe401d52e938c2f8f7f2e26f"><divclass="ttname"><ahref="classoperations__research_1_1_local_search_profiler.html#a4d07aaa3fe401d52e938c2f8f7f2e26f">operations_research::LocalSearchProfiler::ExitSearch</a></div><divclass="ttdeci">void ExitSearch() override</div><divclass="ttdoc">End of the search.</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l03645">local_search.cc:3645</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_adf2175ee598b241dcc5459573ebdc886"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#adf2175ee598b241dcc5459573ebdc886">operations_research::PathOperator::Path</a></div><divclass="ttdeci">int64_t Path(int64_t node) const</div><divclass="ttdoc">Returns the index of the path to which node belongs in the current delta.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01370">constraint_solveri.h:1370</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_local_search_profiler_html_a2536fa74dc1f0964122b676b944dcab0"><divclass="ttname"><ahref="classoperations__research_1_1_local_search_profiler.html#a2536fa74dc1f0964122b676b944dcab0">operations_research::LocalSearchProfiler::RestartSearch</a></div><divclass="ttdeci">void RestartSearch() override</div><divclass="ttdoc">Restart the search.</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l03641">local_search.cc:3641</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solution_pool_html_a39b9785ffd2b768743ca541295668408"><divclass="ttname"><ahref="classoperations__research_1_1_solution_pool.html#a39b9785ffd2b768743ca541295668408">operations_research::SolutionPool::RegisterNewSolution</a></div><divclass="ttdeci">virtual void RegisterNewSolution(Assignment *const assignment)=0</div><divclass="ttdoc">This method is called when a new solution has been accepted by the local search.</div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a609ad11d842b8b7b4a8b0d2028818d31"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a609ad11d842b8b7b4a8b0d2028818d31">operations_research::Solver::MakeRandomLnsOperator</a></div><divclass="ttdeci">LocalSearchOperator * MakeRandomLnsOperator(const std::vector< IntVar * >&vars, int number_of_variables)</div><divclass="ttdoc">Creates a large neighborhood search operator which creates fragments (set of relaxed variables) with ...</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l00193">local_search.cc:193</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_ab5ccf1d0572985fd266702a181b9cf8d"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#ab5ccf1d0572985fd266702a181b9cf8d">operations_research::PathOperator::SwapActiveAndInactive</a></div><divclass="ttdeci">bool SwapActiveAndInactive(int64_t active, int64_t inactive)</div><divclass="ttdoc">Replaces active by inactive in the current path, making active inactive.</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l00485">local_search.cc:485</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_search_monitor_html_af01d6e340e0ee803b6587a736745a78c"><divclass="ttname"><ahref="classoperations__research_1_1_search_monitor.html#af01d6e340e0ee803b6587a736745a78c">operations_research::SearchMonitor::Install</a></div><divclass="ttdeci">virtual void Install()</div><divclass="ttdoc">Registers itself on the solver such that it gets notified of the search and propagation events.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8cc_source.html#l02902">constraint_solver.cc:2902</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_assignment_html"><divclass="ttname"><ahref="classoperations__research_1_1_assignment.html">operations_research::Assignment</a></div><divclass="ttdoc">An Assignment is a variable -> domains mapping, used to report solutions to the user.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l05081">constraint_solver.h:5081</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_assignment_html_aad86dd69d5664ce8e16198be929fd941"><divclass="ttname"><ahref="classoperations__research_1_1_assignment.html#aad86dd69d5664ce8e16198be929fd941">operations_research::Assignment::CopyIntersection</a></div><divclass="ttdeci">void CopyIntersection(const Assignment *assignment)</div><divclass="ttdoc">Copies the intersection of the two assignments to the current assignment.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_2assignment_8cc_source.html#l01004">constraint_solver/assignment.cc:1004</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a869f7ed2cc6505c59ecf1eb8ecb2288a"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a869f7ed2cc6505c59ecf1eb8ecb2288a">operations_research::Solver::GetLocalSearchMonitor</a></div><divclass="ttdeci">LocalSearchMonitor * GetLocalSearchMonitor() const</div><divclass="ttdoc">Returns the local search monitor.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8cc_source.html#l03223">constraint_solver.cc:3223</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_base_object_html"><divclass="ttname"><ahref="classoperations__research_1_1_base_object.html">operations_research::BaseObject</a></div><divclass="ttdoc">A BaseObject is the root of all reversibly allocated objects.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l03169">constraint_solver.h:3169</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_int_var_html"><divclass="ttname"><ahref="classoperations__research_1_1_int_var.html">operations_research::IntVar</a></div><divclass="ttdoc">The class IntVar is a subset of IntExpr.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l04040">constraint_solver.h:4040</a></div></div>
<divclass="ttc"id="structoperations__research_1_1_path_operator_1_1_iteration_parameters_html_a0e2c2f3c021b1d8cff2e0f0458f8ee29"><divclass="ttname"><ahref="structoperations__research_1_1_path_operator_1_1_iteration_parameters.html#a0e2c2f3c021b1d8cff2e0f0458f8ee29">operations_research::PathOperator::IterationParameters::number_of_base_nodes</a></div><divclass="ttdeci">int number_of_base_nodes</div><divclass="ttdoc">Number of nodes needed to define a neighbor.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01318">constraint_solveri.h:1318</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_a0d3deb689556a77ed6f99860918d7f21"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#a0d3deb689556a77ed6f99860918d7f21">operations_research::PathOperator::ConsiderAlternatives</a></div><divclass="ttdeci">virtual bool ConsiderAlternatives(int64_t base_index) const</div><divclass="ttdoc">Indicates if alternatives should be considered when iterating over base nodes.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01452">constraint_solveri.h:1452</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_make_chain_inactive_operator_html_aeb4fe30538ba848f88b1657accd934c6"><divclass="ttname"><ahref="classoperations__research_1_1_make_chain_inactive_operator.html#aeb4fe30538ba848f88b1657accd934c6">operations_research::MakeChainInactiveOperator::OnSamePathAsPreviousBase</a></div><divclass="ttdeci">bool OnSamePathAsPreviousBase(int64_t base_index) override</div><divclass="ttdoc">Returns true if a base node has to be on the same path as the "previous" base node (base node of inde...</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l01295">local_search.cc:1295</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a9bbd3bcce8e7d9e4a6901cce828e8704"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a9bbd3bcce8e7d9e4a6901cce828e8704">operations_research::Solver::OROPT</a></div><divclass="ttdoc">Relocate: OROPT and RELOCATE.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00452">constraint_solver.h:452</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_afd2d924f019d44bc99930a1e931a735fa558711b4a2a25070b970d85f5926d5ce"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735fa558711b4a2a25070b970d85f5926d5ce">operations_research::Solver::GE</a></div><divclass="ttdoc">Move is accepted when the current objective value >= objective.Min.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00594">constraint_solver.h:594</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_local_search_filter_manager_html_a712060303eea0e26ca9a072b57bbf227"><divclass="ttname"><ahref="classoperations__research_1_1_local_search_filter_manager.html#a712060303eea0e26ca9a072b57bbf227">operations_research::LocalSearchFilterManager::Accept</a></div><divclass="ttdeci">bool Accept(LocalSearchMonitor *const monitor, const Assignment *delta, const Assignment *deltadelta, int64_t objective_min, int64_t objective_max)</div><divclass="ttdoc">Returns true iff all filters return true, and the sum of their accepted objectives is between objecti...</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l03950">local_search.cc:3950</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_ab741cb25dd32d1cbe02fbfb36337d9bb"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#ab741cb25dd32d1cbe02fbfb36337d9bb">operations_research::Solver::RevAlloc</a></div><divclass="ttdeci">T * RevAlloc(T *object)</div><divclass="ttdoc">Registers the given object as being reversible.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00791">constraint_solver.h:791</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a7c06ab0a290a6fbdc909fd63c192a4bf"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a7c06ab0a290a6fbdc909fd63c192a4bf">operations_research::Solver::ActiveSearch</a></div><divclass="ttdeci">Search * ActiveSearch() const</div><divclass="ttdoc">Returns the active search, nullptr outside search.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8cc_source.html#l01131">constraint_solver.cc:1131</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_ab661b8d8259dac8444804d91809fbb0a"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#ab661b8d8259dac8444804d91809fbb0a">operations_research::PathOperator::ResetPosition</a></div><divclass="ttdeci">void ResetPosition()</div><divclass="ttdoc">Reset the position of the operator to its position when Start() was last called; this can be used to ...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01514">constraint_solveri.h:1514</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a37a8c9623d7eaef96c74865483fe8e8b"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a37a8c9623d7eaef96c74865483fe8e8b">operations_research::Solver::SWAPACTIVE</a></div><divclass="ttdoc">Operator which replaces an active node by an inactive one.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00505">constraint_solver.h:505</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_ae1c162cfc11069e25becbd53cdce7def"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#ae1c162cfc11069e25becbd53cdce7def">operations_research::PathOperator::InitPosition</a></div><divclass="ttdeci">virtual bool InitPosition() const</div><divclass="ttdoc">Returns true if the operator needs to restart its initial position at each call to Start()</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01510">constraint_solveri.h:1510</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_hamiltonian_path_solver_html_a326a998ed18bedda49bd2cab5cbd4079"><divclass="ttname"><ahref="classoperations__research_1_1_hamiltonian_path_solver.html#a326a998ed18bedda49bd2cab5cbd4079">operations_research::HamiltonianPathSolver::TravelingSalesmanPath</a></div><divclass="ttdeci">std::vector< int > TravelingSalesmanPath()</div><divclass="ttdef"><b>Definition:</b><ahref="hamiltonian__path_8h_source.html#l00866">hamiltonian_path.h:866</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_ad45ddc54149c5954c2bbd4e2657f9148"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#ad45ddc54149c5954c2bbd4e2657f9148">operations_research::Solver::MakeAssignment</a></div><divclass="ttdeci">Assignment * MakeAssignment()</div><divclass="ttdoc">This method creates an empty assignment.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_2assignment_8cc_source.html#l01042">constraint_solver/assignment.cc:1042</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a6235329fc45bc5a7612cc84342b2528e"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a6235329fc45bc5a7612cc84342b2528e">operations_research::Solver::TWOOPT</a></div><divclass="ttdoc">Operator which reverses a sub-chain of a path.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00436">constraint_solver.h:436</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_a38b76e1e3a147226d4981b05e4ec2c55"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#a38b76e1e3a147226d4981b05e4ec2c55">operations_research::PathOperator::RestartAtPathStartOnSynchronize</a></div><divclass="ttdeci">virtual bool RestartAtPathStartOnSynchronize()</div><divclass="ttdoc">When the operator is being synchronized with a new solution (when Start() is called),...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01429">constraint_solveri.h:1429</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solution_pool_html"><divclass="ttname"><ahref="classoperations__research_1_1_solution_pool.html">operations_research::SolutionPool</a></div><divclass="ttdoc">This class is used to manage a pool of solutions.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l05420">constraint_solver.h:5420</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_regular_limit_html_a47de93e849d14c3eda08d78613506608"><divclass="ttname"><ahref="classoperations__research_1_1_regular_limit.html#a47de93e849d14c3eda08d78613506608">operations_research::RegularLimit::Init</a></div><divclass="ttdeci">void Init() override</div><divclass="ttdoc">This method is called when the search limit is initialized.</div><divclass="ttdef"><b>Definition:</b><ahref="search_8cc_source.html#l04092">search.cc:4092</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_aa14dad2d86c18296f9a5227b87d5caad"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#aa14dad2d86c18296f9a5227b87d5caad">operations_research::PathOperator::Prev</a></div><divclass="ttdeci">int64_t Prev(int64_t node) const</div><divclass="ttdoc">Returns the node before node in the current delta.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01362">constraint_solveri.h:1362</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a4741235246c97963a5a5316382888a58"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a4741235246c97963a5a5316382888a58">operations_research::Solver::SIMPLELNS</a></div><divclass="ttdoc">Operator which defines one neighbor per variable.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00559">constraint_solver.h:559</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_aeb92d4addb41255c9732cacfcb54f795"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#aeb92d4addb41255c9732cacfcb54f795">operations_research::Solver::Fail</a></div><divclass="ttdeci">void Fail()</div><divclass="ttdoc">Abandon the current branch in the search tree. A backtrack will follow.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8cc_source.html#l02422">constraint_solver.cc:2422</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_base_lns_html_ad14cde260686e5b4174e691675df3139"><divclass="ttname"><ahref="classoperations__research_1_1_base_lns.html#ad14cde260686e5b4174e691675df3139">operations_research::BaseLns::MakeOneNeighbor</a></div><divclass="ttdeci">bool MakeOneNeighbor() override</div><divclass="ttdoc">This method should not be overridden. Override NextFragment() instead.</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l00106">local_search.cc:106</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_decision_html"><divclass="ttname"><ahref="classoperations__research_1_1_decision.html">operations_research::Decision</a></div><divclass="ttdoc">A Decision represents a choice point in the search tree.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l03245">constraint_solver.h:3245</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a5b65e631181f40eedd7afba46116fa66"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a5b65e631181f40eedd7afba46116fa66">operations_research::Solver::ConcatenateOperators</a></div><divclass="ttdeci">LocalSearchOperator * ConcatenateOperators(const std::vector< LocalSearchOperator * >&ops)</div><divclass="ttdoc">Creates a local search operator which concatenates a vector of operators.</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l02022">local_search.cc:2022</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a72954fb35fd0dd0d796b18d893e957b4"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a72954fb35fd0dd0d796b18d893e957b4">operations_research::Solver::IsLocalSearchProfilingEnabled</a></div><divclass="ttdeci">bool IsLocalSearchProfilingEnabled() const</div><divclass="ttdoc">Returns whether we are profiling local search.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8cc_source.html#l00182">constraint_solver.cc:182</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html"><divclass="ttname"><ahref="namespaceoperations__research.html">operations_research</a></div><divclass="ttdoc">Collection of objects used to extend the Constraint Solver library.</div><divclass="ttdef"><b>Definition:</b><ahref="dense__doubly__linked__list_8h_source.html#l00021">dense_doubly_linked_list.h:21</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_regular_limit_html_a01dd9b59b9a183cb3ba148b08d09b320"><divclass="ttname"><ahref="classoperations__research_1_1_regular_limit.html#a01dd9b59b9a183cb3ba148b08d09b320">operations_research::RegularLimit::Check</a></div><divclass="ttdeci">bool Check() override</div><divclass="ttdoc">This method is called to check the status of the limit.</div><divclass="ttdef"><b>Definition:</b><ahref="search_8cc_source.html#l04071">search.cc:4071</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_aea9787c24ee8fe0e3fa88451ddadeb54"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#aea9787c24ee8fe0e3fa88451ddadeb54">operations_research::PathOperator::PathOperator</a></div><divclass="ttdeci">PathOperator(const std::vector< IntVar * >&next_vars, const std::vector< IntVar * >&path_vars, IterationParameters iteration_parameters)</div><divclass="ttdoc">Builds an instance of PathOperator from next and path variables.</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l00345">local_search.cc:345</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a952b4c317733a065c74841dc00fe8bd9"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a952b4c317733a065c74841dc00fe8bd9">operations_research::Solver::EXTENDEDSWAPACTIVE</a></div><divclass="ttdoc">Operator which makes an inactive node active and an active one inactive.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00517">constraint_solver.h:517</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a935985d0022c026978eace7ff7cd5f7a"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a935985d0022c026978eace7ff7cd5f7a">operations_research::Solver::FULLPATHLNS</a></div><divclass="ttdoc">Operator which relaxes one entire path and all inactive nodes, thus defining num_paths neighbors.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00530">constraint_solver.h:530</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solution_pool_html_afa82c2dd754ff490f08768ed621d1f5b"><divclass="ttname"><ahref="classoperations__research_1_1_solution_pool.html#afa82c2dd754ff490f08768ed621d1f5b">operations_research::SolutionPool::Initialize</a></div><divclass="ttdeci">virtual void Initialize(Assignment *const assignment)=0</div><divclass="ttdoc">This method is called to initialize the solution pool with the assignment from the local search.</div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_a683f9daa3c8c8d6695ed277a470942f5"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#a683f9daa3c8c8d6695ed277a470942f5">operations_research::PathOperator::MakeActive</a></div><divclass="ttdeci">bool MakeActive(int64_t node, int64_t destination)</div><divclass="ttdoc">Insert the inactive node after destination.</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l00458">local_search.cc:458</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_a753f1802e83fb21039b87a64a1769983"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#a753f1802e83fb21039b87a64a1769983">operations_research::PathOperator::ReverseChain</a></div><divclass="ttdeci">bool ReverseChain(int64_t before_chain, int64_t after_chain, int64_t *chain_last)</div><divclass="ttdoc">Reverses the chain starting after before_chain and ending before after_chain.</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l00435">local_search.cc:435</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_afd2868244e1a645aaf41eb8a6a6c8bf4"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4">operations_research::Solver::EvaluatorLocalSearchOperators</a></div><divclass="ttdeci">EvaluatorLocalSearchOperators</div><divclass="ttdoc">This enum is used in Solver::MakeOperator associated with an evaluator to specify the neighborhood to...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00564">constraint_solver.h:564</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a1b5f4ac1fc0e68af2247581f7396f454"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a1b5f4ac1fc0e68af2247581f7396f454">operations_research::Solver::MakeMoveTowardTargetOperator</a></div><divclass="ttdeci">LocalSearchOperator * MakeMoveTowardTargetOperator(const Assignment &target)</div><divclass="ttdoc">Creates a local search operator that tries to move the assignment of some variables toward a target.</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l00271">local_search.cc:271</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_find_one_neighbor_html_ad7f92654b8e5be833b185bd72f6c1e24"><divclass="ttname"><ahref="classoperations__research_1_1_find_one_neighbor.html#ad7f92654b8e5be833b185bd72f6c1e24">operations_research::FindOneNeighbor::Next</a></div><divclass="ttdeci">Decision * Next(Solver *const solver) override</div><divclass="ttdoc">This is the main method of the decision builder class.</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l04134">local_search.cc:4134</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_ae95ca181ba462987f0cd6e10eef83a97"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#ae95ca181ba462987f0cd6e10eef83a97">operations_research::Solver::MakeRestoreAssignment</a></div><divclass="ttdeci">DecisionBuilder * MakeRestoreAssignment(Assignment *assignment)</div><divclass="ttdoc">Returns a DecisionBuilder which restores an Assignment (calls void Assignment::Restore())</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_2assignment_8cc_source.html#l01086">constraint_solver/assignment.cc:1086</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_afd2d924f019d44bc99930a1e931a735fa9efdc855f3c1477957fb50affec07f8f"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#afd2d924f019d44bc99930a1e931a735fa9efdc855f3c1477957fb50affec07f8f">operations_research::Solver::EQ</a></div><divclass="ttdoc">Move is accepted when the current objective value is in the interval objective.Min .</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00599">constraint_solver.h:599</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_ab720cd311ecdce747e444192edd3ea78"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#ab720cd311ecdce747e444192edd3ea78">operations_research::PathOperator::GetBaseNodeRestartPosition</a></div><divclass="ttdeci">virtual int64_t GetBaseNodeRestartPosition(int base_index)</div><divclass="ttdoc">Returns the index of the node to which the base node of index base_index must be set to when it reach...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01442">constraint_solveri.h:1442</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_local_search_profiler_html_a127c860aa3b5024666f308c553edf2a5"><divclass="ttname"><ahref="classoperations__research_1_1_local_search_profiler.html#a127c860aa3b5024666f308c553edf2a5">operations_research::LocalSearchProfiler::Install</a></div><divclass="ttdeci">void Install() override</div><divclass="ttdoc">Install itself on the solver.</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l03829">local_search.cc:3829</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a6cadf6ba5aec276c1bab7db60b5eeb13"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a6cadf6ba5aec276c1bab7db60b5eeb13">operations_research::Solver::RandomConcatenateOperators</a></div><divclass="ttdeci">LocalSearchOperator * RandomConcatenateOperators(const std::vector< LocalSearchOperator * >&ops)</div><divclass="ttdoc">Randomized version of local search concatenator; calls a random operator at each call to MakeNextNeig...</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l02112">local_search.cc:2112</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_int_var_local_search_operator_html"><divclass="ttname"><ahref="classoperations__research_1_1_int_var_local_search_operator.html">operations_research::IntVarLocalSearchOperator</a></div><divclass="ttdoc">Specialization of LocalSearchOperator built from an array of IntVars which specifies the scope of the...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01021">constraint_solveri.h:1021</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_a625a8523af421e43b7ac500b934e7dbd"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#a625a8523af421e43b7ac500b934e7dbd">operations_research::PathOperator::MoveChain</a></div><divclass="ttdeci">bool MoveChain(int64_t before_chain, int64_t chain_end, int64_t destination)</div><divclass="ttdoc">Moves the chain starting after the node before_chain and ending at the node chain_end after the node ...</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l00412">local_search.cc:412</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_aff25e92fae946063c5a4a786e58e37a2"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#aff25e92fae946063c5a4a786e58e37a2">operations_research::PathOperator::MakeChainInactive</a></div><divclass="ttdeci">bool MakeChainInactive(int64_t before_chain, int64_t chain_end)</div><divclass="ttdoc">Makes the nodes on the chain starting after before_chain and ending at chain_end inactive.</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l00468">local_search.cc:468</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_int_var_local_search_operator_html_ac7dcbffbe392b653b5e0674631d03d3d"><divclass="ttname"><ahref="classoperations__research_1_1_int_var_local_search_operator.html#ac7dcbffbe392b653b5e0674631d03d3d">operations_research::IntVarLocalSearchOperator::MakeOneNeighbor</a></div><divclass="ttdeci">virtual bool MakeOneNeighbor()</div><divclass="ttdoc">Creates a new neighbor.</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l00097">local_search.cc:97</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_two_opt_html_a22efab68fd4a93ad85101ceffb01134b"><divclass="ttname"><ahref="classoperations__research_1_1_two_opt.html#a22efab68fd4a93ad85101ceffb01134b">operations_research::TwoOpt::GetBaseNodeRestartPosition</a></div><divclass="ttdeci">int64_t GetBaseNodeRestartPosition(int base_index) override</div><divclass="ttdoc">Returns the index of the node to which the base node of index base_index must be set to when it reach...</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l00890">local_search.cc:890</a></div></div>
<divclass="ttc"id="structoperations__research_1_1_path_operator_1_1_iteration_parameters_html_a1581ad954b08df9d34aeab8c61baa926"><divclass="ttname"><ahref="structoperations__research_1_1_path_operator_1_1_iteration_parameters.html#a1581ad954b08df9d34aeab8c61baa926">operations_research::PathOperator::IterationParameters::start_empty_path_class</a></div><divclass="ttdeci">std::function< int(int64_t)> start_empty_path_class</div><divclass="ttdoc">Callback returning an index such that if c1 = start_empty_path_class(StartNode(p1)),...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01334">constraint_solveri.h:1334</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_assignment_html_a1f16f5a2e5767013b620efd255fb35ea"><divclass="ttname"><ahref="classoperations__research_1_1_assignment.html#a1f16f5a2e5767013b620efd255fb35ea">operations_research::Assignment::IntVarContainer</a></div><divclass="ttdeci">const IntContainer & IntVarContainer() const</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l05232">constraint_solver.h:5232</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_var_local_search_operator_html_ac7c91384d4426bc617f24056e8cceca3"><divclass="ttname"><ahref="classoperations__research_1_1_var_local_search_operator.html#ac7c91384d4426bc617f24056e8cceca3">operations_research::VarLocalSearchOperator< IntVar, int64_t, IntVarLocalSearchHandler >::OldValue</a></div><divclass="ttdeci">const int64_t & OldValue(int64_t index) const</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l00844">constraint_solveri.h:844</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_local_search_filter_html"><divclass="ttname"><ahref="classoperations__research_1_1_local_search_filter.html">operations_research::LocalSearchFilter</a></div><divclass="ttdoc">Local Search Filters are used for fast neighbor pruning.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01730">constraint_solveri.h:1730</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18a9ea125a691a8fb716dc09ac09db7c4f3"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18a9ea125a691a8fb716dc09ac09db7c4f3">operations_research::Solver::PATHLNS</a></div><divclass="ttdoc">Operator which relaxes two sub-chains of three consecutive arcs each.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00526">constraint_solver.h:526</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_change_value_html_ad14cde260686e5b4174e691675df3139"><divclass="ttname"><ahref="classoperations__research_1_1_change_value.html#ad14cde260686e5b4174e691675df3139">operations_research::ChangeValue::MakeOneNeighbor</a></div><divclass="ttdeci">bool MakeOneNeighbor() override</div><divclass="ttdoc">This method should not be overridden. Override ModifyValue() instead.</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l00300">local_search.cc:300</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solution_pool_html_a6fbedcc0e848833761bc0ed775aa5436"><divclass="ttname"><ahref="classoperations__research_1_1_solution_pool.html#a6fbedcc0e848833761bc0ed775aa5436">operations_research::SolutionPool::GetNextSolution</a></div><divclass="ttdeci">virtual void GetNextSolution(Assignment *const assignment)=0</div><divclass="ttdoc">This method is called when the local search starts a new neighborhood to initialize the default assig...</div></div>
<divclass="ttc"id="classoperations__research_1_1_path_operator_html_a126d8d622ba60f333308fd98bcf8ed2b"><divclass="ttname"><ahref="classoperations__research_1_1_path_operator.html#a126d8d622ba60f333308fd98bcf8ed2b">operations_research::PathOperator::OnSamePathAsPreviousBase</a></div><divclass="ttdeci">virtual bool OnSamePathAsPreviousBase(int64_t base_index)</div><divclass="ttdoc">Returns true if a base node has to be on the same path as the "previous" base node (base node of inde...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solveri_8h_source.html#l01436">constraint_solveri.h:1436</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_aac351c16876d84a5b0602aa1337a3c61"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#aac351c16876d84a5b0602aa1337a3c61">operations_research::Solver::LocalSearchProfile</a></div><divclass="ttdeci">std::string LocalSearchProfile() const</div><divclass="ttdoc">Returns local search profiling information in a human readable format.</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l03887">local_search.cc:3887</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a6fc60ae040ae35c83f09736d2e682a18ab0af70328b3e18dfb0008306fccef2de"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a6fc60ae040ae35c83f09736d2e682a18ab0af70328b3e18dfb0008306fccef2de">operations_research::Solver::MAKEACTIVE</a></div><divclass="ttdoc">Operator which inserts an inactive node into a path.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00483">constraint_solver.h:483</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_path_state_html_afff8650ff7cd2d26a74e6dd518744a81"><divclass="ttname"><ahref="classoperations__research_1_1_path_state.html#afff8650ff7cd2d26a74e6dd518744a81">operations_research::PathState::PathState</a></div><divclass="ttdeci">PathState(int num_nodes, std::vector< int > path_start, std::vector< int > path_end)</div><divclass="ttdef"><b>Definition:</b><ahref="local__search_8cc_source.html#l02566">local_search.cc:2566</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solution_pool_html_a0ddd1c2f332c3cea0612b9d18ad6ef83"><divclass="ttname"><ahref="classoperations__research_1_1_solution_pool.html#a0ddd1c2f332c3cea0612b9d18ad6ef83">operations_research::SolutionPool::SyncNeeded</a></div><divclass="ttdeci">virtual bool SyncNeeded(Assignment *const local_assignment)=0</div><divclass="ttdoc">This method checks if the local solution needs to be updated with an external one.</div></div>