Files
ortools-clone/docs/cpp_routing/classoperations__research_1_1OptimizeVar.html
Corentin Le Molgat 56440d30e5 Update docs to v7.5
2020-01-27 13:48:26 +01:00

1280 lines
63 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OR-Tools</title>
<meta http-equiv="Content-Type" content="text/html;"/>
<meta charset="utf-8"/>
<!--<link rel='stylesheet' type='text/css' href="https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/>-->
<link rel="stylesheet" type="text/css" href="ortools.css" title="default" media="screen,print" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
</head>
<body>
<div id="banner-container">
<div id="banner">
<span id="sfml">Google OR-Tools 7.5</span>
</div>
</div>
<div id="content" style="width: 100%; overflow: hidden;">
<div style="margin-left: 15px; margin-top: 5px; float: left; color: #145A32;">
<h2>C++ Reference</h2>
<ul>
<li><a href="../cpp_algorithms/annotated.html">Algorithms</a></li>
<li><a href="../cpp_sat/annotated.html">CP-SAT</a></li>
<li><a href="../cpp_graph/annotated.html">Graph</a></li>
<li><a href="../cpp_routing/annotated.html">Routing</a></li>
<li><a href="../cpp_linear/annotated.html">Linear solver</a></li>
</ul>
</div>
<div id="content">
<div align="center">
<h1 style="color: #145A32;">C++ Reference: Routing</h1>
</div>
<!-- Generated by Doxygen 1.8.18 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespaceoperations__research.html">operations_research</a></li><li class="navelem"><a class="el" href="classoperations__research_1_1OptimizeVar.html">OptimizeVar</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="#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">OptimizeVar</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#l04156">4156</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:ad4e4776711893cc98308f12595fec2b8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#ad4e4776711893cc98308f12595fec2b8">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:ad4e4776711893cc98308f12595fec2b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a746d038d4dc0a23b3c22499f33b42fd5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#a746d038d4dc0a23b3c22499f33b42fd5">~OptimizeVar</a> () override</td></tr>
<tr class="separator:a746d038d4dc0a23b3c22499f33b42fd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f1de124cc3328c7d5077c5275d0bfd4"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#a1f1de124cc3328c7d5077c5275d0bfd4">best</a> () const</td></tr>
<tr class="memdesc:a1f1de124cc3328c7d5077c5275d0bfd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the best value found during search. <a href="classoperations__research_1_1OptimizeVar.html#a1f1de124cc3328c7d5077c5275d0bfd4">More...</a><br /></td></tr>
<tr class="separator:a1f1de124cc3328c7d5077c5275d0bfd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8052ccc3aba839f3befd553cc05b85a0"><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#a8052ccc3aba839f3befd553cc05b85a0">Var</a> () const</td></tr>
<tr class="memdesc:a8052ccc3aba839f3befd553cc05b85a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the variable that is optimized. <a href="classoperations__research_1_1OptimizeVar.html#a8052ccc3aba839f3befd553cc05b85a0">More...</a><br /></td></tr>
<tr class="separator:a8052ccc3aba839f3befd553cc05b85a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae983cf659c971e1f2095a2c5a0e81eca"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#ae983cf659c971e1f2095a2c5a0e81eca">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:ae983cf659c971e1f2095a2c5a0e81eca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal methods. <a href="classoperations__research_1_1OptimizeVar.html#ae983cf659c971e1f2095a2c5a0e81eca">More...</a><br /></td></tr>
<tr class="separator:ae983cf659c971e1f2095a2c5a0e81eca"><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_1OptimizeVar.html#a0c955ff1b2eae2daece0f25f1e57fb16">EnterSearch</a> () override</td></tr>
<tr class="memdesc:a0c955ff1b2eae2daece0f25f1e57fb16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Beginning of the search. <a href="classoperations__research_1_1OptimizeVar.html#a0c955ff1b2eae2daece0f25f1e57fb16">More...</a><br /></td></tr>
<tr class="separator:a0c955ff1b2eae2daece0f25f1e57fb16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2475e9789e99a92fbe93b2eaf1b5f5b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#a2475e9789e99a92fbe93b2eaf1b5f5b3">BeginNextDecision</a> (<a class="el" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a> *const db) override</td></tr>
<tr class="memdesc:a2475e9789e99a92fbe93b2eaf1b5f5b3"><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_1OptimizeVar.html#a2475e9789e99a92fbe93b2eaf1b5f5b3">More...</a><br /></td></tr>
<tr class="separator:a2475e9789e99a92fbe93b2eaf1b5f5b3"><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_1OptimizeVar.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_1OptimizeVar.html#acdef27972648252e66630c3b078aa962">More...</a><br /></td></tr>
<tr class="separator:acdef27972648252e66630c3b078aa962"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3631067f88ccc24c5db6a8a0dc64e47"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#ab3631067f88ccc24c5db6a8a0dc64e47">AtSolution</a> () override</td></tr>
<tr class="memdesc:ab3631067f88ccc24c5db6a8a0dc64e47"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is called when a valid solution is found. <a href="classoperations__research_1_1OptimizeVar.html#ab3631067f88ccc24c5db6a8a0dc64e47">More...</a><br /></td></tr>
<tr class="separator:ab3631067f88ccc24c5db6a8a0dc64e47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8900234762f2b2015b9108accdf10ff"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#aa8900234762f2b2015b9108accdf10ff">AcceptSolution</a> () override</td></tr>
<tr class="memdesc:aa8900234762f2b2015b9108accdf10ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is called when a solution is found. <a href="classoperations__research_1_1OptimizeVar.html#aa8900234762f2b2015b9108accdf10ff">More...</a><br /></td></tr>
<tr class="separator:aa8900234762f2b2015b9108accdf10ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac75adcf22322d5c6692e070a0d962af9"><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#ac75adcf22322d5c6692e070a0d962af9">Print</a> () const</td></tr>
<tr class="separator:ac75adcf22322d5c6692e070a0d962af9"><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_1OptimizeVar.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a> () const override</td></tr>
<tr class="separator:aed804747c45a7e1caf81461f9e45dd91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa30c84aec5e60d6b74e1e1eb15011d4a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#aa30c84aec5e60d6b74e1e1eb15011d4a">Accept</a> (<a class="el" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a> *const visitor) const override</td></tr>
<tr class="memdesc:aa30c84aec5e60d6b74e1e1eb15011d4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accepts the given model visitor. <a href="classoperations__research_1_1OptimizeVar.html#aa30c84aec5e60d6b74e1e1eb15011d4a">More...</a><br /></td></tr>
<tr class="separator:aa30c84aec5e60d6b74e1e1eb15011d4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a042bc511877a33bbbc296383c0797650"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#a042bc511877a33bbbc296383c0797650">ApplyBound</a> ()</td></tr>
<tr class="separator:a042bc511877a33bbbc296383c0797650"><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: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: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:a1fc71393e20b97540f90702601b75fe1"><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#a1fc71393e20b97540f90702601b75fe1">PeriodicCheck</a> ()</td></tr>
<tr class="memdesc:a1fc71393e20b97540f90702601b75fe1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Periodic call to check limits in long running methods. <a href="classoperations__research_1_1SearchMonitor.html#a1fc71393e20b97540f90702601b75fe1">More...</a><br /></td></tr>
<tr class="separator:a1fc71393e20b97540f90702601b75fe1"><td class="memSeparator" colspan="2">&#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: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><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:aacb45343e78641c7b582de46225d3481"><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#aacb45343e78641c7b582de46225d3481">var_</a></td></tr>
<tr class="separator:aacb45343e78641c7b582de46225d3481"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87607661db50ef1ae104b4cd6d05f8a8"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#a87607661db50ef1ae104b4cd6d05f8a8">step_</a></td></tr>
<tr class="separator:a87607661db50ef1ae104b4cd6d05f8a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62c8c6ddbd6448f66e4f17e34ef8f33b"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#a62c8c6ddbd6448f66e4f17e34ef8f33b">best_</a></td></tr>
<tr class="separator:a62c8c6ddbd6448f66e4f17e34ef8f33b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5d09a69c6c8c8eea9311b0513628683"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#ad5d09a69c6c8c8eea9311b0513628683">maximize_</a></td></tr>
<tr class="separator:ad5d09a69c6c8c8eea9311b0513628683"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bcea05dd62f2b212dd18322fd22b32e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1OptimizeVar.html#a7bcea05dd62f2b212dd18322fd22b32e">found_initial_solution_</a></td></tr>
<tr class="separator:a7bcea05dd62f2b212dd18322fd22b32e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ad4e4776711893cc98308f12595fec2b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad4e4776711893cc98308f12595fec2b8">&#9670;&nbsp;</a></span>OptimizeVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1OptimizeVar.html">OptimizeVar</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>
</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="a746d038d4dc0a23b3c22499f33b42fd5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a746d038d4dc0a23b3c22499f33b42fd5">&#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">~<a class="el" href="classoperations__research_1_1OptimizeVar.html">OptimizeVar</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="aa30c84aec5e60d6b74e1e1eb15011d4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa30c84aec5e60d6b74e1e1eb15011d4a">&#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 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#afcde421cf076575a27bed81c80093ac8">SearchMonitor</a>.</p>
</div>
</div>
<a id="ae983cf659c971e1f2095a2c5a0e81eca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae983cf659c971e1f2095a2c5a0e81eca">&#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 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#a98a16aa379c7240ae374adb128142a02">SearchMonitor</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="aa8900234762f2b2015b9108accdf10ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8900234762f2b2015b9108accdf10ff">&#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 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#a2895de3ad67f901de28f00994cdcfa34">SearchMonitor</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="a042bc511877a33bbbc296383c0797650"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a042bc511877a33bbbc296383c0797650">&#9670;&nbsp;</a></span>ApplyBound()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ApplyBound </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</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="ab3631067f88ccc24c5db6a8a0dc64e47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3631067f88ccc24c5db6a8a0dc64e47">&#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 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#a9f55f75747d65ad9c4ca9c6fdc01800d">SearchMonitor</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="a2475e9789e99a92fbe93b2eaf1b5f5b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2475e9789e99a92fbe93b2eaf1b5f5b3">&#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="a1f1de124cc3328c7d5077c5275d0bfd4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f1de124cc3328c7d5077c5275d0bfd4">&#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 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#l04162">4162</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">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>
</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>Beginning of the search. </p>
<p>Reimplemented from <a class="el" href="classoperations__research_1_1SearchMonitor.html#a27bff456d096558a8be08ca6fee989f2">SearchMonitor</a>.</p>
</div>
</div>
<a id="a19bef8716e7418748ef666b07b09c25d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a19bef8716e7418748ef666b07b09c25d">&#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="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="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="a1fc71393e20b97540f90702601b75fe1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1fc71393e20b97540f90702601b75fe1">&#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 PeriodicCheck </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Periodic call to check limits in long running methods. </p>
<p>Reimplemented in <a class="el" href="classoperations__research_1_1SearchLimit.html#a310e97cfc134567a740679be9186e194">SearchLimit</a>.</p>
</div>
</div>
<a id="ac75adcf22322d5c6692e070a0d962af9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac75adcf22322d5c6692e070a0d962af9">&#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 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="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>
<a id="a8052ccc3aba839f3befd553cc05b85a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8052ccc3aba839f3befd553cc05b85a0">&#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>* 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#l04165">4165</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="a62c8c6ddbd6448f66e4f17e34ef8f33b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62c8c6ddbd6448f66e4f17e34ef8f33b">&#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 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#l04182">4182</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a7bcea05dd62f2b212dd18322fd22b32e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7bcea05dd62f2b212dd18322fd22b32e">&#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 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#l04184">4184</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<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>
<a id="ad5d09a69c6c8c8eea9311b0513628683"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad5d09a69c6c8c8eea9311b0513628683">&#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 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#l04183">4183</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a87607661db50ef1ae104b4cd6d05f8a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a87607661db50ef1ae104b4cd6d05f8a8">&#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 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#l04181">4181</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="aacb45343e78641c7b582de46225d3481"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aacb45343e78641c7b582de46225d3481">&#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 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#l04180">4180</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>