<ahref="SearchMonitor_8java.html">Go to the documentation of this file.</a><divclass="fragment"><divclass="line"><aname="l00001"></a><spanclass="lineno"> 1</span> <spanclass="comment">/* ----------------------------------------------------------------------------</span></div><divclass="line"><aname="l00002"></a><spanclass="lineno"> 2</span> <spanclass="comment"> * This file was automatically generated by SWIG (http://www.swig.org).</span></div><divclass="line"><aname="l00003"></a><spanclass="lineno"> 3</span> <spanclass="comment"> * Version 4.0.0</span></div><divclass="line"><aname="l00004"></a><spanclass="lineno"> 4</span> <spanclass="comment"> *</span></div><divclass="line"><aname="l00005"></a><spanclass="lineno"> 5</span> <spanclass="comment"> * Do not make changes to this file unless you know what you are doing--modify</span></div><divclass="line"><aname="l00006"></a><spanclass="lineno"> 6</span> <spanclass="comment"> * the SWIG interface file instead.</span></div><divclass="line"><aname="l00007"></a><spanclass="lineno"> 7</span> <spanclass="comment"> * ----------------------------------------------------------------------------- */</span></div><divclass="line"><aname="l00008"></a><spanclass="lineno"> 8</span> </div><divclass="line"><aname="l00009"></a><spanclass="lineno"> 9</span> <spanclass="keyword">package </span>com.google.ortools.constraintsolver;</div><divclass="line"><aname="l00010"></a><spanclass="lineno"> 10</span> </div><divclass="line"><aname="l00014"></a><spanclass="lineno"><aclass="line"href="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html"> 14</a></span> <spanclass="keyword">public</span><spanclass="keyword">class </span><aclass="code"href="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html">SearchMonitor</a><spanclass="keyword">extends</span><aclass="code"href="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1BaseObject.html">BaseObject</a> {</div><divclass="line"><aname="l00015"></a><spanclass="lineno"> 15</span> <spanclass="keyword">private</span><spanclass="keyword">transient</span><spanclass="keywordtype">long</span> swigCPtr;</div><divclass="line"><aname="l00016"></a><spanclass="lineno"> 16</span> </div><divclass="line"><aname="l00017"></a><spanclass="lineno"><aclass="line"href="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#a2470c63ec1692e40ec97b75c741e30ba"> 17</a></span> <spanclass="keyword">protected</span><aclass="code"href="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#a2470c63ec1692e40ec97b75c741e30ba">SearchMonitor</a>(<spanclass="keywordtype">long</span> cPtr, <spanclass="keywordtype">boolean</span> cMemoryOwn) {</div><divclass="line"><aname="l00018"></a><spanclass="lineno"> 18</span>  super(mainJNI.SearchMonitor_SWIGUpcast(cPtr), cMemoryOwn);</div><divclass="line"><aname="l00019"></a><spanclass="lineno"> 19</span>  swigCPtr = cPtr;</div><divclass="line"><aname="l00020"></a><spanclass="lineno"> 20</span>  }</div><divclass="line"><aname="l00021"></a><spanclass="lineno"> 21</span> </div><divclass="line"><aname="l00022"></a><spanclass="lineno"> 22</span> <spanclass="keyword">protected</span><spanclass="keyword">static</span><spanclass="keywordtype">long</span> getCPtr(<aclass="code"href="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html">SearchMonitor</a> obj) {</div><divclass="line"><aname="l00023"></a><spanclass="lineno"> 23</span> <spanclass="keywordflow">return</span> (obj == <spanclass="keyword">null</span>) ? 0 : obj.swigCPtr;</div><divclass="line"><aname="l00024"></a><spanclass="lineno"> 24</span>  }</div><divclass="line"><aname="l00025"></a><spanclass="lineno"> 25</span> </div><divclass="line"><aname="l00026"></a><spanclass="lineno"> 26</span>  @SuppressWarnings(<sp
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor_html_abb4a5b95e8f4a109b109b14b037fb2ed"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#abb4a5b95e8f4a109b109b14b037fb2ed">com.google.ortools.constraintsolver.SearchMonitor.beginFail</a></div><divclass="ttdeci">void beginFail()</div><divclass="ttdoc">Just when the failure occurs.</div><divclass="ttdef"><b>Definition:</b><ahref="SearchMonitor_8java_source.html#l00121">SearchMonitor.java:121</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor_html_a9b05b53299808dc5ff9b7ce443b63e55"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#a9b05b53299808dc5ff9b7ce443b63e55">com.google.ortools.constraintsolver.SearchMonitor.endNextDecision</a></div><divclass="ttdeci">void endNextDecision(DecisionBuilder b, Decision d)</div><divclass="ttdoc">After calling DecisionBuilder::Next, along with the returned decision.</div><divclass="ttdef"><b>Definition:</b><ahref="SearchMonitor_8java_source.html#l00093">SearchMonitor.java:93</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1Solver_html"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1Solver.html">com.google.ortools.constraintsolver.Solver</a></div><divclass="ttdoc">Solver Class A solver represents the main computation engine.</div><divclass="ttdef"><b>Definition:</b><ahref="Solver_8java_source.html#l00057">Solver.java:57</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1BaseObject_html"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1BaseObject.html">com.google.ortools.constraintsolver.BaseObject</a></div><divclass="ttdoc">A BaseObject is the root of all reversibly allocated objects.</div><divclass="ttdef"><b>Definition:</b><ahref="BaseObject_8java_source.html#l00014">BaseObject.java:14</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1Decision_html"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1Decision.html">com.google.ortools.constraintsolver.Decision</a></div><divclass="ttdoc">A Decision represents a choice point in the search tree.</div><divclass="ttdef"><b>Definition:</b><ahref="Decision_8java_source.html#l00014">Decision.java:14</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor_html_a33deede4fc79ee5947c09f36857e2ac6"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#a33deede4fc79ee5947c09f36857e2ac6">com.google.ortools.constraintsolver.SearchMonitor.periodicCheck</a></div><divclass="ttdeci">void periodicCheck()</div><divclass="ttdoc">Periodic call to check limits in long running methods.</div><divclass="ttdef"><b>Definition:</b><ahref="SearchMonitor_8java_source.html#l00207">SearchMonitor.java:207</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor_html_aa0dec4bcb2fa9d0382403f1ba6c78cfa"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#aa0dec4bcb2fa9d0382403f1ba6c78cfa">com.google.ortools.constraintsolver.SearchMonitor.acceptSolution</a></div><divclass="ttdeci">boolean acceptSolution()</div><divclass="ttdoc">This method is called when a solution is found.</div><divclass="ttdef"><b>Definition:</b><ahref="SearchMonitor_8java_source.html#l00149">SearchMonitor.java:149</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor_html_a7ef6d09c31ca00fa83e017cc37d55954"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#a7ef6d09c31ca00fa83e017cc37d55954">com.google.ortools.constraintsolver.SearchMonitor.IsUncheckedSolutionLimitReached</a></div><divclass="ttdeci">boolean IsUncheckedSolutionLimitReached()</div><divclass="ttdoc">Returns true if the limit of solutions has been reached including unchecked solutions.</div><divclass="ttdef"><b>Definition:</b><ahref="SearchMonitor_8java_source.html#l00195">SearchMonitor.java:195</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor_html_a6c12678c2ce4008ac96a8281e7b44130"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#a6c12678c2ce4008ac96a8281e7b44130">com.google.ortools.constraintsolver.SearchMonitor.atSolution</a></div><divclass="ttdeci">boolean atSolution()</div><divclass="ttdoc">This method is called when a valid solution is found.</div><divclass="ttdef"><b>Definition:</b><ahref="SearchMonitor_8java_source.html#l00156">SearchMonitor.java:156</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor_html_a4512d4f854dbe675a9ceb42f1a5eabc6"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#a4512d4f854dbe675a9ceb42f1a5eabc6">com.google.ortools.constraintsolver.SearchMonitor.endFail</a></div><divclass="ttdeci">void endFail()</div><divclass="ttdoc">After completing the backtrack.</div><divclass="ttdef"><b>Definition:</b><ahref="SearchMonitor_8java_source.html#l00128">SearchMonitor.java:128</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor_html_a4b9985260e80d0595dd70d8541bfe182"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#a4b9985260e80d0595dd70d8541bfe182">com.google.ortools.constraintsolver.SearchMonitor.accept</a></div><divclass="ttdeci">void accept(ModelVisitor visitor)</div><divclass="ttdoc">Accepts the given model visitor.</div><divclass="ttdef"><b>Definition:</b><ahref="SearchMonitor_8java_source.html#l00221">SearchMonitor.java:221</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor_html_a2291cdbc1849bc4a8a3e4127a2aedcb9"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#a2291cdbc1849bc4a8a3e4127a2aedcb9">com.google.ortools.constraintsolver.SearchMonitor.beginInitialPropagation</a></div><divclass="ttdeci">void beginInitialPropagation()</div><divclass="ttdoc">Before the initial propagation.</div><divclass="ttdef"><b>Definition:</b><ahref="SearchMonitor_8java_source.html#l00135">SearchMonitor.java:135</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor_html_acd038679ba60a434d0e377a956ffeab3"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#acd038679ba60a434d0e377a956ffeab3">com.google.ortools.constraintsolver.SearchMonitor.afterDecision</a></div><divclass="ttdeci">void afterDecision(Decision d, boolean apply)</div><divclass="ttdoc">Just after refuting or applying the decision, apply is true after Apply.</div><divclass="ttdef"><b>Definition:</b><ahref="SearchMonitor_8java_source.html#l00114">SearchMonitor.java:114</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor_html_a69c4f7668d43e03e74418ec2d7b73f38"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#a69c4f7668d43e03e74418ec2d7b73f38">com.google.ortools.constraintsolver.SearchMonitor.progressPercent</a></div><divclass="ttdeci">int progressPercent()</div><divclass="ttdoc">Returns a percentage representing the propress of the search before reaching limits.</div><divclass="ttdef"><b>Definition:</b><ahref="SearchMonitor_8java_source.html#l00214">SearchMonitor.java:214</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor_html_afcc8f71e08642dea09a4ccf7669b43e7"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#afcc8f71e08642dea09a4ccf7669b43e7">com.google.ortools.constraintsolver.SearchMonitor.refuteDecision</a></div><divclass="ttdeci">void refuteDecision(Decision d)</div><divclass="ttdoc">Before refuting the decision.</div><divclass="ttdef"><b>Definition:</b><ahref="SearchMonitor_8java_source.html#l00107">SearchMonitor.java:107</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor_html"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html">com.google.ortools.constraintsolver.SearchMonitor</a></div><divclass="ttdoc">A search monitor is a simple set of callbacks to monitor all search events.</div><divclass="ttdef"><b>Definition:</b><ahref="SearchMonitor_8java_source.html#l00014">SearchMonitor.java:14</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor_html_a362b48932f2ff90e7294d24dabdb2217"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#a362b48932f2ff90e7294d24dabdb2217">com.google.ortools.constraintsolver.SearchMonitor.kNoProgress</a></div><divclass="ttdeci">static final int kNoProgress</div><divclass="ttdef"><b>Definition:</b><ahref="SearchMonitor_8java_source.html#l00232">SearchMonitor.java:232</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1DecisionBuilder_html"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1DecisionBuilder.html">com.google.ortools.constraintsolver.DecisionBuilder</a></div><divclass="ttdoc">A DecisionBuilder is responsible for creating the search tree.</div><divclass="ttdef"><b>Definition:</b><ahref="DecisionBuilder_8java_source.html#l00014">DecisionBuilder.java:14</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor_html_ac4103a6685117af339b64cccac35e983"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#ac4103a6685117af339b64cccac35e983">com.google.ortools.constraintsolver.SearchMonitor.acceptNeighbor</a></div><divclass="ttdeci">void acceptNeighbor()</div><divclass="ttdoc">After accepting a neighbor during local search.</div><divclass="ttdef"><b>Definition:</b><ahref="SearchMonitor_8java_source.html#l00181">SearchMonitor.java:181</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor_html_acb195a9ae5961bc9ee367fb0f2aade41"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#acb195a9ae5961bc9ee367fb0f2aade41">com.google.ortools.constraintsolver.SearchMonitor.endInitialPropagation</a></div><divclass="ttdeci">void endInitialPropagation()</div><divclass="ttdoc">After the initial propagation.</div><divclass="ttdef"><b>Definition:</b><ahref="SearchMonitor_8java_source.html#l00142">SearchMonitor.java:142</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor_html_a6ccb2943bbe7d15990ceba8983a5802a"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#a6ccb2943bbe7d15990ceba8983a5802a">com.google.ortools.constraintsolver.SearchMonitor.enterSearch</a></div><divclass="ttdeci">void enterSearch()</div><divclass="ttdoc">Beginning of the search.</div><divclass="ttdef"><b>Definition:</b><ahref="SearchMonitor_8java_source.html#l00065">SearchMonitor.java:65</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1Assignment_html"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1Assignment.html">com.google.ortools.constraintsolver.Assignment</a></div><divclass="ttdoc">An Assignment is a variable -> domains mapping, used to report solutions to the user.</div><divclass="ttdef"><b>Definition:</b><ahref="Assignment_8java_source.html#l00014">Assignment.java:14</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor_html_a29a5817f5e879563c0e38efc1182c743"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#a29a5817f5e879563c0e38efc1182c743">com.google.ortools.constraintsolver.SearchMonitor.applyDecision</a></div><divclass="ttdeci">void applyDecision(Decision d)</div><divclass="ttdoc">Before applying the decision.</div><divclass="ttdef"><b>Definition:</b><ahref="SearchMonitor_8java_source.html#l00100">SearchMonitor.java:100</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor_html_a24ee74ead439b6e238e6f5e407833da2"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#a24ee74ead439b6e238e6f5e407833da2">com.google.ortools.constraintsolver.SearchMonitor.restartSearch</a></div><divclass="ttdeci">void restartSearch()</div><divclass="ttdoc">Restart the search.</div><divclass="ttdef"><b>Definition:</b><ahref="SearchMonitor_8java_source.html#l00072">SearchMonitor.java:72</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor_html_aec624987e2da1e09bb6a3b87fd17cc98"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#aec624987e2da1e09bb6a3b87fd17cc98">com.google.ortools.constraintsolver.SearchMonitor.localOptimum</a></div><divclass="ttdeci">boolean localOptimum()</div><divclass="ttdoc">When a local optimum is reached.</div><divclass="ttdef"><b>Definition:</b><ahref="SearchMonitor_8java_source.html#l00170">SearchMonitor.java:170</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor_html_a4296500c9246a4af8541fd010b042680"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#a4296500c9246a4af8541fd010b042680">com.google.ortools.constraintsolver.SearchMonitor.exitSearch</a></div><divclass="ttdeci">void exitSearch()</div><divclass="ttdoc">End of the search.</div><divclass="ttdef"><b>Definition:</b><ahref="SearchMonitor_8java_source.html#l00079">SearchMonitor.java:79</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor_html_a58eefa2f18098d97ca97a64024e25605"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#a58eefa2f18098d97ca97a64024e25605">com.google.ortools.constraintsolver.SearchMonitor.install</a></div><divclass="ttdeci">void install()</div><divclass="ttdoc">Registers itself on the solver such that it gets notified of the search and propagation events.</div><divclass="ttdef"><b>Definition:</b><ahref="SearchMonitor_8java_source.html#l00228">SearchMonitor.java:228</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor_html_a05f548babb9f34b84f1589aa2f58e9ed"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#a05f548babb9f34b84f1589aa2f58e9ed">com.google.ortools.constraintsolver.SearchMonitor.AcceptUncheckedNeighbor</a></div><divclass="ttdeci">void AcceptUncheckedNeighbor()</div><divclass="ttdoc">After accepting an unchecked neighbor during local search.</div><divclass="ttdef"><b>Definition:</b><ahref="SearchMonitor_8java_source.html#l00188">SearchMonitor.java:188</a></div></div>
<divclass="ttc"id="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor_html_aa1709fdb54e8c371dc237f6b86c3a5b6"><divclass="ttname"><ahref="classcom_1_1google_1_1ortools_1_1constraintsolver_1_1SearchMonitor.html#aa1709fdb54e8c371dc237f6b86c3a5b6">com.google.ortools.constraintsolver.SearchMonitor.noMoreSolutions</a></div><divclass="ttdeci">void noMoreSolutions()</div><divclass="ttdoc">When the search tree is finished.</div><divclass="ttdef"><b>Definition:</b><ahref="SearchMonitor_8java_source.html#l00163">SearchMonitor.java:163</a></div></div>