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

1280 lines
64 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_1OptimizeVar.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-attribs">Protected Attributes</a> &#124;
<a href="classoperations__research_1_1OptimizeVar-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">operations_research::OptimizeVar 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>This class encapsulates an objective. </p>
<p>It requires the direction (minimize or maximize), the variable to optimize, and the improvement step. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l04141">4141</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div><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:a869a6765e20963972d8bc3dd11645f33"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#a869a6765e20963972d8bc3dd11645f33">OptimizeVar</a> (<a class="el" href="classoperations__research_1_1Solver.html">Solver</a> *const s, bool maximize, <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *const a, int64 step)</td></tr>
<tr class="separator:a869a6765e20963972d8bc3dd11645f33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f4f2dec1c3aaaac9f795c2b90023dcc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#a5f4f2dec1c3aaaac9f795c2b90023dcc">~OptimizeVar</a> () override</td></tr>
<tr class="separator:a5f4f2dec1c3aaaac9f795c2b90023dcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecf2e4a608fd1836c0ebac6d7ee0d0ce"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#aecf2e4a608fd1836c0ebac6d7ee0d0ce">best</a> () const</td></tr>
<tr class="memdesc:aecf2e4a608fd1836c0ebac6d7ee0d0ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the best value found during search. <a href="#aecf2e4a608fd1836c0ebac6d7ee0d0ce">More...</a><br /></td></tr>
<tr class="separator:aecf2e4a608fd1836c0ebac6d7ee0d0ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac567620867f5e875168966d1c5abde7d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#ac567620867f5e875168966d1c5abde7d">Var</a> () const</td></tr>
<tr class="memdesc:ac567620867f5e875168966d1c5abde7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the variable that is optimized. <a href="#ac567620867f5e875168966d1c5abde7d">More...</a><br /></td></tr>
<tr class="separator:ac567620867f5e875168966d1c5abde7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a964aef312aae5df04e7d0fe12060e614"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#a964aef312aae5df04e7d0fe12060e614">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) override</td></tr>
<tr class="memdesc:a964aef312aae5df04e7d0fe12060e614"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal methods. <a href="#a964aef312aae5df04e7d0fe12060e614">More...</a><br /></td></tr>
<tr class="separator:a964aef312aae5df04e7d0fe12060e614"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad003866ff381968298a0ebf83f1b18f0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#ad003866ff381968298a0ebf83f1b18f0">EnterSearch</a> () override</td></tr>
<tr class="memdesc:ad003866ff381968298a0ebf83f1b18f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Beginning of the search. <a href="#ad003866ff381968298a0ebf83f1b18f0">More...</a><br /></td></tr>
<tr class="separator:ad003866ff381968298a0ebf83f1b18f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a046594f08d57c33248ac77101184e66c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#a046594f08d57c33248ac77101184e66c">BeginNextDecision</a> (<a class="el" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a> *const db) override</td></tr>
<tr class="memdesc:a046594f08d57c33248ac77101184e66c"><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="#a046594f08d57c33248ac77101184e66c">More...</a><br /></td></tr>
<tr class="separator:a046594f08d57c33248ac77101184e66c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56122e1a51788c21cba4fd3211e93084"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#a56122e1a51788c21cba4fd3211e93084">RefuteDecision</a> (<a class="el" href="classoperations__research_1_1Decision.html">Decision</a> *const d) override</td></tr>
<tr class="memdesc:a56122e1a51788c21cba4fd3211e93084"><td class="mdescLeft">&#160;</td><td class="mdescRight">Before refuting the decision. <a href="#a56122e1a51788c21cba4fd3211e93084">More...</a><br /></td></tr>
<tr class="separator:a56122e1a51788c21cba4fd3211e93084"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab50cd48d312f0e20afcd77b1bf1e94cb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#ab50cd48d312f0e20afcd77b1bf1e94cb">AtSolution</a> () override</td></tr>
<tr class="memdesc:ab50cd48d312f0e20afcd77b1bf1e94cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is called when a valid solution is found. <a href="#ab50cd48d312f0e20afcd77b1bf1e94cb">More...</a><br /></td></tr>
<tr class="separator:ab50cd48d312f0e20afcd77b1bf1e94cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed1aff1da93b7d6ef67c9433a56e311a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#aed1aff1da93b7d6ef67c9433a56e311a">AcceptSolution</a> () override</td></tr>
<tr class="memdesc:aed1aff1da93b7d6ef67c9433a56e311a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is called when a solution is found. <a href="#aed1aff1da93b7d6ef67c9433a56e311a">More...</a><br /></td></tr>
<tr class="separator:aed1aff1da93b7d6ef67c9433a56e311a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6efc7277ebe0c6a15dd35687d9863017"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#a6efc7277ebe0c6a15dd35687d9863017">Print</a> () const</td></tr>
<tr class="separator:a6efc7277ebe0c6a15dd35687d9863017"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2a7ca2a1d7ffb879e2d7794aa3875dc"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#ae2a7ca2a1d7ffb879e2d7794aa3875dc">DebugString</a> () const override</td></tr>
<tr class="separator:ae2a7ca2a1d7ffb879e2d7794aa3875dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcfad0327a52f24042b49aadb09f1b4d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#adcfad0327a52f24042b49aadb09f1b4d">Accept</a> (<a class="el" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a> *const visitor) const override</td></tr>
<tr class="memdesc:adcfad0327a52f24042b49aadb09f1b4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accepts the given model visitor. <a href="#adcfad0327a52f24042b49aadb09f1b4d">More...</a><br /></td></tr>
<tr class="separator:adcfad0327a52f24042b49aadb09f1b4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a7e487cd5bdc3fa3a515765bb007fdd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#a0a7e487cd5bdc3fa3a515765bb007fdd">ApplyBound</a> ()</td></tr>
<tr class="separator:a0a7e487cd5bdc3fa3a515765bb007fdd"><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:ab98b6cd2d173adb819adff4e1839f10b"><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#ab98b6cd2d173adb819adff4e1839f10b">ExitSearch</a> ()</td></tr>
<tr class="memdesc:ab98b6cd2d173adb819adff4e1839f10b"><td class="mdescLeft">&#160;</td><td class="mdescRight">End of the search. <a href="#ab98b6cd2d173adb819adff4e1839f10b">More...</a><br /></td></tr>
<tr class="separator:ab98b6cd2d173adb819adff4e1839f10b"><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:a8c745cdd7838067851f65e5ed812ab14"><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#a8c745cdd7838067851f65e5ed812ab14">ApplyDecision</a> (<a class="el" href="classoperations__research_1_1Decision.html">Decision</a> *const d)</td></tr>
<tr class="memdesc:a8c745cdd7838067851f65e5ed812ab14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Before applying the decision. <a href="#a8c745cdd7838067851f65e5ed812ab14">More...</a><br /></td></tr>
<tr class="separator:a8c745cdd7838067851f65e5ed812ab14"><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:a528e028cce317c06203f079dd05635a9"><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#a528e028cce317c06203f079dd05635a9">BeginFail</a> ()</td></tr>
<tr class="memdesc:a528e028cce317c06203f079dd05635a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Just when the failure occurs. <a href="#a528e028cce317c06203f079dd05635a9">More...</a><br /></td></tr>
<tr class="separator:a528e028cce317c06203f079dd05635a9"><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:ae08ee7f1dc5f652ee9b55393e0cc3550"><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#ae08ee7f1dc5f652ee9b55393e0cc3550">BeginInitialPropagation</a> ()</td></tr>
<tr class="memdesc:ae08ee7f1dc5f652ee9b55393e0cc3550"><td class="mdescLeft">&#160;</td><td class="mdescRight">Before the initial propagation. <a href="#ae08ee7f1dc5f652ee9b55393e0cc3550">More...</a><br /></td></tr>
<tr class="separator:ae08ee7f1dc5f652ee9b55393e0cc3550"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95f86eb818555555bfaa50483672a77a"><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#a95f86eb818555555bfaa50483672a77a">EndInitialPropagation</a> ()</td></tr>
<tr class="memdesc:a95f86eb818555555bfaa50483672a77a"><td class="mdescLeft">&#160;</td><td class="mdescRight">After the initial propagation. <a href="#a95f86eb818555555bfaa50483672a77a">More...</a><br /></td></tr>
<tr class="separator:a95f86eb818555555bfaa50483672a77a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad73cc7165dba2ee87884286537666ec8"><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#ad73cc7165dba2ee87884286537666ec8">NoMoreSolutions</a> ()</td></tr>
<tr class="memdesc:ad73cc7165dba2ee87884286537666ec8"><td class="mdescLeft">&#160;</td><td class="mdescRight">When the search tree is finished. <a href="#ad73cc7165dba2ee87884286537666ec8">More...</a><br /></td></tr>
<tr class="separator:ad73cc7165dba2ee87884286537666ec8"><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: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:a1bd91b270f903d25e6eb7c252d5cf001"><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#a1bd91b270f903d25e6eb7c252d5cf001">AcceptUncheckedNeighbor</a> ()</td></tr>
<tr class="memdesc:a1bd91b270f903d25e6eb7c252d5cf001"><td class="mdescLeft">&#160;</td><td class="mdescRight">After accepting an unchecked neighbor during local search. <a href="#a1bd91b270f903d25e6eb7c252d5cf001">More...</a><br /></td></tr>
<tr class="separator:a1bd91b270f903d25e6eb7c252d5cf001"><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: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-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a229d2a4ba25ff904b6504ba41161721a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#a229d2a4ba25ff904b6504ba41161721a">var_</a></td></tr>
<tr class="separator:a229d2a4ba25ff904b6504ba41161721a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f1b41f6ab20eaf58d9c44340620b04e"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#a0f1b41f6ab20eaf58d9c44340620b04e">step_</a></td></tr>
<tr class="separator:a0f1b41f6ab20eaf58d9c44340620b04e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7b6348e2752a940f527c428636a977b"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#ac7b6348e2752a940f527c428636a977b">best_</a></td></tr>
<tr class="separator:ac7b6348e2752a940f527c428636a977b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a8a943a24864d59725e423490e86dfb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#a7a8a943a24864d59725e423490e86dfb">maximize_</a></td></tr>
<tr class="separator:a7a8a943a24864d59725e423490e86dfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc92b023a2273899160c0997007c6ca8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#abc92b023a2273899160c0997007c6ca8">found_initial_solution_</a></td></tr>
<tr class="separator:abc92b023a2273899160c0997007c6ca8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a869a6765e20963972d8bc3dd11645f33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a869a6765e20963972d8bc3dd11645f33">&#9670;&nbsp;</a></span>OptimizeVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">operations_research::OptimizeVar::OptimizeVar </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">bool&#160;</td>
<td class="paramname"><em>maximize</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>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>step</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5f4f2dec1c3aaaac9f795c2b90023dcc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f4f2dec1c3aaaac9f795c2b90023dcc">&#9670;&nbsp;</a></span>~OptimizeVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">operations_research::OptimizeVar::~OptimizeVar </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="adcfad0327a52f24042b49aadb09f1b4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adcfad0327a52f24042b49aadb09f1b4d">&#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">void operations_research::OptimizeVar::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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Accepts the given model visitor. </p>
<p>Reimplemented from <a class="el" href="classoperations__research_1_1SearchMonitor.html#a9b300dfb35699cf80504c00f2cbe9153">operations_research::SearchMonitor</a>.</p>
</div>
</div>
<a id="a964aef312aae5df04e7d0fe12060e614"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a964aef312aae5df04e7d0fe12060e614">&#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">bool operations_research::OptimizeVar::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">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#ac14f9c8abd763be08fbb1220b763df2b">operations_research::SearchMonitor</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="aed1aff1da93b7d6ef67c9433a56e311a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed1aff1da93b7d6ef67c9433a56e311a">&#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">bool operations_research::OptimizeVar::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">override</span><span class="mlabel">virtual</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 from <a class="el" href="classoperations__research_1_1SearchMonitor.html#a3da80f7b3b108f36ace3e45d1654805b">operations_research::SearchMonitor</a>.</p>
</div>
</div>
<a id="a1bd91b270f903d25e6eb7c252d5cf001"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1bd91b270f903d25e6eb7c252d5cf001">&#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 operations_research::SearchMonitor::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#a5ea81d186550720183bf3e3ef120b339">operations_research::SearchLog</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="a0a7e487cd5bdc3fa3a515765bb007fdd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a7e487cd5bdc3fa3a515765bb007fdd">&#9670;&nbsp;</a></span>ApplyBound()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void operations_research::OptimizeVar::ApplyBound </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8c745cdd7838067851f65e5ed812ab14"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c745cdd7838067851f65e5ed812ab14">&#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 operations_research::SearchMonitor::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#aabfe35ed51f64c6386f38c97a4752e33">operations_research::SearchLog</a>.</p>
</div>
</div>
<a id="ab50cd48d312f0e20afcd77b1bf1e94cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab50cd48d312f0e20afcd77b1bf1e94cb">&#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::OptimizeVar::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="a528e028cce317c06203f079dd05635a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a528e028cce317c06203f079dd05635a9">&#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 operations_research::SearchMonitor::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#a070cd3a6cc16d608bdd36d3acfcd6192">operations_research::SearchLog</a>.</p>
</div>
</div>
<a id="ae08ee7f1dc5f652ee9b55393e0cc3550"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae08ee7f1dc5f652ee9b55393e0cc3550">&#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 operations_research::SearchMonitor::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#aa432e517e9a910a0f84fab7b46627f10">operations_research::SearchLog</a>.</p>
</div>
</div>
<a id="a046594f08d57c33248ac77101184e66c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a046594f08d57c33248ac77101184e66c">&#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 operations_research::OptimizeVar::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#a3bcaa4dd991e8ddb4d0e48cfbca58592" 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#a2f3ea4577e11fad619c2d7dcad1617cd">operations_research::SearchMonitor</a>.</p>
</div>
</div>
<a id="aecf2e4a608fd1836c0ebac6d7ee0d0ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aecf2e4a608fd1836c0ebac6d7ee0d0ce">&#9670;&nbsp;</a></span>best()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int64 operations_research::OptimizeVar::best </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 the best value found during search. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l04147">4147</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="ae2a7ca2a1d7ffb879e2d7794aa3875dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae2a7ca2a1d7ffb879e2d7794aa3875dc">&#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::OptimizeVar::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="a95f86eb818555555bfaa50483672a77a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95f86eb818555555bfaa50483672a77a">&#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 operations_research::SearchMonitor::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#a8a93918c1aa6f9518b9f88ed71611069">operations_research::SearchLog</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="ad003866ff381968298a0ebf83f1b18f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad003866ff381968298a0ebf83f1b18f0">&#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::OptimizeVar::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="ab98b6cd2d173adb819adff4e1839f10b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab98b6cd2d173adb819adff4e1839f10b">&#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 operations_research::SearchMonitor::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#a895d84c05da5c98c72e3662bf83ecc86">operations_research::RegularLimit</a>, and <a class="el" href="classoperations__research_1_1SearchLog.html#ad1c8c5d6118dd4ba3e27d8e38bcee0d2">operations_research::SearchLog</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="ad73cc7165dba2ee87884286537666ec8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad73cc7165dba2ee87884286537666ec8">&#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 operations_research::SearchMonitor::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#a290b7238507e711ea719b38a65d1d002">operations_research::SearchLog</a>.</p>
</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="a6efc7277ebe0c6a15dd35687d9863017"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6efc7277ebe0c6a15dd35687d9863017">&#9670;&nbsp;</a></span>Print()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::string operations_research::OptimizeVar::Print </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">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</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="a56122e1a51788c21cba4fd3211e93084"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56122e1a51788c21cba4fd3211e93084">&#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::OptimizeVar::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>
<a id="ac567620867f5e875168966d1c5abde7d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac567620867f5e875168966d1c5abde7d">&#9670;&nbsp;</a></span>Var()</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_1IntVar.html">IntVar</a>* operations_research::OptimizeVar::Var </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 the variable that is optimized. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l04150">4150</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="ac7b6348e2752a940f527c428636a977b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7b6348e2752a940f527c428636a977b">&#9670;&nbsp;</a></span>best_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int64 operations_research::OptimizeVar::best_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l04167">4167</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="abc92b023a2273899160c0997007c6ca8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc92b023a2273899160c0997007c6ca8">&#9670;&nbsp;</a></span>found_initial_solution_</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::OptimizeVar::found_initial_solution_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l04169">4169</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<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>
<a id="a7a8a943a24864d59725e423490e86dfb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a8a943a24864d59725e423490e86dfb">&#9670;&nbsp;</a></span>maximize_</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::OptimizeVar::maximize_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l04168">4168</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a0f1b41f6ab20eaf58d9c44340620b04e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f1b41f6ab20eaf58d9c44340620b04e">&#9670;&nbsp;</a></span>step_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int64 operations_research::OptimizeVar::step_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l04166">4166</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a229d2a4ba25ff904b6504ba41161721a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a229d2a4ba25ff904b6504ba41161721a">&#9670;&nbsp;</a></span>var_</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_1IntVar.html">IntVar</a>* const operations_research::OptimizeVar::var_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l04165">4165</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><!-- doc-content -->
</div>
<div id="footer-container">
<div id="footer">
</div>
</div>
</body>
</html>