Files
ortools-clone/docs/cpp_routing/classoperations__research_1_1SearchLog.html
Laurent Perron 0ac3fa17eb more linear doc
2019-07-15 17:42:24 -07:00

1114 lines
56 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OR-Tools</title>
<meta http-equiv="Content-Type" content="text/html;"/>
<meta charset="utf-8"/>
<!--<link rel='stylesheet' type='text/css' href="https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/>-->
<link rel="stylesheet" type="text/css" href="ortools.css" title="default" media="screen,print" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
</head>
<body>
<div id="banner-container">
<div id="banner">
<span id="sfml">OR-Tools 7.2</span>
</div>
</div>
<link rel="icon" href="https://developers.google.com/optimization/images/orLogo.png">
<div id="content">
<!-- Generated by Doxygen 1.8.15 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classoperations__research_1_1SearchLog.html','');});
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classoperations__research_1_1SearchLog-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">operations_research::SearchLog Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The base class of all search logs that periodically outputs information when the search is running. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solveri_8h_source.html#l01787">1787</a> of file <a class="el" href="constraint__solveri_8h_source.html">constraint_solveri.h</a>.</p>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a83116fcc9628ff5947683d1b22c4366f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLog.html#a83116fcc9628ff5947683d1b22c4366f">SearchLog</a> (<a class="el" href="classoperations__research_1_1Solver.html">Solver</a> *const s, <a class="el" href="classoperations__research_1_1OptimizeVar.html">OptimizeVar</a> *const obj, <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *const var, double scaling_factor, std::function&lt; std::string()&gt; display_callback, int period)</td></tr>
<tr class="separator:a83116fcc9628ff5947683d1b22c4366f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec010491a37dfd342f3dc881461734a5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLog.html#aec010491a37dfd342f3dc881461734a5">~SearchLog</a> () override</td></tr>
<tr class="separator:aec010491a37dfd342f3dc881461734a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeadd9144f22750344a8d9bb727195182"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLog.html#aeadd9144f22750344a8d9bb727195182">EnterSearch</a> () override</td></tr>
<tr class="memdesc:aeadd9144f22750344a8d9bb727195182"><td class="mdescLeft">&#160;</td><td class="mdescRight">Beginning of the search. <a href="#aeadd9144f22750344a8d9bb727195182">More...</a><br /></td></tr>
<tr class="separator:aeadd9144f22750344a8d9bb727195182"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1c8c5d6118dd4ba3e27d8e38bcee0d2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLog.html#ad1c8c5d6118dd4ba3e27d8e38bcee0d2">ExitSearch</a> () override</td></tr>
<tr class="memdesc:ad1c8c5d6118dd4ba3e27d8e38bcee0d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">End of the search. <a href="#ad1c8c5d6118dd4ba3e27d8e38bcee0d2">More...</a><br /></td></tr>
<tr class="separator:ad1c8c5d6118dd4ba3e27d8e38bcee0d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42dcd4deb1a7865add8800a8b4645c27"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLog.html#a42dcd4deb1a7865add8800a8b4645c27">AtSolution</a> () override</td></tr>
<tr class="memdesc:a42dcd4deb1a7865add8800a8b4645c27"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is called when a valid solution is found. <a href="#a42dcd4deb1a7865add8800a8b4645c27">More...</a><br /></td></tr>
<tr class="separator:a42dcd4deb1a7865add8800a8b4645c27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a070cd3a6cc16d608bdd36d3acfcd6192"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLog.html#a070cd3a6cc16d608bdd36d3acfcd6192">BeginFail</a> () override</td></tr>
<tr class="memdesc:a070cd3a6cc16d608bdd36d3acfcd6192"><td class="mdescLeft">&#160;</td><td class="mdescRight">Just when the failure occurs. <a href="#a070cd3a6cc16d608bdd36d3acfcd6192">More...</a><br /></td></tr>
<tr class="separator:a070cd3a6cc16d608bdd36d3acfcd6192"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a290b7238507e711ea719b38a65d1d002"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLog.html#a290b7238507e711ea719b38a65d1d002">NoMoreSolutions</a> () override</td></tr>
<tr class="memdesc:a290b7238507e711ea719b38a65d1d002"><td class="mdescLeft">&#160;</td><td class="mdescRight">When the search tree is finished. <a href="#a290b7238507e711ea719b38a65d1d002">More...</a><br /></td></tr>
<tr class="separator:a290b7238507e711ea719b38a65d1d002"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ea81d186550720183bf3e3ef120b339"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLog.html#a5ea81d186550720183bf3e3ef120b339">AcceptUncheckedNeighbor</a> () override</td></tr>
<tr class="memdesc:a5ea81d186550720183bf3e3ef120b339"><td class="mdescLeft">&#160;</td><td class="mdescRight">After accepting an unchecked neighbor during local search. <a href="#a5ea81d186550720183bf3e3ef120b339">More...</a><br /></td></tr>
<tr class="separator:a5ea81d186550720183bf3e3ef120b339"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabfe35ed51f64c6386f38c97a4752e33"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLog.html#aabfe35ed51f64c6386f38c97a4752e33">ApplyDecision</a> (<a class="el" href="classoperations__research_1_1Decision.html">Decision</a> *const decision) override</td></tr>
<tr class="memdesc:aabfe35ed51f64c6386f38c97a4752e33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Before applying the decision. <a href="#aabfe35ed51f64c6386f38c97a4752e33">More...</a><br /></td></tr>
<tr class="separator:aabfe35ed51f64c6386f38c97a4752e33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5f089b3b2b0731086bd6787416e7f41"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLog.html#ae5f089b3b2b0731086bd6787416e7f41">RefuteDecision</a> (<a class="el" href="classoperations__research_1_1Decision.html">Decision</a> *const decision) override</td></tr>
<tr class="memdesc:ae5f089b3b2b0731086bd6787416e7f41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Before refuting the decision. <a href="#ae5f089b3b2b0731086bd6787416e7f41">More...</a><br /></td></tr>
<tr class="separator:ae5f089b3b2b0731086bd6787416e7f41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3552cd62545e80d0ca632ac31911d0d1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLog.html#a3552cd62545e80d0ca632ac31911d0d1">OutputDecision</a> ()</td></tr>
<tr class="separator:a3552cd62545e80d0ca632ac31911d0d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc544b08813308dcf1652885f7ad6dac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLog.html#afc544b08813308dcf1652885f7ad6dac">Maintain</a> ()</td></tr>
<tr class="separator:afc544b08813308dcf1652885f7ad6dac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa432e517e9a910a0f84fab7b46627f10"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLog.html#aa432e517e9a910a0f84fab7b46627f10">BeginInitialPropagation</a> () override</td></tr>
<tr class="memdesc:aa432e517e9a910a0f84fab7b46627f10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Before the initial propagation. <a href="#aa432e517e9a910a0f84fab7b46627f10">More...</a><br /></td></tr>
<tr class="separator:aa432e517e9a910a0f84fab7b46627f10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a93918c1aa6f9518b9f88ed71611069"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLog.html#a8a93918c1aa6f9518b9f88ed71611069">EndInitialPropagation</a> () override</td></tr>
<tr class="memdesc:a8a93918c1aa6f9518b9f88ed71611069"><td class="mdescLeft">&#160;</td><td class="mdescRight">After the initial propagation. <a href="#a8a93918c1aa6f9518b9f88ed71611069">More...</a><br /></td></tr>
<tr class="separator:a8a93918c1aa6f9518b9f88ed71611069"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae853a2dfed7755b376ccbee1c534682f"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLog.html#ae853a2dfed7755b376ccbee1c534682f">DebugString</a> () const override</td></tr>
<tr class="separator:ae853a2dfed7755b376ccbee1c534682f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a681646c2ba21c997eca605387d387cad"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a681646c2ba21c997eca605387d387cad">RestartSearch</a> ()</td></tr>
<tr class="memdesc:a681646c2ba21c997eca605387d387cad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restart the search. <a href="#a681646c2ba21c997eca605387d387cad">More...</a><br /></td></tr>
<tr class="separator:a681646c2ba21c997eca605387d387cad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f3ea4577e11fad619c2d7dcad1617cd"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a2f3ea4577e11fad619c2d7dcad1617cd">BeginNextDecision</a> (<a class="el" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a> *const b)</td></tr>
<tr class="memdesc:a2f3ea4577e11fad619c2d7dcad1617cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Before calling <a class="el" href="classoperations__research_1_1DecisionBuilder.html#a3bcaa4dd991e8ddb4d0e48cfbca58592" title="This is the main method of the decision builder class.">DecisionBuilder::Next</a>. <a href="#a2f3ea4577e11fad619c2d7dcad1617cd">More...</a><br /></td></tr>
<tr class="separator:a2f3ea4577e11fad619c2d7dcad1617cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc462b9f376d796296bbee05fd44a6ed"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#adc462b9f376d796296bbee05fd44a6ed">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:adc462b9f376d796296bbee05fd44a6ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">After calling <a class="el" href="classoperations__research_1_1DecisionBuilder.html#a3bcaa4dd991e8ddb4d0e48cfbca58592" title="This is the main method of the decision builder class.">DecisionBuilder::Next</a>, along with the returned decision. <a href="#adc462b9f376d796296bbee05fd44a6ed">More...</a><br /></td></tr>
<tr class="separator:adc462b9f376d796296bbee05fd44a6ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab138fa7a0d0f11e57507d9d903729558"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#ab138fa7a0d0f11e57507d9d903729558">AfterDecision</a> (<a class="el" href="classoperations__research_1_1Decision.html">Decision</a> *const d, bool apply)</td></tr>
<tr class="memdesc:ab138fa7a0d0f11e57507d9d903729558"><td class="mdescLeft">&#160;</td><td class="mdescRight">Just after refuting or applying the decision, apply is true after Apply. <a href="#ab138fa7a0d0f11e57507d9d903729558">More...</a><br /></td></tr>
<tr class="separator:ab138fa7a0d0f11e57507d9d903729558"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad138a0d3337eb1085157f824f946d611"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#ad138a0d3337eb1085157f824f946d611">EndFail</a> ()</td></tr>
<tr class="memdesc:ad138a0d3337eb1085157f824f946d611"><td class="mdescLeft">&#160;</td><td class="mdescRight">After completing the backtrack. <a href="#ad138a0d3337eb1085157f824f946d611">More...</a><br /></td></tr>
<tr class="separator:ad138a0d3337eb1085157f824f946d611"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3da80f7b3b108f36ace3e45d1654805b"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a3da80f7b3b108f36ace3e45d1654805b">AcceptSolution</a> ()</td></tr>
<tr class="memdesc:a3da80f7b3b108f36ace3e45d1654805b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is called when a solution is found. <a href="#a3da80f7b3b108f36ace3e45d1654805b">More...</a><br /></td></tr>
<tr class="separator:a3da80f7b3b108f36ace3e45d1654805b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab412dd0253ec658cd36dbec0c1b9f426"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#ab412dd0253ec658cd36dbec0c1b9f426">LocalOptimum</a> ()</td></tr>
<tr class="memdesc:ab412dd0253ec658cd36dbec0c1b9f426"><td class="mdescLeft">&#160;</td><td class="mdescRight">When a local optimum is reached. <a href="#ab412dd0253ec658cd36dbec0c1b9f426">More...</a><br /></td></tr>
<tr class="separator:ab412dd0253ec658cd36dbec0c1b9f426"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac14f9c8abd763be08fbb1220b763df2b"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#ac14f9c8abd763be08fbb1220b763df2b">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:ac14f9c8abd763be08fbb1220b763df2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04a9e7423ec5aa466b7a7604eb107fbe"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a04a9e7423ec5aa466b7a7604eb107fbe">AcceptNeighbor</a> ()</td></tr>
<tr class="memdesc:a04a9e7423ec5aa466b7a7604eb107fbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">After accepting a neighbor during local search. <a href="#a04a9e7423ec5aa466b7a7604eb107fbe">More...</a><br /></td></tr>
<tr class="separator:a04a9e7423ec5aa466b7a7604eb107fbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a913eb75331c00bed226200fd96ee0cb6"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a913eb75331c00bed226200fd96ee0cb6">IsUncheckedSolutionLimitReached</a> ()</td></tr>
<tr class="memdesc:a913eb75331c00bed226200fd96ee0cb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the limit of solutions has been reached including unchecked solutions. <a href="#a913eb75331c00bed226200fd96ee0cb6">More...</a><br /></td></tr>
<tr class="separator:a913eb75331c00bed226200fd96ee0cb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c4b4a82d20104f3ca8729244dd9cc2e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1Solver.html">Solver</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a6c4b4a82d20104f3ca8729244dd9cc2e">solver</a> () const</td></tr>
<tr class="separator:a6c4b4a82d20104f3ca8729244dd9cc2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cb45d67a60d4729f1e1fd4d0c6442db"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a9cb45d67a60d4729f1e1fd4d0c6442db">PeriodicCheck</a> ()</td></tr>
<tr class="memdesc:a9cb45d67a60d4729f1e1fd4d0c6442db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Periodic call to check limits in long running methods. <a href="#a9cb45d67a60d4729f1e1fd4d0c6442db">More...</a><br /></td></tr>
<tr class="separator:a9cb45d67a60d4729f1e1fd4d0c6442db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e4e007e3de77736cd9d7a3b9df2f5f9"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a4e4e007e3de77736cd9d7a3b9df2f5f9">ProgressPercent</a> ()</td></tr>
<tr class="memdesc:a4e4e007e3de77736cd9d7a3b9df2f5f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a percentage representing the propress of the search before reaching limits. <a href="#a4e4e007e3de77736cd9d7a3b9df2f5f9">More...</a><br /></td></tr>
<tr class="separator:a4e4e007e3de77736cd9d7a3b9df2f5f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b300dfb35699cf80504c00f2cbe9153"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a9b300dfb35699cf80504c00f2cbe9153">Accept</a> (<a class="el" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a> *const visitor) const</td></tr>
<tr class="memdesc:a9b300dfb35699cf80504c00f2cbe9153"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accepts the given model visitor. <a href="#a9b300dfb35699cf80504c00f2cbe9153">More...</a><br /></td></tr>
<tr class="separator:a9b300dfb35699cf80504c00f2cbe9153"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a775e4bc59c759621fdb0b6f129744296"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#a775e4bc59c759621fdb0b6f129744296">Install</a> ()</td></tr>
<tr class="memdesc:a775e4bc59c759621fdb0b6f129744296"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers itself on the solver such that it gets notified of the search and propagation events. <a href="#a775e4bc59c759621fdb0b6f129744296">More...</a><br /></td></tr>
<tr class="separator:a775e4bc59c759621fdb0b6f129744296"><td class="memSeparator" colspan="2">&#160;</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:aa95b9df4d6eb3b0fabd01d9fee33d25d"><td class="memItemLeft" align="right" valign="top">static const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchMonitor.html#aa95b9df4d6eb3b0fabd01d9fee33d25d">kNoProgress</a> = -1</td></tr>
<tr class="separator:aa95b9df4d6eb3b0fabd01d9fee33d25d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a06414d7293575b4b9ac5b7b7daa3b57d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLog.html#a06414d7293575b4b9ac5b7b7daa3b57d">OutputLine</a> (const std::string &amp;line)</td></tr>
<tr class="separator:a06414d7293575b4b9ac5b7b7daa3b57d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a83116fcc9628ff5947683d1b22c4366f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a83116fcc9628ff5947683d1b22c4366f">&#9670;&nbsp;</a></span>SearchLog()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">operations_research::SearchLog::SearchLog </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Solver.html">Solver</a> *const&#160;</td>
<td class="paramname"><em>s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1OptimizeVar.html">OptimizeVar</a> *const&#160;</td>
<td class="paramname"><em>obj</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&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>scaling_factor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::function&lt; std::string()&gt;&#160;</td>
<td class="paramname"><em>display_callback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>period</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aec010491a37dfd342f3dc881461734a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec010491a37dfd342f3dc881461734a5">&#9670;&nbsp;</a></span>~SearchLog()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">operations_research::SearchLog::~SearchLog </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="a9b300dfb35699cf80504c00f2cbe9153"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b300dfb35699cf80504c00f2cbe9153">&#9670;&nbsp;</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 operations_research::SearchMonitor::Accept </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a> *const&#160;</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#a5971e2a299e94cd43e5aaf6675cf9dc7">operations_research::RegularLimit</a>, and <a class="el" href="classoperations__research_1_1OptimizeVar.html#adcfad0327a52f24042b49aadb09f1b4d">operations_research::OptimizeVar</a>.</p>
</div>
</div>
<a id="ac14f9c8abd763be08fbb1220b763df2b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac14f9c8abd763be08fbb1220b763df2b">&#9670;&nbsp;</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 operations_research::SearchMonitor::AcceptDelta </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> *&#160;</td>
<td class="paramname"><em>delta</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Assignment.html">Assignment</a> *&#160;</td>
<td class="paramname"><em>deltadelta</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">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#a964aef312aae5df04e7d0fe12060e614">operations_research::OptimizeVar</a>.</p>
</div>
</div>
<a id="a04a9e7423ec5aa466b7a7604eb107fbe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04a9e7423ec5aa466b7a7604eb107fbe">&#9670;&nbsp;</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 operations_research::SearchMonitor::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="a3da80f7b3b108f36ace3e45d1654805b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3da80f7b3b108f36ace3e45d1654805b">&#9670;&nbsp;</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 operations_research::SearchMonitor::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#aed1aff1da93b7d6ef67c9433a56e311a">operations_research::OptimizeVar</a>.</p>
</div>
</div>
<a id="a5ea81d186550720183bf3e3ef120b339"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ea81d186550720183bf3e3ef120b339">&#9670;&nbsp;</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">void operations_research::SearchLog::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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>After accepting an unchecked neighbor during local search. </p>
<p>Reimplemented from <a class="el" href="classoperations__research_1_1SearchMonitor.html#a1bd91b270f903d25e6eb7c252d5cf001">operations_research::SearchMonitor</a>.</p>
</div>
</div>
<a id="ab138fa7a0d0f11e57507d9d903729558"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab138fa7a0d0f11e57507d9d903729558">&#9670;&nbsp;</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 operations_research::SearchMonitor::AfterDecision </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Decision.html">Decision</a> *const&#160;</td>
<td class="paramname"><em>d</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>apply</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">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="aabfe35ed51f64c6386f38c97a4752e33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aabfe35ed51f64c6386f38c97a4752e33">&#9670;&nbsp;</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">void operations_research::SearchLog::ApplyDecision </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Decision.html">Decision</a> *const&#160;</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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Before applying the decision. </p>
<p>Reimplemented from <a class="el" href="classoperations__research_1_1SearchMonitor.html#a8c745cdd7838067851f65e5ed812ab14">operations_research::SearchMonitor</a>.</p>
</div>
</div>
<a id="a42dcd4deb1a7865add8800a8b4645c27"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a42dcd4deb1a7865add8800a8b4645c27">&#9670;&nbsp;</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">bool operations_research::SearchLog::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">override</span><span class="mlabel">virtual</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 from <a class="el" href="classoperations__research_1_1SearchMonitor.html#ac4f21fe0c304fc837d903feb65fe858f">operations_research::SearchMonitor</a>.</p>
</div>
</div>
<a id="a070cd3a6cc16d608bdd36d3acfcd6192"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a070cd3a6cc16d608bdd36d3acfcd6192">&#9670;&nbsp;</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">void operations_research::SearchLog::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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Just when the failure occurs. </p>
<p>Reimplemented from <a class="el" href="classoperations__research_1_1SearchMonitor.html#a528e028cce317c06203f079dd05635a9">operations_research::SearchMonitor</a>.</p>
</div>
</div>
<a id="aa432e517e9a910a0f84fab7b46627f10"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa432e517e9a910a0f84fab7b46627f10">&#9670;&nbsp;</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">void operations_research::SearchLog::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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Before the initial propagation. </p>
<p>Reimplemented from <a class="el" href="classoperations__research_1_1SearchMonitor.html#ae08ee7f1dc5f652ee9b55393e0cc3550">operations_research::SearchMonitor</a>.</p>
</div>
</div>
<a id="a2f3ea4577e11fad619c2d7dcad1617cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f3ea4577e11fad619c2d7dcad1617cd">&#9670;&nbsp;</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 operations_research::SearchMonitor::BeginNextDecision </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a> *const&#160;</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#a3bcaa4dd991e8ddb4d0e48cfbca58592" 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_1SearchLimit.html#a4d58c37975405a86ef02fd0fdd7ed34f">operations_research::SearchLimit</a>, and <a class="el" href="classoperations__research_1_1OptimizeVar.html#a046594f08d57c33248ac77101184e66c">operations_research::OptimizeVar</a>.</p>
</div>
</div>
<a id="ae853a2dfed7755b376ccbee1c534682f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae853a2dfed7755b376ccbee1c534682f">&#9670;&nbsp;</a></span>DebugString()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string operations_research::SearchLog::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">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#afb3b013c5063d71566d5273793c1d828">operations_research::BaseObject</a>.</p>
</div>
</div>
<a id="ad138a0d3337eb1085157f824f946d611"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad138a0d3337eb1085157f824f946d611">&#9670;&nbsp;</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 operations_research::SearchMonitor::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="a8a93918c1aa6f9518b9f88ed71611069"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a93918c1aa6f9518b9f88ed71611069">&#9670;&nbsp;</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">void operations_research::SearchLog::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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>After the initial propagation. </p>
<p>Reimplemented from <a class="el" href="classoperations__research_1_1SearchMonitor.html#a95f86eb818555555bfaa50483672a77a">operations_research::SearchMonitor</a>.</p>
</div>
</div>
<a id="adc462b9f376d796296bbee05fd44a6ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc462b9f376d796296bbee05fd44a6ed">&#9670;&nbsp;</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 operations_research::SearchMonitor::EndNextDecision </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a> *const&#160;</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&#160;</td>
<td class="paramname"><em>d</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">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#a3bcaa4dd991e8ddb4d0e48cfbca58592" title="This is the main method of the decision builder class.">DecisionBuilder::Next</a>, along with the returned decision. </p>
</div>
</div>
<a id="aeadd9144f22750344a8d9bb727195182"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeadd9144f22750344a8d9bb727195182">&#9670;&nbsp;</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 operations_research::SearchLog::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#a705ae4bfa396632c23d65f37793391f2">operations_research::SearchMonitor</a>.</p>
</div>
</div>
<a id="ad1c8c5d6118dd4ba3e27d8e38bcee0d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1c8c5d6118dd4ba3e27d8e38bcee0d2">&#9670;&nbsp;</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">void operations_research::SearchLog::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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>End of the search. </p>
<p>Reimplemented from <a class="el" href="classoperations__research_1_1SearchMonitor.html#ab98b6cd2d173adb819adff4e1839f10b">operations_research::SearchMonitor</a>.</p>
</div>
</div>
<a id="a775e4bc59c759621fdb0b6f129744296"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a775e4bc59c759621fdb0b6f129744296">&#9670;&nbsp;</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 operations_research::SearchMonitor::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#a6edec376019f48002aa7e57230ceae70">operations_research::LocalSearchMonitor</a>, and <a class="el" href="classoperations__research_1_1PropagationMonitor.html#ae220d84f70fbc4b4300c11fde784489a">operations_research::PropagationMonitor</a>.</p>
</div>
</div>
<a id="a913eb75331c00bed226200fd96ee0cb6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a913eb75331c00bed226200fd96ee0cb6">&#9670;&nbsp;</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 operations_research::SearchMonitor::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#a370e4934f9963fa9a440d0f8086a66a8">operations_research::RegularLimit</a>.</p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03643">3643</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="ab412dd0253ec658cd36dbec0c1b9f426"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab412dd0253ec658cd36dbec0c1b9f426">&#9670;&nbsp;</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 operations_research::SearchMonitor::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="afc544b08813308dcf1652885f7ad6dac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc544b08813308dcf1652885f7ad6dac">&#9670;&nbsp;</a></span>Maintain()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void operations_research::SearchLog::Maintain </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a290b7238507e711ea719b38a65d1d002"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a290b7238507e711ea719b38a65d1d002">&#9670;&nbsp;</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">void operations_research::SearchLog::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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>When the search tree is finished. </p>
<p>Reimplemented from <a class="el" href="classoperations__research_1_1SearchMonitor.html#ad73cc7165dba2ee87884286537666ec8">operations_research::SearchMonitor</a>.</p>
</div>
</div>
<a id="a3552cd62545e80d0ca632ac31911d0d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3552cd62545e80d0ca632ac31911d0d1">&#9670;&nbsp;</a></span>OutputDecision()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void operations_research::SearchLog::OutputDecision </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a06414d7293575b4b9ac5b7b7daa3b57d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06414d7293575b4b9ac5b7b7daa3b57d">&#9670;&nbsp;</a></span>OutputLine()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void operations_research::SearchLog::OutputLine </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>line</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9cb45d67a60d4729f1e1fd4d0c6442db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9cb45d67a60d4729f1e1fd4d0c6442db">&#9670;&nbsp;</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 operations_research::SearchMonitor::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#a5e78de48144b2c4446fb2847a525a061">operations_research::SearchLimit</a>.</p>
</div>
</div>
<a id="a4e4e007e3de77736cd9d7a3b9df2f5f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4e4e007e3de77736cd9d7a3b9df2f5f9">&#9670;&nbsp;</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 operations_research::SearchMonitor::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#a71e06768288b2fd36acf28a435744d51">operations_research::RegularLimit</a>.</p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03652">3652</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="ae5f089b3b2b0731086bd6787416e7f41"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5f089b3b2b0731086bd6787416e7f41">&#9670;&nbsp;</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">void operations_research::SearchLog::RefuteDecision </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Decision.html">Decision</a> *const&#160;</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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Before refuting the decision. </p>
<p>Reimplemented from <a class="el" href="classoperations__research_1_1SearchMonitor.html#aadfcba48c62683c6d6463a7adb9b0a28">operations_research::SearchMonitor</a>.</p>
</div>
</div>
<a id="a681646c2ba21c997eca605387d387cad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a681646c2ba21c997eca605387d387cad">&#9670;&nbsp;</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 operations_research::SearchMonitor::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="a6c4b4a82d20104f3ca8729244dd9cc2e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c4b4a82d20104f3ca8729244dd9cc2e">&#9670;&nbsp;</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>* operations_research::SearchMonitor::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#l03645">3645</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="aa95b9df4d6eb3b0fabd01d9fee33d25d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa95b9df4d6eb3b0fabd01d9fee33d25d">&#9670;&nbsp;</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 operations_research::SearchMonitor::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#l03574">3574</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__solveri_8h_source.html">constraint_solveri.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div>
<div id="footer-container">
<div id="footer">
</div>
</div>
</body>
</html>