Files
ortools-clone/docs/cpp_routing/classoperations__research_1_1SearchLimit.html
Corentin Le Molgat b670dc9daa Update doc
2020-04-23 15:34:43 +02:00

1187 lines
60 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.16 -->
<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_1SearchLimit.html">SearchLimit</a></li> </ul>
</div>
</div><!-- top -->
<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="classoperations__research_1_1SearchLimit-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">SearchLimit<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Base class of all search limits. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l04191">4191</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a279e462390a3028b062e03ce0616efbd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLimit.html#a279e462390a3028b062e03ce0616efbd">SearchLimit</a> (<a class="el" href="classoperations__research_1_1Solver.html">Solver</a> *const s)</td></tr>
<tr class="separator:a279e462390a3028b062e03ce0616efbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c50eb7ab17cb83e115f2799ccd6a8de"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLimit.html#a5c50eb7ab17cb83e115f2799ccd6a8de">~SearchLimit</a> () override</td></tr>
<tr class="separator:a5c50eb7ab17cb83e115f2799ccd6a8de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae874856cae71ff1b4391027b70f0c915"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLimit.html#ae874856cae71ff1b4391027b70f0c915">crossed</a> () const</td></tr>
<tr class="memdesc:ae874856cae71ff1b4391027b70f0c915"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the limit has been crossed. <a href="classoperations__research_1_1SearchLimit.html#ae874856cae71ff1b4391027b70f0c915">More...</a><br /></td></tr>
<tr class="separator:ae874856cae71ff1b4391027b70f0c915"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afefd22e7a516cef9dff7154cae02e704"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLimit.html#afefd22e7a516cef9dff7154cae02e704">Check</a> ()=0</td></tr>
<tr class="memdesc:afefd22e7a516cef9dff7154cae02e704"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is called to check the status of the limit. <a href="classoperations__research_1_1SearchLimit.html#afefd22e7a516cef9dff7154cae02e704">More...</a><br /></td></tr>
<tr class="separator:afefd22e7a516cef9dff7154cae02e704"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5368a4a3fff770682cf257e81707d9f0"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLimit.html#a5368a4a3fff770682cf257e81707d9f0">Init</a> ()=0</td></tr>
<tr class="memdesc:a5368a4a3fff770682cf257e81707d9f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is called when the search limit is initialized. <a href="classoperations__research_1_1SearchLimit.html#a5368a4a3fff770682cf257e81707d9f0">More...</a><br /></td></tr>
<tr class="separator:a5368a4a3fff770682cf257e81707d9f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abeeb0e725bbe0c9cb3c632414658ab45"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLimit.html#abeeb0e725bbe0c9cb3c632414658ab45">Copy</a> (const <a class="el" href="classoperations__research_1_1SearchLimit.html">SearchLimit</a> *const limit)=0</td></tr>
<tr class="memdesc:abeeb0e725bbe0c9cb3c632414658ab45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy a limit. <a href="classoperations__research_1_1SearchLimit.html#abeeb0e725bbe0c9cb3c632414658ab45">More...</a><br /></td></tr>
<tr class="separator:abeeb0e725bbe0c9cb3c632414658ab45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0ef83a00e9fb4df68e81c6e8a99d46c"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classoperations__research_1_1SearchLimit.html">SearchLimit</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLimit.html#ac0ef83a00e9fb4df68e81c6e8a99d46c">MakeClone</a> () const =0</td></tr>
<tr class="memdesc:ac0ef83a00e9fb4df68e81c6e8a99d46c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates a clone of the limit. <a href="classoperations__research_1_1SearchLimit.html#ac0ef83a00e9fb4df68e81c6e8a99d46c">More...</a><br /></td></tr>
<tr class="separator:ac0ef83a00e9fb4df68e81c6e8a99d46c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c955ff1b2eae2daece0f25f1e57fb16"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLimit.html#a0c955ff1b2eae2daece0f25f1e57fb16">EnterSearch</a> () override</td></tr>
<tr class="memdesc:a0c955ff1b2eae2daece0f25f1e57fb16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal methods. <a href="classoperations__research_1_1SearchLimit.html#a0c955ff1b2eae2daece0f25f1e57fb16">More...</a><br /></td></tr>
<tr class="separator:a0c955ff1b2eae2daece0f25f1e57fb16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6022c765bf8a03b9322ca6c6591b3c21"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLimit.html#a6022c765bf8a03b9322ca6c6591b3c21">BeginNextDecision</a> (<a class="el" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a> *const b) override</td></tr>
<tr class="memdesc:a6022c765bf8a03b9322ca6c6591b3c21"><td class="mdescLeft">&#160;</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_1SearchLimit.html#a6022c765bf8a03b9322ca6c6591b3c21">More...</a><br /></td></tr>
<tr class="separator:a6022c765bf8a03b9322ca6c6591b3c21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a310e97cfc134567a740679be9186e194"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLimit.html#a310e97cfc134567a740679be9186e194">PeriodicCheck</a> () override</td></tr>
<tr class="memdesc:a310e97cfc134567a740679be9186e194"><td class="mdescLeft">&#160;</td><td class="mdescRight">Periodic call to check limits in long running methods. <a href="classoperations__research_1_1SearchLimit.html#a310e97cfc134567a740679be9186e194">More...</a><br /></td></tr>
<tr class="separator:a310e97cfc134567a740679be9186e194"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acdef27972648252e66630c3b078aa962"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLimit.html#acdef27972648252e66630c3b078aa962">RefuteDecision</a> (<a class="el" href="classoperations__research_1_1Decision.html">Decision</a> *const d) override</td></tr>
<tr class="memdesc:acdef27972648252e66630c3b078aa962"><td class="mdescLeft">&#160;</td><td class="mdescRight">Before refuting the decision. <a href="classoperations__research_1_1SearchLimit.html#acdef27972648252e66630c3b078aa962">More...</a><br /></td></tr>
<tr class="separator:acdef27972648252e66630c3b078aa962"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed804747c45a7e1caf81461f9e45dd91"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SearchLimit.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a> () const override</td></tr>
<tr class="separator:aed804747c45a7e1caf81461f9e45dd91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a262b3b6ef45475daffd66c5ada5dfdd2"><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#a262b3b6ef45475daffd66c5ada5dfdd2">RestartSearch</a> ()</td></tr>
<tr class="memdesc:a262b3b6ef45475daffd66c5ada5dfdd2"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:a19bef8716e7418748ef666b07b09c25d"><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#a19bef8716e7418748ef666b07b09c25d">ExitSearch</a> ()</td></tr>
<tr class="memdesc:a19bef8716e7418748ef666b07b09c25d"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:ab472eccafac416112828cde24cefb907"><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#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">&#160;</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">&#160;</td></tr>
<tr class="memitem:af4cd0c541c53920fa86ff54ba2349cb2"><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#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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a9e7b2a7775d2ff7735f77716cb29d15b"><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#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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a232379b0cabc402db868a849f4f71273"><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#a232379b0cabc402db868a849f4f71273">BeginFail</a> ()</td></tr>
<tr class="memdesc:a232379b0cabc402db868a849f4f71273"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:a365797300972514a230eeb9e2f45f441"><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#a365797300972514a230eeb9e2f45f441">EndFail</a> ()</td></tr>
<tr class="memdesc:a365797300972514a230eeb9e2f45f441"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:adfeaf3bb78e09fb211bdb8a4fa605c05"><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#adfeaf3bb78e09fb211bdb8a4fa605c05">BeginInitialPropagation</a> ()</td></tr>
<tr class="memdesc:adfeaf3bb78e09fb211bdb8a4fa605c05"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:a1ef0300d79ec636a79c06486f695b2ff"><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#a1ef0300d79ec636a79c06486f695b2ff">EndInitialPropagation</a> ()</td></tr>
<tr class="memdesc:a1ef0300d79ec636a79c06486f695b2ff"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:a2895de3ad67f901de28f00994cdcfa34"><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#a2895de3ad67f901de28f00994cdcfa34">AcceptSolution</a> ()</td></tr>
<tr class="memdesc:a2895de3ad67f901de28f00994cdcfa34"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:a9f55f75747d65ad9c4ca9c6fdc01800d"><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#a9f55f75747d65ad9c4ca9c6fdc01800d">AtSolution</a> ()</td></tr>
<tr class="memdesc:a9f55f75747d65ad9c4ca9c6fdc01800d"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:a6c85276e75542eb410f09b0ccd78379b"><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#a6c85276e75542eb410f09b0ccd78379b">NoMoreSolutions</a> ()</td></tr>
<tr class="memdesc:a6c85276e75542eb410f09b0ccd78379b"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:ad6087c8c2f28d22ff19052db7c0045cf"><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#ad6087c8c2f28d22ff19052db7c0045cf">LocalOptimum</a> ()</td></tr>
<tr class="memdesc:ad6087c8c2f28d22ff19052db7c0045cf"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:a98a16aa379c7240ae374adb128142a02"><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#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">&#160;</td></tr>
<tr class="memitem:a36df6248a273f003d8d9e1414e3c5e5c"><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#a36df6248a273f003d8d9e1414e3c5e5c">AcceptNeighbor</a> ()</td></tr>
<tr class="memdesc:a36df6248a273f003d8d9e1414e3c5e5c"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:ae08d9f4aadd8be8f98637c6dec237b57"><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#ae08d9f4aadd8be8f98637c6dec237b57">AcceptUncheckedNeighbor</a> ()</td></tr>
<tr class="memdesc:ae08d9f4aadd8be8f98637c6dec237b57"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:a198e17615278d9d5b9f39e4f0493447b"><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#a198e17615278d9d5b9f39e4f0493447b">IsUncheckedSolutionLimitReached</a> ()</td></tr>
<tr class="memdesc:a198e17615278d9d5b9f39e4f0493447b"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:a5f32c22c620c811754ba7b6f977db864"><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#a5f32c22c620c811754ba7b6f977db864">solver</a> () const</td></tr>
<tr class="separator:a5f32c22c620c811754ba7b6f977db864"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ebc7607687823d65bf65f331c9ac246"><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#a2ebc7607687823d65bf65f331c9ac246">ProgressPercent</a> ()</td></tr>
<tr class="memdesc:a2ebc7607687823d65bf65f331c9ac246"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:afcde421cf076575a27bed81c80093ac8"><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#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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a16adaa01a30033dfc04405c25b7ede7b"><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#a16adaa01a30033dfc04405c25b7ede7b">Install</a> ()</td></tr>
<tr class="memdesc:a16adaa01a30033dfc04405c25b7ede7b"><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="classoperations__research_1_1SearchMonitor.html#a16adaa01a30033dfc04405c25b7ede7b">More...</a><br /></td></tr>
<tr class="separator:a16adaa01a30033dfc04405c25b7ede7b"><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:ae01b186f0d4be993cdabb7fb50bb98bd"><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#ae01b186f0d4be993cdabb7fb50bb98bd">kNoProgress</a> = -1</td></tr>
<tr class="separator:ae01b186f0d4be993cdabb7fb50bb98bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a279e462390a3028b062e03ce0616efbd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a279e462390a3028b062e03ce0616efbd">&#9670;&nbsp;</a></span>SearchLimit()</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_1SearchLimit.html">SearchLimit</a> </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><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l04193">4193</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a5c50eb7ab17cb83e115f2799ccd6a8de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c50eb7ab17cb83e115f2799ccd6a8de">&#9670;&nbsp;</a></span>~SearchLimit()</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_1SearchLimit.html">SearchLimit</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">&#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 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#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">&#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 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#ae983cf659c971e1f2095a2c5a0e81eca">OptimizeVar</a>.</p>
</div>
</div>
<a id="a36df6248a273f003d8d9e1414e3c5e5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a36df6248a273f003d8d9e1414e3c5e5c">&#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 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">&#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 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">&#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">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="a9e7b2a7775d2ff7735f77716cb29d15b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e7b2a7775d2ff7735f77716cb29d15b">&#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 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="af4cd0c541c53920fa86ff54ba2349cb2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4cd0c541c53920fa86ff54ba2349cb2">&#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">virtual void 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">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">&#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">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="a232379b0cabc402db868a849f4f71273"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a232379b0cabc402db868a849f4f71273">&#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">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">&#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">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="a6022c765bf8a03b9322ca6c6591b3c21"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6022c765bf8a03b9322ca6c6591b3c21">&#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">void 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">override</span><span class="mlabel">virtual</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 from <a class="el" href="classoperations__research_1_1SearchMonitor.html#ad68c792579832141c205985973ba8a88">SearchMonitor</a>.</p>
</div>
</div>
<a id="afefd22e7a516cef9dff7154cae02e704"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afefd22e7a516cef9dff7154cae02e704">&#9670;&nbsp;</a></span>Check()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool Check </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method is called to check the status of the limit. </p>
<p>A return value of true indicates that we have indeed crossed the limit. In that case, this method will not be called again and the remaining search will be discarded. </p>
<p>Implemented in <a class="el" href="classoperations__research_1_1RegularLimit.html#a01dd9b59b9a183cb3ba148b08d09b320">RegularLimit</a>.</p>
</div>
</div>
<a id="abeeb0e725bbe0c9cb3c632414658ab45"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abeeb0e725bbe0c9cb3c632414658ab45">&#9670;&nbsp;</a></span>Copy()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Copy </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1SearchLimit.html">SearchLimit</a> *const&#160;</td>
<td class="paramname"><em>limit</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Copy a limit. </p>
<p>Warning: leads to a direct (no check) downcasting of 'limit' so one needs to be sure both SearchLimits are of the same type. </p>
<p>Implemented in <a class="el" href="classoperations__research_1_1RegularLimit.html#aac0948fa90cbc174304a0f6c78d72e15">RegularLimit</a>.</p>
</div>
</div>
<a id="ae874856cae71ff1b4391027b70f0c915"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae874856cae71ff1b4391027b70f0c915">&#9670;&nbsp;</a></span>crossed()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool crossed </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if the limit has been crossed. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l04197">4197</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="aed804747c45a7e1caf81461f9e45dd91"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed804747c45a7e1caf81461f9e45dd91">&#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 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>Reimplemented in <a class="el" href="classoperations__research_1_1RegularLimit.html#aed804747c45a7e1caf81461f9e45dd91">RegularLimit</a>.</p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l04220">4220</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a365797300972514a230eeb9e2f45f441"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a365797300972514a230eeb9e2f45f441">&#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 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">&#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">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">&#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 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#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="a0c955ff1b2eae2daece0f25f1e57fb16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c955ff1b2eae2daece0f25f1e57fb16">&#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 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>Internal methods. </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">&#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">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="a5368a4a3fff770682cf257e81707d9f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5368a4a3fff770682cf257e81707d9f0">&#9670;&nbsp;</a></span>Init()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Init </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method is called when the search limit is initialized. </p>
<p>Implemented in <a class="el" href="classoperations__research_1_1RegularLimit.html#a47de93e849d14c3eda08d78613506608">RegularLimit</a>.</p>
</div>
</div>
<a id="a16adaa01a30033dfc04405c25b7ede7b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a16adaa01a30033dfc04405c25b7ede7b">&#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 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">&#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 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">&#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 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="ac0ef83a00e9fb4df68e81c6e8a99d46c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0ef83a00e9fb4df68e81c6e8a99d46c">&#9670;&nbsp;</a></span>MakeClone()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classoperations__research_1_1SearchLimit.html">SearchLimit</a>* MakeClone </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">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Allocates a clone of the limit. </p>
<p>Implemented in <a class="el" href="classoperations__research_1_1RegularLimit.html#acde4eaa45f9fcd2e17bfcaf04a41ea36">RegularLimit</a>.</p>
</div>
</div>
<a id="a6c85276e75542eb410f09b0ccd78379b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c85276e75542eb410f09b0ccd78379b">&#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">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="a310e97cfc134567a740679be9186e194"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a310e97cfc134567a740679be9186e194">&#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">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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Periodic call to check limits in long running methods. </p>
<p>Reimplemented from <a class="el" href="classoperations__research_1_1SearchMonitor.html#a1fc71393e20b97540f90702601b75fe1">SearchMonitor</a>.</p>
</div>
</div>
<a id="a2ebc7607687823d65bf65f331c9ac246"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ebc7607687823d65bf65f331c9ac246">&#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 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="acdef27972648252e66630c3b078aa962"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acdef27972648252e66630c3b078aa962">&#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 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#a150f3693eacbeff5fcf5fb1ab954d11e">SearchMonitor</a>.</p>
</div>
</div>
<a id="a262b3b6ef45475daffd66c5ada5dfdd2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a262b3b6ef45475daffd66c5ada5dfdd2">&#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 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="a5f32c22c620c811754ba7b6f977db864"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f32c22c620c811754ba7b6f977db864">&#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>* 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>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ae01b186f0d4be993cdabb7fb50bb98bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae01b186f0d4be993cdabb7fb50bb98bd">&#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 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>
<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>