1862 lines
98 KiB
HTML
1862 lines
98 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">Google OR-Tools 7.5</span>
|
|
</div>
|
|
</div>
|
|
<div id="content" style="width: 100%; overflow: hidden;">
|
|
<div style="margin-left: 15px; margin-top: 5px; float: left; color: #145A32;">
|
|
<h2>C++ Reference</h2>
|
|
<ul>
|
|
<li><a href="../cpp_algorithms/annotated.html">Algorithms</a></li>
|
|
<li><a href="../cpp_sat/annotated.html">CP-SAT</a></li>
|
|
<li><a href="../cpp_graph/annotated.html">Graph</a></li>
|
|
<li><a href="../cpp_routing/annotated.html">Routing</a></li>
|
|
<li><a href="../cpp_linear/annotated.html">Linear solver</a></li>
|
|
</ul>
|
|
</div>
|
|
<div id="content">
|
|
<div align="center">
|
|
<h1 style="color: #145A32;">C++ Reference: Routing</h1>
|
|
</div>
|
|
<!-- Generated by Doxygen 1.8.18 -->
|
|
<div id="navrow1" class="tabs">
|
|
<ul class="tablist">
|
|
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
|
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
|
<li><a href="files.html"><span>Files</span></a></li>
|
|
</ul>
|
|
</div>
|
|
<div id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="namespaceoperations__research.html">operations_research</a></li><li class="navelem"><a class="el" href="classoperations__research_1_1SolutionCollector.html">SolutionCollector</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#nested-classes">Classes</a> |
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="#pub-static-attribs">Static Public Attributes</a> |
|
|
<a href="#pro-methods">Protected Member Functions</a> |
|
|
<a href="#pro-attribs">Protected Attributes</a> |
|
|
<a href="classoperations__research_1_1SolutionCollector-members.html">List of all members</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">SolutionCollector</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 the root class of all solution collectors. </p>
|
|
<p>It implements a basic query API to be used independently of the collector used. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l04053">4053</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="nested-classes"></a>
|
|
Classes</h2></td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html">SolutionData</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:adbd3b8b25d686516cba29e11ad483b43"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#adbd3b8b25d686516cba29e11ad483b43">SolutionCollector</a> (<a class="el" href="classoperations__research_1_1Solver.html">Solver</a> *const <a class="el" href="classoperations__research_1_1SearchMonitor.html#a5f32c22c620c811754ba7b6f977db864">solver</a>, const <a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> *assignment)</td></tr>
|
|
<tr class="separator:adbd3b8b25d686516cba29e11ad483b43"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a517903bea1be89b6c194bc4d1eb28a51"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#a517903bea1be89b6c194bc4d1eb28a51">SolutionCollector</a> (<a class="el" href="classoperations__research_1_1Solver.html">Solver</a> *const <a class="el" href="classoperations__research_1_1SearchMonitor.html#a5f32c22c620c811754ba7b6f977db864">solver</a>)</td></tr>
|
|
<tr class="separator:a517903bea1be89b6c194bc4d1eb28a51"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a33042163bd532ccbfe547236b22bf614"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#a33042163bd532ccbfe547236b22bf614">~SolutionCollector</a> () override</td></tr>
|
|
<tr class="separator:a33042163bd532ccbfe547236b22bf614"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aed804747c45a7e1caf81461f9e45dd91"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a> () const override</td></tr>
|
|
<tr class="separator:aed804747c45a7e1caf81461f9e45dd91"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5a589c2741d5a4b5b777b0dfe2433d13"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#a5a589c2741d5a4b5b777b0dfe2433d13">Add</a> (<a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *const var)</td></tr>
|
|
<tr class="memdesc:a5a589c2741d5a4b5b777b0dfe2433d13"><td class="mdescLeft"> </td><td class="mdescRight">Add API. <a href="classoperations__research_1_1SolutionCollector.html#a5a589c2741d5a4b5b777b0dfe2433d13">More...</a><br /></td></tr>
|
|
<tr class="separator:a5a589c2741d5a4b5b777b0dfe2433d13"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a62eeaedd1b35f3805bbd3e544c16577b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#a62eeaedd1b35f3805bbd3e544c16577b">Add</a> (const std::vector< <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * > &vars)</td></tr>
|
|
<tr class="separator:a62eeaedd1b35f3805bbd3e544c16577b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a69c1d2e1b243c1ce6f7663c297c0b357"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#a69c1d2e1b243c1ce6f7663c297c0b357">Add</a> (<a class="el" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a> *const var)</td></tr>
|
|
<tr class="separator:a69c1d2e1b243c1ce6f7663c297c0b357"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6f3a03e958cc119592fc6ecdf2b1e908"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#a6f3a03e958cc119592fc6ecdf2b1e908">Add</a> (const std::vector< <a class="el" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a> * > &vars)</td></tr>
|
|
<tr class="separator:a6f3a03e958cc119592fc6ecdf2b1e908"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af549aaf97ee31923831935c407eff0de"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#af549aaf97ee31923831935c407eff0de">Add</a> (<a class="el" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a> *const var)</td></tr>
|
|
<tr class="separator:af549aaf97ee31923831935c407eff0de"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4f586a9056698e50f687455cbe3c79c7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#a4f586a9056698e50f687455cbe3c79c7">Add</a> (const std::vector< <a class="el" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a> * > &vars)</td></tr>
|
|
<tr class="separator:a4f586a9056698e50f687455cbe3c79c7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a40060f6e513255a9133645c7179fa0d1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#a40060f6e513255a9133645c7179fa0d1">AddObjective</a> (<a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *const objective)</td></tr>
|
|
<tr class="separator:a40060f6e513255a9133645c7179fa0d1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0c955ff1b2eae2daece0f25f1e57fb16"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#a0c955ff1b2eae2daece0f25f1e57fb16">EnterSearch</a> () override</td></tr>
|
|
<tr class="memdesc:a0c955ff1b2eae2daece0f25f1e57fb16"><td class="mdescLeft"> </td><td class="mdescRight">Beginning of the search. <a href="classoperations__research_1_1SolutionCollector.html#a0c955ff1b2eae2daece0f25f1e57fb16">More...</a><br /></td></tr>
|
|
<tr class="separator:a0c955ff1b2eae2daece0f25f1e57fb16"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5aeabb40e6e7550c805534764b3076fa"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#a5aeabb40e6e7550c805534764b3076fa">solution_count</a> () const</td></tr>
|
|
<tr class="memdesc:a5aeabb40e6e7550c805534764b3076fa"><td class="mdescLeft"> </td><td class="mdescRight">Returns how many solutions were stored during the search. <a href="classoperations__research_1_1SolutionCollector.html#a5aeabb40e6e7550c805534764b3076fa">More...</a><br /></td></tr>
|
|
<tr class="separator:a5aeabb40e6e7550c805534764b3076fa"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a323ba67da917a9f9766a3e206126af39"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#a323ba67da917a9f9766a3e206126af39">solution</a> (int n) const</td></tr>
|
|
<tr class="memdesc:a323ba67da917a9f9766a3e206126af39"><td class="mdescLeft"> </td><td class="mdescRight">Returns the nth solution. <a href="classoperations__research_1_1SolutionCollector.html#a323ba67da917a9f9766a3e206126af39">More...</a><br /></td></tr>
|
|
<tr class="separator:a323ba67da917a9f9766a3e206126af39"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa3cba39da831c24e851ab05f694ee515"><td class="memItemLeft" align="right" valign="top">int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#aa3cba39da831c24e851ab05f694ee515">wall_time</a> (int n) const</td></tr>
|
|
<tr class="memdesc:aa3cba39da831c24e851ab05f694ee515"><td class="mdescLeft"> </td><td class="mdescRight">Returns the wall time in ms for the nth solution. <a href="classoperations__research_1_1SolutionCollector.html#aa3cba39da831c24e851ab05f694ee515">More...</a><br /></td></tr>
|
|
<tr class="separator:aa3cba39da831c24e851ab05f694ee515"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae7b0218cbb5e9560505dd58edb396902"><td class="memItemLeft" align="right" valign="top">int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#ae7b0218cbb5e9560505dd58edb396902">branches</a> (int n) const</td></tr>
|
|
<tr class="memdesc:ae7b0218cbb5e9560505dd58edb396902"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of branches when the nth solution was found. <a href="classoperations__research_1_1SolutionCollector.html#ae7b0218cbb5e9560505dd58edb396902">More...</a><br /></td></tr>
|
|
<tr class="separator:ae7b0218cbb5e9560505dd58edb396902"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2a9e43052556228cad3346d71e26e5f7"><td class="memItemLeft" align="right" valign="top">int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#a2a9e43052556228cad3346d71e26e5f7">failures</a> (int n) const</td></tr>
|
|
<tr class="memdesc:a2a9e43052556228cad3346d71e26e5f7"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of failures encountered at the time of the nth solution. <a href="classoperations__research_1_1SolutionCollector.html#a2a9e43052556228cad3346d71e26e5f7">More...</a><br /></td></tr>
|
|
<tr class="separator:a2a9e43052556228cad3346d71e26e5f7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab47256145f58ae39ba8a4691076f0004"><td class="memItemLeft" align="right" valign="top">int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#ab47256145f58ae39ba8a4691076f0004">objective_value</a> (int n) const</td></tr>
|
|
<tr class="memdesc:ab47256145f58ae39ba8a4691076f0004"><td class="mdescLeft"> </td><td class="mdescRight">Returns the objective value of the nth solution. <a href="classoperations__research_1_1SolutionCollector.html#ab47256145f58ae39ba8a4691076f0004">More...</a><br /></td></tr>
|
|
<tr class="separator:ab47256145f58ae39ba8a4691076f0004"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0dff88fcb39a84e0566db0256a623dff"><td class="memItemLeft" align="right" valign="top">int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#a0dff88fcb39a84e0566db0256a623dff">Value</a> (int n, <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *const var) const</td></tr>
|
|
<tr class="memdesc:a0dff88fcb39a84e0566db0256a623dff"><td class="mdescLeft"> </td><td class="mdescRight">This is a shortcut to get the Value of 'var' in the nth solution. <a href="classoperations__research_1_1SolutionCollector.html#a0dff88fcb39a84e0566db0256a623dff">More...</a><br /></td></tr>
|
|
<tr class="separator:a0dff88fcb39a84e0566db0256a623dff"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af5d0ff66e85427eb7dccf6f40c2e4144"><td class="memItemLeft" align="right" valign="top">int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#af5d0ff66e85427eb7dccf6f40c2e4144">StartValue</a> (int n, <a class="el" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a> *const var) const</td></tr>
|
|
<tr class="memdesc:af5d0ff66e85427eb7dccf6f40c2e4144"><td class="mdescLeft"> </td><td class="mdescRight">This is a shortcut to get the StartValue of 'var' in the nth solution. <a href="classoperations__research_1_1SolutionCollector.html#af5d0ff66e85427eb7dccf6f40c2e4144">More...</a><br /></td></tr>
|
|
<tr class="separator:af5d0ff66e85427eb7dccf6f40c2e4144"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aaeaf933a169ea16e571b9af9c7079883"><td class="memItemLeft" align="right" valign="top">int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#aaeaf933a169ea16e571b9af9c7079883">EndValue</a> (int n, <a class="el" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a> *const var) const</td></tr>
|
|
<tr class="memdesc:aaeaf933a169ea16e571b9af9c7079883"><td class="mdescLeft"> </td><td class="mdescRight">This is a shortcut to get the EndValue of 'var' in the nth solution. <a href="classoperations__research_1_1SolutionCollector.html#aaeaf933a169ea16e571b9af9c7079883">More...</a><br /></td></tr>
|
|
<tr class="separator:aaeaf933a169ea16e571b9af9c7079883"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a61ad3bd2621a9d269ee5ae1bfbc1e388"><td class="memItemLeft" align="right" valign="top">int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#a61ad3bd2621a9d269ee5ae1bfbc1e388">DurationValue</a> (int n, <a class="el" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a> *const var) const</td></tr>
|
|
<tr class="memdesc:a61ad3bd2621a9d269ee5ae1bfbc1e388"><td class="mdescLeft"> </td><td class="mdescRight">This is a shortcut to get the DurationValue of 'var' in the nth solution. <a href="classoperations__research_1_1SolutionCollector.html#a61ad3bd2621a9d269ee5ae1bfbc1e388">More...</a><br /></td></tr>
|
|
<tr class="separator:a61ad3bd2621a9d269ee5ae1bfbc1e388"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a721f49ca2d390d07d643847a05cd428d"><td class="memItemLeft" align="right" valign="top">int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#a721f49ca2d390d07d643847a05cd428d">PerformedValue</a> (int n, <a class="el" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a> *const var) const</td></tr>
|
|
<tr class="memdesc:a721f49ca2d390d07d643847a05cd428d"><td class="mdescLeft"> </td><td class="mdescRight">This is a shortcut to get the PerformedValue of 'var' in the nth solution. <a href="classoperations__research_1_1SolutionCollector.html#a721f49ca2d390d07d643847a05cd428d">More...</a><br /></td></tr>
|
|
<tr class="separator:a721f49ca2d390d07d643847a05cd428d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a44ce2293355612ba36dcacf9b7281d47"><td class="memItemLeft" align="right" valign="top">const std::vector< int > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#a44ce2293355612ba36dcacf9b7281d47">ForwardSequence</a> (int n, <a class="el" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a> *const var) const</td></tr>
|
|
<tr class="memdesc:a44ce2293355612ba36dcacf9b7281d47"><td class="mdescLeft"> </td><td class="mdescRight">This is a shortcut to get the ForwardSequence of 'var' in the nth solution. <a href="classoperations__research_1_1SolutionCollector.html#a44ce2293355612ba36dcacf9b7281d47">More...</a><br /></td></tr>
|
|
<tr class="separator:a44ce2293355612ba36dcacf9b7281d47"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a69d42eaaa36a86e05e57f6b682679095"><td class="memItemLeft" align="right" valign="top">const std::vector< int > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#a69d42eaaa36a86e05e57f6b682679095">BackwardSequence</a> (int n, <a class="el" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a> *const var) const</td></tr>
|
|
<tr class="memdesc:a69d42eaaa36a86e05e57f6b682679095"><td class="mdescLeft"> </td><td class="mdescRight">This is a shortcut to get the BackwardSequence of 'var' in the nth solution. <a href="classoperations__research_1_1SolutionCollector.html#a69d42eaaa36a86e05e57f6b682679095">More...</a><br /></td></tr>
|
|
<tr class="separator:a69d42eaaa36a86e05e57f6b682679095"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a499d6ef733de0adbab4fae13ff2cc285"><td class="memItemLeft" align="right" valign="top">const std::vector< int > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#a499d6ef733de0adbab4fae13ff2cc285">Unperformed</a> (int n, <a class="el" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a> *const var) const</td></tr>
|
|
<tr class="memdesc:a499d6ef733de0adbab4fae13ff2cc285"><td class="mdescLeft"> </td><td class="mdescRight">This is a shortcut to get the list of unperformed of 'var' in the nth solution. <a href="classoperations__research_1_1SolutionCollector.html#a499d6ef733de0adbab4fae13ff2cc285">More...</a><br /></td></tr>
|
|
<tr class="separator:a499d6ef733de0adbab4fae13ff2cc285"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a262b3b6ef45475daffd66c5ada5dfdd2"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a262b3b6ef45475daffd66c5ada5dfdd2">RestartSearch</a> ()</td></tr>
|
|
<tr class="memdesc:a262b3b6ef45475daffd66c5ada5dfdd2"><td class="mdescLeft"> </td><td class="mdescRight">Restart the search. <a href="classoperations__research_1_1SearchMonitor.html#a262b3b6ef45475daffd66c5ada5dfdd2">More...</a><br /></td></tr>
|
|
<tr class="separator:a262b3b6ef45475daffd66c5ada5dfdd2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a19bef8716e7418748ef666b07b09c25d"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a19bef8716e7418748ef666b07b09c25d">ExitSearch</a> ()</td></tr>
|
|
<tr class="memdesc:a19bef8716e7418748ef666b07b09c25d"><td class="mdescLeft"> </td><td class="mdescRight">End of the search. <a href="classoperations__research_1_1SearchMonitor.html#a19bef8716e7418748ef666b07b09c25d">More...</a><br /></td></tr>
|
|
<tr class="separator:a19bef8716e7418748ef666b07b09c25d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad68c792579832141c205985973ba8a88"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#ad68c792579832141c205985973ba8a88">BeginNextDecision</a> (<a class="el" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a> *const b)</td></tr>
|
|
<tr class="memdesc:ad68c792579832141c205985973ba8a88"><td class="mdescLeft"> </td><td class="mdescRight">Before calling <a class="el" href="classoperations__research_1_1DecisionBuilder.html#a68bbb37d42da9d7b82145b3bf435dbc3" title="This is the main method of the decision builder class.">DecisionBuilder::Next</a>. <a href="classoperations__research_1_1SearchMonitor.html#ad68c792579832141c205985973ba8a88">More...</a><br /></td></tr>
|
|
<tr class="separator:ad68c792579832141c205985973ba8a88"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab472eccafac416112828cde24cefb907"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#ab472eccafac416112828cde24cefb907">EndNextDecision</a> (<a class="el" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a> *const b, <a class="el" href="classoperations__research_1_1Decision.html">Decision</a> *const d)</td></tr>
|
|
<tr class="memdesc:ab472eccafac416112828cde24cefb907"><td class="mdescLeft"> </td><td class="mdescRight">After calling <a class="el" href="classoperations__research_1_1DecisionBuilder.html#a68bbb37d42da9d7b82145b3bf435dbc3" title="This is the main method of the decision builder class.">DecisionBuilder::Next</a>, along with the returned decision. <a href="classoperations__research_1_1SearchMonitor.html#ab472eccafac416112828cde24cefb907">More...</a><br /></td></tr>
|
|
<tr class="separator:ab472eccafac416112828cde24cefb907"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af4cd0c541c53920fa86ff54ba2349cb2"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#af4cd0c541c53920fa86ff54ba2349cb2">ApplyDecision</a> (<a class="el" href="classoperations__research_1_1Decision.html">Decision</a> *const d)</td></tr>
|
|
<tr class="memdesc:af4cd0c541c53920fa86ff54ba2349cb2"><td class="mdescLeft"> </td><td class="mdescRight">Before applying the decision. <a href="classoperations__research_1_1SearchMonitor.html#af4cd0c541c53920fa86ff54ba2349cb2">More...</a><br /></td></tr>
|
|
<tr class="separator:af4cd0c541c53920fa86ff54ba2349cb2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a150f3693eacbeff5fcf5fb1ab954d11e"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a150f3693eacbeff5fcf5fb1ab954d11e">RefuteDecision</a> (<a class="el" href="classoperations__research_1_1Decision.html">Decision</a> *const d)</td></tr>
|
|
<tr class="memdesc:a150f3693eacbeff5fcf5fb1ab954d11e"><td class="mdescLeft"> </td><td class="mdescRight">Before refuting the decision. <a href="classoperations__research_1_1SearchMonitor.html#a150f3693eacbeff5fcf5fb1ab954d11e">More...</a><br /></td></tr>
|
|
<tr class="separator:a150f3693eacbeff5fcf5fb1ab954d11e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9e7b2a7775d2ff7735f77716cb29d15b"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a9e7b2a7775d2ff7735f77716cb29d15b">AfterDecision</a> (<a class="el" href="classoperations__research_1_1Decision.html">Decision</a> *const d, bool apply)</td></tr>
|
|
<tr class="memdesc:a9e7b2a7775d2ff7735f77716cb29d15b"><td class="mdescLeft"> </td><td class="mdescRight">Just after refuting or applying the decision, apply is true after Apply. <a href="classoperations__research_1_1SearchMonitor.html#a9e7b2a7775d2ff7735f77716cb29d15b">More...</a><br /></td></tr>
|
|
<tr class="separator:a9e7b2a7775d2ff7735f77716cb29d15b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a232379b0cabc402db868a849f4f71273"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a232379b0cabc402db868a849f4f71273">BeginFail</a> ()</td></tr>
|
|
<tr class="memdesc:a232379b0cabc402db868a849f4f71273"><td class="mdescLeft"> </td><td class="mdescRight">Just when the failure occurs. <a href="classoperations__research_1_1SearchMonitor.html#a232379b0cabc402db868a849f4f71273">More...</a><br /></td></tr>
|
|
<tr class="separator:a232379b0cabc402db868a849f4f71273"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a365797300972514a230eeb9e2f45f441"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a365797300972514a230eeb9e2f45f441">EndFail</a> ()</td></tr>
|
|
<tr class="memdesc:a365797300972514a230eeb9e2f45f441"><td class="mdescLeft"> </td><td class="mdescRight">After completing the backtrack. <a href="classoperations__research_1_1SearchMonitor.html#a365797300972514a230eeb9e2f45f441">More...</a><br /></td></tr>
|
|
<tr class="separator:a365797300972514a230eeb9e2f45f441"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:adfeaf3bb78e09fb211bdb8a4fa605c05"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#adfeaf3bb78e09fb211bdb8a4fa605c05">BeginInitialPropagation</a> ()</td></tr>
|
|
<tr class="memdesc:adfeaf3bb78e09fb211bdb8a4fa605c05"><td class="mdescLeft"> </td><td class="mdescRight">Before the initial propagation. <a href="classoperations__research_1_1SearchMonitor.html#adfeaf3bb78e09fb211bdb8a4fa605c05">More...</a><br /></td></tr>
|
|
<tr class="separator:adfeaf3bb78e09fb211bdb8a4fa605c05"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1ef0300d79ec636a79c06486f695b2ff"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a1ef0300d79ec636a79c06486f695b2ff">EndInitialPropagation</a> ()</td></tr>
|
|
<tr class="memdesc:a1ef0300d79ec636a79c06486f695b2ff"><td class="mdescLeft"> </td><td class="mdescRight">After the initial propagation. <a href="classoperations__research_1_1SearchMonitor.html#a1ef0300d79ec636a79c06486f695b2ff">More...</a><br /></td></tr>
|
|
<tr class="separator:a1ef0300d79ec636a79c06486f695b2ff"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2895de3ad67f901de28f00994cdcfa34"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a2895de3ad67f901de28f00994cdcfa34">AcceptSolution</a> ()</td></tr>
|
|
<tr class="memdesc:a2895de3ad67f901de28f00994cdcfa34"><td class="mdescLeft"> </td><td class="mdescRight">This method is called when a solution is found. <a href="classoperations__research_1_1SearchMonitor.html#a2895de3ad67f901de28f00994cdcfa34">More...</a><br /></td></tr>
|
|
<tr class="separator:a2895de3ad67f901de28f00994cdcfa34"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9f55f75747d65ad9c4ca9c6fdc01800d"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a9f55f75747d65ad9c4ca9c6fdc01800d">AtSolution</a> ()</td></tr>
|
|
<tr class="memdesc:a9f55f75747d65ad9c4ca9c6fdc01800d"><td class="mdescLeft"> </td><td class="mdescRight">This method is called when a valid solution is found. <a href="classoperations__research_1_1SearchMonitor.html#a9f55f75747d65ad9c4ca9c6fdc01800d">More...</a><br /></td></tr>
|
|
<tr class="separator:a9f55f75747d65ad9c4ca9c6fdc01800d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6c85276e75542eb410f09b0ccd78379b"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a6c85276e75542eb410f09b0ccd78379b">NoMoreSolutions</a> ()</td></tr>
|
|
<tr class="memdesc:a6c85276e75542eb410f09b0ccd78379b"><td class="mdescLeft"> </td><td class="mdescRight">When the search tree is finished. <a href="classoperations__research_1_1SearchMonitor.html#a6c85276e75542eb410f09b0ccd78379b">More...</a><br /></td></tr>
|
|
<tr class="separator:a6c85276e75542eb410f09b0ccd78379b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad6087c8c2f28d22ff19052db7c0045cf"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#ad6087c8c2f28d22ff19052db7c0045cf">LocalOptimum</a> ()</td></tr>
|
|
<tr class="memdesc:ad6087c8c2f28d22ff19052db7c0045cf"><td class="mdescLeft"> </td><td class="mdescRight">When a local optimum is reached. <a href="classoperations__research_1_1SearchMonitor.html#ad6087c8c2f28d22ff19052db7c0045cf">More...</a><br /></td></tr>
|
|
<tr class="separator:ad6087c8c2f28d22ff19052db7c0045cf"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a98a16aa379c7240ae374adb128142a02"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a98a16aa379c7240ae374adb128142a02">AcceptDelta</a> (<a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> *delta, <a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> *deltadelta)</td></tr>
|
|
<tr class="separator:a98a16aa379c7240ae374adb128142a02"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a36df6248a273f003d8d9e1414e3c5e5c"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a36df6248a273f003d8d9e1414e3c5e5c">AcceptNeighbor</a> ()</td></tr>
|
|
<tr class="memdesc:a36df6248a273f003d8d9e1414e3c5e5c"><td class="mdescLeft"> </td><td class="mdescRight">After accepting a neighbor during local search. <a href="classoperations__research_1_1SearchMonitor.html#a36df6248a273f003d8d9e1414e3c5e5c">More...</a><br /></td></tr>
|
|
<tr class="separator:a36df6248a273f003d8d9e1414e3c5e5c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae08d9f4aadd8be8f98637c6dec237b57"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#ae08d9f4aadd8be8f98637c6dec237b57">AcceptUncheckedNeighbor</a> ()</td></tr>
|
|
<tr class="memdesc:ae08d9f4aadd8be8f98637c6dec237b57"><td class="mdescLeft"> </td><td class="mdescRight">After accepting an unchecked neighbor during local search. <a href="classoperations__research_1_1SearchMonitor.html#ae08d9f4aadd8be8f98637c6dec237b57">More...</a><br /></td></tr>
|
|
<tr class="separator:ae08d9f4aadd8be8f98637c6dec237b57"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a198e17615278d9d5b9f39e4f0493447b"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a198e17615278d9d5b9f39e4f0493447b">IsUncheckedSolutionLimitReached</a> ()</td></tr>
|
|
<tr class="memdesc:a198e17615278d9d5b9f39e4f0493447b"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if the limit of solutions has been reached including unchecked solutions. <a href="classoperations__research_1_1SearchMonitor.html#a198e17615278d9d5b9f39e4f0493447b">More...</a><br /></td></tr>
|
|
<tr class="separator:a198e17615278d9d5b9f39e4f0493447b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5f32c22c620c811754ba7b6f977db864"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1Solver.html">Solver</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a5f32c22c620c811754ba7b6f977db864">solver</a> () const</td></tr>
|
|
<tr class="separator:a5f32c22c620c811754ba7b6f977db864"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1fc71393e20b97540f90702601b75fe1"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a1fc71393e20b97540f90702601b75fe1">PeriodicCheck</a> ()</td></tr>
|
|
<tr class="memdesc:a1fc71393e20b97540f90702601b75fe1"><td class="mdescLeft"> </td><td class="mdescRight">Periodic call to check limits in long running methods. <a href="classoperations__research_1_1SearchMonitor.html#a1fc71393e20b97540f90702601b75fe1">More...</a><br /></td></tr>
|
|
<tr class="separator:a1fc71393e20b97540f90702601b75fe1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2ebc7607687823d65bf65f331c9ac246"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a2ebc7607687823d65bf65f331c9ac246">ProgressPercent</a> ()</td></tr>
|
|
<tr class="memdesc:a2ebc7607687823d65bf65f331c9ac246"><td class="mdescLeft"> </td><td class="mdescRight">Returns a percentage representing the propress of the search before reaching limits. <a href="classoperations__research_1_1SearchMonitor.html#a2ebc7607687823d65bf65f331c9ac246">More...</a><br /></td></tr>
|
|
<tr class="separator:a2ebc7607687823d65bf65f331c9ac246"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:afcde421cf076575a27bed81c80093ac8"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#afcde421cf076575a27bed81c80093ac8">Accept</a> (<a class="el" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a> *const visitor) const</td></tr>
|
|
<tr class="memdesc:afcde421cf076575a27bed81c80093ac8"><td class="mdescLeft"> </td><td class="mdescRight">Accepts the given model visitor. <a href="classoperations__research_1_1SearchMonitor.html#afcde421cf076575a27bed81c80093ac8">More...</a><br /></td></tr>
|
|
<tr class="separator:afcde421cf076575a27bed81c80093ac8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a16adaa01a30033dfc04405c25b7ede7b"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a16adaa01a30033dfc04405c25b7ede7b">Install</a> ()</td></tr>
|
|
<tr class="memdesc:a16adaa01a30033dfc04405c25b7ede7b"><td class="mdescLeft"> </td><td class="mdescRight">Registers itself on the solver such that it gets notified of the search and propagation events. <a href="classoperations__research_1_1SearchMonitor.html#a16adaa01a30033dfc04405c25b7ede7b">More...</a><br /></td></tr>
|
|
<tr class="separator:a16adaa01a30033dfc04405c25b7ede7b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
|
|
Static Public Attributes</h2></td></tr>
|
|
<tr class="memitem:ae01b186f0d4be993cdabb7fb50bb98bd"><td class="memItemLeft" align="right" valign="top">static const int </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#ae01b186f0d4be993cdabb7fb50bb98bd">kNoProgress</a> = -1</td></tr>
|
|
<tr class="separator:ae01b186f0d4be993cdabb7fb50bb98bd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
|
|
Protected Member Functions</h2></td></tr>
|
|
<tr class="memitem:a3caadbab358fe704365f1697ce654375"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#a3caadbab358fe704365f1697ce654375">PushSolution</a> ()</td></tr>
|
|
<tr class="memdesc:a3caadbab358fe704365f1697ce654375"><td class="mdescLeft"> </td><td class="mdescRight">Push the current state as a new solution. <a href="classoperations__research_1_1SolutionCollector.html#a3caadbab358fe704365f1697ce654375">More...</a><br /></td></tr>
|
|
<tr class="separator:a3caadbab358fe704365f1697ce654375"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a35f33e423f42d8e78db12010bd7ae338"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#a35f33e423f42d8e78db12010bd7ae338">Push</a> (const <a class="el" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html">SolutionData</a> &data)</td></tr>
|
|
<tr class="separator:a35f33e423f42d8e78db12010bd7ae338"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aec3898670cd27d756678ddda55678b87"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#aec3898670cd27d756678ddda55678b87">PopSolution</a> ()</td></tr>
|
|
<tr class="memdesc:aec3898670cd27d756678ddda55678b87"><td class="mdescLeft"> </td><td class="mdescRight">Remove and delete the last popped solution. <a href="classoperations__research_1_1SolutionCollector.html#aec3898670cd27d756678ddda55678b87">More...</a><br /></td></tr>
|
|
<tr class="separator:aec3898670cd27d756678ddda55678b87"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7355e73fd1c286b47bdd911d5c17b3ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html">SolutionData</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#a7355e73fd1c286b47bdd911d5c17b3ff">BuildSolutionDataForCurrentState</a> ()</td></tr>
|
|
<tr class="separator:a7355e73fd1c286b47bdd911d5c17b3ff"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac355f6324d4fcc3f253f3b83105b9c6e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#ac355f6324d4fcc3f253f3b83105b9c6e">FreeSolution</a> (<a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> *<a class="el" href="classoperations__research_1_1SolutionCollector.html#a323ba67da917a9f9766a3e206126af39">solution</a>)</td></tr>
|
|
<tr class="separator:ac355f6324d4fcc3f253f3b83105b9c6e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a06d7a538074a3c12029edf2c7dbe03b9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#a06d7a538074a3c12029edf2c7dbe03b9">check_index</a> (int n) const</td></tr>
|
|
<tr class="separator:a06d7a538074a3c12029edf2c7dbe03b9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
|
|
Protected Attributes</h2></td></tr>
|
|
<tr class="memitem:ad6447dcc60c8d0bb89d7c72530afb842"><td class="memItemLeft" align="right" valign="top">std::unique_ptr< <a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#ad6447dcc60c8d0bb89d7c72530afb842">prototype_</a></td></tr>
|
|
<tr class="separator:ad6447dcc60c8d0bb89d7c72530afb842"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a50ad7718f019e2f46328682dc8ed7162"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html">SolutionData</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#a50ad7718f019e2f46328682dc8ed7162">solution_data_</a></td></tr>
|
|
<tr class="separator:a50ad7718f019e2f46328682dc8ed7162"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a44069f4a63ae68c2059144cc5ee976d1"><td class="memItemLeft" align="right" valign="top">std::vector< <a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SolutionCollector.html#a44069f4a63ae68c2059144cc5ee976d1">recycle_solutions_</a></td></tr>
|
|
<tr class="separator:a44069f4a63ae68c2059144cc5ee976d1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a id="adbd3b8b25d686516cba29e11ad483b43"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#adbd3b8b25d686516cba29e11ad483b43">◆ </a></span>SolutionCollector() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1SolutionCollector.html">SolutionCollector</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1Solver.html">Solver</a> *const </td>
|
|
<td class="paramname"><em>solver</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> * </td>
|
|
<td class="paramname"><em>assignment</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a517903bea1be89b6c194bc4d1eb28a51"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a517903bea1be89b6c194bc4d1eb28a51">◆ </a></span>SolutionCollector() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1SolutionCollector.html">SolutionCollector</a> </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1Solver.html">Solver</a> *const </td>
|
|
<td class="paramname"><em>solver</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a33042163bd532ccbfe547236b22bf614"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a33042163bd532ccbfe547236b22bf614">◆ </a></span>~SolutionCollector()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">~<a class="el" href="classoperations__research_1_1SolutionCollector.html">SolutionCollector</a> </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">override</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
<a id="afcde421cf076575a27bed81c80093ac8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#afcde421cf076575a27bed81c80093ac8">◆ </a></span>Accept()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual void Accept </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a> *const </td>
|
|
<td class="paramname"><em>visitor</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Accepts the given model visitor. </p>
|
|
|
|
<p>Reimplemented in <a class="el" href="classoperations__research_1_1RegularLimit.html#aa30c84aec5e60d6b74e1e1eb15011d4a">RegularLimit</a>, and <a class="el" href="classoperations__research_1_1OptimizeVar.html#aa30c84aec5e60d6b74e1e1eb15011d4a">OptimizeVar</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a98a16aa379c7240ae374adb128142a02"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a98a16aa379c7240ae374adb128142a02">◆ </a></span>AcceptDelta()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual bool AcceptDelta </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> * </td>
|
|
<td class="paramname"><em>delta</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> * </td>
|
|
<td class="paramname"><em>deltadelta</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">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_1OptimizeVar.html#ae983cf659c971e1f2095a2c5a0e81eca">OptimizeVar</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a36df6248a273f003d8d9e1414e3c5e5c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a36df6248a273f003d8d9e1414e3c5e5c">◆ </a></span>AcceptNeighbor()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual void AcceptNeighbor </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>After accepting a neighbor during local search. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2895de3ad67f901de28f00994cdcfa34"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2895de3ad67f901de28f00994cdcfa34">◆ </a></span>AcceptSolution()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual bool AcceptSolution </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This method is called when a solution is found. </p>
|
|
<p>It asserts whether the solution is valid. A value of false indicates that the solution should be discarded. </p>
|
|
|
|
<p>Reimplemented in <a class="el" href="classoperations__research_1_1OptimizeVar.html#aa8900234762f2b2015b9108accdf10ff">OptimizeVar</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae08d9f4aadd8be8f98637c6dec237b57"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae08d9f4aadd8be8f98637c6dec237b57">◆ </a></span>AcceptUncheckedNeighbor()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual void AcceptUncheckedNeighbor </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>After accepting an unchecked neighbor during local search. </p>
|
|
|
|
<p>Reimplemented in <a class="el" href="classoperations__research_1_1SearchLog.html#afc36af1852ba6e2dbe650aa172e4c680">SearchLog</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6f3a03e958cc119592fc6ecdf2b1e908"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6f3a03e958cc119592fc6ecdf2b1e908">◆ </a></span>Add() <span class="overload">[1/6]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Add </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::vector< <a class="el" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a> * > & </td>
|
|
<td class="paramname"><em>vars</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a62eeaedd1b35f3805bbd3e544c16577b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a62eeaedd1b35f3805bbd3e544c16577b">◆ </a></span>Add() <span class="overload">[2/6]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Add </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::vector< <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * > & </td>
|
|
<td class="paramname"><em>vars</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4f586a9056698e50f687455cbe3c79c7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4f586a9056698e50f687455cbe3c79c7">◆ </a></span>Add() <span class="overload">[3/6]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Add </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const std::vector< <a class="el" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a> * > & </td>
|
|
<td class="paramname"><em>vars</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a69c1d2e1b243c1ce6f7663c297c0b357"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a69c1d2e1b243c1ce6f7663c297c0b357">◆ </a></span>Add() <span class="overload">[4/6]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Add </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a> *const </td>
|
|
<td class="paramname"><em>var</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5a589c2741d5a4b5b777b0dfe2433d13"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5a589c2741d5a4b5b777b0dfe2433d13">◆ </a></span>Add() <span class="overload">[5/6]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Add </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *const </td>
|
|
<td class="paramname"><em>var</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Add API. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af549aaf97ee31923831935c407eff0de"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af549aaf97ee31923831935c407eff0de">◆ </a></span>Add() <span class="overload">[6/6]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Add </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a> *const </td>
|
|
<td class="paramname"><em>var</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a40060f6e513255a9133645c7179fa0d1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a40060f6e513255a9133645c7179fa0d1">◆ </a></span>AddObjective()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void AddObjective </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *const </td>
|
|
<td class="paramname"><em>objective</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9e7b2a7775d2ff7735f77716cb29d15b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9e7b2a7775d2ff7735f77716cb29d15b">◆ </a></span>AfterDecision()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual void AfterDecision </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1Decision.html">Decision</a> *const </td>
|
|
<td class="paramname"><em>d</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>apply</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Just after refuting or applying the decision, apply is true after Apply. </p>
|
|
<p>This is called only if the Apply() or Refute() methods have not failed. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af4cd0c541c53920fa86ff54ba2349cb2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af4cd0c541c53920fa86ff54ba2349cb2">◆ </a></span>ApplyDecision()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual void ApplyDecision </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1Decision.html">Decision</a> *const </td>
|
|
<td class="paramname"><em>d</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Before applying the decision. </p>
|
|
|
|
<p>Reimplemented in <a class="el" href="classoperations__research_1_1SearchLog.html#a9af93e0c2f02218bf4e586dda448fabe">SearchLog</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9f55f75747d65ad9c4ca9c6fdc01800d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9f55f75747d65ad9c4ca9c6fdc01800d">◆ </a></span>AtSolution()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual bool AtSolution </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This method is called when a valid solution is found. </p>
|
|
<p>If the return value is true, then search will resume after. If the result is false, then search will stop there. </p>
|
|
|
|
<p>Reimplemented in <a class="el" href="classoperations__research_1_1OptimizeVar.html#ab3631067f88ccc24c5db6a8a0dc64e47">OptimizeVar</a>, and <a class="el" href="classoperations__research_1_1SearchLog.html#ab3631067f88ccc24c5db6a8a0dc64e47">SearchLog</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a69d42eaaa36a86e05e57f6b682679095"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a69d42eaaa36a86e05e57f6b682679095">◆ </a></span>BackwardSequence()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector<int>& BackwardSequence </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>n</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a> *const </td>
|
|
<td class="paramname"><em>var</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This is a shortcut to get the BackwardSequence of 'var' in the nth solution. </p>
|
|
<p>The backward sequence is the list of ranked interval variables starting from the end of the sequence. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a232379b0cabc402db868a849f4f71273"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a232379b0cabc402db868a849f4f71273">◆ </a></span>BeginFail()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual void BeginFail </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Just when the failure occurs. </p>
|
|
|
|
<p>Reimplemented in <a class="el" href="classoperations__research_1_1SearchLog.html#a00e1c5e76ceb9b425ddea62748673d9b">SearchLog</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="adfeaf3bb78e09fb211bdb8a4fa605c05"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#adfeaf3bb78e09fb211bdb8a4fa605c05">◆ </a></span>BeginInitialPropagation()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual void BeginInitialPropagation </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Before the initial propagation. </p>
|
|
|
|
<p>Reimplemented in <a class="el" href="classoperations__research_1_1SearchLog.html#a73895ddf1e732b9d3fa365f05977c8a6">SearchLog</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad68c792579832141c205985973ba8a88"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad68c792579832141c205985973ba8a88">◆ </a></span>BeginNextDecision()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual void BeginNextDecision </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a> *const </td>
|
|
<td class="paramname"><em>b</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Before calling <a class="el" href="classoperations__research_1_1DecisionBuilder.html#a68bbb37d42da9d7b82145b3bf435dbc3" title="This is the main method of the decision builder class.">DecisionBuilder::Next</a>. </p>
|
|
|
|
<p>Reimplemented in <a class="el" href="classoperations__research_1_1OptimizeVar.html#a2475e9789e99a92fbe93b2eaf1b5f5b3">OptimizeVar</a>, and <a class="el" href="classoperations__research_1_1SearchLimit.html#a6022c765bf8a03b9322ca6c6591b3c21">SearchLimit</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae7b0218cbb5e9560505dd58edb396902"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae7b0218cbb5e9560505dd58edb396902">◆ </a></span>branches()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64 branches </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>n</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the number of branches when the nth solution was found. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7355e73fd1c286b47bdd911d5c17b3ff"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7355e73fd1c286b47bdd911d5c17b3ff">◆ </a></span>BuildSolutionDataForCurrentState()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html">SolutionData</a> BuildSolutionDataForCurrentState </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a06d7a538074a3c12029edf2c7dbe03b9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a06d7a538074a3c12029edf2c7dbe03b9">◆ </a></span>check_index()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void check_index </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>n</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aed804747c45a7e1caf81461f9e45dd91"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aed804747c45a7e1caf81461f9e45dd91">◆ </a></span>DebugString()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">std::string DebugString </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Reimplemented from <a class="el" href="classoperations__research_1_1BaseObject.html#a8eba5d533fa9df4617c1868d3ec2afc4">BaseObject</a>.</p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l04058">4058</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a61ad3bd2621a9d269ee5ae1bfbc1e388"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a61ad3bd2621a9d269ee5ae1bfbc1e388">◆ </a></span>DurationValue()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64 DurationValue </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>n</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a> *const </td>
|
|
<td class="paramname"><em>var</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This is a shortcut to get the DurationValue of 'var' in the nth solution. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a365797300972514a230eeb9e2f45f441"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a365797300972514a230eeb9e2f45f441">◆ </a></span>EndFail()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual void EndFail </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>After completing the backtrack. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a1ef0300d79ec636a79c06486f695b2ff"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1ef0300d79ec636a79c06486f695b2ff">◆ </a></span>EndInitialPropagation()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual void EndInitialPropagation </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>After the initial propagation. </p>
|
|
|
|
<p>Reimplemented in <a class="el" href="classoperations__research_1_1SearchLog.html#afe2b705fd5af7c1c6812f69e9a9dcdf1">SearchLog</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab472eccafac416112828cde24cefb907"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab472eccafac416112828cde24cefb907">◆ </a></span>EndNextDecision()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual void EndNextDecision </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a> *const </td>
|
|
<td class="paramname"><em>b</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1Decision.html">Decision</a> *const </td>
|
|
<td class="paramname"><em>d</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>After calling <a class="el" href="classoperations__research_1_1DecisionBuilder.html#a68bbb37d42da9d7b82145b3bf435dbc3" title="This is the main method of the decision builder class.">DecisionBuilder::Next</a>, along with the returned decision. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aaeaf933a169ea16e571b9af9c7079883"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aaeaf933a169ea16e571b9af9c7079883">◆ </a></span>EndValue()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64 EndValue </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>n</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a> *const </td>
|
|
<td class="paramname"><em>var</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This is a shortcut to get the EndValue of 'var' in the nth solution. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a0c955ff1b2eae2daece0f25f1e57fb16"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0c955ff1b2eae2daece0f25f1e57fb16">◆ </a></span>EnterSearch()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void EnterSearch </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Beginning of the search. </p>
|
|
|
|
<p>Reimplemented from <a class="el" href="classoperations__research_1_1SearchMonitor.html#a27bff456d096558a8be08ca6fee989f2">SearchMonitor</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a19bef8716e7418748ef666b07b09c25d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a19bef8716e7418748ef666b07b09c25d">◆ </a></span>ExitSearch()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual void ExitSearch </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>End of the search. </p>
|
|
|
|
<p>Reimplemented in <a class="el" href="classoperations__research_1_1RegularLimit.html#a4d07aaa3fe401d52e938c2f8f7f2e26f">RegularLimit</a>, and <a class="el" href="classoperations__research_1_1SearchLog.html#a4d07aaa3fe401d52e938c2f8f7f2e26f">SearchLog</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2a9e43052556228cad3346d71e26e5f7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2a9e43052556228cad3346d71e26e5f7">◆ </a></span>failures()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64 failures </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>n</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the number of failures encountered at the time of the nth solution. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a44ce2293355612ba36dcacf9b7281d47"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a44ce2293355612ba36dcacf9b7281d47">◆ </a></span>ForwardSequence()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector<int>& ForwardSequence </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>n</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a> *const </td>
|
|
<td class="paramname"><em>var</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This is a shortcut to get the ForwardSequence of 'var' in the nth solution. </p>
|
|
<p>The forward sequence is the list of ranked interval variables starting from the start of the sequence. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac355f6324d4fcc3f253f3b83105b9c6e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac355f6324d4fcc3f253f3b83105b9c6e">◆ </a></span>FreeSolution()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void FreeSolution </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> * </td>
|
|
<td class="paramname"><em>solution</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a16adaa01a30033dfc04405c25b7ede7b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a16adaa01a30033dfc04405c25b7ede7b">◆ </a></span>Install()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual void Install </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Registers itself on the solver such that it gets notified of the search and propagation events. </p>
|
|
|
|
<p>Reimplemented in <a class="el" href="classoperations__research_1_1LocalSearchMonitor.html#a127c860aa3b5024666f308c553edf2a5">LocalSearchMonitor</a>, and <a class="el" href="classoperations__research_1_1PropagationMonitor.html#a127c860aa3b5024666f308c553edf2a5">PropagationMonitor</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a198e17615278d9d5b9f39e4f0493447b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a198e17615278d9d5b9f39e4f0493447b">◆ </a></span>IsUncheckedSolutionLimitReached()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual bool IsUncheckedSolutionLimitReached </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">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns true if the limit of solutions has been reached including unchecked solutions. </p>
|
|
|
|
<p>Reimplemented in <a class="el" href="classoperations__research_1_1RegularLimit.html#a1d6a0a8f90a9b39efbd6b00994d212c8">RegularLimit</a>.</p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03658">3658</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad6087c8c2f28d22ff19052db7c0045cf"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad6087c8c2f28d22ff19052db7c0045cf">◆ </a></span>LocalOptimum()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual bool LocalOptimum </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>When a local optimum is reached. </p>
|
|
<p>If 'true' is returned, the last solution is discarded and the search proceeds with the next one. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6c85276e75542eb410f09b0ccd78379b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6c85276e75542eb410f09b0ccd78379b">◆ </a></span>NoMoreSolutions()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual void NoMoreSolutions </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>When the search tree is finished. </p>
|
|
|
|
<p>Reimplemented in <a class="el" href="classoperations__research_1_1SearchLog.html#a970b194bb0e12ae42db1f1b3ca7ba43e">SearchLog</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab47256145f58ae39ba8a4691076f0004"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab47256145f58ae39ba8a4691076f0004">◆ </a></span>objective_value()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64 objective_value </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>n</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the objective value of the nth solution. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a721f49ca2d390d07d643847a05cd428d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a721f49ca2d390d07d643847a05cd428d">◆ </a></span>PerformedValue()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64 PerformedValue </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>n</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a> *const </td>
|
|
<td class="paramname"><em>var</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This is a shortcut to get the PerformedValue of 'var' in the nth solution. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a1fc71393e20b97540f90702601b75fe1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1fc71393e20b97540f90702601b75fe1">◆ </a></span>PeriodicCheck()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual void PeriodicCheck </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Periodic call to check limits in long running methods. </p>
|
|
|
|
<p>Reimplemented in <a class="el" href="classoperations__research_1_1SearchLimit.html#a310e97cfc134567a740679be9186e194">SearchLimit</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aec3898670cd27d756678ddda55678b87"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aec3898670cd27d756678ddda55678b87">◆ </a></span>PopSolution()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void PopSolution </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Remove and delete the last popped solution. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2ebc7607687823d65bf65f331c9ac246"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2ebc7607687823d65bf65f331c9ac246">◆ </a></span>ProgressPercent()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual int ProgressPercent </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">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns a percentage representing the propress of the search before reaching limits. </p>
|
|
|
|
<p>Reimplemented in <a class="el" href="classoperations__research_1_1RegularLimit.html#a7dae7731e3aee0f21059730b01aaaf51">RegularLimit</a>.</p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03667">3667</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a35f33e423f42d8e78db12010bd7ae338"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a35f33e423f42d8e78db12010bd7ae338">◆ </a></span>Push()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Push </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html">SolutionData</a> & </td>
|
|
<td class="paramname"><em>data</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l04134">4134</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3caadbab358fe704365f1697ce654375"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3caadbab358fe704365f1697ce654375">◆ </a></span>PushSolution()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void PushSolution </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Push the current state as a new solution. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a150f3693eacbeff5fcf5fb1ab954d11e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a150f3693eacbeff5fcf5fb1ab954d11e">◆ </a></span>RefuteDecision()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual void RefuteDecision </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1Decision.html">Decision</a> *const </td>
|
|
<td class="paramname"><em>d</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Before refuting the decision. </p>
|
|
|
|
<p>Reimplemented in <a class="el" href="classoperations__research_1_1SearchLog.html#a363e3361f6a6b52343e69cbff81deff5">SearchLog</a>, <a class="el" href="classoperations__research_1_1SearchLimit.html#acdef27972648252e66630c3b078aa962">SearchLimit</a>, and <a class="el" href="classoperations__research_1_1OptimizeVar.html#acdef27972648252e66630c3b078aa962">OptimizeVar</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a262b3b6ef45475daffd66c5ada5dfdd2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a262b3b6ef45475daffd66c5ada5dfdd2">◆ </a></span>RestartSearch()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">virtual void RestartSearch </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Restart the search. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a323ba67da917a9f9766a3e206126af39"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a323ba67da917a9f9766a3e206126af39">◆ </a></span>solution()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a>* solution </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>n</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the nth solution. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5aeabb40e6e7550c805534764b3076fa"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5aeabb40e6e7550c805534764b3076fa">◆ </a></span>solution_count()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int solution_count </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns how many solutions were stored during the search. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5f32c22c620c811754ba7b6f977db864"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5f32c22c620c811754ba7b6f977db864">◆ </a></span>solver()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classoperations__research_1_1Solver.html">Solver</a>* solver </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03660">3660</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af5d0ff66e85427eb7dccf6f40c2e4144"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af5d0ff66e85427eb7dccf6f40c2e4144">◆ </a></span>StartValue()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64 StartValue </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>n</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a> *const </td>
|
|
<td class="paramname"><em>var</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This is a shortcut to get the StartValue of 'var' in the nth solution. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a499d6ef733de0adbab4fae13ff2cc285"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a499d6ef733de0adbab4fae13ff2cc285">◆ </a></span>Unperformed()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const std::vector<int>& Unperformed </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>n</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a> *const </td>
|
|
<td class="paramname"><em>var</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This is a shortcut to get the list of unperformed of 'var' in the nth solution. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a0dff88fcb39a84e0566db0256a623dff"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0dff88fcb39a84e0566db0256a623dff">◆ </a></span>Value()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64 Value </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>n</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *const </td>
|
|
<td class="paramname"><em>var</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This is a shortcut to get the Value of 'var' in the nth solution. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa3cba39da831c24e851ab05f694ee515"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa3cba39da831c24e851ab05f694ee515">◆ </a></span>wall_time()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64 wall_time </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>n</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns the wall time in ms for the nth solution. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Data Documentation</h2>
|
|
<a id="ae01b186f0d4be993cdabb7fb50bb98bd"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae01b186f0d4be993cdabb7fb50bb98bd">◆ </a></span>kNoProgress</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const int kNoProgress = -1</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03589">3589</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad6447dcc60c8d0bb89d7c72530afb842"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad6447dcc60c8d0bb89d7c72530afb842">◆ </a></span>prototype_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">std::unique_ptr<<a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a>> prototype_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l04141">4141</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a44069f4a63ae68c2059144cc5ee976d1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a44069f4a63ae68c2059144cc5ee976d1">◆ </a></span>recycle_solutions_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">std::vector<<a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a>*> recycle_solutions_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l04143">4143</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a50ad7718f019e2f46328682dc8ed7162"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a50ad7718f019e2f46328682dc8ed7162">◆ </a></span>solution_data_</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">std::vector<<a class="el" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html">SolutionData</a>> solution_data_</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l04142">4142</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</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>
|
|
</div>
|
|
<div id="footer-container">
|
|
<div id="footer">
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|