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

289 lines
22 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_1SolutionPool.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="classoperations__research_1_1SolutionPool-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">operations_research::SolutionPool 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>This class is used to manage a pool of solutions. </p>
<p>It can transform a single point local search into a multipoint local search. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l05273">5273</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.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:a0c1b8aceb7d2732914ade32de14cfc41"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionPool.html#a0c1b8aceb7d2732914ade32de14cfc41">SolutionPool</a> ()</td></tr>
<tr class="separator:a0c1b8aceb7d2732914ade32de14cfc41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfd2afc60305bddd7927b7f406dce492"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionPool.html#acfd2afc60305bddd7927b7f406dce492">~SolutionPool</a> () override</td></tr>
<tr class="separator:acfd2afc60305bddd7927b7f406dce492"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fb836da69e3c48b8ea240c0aee64d61"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionPool.html#a9fb836da69e3c48b8ea240c0aee64d61">Initialize</a> (<a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> *const assignment)=0</td></tr>
<tr class="memdesc:a9fb836da69e3c48b8ea240c0aee64d61"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is called to initialize the solution pool with the assignment from the local search. <a href="#a9fb836da69e3c48b8ea240c0aee64d61">More...</a><br /></td></tr>
<tr class="separator:a9fb836da69e3c48b8ea240c0aee64d61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e49e36a6c729756e59287fb8a3a3bcd"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionPool.html#a2e49e36a6c729756e59287fb8a3a3bcd">RegisterNewSolution</a> (<a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> *const assignment)=0</td></tr>
<tr class="memdesc:a2e49e36a6c729756e59287fb8a3a3bcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is called when a new solution has been accepted by the local search. <a href="#a2e49e36a6c729756e59287fb8a3a3bcd">More...</a><br /></td></tr>
<tr class="separator:a2e49e36a6c729756e59287fb8a3a3bcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a695368c209531f7ae73419543a3d63cd"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionPool.html#a695368c209531f7ae73419543a3d63cd">GetNextSolution</a> (<a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> *const assignment)=0</td></tr>
<tr class="memdesc:a695368c209531f7ae73419543a3d63cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is called when the local search starts a new neighborhood to initialize the default assignment. <a href="#a695368c209531f7ae73419543a3d63cd">More...</a><br /></td></tr>
<tr class="separator:a695368c209531f7ae73419543a3d63cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab71086e9d6cbca14023cd54a03bd1eff"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionPool.html#ab71086e9d6cbca14023cd54a03bd1eff">SyncNeeded</a> (<a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> *const local_assignment)=0</td></tr>
<tr class="memdesc:ab71086e9d6cbca14023cd54a03bd1eff"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method checks if the local solution needs to be updated with an external one. <a href="#ab71086e9d6cbca14023cd54a03bd1eff">More...</a><br /></td></tr>
<tr class="separator:ab71086e9d6cbca14023cd54a03bd1eff"><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>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a0c1b8aceb7d2732914ade32de14cfc41"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c1b8aceb7d2732914ade32de14cfc41">&#9670;&nbsp;</a></span>SolutionPool()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">operations_research::SolutionPool::SolutionPool </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l05275">5275</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="acfd2afc60305bddd7927b7f406dce492"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acfd2afc60305bddd7927b7f406dce492">&#9670;&nbsp;</a></span>~SolutionPool()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">operations_research::SolutionPool::~SolutionPool </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__solver_8h_source.html#l05276">5276</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<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="a695368c209531f7ae73419543a3d63cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a695368c209531f7ae73419543a3d63cd">&#9670;&nbsp;</a></span>GetNextSolution()</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::SolutionPool::GetNextSolution </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> *const&#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">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method is called when the local search starts a new neighborhood to initialize the default assignment. </p>
</div>
</div>
<a id="a9fb836da69e3c48b8ea240c0aee64d61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9fb836da69e3c48b8ea240c0aee64d61">&#9670;&nbsp;</a></span>Initialize()</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::SolutionPool::Initialize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> *const&#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">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method is called to initialize the solution pool with the assignment from the local search. </p>
</div>
</div>
<a id="a2e49e36a6c729756e59287fb8a3a3bcd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e49e36a6c729756e59287fb8a3a3bcd">&#9670;&nbsp;</a></span>RegisterNewSolution()</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::SolutionPool::RegisterNewSolution </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> *const&#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">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method is called when a new solution has been accepted by the local search. </p>
</div>
</div>
<a id="ab71086e9d6cbca14023cd54a03bd1eff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab71086e9d6cbca14023cd54a03bd1eff">&#9670;&nbsp;</a></span>SyncNeeded()</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::SolutionPool::SyncNeeded </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> *const&#160;</td>
<td class="paramname"><em>local_assignment</em></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>This method checks if the local solution needs to be updated with an external one. </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div>
<div id="footer-container">
<div id="footer">
</div>
</div>
</body>
</html>