Files
ortools-clone/docs/cpp_routing/constraint__solver_8h_source.html
2019-09-03 15:42:34 +02:00

1324 lines
1.4 MiB
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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.3</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.15 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><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="dir_a7cc1eeded8f693d0da6c729bc88c45a.html">ortools</a></li><li class="navelem"><a class="el" href="dir_afbb39f66221aac28bbdefd1dca2b2b0.html">constraint_solver</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">constraint_solver.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="constraint__solver_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// Copyright 2010-2018 Google LLC</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// You may obtain a copy of the License at</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="preprocessor">#ifndef OR_TOOLS_CONSTRAINT_SOLVER_CONSTRAINT_SOLVER_H_</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="preprocessor">#define OR_TOOLS_CONSTRAINT_SOLVER_CONSTRAINT_SOLVER_H_</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="preprocessor">#include &lt;functional&gt;</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="preprocessor">#include &lt;iosfwd&gt;</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="preprocessor">#include &lt;utility&gt;</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="preprocessor">#include &quot;absl/container/flat_hash_map.h&quot;</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="preprocessor">#include &quot;absl/container/flat_hash_set.h&quot;</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor">#include &quot;absl/strings/str_format.h&quot;</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="preprocessor">#include &quot;ortools/base/commandlineflags.h&quot;</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="preprocessor">#include &quot;ortools/base/hash.h&quot;</span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="preprocessor">#include &quot;ortools/base/integral_types.h&quot;</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="preprocessor">#include &quot;ortools/base/logging.h&quot;</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="preprocessor">#include &quot;ortools/base/macros.h&quot;</span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="preprocessor">#include &quot;ortools/base/map_util.h&quot;</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="preprocessor">#include &quot;ortools/base/random.h&quot;</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="preprocessor">#include &quot;ortools/base/sysinfo.h&quot;</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="preprocessor">#include &quot;ortools/base/timer.h&quot;</span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="preprocessor">#include &quot;ortools/constraint_solver/solver_parameters.pb.h&quot;</span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="preprocessor">#include &quot;ortools/util/piecewise_linear_function.h&quot;</span></div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="preprocessor">#include &quot;ortools/util/sorted_interval_list.h&quot;</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="preprocessor">#include &quot;ortools/util/tuple_set.h&quot;</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="keyword">class </span>File;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="namespaceoperations__research.html"> 92</a></span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceoperations__research.html">operations_research</a> {</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="keyword">class </span>AssignmentProto;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1BaseObject.html">BaseObject</a>;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="keyword">class </span>CpArgument;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="keyword">class </span>CpConstraint;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="keyword">class </span>CpIntegerExpression;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="keyword">class </span>CpIntervalVariable;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="keyword">class </span>CpSequenceVariable;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1CastConstraint.html">CastConstraint</a>;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1Decision.html">Decision</a>;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1DecisionVisitor.html">DecisionVisitor</a>;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1Demon.html">Demon</a>;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="keyword">class </span>DemonProfiler;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="keyword">class </span>LocalSearchProfiler;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="keyword">class </span>Dimension;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1DisjunctiveConstraint.html">DisjunctiveConstraint</a>;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="keyword">class </span>ExpressionCache;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="keyword">class </span>IntTupleSet;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="keyword">class </span>IntVarAssignment;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1IntVarElement.html">IntVarElement</a>;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="keyword">class </span>IntervalVarAssignment;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1IntervalVarElement.html">IntervalVarElement</a>;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1IntVarLocalSearchFilter.html">IntVarLocalSearchFilter</a>;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1LocalSearchFilter.html">LocalSearchFilter</a>;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1LocalSearchOperator.html">LocalSearchOperator</a>;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="keyword">class </span>LocalSearchPhaseParameters;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1ModelCache.html">ModelCache</a>;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a>;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1OptimizeVar.html">OptimizeVar</a>;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1Pack.html">Pack</a>;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1PropagationBaseObject.html">PropagationBaseObject</a>;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1PropagationMonitor.html">PropagationMonitor</a>;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1LocalSearchMonitor.html">LocalSearchMonitor</a>;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="keyword">class </span>Queue;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1RevBitMatrix.html">RevBitMatrix</a>;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1RevBitSet.html">RevBitSet</a>;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1RegularLimit.html">RegularLimit</a>;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="keyword">class </span>RegularLimitParameters;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="keyword">class </span>Search;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1SearchLimit.html">SearchLimit</a>;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="keyword">class </span>SequenceVarAssignment;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1SolutionCollector.html">SolutionCollector</a>;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1SolutionPool.html">SolutionPool</a>;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1Solver.html">Solver</a>;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="keyword">class </span>ConstraintSolverParameters;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1SymmetryBreaker.html">SymmetryBreaker</a>;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="keyword">struct </span>StateInfo;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="keyword">struct </span>Trail;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SimpleRevFIFO.html"> 150</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1SimpleRevFIFO.html">SimpleRevFIFO</a>;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html"> 155</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html">DefaultPhaseParameters</a> {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffd"> 157</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffd">VariableSelection</a> {</div><div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffdac4b4fc1afb505f9a378e3d55747c2c2a"> 158</a></span>&#160; <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffdac4b4fc1afb505f9a378e3d55747c2c2a">CHOOSE_MAX_SUM_IMPACT</a> = 0,</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffdae89afeba83d94a0077202576edff7d20"> 159</a></span>&#160; <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffdae89afeba83d94a0077202576edff7d20">CHOOSE_MAX_AVERAGE_IMPACT</a> = 1,</div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffdaa674cfb9265f697b4ada735c4401aac0"> 160</a></span>&#160; <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffdaa674cfb9265f697b4ada735c4401aac0">CHOOSE_MAX_VALUE_IMPACT</a> = 2,</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; };</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a859e753eeaea8a2e9a1af1a6aa5f786f"> 163</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#a859e753eeaea8a2e9a1af1a6aa5f786f">ValueSelection</a> {</div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a859e753eeaea8a2e9a1af1a6aa5f786faee0a24529a0371855709d8b20c5531f8"> 164</a></span>&#160; <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#a859e753eeaea8a2e9a1af1a6aa5f786faee0a24529a0371855709d8b20c5531f8">SELECT_MIN_IMPACT</a> = 0,</div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a859e753eeaea8a2e9a1af1a6aa5f786fa2537cfa97cf345dda1b14e7da07b60d9"> 165</a></span>&#160; <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#a859e753eeaea8a2e9a1af1a6aa5f786fa2537cfa97cf345dda1b14e7da07b60d9">SELECT_MAX_IMPACT</a> = 1,</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; };</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a36703c0bee7e0f1e68f64e0bb9307382ace3e26676763569084c86b8c3b67d601"> 168</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#a36703c0bee7e0f1e68f64e0bb9307382">DisplayLevel</a> { <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#a36703c0bee7e0f1e68f64e0bb9307382ac157bdf0b85a40d2619cbc8bc1ae5fe2">NONE</a> = 0, <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#a36703c0bee7e0f1e68f64e0bb9307382a50d1448013c6f17125caee18aa418af7">NORMAL</a> = 1, <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#a36703c0bee7e0f1e68f64e0bb9307382ace3e26676763569084c86b8c3b67d601">VERBOSE</a> = 2 };</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a61d9b3f13793427aab1d091252cabcdb"> 172</a></span>&#160; <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffd">VariableSelection</a> <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#a61d9b3f13793427aab1d091252cabcdb">var_selection_schema</a>;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a5a24d11f8e77754933853ae4ae721c58"> 175</a></span>&#160; <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#a859e753eeaea8a2e9a1af1a6aa5f786f">ValueSelection</a> <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#a5a24d11f8e77754933853ae4ae721c58">value_selection_schema</a>;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a33b5f7988bd900722e702d6e808d091f"> 179</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#a33b5f7988bd900722e702d6e808d091f">initialization_splits</a>;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div><div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#ae34ba5540c7682e2efd1a3de7ec92821"> 184</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#ae34ba5540c7682e2efd1a3de7ec92821">run_all_heuristics</a>;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#ac452a91363eef95dc8b527628d122c55"> 189</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#ac452a91363eef95dc8b527628d122c55">heuristic_period</a>;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a0e6d02b76d3e83bde2a02798e4e7a0a9"> 192</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#a0e6d02b76d3e83bde2a02798e4e7a0a9">heuristic_num_failures_limit</a>;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#aa05a3321d74475f1238d0c51b5754d7e"> 196</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#aa05a3321d74475f1238d0c51b5754d7e">persistent_impact</a>;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;</div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#ad9059bc845096b2f05414a66c836b4ee"> 199</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#ad9059bc845096b2f05414a66c836b4ee">random_seed</a>;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;</div><div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a40646422bfe80217dfdf371cca44a63b"> 203</a></span>&#160; <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#a36703c0bee7e0f1e68f64e0bb9307382">DisplayLevel</a> <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#a40646422bfe80217dfdf371cca44a63b">display_level</a>;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;</div><div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#aa978cbe8453310a6381350d867821e0c"> 206</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#aa978cbe8453310a6381350d867821e0c">use_last_conflict</a>;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;</div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a39c899184f62ab82b7ce98b7aaaf7d2d"> 209</a></span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#a39c899184f62ab82b7ce98b7aaaf7d2d">decision_builder</a>;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#a0d757e1829bae7762734bce78136a139">DefaultPhaseParameters</a>();</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;};</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html"> 231</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1Solver.html">Solver</a> {</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00237"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html"> 237</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html">IntegerCastInfo</a> {</div><div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#ab15f186e97754835d5913283a1e176cf"> 238</a></span>&#160; <a class="code" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#ab15f186e97754835d5913283a1e176cf">IntegerCastInfo</a>()</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; : <a class="code" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#acb71959af429e32049d2b911e4d92ac3">variable</a>(nullptr), <a class="code" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#a835c75d75486a896c255acb75d6616f3">expression</a>(nullptr), <a class="code" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#ae1de17a3d4162dd6fef92daccf0741f6">maintainer</a>(nullptr) {}</div><div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#a5d6ae94825077efbea7967ada7a6341c"> 240</a></span>&#160; <a class="code" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#a5d6ae94825077efbea7967ada7a6341c">IntegerCastInfo</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> v, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> e, <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <span class="keyword">const</span> c)</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; : <a class="code" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#acb71959af429e32049d2b911e4d92ac3">variable</a>(v), <a class="code" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#a835c75d75486a896c255acb75d6616f3">expression</a>(e), <a class="code" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#ae1de17a3d4162dd6fef92daccf0741f6">maintainer</a>(c) {}</div><div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#acb71959af429e32049d2b911e4d92ac3"> 242</a></span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#acb71959af429e32049d2b911e4d92ac3">variable</a>;</div><div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#a835c75d75486a896c255acb75d6616f3"> 243</a></span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#a835c75d75486a896c255acb75d6616f3">expression</a>;</div><div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#ae1de17a3d4162dd6fef92daccf0741f6"> 244</a></span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#ae1de17a3d4162dd6fef92daccf0741f6">maintainer</a>;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; };</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;</div><div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a8c55e823426ef9c603a7e8faa2786f58"> 248</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classoperations__research_1_1Solver.html#a8c55e823426ef9c603a7e8faa2786f58">kNumPriorities</a> = 3;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601"> 252</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> {</div><div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a5cd14c588f2bc9864e717b7797634376"> 254</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a5cd14c588f2bc9864e717b7797634376">INT_VAR_DEFAULT</a>,</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;</div><div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ad0cb7bcf19973e10df6bc1ac196f1fc2"> 257</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ad0cb7bcf19973e10df6bc1ac196f1fc2">INT_VAR_SIMPLE</a>,</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;</div><div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a1a148a0aaaad7f56eea42df9876e7ae9"> 262</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a1a148a0aaaad7f56eea42df9876e7ae9">CHOOSE_FIRST_UNBOUND</a>,</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;</div><div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a0dd29a5b1114a3da001126046058304c"> 265</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a0dd29a5b1114a3da001126046058304c">CHOOSE_RANDOM</a>,</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a51ebcb4577d6f214dc22b869c9774448"> 273</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a51ebcb4577d6f214dc22b869c9774448">CHOOSE_MIN_SIZE_LOWEST_MIN</a>,</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ab5a4ff7c445eb996034132c5b54dd2e2"> 281</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ab5a4ff7c445eb996034132c5b54dd2e2">CHOOSE_MIN_SIZE_HIGHEST_MIN</a>,</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;</div><div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ae2c3ca1431efdb92978cd252c9ec01a7"> 289</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ae2c3ca1431efdb92978cd252c9ec01a7">CHOOSE_MIN_SIZE_LOWEST_MAX</a>,</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;</div><div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a67ae4822c2c057bc55386cab118bbd70"> 297</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a67ae4822c2c057bc55386cab118bbd70">CHOOSE_MIN_SIZE_HIGHEST_MAX</a>,</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;</div><div class="line"><a name="l00303"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601aefd0704e5b6bd1e9dd826cf03d2dff12"> 303</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601aefd0704e5b6bd1e9dd826cf03d2dff12">CHOOSE_LOWEST_MIN</a>,</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;</div><div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a35ade8eddf8a04820923af06366d8841"> 309</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a35ade8eddf8a04820923af06366d8841">CHOOSE_HIGHEST_MAX</a>,</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a135287a353c8b664975f778efc8d89ae"> 314</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a135287a353c8b664975f778efc8d89ae">CHOOSE_MIN_SIZE</a>,</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;</div><div class="line"><a name="l00319"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601aca5eb66b1540a6c1ab8a3aedaf606f2a"> 319</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601aca5eb66b1540a6c1ab8a3aedaf606f2a">CHOOSE_MAX_SIZE</a>,</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;</div><div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a77806c37d29c932d0c23741de684d4bf"> 323</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a77806c37d29c932d0c23741de684d4bf">CHOOSE_MAX_REGRET_ON_MIN</a>,</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;</div><div class="line"><a name="l00327"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a1e36b06cc28522f212507ecaac29797d"> 327</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a1e36b06cc28522f212507ecaac29797d">CHOOSE_PATH</a>,</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; };</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="comment">// TODO(user): add HIGHEST_MIN and LOWEST_MAX.</span></div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;</div><div class="line"><a name="l00333"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84"> 333</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a> {</div><div class="line"><a name="l00335"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a5f0059ab0df5c8e811e79e4f77f91291"> 335</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a5f0059ab0df5c8e811e79e4f77f91291">INT_VALUE_DEFAULT</a>,</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;</div><div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a1440614d1bb85a4f4b9290b234b84a3e"> 338</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a1440614d1bb85a4f4b9290b234b84a3e">INT_VALUE_SIMPLE</a>,</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;</div><div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a26ee6f4132972f3880a16bf01faf5886"> 341</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a26ee6f4132972f3880a16bf01faf5886">ASSIGN_MIN_VALUE</a>,</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a6cc67468f22769f3bdfe3032b760b8c0"> 344</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a6cc67468f22769f3bdfe3032b760b8c0">ASSIGN_MAX_VALUE</a>,</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;</div><div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a56859813749c27c6c20f8cdfec9eb9c2"> 347</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a56859813749c27c6c20f8cdfec9eb9c2">ASSIGN_RANDOM_VALUE</a>,</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;</div><div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a18c9277012e856da1bf8fcdbe79b2173"> 352</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a18c9277012e856da1bf8fcdbe79b2173">ASSIGN_CENTER_VALUE</a>,</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160;</div><div class="line"><a name="l00356"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a93badf6566533c41a1faed525dcdee25"> 356</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a93badf6566533c41a1faed525dcdee25">SPLIT_LOWER_HALF</a>,</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;</div><div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a209a2e91e3d39a3a1e7f044fb3d5be45"> 360</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a209a2e91e3d39a3a1e7f044fb3d5be45">SPLIT_UPPER_HALF</a>,</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; };</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160;</div><div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a8b1044e7c2b76345532f848a982a7106"> 373</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classoperations__research_1_1Solver.html#a8b1044e7c2b76345532f848a982a7106">EvaluatorStrategy</a> {</div><div class="line"><a name="l00378"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a8b1044e7c2b76345532f848a982a7106a3850e163a7085a9d2cf0109439baaff1"> 378</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a8b1044e7c2b76345532f848a982a7106a3850e163a7085a9d2cf0109439baaff1">CHOOSE_STATIC_GLOBAL_BEST</a>,</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;</div><div class="line"><a name="l00384"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a8b1044e7c2b76345532f848a982a7106aaa934f8cfd42ebeefbcae15dcadf07c0"> 384</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a8b1044e7c2b76345532f848a982a7106aaa934f8cfd42ebeefbcae15dcadf07c0">CHOOSE_DYNAMIC_GLOBAL_BEST</a>,</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; };</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;</div><div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482b"> 388</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482b">SequenceStrategy</a> {</div><div class="line"><a name="l00389"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482baebe21dd4bbeb40285e8ea719f8ea3d0f"> 389</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482baebe21dd4bbeb40285e8ea719f8ea3d0f">SEQUENCE_DEFAULT</a>,</div><div class="line"><a name="l00390"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482ba31e588f8460ab3ec92a69f0d9aff4239"> 390</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482ba31e588f8460ab3ec92a69f0d9aff4239">SEQUENCE_SIMPLE</a>,</div><div class="line"><a name="l00391"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482ba56d44a3dd83eb1a8b0c8f6645bbe68d7"> 391</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482ba56d44a3dd83eb1a8b0c8f6645bbe68d7">CHOOSE_MIN_SLACK_RANK_FORWARD</a>,</div><div class="line"><a name="l00392"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482bae46a3641c46e09a29875fe4067773615"> 392</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482bae46a3641c46e09a29875fe4067773615">CHOOSE_RANDOM_RANK_FORWARD</a>,</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; };</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160;</div><div class="line"><a name="l00397"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952f"> 397</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952f">IntervalStrategy</a> {</div><div class="line"><a name="l00399"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952faeca7ad9e63f49cd929edb90dbc7f5bb3"> 399</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952faeca7ad9e63f49cd929edb90dbc7f5bb3">INTERVAL_DEFAULT</a>,</div><div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952fa1bcb9f646cc7d33aa1278c661e40ed6c"> 401</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952fa1bcb9f646cc7d33aa1278c661e40ed6c">INTERVAL_SIMPLE</a>,</div><div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952fa093ec3f2fbd36daf12e6b7d96525bc92"> 404</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952fa093ec3f2fbd36daf12e6b7d96525bc92">INTERVAL_SET_TIMES_FORWARD</a>,</div><div class="line"><a name="l00407"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952fa34bde74f005a07be4c7598cd4e810831"> 407</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952fa34bde74f005a07be4c7598cd4e810831">INTERVAL_SET_TIMES_BACKWARD</a></div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; };</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;</div><div class="line"><a name="l00412"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18"> 412</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18">LocalSearchOperators</a> {</div><div class="line"><a name="l00422"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a6235329fc45bc5a7612cc84342b2528e"> 422</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a6235329fc45bc5a7612cc84342b2528e">TWOOPT</a>,</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;</div><div class="line"><a name="l00438"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a9bbd3bcce8e7d9e4a6901cce828e8704"> 438</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a9bbd3bcce8e7d9e4a6901cce828e8704">OROPT</a>,</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;</div><div class="line"><a name="l00441"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a2893291ad956ff115a7a331f512cd4a3"> 441</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a2893291ad956ff115a7a331f512cd4a3">RELOCATE</a>,</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;</div><div class="line"><a name="l00450"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a1c5d6c437384057c9b472a5081800462"> 450</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a1c5d6c437384057c9b472a5081800462">EXCHANGE</a>,</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160;</div><div class="line"><a name="l00461"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18ad699bdf1731bd839b56c299536ba1d9d"> 461</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18ad699bdf1731bd839b56c299536ba1d9d">CROSS</a>,</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160;</div><div class="line"><a name="l00469"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18ab0af70328b3e18dfb0008306fccef2de"> 469</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18ab0af70328b3e18dfb0008306fccef2de">MAKEACTIVE</a>,</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;</div><div class="line"><a name="l00476"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a2270aed8867e84e996306402cfa4f5d5"> 476</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a2270aed8867e84e996306402cfa4f5d5">MAKEINACTIVE</a>,</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;</div><div class="line"><a name="l00484"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a60b0c4db87e990aa84b63ba1990aa41e"> 484</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a60b0c4db87e990aa84b63ba1990aa41e">MAKECHAININACTIVE</a>,</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160;</div><div class="line"><a name="l00491"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a37a8c9623d7eaef96c74865483fe8e8b"> 491</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a37a8c9623d7eaef96c74865483fe8e8b">SWAPACTIVE</a>,</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;</div><div class="line"><a name="l00503"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a952b4c317733a065c74841dc00fe8bd9"> 503</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a952b4c317733a065c74841dc00fe8bd9">EXTENDEDSWAPACTIVE</a>,</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160;</div><div class="line"><a name="l00512"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a9ea125a691a8fb716dc09ac09db7c4f3"> 512</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a9ea125a691a8fb716dc09ac09db7c4f3">PATHLNS</a>,</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;</div><div class="line"><a name="l00516"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a935985d0022c026978eace7ff7cd5f7a"> 516</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a935985d0022c026978eace7ff7cd5f7a">FULLPATHLNS</a>,</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160;</div><div class="line"><a name="l00521"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a9fe88872d52e4a1fead358f9f6b57408"> 521</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a9fe88872d52e4a1fead358f9f6b57408">UNACTIVELNS</a>,</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160;</div><div class="line"><a name="l00531"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a5d249e853c4031947f979fe903390dfb"> 531</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a5d249e853c4031947f979fe903390dfb">INCREMENT</a>,</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160;</div><div class="line"><a name="l00536"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18acd27a3a13d233019cec19a2423d65a84"> 536</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18acd27a3a13d233019cec19a2423d65a84">DECREMENT</a>,</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160;</div><div class="line"><a name="l00545"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a4741235246c97963a5a5316382888a58"> 545</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a4741235246c97963a5a5316382888a58">SIMPLELNS</a></div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; };</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160;</div><div class="line"><a name="l00550"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4"> 550</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classoperations__research_1_1Solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4">EvaluatorLocalSearchOperators</a> {</div><div class="line"><a name="l00555"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4a2e646463fe193258a090a50ba806fd6e"> 555</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4a2e646463fe193258a090a50ba806fd6e">LK</a>,</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160;</div><div class="line"><a name="l00563"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4a092684b466c2d8f6dffcc4fcc45a4c87"> 563</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4a092684b466c2d8f6dffcc4fcc45a4c87">TSPOPT</a>,</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;</div><div class="line"><a name="l00571"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4af23b5d9059cb973667272b793cfd37b1"> 571</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4af23b5d9059cb973667272b793cfd37b1">TSPLNS</a></div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; };</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160;</div><div class="line"><a name="l00578"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#afd2d924f019d44bc99930a1e931a735f"> 578</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classoperations__research_1_1Solver.html#afd2d924f019d44bc99930a1e931a735f">LocalSearchFilterBound</a> {</div><div class="line"><a name="l00580"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#afd2d924f019d44bc99930a1e931a735fa558711b4a2a25070b970d85f5926d5ce"> 580</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#afd2d924f019d44bc99930a1e931a735fa558711b4a2a25070b970d85f5926d5ce">GE</a>,</div><div class="line"><a name="l00582"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#afd2d924f019d44bc99930a1e931a735fa662ed4b51721a45f07d645d4ca099a61"> 582</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#afd2d924f019d44bc99930a1e931a735fa662ed4b51721a45f07d645d4ca099a61">LE</a>,</div><div class="line"><a name="l00585"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#afd2d924f019d44bc99930a1e931a735fa9efdc855f3c1477957fb50affec07f8f"> 585</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#afd2d924f019d44bc99930a1e931a735fa9efdc855f3c1477957fb50affec07f8f">EQ</a></div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; };</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160;</div><div class="line"><a name="l00591"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7"> 591</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7">DemonPriority</a> {</div><div class="line"><a name="l00594"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7ad38fb80cf0d5468a2b5efdb0f4cd6068"> 594</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7ad38fb80cf0d5468a2b5efdb0f4cd6068">DELAYED_PRIORITY</a> = 0,</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160;</div><div class="line"><a name="l00597"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7a29446873dacaf3696a89dfb1e617a5f5"> 597</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7a29446873dacaf3696a89dfb1e617a5f5">VAR_PRIORITY</a> = 1,</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160;</div><div class="line"><a name="l00600"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7ae3e3c3d5bc2f8ac679a0b7e92b3d51d4"> 600</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7ae3e3c3d5bc2f8ac679a0b7e92b3d51d4">NORMAL_PRIORITY</a> = 2,</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; };</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160;</div><div class="line"><a name="l00605"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3ee"> 605</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3ee">BinaryIntervalRelation</a> {</div><div class="line"><a name="l00607"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea29cfeeb371c7d823879651fcc292b506"> 607</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea29cfeeb371c7d823879651fcc292b506">ENDS_AFTER_END</a>,</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160;</div><div class="line"><a name="l00610"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea2cd72254b0dd1dda48ed752e83ee9134"> 610</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea2cd72254b0dd1dda48ed752e83ee9134">ENDS_AFTER_START</a>,</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160;</div><div class="line"><a name="l00613"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea61a202b9f100a27fb46a01bb6df0d204"> 613</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea61a202b9f100a27fb46a01bb6df0d204">ENDS_AT_END</a>,</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160;</div><div class="line"><a name="l00616"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea88697fd0942f9936f586e4b207b79c43"> 616</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea88697fd0942f9936f586e4b207b79c43">ENDS_AT_START</a>,</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160;</div><div class="line"><a name="l00619"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea8b5fc701937b54e1a8e1a20217d6ecc8"> 619</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea8b5fc701937b54e1a8e1a20217d6ecc8">STARTS_AFTER_END</a>,</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160;</div><div class="line"><a name="l00622"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eead3be31fc0d8d6b4b1b6cc9d4c7d56b6d"> 622</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eead3be31fc0d8d6b4b1b6cc9d4c7d56b6d">STARTS_AFTER_START</a>,</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160;</div><div class="line"><a name="l00625"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea84f5967fcb10aab5eca121b2c2c49962"> 625</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea84f5967fcb10aab5eca121b2c2c49962">STARTS_AT_END</a>,</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160;</div><div class="line"><a name="l00628"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eead67d355a596ac71eee986c09b95fc7a7"> 628</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eead67d355a596ac71eee986c09b95fc7a7">STARTS_AT_START</a>,</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160;</div><div class="line"><a name="l00633"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea455236af8bc26bb8737135982eaf82ec"> 633</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea455236af8bc26bb8737135982eaf82ec">STAYS_IN_SYNC</a></div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; };</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160;</div><div class="line"><a name="l00638"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9"> 638</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9">UnaryIntervalRelation</a> {</div><div class="line"><a name="l00640"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a72251c14868838649397bde6418180b1"> 640</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a72251c14868838649397bde6418180b1">ENDS_AFTER</a>,</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160;</div><div class="line"><a name="l00643"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a98ab67334c0eb09294e4b45c0b9bf0e6"> 643</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a98ab67334c0eb09294e4b45c0b9bf0e6">ENDS_AT</a>,</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160;</div><div class="line"><a name="l00646"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a308666e688531b5c046acba00818b430"> 646</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a308666e688531b5c046acba00818b430">ENDS_BEFORE</a>,</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160;</div><div class="line"><a name="l00649"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9aa274cc3721a080e1da5a802d08ec3020"> 649</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9aa274cc3721a080e1da5a802d08ec3020">STARTS_AFTER</a>,</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160;</div><div class="line"><a name="l00652"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a891299d49e4d9260e2e3e616a46315ac"> 652</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a891299d49e4d9260e2e3e616a46315ac">STARTS_AT</a>,</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160;</div><div class="line"><a name="l00655"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a8599203b59bbc2a25250b38cdca05131"> 655</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a8599203b59bbc2a25250b38cdca05131">STARTS_BEFORE</a>,</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160;</div><div class="line"><a name="l00660"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9ad7aa7196294c28c75de78687f43297a9"> 660</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9ad7aa7196294c28c75de78687f43297a9">CROSS_DATE</a>,</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160;</div><div class="line"><a name="l00665"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a59a769807fd4d1f4a9bab3dcbe120cd4"> 665</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a59a769807fd4d1f4a9bab3dcbe120cd4">AVOID_DATE</a></div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; };</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160;</div><div class="line"><a name="l00673"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42"> 673</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42">DecisionModification</a> {</div><div class="line"><a name="l00676"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42a7fb0c1cca10ff57ae7aa3878ba530fbd"> 676</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42a7fb0c1cca10ff57ae7aa3878ba530fbd">NO_CHANGE</a>,</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160;</div><div class="line"><a name="l00681"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42aada39bb20e37e40f59106944e788ba5f"> 681</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42aada39bb20e37e40f59106944e788ba5f">KEEP_LEFT</a>,</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160;</div><div class="line"><a name="l00686"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42a88616f3dde57f98df3022d5038d932d5"> 686</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42a88616f3dde57f98df3022d5038d932d5">KEEP_RIGHT</a>,</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160;</div><div class="line"><a name="l00690"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42ac43e64ba97da5ab5a9a8a04e3ed17f5f"> 690</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42ac43e64ba97da5ab5a9a8a04e3ed17f5f">KILL_BOTH</a>,</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160;</div><div class="line"><a name="l00694"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42a86c6abc5840755b64f8f2a49f3f6b998"> 694</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42a86c6abc5840755b64f8f2a49f3f6b998">SWITCH_BRANCHES</a></div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; };</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160;</div><div class="line"><a name="l00699"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ade22213fff69cfb37d8238e8fd3073dfa130783c98d7f7c30575fedebbd7e66f7"> 699</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classoperations__research_1_1Solver.html#ade22213fff69cfb37d8238e8fd3073df">MarkerType</a> { <a class="code" href="classoperations__research_1_1Solver.html#ade22213fff69cfb37d8238e8fd3073dfa6239979890280856033280b690ebc218">SENTINEL</a>, <a class="code" href="classoperations__research_1_1Solver.html#ade22213fff69cfb37d8238e8fd3073dfa130783c98d7f7c30575fedebbd7e66f7">SIMPLE_MARKER</a>, <a class="code" href="classoperations__research_1_1Solver.html#ade22213fff69cfb37d8238e8fd3073dfa0232b3ece732fa7e71171f78888cea50">CHOICE_POINT</a>, <a class="code" href="classoperations__research_1_1Solver.html#ade22213fff69cfb37d8238e8fd3073dfaddfacd8981a3f651982bf9a0c82f0995">REVERSIBLE_ACTION</a> };</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160;</div><div class="line"><a name="l00702"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63"> 702</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63">SolverState</a> {</div><div class="line"><a name="l00704"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63a7d249934db0928e26d2f3b6944be88ea"> 704</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63a7d249934db0928e26d2f3b6944be88ea">OUTSIDE_SEARCH</a>,</div><div class="line"><a name="l00706"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63aa56e94e3036709f508e8e2e59723a351"> 706</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63aa56e94e3036709f508e8e2e59723a351">IN_ROOT_NODE</a>,</div><div class="line"><a name="l00708"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63adf2a840a07b929c95099a490d2e4d013"> 708</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63adf2a840a07b929c95099a490d2e4d013">IN_SEARCH</a>,</div><div class="line"><a name="l00710"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63a6ee4694724cd35dac21d0f5db73c8650"> 710</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63a6ee4694724cd35dac21d0f5db73c8650">AT_SOLUTION</a>,</div><div class="line"><a name="l00712"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63add25344bb7ad4909b32071d980355ca5"> 712</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63add25344bb7ad4909b32071d980355ca5">NO_MORE_SOLUTIONS</a>,</div><div class="line"><a name="l00714"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63a7972193a63e28794798706309ffa1a13"> 714</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63a7972193a63e28794798706309ffa1a13">PROBLEM_INFEASIBLE</a></div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; };</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160;</div><div class="line"><a name="l00718"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a39a89fa3de66d68071c66a936f17fd2b"> 718</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classoperations__research_1_1Solver.html#a39a89fa3de66d68071c66a936f17fd2b">OptimizationDirection</a> { <a class="code" href="classoperations__research_1_1Solver.html#a39a89fa3de66d68071c66a936f17fd2ba759c34a99344306429e887634b2d688e">NOT_SET</a>, <a class="code" href="classoperations__research_1_1Solver.html#a39a89fa3de66d68071c66a936f17fd2ba20ee926b0aa645b0e3badb5d5171d6e1">MAXIMIZATION</a>, <a class="code" href="classoperations__research_1_1Solver.html#a39a89fa3de66d68071c66a936f17fd2ba34d4bc092ef084ef376537320f95bc13">MINIMIZATION</a> };</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160;</div><div class="line"><a name="l00721"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#aa9726f5458b77973475a32178fe512b3"> 721</a></span>&#160; <span class="keyword">typedef</span> std::function&lt;int64(int64)&gt; <a class="code" href="classoperations__research_1_1Solver.html#aa9726f5458b77973475a32178fe512b3">IndexEvaluator1</a>;</div><div class="line"><a name="l00722"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321"> 722</a></span>&#160; <span class="keyword">typedef</span> std::function&lt;int64(int64, int64)&gt; <a class="code" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a>;</div><div class="line"><a name="l00723"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a86570ad216b68c88de1ef27085e3d084"> 723</a></span>&#160; <span class="keyword">typedef</span> std::function&lt;int64(int64, int64, int64)&gt; <a class="code" href="classoperations__research_1_1Solver.html#a86570ad216b68c88de1ef27085e3d084">IndexEvaluator3</a>;</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160;</div><div class="line"><a name="l00725"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a021ae5a2766d4ccaa133a5bbb5398464"> 725</a></span>&#160; <span class="keyword">typedef</span> std::function&lt;bool(int64)&gt; <a class="code" href="classoperations__research_1_1Solver.html#a021ae5a2766d4ccaa133a5bbb5398464">IndexFilter1</a>;</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160;</div><div class="line"><a name="l00727"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#adbfd1fe2611bc7b45421ae81d66d7444"> 727</a></span>&#160; <span class="keyword">typedef</span> std::function&lt;<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>*(int64)&gt; <a class="code" href="classoperations__research_1_1Solver.html#adbfd1fe2611bc7b45421ae81d66d7444">Int64ToIntVar</a>;</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160;</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <span class="keyword">typedef</span> std::function&lt;int64(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* solver, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; int64 first_unbound, int64 last_unbound)&gt;</div><div class="line"><a name="l00731"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ad033e75848b4956d869473cbabd949ad"> 731</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ad033e75848b4956d869473cbabd949ad">VariableIndexSelector</a>;</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160;</div><div class="line"><a name="l00733"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ae69f986ba3ecb59d0c4fbc48ae76fa34"> 733</a></span>&#160; <span class="keyword">typedef</span> std::function&lt;int64(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* v, int64 <span class="keywordtype">id</span>)&gt; <a class="code" href="classoperations__research_1_1Solver.html#ae69f986ba3ecb59d0c4fbc48ae76fa34">VariableValueSelector</a>;</div><div class="line"><a name="l00734"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a3094f1982f455fd97342c64b7c0b3ccf"> 734</a></span>&#160; <span class="keyword">typedef</span> std::function&lt;bool(int64, int64, int64)&gt; <a class="code" href="classoperations__research_1_1Solver.html#a3094f1982f455fd97342c64b7c0b3ccf">VariableValueComparator</a>;</div><div class="line"><a name="l00735"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ae57bc6f29c7b4343cb90aa1946ce1869"> 735</a></span>&#160; <span class="keyword">typedef</span> std::function&lt;<a class="code" href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42">DecisionModification</a>()&gt; <a class="code" href="classoperations__research_1_1Solver.html#ae57bc6f29c7b4343cb90aa1946ce1869">BranchSelector</a>;</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; <span class="comment">// TODO(user): wrap in swig.</span></div><div class="line"><a name="l00737"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b"> 737</a></span>&#160; <span class="keyword">typedef</span> std::function&lt;void(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>*)&gt; <a class="code" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Action</a>;</div><div class="line"><a name="l00738"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ad4c4d0d62a6d65debcff4437948435a1"> 738</a></span>&#160; <span class="keyword">typedef</span> std::function&lt;void()&gt; <a class="code" href="classoperations__research_1_1Solver.html#ad4c4d0d62a6d65debcff4437948435a1">Closure</a>;</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160;</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classoperations__research_1_1Solver.html#abac10873a1af49f1dce33a34f3afaa56">Solver</a>(<span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#abac10873a1af49f1dce33a34f3afaa56">Solver</a>(<span class="keyword">const</span> std::string&amp; name, <span class="keyword">const</span> ConstraintSolverParameters&amp; <a class="code" href="classoperations__research_1_1Solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a>);</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#af2496fe19ff323bd292f75b4f6db640d">~Solver</a>();</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160;</div><div class="line"><a name="l00746"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a2a0b93a70f0d588f157ade7909c42eff"> 746</a></span>&#160; ConstraintSolverParameters <a class="code" href="classoperations__research_1_1Solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> parameters_; }</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <span class="comment">// TODO(user): Move to constraint_solver_parameters.h.</span></div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <span class="keyword">static</span> ConstraintSolverParameters <a class="code" href="classoperations__research_1_1Solver.html#a832486e7bf6410f8986237876356f447">DefaultSolverParameters</a>();</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160;</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160;</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div><div class="line"><a name="l00757"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a0544697ab645219c7ed34fd2c19e5033"> 757</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a0544697ab645219c7ed34fd2c19e5033">SaveValue</a>(T* o) {</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; InternalSaveValue(o);</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; }</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160;</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00774"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab741cb25dd32d1cbe02fbfb36337d9bb"> 774</a></span>&#160; T* <a class="code" href="classoperations__research_1_1Solver.html#ab741cb25dd32d1cbe02fbfb36337d9bb">RevAlloc</a>(T* <span class="keywordtype">object</span>) {</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <span class="keywordflow">return</span> reinterpret_cast&lt;T*&gt;(SafeRevAlloc(<span class="keywordtype">object</span>));</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; }</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160;</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00785"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ac87467b3998f36ab28b7cad51fe16a68"> 785</a></span>&#160; T* <a class="code" href="classoperations__research_1_1Solver.html#ac87467b3998f36ab28b7cad51fe16a68">RevAllocArray</a>(T* <span class="keywordtype">object</span>) {</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; <span class="keywordflow">return</span> reinterpret_cast&lt;T*&gt;(SafeRevAllocArray(<span class="keywordtype">object</span>));</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; }</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160;</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a5931080c9bfda8dedfef0e3adf313ab3">AddConstraint</a>(<a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <span class="keyword">const</span> c);</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#ae2d27e0db523a7b883fe8bd2f40e9968">AddCastConstraint</a>(<a class="code" href="classoperations__research_1_1CastConstraint.html">CastConstraint</a>* <span class="keyword">const</span> constraint,</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> target_var, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr);</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160;</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Solver.html#a946780dfafc8faa3dd2d345850213be5">Solve</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; <span class="keyword">const</span> std::vector&lt;SearchMonitor*&gt;&amp; monitors);</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Solver.html#a946780dfafc8faa3dd2d345850213be5">Solve</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db);</div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Solver.html#a946780dfafc8faa3dd2d345850213be5">Solve</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db, <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m1);</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Solver.html#a946780dfafc8faa3dd2d345850213be5">Solve</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db, <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m1,</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m2);</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Solver.html#a946780dfafc8faa3dd2d345850213be5">Solve</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db, <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m1,</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m2, <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m3);</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Solver.html#a946780dfafc8faa3dd2d345850213be5">Solve</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db, <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m1,</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m2, <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m3,</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m4);</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160;</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160;</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#af71de254f80c10584696d5285aca5183">NewSearch</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; <span class="keyword">const</span> std::vector&lt;SearchMonitor*&gt;&amp; monitors);</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#af71de254f80c10584696d5285aca5183">NewSearch</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db);</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#af71de254f80c10584696d5285aca5183">NewSearch</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db, <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m1);</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#af71de254f80c10584696d5285aca5183">NewSearch</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db, <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m1,</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m2);</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#af71de254f80c10584696d5285aca5183">NewSearch</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db, <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m1,</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m2, <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m3);</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#af71de254f80c10584696d5285aca5183">NewSearch</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db, <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m1,</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m2, <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m3,</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m4);</div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160;</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Solver.html#ab9b8c3ea993ee19fd9cb68fb3240e09f">NextSolution</a>();</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a0f660e8597c620b46aa963ed7f07c4d7">RestartSearch</a>();</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a3216144f5779ad0022bd7a0421c858d7">EndSearch</a>();</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160;</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Solver.html#a1974d638ba45f2a66ae864e96b766131">SolveAndCommit</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; <span class="keyword">const</span> std::vector&lt;SearchMonitor*&gt;&amp; monitors);</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Solver.html#a1974d638ba45f2a66ae864e96b766131">SolveAndCommit</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db);</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Solver.html#a1974d638ba45f2a66ae864e96b766131">SolveAndCommit</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db, <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m1);</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Solver.html#a1974d638ba45f2a66ae864e96b766131">SolveAndCommit</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db, <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m1,</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m2);</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Solver.html#a1974d638ba45f2a66ae864e96b766131">SolveAndCommit</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db, <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m1,</div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m2, <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> m3);</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160;</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Solver.html#a31b6ef7bff363d68d03eda8c9668e3e0">CheckAssignment</a>(<a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* <span class="keyword">const</span> solution);</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160;</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Solver.html#a483098cee8f04c87368cd05674dda9df">CheckConstraint</a>(<a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <span class="keyword">const</span> ct);</div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160;</div><div class="line"><a name="l00935"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a0094fe4296645dbe40d2c5377772e6eb"> 935</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63">SolverState</a> <a class="code" href="classoperations__research_1_1Solver.html#a0094fe4296645dbe40d2c5377772e6eb">state</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> state_; }</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160;</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#aeb92d4addb41255c9732cacfcb54f795">Fail</a>();</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160;</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#aae6945c57651cb226561a0ef988a02ac">AddBacktrackAction</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Action</a> a, <span class="keywordtype">bool</span> fast);</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160;<span class="preprocessor">#endif </span></div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160;<span class="preprocessor"></span></div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; std::string <a class="code" href="classoperations__research_1_1Solver.html#a764be64f3029f8b8e23511061d8de355">DebugString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160;</div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; <span class="keyword">static</span> int64 <a class="code" href="classoperations__research_1_1Solver.html#aa2de975afc21df8ba84dcbb5de94cd38">MemoryUsage</a>();</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160;</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; absl::Time <a class="code" href="classoperations__research_1_1Solver.html#a372a74e1d5fc647d81a043b81075422d">Now</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160;</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; int64 <a class="code" href="classoperations__research_1_1Solver.html#a80533bb150275c3c1c46e7ee3f31a822">wall_time</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160;</div><div class="line"><a name="l00965"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ad01c3a2fbfb388d917899ad983415d02"> 965</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1Solver.html#ad01c3a2fbfb388d917899ad983415d02">branches</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> branches_; }</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160;</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160; int64 <a class="code" href="classoperations__research_1_1Solver.html#a23ac09a78dbd8b39b2f63e9981947788">solutions</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160;</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; int64 <a class="code" href="classoperations__research_1_1Solver.html#ac8c18ef3936527c99953d5e767697f2c">unchecked_solutions</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160;</div><div class="line"><a name="l00974"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a2fcb72958195336902eeca6bad65b001"> 974</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1Solver.html#a2fcb72958195336902eeca6bad65b001">demon_runs</a>(<a class="code" href="classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7">DemonPriority</a> p)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> demon_runs_[p]; }</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160;</div><div class="line"><a name="l00977"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a2b05840b09f4ab5632470987f01e11e1"> 977</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1Solver.html#a2b05840b09f4ab5632470987f01e11e1">failures</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> fails_; }</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160;</div><div class="line"><a name="l00980"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a8dad51ecad4cc1aa2ff3fb0d0e3adfd6"> 980</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1Solver.html#a8dad51ecad4cc1aa2ff3fb0d0e3adfd6">neighbors</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> neighbors_; }</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160;</div><div class="line"><a name="l00983"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#aa94a5c3decf35c8ba0ebdec210bc38e6"> 983</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1Solver.html#aa94a5c3decf35c8ba0ebdec210bc38e6">filtered_neighbors</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> filtered_neighbors_; }</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160;</div><div class="line"><a name="l00986"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a85b32a82ff9c91dd572222116e4a0adb"> 986</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1Solver.html#a85b32a82ff9c91dd572222116e4a0adb">accepted_neighbors</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> accepted_neighbors_; }</div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160;</div><div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160; uint64 <a class="code" href="classoperations__research_1_1Solver.html#ad1600fac3a55a9ab4d7b5750b19fb6a1">stamp</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160;</div><div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160; uint64 <a class="code" href="classoperations__research_1_1Solver.html#a40535e03b19c64388d1893883289fec5">fail_stamp</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160;</div><div class="line"><a name="l00996"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#affa6c6c872b17ceee95a3cd7f24f6848"> 996</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a39a89fa3de66d68071c66a936f17fd2b">OptimizationDirection</a> <a class="code" href="classoperations__research_1_1Solver.html#affa6c6c872b17ceee95a3cd7f24f6848">optimization_direction</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160; <span class="keywordflow">return</span> optimization_direction_;</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; }</div><div class="line"><a name="l00999"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a8bff6cc5ae227e109c6765b4c6809eb3"> 999</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a8bff6cc5ae227e109c6765b4c6809eb3">set_optimization_direction</a>(<a class="code" href="classoperations__research_1_1Solver.html#a39a89fa3de66d68071c66a936f17fd2b">OptimizationDirection</a> direction) {</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; optimization_direction_ = direction;</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160; }</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160; <span class="comment">// All factories (MakeXXX methods) encapsulate creation of objects</span></div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160; <span class="comment">// through RevAlloc(). Hence, the Solver used for allocating the</span></div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160; <span class="comment">// returned object will retain ownership of the allocated memory.</span></div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160; <span class="comment">// Destructors are called upon backtrack, or when the Solver is</span></div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160; <span class="comment">// itself destructed.</span></div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160; <span class="comment">// ----- Int Variables and Constants -----</span></div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#ad9496d193007a5bd9ec07aeb652849ce">MakeIntVar</a>(int64 min, int64 max, <span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#ad9496d193007a5bd9ec07aeb652849ce">MakeIntVar</a>(<span class="keyword">const</span> std::vector&lt;int64&gt;&amp; values, <span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#ad9496d193007a5bd9ec07aeb652849ce">MakeIntVar</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; values, <span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#ad9496d193007a5bd9ec07aeb652849ce">MakeIntVar</a>(int64 min, int64 max);</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;</div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#ad9496d193007a5bd9ec07aeb652849ce">MakeIntVar</a>(<span class="keyword">const</span> std::vector&lt;int64&gt;&amp; values);</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#ad9496d193007a5bd9ec07aeb652849ce">MakeIntVar</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; values);</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#a1ea5058539db59baa42729c76279c818">MakeBoolVar</a>(<span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#a1ea5058539db59baa42729c76279c818">MakeBoolVar</a>();</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#a3460e6ccb606b0169c9ad76e7eeffa35">MakeIntConst</a>(int64 val, <span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#a3460e6ccb606b0169c9ad76e7eeffa35">MakeIntConst</a>(int64 val);</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a9d344e39533044ecf046177a9bf3e6ca">MakeIntVarArray</a>(<span class="keywordtype">int</span> var_count, int64 vmin, int64 vmax,</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; <span class="keyword">const</span> std::string&amp; name, std::vector&lt;IntVar*&gt;* vars);</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a9d344e39533044ecf046177a9bf3e6ca">MakeIntVarArray</a>(<span class="keywordtype">int</span> var_count, int64 vmin, int64 vmax,</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160; std::vector&lt;IntVar*&gt;* vars);</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>** <a class="code" href="classoperations__research_1_1Solver.html#a9d344e39533044ecf046177a9bf3e6ca">MakeIntVarArray</a>(<span class="keywordtype">int</span> var_count, int64 vmin, int64 vmax,</div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160; <span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160;</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a0c5082a7f40da167784ea364c9797d0e">MakeBoolVarArray</a>(<span class="keywordtype">int</span> var_count, <span class="keyword">const</span> std::string&amp; name,</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160; std::vector&lt;IntVar*&gt;* vars);</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a0c5082a7f40da167784ea364c9797d0e">MakeBoolVarArray</a>(<span class="keywordtype">int</span> var_count, std::vector&lt;IntVar*&gt;* vars);</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>** <a class="code" href="classoperations__research_1_1Solver.html#a0c5082a7f40da167784ea364c9797d0e">MakeBoolVarArray</a>(<span class="keywordtype">int</span> var_count, <span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160; <span class="comment">// ----- Integer Expressions -----</span></div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#a809377fb3a691832a21e2238176eee22">MakeSum</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> right);</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#a809377fb3a691832a21e2238176eee22">MakeSum</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64 value);</div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#a809377fb3a691832a21e2238176eee22">MakeSum</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars);</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#a5284fa0004efcf8f14b754321c3654be">MakeScalProd</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; coefs);</div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#a5284fa0004efcf8f14b754321c3654be">MakeScalProd</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; coefs);</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160;</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#a2f43ed2dbfc7d95d64daed57e63b7116">MakeDifference</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> right);</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#a2f43ed2dbfc7d95d64daed57e63b7116">MakeDifference</a>(int64 value, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr);</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#a40446046d1ff173e05d655060ec779bf">MakeOpposite</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr);</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#aa71ea25e3db7fe753ae645e8bf684a4a">MakeProd</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> right);</div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#aa71ea25e3db7fe753ae645e8bf684a4a">MakeProd</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64 value);</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160;</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#a88c31ba6cd44dfb21b55a7a358dcd7c9">MakeDiv</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64 value);</div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#a88c31ba6cd44dfb21b55a7a358dcd7c9">MakeDiv</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> numerator, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> denominator);</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#adc99b7de0dcf9a190231ace8d5ec7069">MakeAbs</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr);</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#af09496381705b96f173de522f962e7cb">MakeSquare</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr);</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#a8c0ef869ae99b24a6f183b008f540824">MakePower</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64 n);</div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160;</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#aa0cf6d9172e0a47f031afb1b8da69991">MakeElement</a>(<span class="keyword">const</span> std::vector&lt;int64&gt;&amp; values, <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> index);</div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#aa0cf6d9172e0a47f031afb1b8da69991">MakeElement</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; values, <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> index);</div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;</div><div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#aa0cf6d9172e0a47f031afb1b8da69991">MakeElement</a>(<a class="code" href="classoperations__research_1_1Solver.html#aa9726f5458b77973475a32178fe512b3">IndexEvaluator1</a> values, <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> index);</div><div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#aae3fab31ddeb07a8a64540a8d5d7ad62">MakeMonotonicElement</a>(<a class="code" href="classoperations__research_1_1Solver.html#aa9726f5458b77973475a32178fe512b3">IndexEvaluator1</a> values, <span class="keywordtype">bool</span> increasing,</div><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> index);</div><div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#aa0cf6d9172e0a47f031afb1b8da69991">MakeElement</a>(<a class="code" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> values, <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> index1,</div><div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> index2);</div><div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;</div><div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#aa0cf6d9172e0a47f031afb1b8da69991">MakeElement</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> index);</div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;</div><div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#aa0cf6d9172e0a47f031afb1b8da69991">MakeElement</a>(<a class="code" href="classoperations__research_1_1Solver.html#adbfd1fe2611bc7b45421ae81d66d7444">Int64ToIntVar</a> vars, int64 range_start, int64 range_end,</div><div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* argument);</div><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160;<span class="preprocessor">#endif // SWIG</span></div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;</div><div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#acfff199ef20c8b77895c1fecfe8ee36f">MakeIndexExpression</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, int64 value);</div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160;</div><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a6c5db13a3c9f01de635962c1af57df16">MakeIfThenElseCt</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> condition,</div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> then_expr,</div><div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> else_expr,</div><div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> target_var);</div><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;</div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#a90f0d9c349f61a512a9edb2102966bdf">MakeMin</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars);</div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#a90f0d9c349f61a512a9edb2102966bdf">MakeMin</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> right);</div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#a90f0d9c349f61a512a9edb2102966bdf">MakeMin</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64 value);</div><div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#a90f0d9c349f61a512a9edb2102966bdf">MakeMin</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, <span class="keywordtype">int</span> value);</div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;</div><div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#ad5bbae67ad4ac2ade8a6472d6f90bc5d">MakeMax</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars);</div><div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#ad5bbae67ad4ac2ade8a6472d6f90bc5d">MakeMax</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> right);</div><div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#ad5bbae67ad4ac2ade8a6472d6f90bc5d">MakeMax</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64 value);</div><div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#ad5bbae67ad4ac2ade8a6472d6f90bc5d">MakeMax</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, <span class="keywordtype">int</span> value);</div><div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160;</div><div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#a3edf7cd0948242c6240cd31711211c94">MakeConvexPiecewiseExpr</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* expr, int64 early_cost,</div><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160; int64 early_date, int64 late_date,</div><div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160; int64 late_cost);</div><div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160;</div><div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#aa82a0b96404285c86a6cce9a020c3065">MakeSemiContinuousExpr</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64 fixed_charge,</div><div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160; int64 step);</div><div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160;</div><div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160; <span class="comment">// TODO(user): Investigate if we can merge all three piecewise linear</span></div><div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160;<span class="comment"></span><span class="preprocessor">#ifndef SWIG</span></div><div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#a671e783e6215b96ed5ccee3dda17db16">MakePiecewiseLinearExpr</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* expr,</div><div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160; <span class="keyword">const</span> PiecewiseLinearFunction&amp; f);</div><div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160;</div><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#a7a6734f4cb975ade6a8dc6e9d4db9f15">MakeModulo</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> x, int64 mod);</div><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160;</div><div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#a7a6734f4cb975ade6a8dc6e9d4db9f15">MakeModulo</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> x, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> mod);</div><div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160;</div><div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#a698649013d6cd453f4e513778ba84fa5">MakeConditionalExpression</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> condition,</div><div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr,</div><div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160; int64 unperformed_value);</div><div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160;</div><div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a4b9496f2fc2a29dad86b325b2b0ea0a5">MakeTrueConstraint</a>();</div><div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a3aa305ef1f0072ff4f640dc4ec8f4ad3">MakeFalseConstraint</a>();</div><div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a3aa305ef1f0072ff4f640dc4ec8f4ad3">MakeFalseConstraint</a>(<span class="keyword">const</span> std::string&amp; explanation);</div><div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160;</div><div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#adf7152dbf8582e5de9c83885e7ecadd5">MakeIsEqualCstCt</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> var, int64 value,</div><div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> boolvar);</div><div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#afdcf704eaf0713c9c35bcccc21bcb726">MakeIsEqualCstVar</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> var, int64 value);</div><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a852c6510b06f3634cce07fcab2074d78">MakeIsEqualCt</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> v1, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* v2, <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> b);</div><div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#adab4b92bb3b7d66d51b17ca2d7a1f68e">MakeIsEqualVar</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> v1, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* v2);</div><div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#ac8bad969ebcea86359a86752915c9e11">MakeEquality</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> right);</div><div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#ac8bad969ebcea86359a86752915c9e11">MakeEquality</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64 value);</div><div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#ac8bad969ebcea86359a86752915c9e11">MakeEquality</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, <span class="keywordtype">int</span> value);</div><div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>&#160;</div><div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#aefa55eaae7e957183e79ae036d0ad902">MakeIsDifferentCstCt</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> var, int64 value,</div><div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> boolvar);</div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#a004c38131b5aeba450d2ba766faed63b">MakeIsDifferentCstVar</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> var, int64 value);</div><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#aa0066dd51ec61b542bd7061cf3fd1219">MakeIsDifferentVar</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> v1, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> v2);</div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#ada017c11a57248871db8b1e8d39ca951">MakeIsDifferentCt</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> v1, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> v2,</div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> b);</div><div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a6aed1be9e6a24eede7ddb40b41a51e19">MakeNonEquality</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> right);</div><div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a6aed1be9e6a24eede7ddb40b41a51e19">MakeNonEquality</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64 value);</div><div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a6aed1be9e6a24eede7ddb40b41a51e19">MakeNonEquality</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, <span class="keywordtype">int</span> value);</div><div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160;</div><div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a42920c3456f59ca9e9c550e7aaf5bca9">MakeIsLessOrEqualCstCt</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> var, int64 value,</div><div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> boolvar);</div><div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#a7e93894fe0c69a7040796a6a191177ef">MakeIsLessOrEqualCstVar</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> var, int64 value);</div><div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#aef83f65871cc34facc56d6f15422cacd">MakeIsLessOrEqualVar</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> right);</div><div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a888c0760d8e2d589bea87e323838d4c8">MakeIsLessOrEqualCt</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> right,</div><div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> b);</div><div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#ac133c70c33f7154e8bacd9b967211466">MakeLessOrEqual</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> right);</div><div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#ac133c70c33f7154e8bacd9b967211466">MakeLessOrEqual</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64 value);</div><div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#ac133c70c33f7154e8bacd9b967211466">MakeLessOrEqual</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, <span class="keywordtype">int</span> value);</div><div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160;</div><div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a02eed572facb28b01242b67f57b98f0c">MakeIsGreaterOrEqualCstCt</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> var, int64 value,</div><div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> boolvar);</div><div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#a1c5114a34ac899d0cfea31d645989ccb">MakeIsGreaterOrEqualCstVar</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> var, int64 value);</div><div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#a0c4a2ee565dbcd3b8c64e7bfad9b68b2">MakeIsGreaterOrEqualVar</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> right);</div><div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#aceb03eaad3991683ceb53c9e11131145">MakeIsGreaterOrEqualCt</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> right,</div><div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> b);</div><div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a57ef889193c311a27a67bdbedb237c2d">MakeGreaterOrEqual</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> right);</div><div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a57ef889193c311a27a67bdbedb237c2d">MakeGreaterOrEqual</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64 value);</div><div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a57ef889193c311a27a67bdbedb237c2d">MakeGreaterOrEqual</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, <span class="keywordtype">int</span> value);</div><div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;</div><div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#aa069d7f4aba928747788749e10fdcf3a">MakeIsGreaterCstCt</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> v, int64 c, <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> b);</div><div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#ad50938c279197cacfb01ae140c22dd95">MakeIsGreaterCstVar</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> var, int64 value);</div><div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#a04b0421e51eab065705d96a08db6338d">MakeIsGreaterVar</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> right);</div><div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a0dd599c8ac5d44ecebb11b325caa2415">MakeIsGreaterCt</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> right,</div><div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> b);</div><div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#ac60a5b44cb52cdf752d4a629d70d288c">MakeGreater</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> right);</div><div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#ac60a5b44cb52cdf752d4a629d70d288c">MakeGreater</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64 value);</div><div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#ac60a5b44cb52cdf752d4a629d70d288c">MakeGreater</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, <span class="keywordtype">int</span> value);</div><div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160;</div><div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a4a3cb0b23fcbe58843ddd47725c298b9">MakeIsLessCstCt</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> v, int64 c, <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> b);</div><div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#a7989c72e13729c3a3d6f19162aaa4a3b">MakeIsLessCstVar</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> var, int64 value);</div><div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#a2d05f61c00462571d1cdeef8c36b85c8">MakeIsLessVar</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> right);</div><div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a5acde03412fe0930a4c3bca94980633f">MakeIsLessCt</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> right,</div><div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> b);</div><div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#afe93123f82bcede32f7ddfe4332a2853">MakeLess</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> left, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> right);</div><div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#afe93123f82bcede32f7ddfe4332a2853">MakeLess</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64 value);</div><div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#afe93123f82bcede32f7ddfe4332a2853">MakeLess</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, <span class="keywordtype">int</span> value);</div><div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160;</div><div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a6b6a1511d224ecab80cd9092039cdab4">MakeSumLessOrEqual</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, int64 cst);</div><div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a8e4b36f5874a40e36dcdf99c474555d1">MakeSumGreaterOrEqual</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160; int64 cst);</div><div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a6b56e4c66a5a1c9f198f176665a71c31">MakeSumEquality</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, int64 cst);</div><div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a6b56e4c66a5a1c9f198f176665a71c31">MakeSumEquality</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#afaf7a8e1a4d3570d580cd8137061d465">MakeScalProdEquality</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; coefficients,</div><div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160; int64 cst);</div><div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#afaf7a8e1a4d3570d580cd8137061d465">MakeScalProdEquality</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; coefficients,</div><div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160; int64 cst);</div><div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#afaf7a8e1a4d3570d580cd8137061d465">MakeScalProdEquality</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; coefficients,</div><div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> target);</div><div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#afaf7a8e1a4d3570d580cd8137061d465">MakeScalProdEquality</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; coefficients,</div><div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> target);</div><div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a9c2109e176dd548ba9e45f363e874bb7">MakeScalProdGreaterOrEqual</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; coeffs,</div><div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160; int64 cst);</div><div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a9c2109e176dd548ba9e45f363e874bb7">MakeScalProdGreaterOrEqual</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; coeffs,</div><div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160; int64 cst);</div><div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#abb926f9d7c8c956ceca4f847fef5602c">MakeScalProdLessOrEqual</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; coefficients,</div><div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160; int64 cst);</div><div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#abb926f9d7c8c956ceca4f847fef5602c">MakeScalProdLessOrEqual</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; coefficients,</div><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160; int64 cst);</div><div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160;</div><div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#ad82e435c546b317d3bd7ad97f6ffb128">MakeMinEquality</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> min_var);</div><div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#aa85ea2f18d279cee4727f179c354d924">MakeMaxEquality</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> max_var);</div><div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160;</div><div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a4254227d24caa66d4353bcd9949a5a91">MakeElementEquality</a>(<span class="keyword">const</span> std::vector&lt;int64&gt;&amp; vals,</div><div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> index, <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> target);</div><div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a4254227d24caa66d4353bcd9949a5a91">MakeElementEquality</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; vals,</div><div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> index, <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> target);</div><div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a4254227d24caa66d4353bcd9949a5a91">MakeElementEquality</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> index, <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> target);</div><div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a4254227d24caa66d4353bcd9949a5a91">MakeElementEquality</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> index, int64 target);</div><div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#ae855c07a5a02b9ef3dc1fa2fe68cbd83">MakeAbsEquality</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var, <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> abs_var);</div><div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a2f3990620efb4a31c3f156049bc885c7">MakeIndexOfConstraint</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> index, int64 target);</div><div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>&#160;</div><div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160; <a class="code" href="classoperations__research_1_1Demon.html">Demon</a>* <a class="code" href="classoperations__research_1_1Solver.html#a2988f1af9c016d45b196f55b47e99077">MakeConstraintInitialPropagateCallback</a>(<a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <span class="keyword">const</span> ct);</div><div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160; <a class="code" href="classoperations__research_1_1Demon.html">Demon</a>* <a class="code" href="classoperations__research_1_1Solver.html#a72e0afed9304479c5fbca39ec85d6e46">MakeDelayedConstraintInitialPropagateCallback</a>(<a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <span class="keyword">const</span> ct);</div><div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160; <a class="code" href="classoperations__research_1_1Demon.html">Demon</a>* <a class="code" href="classoperations__research_1_1Solver.html#a68250739f49a6d86db5c43e754e09abc">MakeActionDemon</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Action</a> action);</div><div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160;<span class="preprocessor">#endif </span></div><div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160;<span class="preprocessor"> Demon* MakeClosureDemon(Closure closure);</span></div><div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160;</div><div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160; <span class="comment">// ----- Between and related constraints -----</span></div><div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160;</div><div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#ac41aeb7ec64fdc089b9bddd71a8d07d5">MakeBetweenCt</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64 l, int64 u);</div><div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160;</div><div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a80812cd3d4e7993d38d12b121383317b">MakeNotBetweenCt</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64 l, int64 u);</div><div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160;</div><div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#ae2548cc7f8a6927faeab8681c0f29d45">MakeIsBetweenCt</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, int64 l, int64 u,</div><div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> b);</div><div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#a085c7089b623c1e9ab4d0a342243de94">MakeIsBetweenVar</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> v, int64 l, int64 u);</div><div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>&#160;</div><div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160; <span class="comment">// ----- Member and related constraints -----</span></div><div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160;</div><div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#ad5c8a65bd44b883e75ceaf70436c4ef0">MakeMemberCt</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr,</div><div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; values);</div><div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#ad5c8a65bd44b883e75ceaf70436c4ef0">MakeMemberCt</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, <span class="keyword">const</span> std::vector&lt;int&gt;&amp; values);</div><div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160;</div><div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a254ebc4f3f584b3e8b84a4e43d538249">MakeNotMemberCt</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr,</div><div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; values);</div><div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a254ebc4f3f584b3e8b84a4e43d538249">MakeNotMemberCt</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr,</div><div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; values);</div><div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160;</div><div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a254ebc4f3f584b3e8b84a4e43d538249">MakeNotMemberCt</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, std::vector&lt;int64&gt; starts,</div><div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160; std::vector&lt;int64&gt; ends);</div><div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a254ebc4f3f584b3e8b84a4e43d538249">MakeNotMemberCt</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, std::vector&lt;int&gt; starts,</div><div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160; std::vector&lt;int&gt; ends);</div><div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a254ebc4f3f584b3e8b84a4e43d538249">MakeNotMemberCt</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* expr,</div><div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160; SortedDisjointIntervalList intervals);</div><div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160;<span class="preprocessor">#endif // !defined(SWIG)</span></div><div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160;</div><div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a132f97826d14491d8a78bbcd5a36eae4">MakeIsMemberCt</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr,</div><div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; values,</div><div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> boolvar);</div><div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a132f97826d14491d8a78bbcd5a36eae4">MakeIsMemberCt</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr,</div><div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; values,</div><div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> boolvar);</div><div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#a6c690b3f926eccb5c17c239d40f94333">MakeIsMemberVar</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr,</div><div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; values);</div><div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#a6c690b3f926eccb5c17c239d40f94333">MakeIsMemberVar</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, <span class="keyword">const</span> std::vector&lt;int&gt;&amp; values);</div><div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160;</div><div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a6f9096de5a5999c8994f72a6e79094a5">MakeAtMost</a>(std::vector&lt;IntVar*&gt; vars, int64 value,</div><div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160; int64 max_count);</div><div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a820d845133185a881cd6d9385ccc84cd">MakeCount</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, int64 value,</div><div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160; int64 max_count);</div><div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a820d845133185a881cd6d9385ccc84cd">MakeCount</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, int64 value,</div><div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> max_count);</div><div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160;</div><div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#aeb55da36b6eeefcbfb07d141327a5251">MakeDistribute</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; values,</div><div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; cards);</div><div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#aeb55da36b6eeefcbfb07d141327a5251">MakeDistribute</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; values,</div><div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; cards);</div><div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#aeb55da36b6eeefcbfb07d141327a5251">MakeDistribute</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; cards);</div><div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#aeb55da36b6eeefcbfb07d141327a5251">MakeDistribute</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, int64 card_min,</div><div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160; int64 card_max, int64 card_size);</div><div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#aeb55da36b6eeefcbfb07d141327a5251">MakeDistribute</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; card_min,</div><div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; card_max);</div><div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#aeb55da36b6eeefcbfb07d141327a5251">MakeDistribute</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; card_min,</div><div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; card_max);</div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#aeb55da36b6eeefcbfb07d141327a5251">MakeDistribute</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; values,</div><div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; card_min,</div><div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; card_max);</div><div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#aeb55da36b6eeefcbfb07d141327a5251">MakeDistribute</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; values,</div><div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; card_min,</div><div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; card_max);</div><div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>&#160;</div><div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a8ad62c42b24a130b2cf3659f1602f8fb">MakeDeviation</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> deviation_var, int64 total_sum);</div><div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>&#160;</div><div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a9488a251683cf864c1824aa43147c37d">MakeAllDifferent</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars);</div><div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>&#160;</div><div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a9488a251683cf864c1824aa43147c37d">MakeAllDifferent</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>&#160; <span class="keywordtype">bool</span> stronger_propagation);</div><div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>&#160;</div><div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a7b71882cd8151d03d13391d79ac0886b">MakeAllDifferentExcept</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>&#160; int64 escape_value);</div><div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>&#160; <span class="comment">// TODO(user): Do we need a version with an array of escape values.</span></div><div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>&#160;</div><div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#ae399dd0c06ba1013587ce790c2022484">MakeSortingConstraint</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; sorted);</div><div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160; <span class="comment">// TODO(user): Add void MakeSortedArray(const std::vector&lt;IntVar*&gt;&amp; vars,</span></div><div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>&#160;<span class="comment"></span></div><div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#afa5e2b7b012186510cd89269b72537c3">MakeLexicalLess</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; left,</div><div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; right);</div><div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>&#160;</div><div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a4cded1f6488e06e526733ac51b57bdbe">MakeLexicalLessOrEqual</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; left,</div><div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; right);</div><div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160;</div><div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#aad4677348cd458e3be48575e7504ecbd">MakeInversePermutationConstraint</a>(</div><div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; left, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; right);</div><div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160;</div><div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a07aba9fc032a1bb68b4165ff2068e6a6">MakeIndexOfFirstMaxValueConstraint</a>(</div><div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* index, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars);</div><div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>&#160;</div><div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a758efb73215c8c71b43cc1cf2432eb6f">MakeIndexOfFirstMinValueConstraint</a>(</div><div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* index, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars);</div><div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>&#160;</div><div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a60f31269e46d8c587bbb916c160c0cca">MakeNullIntersect</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; first_vars,</div><div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; second_vars);</div><div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>&#160;</div><div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a4ca4faa013cbf49a60320f5db9d83056">MakeNullIntersectExcept</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; first_vars,</div><div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; second_vars,</div><div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>&#160; int64 escape_value);</div><div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>&#160;</div><div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>&#160; <span class="comment">// TODO(user): Implement MakeAllNullIntersect taking an array of</span></div><div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>&#160; <span class="comment">// variable vectors.</span></div><div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>&#160;</div><div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a78ecf8b2aa6a036fbf0d17de18881462">MakeNoCycle</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; nexts,</div><div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; active,</div><div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a021ae5a2766d4ccaa133a5bbb5398464">IndexFilter1</a> sink_handler = <span class="keyword">nullptr</span>);</div><div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a78ecf8b2aa6a036fbf0d17de18881462">MakeNoCycle</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; nexts,</div><div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; active,</div><div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a021ae5a2766d4ccaa133a5bbb5398464">IndexFilter1</a> sink_handler, <span class="keywordtype">bool</span> assume_paths);</div><div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>&#160;</div><div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a6aebd45951ac7b72b60df6ac5ba86faf">MakeCircuit</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; nexts);</div><div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>&#160;</div><div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#aa9ce1731fa7dcac3730e85001178155e">MakeSubCircuit</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; nexts);</div><div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>&#160;</div><div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a5d4172d3c6e27afbbaa66ab21917d912">MakePathCumul</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; nexts,</div><div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; active,</div><div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; cumuls,</div><div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; transits);</div><div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160; <span class="comment">// TODO(user): Merge with other path-cumuls constraints.</span></div><div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#af23f6a86662138b35e00bed0469a299a">MakeDelayedPathCumul</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; nexts,</div><div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; active,</div><div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; cumuls,</div><div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; transits);</div><div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a5d4172d3c6e27afbbaa66ab21917d912">MakePathCumul</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; nexts,</div><div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; active,</div><div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; cumuls,</div><div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> transit_evaluator);</div><div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160;</div><div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a5d4172d3c6e27afbbaa66ab21917d912">MakePathCumul</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; nexts,</div><div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; active,</div><div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; cumuls,</div><div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; slacks,</div><div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> transit_evaluator);</div><div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>&#160; <span class="comment">// TODO(user): Only does checking on WhenBound events on next variables.</span></div><div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>&#160;<span class="comment"></span> <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a1b969dd10026cec3465724a505ef37f1">MakePathConnected</a>(std::vector&lt;IntVar*&gt; nexts,</div><div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>&#160; std::vector&lt;int64&gt; sources,</div><div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>&#160; std::vector&lt;int64&gt; sinks,</div><div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>&#160; std::vector&lt;IntVar*&gt; status);</div><div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160;<span class="preprocessor">#ifndef SWIG</span></div><div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>&#160; <span class="comment">// TODO(user): This constraint does not make holes in variable domains;</span></div><div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160;<span class="comment"></span> <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#abae2844b83db465a4474012596bf7a50">MakePathPrecedenceConstraint</a>(</div><div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160; std::vector&lt;IntVar*&gt; nexts,</div><div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160; <span class="keyword">const</span> std::vector&lt;std::pair&lt;int, int&gt;&gt;&amp; precedences);</div><div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#abae2844b83db465a4474012596bf7a50">MakePathPrecedenceConstraint</a>(</div><div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>&#160; std::vector&lt;IntVar*&gt; nexts,</div><div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160; <span class="keyword">const</span> std::vector&lt;std::pair&lt;int, int&gt;&gt;&amp; precedences,</div><div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; lifo_path_starts,</div><div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; fifo_path_starts);</div><div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#ab852c6e66eeeeec6a106a7c6135ed89d">MakePathTransitPrecedenceConstraint</a>(</div><div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160; std::vector&lt;IntVar*&gt; nexts, std::vector&lt;IntVar*&gt; transits,</div><div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>&#160; <span class="keyword">const</span> std::vector&lt;std::pair&lt;int, int&gt;&gt;&amp; precedences);</div><div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#ac752aaab9e329f51d370683f3600e1ef">MakeMapDomain</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var,</div><div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; actives);</div><div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>&#160;</div><div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a142025432778b1638cb0325609a6667f">MakeAllowedAssignments</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>&#160; <span class="keyword">const</span> IntTupleSet&amp; tuples);</div><div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>&#160;</div><div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#abdedd9f8f216d9d1ace04942af6f17a1">MakeTransitionConstraint</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160; <span class="keyword">const</span> IntTupleSet&amp; transition_table,</div><div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160; int64 initial_state,</div><div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; final_states);</div><div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>&#160;</div><div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#abdedd9f8f216d9d1ace04942af6f17a1">MakeTransitionConstraint</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160; <span class="keyword">const</span> IntTupleSet&amp; transition_table,</div><div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>&#160; int64 initial_state,</div><div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; final_states);</div><div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160;</div><div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>&#160;<span class="preprocessor">#if defined(SWIGPYTHON)</span></div><div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a142025432778b1638cb0325609a6667f">MakeAllowedAssignments</a>(</div><div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>&#160; <span class="keyword">const</span> std::vector&lt;std::vector&lt;int64&gt;&gt;&amp; raw_tuples) {</div><div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>&#160; IntTupleSet tuples(vars.size());</div><div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>&#160; tuples.InsertAll(raw_tuples);</div><div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classoperations__research_1_1Solver.html#a142025432778b1638cb0325609a6667f">MakeAllowedAssignments</a>(vars, tuples);</div><div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>&#160; }</div><div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>&#160;</div><div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#abdedd9f8f216d9d1ace04942af6f17a1">MakeTransitionConstraint</a>(</div><div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>&#160; <span class="keyword">const</span> std::vector&lt;std::vector&lt;int64&gt;&gt;&amp; raw_transitions,</div><div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>&#160; int64 initial_state, <span class="keyword">const</span> std::vector&lt;int&gt;&amp; final_states) {</div><div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>&#160; IntTupleSet transitions(3);</div><div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>&#160; transitions.InsertAll(raw_transitions);</div><div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classoperations__research_1_1Solver.html#abdedd9f8f216d9d1ace04942af6f17a1">MakeTransitionConstraint</a>(vars, transitions, initial_state,</div><div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160; final_states);</div><div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160; }</div><div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160;</div><div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#ae05048905dc92a773e6158d796729935">MakeNonOverlappingBoxesConstraint</a>(</div><div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; x_vars, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; y_vars,</div><div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; x_size, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; y_size);</div><div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#ae05048905dc92a773e6158d796729935">MakeNonOverlappingBoxesConstraint</a>(</div><div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; x_vars, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; y_vars,</div><div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; x_size, <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; y_size);</div><div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#ae05048905dc92a773e6158d796729935">MakeNonOverlappingBoxesConstraint</a>(</div><div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; x_vars, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; y_vars,</div><div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; x_size, <span class="keyword">const</span> std::vector&lt;int&gt;&amp; y_size);</div><div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>&#160;</div><div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a0935b2c6f4e19789bcc7f57010360297">MakeNonOverlappingNonStrictBoxesConstraint</a>(</div><div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; x_vars, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; y_vars,</div><div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; x_size, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; y_size);</div><div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a0935b2c6f4e19789bcc7f57010360297">MakeNonOverlappingNonStrictBoxesConstraint</a>(</div><div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; x_vars, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; y_vars,</div><div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; x_size, <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; y_size);</div><div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a0935b2c6f4e19789bcc7f57010360297">MakeNonOverlappingNonStrictBoxesConstraint</a>(</div><div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; x_vars, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; y_vars,</div><div class="line"><a name="l01749"></a><span class="lineno"> 1749</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; x_size, <span class="keyword">const</span> std::vector&lt;int&gt;&amp; y_size);</div><div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>&#160;</div><div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>&#160; Pack* <a class="code" href="classoperations__research_1_1Solver.html#a49e0e0ab52a53f1954157e48aef759cf">MakePack</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, <span class="keywordtype">int</span> number_of_bins);</div><div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>&#160;</div><div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>&#160; IntervalVar* <a class="code" href="classoperations__research_1_1Solver.html#ab0b97497a2dc0adcc71932f592fa9e62">MakeFixedDurationIntervalVar</a>(int64 start_min, int64 start_max,</div><div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>&#160; int64 duration, <span class="keywordtype">bool</span> optional,</div><div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>&#160; <span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>&#160;</div><div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a8ae40872f6abd544d1c191ac370b7e22">MakeFixedDurationIntervalVarArray</a>(</div><div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>&#160; <span class="keywordtype">int</span> count, int64 start_min, int64 start_max, int64 duration,</div><div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>&#160; <span class="keywordtype">bool</span> optional, <span class="keyword">const</span> std::string&amp; name,</div><div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>&#160; std::vector&lt;IntervalVar*&gt;* <span class="keyword">const</span> array);</div><div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>&#160;</div><div class="line"><a name="l01775"></a><span class="lineno"> 1775</span>&#160; IntervalVar* <a class="code" href="classoperations__research_1_1Solver.html#ab0b97497a2dc0adcc71932f592fa9e62">MakeFixedDurationIntervalVar</a>(<a class="code" href="classoperations__research_1_1Solver.html#a34419e55556ff4e92b447fe895bdb9c3">IntVar</a>* <span class="keyword">const</span> start_variable,</div><div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>&#160; int64 duration,</div><div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>&#160; <span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l01778"></a><span class="lineno"> 1778</span>&#160;</div><div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>&#160; IntervalVar* <a class="code" href="classoperations__research_1_1Solver.html#ab0b97497a2dc0adcc71932f592fa9e62">MakeFixedDurationIntervalVar</a>(<a class="code" href="classoperations__research_1_1Solver.html#a34419e55556ff4e92b447fe895bdb9c3">IntVar</a>* <span class="keyword">const</span> start_variable,</div><div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>&#160; int64 duration,</div><div class="line"><a name="l01783"></a><span class="lineno"> 1783</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a34419e55556ff4e92b447fe895bdb9c3">IntVar</a>* <span class="keyword">const</span> performed_variable,</div><div class="line"><a name="l01784"></a><span class="lineno"> 1784</span>&#160; <span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>&#160;</div><div class="line"><a name="l01788"></a><span class="lineno"> 1788</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a8ae40872f6abd544d1c191ac370b7e22">MakeFixedDurationIntervalVarArray</a>(</div><div class="line"><a name="l01789"></a><span class="lineno"> 1789</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; start_variables, int64 duration,</div><div class="line"><a name="l01790"></a><span class="lineno"> 1790</span>&#160; <span class="keyword">const</span> std::string&amp; name, std::vector&lt;IntervalVar*&gt;* <span class="keyword">const</span> array);</div><div class="line"><a name="l01791"></a><span class="lineno"> 1791</span>&#160;</div><div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a8ae40872f6abd544d1c191ac370b7e22">MakeFixedDurationIntervalVarArray</a>(</div><div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; start_variables,</div><div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; durations, <span class="keyword">const</span> std::string&amp; name,</div><div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>&#160; std::vector&lt;IntervalVar*&gt;* <span class="keyword">const</span> array);</div><div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a8ae40872f6abd544d1c191ac370b7e22">MakeFixedDurationIntervalVarArray</a>(</div><div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; start_variables,</div><div class="line"><a name="l01802"></a><span class="lineno"> 1802</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; durations, <span class="keyword">const</span> std::string&amp; name,</div><div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>&#160; std::vector&lt;IntervalVar*&gt;* <span class="keyword">const</span> array);</div><div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>&#160;</div><div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a8ae40872f6abd544d1c191ac370b7e22">MakeFixedDurationIntervalVarArray</a>(</div><div class="line"><a name="l01808"></a><span class="lineno"> 1808</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; start_variables,</div><div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; durations,</div><div class="line"><a name="l01810"></a><span class="lineno"> 1810</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; performed_variables, <span class="keyword">const</span> std::string&amp; name,</div><div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>&#160; std::vector&lt;IntervalVar*&gt;* <span class="keyword">const</span> array);</div><div class="line"><a name="l01812"></a><span class="lineno"> 1812</span>&#160;</div><div class="line"><a name="l01815"></a><span class="lineno"> 1815</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a8ae40872f6abd544d1c191ac370b7e22">MakeFixedDurationIntervalVarArray</a>(</div><div class="line"><a name="l01816"></a><span class="lineno"> 1816</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; start_variables,</div><div class="line"><a name="l01817"></a><span class="lineno"> 1817</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; durations,</div><div class="line"><a name="l01818"></a><span class="lineno"> 1818</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; performed_variables, <span class="keyword">const</span> std::string&amp; name,</div><div class="line"><a name="l01819"></a><span class="lineno"> 1819</span>&#160; std::vector&lt;IntervalVar*&gt;* <span class="keyword">const</span> array);</div><div class="line"><a name="l01820"></a><span class="lineno"> 1820</span>&#160;</div><div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>&#160; IntervalVar* <a class="code" href="classoperations__research_1_1Solver.html#a24c71a919ab9a4bb168edc654019317c">MakeFixedInterval</a>(int64 start, int64 duration,</div><div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>&#160; <span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>&#160;</div><div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>&#160; IntervalVar* <a class="code" href="classoperations__research_1_1Solver.html#a053586a8a576634d5cee4dc4913a35cb">MakeIntervalVar</a>(int64 start_min, int64 start_max,</div><div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>&#160; int64 duration_min, int64 duration_max,</div><div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160; int64 end_min, int64 end_max, <span class="keywordtype">bool</span> optional,</div><div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>&#160; <span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>&#160;</div><div class="line"><a name="l01834"></a><span class="lineno"> 1834</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#aaf3f40bd93fd979cdd7d089447e52326">MakeIntervalVarArray</a>(<span class="keywordtype">int</span> count, int64 start_min, int64 start_max,</div><div class="line"><a name="l01835"></a><span class="lineno"> 1835</span>&#160; int64 duration_min, int64 duration_max,</div><div class="line"><a name="l01836"></a><span class="lineno"> 1836</span>&#160; int64 end_min, int64 end_max, <span class="keywordtype">bool</span> optional,</div><div class="line"><a name="l01837"></a><span class="lineno"> 1837</span>&#160; <span class="keyword">const</span> std::string&amp; name,</div><div class="line"><a name="l01838"></a><span class="lineno"> 1838</span>&#160; std::vector&lt;IntervalVar*&gt;* <span class="keyword">const</span> array);</div><div class="line"><a name="l01839"></a><span class="lineno"> 1839</span>&#160;</div><div class="line"><a name="l01842"></a><span class="lineno"> 1842</span>&#160; IntervalVar* <a class="code" href="classoperations__research_1_1Solver.html#aa748f51bdb0e8d212540faa3ac2dced4">MakeMirrorInterval</a>(IntervalVar* <span class="keyword">const</span> interval_var);</div><div class="line"><a name="l01843"></a><span class="lineno"> 1843</span>&#160;</div><div class="line"><a name="l01848"></a><span class="lineno"> 1848</span>&#160; IntervalVar* <a class="code" href="classoperations__research_1_1Solver.html#a1478a61951ca74ac52f9a709a8e35ca4">MakeFixedDurationStartSyncedOnStartIntervalVar</a>(</div><div class="line"><a name="l01849"></a><span class="lineno"> 1849</span>&#160; IntervalVar* <span class="keyword">const</span> interval_var, int64 duration, int64 offset);</div><div class="line"><a name="l01850"></a><span class="lineno"> 1850</span>&#160;</div><div class="line"><a name="l01855"></a><span class="lineno"> 1855</span>&#160; IntervalVar* <a class="code" href="classoperations__research_1_1Solver.html#a61ee2e3d7ae7e07d071719aea568b3ac">MakeFixedDurationStartSyncedOnEndIntervalVar</a>(</div><div class="line"><a name="l01856"></a><span class="lineno"> 1856</span>&#160; IntervalVar* <span class="keyword">const</span> interval_var, int64 duration, int64 offset);</div><div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>&#160;</div><div class="line"><a name="l01862"></a><span class="lineno"> 1862</span>&#160; IntervalVar* <a class="code" href="classoperations__research_1_1Solver.html#a40a4fcaeba627e64dcf5bc5abb850390">MakeFixedDurationEndSyncedOnStartIntervalVar</a>(</div><div class="line"><a name="l01863"></a><span class="lineno"> 1863</span>&#160; IntervalVar* <span class="keyword">const</span> interval_var, int64 duration, int64 offset);</div><div class="line"><a name="l01864"></a><span class="lineno"> 1864</span>&#160;</div><div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>&#160; IntervalVar* <a class="code" href="classoperations__research_1_1Solver.html#a4b998b414ca9c282af12ed359e845677">MakeFixedDurationEndSyncedOnEndIntervalVar</a>(</div><div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>&#160; IntervalVar* <span class="keyword">const</span> interval_var, int64 duration, int64 offset);</div><div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>&#160;</div><div class="line"><a name="l01889"></a><span class="lineno"> 1889</span>&#160; IntervalVar* <a class="code" href="classoperations__research_1_1Solver.html#a3c52162d7e34b21d93dad58543e5e6b1">MakeIntervalRelaxedMin</a>(IntervalVar* <span class="keyword">const</span> interval_var);</div><div class="line"><a name="l01890"></a><span class="lineno"> 1890</span>&#160;</div><div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>&#160; IntervalVar* <a class="code" href="classoperations__research_1_1Solver.html#aee9ade1411e7ca8813462d9a4c3563a6">MakeIntervalRelaxedMax</a>(IntervalVar* <span class="keyword">const</span> interval_var);</div><div class="line"><a name="l01909"></a><span class="lineno"> 1909</span>&#160;</div><div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#accc6ee62c5b500b6f4add4038e47499d">MakeIntervalVarRelation</a>(IntervalVar* <span class="keyword">const</span> t,</div><div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9">UnaryIntervalRelation</a> r, int64 d);</div><div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>&#160;</div><div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#accc6ee62c5b500b6f4add4038e47499d">MakeIntervalVarRelation</a>(IntervalVar* <span class="keyword">const</span> t1,</div><div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3ee">BinaryIntervalRelation</a> r,</div><div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>&#160; IntervalVar* <span class="keyword">const</span> t2);</div><div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>&#160;</div><div class="line"><a name="l01924"></a><span class="lineno"> 1924</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a88643a4421ce0b5b580cb9ddd37c2105">MakeIntervalVarRelationWithDelay</a>(IntervalVar* <span class="keyword">const</span> t1,</div><div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3ee">BinaryIntervalRelation</a> r,</div><div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>&#160; IntervalVar* <span class="keyword">const</span> t2,</div><div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>&#160; int64 delay);</div><div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>&#160;</div><div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a4c26a571e97a2501e08425e1a77704c3">MakeTemporalDisjunction</a>(IntervalVar* <span class="keyword">const</span> t1,</div><div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>&#160; IntervalVar* <span class="keyword">const</span> t2, <a class="code" href="classoperations__research_1_1Solver.html#a34419e55556ff4e92b447fe895bdb9c3">IntVar</a>* <span class="keyword">const</span> alt);</div><div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>&#160;</div><div class="line"><a name="l01937"></a><span class="lineno"> 1937</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a4c26a571e97a2501e08425e1a77704c3">MakeTemporalDisjunction</a>(IntervalVar* <span class="keyword">const</span> t1,</div><div class="line"><a name="l01938"></a><span class="lineno"> 1938</span>&#160; IntervalVar* <span class="keyword">const</span> t2);</div><div class="line"><a name="l01939"></a><span class="lineno"> 1939</span>&#160;</div><div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>&#160; DisjunctiveConstraint* <a class="code" href="classoperations__research_1_1Solver.html#a3b2298e9d49d02d122c137532ac4e0a7">MakeDisjunctiveConstraint</a>(</div><div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>&#160; <span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; intervals, <span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>&#160;</div><div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>&#160; DisjunctiveConstraint* <a class="code" href="classoperations__research_1_1Solver.html#a126deb47fb75837e86f4fccfe56c0a04">MakeStrictDisjunctiveConstraint</a>(</div><div class="line"><a name="l01949"></a><span class="lineno"> 1949</span>&#160; <span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; intervals, <span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l01950"></a><span class="lineno"> 1950</span>&#160;</div><div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#aaa120bdb2730df0029ef6a3a6677d389">MakeCumulative</a>(<span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; intervals,</div><div class="line"><a name="l01961"></a><span class="lineno"> 1961</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; demands, int64 capacity,</div><div class="line"><a name="l01962"></a><span class="lineno"> 1962</span>&#160; <span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l01963"></a><span class="lineno"> 1963</span>&#160;</div><div class="line"><a name="l01973"></a><span class="lineno"> 1973</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#aaa120bdb2730df0029ef6a3a6677d389">MakeCumulative</a>(<span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; intervals,</div><div class="line"><a name="l01974"></a><span class="lineno"> 1974</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; demands, int64 capacity,</div><div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>&#160; <span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l01976"></a><span class="lineno"> 1976</span>&#160;</div><div class="line"><a name="l01986"></a><span class="lineno"> 1986</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#aaa120bdb2730df0029ef6a3a6677d389">MakeCumulative</a>(<span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; intervals,</div><div class="line"><a name="l01987"></a><span class="lineno"> 1987</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; demands,</div><div class="line"><a name="l01988"></a><span class="lineno"> 1988</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a34419e55556ff4e92b447fe895bdb9c3">IntVar</a>* <span class="keyword">const</span> capacity, <span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l01989"></a><span class="lineno"> 1989</span>&#160;</div><div class="line"><a name="l01999"></a><span class="lineno"> 1999</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#aaa120bdb2730df0029ef6a3a6677d389">MakeCumulative</a>(<span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; intervals,</div><div class="line"><a name="l02000"></a><span class="lineno"> 2000</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; demands,</div><div class="line"><a name="l02001"></a><span class="lineno"> 2001</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a34419e55556ff4e92b447fe895bdb9c3">IntVar</a>* <span class="keyword">const</span> capacity, <span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l02002"></a><span class="lineno"> 2002</span>&#160;</div><div class="line"><a name="l02010"></a><span class="lineno"> 2010</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#aaa120bdb2730df0029ef6a3a6677d389">MakeCumulative</a>(<span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; intervals,</div><div class="line"><a name="l02011"></a><span class="lineno"> 2011</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; demands,</div><div class="line"><a name="l02012"></a><span class="lineno"> 2012</span>&#160; int64 capacity, <span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l02013"></a><span class="lineno"> 2013</span>&#160;</div><div class="line"><a name="l02021"></a><span class="lineno"> 2021</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#aaa120bdb2730df0029ef6a3a6677d389">MakeCumulative</a>(<span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; intervals,</div><div class="line"><a name="l02022"></a><span class="lineno"> 2022</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; demands,</div><div class="line"><a name="l02023"></a><span class="lineno"> 2023</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a34419e55556ff4e92b447fe895bdb9c3">IntVar</a>* <span class="keyword">const</span> capacity, <span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l02024"></a><span class="lineno"> 2024</span>&#160;</div><div class="line"><a name="l02030"></a><span class="lineno"> 2030</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#a6f8ccb5cbc73e9f8c0d40541698df547">MakeCover</a>(<span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; vars,</div><div class="line"><a name="l02031"></a><span class="lineno"> 2031</span>&#160; IntervalVar* <span class="keyword">const</span> target_var);</div><div class="line"><a name="l02032"></a><span class="lineno"> 2032</span>&#160;</div><div class="line"><a name="l02034"></a><span class="lineno"> 2034</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* <a class="code" href="classoperations__research_1_1Solver.html#ac8bad969ebcea86359a86752915c9e11">MakeEquality</a>(IntervalVar* <span class="keyword">const</span> var1, IntervalVar* <span class="keyword">const</span> var2);</div><div class="line"><a name="l02035"></a><span class="lineno"> 2035</span>&#160;</div><div class="line"><a name="l02037"></a><span class="lineno"> 2037</span>&#160; Assignment* <a class="code" href="classoperations__research_1_1Solver.html#a2f2bbfd462a65194763f65ea7d5ff39e">MakeAssignment</a>();</div><div class="line"><a name="l02038"></a><span class="lineno"> 2038</span>&#160;</div><div class="line"><a name="l02040"></a><span class="lineno"> 2040</span>&#160; Assignment* <a class="code" href="classoperations__research_1_1Solver.html#a2f2bbfd462a65194763f65ea7d5ff39e">MakeAssignment</a>(<span class="keyword">const</span> Assignment* <span class="keyword">const</span> a);</div><div class="line"><a name="l02041"></a><span class="lineno"> 2041</span>&#160;</div><div class="line"><a name="l02043"></a><span class="lineno"> 2043</span>&#160; SolutionCollector* <a class="code" href="classoperations__research_1_1Solver.html#accc6efd3a4ae0906e3d148ae7ab44db1">MakeFirstSolutionCollector</a>(</div><div class="line"><a name="l02044"></a><span class="lineno"> 2044</span>&#160; <span class="keyword">const</span> Assignment* <span class="keyword">const</span> assignment);</div><div class="line"><a name="l02047"></a><span class="lineno"> 2047</span>&#160; SolutionCollector* <a class="code" href="classoperations__research_1_1Solver.html#accc6efd3a4ae0906e3d148ae7ab44db1">MakeFirstSolutionCollector</a>();</div><div class="line"><a name="l02048"></a><span class="lineno"> 2048</span>&#160;</div><div class="line"><a name="l02050"></a><span class="lineno"> 2050</span>&#160; SolutionCollector* <a class="code" href="classoperations__research_1_1Solver.html#a73d2f116de177f1133bdbf21aa9c3f97">MakeLastSolutionCollector</a>(</div><div class="line"><a name="l02051"></a><span class="lineno"> 2051</span>&#160; <span class="keyword">const</span> Assignment* <span class="keyword">const</span> assignment);</div><div class="line"><a name="l02054"></a><span class="lineno"> 2054</span>&#160; SolutionCollector* <a class="code" href="classoperations__research_1_1Solver.html#a73d2f116de177f1133bdbf21aa9c3f97">MakeLastSolutionCollector</a>();</div><div class="line"><a name="l02055"></a><span class="lineno"> 2055</span>&#160;</div><div class="line"><a name="l02060"></a><span class="lineno"> 2060</span>&#160; SolutionCollector* <a class="code" href="classoperations__research_1_1Solver.html#a8713de264f28d5c4b149e8a044254e45">MakeBestValueSolutionCollector</a>(</div><div class="line"><a name="l02061"></a><span class="lineno"> 2061</span>&#160; <span class="keyword">const</span> Assignment* <span class="keyword">const</span> assignment, <span class="keywordtype">bool</span> maximize);</div><div class="line"><a name="l02067"></a><span class="lineno"> 2067</span>&#160; SolutionCollector* <a class="code" href="classoperations__research_1_1Solver.html#a8713de264f28d5c4b149e8a044254e45">MakeBestValueSolutionCollector</a>(<span class="keywordtype">bool</span> maximize);</div><div class="line"><a name="l02068"></a><span class="lineno"> 2068</span>&#160;</div><div class="line"><a name="l02072"></a><span class="lineno"> 2072</span>&#160; SolutionCollector* <a class="code" href="classoperations__research_1_1Solver.html#af49ee55f2f5486d39112cda34ebbdef6">MakeNBestValueSolutionCollector</a>(</div><div class="line"><a name="l02073"></a><span class="lineno"> 2073</span>&#160; <span class="keyword">const</span> Assignment* <span class="keyword">const</span> assignment, <span class="keywordtype">int</span> solution_count, <span class="keywordtype">bool</span> maximize);</div><div class="line"><a name="l02074"></a><span class="lineno"> 2074</span>&#160; SolutionCollector* <a class="code" href="classoperations__research_1_1Solver.html#af49ee55f2f5486d39112cda34ebbdef6">MakeNBestValueSolutionCollector</a>(<span class="keywordtype">int</span> solution_count,</div><div class="line"><a name="l02075"></a><span class="lineno"> 2075</span>&#160; <span class="keywordtype">bool</span> maximize);</div><div class="line"><a name="l02076"></a><span class="lineno"> 2076</span>&#160;</div><div class="line"><a name="l02078"></a><span class="lineno"> 2078</span>&#160; SolutionCollector* <a class="code" href="classoperations__research_1_1Solver.html#af2b25e4b01a3dbc9aae31a09c8f7a343">MakeAllSolutionCollector</a>(</div><div class="line"><a name="l02079"></a><span class="lineno"> 2079</span>&#160; <span class="keyword">const</span> Assignment* <span class="keyword">const</span> assignment);</div><div class="line"><a name="l02082"></a><span class="lineno"> 2082</span>&#160; SolutionCollector* <a class="code" href="classoperations__research_1_1Solver.html#af2b25e4b01a3dbc9aae31a09c8f7a343">MakeAllSolutionCollector</a>();</div><div class="line"><a name="l02083"></a><span class="lineno"> 2083</span>&#160;</div><div class="line"><a name="l02085"></a><span class="lineno"> 2085</span>&#160; OptimizeVar* <a class="code" href="classoperations__research_1_1Solver.html#ad9ffde292d8e4fb458c4a36ba44b590f">MakeMinimize</a>(<a class="code" href="classoperations__research_1_1Solver.html#a34419e55556ff4e92b447fe895bdb9c3">IntVar</a>* <span class="keyword">const</span> v, int64 step);</div><div class="line"><a name="l02086"></a><span class="lineno"> 2086</span>&#160;</div><div class="line"><a name="l02088"></a><span class="lineno"> 2088</span>&#160; OptimizeVar* <a class="code" href="classoperations__research_1_1Solver.html#a181f81a4cc04eeb4ffaa67267d0315ae">MakeMaximize</a>(<a class="code" href="classoperations__research_1_1Solver.html#a34419e55556ff4e92b447fe895bdb9c3">IntVar</a>* <span class="keyword">const</span> v, int64 step);</div><div class="line"><a name="l02089"></a><span class="lineno"> 2089</span>&#160;</div><div class="line"><a name="l02091"></a><span class="lineno"> 2091</span>&#160; OptimizeVar* <a class="code" href="classoperations__research_1_1Solver.html#a4ae15a537748b450d361d582d6928428">MakeOptimize</a>(<span class="keywordtype">bool</span> maximize, <a class="code" href="classoperations__research_1_1Solver.html#a34419e55556ff4e92b447fe895bdb9c3">IntVar</a>* <span class="keyword">const</span> v, int64 step);</div><div class="line"><a name="l02092"></a><span class="lineno"> 2092</span>&#160;</div><div class="line"><a name="l02095"></a><span class="lineno"> 2095</span>&#160; OptimizeVar* <a class="code" href="classoperations__research_1_1Solver.html#a1b576575cbd8bdb39748bb4cfb595610">MakeWeightedMinimize</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; sub_objectives,</div><div class="line"><a name="l02096"></a><span class="lineno"> 2096</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; weights,</div><div class="line"><a name="l02097"></a><span class="lineno"> 2097</span>&#160; int64 step);</div><div class="line"><a name="l02098"></a><span class="lineno"> 2098</span>&#160;</div><div class="line"><a name="l02101"></a><span class="lineno"> 2101</span>&#160; OptimizeVar* <a class="code" href="classoperations__research_1_1Solver.html#a1b576575cbd8bdb39748bb4cfb595610">MakeWeightedMinimize</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; sub_objectives,</div><div class="line"><a name="l02102"></a><span class="lineno"> 2102</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; weights,</div><div class="line"><a name="l02103"></a><span class="lineno"> 2103</span>&#160; int64 step);</div><div class="line"><a name="l02104"></a><span class="lineno"> 2104</span>&#160;</div><div class="line"><a name="l02106"></a><span class="lineno"> 2106</span>&#160; OptimizeVar* <a class="code" href="classoperations__research_1_1Solver.html#af778580c44fbc93a004b881e45880fa3">MakeWeightedMaximize</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; sub_objectives,</div><div class="line"><a name="l02107"></a><span class="lineno"> 2107</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; weights,</div><div class="line"><a name="l02108"></a><span class="lineno"> 2108</span>&#160; int64 step);</div><div class="line"><a name="l02109"></a><span class="lineno"> 2109</span>&#160;</div><div class="line"><a name="l02111"></a><span class="lineno"> 2111</span>&#160; OptimizeVar* <a class="code" href="classoperations__research_1_1Solver.html#af778580c44fbc93a004b881e45880fa3">MakeWeightedMaximize</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; sub_objectives,</div><div class="line"><a name="l02112"></a><span class="lineno"> 2112</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; weights,</div><div class="line"><a name="l02113"></a><span class="lineno"> 2113</span>&#160; int64 step);</div><div class="line"><a name="l02114"></a><span class="lineno"> 2114</span>&#160;</div><div class="line"><a name="l02116"></a><span class="lineno"> 2116</span>&#160; OptimizeVar* <a class="code" href="classoperations__research_1_1Solver.html#a72e6eab74584b06741b743ae2a3eac36">MakeWeightedOptimize</a>(<span class="keywordtype">bool</span> maximize,</div><div class="line"><a name="l02117"></a><span class="lineno"> 2117</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; sub_objectives,</div><div class="line"><a name="l02118"></a><span class="lineno"> 2118</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; weights,</div><div class="line"><a name="l02119"></a><span class="lineno"> 2119</span>&#160; int64 step);</div><div class="line"><a name="l02120"></a><span class="lineno"> 2120</span>&#160;</div><div class="line"><a name="l02122"></a><span class="lineno"> 2122</span>&#160; OptimizeVar* <a class="code" href="classoperations__research_1_1Solver.html#a72e6eab74584b06741b743ae2a3eac36">MakeWeightedOptimize</a>(<span class="keywordtype">bool</span> maximize,</div><div class="line"><a name="l02123"></a><span class="lineno"> 2123</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; sub_objectives,</div><div class="line"><a name="l02124"></a><span class="lineno"> 2124</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; weights,</div><div class="line"><a name="l02125"></a><span class="lineno"> 2125</span>&#160; int64 step);</div><div class="line"><a name="l02126"></a><span class="lineno"> 2126</span>&#160;</div><div class="line"><a name="l02128"></a><span class="lineno"> 2128</span>&#160;</div><div class="line"><a name="l02144"></a><span class="lineno"> 2144</span>&#160;</div><div class="line"><a name="l02145"></a><span class="lineno"> 2145</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aac32a6eabe1d316d7ff5f92fedd1ec5b">SearchMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#a69224a6a8e28c82b44c7d74b8c7f0186">MakeTabuSearch</a>(<span class="keywordtype">bool</span> maximize, <a class="code" href="classoperations__research_1_1Solver.html#a34419e55556ff4e92b447fe895bdb9c3">IntVar</a>* <span class="keyword">const</span> v, int64 step,</div><div class="line"><a name="l02146"></a><span class="lineno"> 2146</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l02147"></a><span class="lineno"> 2147</span>&#160; int64 keep_tenure, int64 forbid_tenure,</div><div class="line"><a name="l02148"></a><span class="lineno"> 2148</span>&#160; <span class="keywordtype">double</span> tabu_factor);</div><div class="line"><a name="l02149"></a><span class="lineno"> 2149</span>&#160;</div><div class="line"><a name="l02152"></a><span class="lineno"> 2152</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aac32a6eabe1d316d7ff5f92fedd1ec5b">SearchMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#a073341aff108926778a79807f186c4a9">MakeGenericTabuSearch</a>(<span class="keywordtype">bool</span> maximize, <a class="code" href="classoperations__research_1_1Solver.html#a34419e55556ff4e92b447fe895bdb9c3">IntVar</a>* <span class="keyword">const</span> v,</div><div class="line"><a name="l02153"></a><span class="lineno"> 2153</span>&#160; int64 step,</div><div class="line"><a name="l02154"></a><span class="lineno"> 2154</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; tabu_vars,</div><div class="line"><a name="l02155"></a><span class="lineno"> 2155</span>&#160; int64 forbid_tenure);</div><div class="line"><a name="l02156"></a><span class="lineno"> 2156</span>&#160;</div><div class="line"><a name="l02158"></a><span class="lineno"> 2158</span>&#160; <span class="comment">// TODO(user): document behavior</span></div><div class="line"><a name="l02159"></a><span class="lineno"> 2159</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aac32a6eabe1d316d7ff5f92fedd1ec5b">SearchMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#aed8995a421184374d8ba9f16262b4e87">MakeSimulatedAnnealing</a>(<span class="keywordtype">bool</span> maximize, <a class="code" href="classoperations__research_1_1Solver.html#a34419e55556ff4e92b447fe895bdb9c3">IntVar</a>* <span class="keyword">const</span> v,</div><div class="line"><a name="l02160"></a><span class="lineno"> 2160</span>&#160; int64 step, int64 initial_temperature);</div><div class="line"><a name="l02161"></a><span class="lineno"> 2161</span>&#160;</div><div class="line"><a name="l02164"></a><span class="lineno"> 2164</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aac32a6eabe1d316d7ff5f92fedd1ec5b">SearchMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#acb279a9bd15aff7801535ad9968f67a7">MakeGuidedLocalSearch</a>(<span class="keywordtype">bool</span> maximize, <a class="code" href="classoperations__research_1_1Solver.html#a34419e55556ff4e92b447fe895bdb9c3">IntVar</a>* <span class="keyword">const</span> objective,</div><div class="line"><a name="l02165"></a><span class="lineno"> 2165</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> objective_function,</div><div class="line"><a name="l02166"></a><span class="lineno"> 2166</span>&#160; int64 step,</div><div class="line"><a name="l02167"></a><span class="lineno"> 2167</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l02168"></a><span class="lineno"> 2168</span>&#160; <span class="keywordtype">double</span> penalty_factor);</div><div class="line"><a name="l02169"></a><span class="lineno"> 2169</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aac32a6eabe1d316d7ff5f92fedd1ec5b">SearchMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#acb279a9bd15aff7801535ad9968f67a7">MakeGuidedLocalSearch</a>(</div><div class="line"><a name="l02170"></a><span class="lineno"> 2170</span>&#160; <span class="keywordtype">bool</span> maximize, <a class="code" href="classoperations__research_1_1Solver.html#a34419e55556ff4e92b447fe895bdb9c3">IntVar</a>* <span class="keyword">const</span> objective,</div><div class="line"><a name="l02171"></a><span class="lineno"> 2171</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a86570ad216b68c88de1ef27085e3d084">IndexEvaluator3</a> objective_function, int64 step,</div><div class="line"><a name="l02172"></a><span class="lineno"> 2172</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l02173"></a><span class="lineno"> 2173</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; secondary_vars, <span class="keywordtype">double</span> penalty_factor);</div><div class="line"><a name="l02174"></a><span class="lineno"> 2174</span>&#160;</div><div class="line"><a name="l02178"></a><span class="lineno"> 2178</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aac32a6eabe1d316d7ff5f92fedd1ec5b">SearchMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#ac3ea43c183e37adc93039e739bcf69f5">MakeLubyRestart</a>(<span class="keywordtype">int</span> scale_factor);</div><div class="line"><a name="l02179"></a><span class="lineno"> 2179</span>&#160;</div><div class="line"><a name="l02182"></a><span class="lineno"> 2182</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aac32a6eabe1d316d7ff5f92fedd1ec5b">SearchMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#afd77ddfee62a87c62b6ff0415b3f76d4">MakeConstantRestart</a>(<span class="keywordtype">int</span> frequency);</div><div class="line"><a name="l02183"></a><span class="lineno"> 2183</span>&#160;</div><div class="line"><a name="l02186"></a><span class="lineno"> 2186</span>&#160; RegularLimit* <a class="code" href="classoperations__research_1_1Solver.html#a57003ddd7c36d7d24a093eb1f06ff1e6">MakeTimeLimit</a>(int64 time_in_ms);</div><div class="line"><a name="l02187"></a><span class="lineno"> 2187</span>&#160;</div><div class="line"><a name="l02190"></a><span class="lineno"> 2190</span>&#160; RegularLimit* <a class="code" href="classoperations__research_1_1Solver.html#ab7a92ba110420d40d091f7ccb8aa6b01">MakeBranchesLimit</a>(int64 <a class="code" href="classoperations__research_1_1Solver.html#ad01c3a2fbfb388d917899ad983415d02">branches</a>);</div><div class="line"><a name="l02191"></a><span class="lineno"> 2191</span>&#160;</div><div class="line"><a name="l02194"></a><span class="lineno"> 2194</span>&#160; RegularLimit* <a class="code" href="classoperations__research_1_1Solver.html#ae68fffdab4f9ab564cfd6d5d5da2cf76">MakeFailuresLimit</a>(int64 <a class="code" href="classoperations__research_1_1Solver.html#a2b05840b09f4ab5632470987f01e11e1">failures</a>);</div><div class="line"><a name="l02195"></a><span class="lineno"> 2195</span>&#160;</div><div class="line"><a name="l02198"></a><span class="lineno"> 2198</span>&#160; RegularLimit* <a class="code" href="classoperations__research_1_1Solver.html#a21280a14cc9bea32e2a718e5a8fa6742">MakeSolutionsLimit</a>(int64 <a class="code" href="classoperations__research_1_1Solver.html#a23ac09a78dbd8b39b2f63e9981947788">solutions</a>);</div><div class="line"><a name="l02199"></a><span class="lineno"> 2199</span>&#160;</div><div class="line"><a name="l02202"></a><span class="lineno"> 2202</span>&#160; RegularLimit* <a class="code" href="classoperations__research_1_1Solver.html#a2f6e2c706c18512917dcfdcdeae1ae3f">MakeLimit</a>(int64 time, int64 <a class="code" href="classoperations__research_1_1Solver.html#ad01c3a2fbfb388d917899ad983415d02">branches</a>, int64 <a class="code" href="classoperations__research_1_1Solver.html#a2b05840b09f4ab5632470987f01e11e1">failures</a>,</div><div class="line"><a name="l02203"></a><span class="lineno"> 2203</span>&#160; int64 <a class="code" href="classoperations__research_1_1Solver.html#a23ac09a78dbd8b39b2f63e9981947788">solutions</a>);</div><div class="line"><a name="l02206"></a><span class="lineno"> 2206</span>&#160; RegularLimit* <a class="code" href="classoperations__research_1_1Solver.html#a2f6e2c706c18512917dcfdcdeae1ae3f">MakeLimit</a>(int64 time, int64 <a class="code" href="classoperations__research_1_1Solver.html#ad01c3a2fbfb388d917899ad983415d02">branches</a>, int64 <a class="code" href="classoperations__research_1_1Solver.html#a2b05840b09f4ab5632470987f01e11e1">failures</a>,</div><div class="line"><a name="l02207"></a><span class="lineno"> 2207</span>&#160; int64 <a class="code" href="classoperations__research_1_1Solver.html#a23ac09a78dbd8b39b2f63e9981947788">solutions</a>, <span class="keywordtype">bool</span> smart_time_check);</div><div class="line"><a name="l02210"></a><span class="lineno"> 2210</span>&#160; RegularLimit* <a class="code" href="classoperations__research_1_1Solver.html#a2f6e2c706c18512917dcfdcdeae1ae3f">MakeLimit</a>(int64 time, int64 <a class="code" href="classoperations__research_1_1Solver.html#ad01c3a2fbfb388d917899ad983415d02">branches</a>, int64 <a class="code" href="classoperations__research_1_1Solver.html#a2b05840b09f4ab5632470987f01e11e1">failures</a>,</div><div class="line"><a name="l02211"></a><span class="lineno"> 2211</span>&#160; int64 <a class="code" href="classoperations__research_1_1Solver.html#a23ac09a78dbd8b39b2f63e9981947788">solutions</a>, <span class="keywordtype">bool</span> smart_time_check,</div><div class="line"><a name="l02212"></a><span class="lineno"> 2212</span>&#160; <span class="keywordtype">bool</span> cumulative);</div><div class="line"><a name="l02214"></a><span class="lineno"> 2214</span>&#160; RegularLimit* <a class="code" href="classoperations__research_1_1Solver.html#a2f6e2c706c18512917dcfdcdeae1ae3f">MakeLimit</a>(<span class="keyword">const</span> RegularLimitParameters&amp; proto);</div><div class="line"><a name="l02215"></a><span class="lineno"> 2215</span>&#160;</div><div class="line"><a name="l02217"></a><span class="lineno"> 2217</span>&#160; RegularLimitParameters <a class="code" href="classoperations__research_1_1Solver.html#a9f52516c4ad3aced15492b20a58dc2d9">MakeDefaultRegularLimitParameters</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l02218"></a><span class="lineno"> 2218</span>&#160;</div><div class="line"><a name="l02222"></a><span class="lineno"> 2222</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#abb737b44b0a0335d550d2a740ba00236">SearchLimit</a>* <a class="code" href="classoperations__research_1_1Solver.html#a2f6e2c706c18512917dcfdcdeae1ae3f">MakeLimit</a>(<a class="code" href="classoperations__research_1_1Solver.html#abb737b44b0a0335d550d2a740ba00236">SearchLimit</a>* <span class="keyword">const</span> limit_1,</div><div class="line"><a name="l02223"></a><span class="lineno"> 2223</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#abb737b44b0a0335d550d2a740ba00236">SearchLimit</a>* <span class="keyword">const</span> limit_2);</div><div class="line"><a name="l02224"></a><span class="lineno"> 2224</span>&#160;</div><div class="line"><a name="l02227"></a><span class="lineno"> 2227</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#abb737b44b0a0335d550d2a740ba00236">SearchLimit</a>* <a class="code" href="classoperations__research_1_1Solver.html#a3ef03f593dc3029b44f34214a26a3700">MakeCustomLimit</a>(std::function&lt;<span class="keywordtype">bool</span>()&gt; limiter);</div><div class="line"><a name="l02228"></a><span class="lineno"> 2228</span>&#160;</div><div class="line"><a name="l02229"></a><span class="lineno"> 2229</span>&#160; <span class="comment">// TODO(user): DEPRECATE API of MakeSearchLog(.., IntVar* var,..).</span></div><div class="line"><a name="l02230"></a><span class="lineno"> 2230</span>&#160;</div><div class="line"><a name="l02233"></a><span class="lineno"> 2233</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aac32a6eabe1d316d7ff5f92fedd1ec5b">SearchMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#a8d0e5b9d35429b9e2e6f636d07c65c5b">MakeSearchLog</a>(<span class="keywordtype">int</span> branch_period);</div><div class="line"><a name="l02234"></a><span class="lineno"> 2234</span>&#160;</div><div class="line"><a name="l02236"></a><span class="lineno"> 2236</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aac32a6eabe1d316d7ff5f92fedd1ec5b">SearchMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#a8d0e5b9d35429b9e2e6f636d07c65c5b">MakeSearchLog</a>(<span class="keywordtype">int</span> branch_period, <a class="code" href="classoperations__research_1_1Solver.html#a34419e55556ff4e92b447fe895bdb9c3">IntVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l02237"></a><span class="lineno"> 2237</span>&#160;</div><div class="line"><a name="l02240"></a><span class="lineno"> 2240</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aac32a6eabe1d316d7ff5f92fedd1ec5b">SearchMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#a8d0e5b9d35429b9e2e6f636d07c65c5b">MakeSearchLog</a>(<span class="keywordtype">int</span> branch_period,</div><div class="line"><a name="l02241"></a><span class="lineno"> 2241</span>&#160; std::function&lt;std::string()&gt; display_callback);</div><div class="line"><a name="l02242"></a><span class="lineno"> 2242</span>&#160;</div><div class="line"><a name="l02245"></a><span class="lineno"> 2245</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aac32a6eabe1d316d7ff5f92fedd1ec5b">SearchMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#a8d0e5b9d35429b9e2e6f636d07c65c5b">MakeSearchLog</a>(<span class="keywordtype">int</span> branch_period, <a class="code" href="classoperations__research_1_1Solver.html#a34419e55556ff4e92b447fe895bdb9c3">IntVar</a>* var,</div><div class="line"><a name="l02246"></a><span class="lineno"> 2246</span>&#160; std::function&lt;std::string()&gt; display_callback);</div><div class="line"><a name="l02247"></a><span class="lineno"> 2247</span>&#160;</div><div class="line"><a name="l02250"></a><span class="lineno"> 2250</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aac32a6eabe1d316d7ff5f92fedd1ec5b">SearchMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#a8d0e5b9d35429b9e2e6f636d07c65c5b">MakeSearchLog</a>(<span class="keywordtype">int</span> branch_period, OptimizeVar* <span class="keyword">const</span> opt_var);</div><div class="line"><a name="l02251"></a><span class="lineno"> 2251</span>&#160;</div><div class="line"><a name="l02254"></a><span class="lineno"> 2254</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aac32a6eabe1d316d7ff5f92fedd1ec5b">SearchMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#a8d0e5b9d35429b9e2e6f636d07c65c5b">MakeSearchLog</a>(<span class="keywordtype">int</span> branch_period, OptimizeVar* <span class="keyword">const</span> opt_var,</div><div class="line"><a name="l02255"></a><span class="lineno"> 2255</span>&#160; std::function&lt;std::string()&gt; display_callback);</div><div class="line"><a name="l02256"></a><span class="lineno"> 2256</span>&#160;</div><div class="line"><a name="l02258"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1SearchLogParameters.html"> 2258</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structoperations__research_1_1Solver_1_1SearchLogParameters.html">SearchLogParameters</a> {</div><div class="line"><a name="l02261"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1SearchLogParameters.html#a0bf4ffabed15383c43b3c5e2dc265832"> 2261</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="structoperations__research_1_1Solver_1_1SearchLogParameters.html#a0bf4ffabed15383c43b3c5e2dc265832">branch_period</a> = 1;</div><div class="line"><a name="l02264"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1SearchLogParameters.html#a2c9d6d70a3357d2d6841660510cd6a19"> 2264</a></span>&#160; <a class="code" href="classoperations__research_1_1OptimizeVar.html">OptimizeVar</a>* <a class="code" href="structoperations__research_1_1Solver_1_1SearchLogParameters.html#a2c9d6d70a3357d2d6841660510cd6a19">objective</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02265"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1SearchLogParameters.html#acb71959af429e32049d2b911e4d92ac3"> 2265</a></span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="structoperations__research_1_1Solver_1_1SearchLogParameters.html#acb71959af429e32049d2b911e4d92ac3">variable</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l02269"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1SearchLogParameters.html#a82cee82f19757e963cd151f690439a61"> 2269</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="structoperations__research_1_1Solver_1_1SearchLogParameters.html#a82cee82f19757e963cd151f690439a61">scaling_factor</a> = 1.0;</div><div class="line"><a name="l02270"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1SearchLogParameters.html#a129303e4bd38a8cdba722b6238ed56e9"> 2270</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="structoperations__research_1_1Solver_1_1SearchLogParameters.html#a129303e4bd38a8cdba722b6238ed56e9">offset</a> = 0;</div><div class="line"><a name="l02273"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1SearchLogParameters.html#a6bf53f14d9ee02da685f39fbe96eacaf"> 2273</a></span>&#160; std::function&lt;std::string()&gt; <a class="code" href="structoperations__research_1_1Solver_1_1SearchLogParameters.html#a6bf53f14d9ee02da685f39fbe96eacaf">display_callback</a>;</div><div class="line"><a name="l02274"></a><span class="lineno"> 2274</span>&#160; };</div><div class="line"><a name="l02275"></a><span class="lineno"> 2275</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#a8d0e5b9d35429b9e2e6f636d07c65c5b">MakeSearchLog</a>(<a class="code" href="structoperations__research_1_1Solver_1_1SearchLogParameters.html">SearchLogParameters</a> <a class="code" href="classoperations__research_1_1Solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a>);</div><div class="line"><a name="l02276"></a><span class="lineno"> 2276</span>&#160;</div><div class="line"><a name="l02279"></a><span class="lineno"> 2279</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#a556ce59677fa190c2471f9adb7e3f8f8">MakeSearchTrace</a>(<span class="keyword">const</span> std::string&amp; prefix);</div><div class="line"><a name="l02280"></a><span class="lineno"> 2280</span>&#160;</div><div class="line"><a name="l02282"></a><span class="lineno"> 2282</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#a416d8eb8834bbced25d5fe0aa74597ae">MakeEnterSearchCallback</a>(std::function&lt;<span class="keywordtype">void</span>()&gt; callback);</div><div class="line"><a name="l02283"></a><span class="lineno"> 2283</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#a51a79aba914b679840efa3726c1b76d6">MakeExitSearchCallback</a>(std::function&lt;<span class="keywordtype">void</span>()&gt; callback);</div><div class="line"><a name="l02284"></a><span class="lineno"> 2284</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#a40f981d778145222976f90d5fe68369d">MakeAtSolutionCallback</a>(std::function&lt;<span class="keywordtype">void</span>()&gt; callback);</div><div class="line"><a name="l02285"></a><span class="lineno"> 2285</span>&#160;</div><div class="line"><a name="l02287"></a><span class="lineno"> 2287</span>&#160; <a class="code" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#a2428a463a691e437503836c8fcfef585">MakePrintModelVisitor</a>();</div><div class="line"><a name="l02289"></a><span class="lineno"> 2289</span>&#160; <a class="code" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#a59b6f290ac2642a4ad158f25bdbce49a">MakeStatisticsModelVisitor</a>();</div><div class="line"><a name="l02290"></a><span class="lineno"> 2290</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l02291"></a><span class="lineno"> 2291</span>&#160; <a class="code" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#aa98599d53aa61489fb180a7b1d75c812">MakeVariableDegreeVisitor</a>(</div><div class="line"><a name="l02293"></a><span class="lineno"> 2293</span>&#160; absl::flat_hash_map&lt;const IntVar*, int&gt;* <span class="keyword">const</span> map);</div><div class="line"><a name="l02294"></a><span class="lineno"> 2294</span>&#160;<span class="preprocessor">#endif // !defined(SWIG)</span></div><div class="line"><a name="l02295"></a><span class="lineno"> 2295</span>&#160;</div><div class="line"><a name="l02297"></a><span class="lineno"> 2297</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#a23abfe627ea8a7c7a457e3263823bbbd">MakeSymmetryManager</a>(</div><div class="line"><a name="l02298"></a><span class="lineno"> 2298</span>&#160; <span class="keyword">const</span> std::vector&lt;SymmetryBreaker*&gt;&amp; visitors);</div><div class="line"><a name="l02299"></a><span class="lineno"> 2299</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#a23abfe627ea8a7c7a457e3263823bbbd">MakeSymmetryManager</a>(<a class="code" href="classoperations__research_1_1SymmetryBreaker.html">SymmetryBreaker</a>* <span class="keyword">const</span> v1);</div><div class="line"><a name="l02300"></a><span class="lineno"> 2300</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#a23abfe627ea8a7c7a457e3263823bbbd">MakeSymmetryManager</a>(<a class="code" href="classoperations__research_1_1SymmetryBreaker.html">SymmetryBreaker</a>* <span class="keyword">const</span> v1,</div><div class="line"><a name="l02301"></a><span class="lineno"> 2301</span>&#160; <a class="code" href="classoperations__research_1_1SymmetryBreaker.html">SymmetryBreaker</a>* <span class="keyword">const</span> v2);</div><div class="line"><a name="l02302"></a><span class="lineno"> 2302</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#a23abfe627ea8a7c7a457e3263823bbbd">MakeSymmetryManager</a>(<a class="code" href="classoperations__research_1_1SymmetryBreaker.html">SymmetryBreaker</a>* <span class="keyword">const</span> v1,</div><div class="line"><a name="l02303"></a><span class="lineno"> 2303</span>&#160; <a class="code" href="classoperations__research_1_1SymmetryBreaker.html">SymmetryBreaker</a>* <span class="keyword">const</span> v2,</div><div class="line"><a name="l02304"></a><span class="lineno"> 2304</span>&#160; <a class="code" href="classoperations__research_1_1SymmetryBreaker.html">SymmetryBreaker</a>* <span class="keyword">const</span> v3);</div><div class="line"><a name="l02305"></a><span class="lineno"> 2305</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#a23abfe627ea8a7c7a457e3263823bbbd">MakeSymmetryManager</a>(<a class="code" href="classoperations__research_1_1SymmetryBreaker.html">SymmetryBreaker</a>* <span class="keyword">const</span> v1,</div><div class="line"><a name="l02306"></a><span class="lineno"> 2306</span>&#160; <a class="code" href="classoperations__research_1_1SymmetryBreaker.html">SymmetryBreaker</a>* <span class="keyword">const</span> v2,</div><div class="line"><a name="l02307"></a><span class="lineno"> 2307</span>&#160; <a class="code" href="classoperations__research_1_1SymmetryBreaker.html">SymmetryBreaker</a>* <span class="keyword">const</span> v3,</div><div class="line"><a name="l02308"></a><span class="lineno"> 2308</span>&#160; <a class="code" href="classoperations__research_1_1SymmetryBreaker.html">SymmetryBreaker</a>* <span class="keyword">const</span> v4);</div><div class="line"><a name="l02309"></a><span class="lineno"> 2309</span>&#160;</div><div class="line"><a name="l02311"></a><span class="lineno"> 2311</span>&#160; <a class="code" href="classoperations__research_1_1Decision.html">Decision</a>* <a class="code" href="classoperations__research_1_1Solver.html#a976a040463ead15c6386630de2bf4d5a">MakeAssignVariableValue</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var, int64 val);</div><div class="line"><a name="l02312"></a><span class="lineno"> 2312</span>&#160; <a class="code" href="classoperations__research_1_1Decision.html">Decision</a>* <a class="code" href="classoperations__research_1_1Solver.html#a414993c6e59e4a8557c9d3871c9e09ad">MakeVariableLessOrEqualValue</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var, int64 value);</div><div class="line"><a name="l02313"></a><span class="lineno"> 2313</span>&#160; <a class="code" href="classoperations__research_1_1Decision.html">Decision</a>* <a class="code" href="classoperations__research_1_1Solver.html#a4bee7c3d45b6378aa75c25ab25db48ab">MakeVariableGreaterOrEqualValue</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var, int64 value);</div><div class="line"><a name="l02314"></a><span class="lineno"> 2314</span>&#160; <a class="code" href="classoperations__research_1_1Decision.html">Decision</a>* <a class="code" href="classoperations__research_1_1Solver.html#ac63a29f1d105b33b6cfab10c9f5761e0">MakeSplitVariableDomain</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var, int64 val,</div><div class="line"><a name="l02315"></a><span class="lineno"> 2315</span>&#160; <span class="keywordtype">bool</span> start_with_lower_half);</div><div class="line"><a name="l02316"></a><span class="lineno"> 2316</span>&#160; <a class="code" href="classoperations__research_1_1Decision.html">Decision</a>* <a class="code" href="classoperations__research_1_1Solver.html#a130add6949f6c556afbf84887180a117">MakeAssignVariableValueOrFail</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var, int64 value);</div><div class="line"><a name="l02317"></a><span class="lineno"> 2317</span>&#160; <a class="code" href="classoperations__research_1_1Decision.html">Decision</a>* <a class="code" href="classoperations__research_1_1Solver.html#a05b1c3d42e90d3ddb7674be5692b69f4">MakeAssignVariableValueOrDoNothing</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var, int64 value);</div><div class="line"><a name="l02318"></a><span class="lineno"> 2318</span>&#160; <a class="code" href="classoperations__research_1_1Decision.html">Decision</a>* <a class="code" href="classoperations__research_1_1Solver.html#a305f50ae14045a4bde491e11d6686539">MakeAssignVariablesValues</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l02319"></a><span class="lineno"> 2319</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; values);</div><div class="line"><a name="l02320"></a><span class="lineno"> 2320</span>&#160; <a class="code" href="classoperations__research_1_1Decision.html">Decision</a>* <a class="code" href="classoperations__research_1_1Solver.html#aa7c76cb6401fb0c7c98a4d2e005bdeb3">MakeFailDecision</a>();</div><div class="line"><a name="l02321"></a><span class="lineno"> 2321</span>&#160; <a class="code" href="classoperations__research_1_1Decision.html">Decision</a>* <a class="code" href="classoperations__research_1_1Solver.html#adc21d0975be7623256b38bc0000338e8">MakeDecision</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Action</a> apply, <a class="code" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Action</a> refute);</div><div class="line"><a name="l02322"></a><span class="lineno"> 2322</span>&#160;</div><div class="line"><a name="l02331"></a><span class="lineno"> 2331</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#a685b066c4bdd6050e4be33c81104c10d">Compose</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db1,</div><div class="line"><a name="l02332"></a><span class="lineno"> 2332</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db2);</div><div class="line"><a name="l02333"></a><span class="lineno"> 2333</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#a685b066c4bdd6050e4be33c81104c10d">Compose</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db1,</div><div class="line"><a name="l02334"></a><span class="lineno"> 2334</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db2,</div><div class="line"><a name="l02335"></a><span class="lineno"> 2335</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db3);</div><div class="line"><a name="l02336"></a><span class="lineno"> 2336</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#a685b066c4bdd6050e4be33c81104c10d">Compose</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db1,</div><div class="line"><a name="l02337"></a><span class="lineno"> 2337</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db2,</div><div class="line"><a name="l02338"></a><span class="lineno"> 2338</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db3,</div><div class="line"><a name="l02339"></a><span class="lineno"> 2339</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db4);</div><div class="line"><a name="l02340"></a><span class="lineno"> 2340</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#a685b066c4bdd6050e4be33c81104c10d">Compose</a>(<span class="keyword">const</span> std::vector&lt;DecisionBuilder*&gt;&amp; dbs);</div><div class="line"><a name="l02341"></a><span class="lineno"> 2341</span>&#160;</div><div class="line"><a name="l02353"></a><span class="lineno"> 2353</span>&#160; <span class="comment">// TODO(user): The search tree can be balanced by using binary</span></div><div class="line"><a name="l02358"></a><span class="lineno"> 2358</span>&#160;<span class="comment"></span> <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#a5add678db16084b765a8c93a257528dc">Try</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db1, <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db2);</div><div class="line"><a name="l02359"></a><span class="lineno"> 2359</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#a5add678db16084b765a8c93a257528dc">Try</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db1, <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db2,</div><div class="line"><a name="l02360"></a><span class="lineno"> 2360</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db3);</div><div class="line"><a name="l02361"></a><span class="lineno"> 2361</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#a5add678db16084b765a8c93a257528dc">Try</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db1, <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db2,</div><div class="line"><a name="l02362"></a><span class="lineno"> 2362</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db3, <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db4);</div><div class="line"><a name="l02363"></a><span class="lineno"> 2363</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#a5add678db16084b765a8c93a257528dc">Try</a>(<span class="keyword">const</span> std::vector&lt;DecisionBuilder*&gt;&amp; dbs);</div><div class="line"><a name="l02364"></a><span class="lineno"> 2364</span>&#160;</div><div class="line"><a name="l02366"></a><span class="lineno"> 2366</span>&#160; <span class="comment">// TODO(user): name each of them differently, and document them (and do that</span></div><div class="line"><a name="l02368"></a><span class="lineno"> 2368</span>&#160;<span class="comment"></span> <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#ae18744a58f2c1e6e29a7589f7f94c713">MakePhase</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l02369"></a><span class="lineno"> 2369</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str, <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a> val_str);</div><div class="line"><a name="l02370"></a><span class="lineno"> 2370</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#ae18744a58f2c1e6e29a7589f7f94c713">MakePhase</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l02371"></a><span class="lineno"> 2371</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aa9726f5458b77973475a32178fe512b3">IndexEvaluator1</a> var_evaluator,</div><div class="line"><a name="l02372"></a><span class="lineno"> 2372</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a> val_str);</div><div class="line"><a name="l02373"></a><span class="lineno"> 2373</span>&#160;</div><div class="line"><a name="l02374"></a><span class="lineno"> 2374</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#ae18744a58f2c1e6e29a7589f7f94c713">MakePhase</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l02375"></a><span class="lineno"> 2375</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str,</div><div class="line"><a name="l02376"></a><span class="lineno"> 2376</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> value_evaluator);</div><div class="line"><a name="l02377"></a><span class="lineno"> 2377</span>&#160;</div><div class="line"><a name="l02380"></a><span class="lineno"> 2380</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#ae18744a58f2c1e6e29a7589f7f94c713">MakePhase</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l02381"></a><span class="lineno"> 2381</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str,</div><div class="line"><a name="l02382"></a><span class="lineno"> 2382</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a3094f1982f455fd97342c64b7c0b3ccf">VariableValueComparator</a> var_val1_val2_comparator);</div><div class="line"><a name="l02383"></a><span class="lineno"> 2383</span>&#160;</div><div class="line"><a name="l02384"></a><span class="lineno"> 2384</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#ae18744a58f2c1e6e29a7589f7f94c713">MakePhase</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l02385"></a><span class="lineno"> 2385</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aa9726f5458b77973475a32178fe512b3">IndexEvaluator1</a> var_evaluator,</div><div class="line"><a name="l02386"></a><span class="lineno"> 2386</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> value_evaluator);</div><div class="line"><a name="l02387"></a><span class="lineno"> 2387</span>&#160;</div><div class="line"><a name="l02388"></a><span class="lineno"> 2388</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#ae18744a58f2c1e6e29a7589f7f94c713">MakePhase</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l02389"></a><span class="lineno"> 2389</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str,</div><div class="line"><a name="l02390"></a><span class="lineno"> 2390</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> value_evaluator,</div><div class="line"><a name="l02391"></a><span class="lineno"> 2391</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aa9726f5458b77973475a32178fe512b3">IndexEvaluator1</a> tie_breaker);</div><div class="line"><a name="l02392"></a><span class="lineno"> 2392</span>&#160;</div><div class="line"><a name="l02393"></a><span class="lineno"> 2393</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#ae18744a58f2c1e6e29a7589f7f94c713">MakePhase</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l02394"></a><span class="lineno"> 2394</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aa9726f5458b77973475a32178fe512b3">IndexEvaluator1</a> var_evaluator,</div><div class="line"><a name="l02395"></a><span class="lineno"> 2395</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> value_evaluator,</div><div class="line"><a name="l02396"></a><span class="lineno"> 2396</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aa9726f5458b77973475a32178fe512b3">IndexEvaluator1</a> tie_breaker);</div><div class="line"><a name="l02397"></a><span class="lineno"> 2397</span>&#160;</div><div class="line"><a name="l02398"></a><span class="lineno"> 2398</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#ab56406db90514a6f451d57aba7044fdf">MakeDefaultPhase</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars);</div><div class="line"><a name="l02399"></a><span class="lineno"> 2399</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#ab56406db90514a6f451d57aba7044fdf">MakeDefaultPhase</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l02400"></a><span class="lineno"> 2400</span>&#160; <span class="keyword">const</span> <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html">DefaultPhaseParameters</a>&amp; <a class="code" href="classoperations__research_1_1Solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a>);</div><div class="line"><a name="l02401"></a><span class="lineno"> 2401</span>&#160;</div><div class="line"><a name="l02403"></a><span class="lineno"> 2403</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#ae18744a58f2c1e6e29a7589f7f94c713">MakePhase</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> v0, <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str,</div><div class="line"><a name="l02404"></a><span class="lineno"> 2404</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a> val_str);</div><div class="line"><a name="l02405"></a><span class="lineno"> 2405</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#ae18744a58f2c1e6e29a7589f7f94c713">MakePhase</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> v0, <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> v1,</div><div class="line"><a name="l02406"></a><span class="lineno"> 2406</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str, <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a> val_str);</div><div class="line"><a name="l02407"></a><span class="lineno"> 2407</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#ae18744a58f2c1e6e29a7589f7f94c713">MakePhase</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> v0, <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> v1,</div><div class="line"><a name="l02408"></a><span class="lineno"> 2408</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> v2, <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str,</div><div class="line"><a name="l02409"></a><span class="lineno"> 2409</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a> val_str);</div><div class="line"><a name="l02410"></a><span class="lineno"> 2410</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#ae18744a58f2c1e6e29a7589f7f94c713">MakePhase</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> v0, <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> v1,</div><div class="line"><a name="l02411"></a><span class="lineno"> 2411</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> v2, <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> v3,</div><div class="line"><a name="l02412"></a><span class="lineno"> 2412</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str, <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a> val_str);</div><div class="line"><a name="l02413"></a><span class="lineno"> 2413</span>&#160;</div><div class="line"><a name="l02419"></a><span class="lineno"> 2419</span>&#160; <a class="code" href="classoperations__research_1_1Decision.html">Decision</a>* <a class="code" href="classoperations__research_1_1Solver.html#acb902acd68446f898f490691c1da6fe9">MakeScheduleOrPostpone</a>(<a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var, int64 est,</div><div class="line"><a name="l02420"></a><span class="lineno"> 2420</span>&#160; int64* <span class="keyword">const</span> marker);</div><div class="line"><a name="l02421"></a><span class="lineno"> 2421</span>&#160;</div><div class="line"><a name="l02427"></a><span class="lineno"> 2427</span>&#160; <a class="code" href="classoperations__research_1_1Decision.html">Decision</a>* <a class="code" href="classoperations__research_1_1Solver.html#a5e32ac79fcf992d4bc3d44ca5b387dd0">MakeScheduleOrExpedite</a>(<a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var, int64 est,</div><div class="line"><a name="l02428"></a><span class="lineno"> 2428</span>&#160; int64* <span class="keyword">const</span> marker);</div><div class="line"><a name="l02429"></a><span class="lineno"> 2429</span>&#160;</div><div class="line"><a name="l02432"></a><span class="lineno"> 2432</span>&#160; <a class="code" href="classoperations__research_1_1Decision.html">Decision</a>* <a class="code" href="classoperations__research_1_1Solver.html#a62926457ce3ba1faaa6f1b6b3c2bc5dd">MakeRankFirstInterval</a>(<a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> sequence, <span class="keywordtype">int</span> index);</div><div class="line"><a name="l02433"></a><span class="lineno"> 2433</span>&#160;</div><div class="line"><a name="l02436"></a><span class="lineno"> 2436</span>&#160; <a class="code" href="classoperations__research_1_1Decision.html">Decision</a>* <a class="code" href="classoperations__research_1_1Solver.html#ac37c2bd07ceef4d026fec9fdf659734a">MakeRankLastInterval</a>(<a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> sequence, <span class="keywordtype">int</span> index);</div><div class="line"><a name="l02437"></a><span class="lineno"> 2437</span>&#160;</div><div class="line"><a name="l02443"></a><span class="lineno"> 2443</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#ae18744a58f2c1e6e29a7589f7f94c713">MakePhase</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l02444"></a><span class="lineno"> 2444</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> eval, <a class="code" href="classoperations__research_1_1Solver.html#a8b1044e7c2b76345532f848a982a7106">EvaluatorStrategy</a> str);</div><div class="line"><a name="l02445"></a><span class="lineno"> 2445</span>&#160;</div><div class="line"><a name="l02453"></a><span class="lineno"> 2453</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#ae18744a58f2c1e6e29a7589f7f94c713">MakePhase</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l02454"></a><span class="lineno"> 2454</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> eval, <a class="code" href="classoperations__research_1_1Solver.html#aa9726f5458b77973475a32178fe512b3">IndexEvaluator1</a> tie_breaker,</div><div class="line"><a name="l02455"></a><span class="lineno"> 2455</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a8b1044e7c2b76345532f848a982a7106">EvaluatorStrategy</a> str);</div><div class="line"><a name="l02456"></a><span class="lineno"> 2456</span>&#160;</div><div class="line"><a name="l02458"></a><span class="lineno"> 2458</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#ae18744a58f2c1e6e29a7589f7f94c713">MakePhase</a>(<span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; intervals,</div><div class="line"><a name="l02459"></a><span class="lineno"> 2459</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952f">IntervalStrategy</a> str);</div><div class="line"><a name="l02460"></a><span class="lineno"> 2460</span>&#160;</div><div class="line"><a name="l02461"></a><span class="lineno"> 2461</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#ae18744a58f2c1e6e29a7589f7f94c713">MakePhase</a>(<span class="keyword">const</span> std::vector&lt;SequenceVar*&gt;&amp; sequences,</div><div class="line"><a name="l02462"></a><span class="lineno"> 2462</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482b">SequenceStrategy</a> str);</div><div class="line"><a name="l02463"></a><span class="lineno"> 2463</span>&#160;</div><div class="line"><a name="l02466"></a><span class="lineno"> 2466</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#a43b52fda5b204c72475e5f8cbdca9fb9">MakeDecisionBuilderFromAssignment</a>(</div><div class="line"><a name="l02467"></a><span class="lineno"> 2467</span>&#160; <a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* <span class="keyword">const</span> assignment, <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div><div class="line"><a name="l02468"></a><span class="lineno"> 2468</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars);</div><div class="line"><a name="l02469"></a><span class="lineno"> 2469</span>&#160;</div><div class="line"><a name="l02472"></a><span class="lineno"> 2472</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#a1066ed37313e6403bc048606e862cae5">MakeConstraintAdder</a>(<a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <span class="keyword">const</span> ct);</div><div class="line"><a name="l02473"></a><span class="lineno"> 2473</span>&#160;</div><div class="line"><a name="l02478"></a><span class="lineno"> 2478</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#affb4d32c70dabba9c53820fc18b4873c">MakeSolveOnce</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db);</div><div class="line"><a name="l02479"></a><span class="lineno"> 2479</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#affb4d32c70dabba9c53820fc18b4873c">MakeSolveOnce</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div><div class="line"><a name="l02480"></a><span class="lineno"> 2480</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor1);</div><div class="line"><a name="l02481"></a><span class="lineno"> 2481</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#affb4d32c70dabba9c53820fc18b4873c">MakeSolveOnce</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div><div class="line"><a name="l02482"></a><span class="lineno"> 2482</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor1,</div><div class="line"><a name="l02483"></a><span class="lineno"> 2483</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor2);</div><div class="line"><a name="l02484"></a><span class="lineno"> 2484</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#affb4d32c70dabba9c53820fc18b4873c">MakeSolveOnce</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div><div class="line"><a name="l02485"></a><span class="lineno"> 2485</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor1,</div><div class="line"><a name="l02486"></a><span class="lineno"> 2486</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor2,</div><div class="line"><a name="l02487"></a><span class="lineno"> 2487</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor3);</div><div class="line"><a name="l02488"></a><span class="lineno"> 2488</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#affb4d32c70dabba9c53820fc18b4873c">MakeSolveOnce</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div><div class="line"><a name="l02489"></a><span class="lineno"> 2489</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor1,</div><div class="line"><a name="l02490"></a><span class="lineno"> 2490</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor2,</div><div class="line"><a name="l02491"></a><span class="lineno"> 2491</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor3,</div><div class="line"><a name="l02492"></a><span class="lineno"> 2492</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor4);</div><div class="line"><a name="l02493"></a><span class="lineno"> 2493</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#affb4d32c70dabba9c53820fc18b4873c">MakeSolveOnce</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div><div class="line"><a name="l02494"></a><span class="lineno"> 2494</span>&#160; <span class="keyword">const</span> std::vector&lt;SearchMonitor*&gt;&amp; monitors);</div><div class="line"><a name="l02495"></a><span class="lineno"> 2495</span>&#160;</div><div class="line"><a name="l02503"></a><span class="lineno"> 2503</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#a1d449616c809262cdbd42782d025380d">MakeNestedOptimize</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div><div class="line"><a name="l02504"></a><span class="lineno"> 2504</span>&#160; <a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* <span class="keyword">const</span> solution, <span class="keywordtype">bool</span> maximize,</div><div class="line"><a name="l02505"></a><span class="lineno"> 2505</span>&#160; int64 step);</div><div class="line"><a name="l02506"></a><span class="lineno"> 2506</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#a1d449616c809262cdbd42782d025380d">MakeNestedOptimize</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div><div class="line"><a name="l02507"></a><span class="lineno"> 2507</span>&#160; <a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* <span class="keyword">const</span> solution, <span class="keywordtype">bool</span> maximize,</div><div class="line"><a name="l02508"></a><span class="lineno"> 2508</span>&#160; int64 step,</div><div class="line"><a name="l02509"></a><span class="lineno"> 2509</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor1);</div><div class="line"><a name="l02510"></a><span class="lineno"> 2510</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#a1d449616c809262cdbd42782d025380d">MakeNestedOptimize</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div><div class="line"><a name="l02511"></a><span class="lineno"> 2511</span>&#160; <a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* <span class="keyword">const</span> solution, <span class="keywordtype">bool</span> maximize,</div><div class="line"><a name="l02512"></a><span class="lineno"> 2512</span>&#160; int64 step, <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor1,</div><div class="line"><a name="l02513"></a><span class="lineno"> 2513</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor2);</div><div class="line"><a name="l02514"></a><span class="lineno"> 2514</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#a1d449616c809262cdbd42782d025380d">MakeNestedOptimize</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div><div class="line"><a name="l02515"></a><span class="lineno"> 2515</span>&#160; <a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* <span class="keyword">const</span> solution, <span class="keywordtype">bool</span> maximize,</div><div class="line"><a name="l02516"></a><span class="lineno"> 2516</span>&#160; int64 step, <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor1,</div><div class="line"><a name="l02517"></a><span class="lineno"> 2517</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor2,</div><div class="line"><a name="l02518"></a><span class="lineno"> 2518</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor3);</div><div class="line"><a name="l02519"></a><span class="lineno"> 2519</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#a1d449616c809262cdbd42782d025380d">MakeNestedOptimize</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db,</div><div class="line"><a name="l02520"></a><span class="lineno"> 2520</span>&#160; <a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* <span class="keyword">const</span> solution, <span class="keywordtype">bool</span> maximize,</div><div class="line"><a name="l02521"></a><span class="lineno"> 2521</span>&#160; int64 step, <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor1,</div><div class="line"><a name="l02522"></a><span class="lineno"> 2522</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor2,</div><div class="line"><a name="l02523"></a><span class="lineno"> 2523</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor3,</div><div class="line"><a name="l02524"></a><span class="lineno"> 2524</span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor4);</div><div class="line"><a name="l02525"></a><span class="lineno"> 2525</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#a1d449616c809262cdbd42782d025380d">MakeNestedOptimize</a>(</div><div class="line"><a name="l02526"></a><span class="lineno"> 2526</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db, <a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* <span class="keyword">const</span> solution, <span class="keywordtype">bool</span> maximize,</div><div class="line"><a name="l02527"></a><span class="lineno"> 2527</span>&#160; int64 step, <span class="keyword">const</span> std::vector&lt;SearchMonitor*&gt;&amp; monitors);</div><div class="line"><a name="l02528"></a><span class="lineno"> 2528</span>&#160;</div><div class="line"><a name="l02531"></a><span class="lineno"> 2531</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#a81bf8daea61d4b3a3b07b6cd9a1a2aaa">MakeRestoreAssignment</a>(<a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* assignment);</div><div class="line"><a name="l02532"></a><span class="lineno"> 2532</span>&#160;</div><div class="line"><a name="l02535"></a><span class="lineno"> 2535</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#a8a7da3f31ad7c5b52efbe18192222c9c">MakeStoreAssignment</a>(<a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* assignment);</div><div class="line"><a name="l02536"></a><span class="lineno"> 2536</span>&#160;</div><div class="line"><a name="l02538"></a><span class="lineno"> 2538</span>&#160; <a class="code" href="classoperations__research_1_1LocalSearchOperator.html">LocalSearchOperator</a>* <a class="code" href="classoperations__research_1_1Solver.html#ac116c031b6888d29347fa1cc923dedf8">MakeOperator</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l02539"></a><span class="lineno"> 2539</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18">LocalSearchOperators</a> op);</div><div class="line"><a name="l02540"></a><span class="lineno"> 2540</span>&#160; <a class="code" href="classoperations__research_1_1LocalSearchOperator.html">LocalSearchOperator</a>* <a class="code" href="classoperations__research_1_1Solver.html#ac116c031b6888d29347fa1cc923dedf8">MakeOperator</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l02541"></a><span class="lineno"> 2541</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; secondary_vars,</div><div class="line"><a name="l02542"></a><span class="lineno"> 2542</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18">LocalSearchOperators</a> op);</div><div class="line"><a name="l02543"></a><span class="lineno"> 2543</span>&#160; <span class="comment">// TODO(user): Make the callback an IndexEvaluator2 when there are no</span></div><div class="line"><a name="l02544"></a><span class="lineno"> 2544</span>&#160; <span class="comment">// secondary variables.</span></div><div class="line"><a name="l02545"></a><span class="lineno"> 2545</span>&#160; <a class="code" href="classoperations__research_1_1LocalSearchOperator.html">LocalSearchOperator</a>* <a class="code" href="classoperations__research_1_1Solver.html#ac116c031b6888d29347fa1cc923dedf8">MakeOperator</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l02546"></a><span class="lineno"> 2546</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a86570ad216b68c88de1ef27085e3d084">IndexEvaluator3</a> evaluator,</div><div class="line"><a name="l02547"></a><span class="lineno"> 2547</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4">EvaluatorLocalSearchOperators</a> op);</div><div class="line"><a name="l02548"></a><span class="lineno"> 2548</span>&#160; <a class="code" href="classoperations__research_1_1LocalSearchOperator.html">LocalSearchOperator</a>* <a class="code" href="classoperations__research_1_1Solver.html#ac116c031b6888d29347fa1cc923dedf8">MakeOperator</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l02549"></a><span class="lineno"> 2549</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; secondary_vars,</div><div class="line"><a name="l02550"></a><span class="lineno"> 2550</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a86570ad216b68c88de1ef27085e3d084">IndexEvaluator3</a> evaluator,</div><div class="line"><a name="l02551"></a><span class="lineno"> 2551</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4">EvaluatorLocalSearchOperators</a> op);</div><div class="line"><a name="l02552"></a><span class="lineno"> 2552</span>&#160;</div><div class="line"><a name="l02560"></a><span class="lineno"> 2560</span>&#160; <a class="code" href="classoperations__research_1_1LocalSearchOperator.html">LocalSearchOperator</a>* <a class="code" href="classoperations__research_1_1Solver.html#acec94198cb62cff2d72fe123bca865a0">MakeRandomLnsOperator</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l02561"></a><span class="lineno"> 2561</span>&#160; <span class="keywordtype">int</span> number_of_variables);</div><div class="line"><a name="l02562"></a><span class="lineno"> 2562</span>&#160; <a class="code" href="classoperations__research_1_1LocalSearchOperator.html">LocalSearchOperator</a>* <a class="code" href="classoperations__research_1_1Solver.html#acec94198cb62cff2d72fe123bca865a0">MakeRandomLnsOperator</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l02563"></a><span class="lineno"> 2563</span>&#160; <span class="keywordtype">int</span> number_of_variables,</div><div class="line"><a name="l02564"></a><span class="lineno"> 2564</span>&#160; int32 seed);</div><div class="line"><a name="l02565"></a><span class="lineno"> 2565</span>&#160;</div><div class="line"><a name="l02571"></a><span class="lineno"> 2571</span>&#160; <a class="code" href="classoperations__research_1_1LocalSearchOperator.html">LocalSearchOperator</a>* <a class="code" href="classoperations__research_1_1Solver.html#aabb851383d675afc723dd983ac8ee075">MakeMoveTowardTargetOperator</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>&amp; target);</div><div class="line"><a name="l02572"></a><span class="lineno"> 2572</span>&#160;</div><div class="line"><a name="l02579"></a><span class="lineno"> 2579</span>&#160; <a class="code" href="classoperations__research_1_1LocalSearchOperator.html">LocalSearchOperator</a>* <a class="code" href="classoperations__research_1_1Solver.html#aabb851383d675afc723dd983ac8ee075">MakeMoveTowardTargetOperator</a>(</div><div class="line"><a name="l02580"></a><span class="lineno"> 2580</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; variables,</div><div class="line"><a name="l02581"></a><span class="lineno"> 2581</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; target_values);</div><div class="line"><a name="l02582"></a><span class="lineno"> 2582</span>&#160;</div><div class="line"><a name="l02613"></a><span class="lineno"> 2613</span>&#160; <a class="code" href="classoperations__research_1_1LocalSearchOperator.html">LocalSearchOperator</a>* <a class="code" href="classoperations__research_1_1Solver.html#afb58deed64a977c100587663dcc6f028">ConcatenateOperators</a>(</div><div class="line"><a name="l02614"></a><span class="lineno"> 2614</span>&#160; <span class="keyword">const</span> std::vector&lt;LocalSearchOperator*&gt;&amp; ops);</div><div class="line"><a name="l02615"></a><span class="lineno"> 2615</span>&#160; <a class="code" href="classoperations__research_1_1LocalSearchOperator.html">LocalSearchOperator</a>* <a class="code" href="classoperations__research_1_1Solver.html#afb58deed64a977c100587663dcc6f028">ConcatenateOperators</a>(</div><div class="line"><a name="l02616"></a><span class="lineno"> 2616</span>&#160; <span class="keyword">const</span> std::vector&lt;LocalSearchOperator*&gt;&amp; ops, <span class="keywordtype">bool</span> restart);</div><div class="line"><a name="l02617"></a><span class="lineno"> 2617</span>&#160; <a class="code" href="classoperations__research_1_1LocalSearchOperator.html">LocalSearchOperator</a>* <a class="code" href="classoperations__research_1_1Solver.html#afb58deed64a977c100587663dcc6f028">ConcatenateOperators</a>(</div><div class="line"><a name="l02618"></a><span class="lineno"> 2618</span>&#160; <span class="keyword">const</span> std::vector&lt;LocalSearchOperator*&gt;&amp; ops,</div><div class="line"><a name="l02619"></a><span class="lineno"> 2619</span>&#160; std::function&lt;int64(<span class="keywordtype">int</span>, <span class="keywordtype">int</span>)&gt; evaluator);</div><div class="line"><a name="l02622"></a><span class="lineno"> 2622</span>&#160; <a class="code" href="classoperations__research_1_1LocalSearchOperator.html">LocalSearchOperator</a>* <a class="code" href="classoperations__research_1_1Solver.html#a3b7868c6dd1939fd432fb628c974cca9">RandomConcatenateOperators</a>(</div><div class="line"><a name="l02623"></a><span class="lineno"> 2623</span>&#160; <span class="keyword">const</span> std::vector&lt;LocalSearchOperator*&gt;&amp; ops);</div><div class="line"><a name="l02624"></a><span class="lineno"> 2624</span>&#160;</div><div class="line"><a name="l02628"></a><span class="lineno"> 2628</span>&#160; <a class="code" href="classoperations__research_1_1LocalSearchOperator.html">LocalSearchOperator</a>* <a class="code" href="classoperations__research_1_1Solver.html#a3b7868c6dd1939fd432fb628c974cca9">RandomConcatenateOperators</a>(</div><div class="line"><a name="l02629"></a><span class="lineno"> 2629</span>&#160; <span class="keyword">const</span> std::vector&lt;LocalSearchOperator*&gt;&amp; ops, int32 seed);</div><div class="line"><a name="l02630"></a><span class="lineno"> 2630</span>&#160;</div><div class="line"><a name="l02636"></a><span class="lineno"> 2636</span>&#160; <a class="code" href="classoperations__research_1_1LocalSearchOperator.html">LocalSearchOperator</a>* <a class="code" href="classoperations__research_1_1Solver.html#a0698b592ea17407640a41889366a47b9">MakeNeighborhoodLimit</a>(<a class="code" href="classoperations__research_1_1LocalSearchOperator.html">LocalSearchOperator</a>* <span class="keyword">const</span> op,</div><div class="line"><a name="l02637"></a><span class="lineno"> 2637</span>&#160; int64 limit);</div><div class="line"><a name="l02638"></a><span class="lineno"> 2638</span>&#160;</div><div class="line"><a name="l02663"></a><span class="lineno"> 2663</span>&#160; <span class="comment">// TODO(user): Make a variant which runs a local search after each</span></div><div class="line"><a name="l02664"></a><span class="lineno"> 2664</span>&#160; <span class="comment">// solution found in a DFS.</span></div><div class="line"><a name="l02665"></a><span class="lineno"> 2665</span>&#160;</div><div class="line"><a name="l02666"></a><span class="lineno"> 2666</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#a9cd4e8b40edef03778fe1bd053eb41a9">MakeLocalSearchPhase</a>(</div><div class="line"><a name="l02667"></a><span class="lineno"> 2667</span>&#160; <a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* <span class="keyword">const</span> assignment,</div><div class="line"><a name="l02668"></a><span class="lineno"> 2668</span>&#160; LocalSearchPhaseParameters* <span class="keyword">const</span> <a class="code" href="classoperations__research_1_1Solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a>);</div><div class="line"><a name="l02669"></a><span class="lineno"> 2669</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#a9cd4e8b40edef03778fe1bd053eb41a9">MakeLocalSearchPhase</a>(</div><div class="line"><a name="l02670"></a><span class="lineno"> 2670</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> first_solution,</div><div class="line"><a name="l02671"></a><span class="lineno"> 2671</span>&#160; LocalSearchPhaseParameters* <span class="keyword">const</span> <a class="code" href="classoperations__research_1_1Solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a>);</div><div class="line"><a name="l02673"></a><span class="lineno"> 2673</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#a9cd4e8b40edef03778fe1bd053eb41a9">MakeLocalSearchPhase</a>(</div><div class="line"><a name="l02674"></a><span class="lineno"> 2674</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> first_solution,</div><div class="line"><a name="l02675"></a><span class="lineno"> 2675</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> first_solution_sub_decision_builder,</div><div class="line"><a name="l02676"></a><span class="lineno"> 2676</span>&#160; LocalSearchPhaseParameters* <span class="keyword">const</span> <a class="code" href="classoperations__research_1_1Solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a>);</div><div class="line"><a name="l02677"></a><span class="lineno"> 2677</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#a9cd4e8b40edef03778fe1bd053eb41a9">MakeLocalSearchPhase</a>(</div><div class="line"><a name="l02678"></a><span class="lineno"> 2678</span>&#160; <span class="keyword">const</span> std::vector&lt;SequenceVar*&gt;&amp; vars,</div><div class="line"><a name="l02679"></a><span class="lineno"> 2679</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> first_solution,</div><div class="line"><a name="l02680"></a><span class="lineno"> 2680</span>&#160; LocalSearchPhaseParameters* <span class="keyword">const</span> <a class="code" href="classoperations__research_1_1Solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a>);</div><div class="line"><a name="l02681"></a><span class="lineno"> 2681</span>&#160;</div><div class="line"><a name="l02683"></a><span class="lineno"> 2683</span>&#160; <a class="code" href="classoperations__research_1_1SolutionPool.html">SolutionPool</a>* <a class="code" href="classoperations__research_1_1Solver.html#aac5c854c4c6f6022182b2dfcf3ec1692">MakeDefaultSolutionPool</a>();</div><div class="line"><a name="l02684"></a><span class="lineno"> 2684</span>&#160;</div><div class="line"><a name="l02686"></a><span class="lineno"> 2686</span>&#160; LocalSearchPhaseParameters* <a class="code" href="classoperations__research_1_1Solver.html#a2b404451964b1e791a691b4d0cee4259">MakeLocalSearchPhaseParameters</a>(</div><div class="line"><a name="l02687"></a><span class="lineno"> 2687</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* objective, <a class="code" href="classoperations__research_1_1LocalSearchOperator.html">LocalSearchOperator</a>* <span class="keyword">const</span> ls_operator,</div><div class="line"><a name="l02688"></a><span class="lineno"> 2688</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> sub_decision_builder);</div><div class="line"><a name="l02689"></a><span class="lineno"> 2689</span>&#160; LocalSearchPhaseParameters* <a class="code" href="classoperations__research_1_1Solver.html#a2b404451964b1e791a691b4d0cee4259">MakeLocalSearchPhaseParameters</a>(</div><div class="line"><a name="l02690"></a><span class="lineno"> 2690</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* objective, <a class="code" href="classoperations__research_1_1LocalSearchOperator.html">LocalSearchOperator</a>* <span class="keyword">const</span> ls_operator,</div><div class="line"><a name="l02691"></a><span class="lineno"> 2691</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> sub_decision_builder, <a class="code" href="classoperations__research_1_1RegularLimit.html">RegularLimit</a>* <span class="keyword">const</span> limit);</div><div class="line"><a name="l02692"></a><span class="lineno"> 2692</span>&#160; LocalSearchPhaseParameters* <a class="code" href="classoperations__research_1_1Solver.html#a2b404451964b1e791a691b4d0cee4259">MakeLocalSearchPhaseParameters</a>(</div><div class="line"><a name="l02693"></a><span class="lineno"> 2693</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* objective, <a class="code" href="classoperations__research_1_1LocalSearchOperator.html">LocalSearchOperator</a>* <span class="keyword">const</span> ls_operator,</div><div class="line"><a name="l02694"></a><span class="lineno"> 2694</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> sub_decision_builder, <a class="code" href="classoperations__research_1_1RegularLimit.html">RegularLimit</a>* <span class="keyword">const</span> limit,</div><div class="line"><a name="l02695"></a><span class="lineno"> 2695</span>&#160; <span class="keyword">const</span> std::vector&lt;LocalSearchFilter*&gt;&amp; filters);</div><div class="line"><a name="l02696"></a><span class="lineno"> 2696</span>&#160;</div><div class="line"><a name="l02697"></a><span class="lineno"> 2697</span>&#160; LocalSearchPhaseParameters* <a class="code" href="classoperations__research_1_1Solver.html#a2b404451964b1e791a691b4d0cee4259">MakeLocalSearchPhaseParameters</a>(</div><div class="line"><a name="l02698"></a><span class="lineno"> 2698</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* objective, <a class="code" href="classoperations__research_1_1SolutionPool.html">SolutionPool</a>* <span class="keyword">const</span> pool,</div><div class="line"><a name="l02699"></a><span class="lineno"> 2699</span>&#160; <a class="code" href="classoperations__research_1_1LocalSearchOperator.html">LocalSearchOperator</a>* <span class="keyword">const</span> ls_operator,</div><div class="line"><a name="l02700"></a><span class="lineno"> 2700</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> sub_decision_builder);</div><div class="line"><a name="l02701"></a><span class="lineno"> 2701</span>&#160; LocalSearchPhaseParameters* <a class="code" href="classoperations__research_1_1Solver.html#a2b404451964b1e791a691b4d0cee4259">MakeLocalSearchPhaseParameters</a>(</div><div class="line"><a name="l02702"></a><span class="lineno"> 2702</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* objective, <a class="code" href="classoperations__research_1_1SolutionPool.html">SolutionPool</a>* <span class="keyword">const</span> pool,</div><div class="line"><a name="l02703"></a><span class="lineno"> 2703</span>&#160; <a class="code" href="classoperations__research_1_1LocalSearchOperator.html">LocalSearchOperator</a>* <span class="keyword">const</span> ls_operator,</div><div class="line"><a name="l02704"></a><span class="lineno"> 2704</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> sub_decision_builder, <a class="code" href="classoperations__research_1_1RegularLimit.html">RegularLimit</a>* <span class="keyword">const</span> limit);</div><div class="line"><a name="l02705"></a><span class="lineno"> 2705</span>&#160; LocalSearchPhaseParameters* <a class="code" href="classoperations__research_1_1Solver.html#a2b404451964b1e791a691b4d0cee4259">MakeLocalSearchPhaseParameters</a>(</div><div class="line"><a name="l02706"></a><span class="lineno"> 2706</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* objective, <a class="code" href="classoperations__research_1_1SolutionPool.html">SolutionPool</a>* <span class="keyword">const</span> pool,</div><div class="line"><a name="l02707"></a><span class="lineno"> 2707</span>&#160; <a class="code" href="classoperations__research_1_1LocalSearchOperator.html">LocalSearchOperator</a>* <span class="keyword">const</span> ls_operator,</div><div class="line"><a name="l02708"></a><span class="lineno"> 2708</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> sub_decision_builder, <a class="code" href="classoperations__research_1_1RegularLimit.html">RegularLimit</a>* <span class="keyword">const</span> limit,</div><div class="line"><a name="l02709"></a><span class="lineno"> 2709</span>&#160; <span class="keyword">const</span> std::vector&lt;LocalSearchFilter*&gt;&amp; filters);</div><div class="line"><a name="l02710"></a><span class="lineno"> 2710</span>&#160;</div><div class="line"><a name="l02712"></a><span class="lineno"> 2712</span>&#160; <a class="code" href="classoperations__research_1_1LocalSearchFilter.html">LocalSearchFilter</a>* <a class="code" href="classoperations__research_1_1Solver.html#a2de6e91f22c2a71edc455c7f3c0363f4">MakeVariableDomainFilter</a>();</div><div class="line"><a name="l02713"></a><span class="lineno"> 2713</span>&#160; <a class="code" href="classoperations__research_1_1IntVarLocalSearchFilter.html">IntVarLocalSearchFilter</a>* <a class="code" href="classoperations__research_1_1Solver.html#a1af9539be3ec13dc54536bdd9d02539a">MakeSumObjectiveFilter</a>(</div><div class="line"><a name="l02714"></a><span class="lineno"> 2714</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, <a class="code" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> values,</div><div class="line"><a name="l02715"></a><span class="lineno"> 2715</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#afd2d924f019d44bc99930a1e931a735f">Solver::LocalSearchFilterBound</a> filter_enum);</div><div class="line"><a name="l02716"></a><span class="lineno"> 2716</span>&#160; <a class="code" href="classoperations__research_1_1IntVarLocalSearchFilter.html">IntVarLocalSearchFilter</a>* <a class="code" href="classoperations__research_1_1Solver.html#a1af9539be3ec13dc54536bdd9d02539a">MakeSumObjectiveFilter</a>(</div><div class="line"><a name="l02717"></a><span class="lineno"> 2717</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div><div class="line"><a name="l02718"></a><span class="lineno"> 2718</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; secondary_vars, <a class="code" href="classoperations__research_1_1Solver.html#a86570ad216b68c88de1ef27085e3d084">IndexEvaluator3</a> values,</div><div class="line"><a name="l02719"></a><span class="lineno"> 2719</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#afd2d924f019d44bc99930a1e931a735f">Solver::LocalSearchFilterBound</a> filter_enum);</div><div class="line"><a name="l02720"></a><span class="lineno"> 2720</span>&#160;</div><div class="line"><a name="l02723"></a><span class="lineno"> 2723</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a4de855c905df4a729715972dc39997a4">TopPeriodicCheck</a>();</div><div class="line"><a name="l02727"></a><span class="lineno"> 2727</span>&#160; <span class="keywordtype">int</span> <a class="code" href="classoperations__research_1_1Solver.html#ab003619f8e2f35a1ca01aa7713c674ea">TopProgressPercent</a>();</div><div class="line"><a name="l02728"></a><span class="lineno"> 2728</span>&#160;</div><div class="line"><a name="l02732"></a><span class="lineno"> 2732</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a71535de01a6527099122f4b7284e1796">PushState</a>();</div><div class="line"><a name="l02733"></a><span class="lineno"> 2733</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a831b8d703cefe8bce66a0483e08917ee">PopState</a>();</div><div class="line"><a name="l02734"></a><span class="lineno"> 2734</span>&#160;</div><div class="line"><a name="l02737"></a><span class="lineno"> 2737</span>&#160; <span class="keywordtype">int</span> <a class="code" href="classoperations__research_1_1Solver.html#a657ccc52a96d58f8c0e8eedc204952fb">SearchDepth</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l02738"></a><span class="lineno"> 2738</span>&#160;</div><div class="line"><a name="l02741"></a><span class="lineno"> 2741</span>&#160; <span class="keywordtype">int</span> <a class="code" href="classoperations__research_1_1Solver.html#aac9afa5dce7f5a9edfa9655496dbc47b">SearchLeftDepth</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l02742"></a><span class="lineno"> 2742</span>&#160;</div><div class="line"><a name="l02745"></a><span class="lineno"> 2745</span>&#160; <span class="keywordtype">int</span> <a class="code" href="classoperations__research_1_1Solver.html#a8d9ad7ab9d335a6284cf55573c1e99a1">SolveDepth</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l02746"></a><span class="lineno"> 2746</span>&#160;</div><div class="line"><a name="l02748"></a><span class="lineno"> 2748</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#accc247a793239898fa4a822389614c73">SetBranchSelector</a>(<a class="code" href="classoperations__research_1_1Solver.html#ae57bc6f29c7b4343cb90aa1946ce1869">BranchSelector</a> bs);</div><div class="line"><a name="l02749"></a><span class="lineno"> 2749</span>&#160;</div><div class="line"><a name="l02751"></a><span class="lineno"> 2751</span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <a class="code" href="classoperations__research_1_1Solver.html#a357e8035bc8fad4fde163bc65b3f757d">MakeApplyBranchSelector</a>(<a class="code" href="classoperations__research_1_1Solver.html#ae57bc6f29c7b4343cb90aa1946ce1869">BranchSelector</a> bs);</div><div class="line"><a name="l02752"></a><span class="lineno"> 2752</span>&#160;</div><div class="line"><a name="l02754"></a><span class="lineno"> 2754</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div><div class="line"><a name="l02755"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a675d33a9ef9aa399017fb68e652c7a5c"> 2755</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a675d33a9ef9aa399017fb68e652c7a5c">SaveAndSetValue</a>(T* adr, T val) {</div><div class="line"><a name="l02756"></a><span class="lineno"> 2756</span>&#160; <span class="keywordflow">if</span> (*adr != val) {</div><div class="line"><a name="l02757"></a><span class="lineno"> 2757</span>&#160; InternalSaveValue(adr);</div><div class="line"><a name="l02758"></a><span class="lineno"> 2758</span>&#160; *adr = val;</div><div class="line"><a name="l02759"></a><span class="lineno"> 2759</span>&#160; }</div><div class="line"><a name="l02760"></a><span class="lineno"> 2760</span>&#160; }</div><div class="line"><a name="l02761"></a><span class="lineno"> 2761</span>&#160;</div><div class="line"><a name="l02763"></a><span class="lineno"> 2763</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div><div class="line"><a name="l02764"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#affc00ecba247e10af0e2bebb3e1718c5"> 2764</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#affc00ecba247e10af0e2bebb3e1718c5">SaveAndAdd</a>(T* adr, T val) {</div><div class="line"><a name="l02765"></a><span class="lineno"> 2765</span>&#160; <span class="keywordflow">if</span> (val != 0) {</div><div class="line"><a name="l02766"></a><span class="lineno"> 2766</span>&#160; InternalSaveValue(adr);</div><div class="line"><a name="l02767"></a><span class="lineno"> 2767</span>&#160; (*adr) += val;</div><div class="line"><a name="l02768"></a><span class="lineno"> 2768</span>&#160; }</div><div class="line"><a name="l02769"></a><span class="lineno"> 2769</span>&#160; }</div><div class="line"><a name="l02770"></a><span class="lineno"> 2770</span>&#160;</div><div class="line"><a name="l02772"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a54362ea48f6e179eb3264e4e3d910d03"> 2772</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1Solver.html#a54362ea48f6e179eb3264e4e3d910d03">Rand64</a>(int64 size) { <span class="keywordflow">return</span> random_.Next64() % size; }</div><div class="line"><a name="l02773"></a><span class="lineno"> 2773</span>&#160;</div><div class="line"><a name="l02775"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ad9245209bfba33fe84129683a93a27a7"> 2775</a></span>&#160; int32 <a class="code" href="classoperations__research_1_1Solver.html#ad9245209bfba33fe84129683a93a27a7">Rand32</a>(int32 size) { <span class="keywordflow">return</span> random_.Next() % size; }</div><div class="line"><a name="l02776"></a><span class="lineno"> 2776</span>&#160;</div><div class="line"><a name="l02778"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab1d99d874f178f28a6cc2abc9c6f30a4"> 2778</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#ab1d99d874f178f28a6cc2abc9c6f30a4">ReSeed</a>(int32 seed) { random_.Reset(seed); }</div><div class="line"><a name="l02779"></a><span class="lineno"> 2779</span>&#160;</div><div class="line"><a name="l02783"></a><span class="lineno"> 2783</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#adb5dd2b903aed4484d190730863f26c2">ExportProfilingOverview</a>(<span class="keyword">const</span> std::string&amp; filename);</div><div class="line"><a name="l02784"></a><span class="lineno"> 2784</span>&#160;</div><div class="line"><a name="l02786"></a><span class="lineno"> 2786</span>&#160; <span class="comment">// TODO(user): Add a profiling protocol buffer and merge demon and local</span></div><div class="line"><a name="l02788"></a><span class="lineno"> 2788</span>&#160;<span class="comment"></span> std::string <a class="code" href="classoperations__research_1_1Solver.html#aac351c16876d84a5b0602aa1337a3c61">LocalSearchProfile</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l02789"></a><span class="lineno"> 2789</span>&#160;</div><div class="line"><a name="l02793"></a><span class="lineno"> 2793</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Solver.html#ab2613a9bd44c5b87559103fc66bfbda4">CurrentlyInSolve</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l02794"></a><span class="lineno"> 2794</span>&#160;</div><div class="line"><a name="l02797"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a86ecff14fc3b94df60069a4bca94c06b"> 2797</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="classoperations__research_1_1Solver.html#a86ecff14fc3b94df60069a4bca94c06b">constraints</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> constraints_list_.size(); }</div><div class="line"><a name="l02798"></a><span class="lineno"> 2798</span>&#160;</div><div class="line"><a name="l02800"></a><span class="lineno"> 2800</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#aac4aa5ecf086378b1bbac4b669bab4db">Accept</a>(<a class="code" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a>* <span class="keyword">const</span> visitor) <span class="keyword">const</span>;</div><div class="line"><a name="l02801"></a><span class="lineno"> 2801</span>&#160;</div><div class="line"><a name="l02802"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#afb28bd81075ef9b2f5a29c32eb46ba92"> 2802</a></span>&#160; <a class="code" href="classoperations__research_1_1Decision.html">Decision</a>* <a class="code" href="classoperations__research_1_1Solver.html#afb28bd81075ef9b2f5a29c32eb46ba92">balancing_decision</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> balancing_decision_.get(); }</div><div class="line"><a name="l02803"></a><span class="lineno"> 2803</span>&#160;</div><div class="line"><a name="l02805"></a><span class="lineno"> 2805</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l02806"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ae9387021d508fb4ecec7728972d7b8a4"> 2806</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#ae9387021d508fb4ecec7728972d7b8a4">set_fail_intercept</a>(std::function&lt;<span class="keywordtype">void</span>()&gt; fail_intercept) {</div><div class="line"><a name="l02807"></a><span class="lineno"> 2807</span>&#160; fail_intercept_ = std::move(fail_intercept);</div><div class="line"><a name="l02808"></a><span class="lineno"> 2808</span>&#160; }</div><div class="line"><a name="l02809"></a><span class="lineno"> 2809</span>&#160;<span class="preprocessor">#endif // !defined(SWIG)</span></div><div class="line"><a name="l02810"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a95d15794f0eaa4727439f364889a8064"> 2810</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a95d15794f0eaa4727439f364889a8064">clear_fail_intercept</a>() { fail_intercept_ = <span class="keyword">nullptr</span>; }</div><div class="line"><a name="l02812"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a10eb8307ae92ccc5dd7cbd17a9e5a4a6"> 2812</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a17a56adc8ee57642c3f00a1778319192">DemonProfiler</a>* <a class="code" href="classoperations__research_1_1Solver.html#a10eb8307ae92ccc5dd7cbd17a9e5a4a6">demon_profiler</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> demon_profiler_; }</div><div class="line"><a name="l02813"></a><span class="lineno"> 2813</span>&#160; <span class="comment">// TODO(user): Get rid of the following methods once fast local search is</span></div><div class="line"><a name="l02816"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a5672241cc0faf1be50826c7795320cac"> 2816</a></span>&#160;<span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a5672241cc0faf1be50826c7795320cac">SetUseFastLocalSearch</a>(<span class="keywordtype">bool</span> use_fast_local_search) {</div><div class="line"><a name="l02817"></a><span class="lineno"> 2817</span>&#160; use_fast_local_search_ = use_fast_local_search;</div><div class="line"><a name="l02818"></a><span class="lineno"> 2818</span>&#160; }</div><div class="line"><a name="l02820"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#aa58a5d8b15333d39678c0d6180c1c0b1"> 2820</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Solver.html#aa58a5d8b15333d39678c0d6180c1c0b1">UseFastLocalSearch</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> use_fast_local_search_; }</div><div class="line"><a name="l02822"></a><span class="lineno"> 2822</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Solver.html#a0dd1d43eaa36e3edea0a0c24a1eb558e">HasName</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1PropagationBaseObject.html">PropagationBaseObject</a>* <span class="keywordtype">object</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l02824"></a><span class="lineno"> 2824</span>&#160; <a class="code" href="classoperations__research_1_1Demon.html">Demon</a>* <a class="code" href="classoperations__research_1_1Solver.html#adb2b62f2279eeb3cf812863668f488e0">RegisterDemon</a>(<a class="code" href="classoperations__research_1_1Demon.html">Demon</a>* <span class="keyword">const</span> demon);</div><div class="line"><a name="l02826"></a><span class="lineno"> 2826</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#acfc35762d79414004833fbf02a07e9c3">RegisterIntExpr</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr);</div><div class="line"><a name="l02828"></a><span class="lineno"> 2828</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#afbc7febf6131691195e4e5ae24128d12">RegisterIntVar</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l02831"></a><span class="lineno"> 2831</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <a class="code" href="classoperations__research_1_1Solver.html#a505a3617f7d83b008ad83e9bcc36044e">RegisterIntervalVar</a>(<a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l02832"></a><span class="lineno"> 2832</span>&#160;</div><div class="line"><a name="l02834"></a><span class="lineno"> 2834</span>&#160; Search* <a class="code" href="classoperations__research_1_1Solver.html#a369008c7c6e6d4939219f3ebd65967ba">ActiveSearch</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l02836"></a><span class="lineno"> 2836</span>&#160; <a class="code" href="classoperations__research_1_1ModelCache.html">ModelCache</a>* <a class="code" href="classoperations__research_1_1Solver.html#a4d4c671e5d9cc8a1a1f0c6cc2e500e10">Cache</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l02838"></a><span class="lineno"> 2838</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Solver.html#ae5dafec4a3984f3a489f81ad5af0e4c1">InstrumentsDemons</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l02840"></a><span class="lineno"> 2840</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Solver.html#a3dc3be2f47a73287c5edd7cf80beaa89">IsProfilingEnabled</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l02842"></a><span class="lineno"> 2842</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Solver.html#a72954fb35fd0dd0d796b18d893e957b4">IsLocalSearchProfilingEnabled</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l02844"></a><span class="lineno"> 2844</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Solver.html#aa637423a56e06d52bc9beed8d6fda7ab">InstrumentsVariables</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l02846"></a><span class="lineno"> 2846</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Solver.html#ac50a9f394a6fc3e1707074bccd8bd334">NameAllVariables</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l02848"></a><span class="lineno"> 2848</span>&#160; std::string <a class="code" href="classoperations__research_1_1Solver.html#a9c44ecfda194a78c5167e7c9d3579b01">model_name</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l02850"></a><span class="lineno"> 2850</span>&#160; <a class="code" href="classoperations__research_1_1PropagationMonitor.html">PropagationMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#ae1d6f34467846d3e8222faa3e443da24">GetPropagationMonitor</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l02853"></a><span class="lineno"> 2853</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a4260a3ba3644fec332cd650e2d3c9f68">AddPropagationMonitor</a>(<a class="code" href="classoperations__research_1_1PropagationMonitor.html">PropagationMonitor</a>* <span class="keyword">const</span> monitor);</div><div class="line"><a name="l02855"></a><span class="lineno"> 2855</span>&#160; <a class="code" href="classoperations__research_1_1LocalSearchMonitor.html">LocalSearchMonitor</a>* <a class="code" href="classoperations__research_1_1Solver.html#aee80b40516ac8d72c913b7ed4a7cc66b">GetLocalSearchMonitor</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l02858"></a><span class="lineno"> 2858</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a6c3752c7d9425f4a5243176d3f6fcbc7">AddLocalSearchMonitor</a>(<a class="code" href="classoperations__research_1_1LocalSearchMonitor.html">LocalSearchMonitor</a>* monitor);</div><div class="line"><a name="l02859"></a><span class="lineno"> 2859</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a4a54531bd135948e0c2a039b4435d952">SetSearchContext</a>(Search* search, <span class="keyword">const</span> std::string&amp; search_context);</div><div class="line"><a name="l02860"></a><span class="lineno"> 2860</span>&#160; std::string <a class="code" href="classoperations__research_1_1Solver.html#a314668fc29e10470b51994530769d1b0">SearchContext</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l02861"></a><span class="lineno"> 2861</span>&#160; std::string <a class="code" href="classoperations__research_1_1Solver.html#a314668fc29e10470b51994530769d1b0">SearchContext</a>(<span class="keyword">const</span> Search* search) <span class="keyword">const</span>;</div><div class="line"><a name="l02863"></a><span class="lineno"> 2863</span>&#160; <span class="comment">// TODO(user): Investigate if this should be moved to Search.</span></div><div class="line"><a name="l02864"></a><span class="lineno"> 2864</span>&#160; <a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* <a class="code" href="classoperations__research_1_1Solver.html#aef0488085836949663c2843e69b6be23">GetOrCreateLocalSearchState</a>();</div><div class="line"><a name="l02866"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a0f7179b03ab49e7ee79f9b7e8c4dc129"> 2866</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a0f7179b03ab49e7ee79f9b7e8c4dc129">ClearLocalSearchState</a>() { local_search_state_.reset(<span class="keyword">nullptr</span>); }</div><div class="line"><a name="l02867"></a><span class="lineno"> 2867</span>&#160;</div><div class="line"><a name="l02872"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a0f3d534acf3ba2602ae56ec4f28ccdd6"> 2872</a></span>&#160; std::vector&lt;int64&gt; <a class="code" href="classoperations__research_1_1Solver.html#a0f3d534acf3ba2602ae56ec4f28ccdd6">tmp_vector_</a>;</div><div class="line"><a name="l02873"></a><span class="lineno"> 2873</span>&#160;</div><div class="line"><a name="l02874"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a7de3703a8816dad121d3fd166c07a79c"> 2874</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classoperations__research_1_1BaseIntExpr.html">BaseIntExpr</a>;</div><div class="line"><a name="l02875"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418"> 2875</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>;</div><div class="line"><a name="l02876"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a17a56adc8ee57642c3f00a1778319192"> 2876</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classoperations__research_1_1Solver.html#a17a56adc8ee57642c3f00a1778319192">DemonProfiler</a>;</div><div class="line"><a name="l02877"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a68ccd69d2cb81ad9b176a007275fde0b"> 2877</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classoperations__research_1_1Solver.html#a68ccd69d2cb81ad9b176a007275fde0b">FindOneNeighbor</a>;</div><div class="line"><a name="l02878"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a34419e55556ff4e92b447fe895bdb9c3"> 2878</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>;</div><div class="line"><a name="l02879"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#acd6c49bd62ce1a1777a1c0e644f1186e"> 2879</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classoperations__research_1_1PropagationBaseObject.html">PropagationBaseObject</a>;</div><div class="line"><a name="l02880"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a47dfc6f2bc0d50a6e7c92eb00d97b064"> 2880</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classoperations__research_1_1Solver.html#a47dfc6f2bc0d50a6e7c92eb00d97b064">Queue</a>;</div><div class="line"><a name="l02881"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#aac32a6eabe1d316d7ff5f92fedd1ec5b"> 2881</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>;</div><div class="line"><a name="l02882"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#abb737b44b0a0335d550d2a740ba00236"> 2882</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classoperations__research_1_1SearchLimit.html">SearchLimit</a>;</div><div class="line"><a name="l02883"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7aef297f0c654af26dc7108c9ee6c69"> 2883</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classoperations__research_1_1RoutingModel.html">RoutingModel</a>;</div><div class="line"><a name="l02884"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a622500a4c7e11bbc4b8a5e5de2c84f13"> 2884</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classoperations__research_1_1Solver.html#a622500a4c7e11bbc4b8a5e5de2c84f13">LocalSearchProfiler</a>;</div><div class="line"><a name="l02885"></a><span class="lineno"> 2885</span>&#160;</div><div class="line"><a name="l02886"></a><span class="lineno"> 2886</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l02887"></a><span class="lineno"> 2887</span>&#160; <span class="keyword">friend</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a1a981ab215cf0097502d1dd4f3a542ac">InternalSaveBooleanVarValue</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span>, <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span>);</div><div class="line"><a name="l02888"></a><span class="lineno"> 2888</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span>&gt;</div><div class="line"><a name="l02889"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a830db5e85473a2e0a7392ac6bbc538d1"> 2889</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classoperations__research_1_1SimpleRevFIFO.html">SimpleRevFIFO</a>;</div><div class="line"><a name="l02890"></a><span class="lineno"> 2890</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> K, <span class="keyword">class</span> V&gt;</div><div class="line"><a name="l02891"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a523b4c1786dd34b9d1fa2579b91b4c0d"> 2891</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classoperations__research_1_1RevImmutableMultiMap.html">RevImmutableMultiMap</a>;</div><div class="line"><a name="l02892"></a><span class="lineno"> 2892</span>&#160;</div><div class="line"><a name="l02897"></a><span class="lineno"> 2897</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Solver.html#a078a6a3543d033fc6f9b42938f96a702">IsBooleanVar</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>** inner_var,</div><div class="line"><a name="l02898"></a><span class="lineno"> 2898</span>&#160; <span class="keywordtype">bool</span>* is_negated) <span class="keyword">const</span>;</div><div class="line"><a name="l02899"></a><span class="lineno"> 2899</span>&#160;</div><div class="line"><a name="l02904"></a><span class="lineno"> 2904</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Solver.html#af6816fc6dec978dc3ca41929a9dba7e8">IsProduct</a>(<a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr, <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>** inner_expr, int64* coefficient);</div><div class="line"><a name="l02905"></a><span class="lineno"> 2905</span>&#160;<span class="preprocessor">#endif </span></div><div class="line"><a name="l02906"></a><span class="lineno"> 2906</span>&#160;<span class="preprocessor"></span></div><div class="line"><a name="l02907"></a><span class="lineno"> 2907</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <a class="code" href="classoperations__research_1_1Solver.html#aadca605a5fc64e54fc8e31e0b7e36eaa">CastExpression</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l02910"></a><span class="lineno"> 2910</span>&#160;</div><div class="line"><a name="l02912"></a><span class="lineno"> 2912</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#af62a385d57256e5179b185d003dcfea1">FinishCurrentSearch</a>();</div><div class="line"><a name="l02913"></a><span class="lineno"> 2913</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a166c36cdc73ef649a97330f9a5f421e1">RestartCurrentSearch</a>();</div><div class="line"><a name="l02914"></a><span class="lineno"> 2914</span>&#160;</div><div class="line"><a name="l02917"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a64e3df5cecd4de1a3d052795458f7069"> 2917</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a64e3df5cecd4de1a3d052795458f7069">ShouldFail</a>() { should_fail_ = <span class="keyword">true</span>; }</div><div class="line"><a name="l02918"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6d5ff1ccb832c9d27fa7a579248f8084"> 2918</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a6d5ff1ccb832c9d27fa7a579248f8084">CheckFail</a>() {</div><div class="line"><a name="l02919"></a><span class="lineno"> 2919</span>&#160; <span class="keywordflow">if</span> (!should_fail_) <span class="keywordflow">return</span>;</div><div class="line"><a name="l02920"></a><span class="lineno"> 2920</span>&#160; should_fail_ = <span class="keyword">false</span>;</div><div class="line"><a name="l02921"></a><span class="lineno"> 2921</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aeb92d4addb41255c9732cacfcb54f795">Fail</a>();</div><div class="line"><a name="l02922"></a><span class="lineno"> 2922</span>&#160; }</div><div class="line"><a name="l02923"></a><span class="lineno"> 2923</span>&#160;</div><div class="line"><a name="l02924"></a><span class="lineno"> 2924</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l02925"></a><span class="lineno"> 2925</span>&#160; <span class="keywordtype">void</span> Init(); </div><div class="line"><a name="l02926"></a><span class="lineno"> 2926</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a71535de01a6527099122f4b7284e1796">PushState</a>(<a class="code" href="classoperations__research_1_1Solver.html#ade22213fff69cfb37d8238e8fd3073df">MarkerType</a> t, <span class="keyword">const</span> StateInfo&amp; info);</div><div class="line"><a name="l02927"></a><span class="lineno"> 2927</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ade22213fff69cfb37d8238e8fd3073df">MarkerType</a> <a class="code" href="classoperations__research_1_1Solver.html#a831b8d703cefe8bce66a0483e08917ee">PopState</a>(StateInfo* info);</div><div class="line"><a name="l02928"></a><span class="lineno"> 2928</span>&#160; <span class="keywordtype">void</span> PushSentinel(<span class="keywordtype">int</span> magic_code);</div><div class="line"><a name="l02929"></a><span class="lineno"> 2929</span>&#160; <span class="keywordtype">void</span> BacktrackToSentinel(<span class="keywordtype">int</span> magic_code);</div><div class="line"><a name="l02930"></a><span class="lineno"> 2930</span>&#160; <span class="keywordtype">void</span> ProcessConstraints();</div><div class="line"><a name="l02931"></a><span class="lineno"> 2931</span>&#160; <span class="keywordtype">bool</span> BacktrackOneLevel(<a class="code" href="classoperations__research_1_1Decision.html">Decision</a>** fail_decision);</div><div class="line"><a name="l02932"></a><span class="lineno"> 2932</span>&#160; <span class="keywordtype">void</span> JumpToSentinelWhenNested();</div><div class="line"><a name="l02933"></a><span class="lineno"> 2933</span>&#160; <span class="keywordtype">void</span> JumpToSentinel();</div><div class="line"><a name="l02934"></a><span class="lineno"> 2934</span>&#160; <span class="keywordtype">void</span> check_alloc_state();</div><div class="line"><a name="l02935"></a><span class="lineno"> 2935</span>&#160; <span class="keywordtype">void</span> FreezeQueue();</div><div class="line"><a name="l02936"></a><span class="lineno"> 2936</span>&#160; <span class="keywordtype">void</span> EnqueueVar(<a class="code" href="classoperations__research_1_1Demon.html">Demon</a>* <span class="keyword">const</span> d);</div><div class="line"><a name="l02937"></a><span class="lineno"> 2937</span>&#160; <span class="keywordtype">void</span> EnqueueDelayedDemon(<a class="code" href="classoperations__research_1_1Demon.html">Demon</a>* <span class="keyword">const</span> d);</div><div class="line"><a name="l02938"></a><span class="lineno"> 2938</span>&#160; <span class="keywordtype">void</span> ExecuteAll(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1SimpleRevFIFO.html">SimpleRevFIFO&lt;Demon*&gt;</a>&amp; demons);</div><div class="line"><a name="l02939"></a><span class="lineno"> 2939</span>&#160; <span class="keywordtype">void</span> EnqueueAll(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1SimpleRevFIFO.html">SimpleRevFIFO&lt;Demon*&gt;</a>&amp; demons);</div><div class="line"><a name="l02940"></a><span class="lineno"> 2940</span>&#160; <span class="keywordtype">void</span> UnfreezeQueue();</div><div class="line"><a name="l02941"></a><span class="lineno"> 2941</span>&#160; <span class="keywordtype">void</span> reset_action_on_fail();</div><div class="line"><a name="l02942"></a><span class="lineno"> 2942</span>&#160; <span class="keywordtype">void</span> set_action_on_fail(<a class="code" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Action</a> a);</div><div class="line"><a name="l02943"></a><span class="lineno"> 2943</span>&#160; <span class="keywordtype">void</span> set_variable_to_clean_on_fail(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* v);</div><div class="line"><a name="l02944"></a><span class="lineno"> 2944</span>&#160; <span class="keywordtype">void</span> IncrementUncheckedSolutionCounter();</div><div class="line"><a name="l02945"></a><span class="lineno"> 2945</span>&#160; <span class="keywordtype">bool</span> IsUncheckedSolutionLimitReached();</div><div class="line"><a name="l02946"></a><span class="lineno"> 2946</span>&#160;</div><div class="line"><a name="l02947"></a><span class="lineno"> 2947</span>&#160; <span class="keywordtype">void</span> InternalSaveValue(<span class="keywordtype">int</span>* valptr);</div><div class="line"><a name="l02948"></a><span class="lineno"> 2948</span>&#160; <span class="keywordtype">void</span> InternalSaveValue(int64* valptr);</div><div class="line"><a name="l02949"></a><span class="lineno"> 2949</span>&#160; <span class="keywordtype">void</span> InternalSaveValue(uint64* valptr);</div><div class="line"><a name="l02950"></a><span class="lineno"> 2950</span>&#160; <span class="keywordtype">void</span> InternalSaveValue(<span class="keywordtype">double</span>* valptr);</div><div class="line"><a name="l02951"></a><span class="lineno"> 2951</span>&#160; <span class="keywordtype">void</span> InternalSaveValue(<span class="keywordtype">bool</span>* valptr);</div><div class="line"><a name="l02952"></a><span class="lineno"> 2952</span>&#160; <span class="keywordtype">void</span> InternalSaveValue(<span class="keywordtype">void</span>** valptr);</div><div class="line"><a name="l02953"></a><span class="lineno"> 2953</span>&#160; <span class="keywordtype">void</span> InternalSaveValue(int64** valptr) {</div><div class="line"><a name="l02954"></a><span class="lineno"> 2954</span>&#160; InternalSaveValue(reinterpret_cast&lt;void**&gt;(valptr));</div><div class="line"><a name="l02955"></a><span class="lineno"> 2955</span>&#160; }</div><div class="line"><a name="l02956"></a><span class="lineno"> 2956</span>&#160;</div><div class="line"><a name="l02957"></a><span class="lineno"> 2957</span>&#160; BaseObject* SafeRevAlloc(BaseObject* ptr);</div><div class="line"><a name="l02958"></a><span class="lineno"> 2958</span>&#160;</div><div class="line"><a name="l02959"></a><span class="lineno"> 2959</span>&#160; <span class="keywordtype">int</span>* SafeRevAllocArray(<span class="keywordtype">int</span>* ptr);</div><div class="line"><a name="l02960"></a><span class="lineno"> 2960</span>&#160; int64* SafeRevAllocArray(int64* ptr);</div><div class="line"><a name="l02961"></a><span class="lineno"> 2961</span>&#160; uint64* SafeRevAllocArray(uint64* ptr);</div><div class="line"><a name="l02962"></a><span class="lineno"> 2962</span>&#160; <span class="keywordtype">double</span>* SafeRevAllocArray(<span class="keywordtype">double</span>* ptr);</div><div class="line"><a name="l02963"></a><span class="lineno"> 2963</span>&#160; BaseObject** SafeRevAllocArray(BaseObject** ptr);</div><div class="line"><a name="l02964"></a><span class="lineno"> 2964</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a34419e55556ff4e92b447fe895bdb9c3">IntVar</a>** SafeRevAllocArray(<a class="code" href="classoperations__research_1_1Solver.html#a34419e55556ff4e92b447fe895bdb9c3">IntVar</a>** ptr);</div><div class="line"><a name="l02965"></a><span class="lineno"> 2965</span>&#160; IntExpr** SafeRevAllocArray(IntExpr** ptr);</div><div class="line"><a name="l02966"></a><span class="lineno"> 2966</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>** SafeRevAllocArray(<a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>** ptr);</div><div class="line"><a name="l02969"></a><span class="lineno"> 2969</span>&#160; <span class="keywordtype">void</span>* UnsafeRevAllocAux(<span class="keywordtype">void</span>* ptr);</div><div class="line"><a name="l02970"></a><span class="lineno"> 2970</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div><div class="line"><a name="l02971"></a><span class="lineno"> 2971</span>&#160; T* UnsafeRevAlloc(T* ptr) {</div><div class="line"><a name="l02972"></a><span class="lineno"> 2972</span>&#160; <span class="keywordflow">return</span> reinterpret_cast&lt;T*&gt;(</div><div class="line"><a name="l02973"></a><span class="lineno"> 2973</span>&#160; UnsafeRevAllocAux(reinterpret_cast&lt;void*&gt;(ptr)));</div><div class="line"><a name="l02974"></a><span class="lineno"> 2974</span>&#160; }</div><div class="line"><a name="l02975"></a><span class="lineno"> 2975</span>&#160; <span class="keywordtype">void</span>** UnsafeRevAllocArrayAux(<span class="keywordtype">void</span>** ptr);</div><div class="line"><a name="l02976"></a><span class="lineno"> 2976</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div><div class="line"><a name="l02977"></a><span class="lineno"> 2977</span>&#160; T** UnsafeRevAllocArray(T** ptr) {</div><div class="line"><a name="l02978"></a><span class="lineno"> 2978</span>&#160; <span class="keywordflow">return</span> reinterpret_cast&lt;T**&gt;(</div><div class="line"><a name="l02979"></a><span class="lineno"> 2979</span>&#160; UnsafeRevAllocArrayAux(reinterpret_cast&lt;void**&gt;(ptr)));</div><div class="line"><a name="l02980"></a><span class="lineno"> 2980</span>&#160; }</div><div class="line"><a name="l02981"></a><span class="lineno"> 2981</span>&#160;</div><div class="line"><a name="l02982"></a><span class="lineno"> 2982</span>&#160; <span class="keywordtype">void</span> InitCachedIntConstants();</div><div class="line"><a name="l02983"></a><span class="lineno"> 2983</span>&#160; <span class="keywordtype">void</span> InitCachedConstraint();</div><div class="line"><a name="l02984"></a><span class="lineno"> 2984</span>&#160;</div><div class="line"><a name="l02988"></a><span class="lineno"> 2988</span>&#160; Search* TopLevelSearch()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> searches_.at(1); }</div><div class="line"><a name="l02992"></a><span class="lineno"> 2992</span>&#160; Search* ParentSearch()<span class="keyword"> const </span>{</div><div class="line"><a name="l02993"></a><span class="lineno"> 2993</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> search_size = searches_.size();</div><div class="line"><a name="l02994"></a><span class="lineno"> 2994</span>&#160; DCHECK_GT(search_size, 1);</div><div class="line"><a name="l02995"></a><span class="lineno"> 2995</span>&#160; <span class="keywordflow">return</span> searches_[search_size - 2];</div><div class="line"><a name="l02996"></a><span class="lineno"> 2996</span>&#160; }</div><div class="line"><a name="l02997"></a><span class="lineno"> 2997</span>&#160;</div><div class="line"><a name="l02999"></a><span class="lineno"> 2999</span>&#160; std::string GetName(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1Solver.html#acd6c49bd62ce1a1777a1c0e644f1186e">PropagationBaseObject</a>* <span class="keywordtype">object</span>);</div><div class="line"><a name="l03000"></a><span class="lineno"> 3000</span>&#160; <span class="keywordtype">void</span> SetName(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1Solver.html#acd6c49bd62ce1a1777a1c0e644f1186e">PropagationBaseObject</a>* <span class="keywordtype">object</span>, <span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l03001"></a><span class="lineno"> 3001</span>&#160;</div><div class="line"><a name="l03004"></a><span class="lineno"> 3004</span>&#160; <span class="keywordtype">int</span> GetNewIntVarIndex() { <span class="keywordflow">return</span> num_int_vars_++; }</div><div class="line"><a name="l03005"></a><span class="lineno"> 3005</span>&#160;</div><div class="line"><a name="l03007"></a><span class="lineno"> 3007</span>&#160; <span class="keywordtype">bool</span> IsADifference(IntExpr* expr, IntExpr** <span class="keyword">const</span> left,</div><div class="line"><a name="l03008"></a><span class="lineno"> 3008</span>&#160; IntExpr** <span class="keyword">const</span> right);</div><div class="line"><a name="l03009"></a><span class="lineno"> 3009</span>&#160;</div><div class="line"><a name="l03010"></a><span class="lineno"> 3010</span>&#160; <span class="keyword">const</span> std::string name_;</div><div class="line"><a name="l03011"></a><span class="lineno"> 3011</span>&#160; <span class="keyword">const</span> ConstraintSolverParameters parameters_;</div><div class="line"><a name="l03012"></a><span class="lineno"> 3012</span>&#160; absl::flat_hash_map&lt;const PropagationBaseObject*, std::string&gt;</div><div class="line"><a name="l03013"></a><span class="lineno"> 3013</span>&#160; propagation_object_names_;</div><div class="line"><a name="l03014"></a><span class="lineno"> 3014</span>&#160; absl::flat_hash_map&lt;const PropagationBaseObject*, IntegerCastInfo&gt;</div><div class="line"><a name="l03015"></a><span class="lineno"> 3015</span>&#160; cast_information_;</div><div class="line"><a name="l03016"></a><span class="lineno"> 3016</span>&#160; absl::flat_hash_set&lt;const Constraint*&gt; cast_constraints_;</div><div class="line"><a name="l03017"></a><span class="lineno"> 3017</span>&#160; <span class="keyword">const</span> std::string empty_name_;</div><div class="line"><a name="l03018"></a><span class="lineno"> 3018</span>&#160; std::unique_ptr&lt;Queue&gt; queue_;</div><div class="line"><a name="l03019"></a><span class="lineno"> 3019</span>&#160; std::unique_ptr&lt;Trail&gt; trail_;</div><div class="line"><a name="l03020"></a><span class="lineno"> 3020</span>&#160; std::vector&lt;Constraint*&gt; constraints_list_;</div><div class="line"><a name="l03021"></a><span class="lineno"> 3021</span>&#160; std::vector&lt;Constraint*&gt; additional_constraints_list_;</div><div class="line"><a name="l03022"></a><span class="lineno"> 3022</span>&#160; std::vector&lt;int&gt; additional_constraints_parent_list_;</div><div class="line"><a name="l03023"></a><span class="lineno"> 3023</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63">SolverState</a> state_;</div><div class="line"><a name="l03024"></a><span class="lineno"> 3024</span>&#160; int64 branches_;</div><div class="line"><a name="l03025"></a><span class="lineno"> 3025</span>&#160; int64 fails_;</div><div class="line"><a name="l03026"></a><span class="lineno"> 3026</span>&#160; int64 decisions_;</div><div class="line"><a name="l03027"></a><span class="lineno"> 3027</span>&#160; int64 demon_runs_[<a class="code" href="classoperations__research_1_1Solver.html#a8c55e823426ef9c603a7e8faa2786f58">kNumPriorities</a>];</div><div class="line"><a name="l03028"></a><span class="lineno"> 3028</span>&#160; int64 neighbors_;</div><div class="line"><a name="l03029"></a><span class="lineno"> 3029</span>&#160; int64 filtered_neighbors_;</div><div class="line"><a name="l03030"></a><span class="lineno"> 3030</span>&#160; int64 accepted_neighbors_;</div><div class="line"><a name="l03031"></a><span class="lineno"> 3031</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a39a89fa3de66d68071c66a936f17fd2b">OptimizationDirection</a> optimization_direction_;</div><div class="line"><a name="l03032"></a><span class="lineno"> 3032</span>&#160; std::unique_ptr&lt;ClockTimer&gt; timer_;</div><div class="line"><a name="l03033"></a><span class="lineno"> 3033</span>&#160; std::vector&lt;Search*&gt; searches_;</div><div class="line"><a name="l03034"></a><span class="lineno"> 3034</span>&#160; ACMRandom random_;</div><div class="line"><a name="l03035"></a><span class="lineno"> 3035</span>&#160; uint64 fail_stamp_;</div><div class="line"><a name="l03036"></a><span class="lineno"> 3036</span>&#160; std::unique_ptr&lt;Decision&gt; balancing_decision_;</div><div class="line"><a name="l03038"></a><span class="lineno"> 3038</span>&#160; std::function&lt;void()&gt; fail_intercept_;</div><div class="line"><a name="l03040"></a><span class="lineno"> 3040</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a17a56adc8ee57642c3f00a1778319192">DemonProfiler</a>* <span class="keyword">const</span> demon_profiler_;</div><div class="line"><a name="l03042"></a><span class="lineno"> 3042</span>&#160; <span class="keywordtype">bool</span> use_fast_local_search_;</div><div class="line"><a name="l03044"></a><span class="lineno"> 3044</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a622500a4c7e11bbc4b8a5e5de2c84f13">LocalSearchProfiler</a>* <span class="keyword">const</span> local_search_profiler_;</div><div class="line"><a name="l03046"></a><span class="lineno"> 3046</span>&#160; std::unique_ptr&lt;Assignment&gt; local_search_state_;</div><div class="line"><a name="l03047"></a><span class="lineno"> 3047</span>&#160;</div><div class="line"><a name="l03049"></a><span class="lineno"> 3049</span>&#160; <span class="keyword">enum</span> { MIN_CACHED_INT_CONST = -8, MAX_CACHED_INT_CONST = 8 };</div><div class="line"><a name="l03050"></a><span class="lineno"> 3050</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a34419e55556ff4e92b447fe895bdb9c3">IntVar</a>* cached_constants_[MAX_CACHED_INT_CONST + 1 - MIN_CACHED_INT_CONST];</div><div class="line"><a name="l03051"></a><span class="lineno"> 3051</span>&#160;</div><div class="line"><a name="l03053"></a><span class="lineno"> 3053</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* true_constraint_;</div><div class="line"><a name="l03054"></a><span class="lineno"> 3054</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* false_constraint_;</div><div class="line"><a name="l03055"></a><span class="lineno"> 3055</span>&#160;</div><div class="line"><a name="l03056"></a><span class="lineno"> 3056</span>&#160; std::unique_ptr&lt;Decision&gt; fail_decision_;</div><div class="line"><a name="l03057"></a><span class="lineno"> 3057</span>&#160; <span class="keywordtype">int</span> constraint_index_;</div><div class="line"><a name="l03058"></a><span class="lineno"> 3058</span>&#160; <span class="keywordtype">int</span> additional_constraint_index_;</div><div class="line"><a name="l03059"></a><span class="lineno"> 3059</span>&#160; <span class="keywordtype">int</span> num_int_vars_;</div><div class="line"><a name="l03060"></a><span class="lineno"> 3060</span>&#160;</div><div class="line"><a name="l03061"></a><span class="lineno"> 3061</span>&#160; std::unique_ptr&lt;ModelCache&gt; model_cache_;</div><div class="line"><a name="l03062"></a><span class="lineno"> 3062</span>&#160; std::unique_ptr&lt;PropagationMonitor&gt; propagation_monitor_;</div><div class="line"><a name="l03063"></a><span class="lineno"> 3063</span>&#160; PropagationMonitor* print_trace_;</div><div class="line"><a name="l03064"></a><span class="lineno"> 3064</span>&#160; std::unique_ptr&lt;LocalSearchMonitor&gt; local_search_monitor_;</div><div class="line"><a name="l03065"></a><span class="lineno"> 3065</span>&#160; <span class="keywordtype">int</span> anonymous_variable_index_;</div><div class="line"><a name="l03066"></a><span class="lineno"> 3066</span>&#160; <span class="keywordtype">bool</span> should_fail_;</div><div class="line"><a name="l03067"></a><span class="lineno"> 3067</span>&#160;</div><div class="line"><a name="l03068"></a><span class="lineno"> 3068</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1Solver.html#abac10873a1af49f1dce33a34f3afaa56">Solver</a>);</div><div class="line"><a name="l03069"></a><span class="lineno"> 3069</span>&#160;};</div><div class="line"><a name="l03070"></a><span class="lineno"> 3070</span>&#160;</div><div class="line"><a name="l03071"></a><span class="lineno"> 3071</span>&#160;std::ostream&amp; <a class="code" href="namespaceoperations__research.html#a316abccdfa41512564d84365ea8f0ead">operator&lt;&lt;</a>(std::ostream&amp; out, <span class="keyword">const</span> Solver* <span class="keyword">const</span> s); </div><div class="line"><a name="l03072"></a><span class="lineno"> 3072</span>&#160;</div><div class="line"><a name="l03076"></a><span class="lineno"><a class="line" href="namespaceoperations__research.html#a009f247167f32509baf749083e4bc984"> 3076</a></span>&#160;<span class="keyword">inline</span> int64 <a class="code" href="namespaceoperations__research.html#a009f247167f32509baf749083e4bc984">Zero</a>() { <span class="keywordflow">return</span> 0; }</div><div class="line"><a name="l03077"></a><span class="lineno"> 3077</span>&#160;</div><div class="line"><a name="l03079"></a><span class="lineno"><a class="line" href="namespaceoperations__research.html#aa96bb5a28dd9c1ccc864b1587e8e1a98"> 3079</a></span>&#160;<span class="keyword">inline</span> int64 <a class="code" href="namespaceoperations__research.html#aa96bb5a28dd9c1ccc864b1587e8e1a98">One</a>() { <span class="keywordflow">return</span> 1; }</div><div class="line"><a name="l03080"></a><span class="lineno"> 3080</span>&#160;</div><div class="line"><a name="l03084"></a><span class="lineno"><a class="line" href="classoperations__research_1_1BaseObject.html"> 3084</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1BaseObject.html">BaseObject</a> {</div><div class="line"><a name="l03085"></a><span class="lineno"> 3085</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l03086"></a><span class="lineno"><a class="line" href="classoperations__research_1_1BaseObject.html#a48f1c86064886ad6b10822e12c877da9"> 3086</a></span>&#160; <a class="code" href="classoperations__research_1_1BaseObject.html#a48f1c86064886ad6b10822e12c877da9">BaseObject</a>() {}</div><div class="line"><a name="l03087"></a><span class="lineno"><a class="line" href="classoperations__research_1_1BaseObject.html#a9d8322d9fcae16059ee5a30839360bfe"> 3087</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classoperations__research_1_1BaseObject.html#a9d8322d9fcae16059ee5a30839360bfe">~BaseObject</a>() {}</div><div class="line"><a name="l03088"></a><span class="lineno"><a class="line" href="classoperations__research_1_1BaseObject.html#a8eba5d533fa9df4617c1868d3ec2afc4"> 3088</a></span>&#160; <span class="keyword">virtual</span> std::string <a class="code" href="classoperations__research_1_1BaseObject.html#a8eba5d533fa9df4617c1868d3ec2afc4">DebugString</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;BaseObject&quot;</span>; }</div><div class="line"><a name="l03089"></a><span class="lineno"> 3089</span>&#160;</div><div class="line"><a name="l03090"></a><span class="lineno"> 3090</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l03091"></a><span class="lineno"> 3091</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1BaseObject.html">BaseObject</a>);</div><div class="line"><a name="l03092"></a><span class="lineno"> 3092</span>&#160;};</div><div class="line"><a name="l03093"></a><span class="lineno"> 3093</span>&#160;</div><div class="line"><a name="l03094"></a><span class="lineno"> 3094</span>&#160;std::ostream&amp; <a class="code" href="namespaceoperations__research.html#a316abccdfa41512564d84365ea8f0ead">operator&lt;&lt;</a>(std::ostream&amp; out, <span class="keyword">const</span> BaseObject* o); </div><div class="line"><a name="l03095"></a><span class="lineno"> 3095</span>&#160;</div><div class="line"><a name="l03099"></a><span class="lineno"><a class="line" href="classoperations__research_1_1PropagationBaseObject.html"> 3099</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1PropagationBaseObject.html">PropagationBaseObject</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1BaseObject.html">BaseObject</a> {</div><div class="line"><a name="l03100"></a><span class="lineno"> 3100</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l03101"></a><span class="lineno"><a class="line" href="classoperations__research_1_1PropagationBaseObject.html#aacb2f6b1ab33fb65796b6c46d46e0813"> 3101</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#aacb2f6b1ab33fb65796b6c46d46e0813">PropagationBaseObject</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s) : solver_(s) {}</div><div class="line"><a name="l03102"></a><span class="lineno"><a class="line" href="classoperations__research_1_1PropagationBaseObject.html#a8ddd42bb805c00b56ea575e78151c5e0"> 3102</a></span>&#160; <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a8ddd42bb805c00b56ea575e78151c5e0">~PropagationBaseObject</a>()<span class="keyword"> override </span>{}</div><div class="line"><a name="l03103"></a><span class="lineno"> 3103</span>&#160;</div><div class="line"><a name="l03104"></a><span class="lineno"><a class="line" href="classoperations__research_1_1PropagationBaseObject.html#aed804747c45a7e1caf81461f9e45dd91"> 3104</a></span>&#160; std::string <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>()<span class="keyword"> const override </span>{</div><div class="line"><a name="l03105"></a><span class="lineno"> 3105</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a>().empty()) {</div><div class="line"><a name="l03106"></a><span class="lineno"> 3106</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;PropagationBaseObject&quot;</span>;</div><div class="line"><a name="l03107"></a><span class="lineno"> 3107</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l03108"></a><span class="lineno"> 3108</span>&#160; <span class="keywordflow">return</span> absl::StrFormat(<span class="stringliteral">&quot;PropagationBaseObject: %s&quot;</span>, <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a>());</div><div class="line"><a name="l03109"></a><span class="lineno"> 3109</span>&#160; }</div><div class="line"><a name="l03110"></a><span class="lineno"> 3110</span>&#160; }</div><div class="line"><a name="l03111"></a><span class="lineno"><a class="line" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864"> 3111</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> solver_; }</div><div class="line"><a name="l03112"></a><span class="lineno"> 3112</span>&#160;</div><div class="line"><a name="l03115"></a><span class="lineno"><a class="line" href="classoperations__research_1_1PropagationBaseObject.html#a5155ff01cf80f5a478fd09916abab155"> 3115</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5155ff01cf80f5a478fd09916abab155">FreezeQueue</a>() { solver_-&gt;FreezeQueue(); }</div><div class="line"><a name="l03116"></a><span class="lineno"> 3116</span>&#160;</div><div class="line"><a name="l03119"></a><span class="lineno"><a class="line" href="classoperations__research_1_1PropagationBaseObject.html#ae038f4a9249362629fc47e8dfc441ec7"> 3119</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#ae038f4a9249362629fc47e8dfc441ec7">UnfreezeQueue</a>() { solver_-&gt;UnfreezeQueue(); }</div><div class="line"><a name="l03120"></a><span class="lineno"> 3120</span>&#160;</div><div class="line"><a name="l03124"></a><span class="lineno"><a class="line" href="classoperations__research_1_1PropagationBaseObject.html#a173cbf153462b14f9b57362d2c45638a"> 3124</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a173cbf153462b14f9b57362d2c45638a">EnqueueDelayedDemon</a>(<a class="code" href="classoperations__research_1_1Demon.html">Demon</a>* <span class="keyword">const</span> d) { solver_-&gt;EnqueueDelayedDemon(d); }</div><div class="line"><a name="l03125"></a><span class="lineno"><a class="line" href="classoperations__research_1_1PropagationBaseObject.html#a448b9bde901fcf3ec2e94ab972b083f0"> 3125</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a448b9bde901fcf3ec2e94ab972b083f0">EnqueueVar</a>(<a class="code" href="classoperations__research_1_1Demon.html">Demon</a>* <span class="keyword">const</span> d) { solver_-&gt;EnqueueVar(d); }</div><div class="line"><a name="l03126"></a><span class="lineno"> 3126</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a3d3bd9d99cf43cf184a1246d2c278c31">ExecuteAll</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1SimpleRevFIFO.html">SimpleRevFIFO&lt;Demon*&gt;</a>&amp; demons);</div><div class="line"><a name="l03127"></a><span class="lineno"> 3127</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5a5ad1a2482043e4a9d2c19bbab1e250">EnqueueAll</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1SimpleRevFIFO.html">SimpleRevFIFO&lt;Demon*&gt;</a>&amp; demons);</div><div class="line"><a name="l03128"></a><span class="lineno"> 3128</span>&#160;</div><div class="line"><a name="l03129"></a><span class="lineno"> 3129</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l03130"></a><span class="lineno"> 3130</span>&#160; <span class="comment">// This method sets a callback that will be called if a failure</span></div><div class="line"><a name="l03131"></a><span class="lineno"> 3131</span>&#160; <span class="comment">// happens during the propagation of the queue.</span></div><div class="line"><a name="l03132"></a><span class="lineno"><a class="line" href="classoperations__research_1_1PropagationBaseObject.html#a3ae4667b0e7a9e6c63c91202480c8876"> 3132</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a3ae4667b0e7a9e6c63c91202480c8876">set_action_on_fail</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> a) {</div><div class="line"><a name="l03133"></a><span class="lineno"> 3133</span>&#160; solver_-&gt;set_action_on_fail(std::move(a));</div><div class="line"><a name="l03134"></a><span class="lineno"> 3134</span>&#160; }</div><div class="line"><a name="l03135"></a><span class="lineno"> 3135</span>&#160;<span class="preprocessor">#endif // !defined(SWIG)</span></div><div class="line"><a name="l03136"></a><span class="lineno"> 3136</span>&#160;</div><div class="line"><a name="l03138"></a><span class="lineno"><a class="line" href="classoperations__research_1_1PropagationBaseObject.html#a26d87b428f06d54a1a44d6e950a0e196"> 3138</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a26d87b428f06d54a1a44d6e950a0e196">reset_action_on_fail</a>() { solver_-&gt;reset_action_on_fail(); }</div><div class="line"><a name="l03139"></a><span class="lineno"> 3139</span>&#160;</div><div class="line"><a name="l03141"></a><span class="lineno"><a class="line" href="classoperations__research_1_1PropagationBaseObject.html#aa799a452245f03cc53355e6432c107a7"> 3141</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#aa799a452245f03cc53355e6432c107a7">set_variable_to_clean_on_fail</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* v) {</div><div class="line"><a name="l03142"></a><span class="lineno"> 3142</span>&#160; solver_-&gt;set_variable_to_clean_on_fail(v);</div><div class="line"><a name="l03143"></a><span class="lineno"> 3143</span>&#160; }</div><div class="line"><a name="l03144"></a><span class="lineno"> 3144</span>&#160;</div><div class="line"><a name="l03146"></a><span class="lineno"> 3146</span>&#160; <span class="keyword">virtual</span> std::string <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l03147"></a><span class="lineno"> 3147</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#ad5260b9627048b854b45d05ed34adc22">set_name</a>(<span class="keyword">const</span> std::string&amp; <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a>);</div><div class="line"><a name="l03149"></a><span class="lineno"> 3149</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a31eda3918c04e32fa9e8c432d72b2d60">HasName</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l03151"></a><span class="lineno"> 3151</span>&#160; <span class="keyword">virtual</span> std::string <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a09cbe240b742fbdcf4d3c70d19c2ed10">BaseName</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l03152"></a><span class="lineno"> 3152</span>&#160;</div><div class="line"><a name="l03153"></a><span class="lineno"> 3153</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l03154"></a><span class="lineno"> 3154</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> solver_;</div><div class="line"><a name="l03155"></a><span class="lineno"> 3155</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html">PropagationBaseObject</a>);</div><div class="line"><a name="l03156"></a><span class="lineno"> 3156</span>&#160;};</div><div class="line"><a name="l03157"></a><span class="lineno"> 3157</span>&#160;</div><div class="line"><a name="l03160"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Decision.html"> 3160</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1Decision.html">Decision</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1BaseObject.html">BaseObject</a> {</div><div class="line"><a name="l03161"></a><span class="lineno"> 3161</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l03162"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Decision.html#abd62b993702516d946bdbef25f6d29b0"> 3162</a></span>&#160; <a class="code" href="classoperations__research_1_1Decision.html#abd62b993702516d946bdbef25f6d29b0">Decision</a>() {}</div><div class="line"><a name="l03163"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Decision.html#a51b2fa6aacf500666d37f0a73eb57c45"> 3163</a></span>&#160; <a class="code" href="classoperations__research_1_1Decision.html#a51b2fa6aacf500666d37f0a73eb57c45">~Decision</a>()<span class="keyword"> override </span>{}</div><div class="line"><a name="l03164"></a><span class="lineno"> 3164</span>&#160;</div><div class="line"><a name="l03166"></a><span class="lineno"> 3166</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Decision.html#a4adc076f6a88e85584762d4b7f30a820">Apply</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s) = 0;</div><div class="line"><a name="l03167"></a><span class="lineno"> 3167</span>&#160;</div><div class="line"><a name="l03169"></a><span class="lineno"> 3169</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Decision.html#a8b28baa822da63142e875e1258fe0973">Refute</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s) = 0;</div><div class="line"><a name="l03170"></a><span class="lineno"> 3170</span>&#160;</div><div class="line"><a name="l03171"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Decision.html#aed804747c45a7e1caf81461f9e45dd91"> 3171</a></span>&#160; std::string <a class="code" href="classoperations__research_1_1Decision.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>()<span class="keyword"> const override </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;Decision&quot;</span>; }</div><div class="line"><a name="l03173"></a><span class="lineno"> 3173</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Decision.html#a8462eeafe7a33b8330e9a660d7678456">Accept</a>(<a class="code" href="classoperations__research_1_1DecisionVisitor.html">DecisionVisitor</a>* <span class="keyword">const</span> visitor) <span class="keyword">const</span>;</div><div class="line"><a name="l03174"></a><span class="lineno"> 3174</span>&#160;</div><div class="line"><a name="l03175"></a><span class="lineno"> 3175</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l03176"></a><span class="lineno"> 3176</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1Decision.html">Decision</a>);</div><div class="line"><a name="l03177"></a><span class="lineno"> 3177</span>&#160;};</div><div class="line"><a name="l03178"></a><span class="lineno"> 3178</span>&#160;</div><div class="line"><a name="l03181"></a><span class="lineno"><a class="line" href="classoperations__research_1_1DecisionVisitor.html"> 3181</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1DecisionVisitor.html">DecisionVisitor</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1BaseObject.html">BaseObject</a> {</div><div class="line"><a name="l03182"></a><span class="lineno"> 3182</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l03183"></a><span class="lineno"><a class="line" href="classoperations__research_1_1DecisionVisitor.html#af92f578c97531537e56d6bf57447bc6b"> 3183</a></span>&#160; <a class="code" href="classoperations__research_1_1DecisionVisitor.html#af92f578c97531537e56d6bf57447bc6b">DecisionVisitor</a>() {}</div><div class="line"><a name="l03184"></a><span class="lineno"><a class="line" href="classoperations__research_1_1DecisionVisitor.html#a355cefbc4074014fa7dfe2b8843b95d9"> 3184</a></span>&#160; <a class="code" href="classoperations__research_1_1DecisionVisitor.html#a355cefbc4074014fa7dfe2b8843b95d9">~DecisionVisitor</a>()<span class="keyword"> override </span>{}</div><div class="line"><a name="l03185"></a><span class="lineno"> 3185</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1DecisionVisitor.html#a4c8bd7da5c2401a841a62a84fb8e3a9e">VisitSetVariableValue</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var, int64 value);</div><div class="line"><a name="l03186"></a><span class="lineno"> 3186</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1DecisionVisitor.html#a5b6fc7f725dab8288abad7802b99666c">VisitSplitVariableDomain</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var, int64 value,</div><div class="line"><a name="l03187"></a><span class="lineno"> 3187</span>&#160; <span class="keywordtype">bool</span> start_with_lower_half);</div><div class="line"><a name="l03188"></a><span class="lineno"> 3188</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1DecisionVisitor.html#a0e1f321d11415299d3b867250913c50c">VisitScheduleOrPostpone</a>(<a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var, int64 est);</div><div class="line"><a name="l03189"></a><span class="lineno"> 3189</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1DecisionVisitor.html#afce6fadefebcd2a8b67b2e50fdcd4450">VisitScheduleOrExpedite</a>(<a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var, int64 est);</div><div class="line"><a name="l03190"></a><span class="lineno"> 3190</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1DecisionVisitor.html#ac0309a0302536688f65af03dc87292f5">VisitRankFirstInterval</a>(<a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> sequence, <span class="keywordtype">int</span> index);</div><div class="line"><a name="l03191"></a><span class="lineno"> 3191</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1DecisionVisitor.html#aa353bc0782b1d85de7571e888cc19b69">VisitRankLastInterval</a>(<a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> sequence, <span class="keywordtype">int</span> index);</div><div class="line"><a name="l03192"></a><span class="lineno"> 3192</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1DecisionVisitor.html#acea5888cfe948f90c0237cb4765bf940">VisitUnknownDecision</a>();</div><div class="line"><a name="l03193"></a><span class="lineno"> 3193</span>&#160;</div><div class="line"><a name="l03194"></a><span class="lineno"> 3194</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l03195"></a><span class="lineno"> 3195</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1DecisionVisitor.html">DecisionVisitor</a>);</div><div class="line"><a name="l03196"></a><span class="lineno"> 3196</span>&#160;};</div><div class="line"><a name="l03197"></a><span class="lineno"> 3197</span>&#160;</div><div class="line"><a name="l03200"></a><span class="lineno"><a class="line" href="classoperations__research_1_1DecisionBuilder.html"> 3200</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1BaseObject.html">BaseObject</a> {</div><div class="line"><a name="l03201"></a><span class="lineno"> 3201</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l03202"></a><span class="lineno"><a class="line" href="classoperations__research_1_1DecisionBuilder.html#ac822e3c8055eeace0165357c9b35a490"> 3202</a></span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html#ac822e3c8055eeace0165357c9b35a490">DecisionBuilder</a>() {}</div><div class="line"><a name="l03203"></a><span class="lineno"><a class="line" href="classoperations__research_1_1DecisionBuilder.html#ad3bd886b44a7c315a2ed7b5da09798aa"> 3203</a></span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html#ad3bd886b44a7c315a2ed7b5da09798aa">~DecisionBuilder</a>()<span class="keyword"> override </span>{}</div><div class="line"><a name="l03208"></a><span class="lineno"> 3208</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classoperations__research_1_1Decision.html">Decision</a>* <a class="code" href="classoperations__research_1_1DecisionBuilder.html#a68bbb37d42da9d7b82145b3bf435dbc3">Next</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s) = 0;</div><div class="line"><a name="l03209"></a><span class="lineno"> 3209</span>&#160; std::string <a class="code" href="classoperations__research_1_1DecisionBuilder.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>() <span class="keyword">const override</span>;</div><div class="line"><a name="l03210"></a><span class="lineno"> 3210</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l03211"></a><span class="lineno"> 3211</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1DecisionBuilder.html#a952c3ef185d196855cc6c5f2b7ab749c">AppendMonitors</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> solver,</div><div class="line"><a name="l03216"></a><span class="lineno"> 3216</span>&#160; std::vector&lt;SearchMonitor*&gt;* <span class="keyword">const</span> extras);</div><div class="line"><a name="l03217"></a><span class="lineno"> 3217</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1DecisionBuilder.html#afcde421cf076575a27bed81c80093ac8">Accept</a>(<a class="code" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a>* <span class="keyword">const</span> visitor) <span class="keyword">const</span>;</div><div class="line"><a name="l03218"></a><span class="lineno"> 3218</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l03219"></a><span class="lineno"> 3219</span>&#160;</div><div class="line"><a name="l03220"></a><span class="lineno"> 3220</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l03221"></a><span class="lineno"> 3221</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>);</div><div class="line"><a name="l03222"></a><span class="lineno"> 3222</span>&#160;};</div><div class="line"><a name="l03223"></a><span class="lineno"> 3223</span>&#160;</div><div class="line"><a name="l03233"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Demon.html"> 3233</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1Demon.html">Demon</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1BaseObject.html">BaseObject</a> {</div><div class="line"><a name="l03234"></a><span class="lineno"> 3234</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l03237"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Demon.html#a18542ce967b086b67c5b0e2b1c025bcf"> 3237</a></span>&#160; <a class="code" href="classoperations__research_1_1Demon.html#a18542ce967b086b67c5b0e2b1c025bcf">Demon</a>() : stamp_(GG_ULONGLONG(0)) {}</div><div class="line"><a name="l03238"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Demon.html#a5c1d752bf5b8c6e57bd7defbdbc3e0d8"> 3238</a></span>&#160; <a class="code" href="classoperations__research_1_1Demon.html#a5c1d752bf5b8c6e57bd7defbdbc3e0d8">~Demon</a>()<span class="keyword"> override </span>{}</div><div class="line"><a name="l03239"></a><span class="lineno"> 3239</span>&#160;</div><div class="line"><a name="l03241"></a><span class="lineno"> 3241</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Demon.html#aff915cd1c182d7e7ce5c9d15e9ae1da7">Run</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s) = 0;</div><div class="line"><a name="l03242"></a><span class="lineno"> 3242</span>&#160;</div><div class="line"><a name="l03246"></a><span class="lineno"> 3246</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7">Solver::DemonPriority</a> <a class="code" href="classoperations__research_1_1Demon.html#a5ac0e92284072f70d4e73188ced54885">priority</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l03247"></a><span class="lineno"> 3247</span>&#160;</div><div class="line"><a name="l03248"></a><span class="lineno"> 3248</span>&#160; std::string <a class="code" href="classoperations__research_1_1Demon.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>() <span class="keyword">const override</span>;</div><div class="line"><a name="l03249"></a><span class="lineno"> 3249</span>&#160;</div><div class="line"><a name="l03252"></a><span class="lineno"> 3252</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Demon.html#a0c1ff1e86b1eb08d0f87eab2943dac2a">inhibit</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s);</div><div class="line"><a name="l03253"></a><span class="lineno"> 3253</span>&#160;</div><div class="line"><a name="l03255"></a><span class="lineno"> 3255</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Demon.html#a2baabc490b7cd5aa80136e07b358cb21">desinhibit</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s);</div><div class="line"><a name="l03256"></a><span class="lineno"> 3256</span>&#160;</div><div class="line"><a name="l03257"></a><span class="lineno"> 3257</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l03258"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Demon.html#a47dfc6f2bc0d50a6e7c92eb00d97b064"> 3258</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classoperations__research_1_1Demon.html#a47dfc6f2bc0d50a6e7c92eb00d97b064">Queue</a>;</div><div class="line"><a name="l03259"></a><span class="lineno"> 3259</span>&#160; <span class="keywordtype">void</span> set_stamp(int64 stamp) { stamp_ = stamp; }</div><div class="line"><a name="l03260"></a><span class="lineno"> 3260</span>&#160; uint64 stamp()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> stamp_; }</div><div class="line"><a name="l03261"></a><span class="lineno"> 3261</span>&#160; uint64 stamp_;</div><div class="line"><a name="l03262"></a><span class="lineno"> 3262</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1Demon.html#a18542ce967b086b67c5b0e2b1c025bcf">Demon</a>);</div><div class="line"><a name="l03263"></a><span class="lineno"> 3263</span>&#160;};</div><div class="line"><a name="l03264"></a><span class="lineno"> 3264</span>&#160;</div><div class="line"><a name="l03266"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html"> 3266</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1BaseObject.html">BaseObject</a> {</div><div class="line"><a name="l03267"></a><span class="lineno"> 3267</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l03269"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#aed85f9e320a2352ea31db4ae2e816861"> 3269</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#aed85f9e320a2352ea31db4ae2e816861">kAbs</a>[];</div><div class="line"><a name="l03270"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a795a3239d887c8e56bd2f96f44285f34"> 3270</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a795a3239d887c8e56bd2f96f44285f34">kAbsEqual</a>[];</div><div class="line"><a name="l03271"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a58c32b91992c812416e017260a5308e5"> 3271</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a58c32b91992c812416e017260a5308e5">kAllDifferent</a>[];</div><div class="line"><a name="l03272"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a1680a15375772b3c4930869519695e27"> 3272</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a1680a15375772b3c4930869519695e27">kAllowedAssignments</a>[];</div><div class="line"><a name="l03273"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ac92009c58c162047bc1232c8b1b955e5"> 3273</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ac92009c58c162047bc1232c8b1b955e5">kAtMost</a>[];</div><div class="line"><a name="l03274"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a047b2a1ed371f7cbfc2b712eae1c9518"> 3274</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a047b2a1ed371f7cbfc2b712eae1c9518">kIndexOf</a>[];</div><div class="line"><a name="l03275"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a51b35b919713ff95a1319b391a818948"> 3275</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a51b35b919713ff95a1319b391a818948">kBetween</a>[];</div><div class="line"><a name="l03276"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#af6181ef449bab02788536ca503cd3cd8"> 3276</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#af6181ef449bab02788536ca503cd3cd8">kConditionalExpr</a>[];</div><div class="line"><a name="l03277"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a1d734a2c4dd2abac8ff580437c3fd0e0"> 3277</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a1d734a2c4dd2abac8ff580437c3fd0e0">kCircuit</a>[];</div><div class="line"><a name="l03278"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a6547847378ab8737c33862119548fa7a"> 3278</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a6547847378ab8737c33862119548fa7a">kConvexPiecewise</a>[];</div><div class="line"><a name="l03279"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a2b39b4ddeced08534a545a2af992ea25"> 3279</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a2b39b4ddeced08534a545a2af992ea25">kCountEqual</a>[];</div><div class="line"><a name="l03280"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ab562410a4141319c760d7187cae60ae3"> 3280</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ab562410a4141319c760d7187cae60ae3">kCover</a>[];</div><div class="line"><a name="l03281"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a7cd2b6f03b98cca52a9c1162ff4e588d"> 3281</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a7cd2b6f03b98cca52a9c1162ff4e588d">kCumulative</a>[];</div><div class="line"><a name="l03282"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a1abb7cd1adc423a0c095f0c902a498b5"> 3282</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a1abb7cd1adc423a0c095f0c902a498b5">kDeviation</a>[];</div><div class="line"><a name="l03283"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a793434fd2029abd85f59147b7671e1e9"> 3283</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a793434fd2029abd85f59147b7671e1e9">kDifference</a>[];</div><div class="line"><a name="l03284"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a900b6f477d759869da0e9a89c5201642"> 3284</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a900b6f477d759869da0e9a89c5201642">kDisjunctive</a>[];</div><div class="line"><a name="l03285"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a037a01ecac6de7f83233f48bdec420f0"> 3285</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a037a01ecac6de7f83233f48bdec420f0">kDistribute</a>[];</div><div class="line"><a name="l03286"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a1cabba002c738f52f516bde312d250ff"> 3286</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a1cabba002c738f52f516bde312d250ff">kDivide</a>[];</div><div class="line"><a name="l03287"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a5742cff510396670bc30e59b21bc4f02"> 3287</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a5742cff510396670bc30e59b21bc4f02">kDurationExpr</a>[];</div><div class="line"><a name="l03288"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a0cf22f4d4e6ca99119b47786c7051872"> 3288</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a0cf22f4d4e6ca99119b47786c7051872">kElement</a>[];</div><div class="line"><a name="l03289"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a9d247821942bd436a451b98b6a820a0b"> 3289</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a9d247821942bd436a451b98b6a820a0b">kElementEqual</a>[];</div><div class="line"><a name="l03290"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a90a61ae1140d0653a779c95428efd1e9"> 3290</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a90a61ae1140d0653a779c95428efd1e9">kEndExpr</a>[];</div><div class="line"><a name="l03291"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a493ce359cebf04754142358695c209e4"> 3291</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a493ce359cebf04754142358695c209e4">kEquality</a>[];</div><div class="line"><a name="l03292"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a8c5cbe7b436dce3afff17642fce39ea1"> 3292</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a8c5cbe7b436dce3afff17642fce39ea1">kFalseConstraint</a>[];</div><div class="line"><a name="l03293"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a6a623ce0e4622390eee08d0e5b501cea"> 3293</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a6a623ce0e4622390eee08d0e5b501cea">kGlobalCardinality</a>[];</div><div class="line"><a name="l03294"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a418093315d91c51a1adb1dda94266643"> 3294</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a418093315d91c51a1adb1dda94266643">kGreater</a>[];</div><div class="line"><a name="l03295"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a9e0316ea65eff972a717d636c75482f6"> 3295</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a9e0316ea65eff972a717d636c75482f6">kGreaterOrEqual</a>[];</div><div class="line"><a name="l03296"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ab3bfa3eba327be16a5710d64401f0f59"> 3296</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ab3bfa3eba327be16a5710d64401f0f59">kIntegerVariable</a>[];</div><div class="line"><a name="l03297"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a3bd22735c865e1bd450f7e01747390f2"> 3297</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a3bd22735c865e1bd450f7e01747390f2">kIntervalBinaryRelation</a>[];</div><div class="line"><a name="l03298"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#affe125bed1edf258797dae8d40428107"> 3298</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#affe125bed1edf258797dae8d40428107">kIntervalDisjunction</a>[];</div><div class="line"><a name="l03299"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a35959a8f06ab5704037d3ba6f6e57807"> 3299</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a35959a8f06ab5704037d3ba6f6e57807">kIntervalUnaryRelation</a>[];</div><div class="line"><a name="l03300"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a0d9e5851d0f32ac86e3a80f9d83f56f7"> 3300</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a0d9e5851d0f32ac86e3a80f9d83f56f7">kIntervalVariable</a>[];</div><div class="line"><a name="l03301"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ae5aadcc612ef6d5d5745016e047cc114"> 3301</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ae5aadcc612ef6d5d5745016e047cc114">kInversePermutation</a>[];</div><div class="line"><a name="l03302"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#aa8ff2529b746694f1e84c0ae3539a771"> 3302</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#aa8ff2529b746694f1e84c0ae3539a771">kIsBetween</a>[];</div><div class="line"><a name="l03303"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a27f93e67bcfff37a7387c8d0470a1a84"> 3303</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a27f93e67bcfff37a7387c8d0470a1a84">kIsDifferent</a>[];</div><div class="line"><a name="l03304"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a580be6f5821ff3e30fda51d180ec4381"> 3304</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a580be6f5821ff3e30fda51d180ec4381">kIsEqual</a>[];</div><div class="line"><a name="l03305"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a523dfb65ec9b9b012b2414087ad66ece"> 3305</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a523dfb65ec9b9b012b2414087ad66ece">kIsGreater</a>[];</div><div class="line"><a name="l03306"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a9f8656876765452bb1532eaa2ae63542"> 3306</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a9f8656876765452bb1532eaa2ae63542">kIsGreaterOrEqual</a>[];</div><div class="line"><a name="l03307"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a74cffe7b975f432fec064daf60d35e6d"> 3307</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a74cffe7b975f432fec064daf60d35e6d">kIsLess</a>[];</div><div class="line"><a name="l03308"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ae71cfc5d896488af982bf109d0b3dbd3"> 3308</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ae71cfc5d896488af982bf109d0b3dbd3">kIsLessOrEqual</a>[];</div><div class="line"><a name="l03309"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a00684eaee743cc9b418ebdf99a9027be"> 3309</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a00684eaee743cc9b418ebdf99a9027be">kIsMember</a>[];</div><div class="line"><a name="l03310"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a66badecb0606e028c8f2318523337510"> 3310</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a66badecb0606e028c8f2318523337510">kLess</a>[];</div><div class="line"><a name="l03311"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a561d0006662c709e158b85992727024a"> 3311</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a561d0006662c709e158b85992727024a">kLessOrEqual</a>[];</div><div class="line"><a name="l03312"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#af5045f41feeb94cbea4250ba15adcd24"> 3312</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#af5045f41feeb94cbea4250ba15adcd24">kLexLess</a>[];</div><div class="line"><a name="l03313"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a26685fc40f9c1a471f510c940229f12a"> 3313</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a26685fc40f9c1a471f510c940229f12a">kLinkExprVar</a>[];</div><div class="line"><a name="l03314"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a381c6eb4722ef4ec71888612ffd9dcdb"> 3314</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a381c6eb4722ef4ec71888612ffd9dcdb">kMapDomain</a>[];</div><div class="line"><a name="l03315"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#aa95757a513f781326dd6909766f893d4"> 3315</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#aa95757a513f781326dd6909766f893d4">kMax</a>[];</div><div class="line"><a name="l03316"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a1dad7894187a044deb1348a4401b01dd"> 3316</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a1dad7894187a044deb1348a4401b01dd">kMaxEqual</a>[];</div><div class="line"><a name="l03317"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a60e019a6fcc850c0f9b3f1d0d510ff58"> 3317</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a60e019a6fcc850c0f9b3f1d0d510ff58">kMember</a>[];</div><div class="line"><a name="l03318"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a589dbe140227cc5b787cdda276b67acc"> 3318</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a589dbe140227cc5b787cdda276b67acc">kMin</a>[];</div><div class="line"><a name="l03319"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a2c093c2312ebcf6e2731da682e0adfae"> 3319</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a2c093c2312ebcf6e2731da682e0adfae">kMinEqual</a>[];</div><div class="line"><a name="l03320"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a58204b09320f02bca9bd9574cec4cc11"> 3320</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a58204b09320f02bca9bd9574cec4cc11">kModulo</a>[];</div><div class="line"><a name="l03321"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a69b3391b3f8ada3bf0c2c69a8c7a799e"> 3321</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a69b3391b3f8ada3bf0c2c69a8c7a799e">kNoCycle</a>[];</div><div class="line"><a name="l03322"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a6fa8bac903075afe8a670a0c2206fcc5"> 3322</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a6fa8bac903075afe8a670a0c2206fcc5">kNonEqual</a>[];</div><div class="line"><a name="l03323"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a7f60481e6d86f31e943ae6b6e0f6410b"> 3323</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a7f60481e6d86f31e943ae6b6e0f6410b">kNotBetween</a>[];</div><div class="line"><a name="l03324"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ac98ea1ab84216d43ee4fdd81ab7474fc"> 3324</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ac98ea1ab84216d43ee4fdd81ab7474fc">kNotMember</a>[];</div><div class="line"><a name="l03325"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a800e6dd7541cfccb30f9ff87b0806282"> 3325</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a800e6dd7541cfccb30f9ff87b0806282">kNullIntersect</a>[];</div><div class="line"><a name="l03326"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a096edf47d0fdf540679b385bc80ece6a"> 3326</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a096edf47d0fdf540679b385bc80ece6a">kOpposite</a>[];</div><div class="line"><a name="l03327"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ab14b83147d91ddc7f870334f23c93459"> 3327</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ab14b83147d91ddc7f870334f23c93459">kPack</a>[];</div><div class="line"><a name="l03328"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a0f5cb6f97a812bf8259c3e2b15cc6445"> 3328</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a0f5cb6f97a812bf8259c3e2b15cc6445">kPathCumul</a>[];</div><div class="line"><a name="l03329"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a5fd20f96469c4dc88975e6ccfdc6d0b3"> 3329</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a5fd20f96469c4dc88975e6ccfdc6d0b3">kDelayedPathCumul</a>[];</div><div class="line"><a name="l03330"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a75651946a55c50f7006d07a0ee4e67c2"> 3330</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a75651946a55c50f7006d07a0ee4e67c2">kPerformedExpr</a>[];</div><div class="line"><a name="l03331"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ac6d86b11992187f28b77b7c48e0af0c9"> 3331</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ac6d86b11992187f28b77b7c48e0af0c9">kPower</a>[];</div><div class="line"><a name="l03332"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#afdd57d000496bd12a81e008f1445c6e0"> 3332</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#afdd57d000496bd12a81e008f1445c6e0">kProduct</a>[];</div><div class="line"><a name="l03333"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ac21aa6c10029dac2f0260d71be9edcdf"> 3333</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ac21aa6c10029dac2f0260d71be9edcdf">kScalProd</a>[];</div><div class="line"><a name="l03334"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a63ad0c64681ddabe0c2121f40f2ed594"> 3334</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a63ad0c64681ddabe0c2121f40f2ed594">kScalProdEqual</a>[];</div><div class="line"><a name="l03335"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#adc4da30a70d833a3e0d59a5b3945a001"> 3335</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#adc4da30a70d833a3e0d59a5b3945a001">kScalProdGreaterOrEqual</a>[];</div><div class="line"><a name="l03336"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a58992f144ba268bf675eb1c6c2327453"> 3336</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a58992f144ba268bf675eb1c6c2327453">kScalProdLessOrEqual</a>[];</div><div class="line"><a name="l03337"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#af6146bd50969010daeee8c1005ccf59c"> 3337</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#af6146bd50969010daeee8c1005ccf59c">kSemiContinuous</a>[];</div><div class="line"><a name="l03338"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a8dd7af97dcb7f2d7161a49057b8d97d3"> 3338</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a8dd7af97dcb7f2d7161a49057b8d97d3">kSequenceVariable</a>[];</div><div class="line"><a name="l03339"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a52e35a16f2c1fc6072eeac9e0848c8eb"> 3339</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a52e35a16f2c1fc6072eeac9e0848c8eb">kSortingConstraint</a>[];</div><div class="line"><a name="l03340"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a92149cd4553cbe6b381ea8a10bd2751a"> 3340</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a92149cd4553cbe6b381ea8a10bd2751a">kSquare</a>[];</div><div class="line"><a name="l03341"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#acc606748a8d51c2ded9fe90bb6cd1af3"> 3341</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#acc606748a8d51c2ded9fe90bb6cd1af3">kStartExpr</a>[];</div><div class="line"><a name="l03342"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a56c59c6a5d75ab26416250cc2a820ebd"> 3342</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a56c59c6a5d75ab26416250cc2a820ebd">kSum</a>[];</div><div class="line"><a name="l03343"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#af06d49a292922944bda010d437a22dc7"> 3343</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#af06d49a292922944bda010d437a22dc7">kSumEqual</a>[];</div><div class="line"><a name="l03344"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#aa39de23b822bea8a9e5119b8e6585092"> 3344</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#aa39de23b822bea8a9e5119b8e6585092">kSumGreaterOrEqual</a>[];</div><div class="line"><a name="l03345"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a725ba236296fa779119bcd3f0566d6e6"> 3345</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a725ba236296fa779119bcd3f0566d6e6">kSumLessOrEqual</a>[];</div><div class="line"><a name="l03346"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a153cf778a5285fe08ec6044dbedefcab"> 3346</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a153cf778a5285fe08ec6044dbedefcab">kTrace</a>[];</div><div class="line"><a name="l03347"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a162a515ab9cca0684b341c60cc27b23f"> 3347</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a162a515ab9cca0684b341c60cc27b23f">kTransition</a>[];</div><div class="line"><a name="l03348"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a9093917d6df37ace90b5d1ee3456f18e"> 3348</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a9093917d6df37ace90b5d1ee3456f18e">kTrueConstraint</a>[];</div><div class="line"><a name="l03349"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ac23e672966c12db7c5fde3efd03bc22f"> 3349</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ac23e672966c12db7c5fde3efd03bc22f">kVarBoundWatcher</a>[];</div><div class="line"><a name="l03350"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a46e38a552aa77be3b194f0187f3b254e"> 3350</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a46e38a552aa77be3b194f0187f3b254e">kVarValueWatcher</a>[];</div><div class="line"><a name="l03351"></a><span class="lineno"> 3351</span>&#160;</div><div class="line"><a name="l03353"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a936ce8be9aba423200e61fb24e9dd038"> 3353</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a936ce8be9aba423200e61fb24e9dd038">kCountAssignedItemsExtension</a>[];</div><div class="line"><a name="l03354"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a27c23b6ecc378e75b4da22f166c50244"> 3354</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a27c23b6ecc378e75b4da22f166c50244">kCountUsedBinsExtension</a>[];</div><div class="line"><a name="l03355"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a226ea285176281ef88069a3b47806e23"> 3355</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a226ea285176281ef88069a3b47806e23">kInt64ToBoolExtension</a>[];</div><div class="line"><a name="l03356"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a4075e44ab81cbc73f867fafc86e62bfa"> 3356</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a4075e44ab81cbc73f867fafc86e62bfa">kInt64ToInt64Extension</a>[];</div><div class="line"><a name="l03357"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a04804fdad2e38f6b6f9d959c9e4578b2"> 3357</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a04804fdad2e38f6b6f9d959c9e4578b2">kObjectiveExtension</a>[];</div><div class="line"><a name="l03358"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a590f984893598c7a56c2b0f0d9b953ca"> 3358</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a590f984893598c7a56c2b0f0d9b953ca">kSearchLimitExtension</a>[];</div><div class="line"><a name="l03359"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a161e7c4d5001343bb14fe419f35924a3"> 3359</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a161e7c4d5001343bb14fe419f35924a3">kUsageEqualVariableExtension</a>[];</div><div class="line"><a name="l03360"></a><span class="lineno"> 3360</span>&#160;</div><div class="line"><a name="l03361"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a4de059a43f7663843517c5a6f09dd87c"> 3361</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a4de059a43f7663843517c5a6f09dd87c">kUsageLessConstantExtension</a>[];</div><div class="line"><a name="l03362"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a30b50b7180fb05913750969f7099b3b5"> 3362</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a30b50b7180fb05913750969f7099b3b5">kVariableGroupExtension</a>[];</div><div class="line"><a name="l03363"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#aee2485c2027447e429ba05e54da45da7"> 3363</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#aee2485c2027447e429ba05e54da45da7">kVariableUsageLessConstantExtension</a>[];</div><div class="line"><a name="l03364"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#add65f146a423ac3dc2393b9308e4c476"> 3364</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#add65f146a423ac3dc2393b9308e4c476">kWeightedSumOfAssignedEqualVariableExtension</a>[];</div><div class="line"><a name="l03365"></a><span class="lineno"> 3365</span>&#160;</div><div class="line"><a name="l03367"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ab95b49639e4e70860b08ac6c29235b1a"> 3367</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ab95b49639e4e70860b08ac6c29235b1a">kActiveArgument</a>[];</div><div class="line"><a name="l03368"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a57b18ff410cb385f7cbd1690202d8b1b"> 3368</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a57b18ff410cb385f7cbd1690202d8b1b">kAssumePathsArgument</a>[];</div><div class="line"><a name="l03369"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ac72c2601b14178d2e6512802e67c1e82"> 3369</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ac72c2601b14178d2e6512802e67c1e82">kBranchesLimitArgument</a>[];</div><div class="line"><a name="l03370"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a1efb04d5976e6f974337313f20a8abed"> 3370</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a1efb04d5976e6f974337313f20a8abed">kCapacityArgument</a>[];</div><div class="line"><a name="l03371"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a2ad108e7c25038cfe1700a5902925b1d"> 3371</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a2ad108e7c25038cfe1700a5902925b1d">kCardsArgument</a>[];</div><div class="line"><a name="l03372"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#aa0d733541b65e81e2aa5cfc817f4b306"> 3372</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#aa0d733541b65e81e2aa5cfc817f4b306">kCoefficientsArgument</a>[];</div><div class="line"><a name="l03373"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ad31ec726916dcb6a86af35964b1d84f5"> 3373</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ad31ec726916dcb6a86af35964b1d84f5">kCountArgument</a>[];</div><div class="line"><a name="l03374"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a246e5ce5866d7a5af3c417e1157be7e4"> 3374</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a246e5ce5866d7a5af3c417e1157be7e4">kCumulativeArgument</a>[];</div><div class="line"><a name="l03375"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#aa397e45304c8b4a7b5b16392f80cc781"> 3375</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#aa397e45304c8b4a7b5b16392f80cc781">kCumulsArgument</a>[];</div><div class="line"><a name="l03376"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a16bcd268aea2212502a7905c2167a640"> 3376</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a16bcd268aea2212502a7905c2167a640">kDemandsArgument</a>[];</div><div class="line"><a name="l03377"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a6c32b3d2b7cafc36493d2e39b058f322"> 3377</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a6c32b3d2b7cafc36493d2e39b058f322">kDurationMaxArgument</a>[];</div><div class="line"><a name="l03378"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a71c1aed86ff5e8d8203cf7f75a6b0ec4"> 3378</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a71c1aed86ff5e8d8203cf7f75a6b0ec4">kDurationMinArgument</a>[];</div><div class="line"><a name="l03379"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#acf10b6b6ef31fd88f39d0ea38885a2dc"> 3379</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#acf10b6b6ef31fd88f39d0ea38885a2dc">kEarlyCostArgument</a>[];</div><div class="line"><a name="l03380"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a4c28d8452e85cc7cb4a9473382126f18"> 3380</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a4c28d8452e85cc7cb4a9473382126f18">kEarlyDateArgument</a>[];</div><div class="line"><a name="l03381"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a875953606fef3f5ea86436055d5db9cb"> 3381</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a875953606fef3f5ea86436055d5db9cb">kEndMaxArgument</a>[];</div><div class="line"><a name="l03382"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a7c32a99f7ea498fd5fd744a40a49978b"> 3382</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a7c32a99f7ea498fd5fd744a40a49978b">kEndMinArgument</a>[];</div><div class="line"><a name="l03383"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a2d38bb37c4d53747bee6bd7a4dbea683"> 3383</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a2d38bb37c4d53747bee6bd7a4dbea683">kEndsArgument</a>[];</div><div class="line"><a name="l03384"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#adbc3285e0e5dac4f291280baed6a3660"> 3384</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#adbc3285e0e5dac4f291280baed6a3660">kExpressionArgument</a>[];</div><div class="line"><a name="l03385"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ac0dd4d0fa61e614fe002bc4a44c68cc4"> 3385</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ac0dd4d0fa61e614fe002bc4a44c68cc4">kFailuresLimitArgument</a>[];</div><div class="line"><a name="l03386"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a9344fe5bdffcdcaa4ff2e3e38202d329"> 3386</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a9344fe5bdffcdcaa4ff2e3e38202d329">kFinalStatesArgument</a>[];</div><div class="line"><a name="l03387"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a5d91f82112a1b3e4cb0c51125d9c5bbe"> 3387</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a5d91f82112a1b3e4cb0c51125d9c5bbe">kFixedChargeArgument</a>[];</div><div class="line"><a name="l03388"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#abb68faceb7bde97b48b06ed3ee2c8965"> 3388</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#abb68faceb7bde97b48b06ed3ee2c8965">kIndex2Argument</a>[];</div><div class="line"><a name="l03389"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a5ef2508f0144802647e1384aec4dc8c8"> 3389</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a5ef2508f0144802647e1384aec4dc8c8">kIndexArgument</a>[];</div><div class="line"><a name="l03390"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ad2eec282542c2acaee9c694c5944917c"> 3390</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ad2eec282542c2acaee9c694c5944917c">kInitialState</a>[];</div><div class="line"><a name="l03391"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#aad0692e603eced5a224664493e4e04a0"> 3391</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#aad0692e603eced5a224664493e4e04a0">kIntervalArgument</a>[];</div><div class="line"><a name="l03392"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a99e145b912e32fd3ab2ed6208c9b502b"> 3392</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a99e145b912e32fd3ab2ed6208c9b502b">kIntervalsArgument</a>[];</div><div class="line"><a name="l03393"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a5b75952975129483f50194a37280456e"> 3393</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a5b75952975129483f50194a37280456e">kLateCostArgument</a>[];</div><div class="line"><a name="l03394"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a7c58989fce778932cadb9e0c652ca719"> 3394</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a7c58989fce778932cadb9e0c652ca719">kLateDateArgument</a>[];</div><div class="line"><a name="l03395"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a66131a3db06416f42609a2dfa7a578e0"> 3395</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a66131a3db06416f42609a2dfa7a578e0">kLeftArgument</a>[];</div><div class="line"><a name="l03396"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a9148e84bdd8ea90a08dd76122d041400"> 3396</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a9148e84bdd8ea90a08dd76122d041400">kMaxArgument</a>[];</div><div class="line"><a name="l03397"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#aaa55b6256b0d1ab1bfe6eddecb629d71"> 3397</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#aaa55b6256b0d1ab1bfe6eddecb629d71">kMaximizeArgument</a>[];</div><div class="line"><a name="l03398"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#abf8d63c7d5f292d9e040073cb2c195bf"> 3398</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#abf8d63c7d5f292d9e040073cb2c195bf">kMinArgument</a>[];</div><div class="line"><a name="l03399"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a65cd4717ce546015917331bfd6b25735"> 3399</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a65cd4717ce546015917331bfd6b25735">kModuloArgument</a>[];</div><div class="line"><a name="l03400"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a4592f7b31305062855ebb7a29d179cf5"> 3400</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a4592f7b31305062855ebb7a29d179cf5">kNextsArgument</a>[];</div><div class="line"><a name="l03401"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a9c68bcf81a3279ccd6cce9a3b1b782da"> 3401</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a9c68bcf81a3279ccd6cce9a3b1b782da">kOptionalArgument</a>[];</div><div class="line"><a name="l03402"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a36304d31cb04978db9a9e1e4ac412156"> 3402</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a36304d31cb04978db9a9e1e4ac412156">kPartialArgument</a>[];</div><div class="line"><a name="l03403"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#aec97eb5843e01eedea22c9391094784c"> 3403</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#aec97eb5843e01eedea22c9391094784c">kPositionXArgument</a>[];</div><div class="line"><a name="l03404"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ad5cc2e043cec5569e67c9e4ca8c5ef8e"> 3404</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ad5cc2e043cec5569e67c9e4ca8c5ef8e">kPositionYArgument</a>[];</div><div class="line"><a name="l03405"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a1f95080d6a2e37f4773ec9494479b752"> 3405</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a1f95080d6a2e37f4773ec9494479b752">kRangeArgument</a>[];</div><div class="line"><a name="l03406"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a5e74213547167ce6a3f2b2741eb6245d"> 3406</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a5e74213547167ce6a3f2b2741eb6245d">kRelationArgument</a>[];</div><div class="line"><a name="l03407"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a4fddb36c5bb92575a98b7e54f018da8d"> 3407</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a4fddb36c5bb92575a98b7e54f018da8d">kRightArgument</a>[];</div><div class="line"><a name="l03408"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ab632d1514a9794685b449641d16f7b8a"> 3408</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ab632d1514a9794685b449641d16f7b8a">kSequenceArgument</a>[];</div><div class="line"><a name="l03409"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#af8646fdcdbc833407fcd408e7174bae5"> 3409</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#af8646fdcdbc833407fcd408e7174bae5">kSequencesArgument</a>[];</div><div class="line"><a name="l03410"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a2eb741fdb1a57428e28d76b75828f53d"> 3410</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a2eb741fdb1a57428e28d76b75828f53d">kSizeArgument</a>[];</div><div class="line"><a name="l03411"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ad00a73251ccc9fcc667a424ebaf2c22d"> 3411</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ad00a73251ccc9fcc667a424ebaf2c22d">kSizeXArgument</a>[];</div><div class="line"><a name="l03412"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a196309551c4bd33cdea7377baec9e998"> 3412</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a196309551c4bd33cdea7377baec9e998">kSizeYArgument</a>[];</div><div class="line"><a name="l03413"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a7e86e0902e293a0eed1d9c0ea1d8d5ea"> 3413</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a7e86e0902e293a0eed1d9c0ea1d8d5ea">kSmartTimeCheckArgument</a>[];</div><div class="line"><a name="l03414"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a98308e5047f0292f8f18e03285e07458"> 3414</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a98308e5047f0292f8f18e03285e07458">kSolutionLimitArgument</a>[];</div><div class="line"><a name="l03415"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a6cca6dfc9f84533f608c0c092e7882d4"> 3415</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a6cca6dfc9f84533f608c0c092e7882d4">kStartMaxArgument</a>[];</div><div class="line"><a name="l03416"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#adb7e758609f3da38bb0bdd445e9e2461"> 3416</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#adb7e758609f3da38bb0bdd445e9e2461">kStartMinArgument</a>[];</div><div class="line"><a name="l03417"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#addf253a2cee11ca1350b491972d20b28"> 3417</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#addf253a2cee11ca1350b491972d20b28">kStartsArgument</a>[];</div><div class="line"><a name="l03418"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a0e210e117d5baa103bcee4bf41feb86f"> 3418</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a0e210e117d5baa103bcee4bf41feb86f">kStepArgument</a>[];</div><div class="line"><a name="l03419"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a38498bce8edef1f7864fe72312b32b2c"> 3419</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a38498bce8edef1f7864fe72312b32b2c">kTargetArgument</a>[];</div><div class="line"><a name="l03420"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a2ddcfef771ca0d18764cd96da315f94a"> 3420</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a2ddcfef771ca0d18764cd96da315f94a">kTimeLimitArgument</a>[];</div><div class="line"><a name="l03421"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#acf408604098ab222c1235e29836be09b"> 3421</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#acf408604098ab222c1235e29836be09b">kTransitsArgument</a>[];</div><div class="line"><a name="l03422"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a958b4a3a9b2925a92c8598a72f5cefbd"> 3422</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a958b4a3a9b2925a92c8598a72f5cefbd">kTuplesArgument</a>[];</div><div class="line"><a name="l03423"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a997c9b5e3c862f9f813c9c89a6b1c93b"> 3423</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a997c9b5e3c862f9f813c9c89a6b1c93b">kValueArgument</a>[];</div><div class="line"><a name="l03424"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a640f5ca056aaf5f3cc0ac458bea4e22a"> 3424</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a640f5ca056aaf5f3cc0ac458bea4e22a">kValuesArgument</a>[];</div><div class="line"><a name="l03425"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a59af473ffc9f974d315aaeef845b7998"> 3425</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a59af473ffc9f974d315aaeef845b7998">kVariableArgument</a>[];</div><div class="line"><a name="l03426"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a29ab76d140dc963e6ff300c10f2e6b69"> 3426</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a29ab76d140dc963e6ff300c10f2e6b69">kVarsArgument</a>[];</div><div class="line"><a name="l03427"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a4a72b1cb4e58e1791a99234104a33658"> 3427</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a4a72b1cb4e58e1791a99234104a33658">kEvaluatorArgument</a>[];</div><div class="line"><a name="l03428"></a><span class="lineno"> 3428</span>&#160;</div><div class="line"><a name="l03430"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#aa0e5213a87d88a0a5e22c33842870ae2"> 3430</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#aa0e5213a87d88a0a5e22c33842870ae2">kMirrorOperation</a>[];</div><div class="line"><a name="l03431"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ad510d142b8ae51807937639ce713e830"> 3431</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ad510d142b8ae51807937639ce713e830">kRelaxedMaxOperation</a>[];</div><div class="line"><a name="l03432"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a1472c6d924697afc986d7650a08c7a1f"> 3432</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a1472c6d924697afc986d7650a08c7a1f">kRelaxedMinOperation</a>[];</div><div class="line"><a name="l03433"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a3d3319d34dd3c36b158e52dbbbf53627"> 3433</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a3d3319d34dd3c36b158e52dbbbf53627">kSumOperation</a>[];</div><div class="line"><a name="l03434"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a29dbfc2d9cb6c5525f69bc14b9181f34"> 3434</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a29dbfc2d9cb6c5525f69bc14b9181f34">kDifferenceOperation</a>[];</div><div class="line"><a name="l03435"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ac3119dd51e22d5265000c78420be940a"> 3435</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ac3119dd51e22d5265000c78420be940a">kProductOperation</a>[];</div><div class="line"><a name="l03436"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ac9f18af3bfc84a788bd79fc0a07fecc8"> 3436</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ac9f18af3bfc84a788bd79fc0a07fecc8">kStartSyncOnStartOperation</a>[];</div><div class="line"><a name="l03437"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#aefb5e9428f09f6d4829ce1c01ecdd86d"> 3437</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#aefb5e9428f09f6d4829ce1c01ecdd86d">kStartSyncOnEndOperation</a>[];</div><div class="line"><a name="l03438"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#afd0afc083b6231aea53675d7fdd43558"> 3438</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#afd0afc083b6231aea53675d7fdd43558">kTraceOperation</a>[];</div><div class="line"><a name="l03439"></a><span class="lineno"> 3439</span>&#160;</div><div class="line"><a name="l03440"></a><span class="lineno"> 3440</span>&#160; <a class="code" href="classoperations__research_1_1ModelVisitor.html#a1462f7a4a6016963a51d12ccd37bc0f3">~ModelVisitor</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l03441"></a><span class="lineno"> 3441</span>&#160;</div><div class="line"><a name="l03443"></a><span class="lineno"> 3443</span>&#160;</div><div class="line"><a name="l03445"></a><span class="lineno"> 3445</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a8db878970a91f9226fad5ab5a2670d42">BeginVisitModel</a>(<span class="keyword">const</span> std::string&amp; solver_name);</div><div class="line"><a name="l03446"></a><span class="lineno"> 3446</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a39617dedc90b5b445309c8f3f81ec342">EndVisitModel</a>(<span class="keyword">const</span> std::string&amp; solver_name);</div><div class="line"><a name="l03447"></a><span class="lineno"> 3447</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a71daddfa207d9a10652752da7c9df78f">BeginVisitConstraint</a>(<span class="keyword">const</span> std::string&amp; type_name,</div><div class="line"><a name="l03448"></a><span class="lineno"> 3448</span>&#160; <span class="keyword">const</span> <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <span class="keyword">const</span> constraint);</div><div class="line"><a name="l03449"></a><span class="lineno"> 3449</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a7599a55b43d85348b1efa77225b514be">EndVisitConstraint</a>(<span class="keyword">const</span> std::string&amp; type_name,</div><div class="line"><a name="l03450"></a><span class="lineno"> 3450</span>&#160; <span class="keyword">const</span> <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>* <span class="keyword">const</span> constraint);</div><div class="line"><a name="l03451"></a><span class="lineno"> 3451</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a290fc3c2f12eaa320db59f8f71e07747">BeginVisitExtension</a>(<span class="keyword">const</span> std::string&amp; type);</div><div class="line"><a name="l03452"></a><span class="lineno"> 3452</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a7a8458025b2650b4e0cf2aafde506817">EndVisitExtension</a>(<span class="keyword">const</span> std::string&amp; type);</div><div class="line"><a name="l03453"></a><span class="lineno"> 3453</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a705fc09ad35dc614f58b5f32ad3c66d4">BeginVisitIntegerExpression</a>(<span class="keyword">const</span> std::string&amp; type_name,</div><div class="line"><a name="l03454"></a><span class="lineno"> 3454</span>&#160; <span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr);</div><div class="line"><a name="l03455"></a><span class="lineno"> 3455</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a046faf12ede984ba678bd3a08d90fe27">EndVisitIntegerExpression</a>(<span class="keyword">const</span> std::string&amp; type_name,</div><div class="line"><a name="l03456"></a><span class="lineno"> 3456</span>&#160; <span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> expr);</div><div class="line"><a name="l03457"></a><span class="lineno"> 3457</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a08ed9db2196c99ddf5ffde772a865fcd">VisitIntegerVariable</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> variable,</div><div class="line"><a name="l03458"></a><span class="lineno"> 3458</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> delegate);</div><div class="line"><a name="l03459"></a><span class="lineno"> 3459</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a08ed9db2196c99ddf5ffde772a865fcd">VisitIntegerVariable</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> variable,</div><div class="line"><a name="l03460"></a><span class="lineno"> 3460</span>&#160; <span class="keyword">const</span> std::string&amp; operation, int64 value,</div><div class="line"><a name="l03461"></a><span class="lineno"> 3461</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> delegate);</div><div class="line"><a name="l03462"></a><span class="lineno"> 3462</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ab794f433b6ce53eaafc86b9fef3e6337">VisitIntervalVariable</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> variable,</div><div class="line"><a name="l03463"></a><span class="lineno"> 3463</span>&#160; <span class="keyword">const</span> std::string&amp; operation, int64 value,</div><div class="line"><a name="l03464"></a><span class="lineno"> 3464</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> delegate);</div><div class="line"><a name="l03465"></a><span class="lineno"> 3465</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a4e5344711c44bb56cb8bb380b604ddd4">VisitSequenceVariable</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> variable);</div><div class="line"><a name="l03466"></a><span class="lineno"> 3466</span>&#160;</div><div class="line"><a name="l03468"></a><span class="lineno"> 3468</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a2ae3356565e92c60041f53034dad38dc">VisitIntegerArgument</a>(<span class="keyword">const</span> std::string&amp; arg_name, int64 value);</div><div class="line"><a name="l03469"></a><span class="lineno"> 3469</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ad6e6311cb014cfefca8de2c379c5137b">VisitIntegerArrayArgument</a>(<span class="keyword">const</span> std::string&amp; arg_name,</div><div class="line"><a name="l03470"></a><span class="lineno"> 3470</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; values);</div><div class="line"><a name="l03471"></a><span class="lineno"> 3471</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a879d8c2011eff14fe12fb47819dc45a1">VisitIntegerMatrixArgument</a>(<span class="keyword">const</span> std::string&amp; arg_name,</div><div class="line"><a name="l03472"></a><span class="lineno"> 3472</span>&#160; <span class="keyword">const</span> IntTupleSet&amp; tuples);</div><div class="line"><a name="l03473"></a><span class="lineno"> 3473</span>&#160;</div><div class="line"><a name="l03475"></a><span class="lineno"> 3475</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#acade762559b4a07b7ff2835513fea331">VisitIntegerExpressionArgument</a>(<span class="keyword">const</span> std::string&amp; arg_name,</div><div class="line"><a name="l03476"></a><span class="lineno"> 3476</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>* <span class="keyword">const</span> argument);</div><div class="line"><a name="l03477"></a><span class="lineno"> 3477</span>&#160;</div><div class="line"><a name="l03478"></a><span class="lineno"> 3478</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a2a891b6bc3eedc72dfb7b32e4aee96e6">VisitIntegerVariableArrayArgument</a>(</div><div class="line"><a name="l03479"></a><span class="lineno"> 3479</span>&#160; <span class="keyword">const</span> std::string&amp; arg_name, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; arguments);</div><div class="line"><a name="l03480"></a><span class="lineno"> 3480</span>&#160;</div><div class="line"><a name="l03482"></a><span class="lineno"> 3482</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ad27539b7139884e4904329fd2fd82671">VisitIntervalArgument</a>(<span class="keyword">const</span> std::string&amp; arg_name,</div><div class="line"><a name="l03483"></a><span class="lineno"> 3483</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> argument);</div><div class="line"><a name="l03484"></a><span class="lineno"> 3484</span>&#160;</div><div class="line"><a name="l03485"></a><span class="lineno"> 3485</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ab5bbd458168c635ffd13dcb791187957">VisitIntervalArrayArgument</a>(</div><div class="line"><a name="l03486"></a><span class="lineno"> 3486</span>&#160; <span class="keyword">const</span> std::string&amp; arg_name, <span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; arguments);</div><div class="line"><a name="l03488"></a><span class="lineno"> 3488</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ae41b2bf84506cfcf1c4e17056c589f99">VisitSequenceArgument</a>(<span class="keyword">const</span> std::string&amp; arg_name,</div><div class="line"><a name="l03489"></a><span class="lineno"> 3489</span>&#160; <a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> argument);</div><div class="line"><a name="l03490"></a><span class="lineno"> 3490</span>&#160;</div><div class="line"><a name="l03491"></a><span class="lineno"> 3491</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#acf91de1238d3626085e38d5b42a8af76">VisitSequenceArrayArgument</a>(</div><div class="line"><a name="l03492"></a><span class="lineno"> 3492</span>&#160; <span class="keyword">const</span> std::string&amp; arg_name, <span class="keyword">const</span> std::vector&lt;SequenceVar*&gt;&amp; arguments);</div><div class="line"><a name="l03493"></a><span class="lineno"> 3493</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l03494"></a><span class="lineno"> 3494</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a11cfb1b537a1200911695a7075fa8d32">VisitIntegerVariableEvaluatorArgument</a>(</div><div class="line"><a name="l03496"></a><span class="lineno"> 3496</span>&#160; <span class="keyword">const</span> std::string&amp; arg_name, <span class="keyword">const</span> <a class="code" href="classoperations__research_1_1Solver.html#adbfd1fe2611bc7b45421ae81d66d7444">Solver::Int64ToIntVar</a>&amp; arguments);</div><div class="line"><a name="l03497"></a><span class="lineno"> 3497</span>&#160;</div><div class="line"><a name="l03500"></a><span class="lineno"> 3500</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ad22e12b8cd4b2f03e7c495801a7c158d">VisitInt64ToBoolExtension</a>(<a class="code" href="classoperations__research_1_1Solver.html#a021ae5a2766d4ccaa133a5bbb5398464">Solver::IndexFilter1</a> filter, int64 index_min,</div><div class="line"><a name="l03501"></a><span class="lineno"> 3501</span>&#160; int64 index_max);</div><div class="line"><a name="l03502"></a><span class="lineno"> 3502</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#a7068105b7336b272d448efac25efbb09">VisitInt64ToInt64Extension</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1Solver.html#aa9726f5458b77973475a32178fe512b3">Solver::IndexEvaluator1</a>&amp; eval,</div><div class="line"><a name="l03503"></a><span class="lineno"> 3503</span>&#160; int64 index_min, int64 index_max);</div><div class="line"><a name="l03505"></a><span class="lineno"> 3505</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#ae52031b3bb4f323f565573b0757852bc">VisitInt64ToInt64AsArray</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1Solver.html#aa9726f5458b77973475a32178fe512b3">Solver::IndexEvaluator1</a>&amp; eval,</div><div class="line"><a name="l03506"></a><span class="lineno"> 3506</span>&#160; <span class="keyword">const</span> std::string&amp; arg_name, int64 index_max);</div><div class="line"><a name="l03507"></a><span class="lineno"> 3507</span>&#160;<span class="preprocessor">#endif // #if !defined(SWIG)</span></div><div class="line"><a name="l03508"></a><span class="lineno"> 3508</span>&#160;};</div><div class="line"><a name="l03509"></a><span class="lineno"> 3509</span>&#160;</div><div class="line"><a name="l03516"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Constraint.html"> 3516</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1PropagationBaseObject.html">PropagationBaseObject</a> {</div><div class="line"><a name="l03517"></a><span class="lineno"> 3517</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l03518"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Constraint.html#ad73d074eabf60c009e7ca6a16a5909e4"> 3518</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classoperations__research_1_1Constraint.html#ad73d074eabf60c009e7ca6a16a5909e4">Constraint</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>) : <a class="code" href="classoperations__research_1_1PropagationBaseObject.html">PropagationBaseObject</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>) {}</div><div class="line"><a name="l03519"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Constraint.html#a06a1a88fd005ae10834c7fcfa4bc8d20"> 3519</a></span>&#160; <a class="code" href="classoperations__research_1_1Constraint.html#a06a1a88fd005ae10834c7fcfa4bc8d20">~Constraint</a>()<span class="keyword"> override </span>{}</div><div class="line"><a name="l03520"></a><span class="lineno"> 3520</span>&#160;</div><div class="line"><a name="l03523"></a><span class="lineno"> 3523</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Constraint.html#af33bad3aa81a2f411224d5e471f9956f">Post</a>() = 0;</div><div class="line"><a name="l03524"></a><span class="lineno"> 3524</span>&#160;</div><div class="line"><a name="l03527"></a><span class="lineno"> 3527</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Constraint.html#a9100fab5545234f60a4ce442dbb45630">InitialPropagate</a>() = 0;</div><div class="line"><a name="l03528"></a><span class="lineno"> 3528</span>&#160; std::string <a class="code" href="classoperations__research_1_1Constraint.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>() <span class="keyword">const override</span>;</div><div class="line"><a name="l03529"></a><span class="lineno"> 3529</span>&#160;</div><div class="line"><a name="l03532"></a><span class="lineno"> 3532</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Constraint.html#a19c44e0b2911b809a9403701804088e3">PostAndPropagate</a>();</div><div class="line"><a name="l03533"></a><span class="lineno"> 3533</span>&#160;</div><div class="line"><a name="l03535"></a><span class="lineno"> 3535</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Constraint.html#afcde421cf076575a27bed81c80093ac8">Accept</a>(<a class="code" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a>* <span class="keyword">const</span> visitor) <span class="keyword">const</span>;</div><div class="line"><a name="l03536"></a><span class="lineno"> 3536</span>&#160;</div><div class="line"><a name="l03538"></a><span class="lineno"> 3538</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Constraint.html#a573284ea4ace994b6886c6a4feffa0aa">IsCastConstraint</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l03539"></a><span class="lineno"> 3539</span>&#160;</div><div class="line"><a name="l03543"></a><span class="lineno"> 3543</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Constraint.html#acde5e7966f7772bf931dd0dd2bc398a1">Var</a>();</div><div class="line"><a name="l03544"></a><span class="lineno"> 3544</span>&#160;</div><div class="line"><a name="l03545"></a><span class="lineno"> 3545</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l03546"></a><span class="lineno"> 3546</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>);</div><div class="line"><a name="l03547"></a><span class="lineno"> 3547</span>&#160;};</div><div class="line"><a name="l03548"></a><span class="lineno"> 3548</span>&#160;</div><div class="line"><a name="l03552"></a><span class="lineno"><a class="line" href="classoperations__research_1_1CastConstraint.html"> 3552</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1CastConstraint.html">CastConstraint</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a> {</div><div class="line"><a name="l03553"></a><span class="lineno"> 3553</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l03554"></a><span class="lineno"><a class="line" href="classoperations__research_1_1CastConstraint.html#af819176a9aae0724902c5a1b50786b0b"> 3554</a></span>&#160; <a class="code" href="classoperations__research_1_1CastConstraint.html#af819176a9aae0724902c5a1b50786b0b">CastConstraint</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>, <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> <a class="code" href="classoperations__research_1_1CastConstraint.html#a238836497bd5aa00b0d74d3ba2a1dc03">target_var</a>)</div><div class="line"><a name="l03555"></a><span class="lineno"> 3555</span>&#160; : <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>), <a class="code" href="classoperations__research_1_1CastConstraint.html#a98fcd7d6529aa105a5d9ca4b282579f0">target_var_</a>(<a class="code" href="classoperations__research_1_1CastConstraint.html#a238836497bd5aa00b0d74d3ba2a1dc03">target_var</a>) {</div><div class="line"><a name="l03556"></a><span class="lineno"> 3556</span>&#160; CHECK(<a class="code" href="classoperations__research_1_1CastConstraint.html#a238836497bd5aa00b0d74d3ba2a1dc03">target_var</a> != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l03557"></a><span class="lineno"> 3557</span>&#160; }</div><div class="line"><a name="l03558"></a><span class="lineno"><a class="line" href="classoperations__research_1_1CastConstraint.html#a870e6a416b760b2c0aaba0d45ce7a359"> 3558</a></span>&#160; <a class="code" href="classoperations__research_1_1CastConstraint.html#a870e6a416b760b2c0aaba0d45ce7a359">~CastConstraint</a>()<span class="keyword"> override </span>{}</div><div class="line"><a name="l03559"></a><span class="lineno"> 3559</span>&#160;</div><div class="line"><a name="l03560"></a><span class="lineno"><a class="line" href="classoperations__research_1_1CastConstraint.html#a238836497bd5aa00b0d74d3ba2a1dc03"> 3560</a></span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1CastConstraint.html#a238836497bd5aa00b0d74d3ba2a1dc03">target_var</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classoperations__research_1_1CastConstraint.html#a98fcd7d6529aa105a5d9ca4b282579f0">target_var_</a>; }</div><div class="line"><a name="l03561"></a><span class="lineno"> 3561</span>&#160;</div><div class="line"><a name="l03562"></a><span class="lineno"> 3562</span>&#160; <span class="keyword">protected</span>:</div><div class="line"><a name="l03563"></a><span class="lineno"><a class="line" href="classoperations__research_1_1CastConstraint.html#a98fcd7d6529aa105a5d9ca4b282579f0"> 3563</a></span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> <a class="code" href="classoperations__research_1_1CastConstraint.html#a98fcd7d6529aa105a5d9ca4b282579f0">target_var_</a>;</div><div class="line"><a name="l03564"></a><span class="lineno"> 3564</span>&#160;};</div><div class="line"><a name="l03565"></a><span class="lineno"> 3565</span>&#160;</div><div class="line"><a name="l03567"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SearchMonitor.html"> 3567</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1BaseObject.html">BaseObject</a> {</div><div class="line"><a name="l03568"></a><span class="lineno"> 3568</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l03569"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SearchMonitor.html#ae01b186f0d4be993cdabb7fb50bb98bd"> 3569</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#ae01b186f0d4be993cdabb7fb50bb98bd">kNoProgress</a> = -1;</div><div class="line"><a name="l03570"></a><span class="lineno"> 3570</span>&#160;</div><div class="line"><a name="l03571"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SearchMonitor.html#a0717f339467adcc032d893007b3695be"> 3571</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#a0717f339467adcc032d893007b3695be">SearchMonitor</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s) : solver_(s) {}</div><div class="line"><a name="l03572"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SearchMonitor.html#a72beba8c14dafe98d7faea2fd625bf27"> 3572</a></span>&#160; <a class="code" href="classoperations__research_1_1SearchMonitor.html#a72beba8c14dafe98d7faea2fd625bf27">~SearchMonitor</a>()<span class="keyword"> override </span>{}</div><div class="line"><a name="l03574"></a><span class="lineno"> 3574</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#a27bff456d096558a8be08ca6fee989f2">EnterSearch</a>();</div><div class="line"><a name="l03575"></a><span class="lineno"> 3575</span>&#160;</div><div class="line"><a name="l03577"></a><span class="lineno"> 3577</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#a262b3b6ef45475daffd66c5ada5dfdd2">RestartSearch</a>();</div><div class="line"><a name="l03578"></a><span class="lineno"> 3578</span>&#160;</div><div class="line"><a name="l03580"></a><span class="lineno"> 3580</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#a19bef8716e7418748ef666b07b09c25d">ExitSearch</a>();</div><div class="line"><a name="l03581"></a><span class="lineno"> 3581</span>&#160;</div><div class="line"><a name="l03583"></a><span class="lineno"> 3583</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#ad68c792579832141c205985973ba8a88">BeginNextDecision</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> b);</div><div class="line"><a name="l03584"></a><span class="lineno"> 3584</span>&#160;</div><div class="line"><a name="l03586"></a><span class="lineno"> 3586</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#ab472eccafac416112828cde24cefb907">EndNextDecision</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> b, <a class="code" href="classoperations__research_1_1Decision.html">Decision</a>* <span class="keyword">const</span> d);</div><div class="line"><a name="l03587"></a><span class="lineno"> 3587</span>&#160;</div><div class="line"><a name="l03589"></a><span class="lineno"> 3589</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#af4cd0c541c53920fa86ff54ba2349cb2">ApplyDecision</a>(<a class="code" href="classoperations__research_1_1Decision.html">Decision</a>* <span class="keyword">const</span> d);</div><div class="line"><a name="l03590"></a><span class="lineno"> 3590</span>&#160;</div><div class="line"><a name="l03592"></a><span class="lineno"> 3592</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#a150f3693eacbeff5fcf5fb1ab954d11e">RefuteDecision</a>(<a class="code" href="classoperations__research_1_1Decision.html">Decision</a>* <span class="keyword">const</span> d);</div><div class="line"><a name="l03593"></a><span class="lineno"> 3593</span>&#160;</div><div class="line"><a name="l03596"></a><span class="lineno"> 3596</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#a9e7b2a7775d2ff7735f77716cb29d15b">AfterDecision</a>(<a class="code" href="classoperations__research_1_1Decision.html">Decision</a>* <span class="keyword">const</span> d, <span class="keywordtype">bool</span> apply);</div><div class="line"><a name="l03597"></a><span class="lineno"> 3597</span>&#160;</div><div class="line"><a name="l03599"></a><span class="lineno"> 3599</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#a232379b0cabc402db868a849f4f71273">BeginFail</a>();</div><div class="line"><a name="l03600"></a><span class="lineno"> 3600</span>&#160;</div><div class="line"><a name="l03602"></a><span class="lineno"> 3602</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#a365797300972514a230eeb9e2f45f441">EndFail</a>();</div><div class="line"><a name="l03603"></a><span class="lineno"> 3603</span>&#160;</div><div class="line"><a name="l03605"></a><span class="lineno"> 3605</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#adfeaf3bb78e09fb211bdb8a4fa605c05">BeginInitialPropagation</a>();</div><div class="line"><a name="l03606"></a><span class="lineno"> 3606</span>&#160;</div><div class="line"><a name="l03608"></a><span class="lineno"> 3608</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#a1ef0300d79ec636a79c06486f695b2ff">EndInitialPropagation</a>();</div><div class="line"><a name="l03609"></a><span class="lineno"> 3609</span>&#160;</div><div class="line"><a name="l03613"></a><span class="lineno"> 3613</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#a2895de3ad67f901de28f00994cdcfa34">AcceptSolution</a>();</div><div class="line"><a name="l03614"></a><span class="lineno"> 3614</span>&#160;</div><div class="line"><a name="l03618"></a><span class="lineno"> 3618</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#a9f55f75747d65ad9c4ca9c6fdc01800d">AtSolution</a>();</div><div class="line"><a name="l03619"></a><span class="lineno"> 3619</span>&#160;</div><div class="line"><a name="l03621"></a><span class="lineno"> 3621</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#a6c85276e75542eb410f09b0ccd78379b">NoMoreSolutions</a>();</div><div class="line"><a name="l03622"></a><span class="lineno"> 3622</span>&#160;</div><div class="line"><a name="l03625"></a><span class="lineno"> 3625</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#ad6087c8c2f28d22ff19052db7c0045cf">LocalOptimum</a>();</div><div class="line"><a name="l03626"></a><span class="lineno"> 3626</span>&#160;</div><div class="line"><a name="l03628"></a><span class="lineno"> 3628</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#a98a16aa379c7240ae374adb128142a02">AcceptDelta</a>(<a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* delta, <a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* deltadelta);</div><div class="line"><a name="l03629"></a><span class="lineno"> 3629</span>&#160;</div><div class="line"><a name="l03631"></a><span class="lineno"> 3631</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#a36df6248a273f003d8d9e1414e3c5e5c">AcceptNeighbor</a>();</div><div class="line"><a name="l03632"></a><span class="lineno"> 3632</span>&#160;</div><div class="line"><a name="l03634"></a><span class="lineno"> 3634</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#ae08d9f4aadd8be8f98637c6dec237b57">AcceptUncheckedNeighbor</a>();</div><div class="line"><a name="l03635"></a><span class="lineno"> 3635</span>&#160;</div><div class="line"><a name="l03638"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SearchMonitor.html#a198e17615278d9d5b9f39e4f0493447b"> 3638</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#a198e17615278d9d5b9f39e4f0493447b">IsUncheckedSolutionLimitReached</a>() { <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div><div class="line"><a name="l03639"></a><span class="lineno"> 3639</span>&#160;</div><div class="line"><a name="l03640"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SearchMonitor.html#a5f32c22c620c811754ba7b6f977db864"> 3640</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <a class="code" href="classoperations__research_1_1SearchMonitor.html#a5f32c22c620c811754ba7b6f977db864">solver</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> solver_; }</div><div class="line"><a name="l03641"></a><span class="lineno"> 3641</span>&#160;</div><div class="line"><a name="l03643"></a><span class="lineno"> 3643</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#a1fc71393e20b97540f90702601b75fe1">PeriodicCheck</a>();</div><div class="line"><a name="l03644"></a><span class="lineno"> 3644</span>&#160;</div><div class="line"><a name="l03647"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SearchMonitor.html#a2ebc7607687823d65bf65f331c9ac246"> 3647</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#a2ebc7607687823d65bf65f331c9ac246">ProgressPercent</a>() { <span class="keywordflow">return</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#ae01b186f0d4be993cdabb7fb50bb98bd">kNoProgress</a>; }</div><div class="line"><a name="l03648"></a><span class="lineno"> 3648</span>&#160;</div><div class="line"><a name="l03650"></a><span class="lineno"> 3650</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#afcde421cf076575a27bed81c80093ac8">Accept</a>(<a class="code" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a>* <span class="keyword">const</span> visitor) <span class="keyword">const</span>;</div><div class="line"><a name="l03651"></a><span class="lineno"> 3651</span>&#160;</div><div class="line"><a name="l03654"></a><span class="lineno"> 3654</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#a16adaa01a30033dfc04405c25b7ede7b">Install</a>();</div><div class="line"><a name="l03655"></a><span class="lineno"> 3655</span>&#160;</div><div class="line"><a name="l03656"></a><span class="lineno"> 3656</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l03657"></a><span class="lineno"> 3657</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> solver_;</div><div class="line"><a name="l03658"></a><span class="lineno"> 3658</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>);</div><div class="line"><a name="l03659"></a><span class="lineno"> 3659</span>&#160;};</div><div class="line"><a name="l03660"></a><span class="lineno"> 3660</span>&#160;</div><div class="line"><a name="l03666"></a><span class="lineno"> 3666</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div><div class="line"><a name="l03667"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Rev.html"> 3667</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1Rev.html">Rev</a> {</div><div class="line"><a name="l03668"></a><span class="lineno"> 3668</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l03669"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Rev.html#a9d6eb996de91fb8ea31c9e20bb7d655f"> 3669</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classoperations__research_1_1Rev.html#a9d6eb996de91fb8ea31c9e20bb7d655f">Rev</a>(<span class="keyword">const</span> T&amp; val) : stamp_(0), value_(val) {}</div><div class="line"><a name="l03670"></a><span class="lineno"> 3670</span>&#160;</div><div class="line"><a name="l03671"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f"> 3671</a></span>&#160; <span class="keyword">const</span> T&amp; <a class="code" href="classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f">Value</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> value_; }</div><div class="line"><a name="l03672"></a><span class="lineno"> 3672</span>&#160;</div><div class="line"><a name="l03673"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Rev.html#a95da6a138a3b56de0cf0c3c4ba7c4688"> 3673</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Rev.html#a95da6a138a3b56de0cf0c3c4ba7c4688">SetValue</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s, <span class="keyword">const</span> T&amp; val) {</div><div class="line"><a name="l03674"></a><span class="lineno"> 3674</span>&#160; <span class="keywordflow">if</span> (val != value_) {</div><div class="line"><a name="l03675"></a><span class="lineno"> 3675</span>&#160; <span class="keywordflow">if</span> (stamp_ &lt; s-&gt;stamp()) {</div><div class="line"><a name="l03676"></a><span class="lineno"> 3676</span>&#160; s-&gt;<a class="code" href="classoperations__research_1_1Solver.html#a0544697ab645219c7ed34fd2c19e5033">SaveValue</a>(&amp;value_);</div><div class="line"><a name="l03677"></a><span class="lineno"> 3677</span>&#160; stamp_ = s-&gt;<a class="code" href="classoperations__research_1_1Solver.html#ad1600fac3a55a9ab4d7b5750b19fb6a1">stamp</a>();</div><div class="line"><a name="l03678"></a><span class="lineno"> 3678</span>&#160; }</div><div class="line"><a name="l03679"></a><span class="lineno"> 3679</span>&#160; value_ = val;</div><div class="line"><a name="l03680"></a><span class="lineno"> 3680</span>&#160; }</div><div class="line"><a name="l03681"></a><span class="lineno"> 3681</span>&#160; }</div><div class="line"><a name="l03682"></a><span class="lineno"> 3682</span>&#160;</div><div class="line"><a name="l03683"></a><span class="lineno"> 3683</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l03684"></a><span class="lineno"> 3684</span>&#160; uint64 stamp_;</div><div class="line"><a name="l03685"></a><span class="lineno"> 3685</span>&#160; T value_;</div><div class="line"><a name="l03686"></a><span class="lineno"> 3686</span>&#160;};</div><div class="line"><a name="l03687"></a><span class="lineno"> 3687</span>&#160;</div><div class="line"><a name="l03689"></a><span class="lineno"> 3689</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div><div class="line"><a name="l03690"></a><span class="lineno"><a class="line" href="classoperations__research_1_1NumericalRev.html"> 3690</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1NumericalRev.html">NumericalRev</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1Rev.html">Rev</a>&lt;T&gt; {</div><div class="line"><a name="l03691"></a><span class="lineno"> 3691</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l03692"></a><span class="lineno"><a class="line" href="classoperations__research_1_1NumericalRev.html#a32c6aa2b614e866158426d0ffc43dc55"> 3692</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classoperations__research_1_1NumericalRev.html#a32c6aa2b614e866158426d0ffc43dc55">NumericalRev</a>(<span class="keyword">const</span> T&amp; val) : <a class="code" href="classoperations__research_1_1Rev.html">Rev</a>&lt;T&gt;(val) {}</div><div class="line"><a name="l03693"></a><span class="lineno"> 3693</span>&#160;</div><div class="line"><a name="l03694"></a><span class="lineno"><a class="line" href="classoperations__research_1_1NumericalRev.html#acefa703f28a3c0a63d826bba8f19deb9"> 3694</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1NumericalRev.html#acefa703f28a3c0a63d826bba8f19deb9">Add</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s, <span class="keyword">const</span> T&amp; to_add) {</div><div class="line"><a name="l03695"></a><span class="lineno"> 3695</span>&#160; this-&gt;<a class="code" href="classoperations__research_1_1Rev.html#a95da6a138a3b56de0cf0c3c4ba7c4688">SetValue</a>(s, this-&gt;<a class="code" href="classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f">Value</a>() + to_add);</div><div class="line"><a name="l03696"></a><span class="lineno"> 3696</span>&#160; }</div><div class="line"><a name="l03697"></a><span class="lineno"> 3697</span>&#160;</div><div class="line"><a name="l03698"></a><span class="lineno"><a class="line" href="classoperations__research_1_1NumericalRev.html#ac8beef1ef5cd6ce8bdfb3f48016ff72b"> 3698</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1NumericalRev.html#ac8beef1ef5cd6ce8bdfb3f48016ff72b">Incr</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s) { <a class="code" href="classoperations__research_1_1NumericalRev.html#acefa703f28a3c0a63d826bba8f19deb9">Add</a>(s, 1); }</div><div class="line"><a name="l03699"></a><span class="lineno"> 3699</span>&#160;</div><div class="line"><a name="l03700"></a><span class="lineno"><a class="line" href="classoperations__research_1_1NumericalRev.html#a83c8a2812799fd87becd114374fb1d36"> 3700</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1NumericalRev.html#a83c8a2812799fd87becd114374fb1d36">Decr</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s) { <a class="code" href="classoperations__research_1_1NumericalRev.html#acefa703f28a3c0a63d826bba8f19deb9">Add</a>(s, -1); }</div><div class="line"><a name="l03701"></a><span class="lineno"> 3701</span>&#160;};</div><div class="line"><a name="l03702"></a><span class="lineno"> 3702</span>&#160;</div><div class="line"><a name="l03708"></a><span class="lineno"> 3708</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div><div class="line"><a name="l03709"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RevArray.html"> 3709</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1RevArray.html">RevArray</a> {</div><div class="line"><a name="l03710"></a><span class="lineno"> 3710</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l03711"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RevArray.html#a6ee1e316ed04f92451652ee0853d6980"> 3711</a></span>&#160; <a class="code" href="classoperations__research_1_1RevArray.html#a6ee1e316ed04f92451652ee0853d6980">RevArray</a>(<span class="keywordtype">int</span> <a class="code" href="classoperations__research_1_1RevArray.html#a53616c71ad0a199caa949b8e32679b59">size</a>, <span class="keyword">const</span> T&amp; val)</div><div class="line"><a name="l03712"></a><span class="lineno"> 3712</span>&#160; : stamps_(new uint64[<a class="code" href="classoperations__research_1_1RevArray.html#a53616c71ad0a199caa949b8e32679b59">size</a>]), values_(new T[<a class="code" href="classoperations__research_1_1RevArray.html#a53616c71ad0a199caa949b8e32679b59">size</a>]), size_(<a class="code" href="classoperations__research_1_1RevArray.html#a53616c71ad0a199caa949b8e32679b59">size</a>) {</div><div class="line"><a name="l03713"></a><span class="lineno"> 3713</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; <a class="code" href="classoperations__research_1_1RevArray.html#a53616c71ad0a199caa949b8e32679b59">size</a>; ++i) {</div><div class="line"><a name="l03714"></a><span class="lineno"> 3714</span>&#160; stamps_[i] = 0;</div><div class="line"><a name="l03715"></a><span class="lineno"> 3715</span>&#160; values_[i] = val;</div><div class="line"><a name="l03716"></a><span class="lineno"> 3716</span>&#160; }</div><div class="line"><a name="l03717"></a><span class="lineno"> 3717</span>&#160; }</div><div class="line"><a name="l03718"></a><span class="lineno"> 3718</span>&#160;</div><div class="line"><a name="l03719"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RevArray.html#ad03255d57248b6a11f3b236f7164266b"> 3719</a></span>&#160; <a class="code" href="classoperations__research_1_1RevArray.html#ad03255d57248b6a11f3b236f7164266b">~RevArray</a>() {}</div><div class="line"><a name="l03720"></a><span class="lineno"> 3720</span>&#160;</div><div class="line"><a name="l03721"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RevArray.html#a53616c71ad0a199caa949b8e32679b59"> 3721</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1RevArray.html#a53616c71ad0a199caa949b8e32679b59">size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> size_; }</div><div class="line"><a name="l03722"></a><span class="lineno"> 3722</span>&#160;</div><div class="line"><a name="l03723"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RevArray.html#a277a26f3089bbfa46c8c3155efe5132b"> 3723</a></span>&#160; <span class="keyword">const</span> T&amp; <a class="code" href="classoperations__research_1_1RevArray.html#a277a26f3089bbfa46c8c3155efe5132b">Value</a>(<span class="keywordtype">int</span> index)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> values_[index]; }</div><div class="line"><a name="l03724"></a><span class="lineno"> 3724</span>&#160;</div><div class="line"><a name="l03725"></a><span class="lineno"> 3725</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l03726"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RevArray.html#ab3f0073680dabba9d2778d9a6f35aed7"> 3726</a></span>&#160; <span class="keyword">const</span> T&amp; <a class="code" href="classoperations__research_1_1RevArray.html#ab3f0073680dabba9d2778d9a6f35aed7">operator[]</a>(<span class="keywordtype">int</span> index)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> values_[index]; }</div><div class="line"><a name="l03727"></a><span class="lineno"> 3727</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l03728"></a><span class="lineno"> 3728</span>&#160;</div><div class="line"><a name="l03729"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RevArray.html#aae1ddec3323cbaa8f2b29e1d211cb5c7"> 3729</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1RevArray.html#aae1ddec3323cbaa8f2b29e1d211cb5c7">SetValue</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s, <span class="keywordtype">int</span> index, <span class="keyword">const</span> T&amp; val) {</div><div class="line"><a name="l03730"></a><span class="lineno"> 3730</span>&#160; DCHECK_LT(index, size_);</div><div class="line"><a name="l03731"></a><span class="lineno"> 3731</span>&#160; <span class="keywordflow">if</span> (val != values_[index]) {</div><div class="line"><a name="l03732"></a><span class="lineno"> 3732</span>&#160; <span class="keywordflow">if</span> (stamps_[index] &lt; s-&gt;<a class="code" href="classoperations__research_1_1Solver.html#ad1600fac3a55a9ab4d7b5750b19fb6a1">stamp</a>()) {</div><div class="line"><a name="l03733"></a><span class="lineno"> 3733</span>&#160; s-&gt;<a class="code" href="classoperations__research_1_1Solver.html#a0544697ab645219c7ed34fd2c19e5033">SaveValue</a>(&amp;values_[index]);</div><div class="line"><a name="l03734"></a><span class="lineno"> 3734</span>&#160; stamps_[index] = s-&gt;<a class="code" href="classoperations__research_1_1Solver.html#ad1600fac3a55a9ab4d7b5750b19fb6a1">stamp</a>();</div><div class="line"><a name="l03735"></a><span class="lineno"> 3735</span>&#160; }</div><div class="line"><a name="l03736"></a><span class="lineno"> 3736</span>&#160; values_[index] = val;</div><div class="line"><a name="l03737"></a><span class="lineno"> 3737</span>&#160; }</div><div class="line"><a name="l03738"></a><span class="lineno"> 3738</span>&#160; }</div><div class="line"><a name="l03739"></a><span class="lineno"> 3739</span>&#160;</div><div class="line"><a name="l03740"></a><span class="lineno"> 3740</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l03741"></a><span class="lineno"> 3741</span>&#160; std::unique_ptr&lt;uint64[]&gt; stamps_;</div><div class="line"><a name="l03742"></a><span class="lineno"> 3742</span>&#160; std::unique_ptr&lt;T[]&gt; values_;</div><div class="line"><a name="l03743"></a><span class="lineno"> 3743</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> size_;</div><div class="line"><a name="l03744"></a><span class="lineno"> 3744</span>&#160;};</div><div class="line"><a name="l03745"></a><span class="lineno"> 3745</span>&#160;</div><div class="line"><a name="l03747"></a><span class="lineno"> 3747</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div><div class="line"><a name="l03748"></a><span class="lineno"><a class="line" href="classoperations__research_1_1NumericalRevArray.html"> 3748</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1NumericalRevArray.html">NumericalRevArray</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1RevArray.html">RevArray</a>&lt;T&gt; {</div><div class="line"><a name="l03749"></a><span class="lineno"> 3749</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l03750"></a><span class="lineno"><a class="line" href="classoperations__research_1_1NumericalRevArray.html#a3a0219adafe884709e47adad37885e7e"> 3750</a></span>&#160; <a class="code" href="classoperations__research_1_1NumericalRevArray.html#a3a0219adafe884709e47adad37885e7e">NumericalRevArray</a>(<span class="keywordtype">int</span> <a class="code" href="classoperations__research_1_1RevArray.html#a53616c71ad0a199caa949b8e32679b59">size</a>, <span class="keyword">const</span> T&amp; val) : <a class="code" href="classoperations__research_1_1RevArray.html">RevArray</a>&lt;T&gt;(<a class="code" href="classoperations__research_1_1RevArray.html#a53616c71ad0a199caa949b8e32679b59">size</a>, val) {}</div><div class="line"><a name="l03751"></a><span class="lineno"> 3751</span>&#160;</div><div class="line"><a name="l03752"></a><span class="lineno"><a class="line" href="classoperations__research_1_1NumericalRevArray.html#a651028799de2560833cac2fff292fdf1"> 3752</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1NumericalRevArray.html#a651028799de2560833cac2fff292fdf1">Add</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s, <span class="keywordtype">int</span> index, <span class="keyword">const</span> T&amp; to_add) {</div><div class="line"><a name="l03753"></a><span class="lineno"> 3753</span>&#160; this-&gt;<a class="code" href="classoperations__research_1_1RevArray.html#aae1ddec3323cbaa8f2b29e1d211cb5c7">SetValue</a>(s, index, this-&gt;<a class="code" href="classoperations__research_1_1RevArray.html#a277a26f3089bbfa46c8c3155efe5132b">Value</a>(index) + to_add);</div><div class="line"><a name="l03754"></a><span class="lineno"> 3754</span>&#160; }</div><div class="line"><a name="l03755"></a><span class="lineno"> 3755</span>&#160;</div><div class="line"><a name="l03756"></a><span class="lineno"><a class="line" href="classoperations__research_1_1NumericalRevArray.html#af23967e29b34eca150d8aa96bbea9546"> 3756</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1NumericalRevArray.html#af23967e29b34eca150d8aa96bbea9546">Incr</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s, <span class="keywordtype">int</span> index) { <a class="code" href="classoperations__research_1_1NumericalRevArray.html#a651028799de2560833cac2fff292fdf1">Add</a>(s, index, 1); }</div><div class="line"><a name="l03757"></a><span class="lineno"> 3757</span>&#160;</div><div class="line"><a name="l03758"></a><span class="lineno"><a class="line" href="classoperations__research_1_1NumericalRevArray.html#a167fff28f9eee9b29f1bf06db43caecd"> 3758</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1NumericalRevArray.html#a167fff28f9eee9b29f1bf06db43caecd">Decr</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s, <span class="keywordtype">int</span> index) { <a class="code" href="classoperations__research_1_1NumericalRevArray.html#a651028799de2560833cac2fff292fdf1">Add</a>(s, index, -1); }</div><div class="line"><a name="l03759"></a><span class="lineno"> 3759</span>&#160;};</div><div class="line"><a name="l03760"></a><span class="lineno"> 3760</span>&#160;</div><div class="line"><a name="l03768"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntExpr.html"> 3768</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1PropagationBaseObject.html">PropagationBaseObject</a> {</div><div class="line"><a name="l03769"></a><span class="lineno"> 3769</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l03770"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntExpr.html#a71eb39de86b7fb423d3b9c215f56593c"> 3770</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classoperations__research_1_1IntExpr.html#a71eb39de86b7fb423d3b9c215f56593c">IntExpr</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s) : <a class="code" href="classoperations__research_1_1PropagationBaseObject.html">PropagationBaseObject</a>(s) {}</div><div class="line"><a name="l03771"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntExpr.html#a5ca509deddcf7e1a1498f770ec71934e"> 3771</a></span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html#a5ca509deddcf7e1a1498f770ec71934e">~IntExpr</a>()<span class="keyword"> override </span>{}</div><div class="line"><a name="l03772"></a><span class="lineno"> 3772</span>&#160;</div><div class="line"><a name="l03773"></a><span class="lineno"> 3773</span>&#160; <span class="keyword">virtual</span> int64 <a class="code" href="classoperations__research_1_1IntExpr.html#ac4a4f30badcd311075302a4efcfaee0a">Min</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l03774"></a><span class="lineno"> 3774</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntExpr.html#a253ec9a9ed6b56ac4de714373ebf91f9">SetMin</a>(int64 m) = 0;</div><div class="line"><a name="l03775"></a><span class="lineno"> 3775</span>&#160; <span class="keyword">virtual</span> int64 <a class="code" href="classoperations__research_1_1IntExpr.html#a6dc4d5cdc2ed0da18452a65c5bf69e0d">Max</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l03776"></a><span class="lineno"> 3776</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntExpr.html#a0034062c82083a6c0af5aae1859ef66b">SetMax</a>(int64 m) = 0;</div><div class="line"><a name="l03777"></a><span class="lineno"> 3777</span>&#160;</div><div class="line"><a name="l03780"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntExpr.html#a37ccfed48c37d5ad26af5baaf775c390"> 3780</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntExpr.html#a37ccfed48c37d5ad26af5baaf775c390">Range</a>(int64* l, int64* u) {</div><div class="line"><a name="l03781"></a><span class="lineno"> 3781</span>&#160; *l = <a class="code" href="classoperations__research_1_1IntExpr.html#ac4a4f30badcd311075302a4efcfaee0a">Min</a>();</div><div class="line"><a name="l03782"></a><span class="lineno"> 3782</span>&#160; *u = <a class="code" href="classoperations__research_1_1IntExpr.html#a6dc4d5cdc2ed0da18452a65c5bf69e0d">Max</a>();</div><div class="line"><a name="l03783"></a><span class="lineno"> 3783</span>&#160; }</div><div class="line"><a name="l03785"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntExpr.html#a137deeb8781c0c7aa24bfa99c85bd01d"> 3785</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntExpr.html#a137deeb8781c0c7aa24bfa99c85bd01d">SetRange</a>(int64 l, int64 u) {</div><div class="line"><a name="l03786"></a><span class="lineno"> 3786</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html#a253ec9a9ed6b56ac4de714373ebf91f9">SetMin</a>(l);</div><div class="line"><a name="l03787"></a><span class="lineno"> 3787</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html#a0034062c82083a6c0af5aae1859ef66b">SetMax</a>(u);</div><div class="line"><a name="l03788"></a><span class="lineno"> 3788</span>&#160; }</div><div class="line"><a name="l03789"></a><span class="lineno"> 3789</span>&#160;</div><div class="line"><a name="l03791"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntExpr.html#a1a1e45676556681a2aaff82125991f16"> 3791</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntExpr.html#a1a1e45676556681a2aaff82125991f16">SetValue</a>(int64 v) { <a class="code" href="classoperations__research_1_1IntExpr.html#a137deeb8781c0c7aa24bfa99c85bd01d">SetRange</a>(v, v); }</div><div class="line"><a name="l03792"></a><span class="lineno"> 3792</span>&#160;</div><div class="line"><a name="l03794"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntExpr.html#a1d04569b37cb7fe6ed0956ab71e08bc9"> 3794</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1IntExpr.html#a1d04569b37cb7fe6ed0956ab71e08bc9">Bound</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<a class="code" href="classoperations__research_1_1IntExpr.html#ac4a4f30badcd311075302a4efcfaee0a">Min</a>() == <a class="code" href="classoperations__research_1_1IntExpr.html#a6dc4d5cdc2ed0da18452a65c5bf69e0d">Max</a>()); }</div><div class="line"><a name="l03795"></a><span class="lineno"> 3795</span>&#160;</div><div class="line"><a name="l03797"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntExpr.html#a2e9b93ea445f156328eaa782adf7cb8b"> 3797</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1IntExpr.html#a2e9b93ea445f156328eaa782adf7cb8b">IsVar</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div><div class="line"><a name="l03798"></a><span class="lineno"> 3798</span>&#160;</div><div class="line"><a name="l03800"></a><span class="lineno"> 3800</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1IntExpr.html#a07173db6ca3b22fdb35ad963831a962b">Var</a>() = 0;</div><div class="line"><a name="l03801"></a><span class="lineno"> 3801</span>&#160;</div><div class="line"><a name="l03806"></a><span class="lineno"> 3806</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1IntExpr.html#a2e28d548b760d7569b22bd316624af98">VarWithName</a>(<span class="keyword">const</span> std::string&amp; <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a>);</div><div class="line"><a name="l03807"></a><span class="lineno"> 3807</span>&#160;</div><div class="line"><a name="l03809"></a><span class="lineno"> 3809</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntExpr.html#af13b2ea301c6800bb6d43bd70716bf6d">WhenRange</a>(<a class="code" href="classoperations__research_1_1Demon.html">Demon</a>* d) = 0;</div><div class="line"><a name="l03811"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntExpr.html#a0b5304838bbd2834ba9f7b38db07996f"> 3811</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntExpr.html#a0b5304838bbd2834ba9f7b38db07996f">WhenRange</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure) {</div><div class="line"><a name="l03812"></a><span class="lineno"> 3812</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html#af13b2ea301c6800bb6d43bd70716bf6d">WhenRange</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>()-&gt;MakeClosureDemon(std::move(closure)));</div><div class="line"><a name="l03813"></a><span class="lineno"> 3813</span>&#160; }</div><div class="line"><a name="l03814"></a><span class="lineno"> 3814</span>&#160;</div><div class="line"><a name="l03815"></a><span class="lineno"> 3815</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l03816"></a><span class="lineno"> 3816</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntExpr.html#af13b2ea301c6800bb6d43bd70716bf6d">WhenRange</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action) {</div><div class="line"><a name="l03818"></a><span class="lineno"> 3818</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html#af13b2ea301c6800bb6d43bd70716bf6d">WhenRange</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>()-&gt;MakeActionDemon(std::move(action)));</div><div class="line"><a name="l03819"></a><span class="lineno"> 3819</span>&#160; }</div><div class="line"><a name="l03820"></a><span class="lineno"> 3820</span>&#160;<span class="preprocessor">#endif // SWIG</span></div><div class="line"><a name="l03821"></a><span class="lineno"> 3821</span>&#160;</div><div class="line"><a name="l03823"></a><span class="lineno"> 3823</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntExpr.html#afcde421cf076575a27bed81c80093ac8">Accept</a>(ModelVisitor* <span class="keyword">const</span> visitor) <span class="keyword">const</span>;</div><div class="line"><a name="l03824"></a><span class="lineno"> 3824</span>&#160;</div><div class="line"><a name="l03825"></a><span class="lineno"> 3825</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l03826"></a><span class="lineno"> 3826</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1IntExpr.html#a71eb39de86b7fb423d3b9c215f56593c">IntExpr</a>);</div><div class="line"><a name="l03827"></a><span class="lineno"> 3827</span>&#160;};</div><div class="line"><a name="l03828"></a><span class="lineno"> 3828</span>&#160;</div><div class="line"><a name="l03836"></a><span class="lineno"> 3836</span>&#160;</div><div class="line"><a name="l03839"></a><span class="lineno"> 3839</span>&#160;</div><div class="line"><a name="l03845"></a><span class="lineno"> 3845</span>&#160;</div><div class="line"><a name="l03846"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarIterator.html"> 3846</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1IntVarIterator.html">IntVarIterator</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1BaseObject.html">BaseObject</a> {</div><div class="line"><a name="l03847"></a><span class="lineno"> 3847</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l03848"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarIterator.html#ad58ad3bd33c8c89814ca3675c414406d"> 3848</a></span>&#160; <a class="code" href="classoperations__research_1_1IntVarIterator.html#ad58ad3bd33c8c89814ca3675c414406d">~IntVarIterator</a>()<span class="keyword"> override </span>{}</div><div class="line"><a name="l03849"></a><span class="lineno"> 3849</span>&#160;</div><div class="line"><a name="l03851"></a><span class="lineno"> 3851</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVarIterator.html#a5368a4a3fff770682cf257e81707d9f0">Init</a>() = 0;</div><div class="line"><a name="l03852"></a><span class="lineno"> 3852</span>&#160;</div><div class="line"><a name="l03854"></a><span class="lineno"> 3854</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1IntVarIterator.html#afd583d1de9a76003cabb79710d08e1b5">Ok</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l03855"></a><span class="lineno"> 3855</span>&#160;</div><div class="line"><a name="l03857"></a><span class="lineno"> 3857</span>&#160; <span class="keyword">virtual</span> int64 <a class="code" href="classoperations__research_1_1IntVarIterator.html#ac067bc2252cc65b1eb004d5285e5fdb2">Value</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l03858"></a><span class="lineno"> 3858</span>&#160;</div><div class="line"><a name="l03860"></a><span class="lineno"> 3860</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVarIterator.html#a5e6ce1b8883cf6764780b7108dbb8495">Next</a>() = 0;</div><div class="line"><a name="l03861"></a><span class="lineno"> 3861</span>&#160;</div><div class="line"><a name="l03863"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarIterator.html#aed804747c45a7e1caf81461f9e45dd91"> 3863</a></span>&#160; std::string <a class="code" href="classoperations__research_1_1IntVarIterator.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>()<span class="keyword"> const override </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;IntVar::Iterator&quot;</span>; }</div><div class="line"><a name="l03864"></a><span class="lineno"> 3864</span>&#160;};</div><div class="line"><a name="l03865"></a><span class="lineno"> 3865</span>&#160;</div><div class="line"><a name="l03866"></a><span class="lineno"> 3866</span>&#160;<span class="preprocessor">#ifndef SWIG</span></div><div class="line"><a name="l03867"></a><span class="lineno"> 3867</span>&#160;<span class="keyword">class </span>InitAndGetValues {</div><div class="line"><a name="l03874"></a><span class="lineno"> 3874</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l03875"></a><span class="lineno"><a class="line" href="classoperations__research_1_1InitAndGetValues.html#a6e10bae8d4199a0ed4dc82abda824543"> 3875</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classoperations__research_1_1InitAndGetValues.html#a6e10bae8d4199a0ed4dc82abda824543">InitAndGetValues</a>(<a class="code" href="classoperations__research_1_1IntVarIterator.html">IntVarIterator</a>* it)</div><div class="line"><a name="l03876"></a><span class="lineno"> 3876</span>&#160; : it_(it), begin_was_called_(false) {</div><div class="line"><a name="l03877"></a><span class="lineno"> 3877</span>&#160; it_-&gt;<a class="code" href="classoperations__research_1_1IntVarIterator.html#a5368a4a3fff770682cf257e81707d9f0">Init</a>();</div><div class="line"><a name="l03878"></a><span class="lineno"> 3878</span>&#160; }</div><div class="line"><a name="l03879"></a><span class="lineno"> 3879</span>&#160; <span class="keyword">struct </span>Iterator;</div><div class="line"><a name="l03880"></a><span class="lineno"><a class="line" href="classoperations__research_1_1InitAndGetValues.html#a2387033802383edbdc95f9bbb12a707e"> 3880</a></span>&#160; <a class="code" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html">Iterator</a> <a class="code" href="classoperations__research_1_1InitAndGetValues.html#a2387033802383edbdc95f9bbb12a707e">begin</a>() {</div><div class="line"><a name="l03881"></a><span class="lineno"> 3881</span>&#160; <span class="keywordflow">if</span> (DEBUG_MODE) {</div><div class="line"><a name="l03882"></a><span class="lineno"> 3882</span>&#160; DCHECK(!begin_was_called_);</div><div class="line"><a name="l03883"></a><span class="lineno"> 3883</span>&#160; begin_was_called_ = <span class="keyword">true</span>;</div><div class="line"><a name="l03884"></a><span class="lineno"> 3884</span>&#160; }</div><div class="line"><a name="l03885"></a><span class="lineno"> 3885</span>&#160; <span class="keywordflow">return</span> <a class="code" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html#a28707ecfd89699b87e970e59df75435c">Iterator::Begin</a>(it_);</div><div class="line"><a name="l03886"></a><span class="lineno"> 3886</span>&#160; }</div><div class="line"><a name="l03887"></a><span class="lineno"><a class="line" href="classoperations__research_1_1InitAndGetValues.html#ab45dae688fc5d8983727abffa4389003"> 3887</a></span>&#160; <a class="code" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html">Iterator</a> <a class="code" href="classoperations__research_1_1InitAndGetValues.html#ab45dae688fc5d8983727abffa4389003">end</a>() { <span class="keywordflow">return</span> <a class="code" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html#aa0e28d1c59211c96da145cb1f14623af">Iterator::End</a>(it_); }</div><div class="line"><a name="l03888"></a><span class="lineno"> 3888</span>&#160;</div><div class="line"><a name="l03889"></a><span class="lineno"><a class="line" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html"> 3889</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html">Iterator</a> {</div><div class="line"><a name="l03891"></a><span class="lineno"><a class="line" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html#a28707ecfd89699b87e970e59df75435c"> 3891</a></span>&#160; <span class="keyword">static</span> <a class="code" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html">Iterator</a> <a class="code" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html#a28707ecfd89699b87e970e59df75435c">Begin</a>(<a class="code" href="classoperations__research_1_1IntVarIterator.html">IntVarIterator</a>* it) {</div><div class="line"><a name="l03892"></a><span class="lineno"> 3892</span>&#160; <span class="keywordflow">return</span> <a class="code" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html">Iterator</a>(it, <span class="comment">/*is_end=*/</span><span class="keyword">false</span>);</div><div class="line"><a name="l03893"></a><span class="lineno"> 3893</span>&#160; }</div><div class="line"><a name="l03894"></a><span class="lineno"><a class="line" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html#aa0e28d1c59211c96da145cb1f14623af"> 3894</a></span>&#160; <span class="keyword">static</span> <a class="code" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html">Iterator</a> <a class="code" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html#aa0e28d1c59211c96da145cb1f14623af">End</a>(<a class="code" href="classoperations__research_1_1IntVarIterator.html">IntVarIterator</a>* it) {</div><div class="line"><a name="l03895"></a><span class="lineno"> 3895</span>&#160; <span class="keywordflow">return</span> <a class="code" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html">Iterator</a>(it, <span class="comment">/*is_end=*/</span><span class="keyword">true</span>);</div><div class="line"><a name="l03896"></a><span class="lineno"> 3896</span>&#160; }</div><div class="line"><a name="l03897"></a><span class="lineno"> 3897</span>&#160;</div><div class="line"><a name="l03898"></a><span class="lineno"><a class="line" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html#a70abf8f2b2cef8f502b3de7251eca9fa"> 3898</a></span>&#160; int64 <a class="code" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html#a70abf8f2b2cef8f502b3de7251eca9fa">operator*</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l03899"></a><span class="lineno"> 3899</span>&#160; DCHECK(it_-&gt;<a class="code" href="classoperations__research_1_1IntVarIterator.html#afd583d1de9a76003cabb79710d08e1b5">Ok</a>());</div><div class="line"><a name="l03900"></a><span class="lineno"> 3900</span>&#160; <span class="keywordflow">return</span> it_-&gt;<a class="code" href="classoperations__research_1_1IntVarIterator.html#ac067bc2252cc65b1eb004d5285e5fdb2">Value</a>();</div><div class="line"><a name="l03901"></a><span class="lineno"> 3901</span>&#160; }</div><div class="line"><a name="l03902"></a><span class="lineno"><a class="line" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html#aef12ef33726bc591f569f822c7b5ac41"> 3902</a></span>&#160; <a class="code" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html">Iterator</a>&amp; <a class="code" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html#aef12ef33726bc591f569f822c7b5ac41">operator++</a>() {</div><div class="line"><a name="l03903"></a><span class="lineno"> 3903</span>&#160; DCHECK(it_-&gt;<a class="code" href="classoperations__research_1_1IntVarIterator.html#afd583d1de9a76003cabb79710d08e1b5">Ok</a>());</div><div class="line"><a name="l03904"></a><span class="lineno"> 3904</span>&#160; it_-&gt;<a class="code" href="classoperations__research_1_1IntVarIterator.html#a5e6ce1b8883cf6764780b7108dbb8495">Next</a>();</div><div class="line"><a name="l03905"></a><span class="lineno"> 3905</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l03906"></a><span class="lineno"> 3906</span>&#160; }</div><div class="line"><a name="l03907"></a><span class="lineno"><a class="line" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html#a710b1a5c9f835b20b87a76ce12e4f305"> 3907</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html#a710b1a5c9f835b20b87a76ce12e4f305">operator!=</a>(<span class="keyword">const</span> <a class="code" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html">Iterator</a>&amp; other)<span class="keyword"> const </span>{</div><div class="line"><a name="l03908"></a><span class="lineno"> 3908</span>&#160; DCHECK(other.it_ == it_);</div><div class="line"><a name="l03909"></a><span class="lineno"> 3909</span>&#160; DCHECK(other.is_end_);</div><div class="line"><a name="l03910"></a><span class="lineno"> 3910</span>&#160; <span class="keywordflow">return</span> it_-&gt;<a class="code" href="classoperations__research_1_1IntVarIterator.html#afd583d1de9a76003cabb79710d08e1b5">Ok</a>();</div><div class="line"><a name="l03911"></a><span class="lineno"> 3911</span>&#160; }</div><div class="line"><a name="l03912"></a><span class="lineno"> 3912</span>&#160;</div><div class="line"><a name="l03913"></a><span class="lineno"> 3913</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l03914"></a><span class="lineno"> 3914</span>&#160; <a class="code" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html">Iterator</a>(<a class="code" href="classoperations__research_1_1IntVarIterator.html">IntVarIterator</a>* it, <span class="keywordtype">bool</span> is_end) : it_(it), is_end_(is_end) {}</div><div class="line"><a name="l03915"></a><span class="lineno"> 3915</span>&#160;</div><div class="line"><a name="l03916"></a><span class="lineno"> 3916</span>&#160; <a class="code" href="classoperations__research_1_1IntVarIterator.html">IntVarIterator</a>* <span class="keyword">const</span> it_;</div><div class="line"><a name="l03917"></a><span class="lineno"> 3917</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> is_end_;</div><div class="line"><a name="l03918"></a><span class="lineno"> 3918</span>&#160; };</div><div class="line"><a name="l03919"></a><span class="lineno"> 3919</span>&#160;</div><div class="line"><a name="l03920"></a><span class="lineno"> 3920</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l03921"></a><span class="lineno"> 3921</span>&#160; IntVarIterator* <span class="keyword">const</span> it_;</div><div class="line"><a name="l03922"></a><span class="lineno"> 3922</span>&#160; <span class="keywordtype">bool</span> begin_was_called_;</div><div class="line"><a name="l03923"></a><span class="lineno"> 3923</span>&#160;};</div><div class="line"><a name="l03924"></a><span class="lineno"> 3924</span>&#160;<span class="preprocessor">#endif // SWIG</span></div><div class="line"><a name="l03925"></a><span class="lineno"> 3925</span>&#160;</div><div class="line"><a name="l03929"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVar.html"> 3929</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a> {</div><div class="line"><a name="l03930"></a><span class="lineno"> 3930</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l03931"></a><span class="lineno"> 3931</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classoperations__research_1_1IntVar.html#a6c325613bf5172c0cc1162ec8579eca2">IntVar</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s);</div><div class="line"><a name="l03932"></a><span class="lineno"> 3932</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html#a6c325613bf5172c0cc1162ec8579eca2">IntVar</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s, <span class="keyword">const</span> std::string&amp; <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a>);</div><div class="line"><a name="l03933"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVar.html#a68b27e4c46794ff800c17f7b9760adba"> 3933</a></span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html#a68b27e4c46794ff800c17f7b9760adba">~IntVar</a>()<span class="keyword"> override </span>{}</div><div class="line"><a name="l03934"></a><span class="lineno"> 3934</span>&#160;</div><div class="line"><a name="l03935"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVar.html#af5d847a82550308399c315915ef8408f"> 3935</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1IntVar.html#af5d847a82550308399c315915ef8408f">IsVar</a>()<span class="keyword"> const override </span>{ <span class="keywordflow">return</span> <span class="keyword">true</span>; }</div><div class="line"><a name="l03936"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVar.html#a36d71f28bff7448b6490fe4720ab2fe0"> 3936</a></span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1IntVar.html#a36d71f28bff7448b6490fe4720ab2fe0">Var</a>()<span class="keyword"> override </span>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; }</div><div class="line"><a name="l03937"></a><span class="lineno"> 3937</span>&#160;</div><div class="line"><a name="l03940"></a><span class="lineno"> 3940</span>&#160; <span class="keyword">virtual</span> int64 <a class="code" href="classoperations__research_1_1IntVar.html#ac067bc2252cc65b1eb004d5285e5fdb2">Value</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l03941"></a><span class="lineno"> 3941</span>&#160;</div><div class="line"><a name="l03943"></a><span class="lineno"> 3943</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVar.html#a5b06ebd6d5afd41f685a81fedb97a425">RemoveValue</a>(int64 v) = 0;</div><div class="line"><a name="l03944"></a><span class="lineno"> 3944</span>&#160;</div><div class="line"><a name="l03947"></a><span class="lineno"> 3947</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVar.html#ac9c44a01c67838a8ad68d74c3d87299b">RemoveInterval</a>(int64 l, int64 u) = 0;</div><div class="line"><a name="l03948"></a><span class="lineno"> 3948</span>&#160;</div><div class="line"><a name="l03950"></a><span class="lineno"> 3950</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVar.html#a7521fa32d6f8f06cbe569897e59e19cd">RemoveValues</a>(<span class="keyword">const</span> std::vector&lt;int64&gt;&amp; values);</div><div class="line"><a name="l03951"></a><span class="lineno"> 3951</span>&#160;</div><div class="line"><a name="l03953"></a><span class="lineno"> 3953</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVar.html#a10f9eba78d07596bd7f480fe834548c0">SetValues</a>(<span class="keyword">const</span> std::vector&lt;int64&gt;&amp; values);</div><div class="line"><a name="l03954"></a><span class="lineno"> 3954</span>&#160;</div><div class="line"><a name="l03957"></a><span class="lineno"> 3957</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVar.html#a6e33a313eaf507bae0eb7068455a5bdc">WhenBound</a>(<a class="code" href="classoperations__research_1_1Demon.html">Demon</a>* d) = 0;</div><div class="line"><a name="l03960"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVar.html#a4bd4b9edfecdf647038f030759e8da11"> 3960</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVar.html#a4bd4b9edfecdf647038f030759e8da11">WhenBound</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure) {</div><div class="line"><a name="l03961"></a><span class="lineno"> 3961</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html#a6e33a313eaf507bae0eb7068455a5bdc">WhenBound</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>()-&gt;MakeClosureDemon(std::move(closure)));</div><div class="line"><a name="l03962"></a><span class="lineno"> 3962</span>&#160; }</div><div class="line"><a name="l03963"></a><span class="lineno"> 3963</span>&#160;</div><div class="line"><a name="l03964"></a><span class="lineno"> 3964</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l03965"></a><span class="lineno"> 3965</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVar.html#a6e33a313eaf507bae0eb7068455a5bdc">WhenBound</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action) {</div><div class="line"><a name="l03968"></a><span class="lineno"> 3968</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html#a6e33a313eaf507bae0eb7068455a5bdc">WhenBound</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>()-&gt;MakeActionDemon(std::move(action)));</div><div class="line"><a name="l03969"></a><span class="lineno"> 3969</span>&#160; }</div><div class="line"><a name="l03970"></a><span class="lineno"> 3970</span>&#160;<span class="preprocessor">#endif // SWIG</span></div><div class="line"><a name="l03971"></a><span class="lineno"> 3971</span>&#160;</div><div class="line"><a name="l03974"></a><span class="lineno"> 3974</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVar.html#ab36f6f122cb3e8554b160ba67608b1c0">WhenDomain</a>(Demon* d) = 0;</div><div class="line"><a name="l03977"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVar.html#a7777129f7b59f5d9dbeb043c6bf945dd"> 3977</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVar.html#a7777129f7b59f5d9dbeb043c6bf945dd">WhenDomain</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure) {</div><div class="line"><a name="l03978"></a><span class="lineno"> 3978</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html#ab36f6f122cb3e8554b160ba67608b1c0">WhenDomain</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>()-&gt;MakeClosureDemon(std::move(closure)));</div><div class="line"><a name="l03979"></a><span class="lineno"> 3979</span>&#160; }</div><div class="line"><a name="l03980"></a><span class="lineno"> 3980</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l03981"></a><span class="lineno"> 3981</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVar.html#ab36f6f122cb3e8554b160ba67608b1c0">WhenDomain</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action) {</div><div class="line"><a name="l03984"></a><span class="lineno"> 3984</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html#ab36f6f122cb3e8554b160ba67608b1c0">WhenDomain</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>()-&gt;MakeActionDemon(std::move(action)));</div><div class="line"><a name="l03985"></a><span class="lineno"> 3985</span>&#160; }</div><div class="line"><a name="l03986"></a><span class="lineno"> 3986</span>&#160;<span class="preprocessor">#endif // SWIG</span></div><div class="line"><a name="l03987"></a><span class="lineno"> 3987</span>&#160;</div><div class="line"><a name="l03989"></a><span class="lineno"> 3989</span>&#160; <span class="keyword">virtual</span> uint64 <a class="code" href="classoperations__research_1_1IntVar.html#accbd81450997e4b279396e56ab44c0b4">Size</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l03990"></a><span class="lineno"> 3990</span>&#160;</div><div class="line"><a name="l03993"></a><span class="lineno"> 3993</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1IntVar.html#a7005edfb93d09a9ca1ecb989a9bc6733">Contains</a>(int64 v) <span class="keyword">const</span> = 0;</div><div class="line"><a name="l03994"></a><span class="lineno"> 3994</span>&#160;</div><div class="line"><a name="l03998"></a><span class="lineno"> 3998</span>&#160; <span class="keyword">virtual</span> IntVarIterator* <a class="code" href="classoperations__research_1_1IntVar.html#a7dea39481c69d05140512d027b14bb59">MakeHoleIterator</a>(<span class="keywordtype">bool</span> reversible) <span class="keyword">const</span> = 0;</div><div class="line"><a name="l03999"></a><span class="lineno"> 3999</span>&#160;</div><div class="line"><a name="l04003"></a><span class="lineno"> 4003</span>&#160; <span class="keyword">virtual</span> IntVarIterator* <a class="code" href="classoperations__research_1_1IntVar.html#aaa35bd07ac079ce1ff0812cdb3890e42">MakeDomainIterator</a>(<span class="keywordtype">bool</span> reversible) <span class="keyword">const</span> = 0;</div><div class="line"><a name="l04004"></a><span class="lineno"> 4004</span>&#160;</div><div class="line"><a name="l04006"></a><span class="lineno"> 4006</span>&#160; <span class="keyword">virtual</span> int64 <a class="code" href="classoperations__research_1_1IntVar.html#afffccc45eb12fbd186515ae7f2c2c317">OldMin</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l04007"></a><span class="lineno"> 4007</span>&#160;</div><div class="line"><a name="l04009"></a><span class="lineno"> 4009</span>&#160; <span class="keyword">virtual</span> int64 <a class="code" href="classoperations__research_1_1IntVar.html#a31aaa81745ee6fde6344e86d46cf421e">OldMax</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l04010"></a><span class="lineno"> 4010</span>&#160;</div><div class="line"><a name="l04011"></a><span class="lineno"> 4011</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classoperations__research_1_1IntVar.html#ae8d85a8a6f3e8fbc31f291a4b809c8a2">VarType</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l04012"></a><span class="lineno"> 4012</span>&#160;</div><div class="line"><a name="l04014"></a><span class="lineno"> 4014</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVar.html#aa30c84aec5e60d6b74e1e1eb15011d4a">Accept</a>(ModelVisitor* <span class="keyword">const</span> visitor) <span class="keyword">const override</span>;</div><div class="line"><a name="l04015"></a><span class="lineno"> 4015</span>&#160;</div><div class="line"><a name="l04017"></a><span class="lineno"> 4017</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classoperations__research_1_1IntVar.html#a6c325613bf5172c0cc1162ec8579eca2">IntVar</a>* <a class="code" href="classoperations__research_1_1IntVar.html#a8aecb44afb42a3938692c0dc37b68faa">IsEqual</a>(int64 constant) = 0;</div><div class="line"><a name="l04018"></a><span class="lineno"> 4018</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classoperations__research_1_1IntVar.html#a6c325613bf5172c0cc1162ec8579eca2">IntVar</a>* <a class="code" href="classoperations__research_1_1IntVar.html#a604693faa6e06ce7a5bfbacf9538b706">IsDifferent</a>(int64 constant) = 0;</div><div class="line"><a name="l04019"></a><span class="lineno"> 4019</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classoperations__research_1_1IntVar.html#a6c325613bf5172c0cc1162ec8579eca2">IntVar</a>* <a class="code" href="classoperations__research_1_1IntVar.html#ad13c9fa4966911ea9f218fff16fac826">IsGreaterOrEqual</a>(int64 constant) = 0;</div><div class="line"><a name="l04020"></a><span class="lineno"> 4020</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classoperations__research_1_1IntVar.html#a6c325613bf5172c0cc1162ec8579eca2">IntVar</a>* <a class="code" href="classoperations__research_1_1IntVar.html#ab0f395e740238c2c35e46af1fa9309cb">IsLessOrEqual</a>(int64 constant) = 0;</div><div class="line"><a name="l04021"></a><span class="lineno"> 4021</span>&#160;</div><div class="line"><a name="l04023"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVar.html#acca41811e8aaab0112b987749c0ecb93"> 4023</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="classoperations__research_1_1IntVar.html#acca41811e8aaab0112b987749c0ecb93">index</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> index_; }</div><div class="line"><a name="l04024"></a><span class="lineno"> 4024</span>&#160;</div><div class="line"><a name="l04025"></a><span class="lineno"> 4025</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l04026"></a><span class="lineno"> 4026</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> index_;</div><div class="line"><a name="l04027"></a><span class="lineno"> 4027</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>);</div><div class="line"><a name="l04028"></a><span class="lineno"> 4028</span>&#160;};</div><div class="line"><a name="l04029"></a><span class="lineno"> 4029</span>&#160;</div><div class="line"><a name="l04033"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SolutionCollector.html"> 4033</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1SolutionCollector.html">SolutionCollector</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a> {</div><div class="line"><a name="l04034"></a><span class="lineno"> 4034</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l04035"></a><span class="lineno"> 4035</span>&#160; <a class="code" href="classoperations__research_1_1SolutionCollector.html#adbd3b8b25d686516cba29e11ad483b43">SolutionCollector</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#a5f32c22c620c811754ba7b6f977db864">solver</a>, <span class="keyword">const</span> <a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* assignment);</div><div class="line"><a name="l04036"></a><span class="lineno"> 4036</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classoperations__research_1_1SolutionCollector.html#adbd3b8b25d686516cba29e11ad483b43">SolutionCollector</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#a5f32c22c620c811754ba7b6f977db864">solver</a>);</div><div class="line"><a name="l04037"></a><span class="lineno"> 4037</span>&#160; <a class="code" href="classoperations__research_1_1SolutionCollector.html#a33042163bd532ccbfe547236b22bf614">~SolutionCollector</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l04038"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SolutionCollector.html#aed804747c45a7e1caf81461f9e45dd91"> 4038</a></span>&#160; std::string <a class="code" href="classoperations__research_1_1SolutionCollector.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>()<span class="keyword"> const override </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;SolutionCollector&quot;</span>; }</div><div class="line"><a name="l04039"></a><span class="lineno"> 4039</span>&#160;</div><div class="line"><a name="l04041"></a><span class="lineno"> 4041</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SolutionCollector.html#a5a589c2741d5a4b5b777b0dfe2433d13">Add</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l04042"></a><span class="lineno"> 4042</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SolutionCollector.html#a5a589c2741d5a4b5b777b0dfe2433d13">Add</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars);</div><div class="line"><a name="l04043"></a><span class="lineno"> 4043</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SolutionCollector.html#a5a589c2741d5a4b5b777b0dfe2433d13">Add</a>(<a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l04044"></a><span class="lineno"> 4044</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SolutionCollector.html#a5a589c2741d5a4b5b777b0dfe2433d13">Add</a>(<span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; vars);</div><div class="line"><a name="l04045"></a><span class="lineno"> 4045</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SolutionCollector.html#a5a589c2741d5a4b5b777b0dfe2433d13">Add</a>(<a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l04046"></a><span class="lineno"> 4046</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SolutionCollector.html#a5a589c2741d5a4b5b777b0dfe2433d13">Add</a>(<span class="keyword">const</span> std::vector&lt;SequenceVar*&gt;&amp; vars);</div><div class="line"><a name="l04047"></a><span class="lineno"> 4047</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SolutionCollector.html#a40060f6e513255a9133645c7179fa0d1">AddObjective</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> objective);</div><div class="line"><a name="l04048"></a><span class="lineno"> 4048</span>&#160;</div><div class="line"><a name="l04050"></a><span class="lineno"> 4050</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SolutionCollector.html#a0c955ff1b2eae2daece0f25f1e57fb16">EnterSearch</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l04051"></a><span class="lineno"> 4051</span>&#160;</div><div class="line"><a name="l04053"></a><span class="lineno"> 4053</span>&#160; <span class="keywordtype">int</span> <a class="code" href="classoperations__research_1_1SolutionCollector.html#a5aeabb40e6e7550c805534764b3076fa">solution_count</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l04054"></a><span class="lineno"> 4054</span>&#160;</div><div class="line"><a name="l04056"></a><span class="lineno"> 4056</span>&#160; <a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* <a class="code" href="classoperations__research_1_1SolutionCollector.html#a323ba67da917a9f9766a3e206126af39">solution</a>(<span class="keywordtype">int</span> n) <span class="keyword">const</span>;</div><div class="line"><a name="l04057"></a><span class="lineno"> 4057</span>&#160;</div><div class="line"><a name="l04059"></a><span class="lineno"> 4059</span>&#160; int64 <a class="code" href="classoperations__research_1_1SolutionCollector.html#aa3cba39da831c24e851ab05f694ee515">wall_time</a>(<span class="keywordtype">int</span> n) <span class="keyword">const</span>;</div><div class="line"><a name="l04060"></a><span class="lineno"> 4060</span>&#160;</div><div class="line"><a name="l04062"></a><span class="lineno"> 4062</span>&#160; int64 <a class="code" href="classoperations__research_1_1SolutionCollector.html#ae7b0218cbb5e9560505dd58edb396902">branches</a>(<span class="keywordtype">int</span> n) <span class="keyword">const</span>;</div><div class="line"><a name="l04063"></a><span class="lineno"> 4063</span>&#160;</div><div class="line"><a name="l04066"></a><span class="lineno"> 4066</span>&#160; int64 <a class="code" href="classoperations__research_1_1SolutionCollector.html#a2a9e43052556228cad3346d71e26e5f7">failures</a>(<span class="keywordtype">int</span> n) <span class="keyword">const</span>;</div><div class="line"><a name="l04067"></a><span class="lineno"> 4067</span>&#160;</div><div class="line"><a name="l04069"></a><span class="lineno"> 4069</span>&#160; int64 <a class="code" href="classoperations__research_1_1SolutionCollector.html#ab47256145f58ae39ba8a4691076f0004">objective_value</a>(<span class="keywordtype">int</span> n) <span class="keyword">const</span>;</div><div class="line"><a name="l04070"></a><span class="lineno"> 4070</span>&#160;</div><div class="line"><a name="l04072"></a><span class="lineno"> 4072</span>&#160; int64 <a class="code" href="classoperations__research_1_1SolutionCollector.html#a0dff88fcb39a84e0566db0256a623dff">Value</a>(<span class="keywordtype">int</span> n, <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l04073"></a><span class="lineno"> 4073</span>&#160;</div><div class="line"><a name="l04075"></a><span class="lineno"> 4075</span>&#160; int64 <a class="code" href="classoperations__research_1_1SolutionCollector.html#af5d0ff66e85427eb7dccf6f40c2e4144">StartValue</a>(<span class="keywordtype">int</span> n, <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l04076"></a><span class="lineno"> 4076</span>&#160;</div><div class="line"><a name="l04078"></a><span class="lineno"> 4078</span>&#160; int64 <a class="code" href="classoperations__research_1_1SolutionCollector.html#aaeaf933a169ea16e571b9af9c7079883">EndValue</a>(<span class="keywordtype">int</span> n, <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l04079"></a><span class="lineno"> 4079</span>&#160;</div><div class="line"><a name="l04081"></a><span class="lineno"> 4081</span>&#160; int64 <a class="code" href="classoperations__research_1_1SolutionCollector.html#a61ad3bd2621a9d269ee5ae1bfbc1e388">DurationValue</a>(<span class="keywordtype">int</span> n, <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l04082"></a><span class="lineno"> 4082</span>&#160;</div><div class="line"><a name="l04084"></a><span class="lineno"> 4084</span>&#160; int64 <a class="code" href="classoperations__research_1_1SolutionCollector.html#a721f49ca2d390d07d643847a05cd428d">PerformedValue</a>(<span class="keywordtype">int</span> n, <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l04085"></a><span class="lineno"> 4085</span>&#160;</div><div class="line"><a name="l04089"></a><span class="lineno"> 4089</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; <a class="code" href="classoperations__research_1_1SolutionCollector.html#a44ce2293355612ba36dcacf9b7281d47">ForwardSequence</a>(<span class="keywordtype">int</span> n, <a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l04093"></a><span class="lineno"> 4093</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; <a class="code" href="classoperations__research_1_1SolutionCollector.html#a69d42eaaa36a86e05e57f6b682679095">BackwardSequence</a>(<span class="keywordtype">int</span> n, <a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l04096"></a><span class="lineno"> 4096</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; <a class="code" href="classoperations__research_1_1SolutionCollector.html#a499d6ef733de0adbab4fae13ff2cc285">Unperformed</a>(<span class="keywordtype">int</span> n, <a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l04097"></a><span class="lineno"> 4097</span>&#160;</div><div class="line"><a name="l04098"></a><span class="lineno"> 4098</span>&#160; <span class="keyword">protected</span>:</div><div class="line"><a name="l04099"></a><span class="lineno"><a class="line" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html"> 4099</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html">SolutionData</a> {</div><div class="line"><a name="l04100"></a><span class="lineno"><a class="line" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a70443e4bc86411ffcee245b2c3c71156"> 4100</a></span>&#160; <a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* <a class="code" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a70443e4bc86411ffcee245b2c3c71156">solution</a>;</div><div class="line"><a name="l04101"></a><span class="lineno"><a class="line" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a13421db7d7e84fff732599bcf954c5cc"> 4101</a></span>&#160; int64 <a class="code" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a13421db7d7e84fff732599bcf954c5cc">time</a>;</div><div class="line"><a name="l04102"></a><span class="lineno"><a class="line" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a74c42a060f0c8f1effce8f8b8c3c3e31"> 4102</a></span>&#160; int64 <a class="code" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a74c42a060f0c8f1effce8f8b8c3c3e31">branches</a>;</div><div class="line"><a name="l04103"></a><span class="lineno"><a class="line" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#aceea78505d78ed7c119e37b005cdddb5"> 4103</a></span>&#160; int64 <a class="code" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#aceea78505d78ed7c119e37b005cdddb5">failures</a>;</div><div class="line"><a name="l04104"></a><span class="lineno"><a class="line" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a34485db3725852534bc2d28225ea5d64"> 4104</a></span>&#160; int64 <a class="code" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a34485db3725852534bc2d28225ea5d64">objective_value</a>;</div><div class="line"><a name="l04105"></a><span class="lineno"><a class="line" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a668d11020177f060bafb5796b15743fb"> 4105</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a668d11020177f060bafb5796b15743fb">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html">SolutionData</a>&amp; other)<span class="keyword"> const </span>{</div><div class="line"><a name="l04106"></a><span class="lineno"> 4106</span>&#160; <span class="keywordflow">return</span> std::tie(<a class="code" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a70443e4bc86411ffcee245b2c3c71156">solution</a>, <a class="code" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a13421db7d7e84fff732599bcf954c5cc">time</a>, <a class="code" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a74c42a060f0c8f1effce8f8b8c3c3e31">branches</a>, <a class="code" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#aceea78505d78ed7c119e37b005cdddb5">failures</a>, <a class="code" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a34485db3725852534bc2d28225ea5d64">objective_value</a>) &lt;</div><div class="line"><a name="l04107"></a><span class="lineno"> 4107</span>&#160; std::tie(other.<a class="code" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a70443e4bc86411ffcee245b2c3c71156">solution</a>, other.<a class="code" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a13421db7d7e84fff732599bcf954c5cc">time</a>, other.<a class="code" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a74c42a060f0c8f1effce8f8b8c3c3e31">branches</a>,</div><div class="line"><a name="l04108"></a><span class="lineno"> 4108</span>&#160; other.<a class="code" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#aceea78505d78ed7c119e37b005cdddb5">failures</a>, other.<a class="code" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a34485db3725852534bc2d28225ea5d64">objective_value</a>);</div><div class="line"><a name="l04109"></a><span class="lineno"> 4109</span>&#160; }</div><div class="line"><a name="l04110"></a><span class="lineno"> 4110</span>&#160; };</div><div class="line"><a name="l04111"></a><span class="lineno"> 4111</span>&#160;</div><div class="line"><a name="l04113"></a><span class="lineno"> 4113</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SolutionCollector.html#a3caadbab358fe704365f1697ce654375">PushSolution</a>();</div><div class="line"><a name="l04114"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SolutionCollector.html#a35f33e423f42d8e78db12010bd7ae338"> 4114</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SolutionCollector.html#a35f33e423f42d8e78db12010bd7ae338">Push</a>(<span class="keyword">const</span> <a class="code" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html">SolutionData</a>&amp; data) { <a class="code" href="classoperations__research_1_1SolutionCollector.html#a50ad7718f019e2f46328682dc8ed7162">solution_data_</a>.push_back(data); }</div><div class="line"><a name="l04116"></a><span class="lineno"> 4116</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SolutionCollector.html#aec3898670cd27d756678ddda55678b87">PopSolution</a>();</div><div class="line"><a name="l04117"></a><span class="lineno"> 4117</span>&#160; SolutionData <a class="code" href="classoperations__research_1_1SolutionCollector.html#a7355e73fd1c286b47bdd911d5c17b3ff">BuildSolutionDataForCurrentState</a>();</div><div class="line"><a name="l04118"></a><span class="lineno"> 4118</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SolutionCollector.html#ac355f6324d4fcc3f253f3b83105b9c6e">FreeSolution</a>(<a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* <a class="code" href="classoperations__research_1_1SolutionCollector.html#a323ba67da917a9f9766a3e206126af39">solution</a>);</div><div class="line"><a name="l04119"></a><span class="lineno"> 4119</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SolutionCollector.html#a06d7a538074a3c12029edf2c7dbe03b9">check_index</a>(<span class="keywordtype">int</span> n) <span class="keyword">const</span>;</div><div class="line"><a name="l04120"></a><span class="lineno"> 4120</span>&#160;</div><div class="line"><a name="l04121"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SolutionCollector.html#ad6447dcc60c8d0bb89d7c72530afb842"> 4121</a></span>&#160; std::unique_ptr&lt;Assignment&gt; <a class="code" href="classoperations__research_1_1SolutionCollector.html#ad6447dcc60c8d0bb89d7c72530afb842">prototype_</a>;</div><div class="line"><a name="l04122"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SolutionCollector.html#a50ad7718f019e2f46328682dc8ed7162"> 4122</a></span>&#160; std::vector&lt;SolutionData&gt; <a class="code" href="classoperations__research_1_1SolutionCollector.html#a50ad7718f019e2f46328682dc8ed7162">solution_data_</a>;</div><div class="line"><a name="l04123"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SolutionCollector.html#a44069f4a63ae68c2059144cc5ee976d1"> 4123</a></span>&#160; std::vector&lt;Assignment*&gt; <a class="code" href="classoperations__research_1_1SolutionCollector.html#a44069f4a63ae68c2059144cc5ee976d1">recycle_solutions_</a>;</div><div class="line"><a name="l04124"></a><span class="lineno"> 4124</span>&#160;</div><div class="line"><a name="l04125"></a><span class="lineno"> 4125</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l04126"></a><span class="lineno"> 4126</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1SolutionCollector.html">SolutionCollector</a>);</div><div class="line"><a name="l04127"></a><span class="lineno"> 4127</span>&#160;};</div><div class="line"><a name="l04128"></a><span class="lineno"> 4128</span>&#160;</div><div class="line"><a name="l04129"></a><span class="lineno"> 4129</span>&#160;<span class="comment">// TODO(user): Refactor this into an Objective class:</span></div><div class="line"><a name="l04130"></a><span class="lineno"> 4130</span>&#160;<span class="comment">// - print methods for AtNode and AtSolution.</span></div><div class="line"><a name="l04131"></a><span class="lineno"> 4131</span>&#160;<span class="comment">// - support for weighted objective and lexicographical objective.</span></div><div class="line"><a name="l04132"></a><span class="lineno"> 4132</span>&#160;</div><div class="line"><a name="l04136"></a><span class="lineno"><a class="line" href="classoperations__research_1_1OptimizeVar.html"> 4136</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1OptimizeVar.html">OptimizeVar</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a> {</div><div class="line"><a name="l04137"></a><span class="lineno"> 4137</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l04138"></a><span class="lineno"> 4138</span>&#160; <a class="code" href="classoperations__research_1_1OptimizeVar.html#ad4e4776711893cc98308f12595fec2b8">OptimizeVar</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s, <span class="keywordtype">bool</span> maximize, <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> a, int64 step);</div><div class="line"><a name="l04139"></a><span class="lineno"> 4139</span>&#160; <a class="code" href="classoperations__research_1_1OptimizeVar.html#a746d038d4dc0a23b3c22499f33b42fd5">~OptimizeVar</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l04140"></a><span class="lineno"> 4140</span>&#160;</div><div class="line"><a name="l04142"></a><span class="lineno"><a class="line" href="classoperations__research_1_1OptimizeVar.html#a1f1de124cc3328c7d5077c5275d0bfd4"> 4142</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1OptimizeVar.html#a1f1de124cc3328c7d5077c5275d0bfd4">best</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classoperations__research_1_1OptimizeVar.html#a62c8c6ddbd6448f66e4f17e34ef8f33b">best_</a>; }</div><div class="line"><a name="l04143"></a><span class="lineno"> 4143</span>&#160;</div><div class="line"><a name="l04145"></a><span class="lineno"><a class="line" href="classoperations__research_1_1OptimizeVar.html#a8052ccc3aba839f3befd553cc05b85a0"> 4145</a></span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1OptimizeVar.html#a8052ccc3aba839f3befd553cc05b85a0">Var</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classoperations__research_1_1OptimizeVar.html#aacb45343e78641c7b582de46225d3481">var_</a>; }</div><div class="line"><a name="l04147"></a><span class="lineno"> 4147</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1OptimizeVar.html#ae983cf659c971e1f2095a2c5a0e81eca">AcceptDelta</a>(<a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* delta, <a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* deltadelta) <span class="keyword">override</span>;</div><div class="line"><a name="l04148"></a><span class="lineno"> 4148</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1OptimizeVar.html#a0c955ff1b2eae2daece0f25f1e57fb16">EnterSearch</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l04149"></a><span class="lineno"> 4149</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1OptimizeVar.html#a2475e9789e99a92fbe93b2eaf1b5f5b3">BeginNextDecision</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> db) <span class="keyword">override</span>;</div><div class="line"><a name="l04150"></a><span class="lineno"> 4150</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1OptimizeVar.html#acdef27972648252e66630c3b078aa962">RefuteDecision</a>(<a class="code" href="classoperations__research_1_1Decision.html">Decision</a>* <span class="keyword">const</span> d) <span class="keyword">override</span>;</div><div class="line"><a name="l04151"></a><span class="lineno"> 4151</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1OptimizeVar.html#ab3631067f88ccc24c5db6a8a0dc64e47">AtSolution</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l04152"></a><span class="lineno"> 4152</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1OptimizeVar.html#aa8900234762f2b2015b9108accdf10ff">AcceptSolution</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l04153"></a><span class="lineno"> 4153</span>&#160; <span class="keyword">virtual</span> std::string <a class="code" href="classoperations__research_1_1OptimizeVar.html#ac75adcf22322d5c6692e070a0d962af9">Print</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l04154"></a><span class="lineno"> 4154</span>&#160; std::string <a class="code" href="classoperations__research_1_1OptimizeVar.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>() <span class="keyword">const override</span>;</div><div class="line"><a name="l04155"></a><span class="lineno"> 4155</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1OptimizeVar.html#aa30c84aec5e60d6b74e1e1eb15011d4a">Accept</a>(<a class="code" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a>* <span class="keyword">const</span> visitor) <span class="keyword">const override</span>;</div><div class="line"><a name="l04156"></a><span class="lineno"> 4156</span>&#160;</div><div class="line"><a name="l04157"></a><span class="lineno"> 4157</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1OptimizeVar.html#a042bc511877a33bbbc296383c0797650">ApplyBound</a>();</div><div class="line"><a name="l04158"></a><span class="lineno"> 4158</span>&#160;</div><div class="line"><a name="l04159"></a><span class="lineno"> 4159</span>&#160; <span class="keyword">protected</span>:</div><div class="line"><a name="l04160"></a><span class="lineno"><a class="line" href="classoperations__research_1_1OptimizeVar.html#aacb45343e78641c7b582de46225d3481"> 4160</a></span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> <a class="code" href="classoperations__research_1_1OptimizeVar.html#aacb45343e78641c7b582de46225d3481">var_</a>;</div><div class="line"><a name="l04161"></a><span class="lineno"><a class="line" href="classoperations__research_1_1OptimizeVar.html#a87607661db50ef1ae104b4cd6d05f8a8"> 4161</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1OptimizeVar.html#a87607661db50ef1ae104b4cd6d05f8a8">step_</a>;</div><div class="line"><a name="l04162"></a><span class="lineno"><a class="line" href="classoperations__research_1_1OptimizeVar.html#a62c8c6ddbd6448f66e4f17e34ef8f33b"> 4162</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1OptimizeVar.html#a62c8c6ddbd6448f66e4f17e34ef8f33b">best_</a>;</div><div class="line"><a name="l04163"></a><span class="lineno"><a class="line" href="classoperations__research_1_1OptimizeVar.html#ad5d09a69c6c8c8eea9311b0513628683"> 4163</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1OptimizeVar.html#ad5d09a69c6c8c8eea9311b0513628683">maximize_</a>;</div><div class="line"><a name="l04164"></a><span class="lineno"><a class="line" href="classoperations__research_1_1OptimizeVar.html#a7bcea05dd62f2b212dd18322fd22b32e"> 4164</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1OptimizeVar.html#a7bcea05dd62f2b212dd18322fd22b32e">found_initial_solution_</a>;</div><div class="line"><a name="l04165"></a><span class="lineno"> 4165</span>&#160;</div><div class="line"><a name="l04166"></a><span class="lineno"> 4166</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l04167"></a><span class="lineno"> 4167</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1OptimizeVar.html">OptimizeVar</a>);</div><div class="line"><a name="l04168"></a><span class="lineno"> 4168</span>&#160;};</div><div class="line"><a name="l04169"></a><span class="lineno"> 4169</span>&#160;</div><div class="line"><a name="l04171"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SearchLimit.html"> 4171</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1SearchLimit.html">SearchLimit</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a> {</div><div class="line"><a name="l04172"></a><span class="lineno"> 4172</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l04173"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SearchLimit.html#a279e462390a3028b062e03ce0616efbd"> 4173</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classoperations__research_1_1SearchLimit.html#a279e462390a3028b062e03ce0616efbd">SearchLimit</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s) : <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>(s), crossed_(false) {}</div><div class="line"><a name="l04174"></a><span class="lineno"> 4174</span>&#160; <a class="code" href="classoperations__research_1_1SearchLimit.html#a5c50eb7ab17cb83e115f2799ccd6a8de">~SearchLimit</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l04175"></a><span class="lineno"> 4175</span>&#160;</div><div class="line"><a name="l04177"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SearchLimit.html#ae874856cae71ff1b4391027b70f0c915"> 4177</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1SearchLimit.html#ae874856cae71ff1b4391027b70f0c915">crossed</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> crossed_; }</div><div class="line"><a name="l04178"></a><span class="lineno"> 4178</span>&#160;</div><div class="line"><a name="l04183"></a><span class="lineno"> 4183</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1SearchLimit.html#afefd22e7a516cef9dff7154cae02e704">Check</a>() = 0;</div><div class="line"><a name="l04184"></a><span class="lineno"> 4184</span>&#160;</div><div class="line"><a name="l04186"></a><span class="lineno"> 4186</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SearchLimit.html#a5368a4a3fff770682cf257e81707d9f0">Init</a>() = 0;</div><div class="line"><a name="l04187"></a><span class="lineno"> 4187</span>&#160;</div><div class="line"><a name="l04190"></a><span class="lineno"> 4190</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SearchLimit.html#abeeb0e725bbe0c9cb3c632414658ab45">Copy</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1SearchLimit.html">SearchLimit</a>* <span class="keyword">const</span> limit) = 0;</div><div class="line"><a name="l04191"></a><span class="lineno"> 4191</span>&#160;</div><div class="line"><a name="l04193"></a><span class="lineno"> 4193</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classoperations__research_1_1SearchLimit.html">SearchLimit</a>* <a class="code" href="classoperations__research_1_1SearchLimit.html#ac0ef83a00e9fb4df68e81c6e8a99d46c">MakeClone</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l04194"></a><span class="lineno"> 4194</span>&#160;</div><div class="line"><a name="l04196"></a><span class="lineno"> 4196</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SearchLimit.html#a0c955ff1b2eae2daece0f25f1e57fb16">EnterSearch</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l04197"></a><span class="lineno"> 4197</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SearchLimit.html#a6022c765bf8a03b9322ca6c6591b3c21">BeginNextDecision</a>(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>* <span class="keyword">const</span> b) <span class="keyword">override</span>;</div><div class="line"><a name="l04198"></a><span class="lineno"> 4198</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SearchLimit.html#a310e97cfc134567a740679be9186e194">PeriodicCheck</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l04199"></a><span class="lineno"> 4199</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SearchLimit.html#acdef27972648252e66630c3b078aa962">RefuteDecision</a>(<a class="code" href="classoperations__research_1_1Decision.html">Decision</a>* <span class="keyword">const</span> d) <span class="keyword">override</span>;</div><div class="line"><a name="l04200"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SearchLimit.html#aed804747c45a7e1caf81461f9e45dd91"> 4200</a></span>&#160; std::string <a class="code" href="classoperations__research_1_1SearchLimit.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>()<span class="keyword"> const override </span>{</div><div class="line"><a name="l04201"></a><span class="lineno"> 4201</span>&#160; <span class="keywordflow">return</span> absl::StrFormat(<span class="stringliteral">&quot;SearchLimit(crossed = %i)&quot;</span>, crossed_);</div><div class="line"><a name="l04202"></a><span class="lineno"> 4202</span>&#160; }</div><div class="line"><a name="l04203"></a><span class="lineno"> 4203</span>&#160;</div><div class="line"><a name="l04204"></a><span class="lineno"> 4204</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l04205"></a><span class="lineno"> 4205</span>&#160; <span class="keywordtype">void</span> TopPeriodicCheck();</div><div class="line"><a name="l04206"></a><span class="lineno"> 4206</span>&#160;</div><div class="line"><a name="l04207"></a><span class="lineno"> 4207</span>&#160; <span class="keywordtype">bool</span> crossed_;</div><div class="line"><a name="l04208"></a><span class="lineno"> 4208</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1SearchLimit.html">SearchLimit</a>);</div><div class="line"><a name="l04209"></a><span class="lineno"> 4209</span>&#160;};</div><div class="line"><a name="l04210"></a><span class="lineno"> 4210</span>&#160;</div><div class="line"><a name="l04213"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RegularLimit.html"> 4213</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1RegularLimit.html">RegularLimit</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1SearchLimit.html">SearchLimit</a> {</div><div class="line"><a name="l04214"></a><span class="lineno"> 4214</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l04215"></a><span class="lineno"> 4215</span>&#160; <a class="code" href="classoperations__research_1_1RegularLimit.html#ab737c284f0dcb8b1ed115f5f5b90f3ff">RegularLimit</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s, int64 time, int64 <a class="code" href="classoperations__research_1_1RegularLimit.html#ad01c3a2fbfb388d917899ad983415d02">branches</a>, int64 <a class="code" href="classoperations__research_1_1RegularLimit.html#a2b05840b09f4ab5632470987f01e11e1">failures</a>,</div><div class="line"><a name="l04216"></a><span class="lineno"> 4216</span>&#160; int64 <a class="code" href="classoperations__research_1_1RegularLimit.html#a23ac09a78dbd8b39b2f63e9981947788">solutions</a>, <span class="keywordtype">bool</span> smart_time_check, <span class="keywordtype">bool</span> cumulative);</div><div class="line"><a name="l04217"></a><span class="lineno"> 4217</span>&#160; <a class="code" href="classoperations__research_1_1RegularLimit.html#a4b4eab279939d2f78038cc89554a3d61">~RegularLimit</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l04218"></a><span class="lineno"> 4218</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1RegularLimit.html#aac0948fa90cbc174304a0f6c78d72e15">Copy</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1SearchLimit.html">SearchLimit</a>* <span class="keyword">const</span> limit) <span class="keyword">override</span>;</div><div class="line"><a name="l04219"></a><span class="lineno"> 4219</span>&#160; <a class="code" href="classoperations__research_1_1SearchLimit.html">SearchLimit</a>* <a class="code" href="classoperations__research_1_1RegularLimit.html#acde4eaa45f9fcd2e17bfcaf04a41ea36">MakeClone</a>() <span class="keyword">const override</span>;</div><div class="line"><a name="l04220"></a><span class="lineno"> 4220</span>&#160; <a class="code" href="classoperations__research_1_1RegularLimit.html">RegularLimit</a>* <a class="code" href="classoperations__research_1_1RegularLimit.html#a98091bfae0af46a2795cf0f5a8cacec7">MakeIdenticalClone</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l04221"></a><span class="lineno"> 4221</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1RegularLimit.html#a01dd9b59b9a183cb3ba148b08d09b320">Check</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l04222"></a><span class="lineno"> 4222</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1RegularLimit.html#a47de93e849d14c3eda08d78613506608">Init</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l04223"></a><span class="lineno"> 4223</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1RegularLimit.html#a4d07aaa3fe401d52e938c2f8f7f2e26f">ExitSearch</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l04224"></a><span class="lineno"> 4224</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1RegularLimit.html#a73a92be718a3fce418f1240ac862b2fc">UpdateLimits</a>(int64 time, int64 <a class="code" href="classoperations__research_1_1RegularLimit.html#ad01c3a2fbfb388d917899ad983415d02">branches</a>, int64 <a class="code" href="classoperations__research_1_1RegularLimit.html#a2b05840b09f4ab5632470987f01e11e1">failures</a>,</div><div class="line"><a name="l04225"></a><span class="lineno"> 4225</span>&#160; int64 <a class="code" href="classoperations__research_1_1RegularLimit.html#a23ac09a78dbd8b39b2f63e9981947788">solutions</a>);</div><div class="line"><a name="l04226"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RegularLimit.html#a039f4519955ca1dd2aa8b82b7f7a37fa"> 4226</a></span>&#160; absl::Duration <a class="code" href="classoperations__research_1_1RegularLimit.html#a039f4519955ca1dd2aa8b82b7f7a37fa">duration_limit</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> duration_limit_; }</div><div class="line"><a name="l04227"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RegularLimit.html#a80533bb150275c3c1c46e7ee3f31a822"> 4227</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1RegularLimit.html#a80533bb150275c3c1c46e7ee3f31a822">wall_time</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l04228"></a><span class="lineno"> 4228</span>&#160; <span class="keywordflow">return</span> duration_limit_ == absl::InfiniteDuration()</div><div class="line"><a name="l04229"></a><span class="lineno"> 4229</span>&#160; ? kint64max</div><div class="line"><a name="l04230"></a><span class="lineno"> 4230</span>&#160; : absl::ToInt64Milliseconds(<a class="code" href="classoperations__research_1_1RegularLimit.html#a039f4519955ca1dd2aa8b82b7f7a37fa">duration_limit</a>());</div><div class="line"><a name="l04231"></a><span class="lineno"> 4231</span>&#160; }</div><div class="line"><a name="l04232"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RegularLimit.html#ad01c3a2fbfb388d917899ad983415d02"> 4232</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1RegularLimit.html#ad01c3a2fbfb388d917899ad983415d02">branches</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> branches_; }</div><div class="line"><a name="l04233"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RegularLimit.html#a2b05840b09f4ab5632470987f01e11e1"> 4233</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1RegularLimit.html#a2b05840b09f4ab5632470987f01e11e1">failures</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> failures_; }</div><div class="line"><a name="l04234"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RegularLimit.html#a23ac09a78dbd8b39b2f63e9981947788"> 4234</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1RegularLimit.html#a23ac09a78dbd8b39b2f63e9981947788">solutions</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> solutions_; }</div><div class="line"><a name="l04235"></a><span class="lineno"> 4235</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1RegularLimit.html#a1d6a0a8f90a9b39efbd6b00994d212c8">IsUncheckedSolutionLimitReached</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l04236"></a><span class="lineno"> 4236</span>&#160; <span class="keywordtype">int</span> <a class="code" href="classoperations__research_1_1RegularLimit.html#a7dae7731e3aee0f21059730b01aaaf51">ProgressPercent</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l04237"></a><span class="lineno"> 4237</span>&#160; std::string <a class="code" href="classoperations__research_1_1RegularLimit.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>() <span class="keyword">const override</span>;</div><div class="line"><a name="l04238"></a><span class="lineno"> 4238</span>&#160;</div><div class="line"><a name="l04239"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RegularLimit.html#a8cc63d9778229883ca7594b3a47d8f5b"> 4239</a></span>&#160; absl::Time <a class="code" href="classoperations__research_1_1RegularLimit.html#a8cc63d9778229883ca7594b3a47d8f5b">AbsoluteSolverDeadline</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l04240"></a><span class="lineno"> 4240</span>&#160; <span class="keywordflow">return</span> solver_time_at_limit_start_ + duration_limit_;</div><div class="line"><a name="l04241"></a><span class="lineno"> 4241</span>&#160; }</div><div class="line"><a name="l04242"></a><span class="lineno"> 4242</span>&#160;</div><div class="line"><a name="l04243"></a><span class="lineno"> 4243</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1RegularLimit.html#aa30c84aec5e60d6b74e1e1eb15011d4a">Accept</a>(<a class="code" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a>* <span class="keyword">const</span> visitor) <span class="keyword">const override</span>;</div><div class="line"><a name="l04244"></a><span class="lineno"> 4244</span>&#160;</div><div class="line"><a name="l04245"></a><span class="lineno"> 4245</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l04246"></a><span class="lineno"> 4246</span>&#160; <span class="keywordtype">bool</span> CheckTime();</div><div class="line"><a name="l04247"></a><span class="lineno"> 4247</span>&#160; absl::Duration TimeElapsed();</div><div class="line"><a name="l04248"></a><span class="lineno"> 4248</span>&#160; <span class="keyword">static</span> int64 GetPercent(int64 value, int64 offset, int64 total) {</div><div class="line"><a name="l04249"></a><span class="lineno"> 4249</span>&#160; <span class="keywordflow">return</span> (total &gt; 0 &amp;&amp; total &lt; kint64max) ? 100 * (value - offset) / total</div><div class="line"><a name="l04250"></a><span class="lineno"> 4250</span>&#160; : -1;</div><div class="line"><a name="l04251"></a><span class="lineno"> 4251</span>&#160; }</div><div class="line"><a name="l04252"></a><span class="lineno"> 4252</span>&#160;</div><div class="line"><a name="l04253"></a><span class="lineno"> 4253</span>&#160; absl::Duration duration_limit_;</div><div class="line"><a name="l04254"></a><span class="lineno"> 4254</span>&#160; absl::Time solver_time_at_limit_start_;</div><div class="line"><a name="l04255"></a><span class="lineno"> 4255</span>&#160; absl::Duration last_time_elapsed_;</div><div class="line"><a name="l04256"></a><span class="lineno"> 4256</span>&#160; int64 check_count_;</div><div class="line"><a name="l04257"></a><span class="lineno"> 4257</span>&#160; int64 next_check_;</div><div class="line"><a name="l04258"></a><span class="lineno"> 4258</span>&#160; <span class="keywordtype">bool</span> smart_time_check_;</div><div class="line"><a name="l04259"></a><span class="lineno"> 4259</span>&#160; int64 branches_;</div><div class="line"><a name="l04260"></a><span class="lineno"> 4260</span>&#160; int64 branches_offset_;</div><div class="line"><a name="l04261"></a><span class="lineno"> 4261</span>&#160; int64 failures_;</div><div class="line"><a name="l04262"></a><span class="lineno"> 4262</span>&#160; int64 failures_offset_;</div><div class="line"><a name="l04263"></a><span class="lineno"> 4263</span>&#160; int64 solutions_;</div><div class="line"><a name="l04264"></a><span class="lineno"> 4264</span>&#160; int64 solutions_offset_;</div><div class="line"><a name="l04272"></a><span class="lineno"> 4272</span>&#160; <span class="keywordtype">bool</span> cumulative_;</div><div class="line"><a name="l04273"></a><span class="lineno"> 4273</span>&#160;};</div><div class="line"><a name="l04274"></a><span class="lineno"> 4274</span>&#160;</div><div class="line"><a name="l04285"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html"> 4285</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1PropagationBaseObject.html">PropagationBaseObject</a> {</div><div class="line"><a name="l04286"></a><span class="lineno"> 4286</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l04288"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#a754f63f0839f2851475307283b575584"> 4288</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> int64 <a class="code" href="classoperations__research_1_1IntervalVar.html#a754f63f0839f2851475307283b575584">kMinValidValue</a>;</div><div class="line"><a name="l04290"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#a25367402bed36b599e0269f2612cfa29"> 4290</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> int64 <a class="code" href="classoperations__research_1_1IntervalVar.html#a25367402bed36b599e0269f2612cfa29">kMaxValidValue</a>;</div><div class="line"><a name="l04291"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#a80fdadbf273640022be0e62fe34ca247"> 4291</a></span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html#a80fdadbf273640022be0e62fe34ca247">IntervalVar</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>, <span class="keyword">const</span> std::string&amp; <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a>)</div><div class="line"><a name="l04292"></a><span class="lineno"> 4292</span>&#160; : <a class="code" href="classoperations__research_1_1PropagationBaseObject.html">PropagationBaseObject</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>) {</div><div class="line"><a name="l04293"></a><span class="lineno"> 4293</span>&#160; <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#ad5260b9627048b854b45d05ed34adc22">set_name</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a>);</div><div class="line"><a name="l04294"></a><span class="lineno"> 4294</span>&#160; }</div><div class="line"><a name="l04295"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#a85b770f10424a1cf4ae734ccbd761a55"> 4295</a></span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html#a85b770f10424a1cf4ae734ccbd761a55">~IntervalVar</a>()<span class="keyword"> override </span>{}</div><div class="line"><a name="l04296"></a><span class="lineno"> 4296</span>&#160;</div><div class="line"><a name="l04299"></a><span class="lineno"> 4299</span>&#160; <span class="keyword">virtual</span> int64 <a class="code" href="classoperations__research_1_1IntervalVar.html#a962c32883b6e5af795e295cf2744df10">StartMin</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l04300"></a><span class="lineno"> 4300</span>&#160; <span class="keyword">virtual</span> int64 <a class="code" href="classoperations__research_1_1IntervalVar.html#a0a4c6ed965a6e5221ed1ce6177da7f6b">StartMax</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l04301"></a><span class="lineno"> 4301</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a5805a2c51eccb20105216b3dcf0d53d6">SetStartMin</a>(int64 m) = 0;</div><div class="line"><a name="l04302"></a><span class="lineno"> 4302</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a91ff1b661ef6d8a735867b16f63240d8">SetStartMax</a>(int64 m) = 0;</div><div class="line"><a name="l04303"></a><span class="lineno"> 4303</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a9ee54a77d1ab21313334ffd6ef2358fa">SetStartRange</a>(int64 mi, int64 ma) = 0;</div><div class="line"><a name="l04304"></a><span class="lineno"> 4304</span>&#160; <span class="keyword">virtual</span> int64 <a class="code" href="classoperations__research_1_1IntervalVar.html#a0a2ac050130006847487f3101c776512">OldStartMin</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l04305"></a><span class="lineno"> 4305</span>&#160; <span class="keyword">virtual</span> int64 <a class="code" href="classoperations__research_1_1IntervalVar.html#ae345b19938624df4ccb90565e78ba8ac">OldStartMax</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l04306"></a><span class="lineno"> 4306</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#ac2eddfa8bbcc407e02de0c9a18e6710c">WhenStartRange</a>(<a class="code" href="classoperations__research_1_1Demon.html">Demon</a>* <span class="keyword">const</span> d) = 0;</div><div class="line"><a name="l04307"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#ab2c1ea6c42add4cb68084080336c4474"> 4307</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#ab2c1ea6c42add4cb68084080336c4474">WhenStartRange</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure) {</div><div class="line"><a name="l04308"></a><span class="lineno"> 4308</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html#ac2eddfa8bbcc407e02de0c9a18e6710c">WhenStartRange</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>()-&gt;MakeClosureDemon(std::move(closure)));</div><div class="line"><a name="l04309"></a><span class="lineno"> 4309</span>&#160; }</div><div class="line"><a name="l04310"></a><span class="lineno"> 4310</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l04311"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#a674419a6fdb564b44c242ceef4aa474f"> 4311</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a674419a6fdb564b44c242ceef4aa474f">WhenStartRange</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action) {</div><div class="line"><a name="l04312"></a><span class="lineno"> 4312</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html#ac2eddfa8bbcc407e02de0c9a18e6710c">WhenStartRange</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>()-&gt;MakeActionDemon(std::move(action)));</div><div class="line"><a name="l04313"></a><span class="lineno"> 4313</span>&#160; }</div><div class="line"><a name="l04314"></a><span class="lineno"> 4314</span>&#160;<span class="preprocessor">#endif // SWIG</span></div><div class="line"><a name="l04315"></a><span class="lineno"> 4315</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a349b5f41930e3a1d4e516145a1edb004">WhenStartBound</a>(<a class="code" href="classoperations__research_1_1Demon.html">Demon</a>* <span class="keyword">const</span> d) = 0;</div><div class="line"><a name="l04316"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#a283e9ef538394e378e54f5acc8c640b3"> 4316</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a283e9ef538394e378e54f5acc8c640b3">WhenStartBound</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure) {</div><div class="line"><a name="l04317"></a><span class="lineno"> 4317</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html#a349b5f41930e3a1d4e516145a1edb004">WhenStartBound</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>()-&gt;MakeClosureDemon(std::move(closure)));</div><div class="line"><a name="l04318"></a><span class="lineno"> 4318</span>&#160; }</div><div class="line"><a name="l04319"></a><span class="lineno"> 4319</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l04320"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#a9648e486d02d610907100805e54d0c0e"> 4320</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a9648e486d02d610907100805e54d0c0e">WhenStartBound</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action) {</div><div class="line"><a name="l04321"></a><span class="lineno"> 4321</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html#a349b5f41930e3a1d4e516145a1edb004">WhenStartBound</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>()-&gt;MakeActionDemon(std::move(action)));</div><div class="line"><a name="l04322"></a><span class="lineno"> 4322</span>&#160; }</div><div class="line"><a name="l04323"></a><span class="lineno"> 4323</span>&#160;<span class="preprocessor">#endif // SWIG</span></div><div class="line"><a name="l04324"></a><span class="lineno"> 4324</span>&#160;</div><div class="line"><a name="l04326"></a><span class="lineno"> 4326</span>&#160; <span class="keyword">virtual</span> int64 <a class="code" href="classoperations__research_1_1IntervalVar.html#ad793719634e2716798692d4e3d6113b5">DurationMin</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l04327"></a><span class="lineno"> 4327</span>&#160; <span class="keyword">virtual</span> int64 <a class="code" href="classoperations__research_1_1IntervalVar.html#a43b02df74a6f6ed9719c4e3c0f1fa8ce">DurationMax</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l04328"></a><span class="lineno"> 4328</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a5cceb39badf72eeb4c0e93d51bbb628c">SetDurationMin</a>(int64 m) = 0;</div><div class="line"><a name="l04329"></a><span class="lineno"> 4329</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#ada8114ab203bc9abdedeed3f36d122b2">SetDurationMax</a>(int64 m) = 0;</div><div class="line"><a name="l04330"></a><span class="lineno"> 4330</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#ad8aa9dfeba6633cf01f84c51e638547a">SetDurationRange</a>(int64 mi, int64 ma) = 0;</div><div class="line"><a name="l04331"></a><span class="lineno"> 4331</span>&#160; <span class="keyword">virtual</span> int64 <a class="code" href="classoperations__research_1_1IntervalVar.html#a622430d2c45c95667dea82e654bfd3f1">OldDurationMin</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l04332"></a><span class="lineno"> 4332</span>&#160; <span class="keyword">virtual</span> int64 <a class="code" href="classoperations__research_1_1IntervalVar.html#aaede9262257d2cb727ab27f86690cf4c">OldDurationMax</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l04333"></a><span class="lineno"> 4333</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a70884f4eed3ebe4c9ca46dc22a797195">WhenDurationRange</a>(<a class="code" href="classoperations__research_1_1Demon.html">Demon</a>* <span class="keyword">const</span> d) = 0;</div><div class="line"><a name="l04334"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#a17baafda330e225559f6b2a8b53d7b8b"> 4334</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a17baafda330e225559f6b2a8b53d7b8b">WhenDurationRange</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure) {</div><div class="line"><a name="l04335"></a><span class="lineno"> 4335</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html#a70884f4eed3ebe4c9ca46dc22a797195">WhenDurationRange</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>()-&gt;MakeClosureDemon(std::move(closure)));</div><div class="line"><a name="l04336"></a><span class="lineno"> 4336</span>&#160; }</div><div class="line"><a name="l04337"></a><span class="lineno"> 4337</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l04338"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#af61724f6a9f9d2d310203501c3e57894"> 4338</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#af61724f6a9f9d2d310203501c3e57894">WhenDurationRange</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action) {</div><div class="line"><a name="l04339"></a><span class="lineno"> 4339</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html#a70884f4eed3ebe4c9ca46dc22a797195">WhenDurationRange</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>()-&gt;MakeActionDemon(std::move(action)));</div><div class="line"><a name="l04340"></a><span class="lineno"> 4340</span>&#160; }</div><div class="line"><a name="l04341"></a><span class="lineno"> 4341</span>&#160;<span class="preprocessor">#endif // SWIG</span></div><div class="line"><a name="l04342"></a><span class="lineno"> 4342</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a5f1474400988f1e51711f701e6755bd6">WhenDurationBound</a>(<a class="code" href="classoperations__research_1_1Demon.html">Demon</a>* <span class="keyword">const</span> d) = 0;</div><div class="line"><a name="l04343"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#aff3e244214fe0edff58162e4d6a3d8ab"> 4343</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#aff3e244214fe0edff58162e4d6a3d8ab">WhenDurationBound</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure) {</div><div class="line"><a name="l04344"></a><span class="lineno"> 4344</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html#a5f1474400988f1e51711f701e6755bd6">WhenDurationBound</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>()-&gt;MakeClosureDemon(std::move(closure)));</div><div class="line"><a name="l04345"></a><span class="lineno"> 4345</span>&#160; }</div><div class="line"><a name="l04346"></a><span class="lineno"> 4346</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l04347"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#a7ee95dc5526fb2400c5af54f3246d5c4"> 4347</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a7ee95dc5526fb2400c5af54f3246d5c4">WhenDurationBound</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action) {</div><div class="line"><a name="l04348"></a><span class="lineno"> 4348</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html#a5f1474400988f1e51711f701e6755bd6">WhenDurationBound</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>()-&gt;MakeActionDemon(std::move(action)));</div><div class="line"><a name="l04349"></a><span class="lineno"> 4349</span>&#160; }</div><div class="line"><a name="l04350"></a><span class="lineno"> 4350</span>&#160;<span class="preprocessor">#endif // SWIG</span></div><div class="line"><a name="l04351"></a><span class="lineno"> 4351</span>&#160;</div><div class="line"><a name="l04353"></a><span class="lineno"> 4353</span>&#160; <span class="keyword">virtual</span> int64 <a class="code" href="classoperations__research_1_1IntervalVar.html#abbd293afc60381f8ff32477a20506bc1">EndMin</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l04354"></a><span class="lineno"> 4354</span>&#160; <span class="keyword">virtual</span> int64 <a class="code" href="classoperations__research_1_1IntervalVar.html#a4d64f6d586f2dffde03a5e6733895265">EndMax</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l04355"></a><span class="lineno"> 4355</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a63e7391acda125e12ffe6a86ac492f2c">SetEndMin</a>(int64 m) = 0;</div><div class="line"><a name="l04356"></a><span class="lineno"> 4356</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a56b95bece4ade1fc41ea6f298fa3b7ab">SetEndMax</a>(int64 m) = 0;</div><div class="line"><a name="l04357"></a><span class="lineno"> 4357</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a680e3e9635de26ca24c6982e5aa0a395">SetEndRange</a>(int64 mi, int64 ma) = 0;</div><div class="line"><a name="l04358"></a><span class="lineno"> 4358</span>&#160; <span class="keyword">virtual</span> int64 <a class="code" href="classoperations__research_1_1IntervalVar.html#a22479e464e189ad596d74c46c4a7f8d3">OldEndMin</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l04359"></a><span class="lineno"> 4359</span>&#160; <span class="keyword">virtual</span> int64 <a class="code" href="classoperations__research_1_1IntervalVar.html#a948d289f00fbcdded9ff77d4e4c21f14">OldEndMax</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l04360"></a><span class="lineno"> 4360</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a56faf89c8f9d82ff3b34ec79f48de37d">WhenEndRange</a>(<a class="code" href="classoperations__research_1_1Demon.html">Demon</a>* <span class="keyword">const</span> d) = 0;</div><div class="line"><a name="l04361"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#a355d19148bcb4747b68e2e019f85082f"> 4361</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a355d19148bcb4747b68e2e019f85082f">WhenEndRange</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure) {</div><div class="line"><a name="l04362"></a><span class="lineno"> 4362</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html#a56faf89c8f9d82ff3b34ec79f48de37d">WhenEndRange</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>()-&gt;MakeClosureDemon(std::move(closure)));</div><div class="line"><a name="l04363"></a><span class="lineno"> 4363</span>&#160; }</div><div class="line"><a name="l04364"></a><span class="lineno"> 4364</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l04365"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#ab14e2d2421aa8d793df45251778e9ede"> 4365</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#ab14e2d2421aa8d793df45251778e9ede">WhenEndRange</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action) {</div><div class="line"><a name="l04366"></a><span class="lineno"> 4366</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html#a56faf89c8f9d82ff3b34ec79f48de37d">WhenEndRange</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>()-&gt;MakeActionDemon(std::move(action)));</div><div class="line"><a name="l04367"></a><span class="lineno"> 4367</span>&#160; }</div><div class="line"><a name="l04368"></a><span class="lineno"> 4368</span>&#160;<span class="preprocessor">#endif // SWIG</span></div><div class="line"><a name="l04369"></a><span class="lineno"> 4369</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a7941f3d8ba5465fc17c2cc9dc8266ea8">WhenEndBound</a>(<a class="code" href="classoperations__research_1_1Demon.html">Demon</a>* <span class="keyword">const</span> d) = 0;</div><div class="line"><a name="l04370"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#ae82eabc3ac9b82c5d0e16b20ff255be1"> 4370</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#ae82eabc3ac9b82c5d0e16b20ff255be1">WhenEndBound</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure) {</div><div class="line"><a name="l04371"></a><span class="lineno"> 4371</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html#a7941f3d8ba5465fc17c2cc9dc8266ea8">WhenEndBound</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>()-&gt;MakeClosureDemon(std::move(closure)));</div><div class="line"><a name="l04372"></a><span class="lineno"> 4372</span>&#160; }</div><div class="line"><a name="l04373"></a><span class="lineno"> 4373</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l04374"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#a5179cad5976e0c8f934de68a81fd78fd"> 4374</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a5179cad5976e0c8f934de68a81fd78fd">WhenEndBound</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action) {</div><div class="line"><a name="l04375"></a><span class="lineno"> 4375</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html#a7941f3d8ba5465fc17c2cc9dc8266ea8">WhenEndBound</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>()-&gt;MakeActionDemon(std::move(action)));</div><div class="line"><a name="l04376"></a><span class="lineno"> 4376</span>&#160; }</div><div class="line"><a name="l04377"></a><span class="lineno"> 4377</span>&#160;<span class="preprocessor">#endif // SWIG</span></div><div class="line"><a name="l04378"></a><span class="lineno"> 4378</span>&#160;</div><div class="line"><a name="l04381"></a><span class="lineno"> 4381</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a7f7f661e9b94f25f706732924e0f01e9">MustBePerformed</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l04382"></a><span class="lineno"> 4382</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#af341bdc63fc2e487a50047afa36a536b">MayBePerformed</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l04383"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#af84a48721386cc4b8e3fea30b00f6543"> 4383</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#af84a48721386cc4b8e3fea30b00f6543">CannotBePerformed</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !<a class="code" href="classoperations__research_1_1IntervalVar.html#af341bdc63fc2e487a50047afa36a536b">MayBePerformed</a>(); }</div><div class="line"><a name="l04384"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#ad4e82517bfdede7e0c6d86796434378f"> 4384</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#ad4e82517bfdede7e0c6d86796434378f">IsPerformedBound</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l04385"></a><span class="lineno"> 4385</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a7f7f661e9b94f25f706732924e0f01e9">MustBePerformed</a>() || !<a class="code" href="classoperations__research_1_1IntervalVar.html#af341bdc63fc2e487a50047afa36a536b">MayBePerformed</a>();</div><div class="line"><a name="l04386"></a><span class="lineno"> 4386</span>&#160; }</div><div class="line"><a name="l04387"></a><span class="lineno"> 4387</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a46fbee3c5ffb01df33db9b5a23c20233">SetPerformed</a>(<span class="keywordtype">bool</span> val) = 0;</div><div class="line"><a name="l04388"></a><span class="lineno"> 4388</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a643ad0dc8e9cdf44c3923c1afb002787">WasPerformedBound</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l04389"></a><span class="lineno"> 4389</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a82728fd2e5b30169646991d9e78a75a4">WhenPerformedBound</a>(<a class="code" href="classoperations__research_1_1Demon.html">Demon</a>* <span class="keyword">const</span> d) = 0;</div><div class="line"><a name="l04390"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#ae330c5b34b171e8840302a1e4ef1ca26"> 4390</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#ae330c5b34b171e8840302a1e4ef1ca26">WhenPerformedBound</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure) {</div><div class="line"><a name="l04391"></a><span class="lineno"> 4391</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html#a82728fd2e5b30169646991d9e78a75a4">WhenPerformedBound</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>()-&gt;MakeClosureDemon(std::move(closure)));</div><div class="line"><a name="l04392"></a><span class="lineno"> 4392</span>&#160; }</div><div class="line"><a name="l04393"></a><span class="lineno"> 4393</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l04394"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#ade171abf4e9422b35a69df7eda30d541"> 4394</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#ade171abf4e9422b35a69df7eda30d541">WhenPerformedBound</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action) {</div><div class="line"><a name="l04395"></a><span class="lineno"> 4395</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html#a82728fd2e5b30169646991d9e78a75a4">WhenPerformedBound</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>()-&gt;MakeActionDemon(std::move(action)));</div><div class="line"><a name="l04396"></a><span class="lineno"> 4396</span>&#160; }</div><div class="line"><a name="l04397"></a><span class="lineno"> 4397</span>&#160;<span class="preprocessor">#endif // SWIG</span></div><div class="line"><a name="l04398"></a><span class="lineno"> 4398</span>&#160;</div><div class="line"><a name="l04400"></a><span class="lineno"> 4400</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a3b0638c92ea73b5666d6b667c44896f8">WhenAnything</a>(<a class="code" href="classoperations__research_1_1Demon.html">Demon</a>* <span class="keyword">const</span> d);</div><div class="line"><a name="l04402"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#a1fa7ba3df05c93c2c8f9109d0268f4b2"> 4402</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a1fa7ba3df05c93c2c8f9109d0268f4b2">WhenAnything</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad4c4d0d62a6d65debcff4437948435a1">Solver::Closure</a> closure) {</div><div class="line"><a name="l04403"></a><span class="lineno"> 4403</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html#a3b0638c92ea73b5666d6b667c44896f8">WhenAnything</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>()-&gt;MakeClosureDemon(std::move(closure)));</div><div class="line"><a name="l04404"></a><span class="lineno"> 4404</span>&#160; }</div><div class="line"><a name="l04405"></a><span class="lineno"> 4405</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l04406"></a><span class="lineno"> 4406</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a3b0638c92ea73b5666d6b667c44896f8">WhenAnything</a>(<a class="code" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">Solver::Action</a> action) {</div><div class="line"><a name="l04408"></a><span class="lineno"> 4408</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html#a3b0638c92ea73b5666d6b667c44896f8">WhenAnything</a>(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">solver</a>()-&gt;MakeActionDemon(std::move(action)));</div><div class="line"><a name="l04409"></a><span class="lineno"> 4409</span>&#160; }</div><div class="line"><a name="l04410"></a><span class="lineno"> 4410</span>&#160;<span class="preprocessor">#endif // SWIG</span></div><div class="line"><a name="l04411"></a><span class="lineno"> 4411</span>&#160;</div><div class="line"><a name="l04415"></a><span class="lineno"> 4415</span>&#160; <span class="keyword">virtual</span> IntExpr* <a class="code" href="classoperations__research_1_1IntervalVar.html#ac76dbe6f7b117fca3613758e21642575">StartExpr</a>() = 0;</div><div class="line"><a name="l04416"></a><span class="lineno"> 4416</span>&#160; <span class="keyword">virtual</span> IntExpr* <a class="code" href="classoperations__research_1_1IntervalVar.html#ab08a56645a332e5464a1d43c4f23fc14">DurationExpr</a>() = 0;</div><div class="line"><a name="l04417"></a><span class="lineno"> 4417</span>&#160; <span class="keyword">virtual</span> IntExpr* <a class="code" href="classoperations__research_1_1IntervalVar.html#a893d3c8a64a0019e4df1f79192008076">EndExpr</a>() = 0;</div><div class="line"><a name="l04418"></a><span class="lineno"> 4418</span>&#160; <span class="keyword">virtual</span> IntExpr* <a class="code" href="classoperations__research_1_1IntervalVar.html#aa6ed44442f081a0d859bb0debc05dd71">PerformedExpr</a>() = 0;</div><div class="line"><a name="l04422"></a><span class="lineno"> 4422</span>&#160; <span class="keyword">virtual</span> IntExpr* <a class="code" href="classoperations__research_1_1IntervalVar.html#ad2b108b37ecb9c50eb490ed2abfb17af">SafeStartExpr</a>(int64 unperformed_value) = 0;</div><div class="line"><a name="l04423"></a><span class="lineno"> 4423</span>&#160; <span class="keyword">virtual</span> IntExpr* <a class="code" href="classoperations__research_1_1IntervalVar.html#a35e9ecebefb54d99da9423e911db45af">SafeDurationExpr</a>(int64 unperformed_value) = 0;</div><div class="line"><a name="l04424"></a><span class="lineno"> 4424</span>&#160; <span class="keyword">virtual</span> IntExpr* <a class="code" href="classoperations__research_1_1IntervalVar.html#ad041b6e37441771f50f2bc665c261932">SafeEndExpr</a>(int64 unperformed_value) = 0;</div><div class="line"><a name="l04425"></a><span class="lineno"> 4425</span>&#160;</div><div class="line"><a name="l04427"></a><span class="lineno"> 4427</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVar.html#a7b8a6f05fe0fcec065317fbd8694969d">Accept</a>(ModelVisitor* <span class="keyword">const</span> visitor) <span class="keyword">const</span> = 0;</div><div class="line"><a name="l04428"></a><span class="lineno"> 4428</span>&#160;</div><div class="line"><a name="l04429"></a><span class="lineno"> 4429</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l04430"></a><span class="lineno"> 4430</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1IntervalVar.html#a80fdadbf273640022be0e62fe34ca247">IntervalVar</a>);</div><div class="line"><a name="l04431"></a><span class="lineno"> 4431</span>&#160;};</div><div class="line"><a name="l04432"></a><span class="lineno"> 4432</span>&#160;</div><div class="line"><a name="l04439"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SequenceVar.html"> 4439</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1PropagationBaseObject.html">PropagationBaseObject</a> {</div><div class="line"><a name="l04440"></a><span class="lineno"> 4440</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l04441"></a><span class="lineno"> 4441</span>&#160; <a class="code" href="classoperations__research_1_1SequenceVar.html#aed4c20c3765ff3cde39e5bd2915d3699">SequenceVar</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s, <span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; intervals,</div><div class="line"><a name="l04442"></a><span class="lineno"> 4442</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; nexts, <span class="keyword">const</span> std::string&amp; <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a>);</div><div class="line"><a name="l04443"></a><span class="lineno"> 4443</span>&#160;</div><div class="line"><a name="l04444"></a><span class="lineno"> 4444</span>&#160; <a class="code" href="classoperations__research_1_1SequenceVar.html#a3a8465a1fa06dd401fa6924a492ce47b">~SequenceVar</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l04445"></a><span class="lineno"> 4445</span>&#160;</div><div class="line"><a name="l04446"></a><span class="lineno"> 4446</span>&#160; std::string <a class="code" href="classoperations__research_1_1SequenceVar.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>() <span class="keyword">const override</span>;</div><div class="line"><a name="l04447"></a><span class="lineno"> 4447</span>&#160;</div><div class="line"><a name="l04448"></a><span class="lineno"> 4448</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l04449"></a><span class="lineno"> 4449</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SequenceVar.html#ab20a9a046b8e111cb838352b13ca4a52">DurationRange</a>(int64* <span class="keyword">const</span> dmin, int64* <span class="keyword">const</span> dmax) <span class="keyword">const</span>;</div><div class="line"><a name="l04452"></a><span class="lineno"> 4452</span>&#160;</div><div class="line"><a name="l04455"></a><span class="lineno"> 4455</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SequenceVar.html#a44d1e13f3ecce6542a84e54ab67275fb">HorizonRange</a>(int64* <span class="keyword">const</span> hmin, int64* <span class="keyword">const</span> hmax) <span class="keyword">const</span>;</div><div class="line"><a name="l04456"></a><span class="lineno"> 4456</span>&#160;</div><div class="line"><a name="l04459"></a><span class="lineno"> 4459</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SequenceVar.html#a356dffbba8246298635e4d5714f5ff25">ActiveHorizonRange</a>(int64* <span class="keyword">const</span> hmin, int64* <span class="keyword">const</span> hmax) <span class="keyword">const</span>;</div><div class="line"><a name="l04460"></a><span class="lineno"> 4460</span>&#160;</div><div class="line"><a name="l04462"></a><span class="lineno"> 4462</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SequenceVar.html#a31d0bb3a9647ebb39d997f77a1eff435">ComputeStatistics</a>(<span class="keywordtype">int</span>* <span class="keyword">const</span> ranked, <span class="keywordtype">int</span>* <span class="keyword">const</span> not_ranked,</div><div class="line"><a name="l04463"></a><span class="lineno"> 4463</span>&#160; <span class="keywordtype">int</span>* <span class="keyword">const</span> unperformed) <span class="keyword">const</span>;</div><div class="line"><a name="l04464"></a><span class="lineno"> 4464</span>&#160;<span class="preprocessor">#endif // !defined(SWIG)</span></div><div class="line"><a name="l04465"></a><span class="lineno"> 4465</span>&#160;</div><div class="line"><a name="l04468"></a><span class="lineno"> 4468</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SequenceVar.html#ab8618d2458a778c7ee4326b41bd2de7e">RankFirst</a>(<span class="keywordtype">int</span> index);</div><div class="line"><a name="l04469"></a><span class="lineno"> 4469</span>&#160;</div><div class="line"><a name="l04472"></a><span class="lineno"> 4472</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SequenceVar.html#aec7dac2fca35046761c8d47af724c091">RankNotFirst</a>(<span class="keywordtype">int</span> index);</div><div class="line"><a name="l04473"></a><span class="lineno"> 4473</span>&#160;</div><div class="line"><a name="l04476"></a><span class="lineno"> 4476</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SequenceVar.html#aaa902cac039701edcdaf15661fbed327">RankLast</a>(<span class="keywordtype">int</span> index);</div><div class="line"><a name="l04477"></a><span class="lineno"> 4477</span>&#160;</div><div class="line"><a name="l04480"></a><span class="lineno"> 4480</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SequenceVar.html#ad2fcd811f566cf9677c886576515f032">RankNotLast</a>(<span class="keywordtype">int</span> index);</div><div class="line"><a name="l04481"></a><span class="lineno"> 4481</span>&#160;</div><div class="line"><a name="l04484"></a><span class="lineno"> 4484</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SequenceVar.html#a01635a3b908310e048be6c6b85366bb8">ComputePossibleFirstsAndLasts</a>(std::vector&lt;int&gt;* <span class="keyword">const</span> possible_firsts,</div><div class="line"><a name="l04485"></a><span class="lineno"> 4485</span>&#160; std::vector&lt;int&gt;* <span class="keyword">const</span> possible_lasts);</div><div class="line"><a name="l04486"></a><span class="lineno"> 4486</span>&#160;</div><div class="line"><a name="l04492"></a><span class="lineno"> 4492</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SequenceVar.html#a2c3cdf1887a496fe0fdd4b5abe5c33f5">RankSequence</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; rank_first,</div><div class="line"><a name="l04493"></a><span class="lineno"> 4493</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; rank_last,</div><div class="line"><a name="l04494"></a><span class="lineno"> 4494</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; unperformed);</div><div class="line"><a name="l04495"></a><span class="lineno"> 4495</span>&#160;</div><div class="line"><a name="l04504"></a><span class="lineno"> 4504</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SequenceVar.html#a19499c160356f9655862f3037315d87d">FillSequence</a>(std::vector&lt;int&gt;* <span class="keyword">const</span> rank_first,</div><div class="line"><a name="l04505"></a><span class="lineno"> 4505</span>&#160; std::vector&lt;int&gt;* <span class="keyword">const</span> rank_last,</div><div class="line"><a name="l04506"></a><span class="lineno"> 4506</span>&#160; std::vector&lt;int&gt;* <span class="keyword">const</span> unperformed) <span class="keyword">const</span>;</div><div class="line"><a name="l04507"></a><span class="lineno"> 4507</span>&#160;</div><div class="line"><a name="l04509"></a><span class="lineno"> 4509</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <a class="code" href="classoperations__research_1_1SequenceVar.html#a4e05e3f72464229a8d67c808ebc2deed">Interval</a>(<span class="keywordtype">int</span> index) <span class="keyword">const</span>;</div><div class="line"><a name="l04510"></a><span class="lineno"> 4510</span>&#160;</div><div class="line"><a name="l04512"></a><span class="lineno"> 4512</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1SequenceVar.html#a48652126caaa7e7311103d6820a5c79c">Next</a>(<span class="keywordtype">int</span> index) <span class="keyword">const</span>;</div><div class="line"><a name="l04513"></a><span class="lineno"> 4513</span>&#160;</div><div class="line"><a name="l04515"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SequenceVar.html#a53616c71ad0a199caa949b8e32679b59"> 4515</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1SequenceVar.html#a53616c71ad0a199caa949b8e32679b59">size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> intervals_.size(); }</div><div class="line"><a name="l04516"></a><span class="lineno"> 4516</span>&#160;</div><div class="line"><a name="l04518"></a><span class="lineno"> 4518</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SequenceVar.html#afcde421cf076575a27bed81c80093ac8">Accept</a>(<a class="code" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a>* <span class="keyword">const</span> visitor) <span class="keyword">const</span>;</div><div class="line"><a name="l04519"></a><span class="lineno"> 4519</span>&#160;</div><div class="line"><a name="l04520"></a><span class="lineno"> 4520</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l04521"></a><span class="lineno"> 4521</span>&#160; <span class="keywordtype">int</span> ComputeForwardFrontier();</div><div class="line"><a name="l04522"></a><span class="lineno"> 4522</span>&#160; <span class="keywordtype">int</span> ComputeBackwardFrontier();</div><div class="line"><a name="l04523"></a><span class="lineno"> 4523</span>&#160; <span class="keywordtype">void</span> UpdatePrevious() <span class="keyword">const</span>;</div><div class="line"><a name="l04524"></a><span class="lineno"> 4524</span>&#160;</div><div class="line"><a name="l04525"></a><span class="lineno"> 4525</span>&#160; <span class="keyword">const</span> std::vector&lt;IntervalVar*&gt; intervals_;</div><div class="line"><a name="l04526"></a><span class="lineno"> 4526</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt; nexts_;</div><div class="line"><a name="l04527"></a><span class="lineno"> 4527</span>&#160; <span class="keyword">mutable</span> std::vector&lt;int&gt; previous_;</div><div class="line"><a name="l04528"></a><span class="lineno"> 4528</span>&#160;};</div><div class="line"><a name="l04529"></a><span class="lineno"> 4529</span>&#160;</div><div class="line"><a name="l04530"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentElement.html"> 4530</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1AssignmentElement.html">AssignmentElement</a> {</div><div class="line"><a name="l04531"></a><span class="lineno"> 4531</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l04532"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentElement.html#af5b9d7522539d5b89a7c7652bdcd2a3e"> 4532</a></span>&#160; <a class="code" href="classoperations__research_1_1AssignmentElement.html#af5b9d7522539d5b89a7c7652bdcd2a3e">AssignmentElement</a>() : activated_(true) {}</div><div class="line"><a name="l04533"></a><span class="lineno"> 4533</span>&#160;</div><div class="line"><a name="l04534"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentElement.html#ae8753efaeea05f65094a4875a694a368"> 4534</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1AssignmentElement.html#ae8753efaeea05f65094a4875a694a368">Activate</a>() { activated_ = <span class="keyword">true</span>; }</div><div class="line"><a name="l04535"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentElement.html#a9c9dd3575fbfc59e05ae9ed1c05f8896"> 4535</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1AssignmentElement.html#a9c9dd3575fbfc59e05ae9ed1c05f8896">Deactivate</a>() { activated_ = <span class="keyword">false</span>; }</div><div class="line"><a name="l04536"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentElement.html#ae79195ce9bb522329dfaedaba78bd4e2"> 4536</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1AssignmentElement.html#ae79195ce9bb522329dfaedaba78bd4e2">Activated</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> activated_; }</div><div class="line"><a name="l04537"></a><span class="lineno"> 4537</span>&#160;</div><div class="line"><a name="l04538"></a><span class="lineno"> 4538</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l04539"></a><span class="lineno"> 4539</span>&#160; <span class="keywordtype">bool</span> activated_;</div><div class="line"><a name="l04540"></a><span class="lineno"> 4540</span>&#160;};</div><div class="line"><a name="l04541"></a><span class="lineno"> 4541</span>&#160;</div><div class="line"><a name="l04542"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html"> 4542</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1IntVarElement.html">IntVarElement</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1AssignmentElement.html">AssignmentElement</a> {</div><div class="line"><a name="l04543"></a><span class="lineno"> 4543</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l04544"></a><span class="lineno"> 4544</span>&#160; <a class="code" href="classoperations__research_1_1IntVarElement.html#a73063c916ad469eb39c8a5160746342b">IntVarElement</a>();</div><div class="line"><a name="l04545"></a><span class="lineno"> 4545</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classoperations__research_1_1IntVarElement.html#a73063c916ad469eb39c8a5160746342b">IntVarElement</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l04546"></a><span class="lineno"> 4546</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVarElement.html#a3196af797c21cdf61571e8a4dbfedc1a">Reset</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l04547"></a><span class="lineno"> 4547</span>&#160; <a class="code" href="classoperations__research_1_1IntVarElement.html">IntVarElement</a>* <a class="code" href="classoperations__research_1_1IntVarElement.html#a549a14746ebdb1a5a3b658960ac33c61">Clone</a>();</div><div class="line"><a name="l04548"></a><span class="lineno"> 4548</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVarElement.html#a055d26b7c759d2097e06ac802786b7b9">Copy</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntVarElement.html">IntVarElement</a>&amp; element);</div><div class="line"><a name="l04549"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html#a8052ccc3aba839f3befd553cc05b85a0"> 4549</a></span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1IntVarElement.html#a8052ccc3aba839f3befd553cc05b85a0">Var</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> var_; }</div><div class="line"><a name="l04550"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html#a3abcbe1fcd37d8982941a795ed22e34a"> 4550</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVarElement.html#a3abcbe1fcd37d8982941a795ed22e34a">Store</a>() {</div><div class="line"><a name="l04551"></a><span class="lineno"> 4551</span>&#160; min_ = var_-&gt;<a class="code" href="classoperations__research_1_1IntExpr.html#ac4a4f30badcd311075302a4efcfaee0a">Min</a>();</div><div class="line"><a name="l04552"></a><span class="lineno"> 4552</span>&#160; max_ = var_-&gt;<a class="code" href="classoperations__research_1_1IntExpr.html#a6dc4d5cdc2ed0da18452a65c5bf69e0d">Max</a>();</div><div class="line"><a name="l04553"></a><span class="lineno"> 4553</span>&#160; }</div><div class="line"><a name="l04554"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html#a1896fe755b612dbebd2c46638f8977a2"> 4554</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVarElement.html#a1896fe755b612dbebd2c46638f8977a2">Restore</a>() {</div><div class="line"><a name="l04555"></a><span class="lineno"> 4555</span>&#160; <span class="keywordflow">if</span> (var_ != <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l04556"></a><span class="lineno"> 4556</span>&#160; var_-&gt;<a class="code" href="classoperations__research_1_1IntExpr.html#a137deeb8781c0c7aa24bfa99c85bd01d">SetRange</a>(min_, max_);</div><div class="line"><a name="l04557"></a><span class="lineno"> 4557</span>&#160; }</div><div class="line"><a name="l04558"></a><span class="lineno"> 4558</span>&#160; }</div><div class="line"><a name="l04559"></a><span class="lineno"> 4559</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVarElement.html#aa5f2722386540253d4be5ea1c7d31965">LoadFromProto</a>(<span class="keyword">const</span> IntVarAssignment&amp; int_var_assignment_proto);</div><div class="line"><a name="l04560"></a><span class="lineno"> 4560</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVarElement.html#a7dc350ccebb0b18b1028ccbae54f30ea">WriteToProto</a>(IntVarAssignment* int_var_assignment_proto) <span class="keyword">const</span>;</div><div class="line"><a name="l04561"></a><span class="lineno"> 4561</span>&#160;</div><div class="line"><a name="l04562"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html#a53e9735282c0bf0769962bd1b6a643bc"> 4562</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1IntVarElement.html#a53e9735282c0bf0769962bd1b6a643bc">Min</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> min_; }</div><div class="line"><a name="l04563"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html#a14058ec577db7ff606d2c60f86ca696d"> 4563</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVarElement.html#a14058ec577db7ff606d2c60f86ca696d">SetMin</a>(int64 m) { min_ = m; }</div><div class="line"><a name="l04564"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html#a5fa627799e723b650fe562b05e1fef5f"> 4564</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1IntVarElement.html#a5fa627799e723b650fe562b05e1fef5f">Max</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> max_; }</div><div class="line"><a name="l04565"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html#ae7fff7af26c2af0750ad739c3677dd79"> 4565</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVarElement.html#ae7fff7af26c2af0750ad739c3677dd79">SetMax</a>(int64 m) { max_ = m; }</div><div class="line"><a name="l04566"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html#aeabf4572ab5bf48ec3e07660c9587385"> 4566</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1IntVarElement.html#aeabf4572ab5bf48ec3e07660c9587385">Value</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l04567"></a><span class="lineno"> 4567</span>&#160; DCHECK_EQ(min_, max_);</div><div class="line"><a name="l04568"></a><span class="lineno"> 4568</span>&#160; <span class="comment">// Get the value from an unbound int var assignment element.</span></div><div class="line"><a name="l04569"></a><span class="lineno"> 4569</span>&#160; <span class="keywordflow">return</span> min_;</div><div class="line"><a name="l04570"></a><span class="lineno"> 4570</span>&#160; }</div><div class="line"><a name="l04571"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html#a4bead74295e1e5675c0984fcc91ef057"> 4571</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1IntVarElement.html#a4bead74295e1e5675c0984fcc91ef057">Bound</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (max_ == min_); }</div><div class="line"><a name="l04572"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html#a85874e2ad52c9a6d524dc6c3af9af060"> 4572</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVarElement.html#a85874e2ad52c9a6d524dc6c3af9af060">SetRange</a>(int64 l, int64 u) {</div><div class="line"><a name="l04573"></a><span class="lineno"> 4573</span>&#160; min_ = l;</div><div class="line"><a name="l04574"></a><span class="lineno"> 4574</span>&#160; max_ = u;</div><div class="line"><a name="l04575"></a><span class="lineno"> 4575</span>&#160; }</div><div class="line"><a name="l04576"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html#ace66161c2f260353b4f03ef33455cd2f"> 4576</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVarElement.html#ace66161c2f260353b4f03ef33455cd2f">SetValue</a>(int64 v) {</div><div class="line"><a name="l04577"></a><span class="lineno"> 4577</span>&#160; min_ = v;</div><div class="line"><a name="l04578"></a><span class="lineno"> 4578</span>&#160; max_ = v;</div><div class="line"><a name="l04579"></a><span class="lineno"> 4579</span>&#160; }</div><div class="line"><a name="l04580"></a><span class="lineno"> 4580</span>&#160; std::string <a class="code" href="classoperations__research_1_1IntVarElement.html#a764be64f3029f8b8e23511061d8de355">DebugString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l04581"></a><span class="lineno"> 4581</span>&#160;</div><div class="line"><a name="l04582"></a><span class="lineno"> 4582</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1IntVarElement.html#a33ef474050b31ee553ce99c1960046d9">operator==</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntVarElement.html">IntVarElement</a>&amp; element) <span class="keyword">const</span>;</div><div class="line"><a name="l04583"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html#a1dc7549eac8297e8ef9a6c3af7d24304"> 4583</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1IntVarElement.html#a1dc7549eac8297e8ef9a6c3af7d24304">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntVarElement.html">IntVarElement</a>&amp; element)<span class="keyword"> const </span>{</div><div class="line"><a name="l04584"></a><span class="lineno"> 4584</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == element);</div><div class="line"><a name="l04585"></a><span class="lineno"> 4585</span>&#160; }</div><div class="line"><a name="l04586"></a><span class="lineno"> 4586</span>&#160;</div><div class="line"><a name="l04587"></a><span class="lineno"> 4587</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l04588"></a><span class="lineno"> 4588</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* var_;</div><div class="line"><a name="l04589"></a><span class="lineno"> 4589</span>&#160; int64 min_;</div><div class="line"><a name="l04590"></a><span class="lineno"> 4590</span>&#160; int64 max_;</div><div class="line"><a name="l04591"></a><span class="lineno"> 4591</span>&#160;};</div><div class="line"><a name="l04592"></a><span class="lineno"> 4592</span>&#160;</div><div class="line"><a name="l04593"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html"> 4593</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1IntervalVarElement.html">IntervalVarElement</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1AssignmentElement.html">AssignmentElement</a> {</div><div class="line"><a name="l04594"></a><span class="lineno"> 4594</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l04595"></a><span class="lineno"> 4595</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVarElement.html#aa07812b5154f8e4d71b45d8dd53bcc06">IntervalVarElement</a>();</div><div class="line"><a name="l04596"></a><span class="lineno"> 4596</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#aa07812b5154f8e4d71b45d8dd53bcc06">IntervalVarElement</a>(<a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l04597"></a><span class="lineno"> 4597</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a2d42743fa4cfbe3c8864aacefff1bb85">Reset</a>(<a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l04598"></a><span class="lineno"> 4598</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVarElement.html">IntervalVarElement</a>* <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a731d293eb582eb1c2dd4b2949e131e2a">Clone</a>();</div><div class="line"><a name="l04599"></a><span class="lineno"> 4599</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#aaf5dd8c36d76222cfd555a1d3ffcc366">Copy</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html">IntervalVarElement</a>&amp; element);</div><div class="line"><a name="l04600"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#afd16c8805de84b77fdc179d7e5ba35b3"> 4600</a></span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <a class="code" href="classoperations__research_1_1IntervalVarElement.html#afd16c8805de84b77fdc179d7e5ba35b3">Var</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> var_; }</div><div class="line"><a name="l04601"></a><span class="lineno"> 4601</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a3abcbe1fcd37d8982941a795ed22e34a">Store</a>();</div><div class="line"><a name="l04602"></a><span class="lineno"> 4602</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a1896fe755b612dbebd2c46638f8977a2">Restore</a>();</div><div class="line"><a name="l04603"></a><span class="lineno"> 4603</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a0fa42d79f2e8eacbdb34f8f3f26aa54c">LoadFromProto</a>(</div><div class="line"><a name="l04604"></a><span class="lineno"> 4604</span>&#160; <span class="keyword">const</span> IntervalVarAssignment&amp; interval_var_assignment_proto);</div><div class="line"><a name="l04605"></a><span class="lineno"> 4605</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#abe80b59dadcaf97e21967faf0b1e265d">WriteToProto</a>(IntervalVarAssignment* interval_var_assignment_proto) <span class="keyword">const</span>;</div><div class="line"><a name="l04606"></a><span class="lineno"> 4606</span>&#160;</div><div class="line"><a name="l04607"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a0361647ab5c3e59345c63450aaae7643"> 4607</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a0361647ab5c3e59345c63450aaae7643">StartMin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> start_min_; }</div><div class="line"><a name="l04608"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a781d3ae41c1ab80bfa9b94514dc68172"> 4608</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a781d3ae41c1ab80bfa9b94514dc68172">StartMax</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> start_max_; }</div><div class="line"><a name="l04609"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a829df9b05ef6f289aa566669aeb9f557"> 4609</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a829df9b05ef6f289aa566669aeb9f557">StartValue</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l04610"></a><span class="lineno"> 4610</span>&#160; CHECK_EQ(start_max_, start_min_);</div><div class="line"><a name="l04611"></a><span class="lineno"> 4611</span>&#160; <span class="keywordflow">return</span> start_max_;</div><div class="line"><a name="l04612"></a><span class="lineno"> 4612</span>&#160; }</div><div class="line"><a name="l04613"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a4250f792ba0d365dafaa213d7e966dd6"> 4613</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a4250f792ba0d365dafaa213d7e966dd6">DurationMin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> duration_min_; }</div><div class="line"><a name="l04614"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a7d23b9a5cc7d92b51babfc7ff3d23a3e"> 4614</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a7d23b9a5cc7d92b51babfc7ff3d23a3e">DurationMax</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> duration_max_; }</div><div class="line"><a name="l04615"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a6e8672f9ba306a50785fc05744632315"> 4615</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a6e8672f9ba306a50785fc05744632315">DurationValue</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l04616"></a><span class="lineno"> 4616</span>&#160; CHECK_EQ(duration_max_, duration_min_);</div><div class="line"><a name="l04617"></a><span class="lineno"> 4617</span>&#160; <span class="keywordflow">return</span> duration_max_;</div><div class="line"><a name="l04618"></a><span class="lineno"> 4618</span>&#160; }</div><div class="line"><a name="l04619"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a395f1d951b22ab8d1801d7ba807f26d3"> 4619</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a395f1d951b22ab8d1801d7ba807f26d3">EndMin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> end_min_; }</div><div class="line"><a name="l04620"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#afe91689b382c123e523f567c904cfce7"> 4620</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1IntervalVarElement.html#afe91689b382c123e523f567c904cfce7">EndMax</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> end_max_; }</div><div class="line"><a name="l04621"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a9d8b6fe3bd617e70dba752d91d47bfd5"> 4621</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a9d8b6fe3bd617e70dba752d91d47bfd5">EndValue</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l04622"></a><span class="lineno"> 4622</span>&#160; CHECK_EQ(end_max_, end_min_);</div><div class="line"><a name="l04623"></a><span class="lineno"> 4623</span>&#160; <span class="keywordflow">return</span> end_max_;</div><div class="line"><a name="l04624"></a><span class="lineno"> 4624</span>&#160; }</div><div class="line"><a name="l04625"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#ad625370707130c0d1ba5cd64c2441a1c"> 4625</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1IntervalVarElement.html#ad625370707130c0d1ba5cd64c2441a1c">PerformedMin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> performed_min_; }</div><div class="line"><a name="l04626"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#af1f5799cc044ed55c7875e0f2512a640"> 4626</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1IntervalVarElement.html#af1f5799cc044ed55c7875e0f2512a640">PerformedMax</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> performed_max_; }</div><div class="line"><a name="l04627"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a8178509093b9d6d4283b32285d2cdc65"> 4627</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a8178509093b9d6d4283b32285d2cdc65">PerformedValue</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l04628"></a><span class="lineno"> 4628</span>&#160; CHECK_EQ(performed_max_, performed_min_);</div><div class="line"><a name="l04629"></a><span class="lineno"> 4629</span>&#160; <span class="keywordflow">return</span> performed_max_;</div><div class="line"><a name="l04630"></a><span class="lineno"> 4630</span>&#160; }</div><div class="line"><a name="l04631"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a92ac24619e5b77292579961e5f262557"> 4631</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a92ac24619e5b77292579961e5f262557">SetStartMin</a>(int64 m) { start_min_ = m; }</div><div class="line"><a name="l04632"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a5edd46771ddca23d192814791d786b2d"> 4632</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a5edd46771ddca23d192814791d786b2d">SetStartMax</a>(int64 m) { start_max_ = m; }</div><div class="line"><a name="l04633"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a7ffb22279ead8371d940b61468b91739"> 4633</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a7ffb22279ead8371d940b61468b91739">SetStartRange</a>(int64 mi, int64 ma) {</div><div class="line"><a name="l04634"></a><span class="lineno"> 4634</span>&#160; start_min_ = mi;</div><div class="line"><a name="l04635"></a><span class="lineno"> 4635</span>&#160; start_max_ = ma;</div><div class="line"><a name="l04636"></a><span class="lineno"> 4636</span>&#160; }</div><div class="line"><a name="l04637"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a21664d5895fb391fcb30ab99e9093b30"> 4637</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a21664d5895fb391fcb30ab99e9093b30">SetStartValue</a>(int64 v) {</div><div class="line"><a name="l04638"></a><span class="lineno"> 4638</span>&#160; start_min_ = v;</div><div class="line"><a name="l04639"></a><span class="lineno"> 4639</span>&#160; start_max_ = v;</div><div class="line"><a name="l04640"></a><span class="lineno"> 4640</span>&#160; }</div><div class="line"><a name="l04641"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#ab2ceb53cc8383e5a5fe75945c551b7ec"> 4641</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#ab2ceb53cc8383e5a5fe75945c551b7ec">SetDurationMin</a>(int64 m) { duration_min_ = m; }</div><div class="line"><a name="l04642"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#acb82f80b98dd125b5848482e3e416e52"> 4642</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#acb82f80b98dd125b5848482e3e416e52">SetDurationMax</a>(int64 m) { duration_max_ = m; }</div><div class="line"><a name="l04643"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a970325eeede55da5ce8d14714fd5a0f4"> 4643</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a970325eeede55da5ce8d14714fd5a0f4">SetDurationRange</a>(int64 mi, int64 ma) {</div><div class="line"><a name="l04644"></a><span class="lineno"> 4644</span>&#160; duration_min_ = mi;</div><div class="line"><a name="l04645"></a><span class="lineno"> 4645</span>&#160; duration_max_ = ma;</div><div class="line"><a name="l04646"></a><span class="lineno"> 4646</span>&#160; }</div><div class="line"><a name="l04647"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a51ca76ff589a00765341dec2cb8b9e1a"> 4647</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a51ca76ff589a00765341dec2cb8b9e1a">SetDurationValue</a>(int64 v) {</div><div class="line"><a name="l04648"></a><span class="lineno"> 4648</span>&#160; duration_min_ = v;</div><div class="line"><a name="l04649"></a><span class="lineno"> 4649</span>&#160; duration_max_ = v;</div><div class="line"><a name="l04650"></a><span class="lineno"> 4650</span>&#160; }</div><div class="line"><a name="l04651"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a48cb445857aaffecb8cacf17bee1c091"> 4651</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a48cb445857aaffecb8cacf17bee1c091">SetEndMin</a>(int64 m) { end_min_ = m; }</div><div class="line"><a name="l04652"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a5425edc7904146624603580c53da1619"> 4652</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a5425edc7904146624603580c53da1619">SetEndMax</a>(int64 m) { end_max_ = m; }</div><div class="line"><a name="l04653"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a66e85c5d4d06d176aa2128ee817c948e"> 4653</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a66e85c5d4d06d176aa2128ee817c948e">SetEndRange</a>(int64 mi, int64 ma) {</div><div class="line"><a name="l04654"></a><span class="lineno"> 4654</span>&#160; end_min_ = mi;</div><div class="line"><a name="l04655"></a><span class="lineno"> 4655</span>&#160; end_max_ = ma;</div><div class="line"><a name="l04656"></a><span class="lineno"> 4656</span>&#160; }</div><div class="line"><a name="l04657"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a5fca4736a0ce7eef873cba6d4e06b774"> 4657</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a5fca4736a0ce7eef873cba6d4e06b774">SetEndValue</a>(int64 v) {</div><div class="line"><a name="l04658"></a><span class="lineno"> 4658</span>&#160; end_min_ = v;</div><div class="line"><a name="l04659"></a><span class="lineno"> 4659</span>&#160; end_max_ = v;</div><div class="line"><a name="l04660"></a><span class="lineno"> 4660</span>&#160; }</div><div class="line"><a name="l04661"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a4171dd4d693085b0255cf7adbee2de28"> 4661</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a4171dd4d693085b0255cf7adbee2de28">SetPerformedMin</a>(int64 m) { performed_min_ = m; }</div><div class="line"><a name="l04662"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#ac858bedfdb73cb24b9674ba496311999"> 4662</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#ac858bedfdb73cb24b9674ba496311999">SetPerformedMax</a>(int64 m) { performed_max_ = m; }</div><div class="line"><a name="l04663"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a19e8499badab76a0c15b45623c76f123"> 4663</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a19e8499badab76a0c15b45623c76f123">SetPerformedRange</a>(int64 mi, int64 ma) {</div><div class="line"><a name="l04664"></a><span class="lineno"> 4664</span>&#160; performed_min_ = mi;</div><div class="line"><a name="l04665"></a><span class="lineno"> 4665</span>&#160; performed_max_ = ma;</div><div class="line"><a name="l04666"></a><span class="lineno"> 4666</span>&#160; }</div><div class="line"><a name="l04667"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a05da7ad54dd8ee971c5d010c810df851"> 4667</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a05da7ad54dd8ee971c5d010c810df851">SetPerformedValue</a>(int64 v) {</div><div class="line"><a name="l04668"></a><span class="lineno"> 4668</span>&#160; performed_min_ = v;</div><div class="line"><a name="l04669"></a><span class="lineno"> 4669</span>&#160; performed_max_ = v;</div><div class="line"><a name="l04670"></a><span class="lineno"> 4670</span>&#160; }</div><div class="line"><a name="l04671"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a4bead74295e1e5675c0984fcc91ef057"> 4671</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a4bead74295e1e5675c0984fcc91ef057">Bound</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l04672"></a><span class="lineno"> 4672</span>&#160; <span class="keywordflow">return</span> (start_min_ == start_max_ &amp;&amp; duration_min_ == duration_max_ &amp;&amp;</div><div class="line"><a name="l04673"></a><span class="lineno"> 4673</span>&#160; end_min_ == end_max_ &amp;&amp; performed_min_ == performed_max_);</div><div class="line"><a name="l04674"></a><span class="lineno"> 4674</span>&#160; }</div><div class="line"><a name="l04675"></a><span class="lineno"> 4675</span>&#160; std::string <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a764be64f3029f8b8e23511061d8de355">DebugString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l04676"></a><span class="lineno"> 4676</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#aad06021b1b5dbab3cae32226ae487a42">operator==</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html">IntervalVarElement</a>&amp; element) <span class="keyword">const</span>;</div><div class="line"><a name="l04677"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a247764a994a106eaa0f22e397a2664f3"> 4677</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#a247764a994a106eaa0f22e397a2664f3">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html">IntervalVarElement</a>&amp; element)<span class="keyword"> const </span>{</div><div class="line"><a name="l04678"></a><span class="lineno"> 4678</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == element);</div><div class="line"><a name="l04679"></a><span class="lineno"> 4679</span>&#160; }</div><div class="line"><a name="l04680"></a><span class="lineno"> 4680</span>&#160;</div><div class="line"><a name="l04681"></a><span class="lineno"> 4681</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l04682"></a><span class="lineno"> 4682</span>&#160; int64 start_min_;</div><div class="line"><a name="l04683"></a><span class="lineno"> 4683</span>&#160; int64 start_max_;</div><div class="line"><a name="l04684"></a><span class="lineno"> 4684</span>&#160; int64 duration_min_;</div><div class="line"><a name="l04685"></a><span class="lineno"> 4685</span>&#160; int64 duration_max_;</div><div class="line"><a name="l04686"></a><span class="lineno"> 4686</span>&#160; int64 end_min_;</div><div class="line"><a name="l04687"></a><span class="lineno"> 4687</span>&#160; int64 end_max_;</div><div class="line"><a name="l04688"></a><span class="lineno"> 4688</span>&#160; int64 performed_min_;</div><div class="line"><a name="l04689"></a><span class="lineno"> 4689</span>&#160; int64 performed_max_;</div><div class="line"><a name="l04690"></a><span class="lineno"> 4690</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* var_;</div><div class="line"><a name="l04691"></a><span class="lineno"> 4691</span>&#160;};</div><div class="line"><a name="l04692"></a><span class="lineno"> 4692</span>&#160;</div><div class="line"><a name="l04706"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SequenceVarElement.html"> 4706</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1SequenceVarElement.html">SequenceVarElement</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1AssignmentElement.html">AssignmentElement</a> {</div><div class="line"><a name="l04707"></a><span class="lineno"> 4707</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l04708"></a><span class="lineno"> 4708</span>&#160; <a class="code" href="classoperations__research_1_1SequenceVarElement.html#a556b89bd81fc32c5995246961838c56e">SequenceVarElement</a>();</div><div class="line"><a name="l04709"></a><span class="lineno"> 4709</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classoperations__research_1_1SequenceVarElement.html#a556b89bd81fc32c5995246961838c56e">SequenceVarElement</a>(<a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l04710"></a><span class="lineno"> 4710</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SequenceVarElement.html#a2aeac15a5e71f9045f8e050841737e47">Reset</a>(<a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l04711"></a><span class="lineno"> 4711</span>&#160; <a class="code" href="classoperations__research_1_1SequenceVarElement.html">SequenceVarElement</a>* <a class="code" href="classoperations__research_1_1SequenceVarElement.html#a09452078e14cd15b7777c1d4889aa50b">Clone</a>();</div><div class="line"><a name="l04712"></a><span class="lineno"> 4712</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SequenceVarElement.html#a96e5f3f4d26b72233af38a0d30e900e1">Copy</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1SequenceVarElement.html">SequenceVarElement</a>&amp; element);</div><div class="line"><a name="l04713"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SequenceVarElement.html#a8cbdc12db98f8b18b519e06b5c687bc4"> 4713</a></span>&#160; <a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <a class="code" href="classoperations__research_1_1SequenceVarElement.html#a8cbdc12db98f8b18b519e06b5c687bc4">Var</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> var_; }</div><div class="line"><a name="l04714"></a><span class="lineno"> 4714</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SequenceVarElement.html#a3abcbe1fcd37d8982941a795ed22e34a">Store</a>();</div><div class="line"><a name="l04715"></a><span class="lineno"> 4715</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SequenceVarElement.html#a1896fe755b612dbebd2c46638f8977a2">Restore</a>();</div><div class="line"><a name="l04716"></a><span class="lineno"> 4716</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SequenceVarElement.html#aab9e15f979531292b5b8e79aad7846a8">LoadFromProto</a>(</div><div class="line"><a name="l04717"></a><span class="lineno"> 4717</span>&#160; <span class="keyword">const</span> SequenceVarAssignment&amp; sequence_var_assignment_proto);</div><div class="line"><a name="l04718"></a><span class="lineno"> 4718</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SequenceVarElement.html#ab5c3328c1af7a92198fe1b21fc148202">WriteToProto</a>(SequenceVarAssignment* sequence_var_assignment_proto) <span class="keyword">const</span>;</div><div class="line"><a name="l04719"></a><span class="lineno"> 4719</span>&#160;</div><div class="line"><a name="l04720"></a><span class="lineno"> 4720</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; <a class="code" href="classoperations__research_1_1SequenceVarElement.html#ae34cdbb92170829390f602d2466c6b29">ForwardSequence</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l04721"></a><span class="lineno"> 4721</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; <a class="code" href="classoperations__research_1_1SequenceVarElement.html#a9524c4c62b3d9a8e51c2de46e3a3ee00">BackwardSequence</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l04722"></a><span class="lineno"> 4722</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; <a class="code" href="classoperations__research_1_1SequenceVarElement.html#aeef01ab9c8c1877f4dc5b8998a8f3462">Unperformed</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l04723"></a><span class="lineno"> 4723</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SequenceVarElement.html#a02c14c5a615ce131863ff3e87793e1bd">SetSequence</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; forward_sequence,</div><div class="line"><a name="l04724"></a><span class="lineno"> 4724</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; backward_sequence,</div><div class="line"><a name="l04725"></a><span class="lineno"> 4725</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; unperformed);</div><div class="line"><a name="l04726"></a><span class="lineno"> 4726</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SequenceVarElement.html#abd09fe08f368306c986382df61a20c73">SetForwardSequence</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; forward_sequence);</div><div class="line"><a name="l04727"></a><span class="lineno"> 4727</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SequenceVarElement.html#a448be08e73b90cd86345acc79613a051">SetBackwardSequence</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; backward_sequence);</div><div class="line"><a name="l04728"></a><span class="lineno"> 4728</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SequenceVarElement.html#a6ca72bf40a2dcf1161e94fc8fde61d22">SetUnperformed</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; unperformed);</div><div class="line"><a name="l04729"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SequenceVarElement.html#a4bead74295e1e5675c0984fcc91ef057"> 4729</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1SequenceVarElement.html#a4bead74295e1e5675c0984fcc91ef057">Bound</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l04730"></a><span class="lineno"> 4730</span>&#160; <span class="keywordflow">return</span> forward_sequence_.size() + unperformed_.size() == var_-&gt;<a class="code" href="classoperations__research_1_1SequenceVar.html#a53616c71ad0a199caa949b8e32679b59">size</a>();</div><div class="line"><a name="l04731"></a><span class="lineno"> 4731</span>&#160; }</div><div class="line"><a name="l04732"></a><span class="lineno"> 4732</span>&#160;</div><div class="line"><a name="l04733"></a><span class="lineno"> 4733</span>&#160; std::string <a class="code" href="classoperations__research_1_1SequenceVarElement.html#a764be64f3029f8b8e23511061d8de355">DebugString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l04734"></a><span class="lineno"> 4734</span>&#160;</div><div class="line"><a name="l04735"></a><span class="lineno"> 4735</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1SequenceVarElement.html#a2bb652744641c5c1c54a399b736a70a3">operator==</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1SequenceVarElement.html">SequenceVarElement</a>&amp; element) <span class="keyword">const</span>;</div><div class="line"><a name="l04736"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SequenceVarElement.html#a37191403b930340e0cbd1e9a4f88d157"> 4736</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1SequenceVarElement.html#a37191403b930340e0cbd1e9a4f88d157">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1SequenceVarElement.html">SequenceVarElement</a>&amp; element)<span class="keyword"> const </span>{</div><div class="line"><a name="l04737"></a><span class="lineno"> 4737</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == element);</div><div class="line"><a name="l04738"></a><span class="lineno"> 4738</span>&#160; }</div><div class="line"><a name="l04739"></a><span class="lineno"> 4739</span>&#160;</div><div class="line"><a name="l04740"></a><span class="lineno"> 4740</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l04741"></a><span class="lineno"> 4741</span>&#160; <span class="keywordtype">bool</span> CheckClassInvariants();</div><div class="line"><a name="l04742"></a><span class="lineno"> 4742</span>&#160;</div><div class="line"><a name="l04743"></a><span class="lineno"> 4743</span>&#160; <a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* var_;</div><div class="line"><a name="l04744"></a><span class="lineno"> 4744</span>&#160; std::vector&lt;int&gt; forward_sequence_;</div><div class="line"><a name="l04745"></a><span class="lineno"> 4745</span>&#160; std::vector&lt;int&gt; backward_sequence_;</div><div class="line"><a name="l04746"></a><span class="lineno"> 4746</span>&#160; std::vector&lt;int&gt; unperformed_;</div><div class="line"><a name="l04747"></a><span class="lineno"> 4747</span>&#160;};</div><div class="line"><a name="l04748"></a><span class="lineno"> 4748</span>&#160;</div><div class="line"><a name="l04749"></a><span class="lineno"> 4749</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> V, <span class="keyword">class</span> E&gt;</div><div class="line"><a name="l04750"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html"> 4750</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1AssignmentContainer.html">AssignmentContainer</a> {</div><div class="line"><a name="l04751"></a><span class="lineno"> 4751</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l04752"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a7d320f70aa1037c9c92e89ba597b5ee0"> 4752</a></span>&#160; <a class="code" href="classoperations__research_1_1AssignmentContainer.html#a7d320f70aa1037c9c92e89ba597b5ee0">AssignmentContainer</a>() {}</div><div class="line"><a name="l04753"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#aeeda3757b9ae10662dc2ba27ee44cd48"> 4753</a></span>&#160; E* <a class="code" href="classoperations__research_1_1AssignmentContainer.html#aeeda3757b9ae10662dc2ba27ee44cd48">Add</a>(V* var) {</div><div class="line"><a name="l04754"></a><span class="lineno"> 4754</span>&#160; CHECK(var != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l04755"></a><span class="lineno"> 4755</span>&#160; <span class="keywordtype">int</span> index = -1;</div><div class="line"><a name="l04756"></a><span class="lineno"> 4756</span>&#160; <span class="keywordflow">if</span> (!Find(var, &amp;index)) {</div><div class="line"><a name="l04757"></a><span class="lineno"> 4757</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classoperations__research_1_1AssignmentContainer.html#af509c96179f3a9bf38b661fd3ab15547">FastAdd</a>(var);</div><div class="line"><a name="l04758"></a><span class="lineno"> 4758</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l04759"></a><span class="lineno"> 4759</span>&#160; <span class="keywordflow">return</span> &amp;elements_[index];</div><div class="line"><a name="l04760"></a><span class="lineno"> 4760</span>&#160; }</div><div class="line"><a name="l04761"></a><span class="lineno"> 4761</span>&#160; }</div><div class="line"><a name="l04763"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#af509c96179f3a9bf38b661fd3ab15547"> 4763</a></span>&#160; E* <a class="code" href="classoperations__research_1_1AssignmentContainer.html#af509c96179f3a9bf38b661fd3ab15547">FastAdd</a>(V* var) {</div><div class="line"><a name="l04764"></a><span class="lineno"> 4764</span>&#160; DCHECK(var != <span class="keyword">nullptr</span>);</div><div class="line"><a name="l04765"></a><span class="lineno"> 4765</span>&#160; elements_.emplace_back(var);</div><div class="line"><a name="l04766"></a><span class="lineno"> 4766</span>&#160; <span class="keywordflow">return</span> &amp;elements_.back();</div><div class="line"><a name="l04767"></a><span class="lineno"> 4767</span>&#160; }</div><div class="line"><a name="l04770"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a55e6ebe94a380d6a66e470eafc84f6ff"> 4770</a></span>&#160; E* <a class="code" href="classoperations__research_1_1AssignmentContainer.html#a55e6ebe94a380d6a66e470eafc84f6ff">AddAtPosition</a>(V* var, <span class="keywordtype">int</span> position) {</div><div class="line"><a name="l04771"></a><span class="lineno"> 4771</span>&#160; elements_[position].Reset(var);</div><div class="line"><a name="l04772"></a><span class="lineno"> 4772</span>&#160; <span class="keywordflow">return</span> &amp;elements_[position];</div><div class="line"><a name="l04773"></a><span class="lineno"> 4773</span>&#160; }</div><div class="line"><a name="l04774"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#aa71d36872f416feaa853788a7a7a7ef8"> 4774</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1AssignmentContainer.html#aa71d36872f416feaa853788a7a7a7ef8">Clear</a>() {</div><div class="line"><a name="l04775"></a><span class="lineno"> 4775</span>&#160; elements_.clear();</div><div class="line"><a name="l04776"></a><span class="lineno"> 4776</span>&#160; <span class="keywordflow">if</span> (!elements_map_.empty()) { </div><div class="line"><a name="l04777"></a><span class="lineno"> 4777</span>&#160; elements_map_.clear();</div><div class="line"><a name="l04778"></a><span class="lineno"> 4778</span>&#160; }</div><div class="line"><a name="l04779"></a><span class="lineno"> 4779</span>&#160; }</div><div class="line"><a name="l04782"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#ad9cf0e91780366986c2f047bd796cdd5"> 4782</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1AssignmentContainer.html#ad9cf0e91780366986c2f047bd796cdd5">Resize</a>(<span class="keywordtype">size_t</span> size) { elements_.resize(size); }</div><div class="line"><a name="l04783"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#abcfbdba215d3b15fbb4b682969943a6e"> 4783</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1AssignmentContainer.html#abcfbdba215d3b15fbb4b682969943a6e">Empty</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> elements_.empty(); }</div><div class="line"><a name="l04786"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a9159a0c131a3233d9a8a79dc7afa3c6e"> 4786</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1AssignmentContainer.html#a9159a0c131a3233d9a8a79dc7afa3c6e">CopyIntersection</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1AssignmentContainer.html">AssignmentContainer&lt;V, E&gt;</a>&amp; container) {</div><div class="line"><a name="l04787"></a><span class="lineno"> 4787</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; container.elements_.size(); ++i) {</div><div class="line"><a name="l04788"></a><span class="lineno"> 4788</span>&#160; <span class="keyword">const</span> E&amp; element = container.elements_[i];</div><div class="line"><a name="l04789"></a><span class="lineno"> 4789</span>&#160; <span class="keyword">const</span> V* <span class="keyword">const</span> var = element.Var();</div><div class="line"><a name="l04790"></a><span class="lineno"> 4790</span>&#160; <span class="keywordtype">int</span> index = -1;</div><div class="line"><a name="l04791"></a><span class="lineno"> 4791</span>&#160; <span class="keywordflow">if</span> (i &lt; elements_.size() &amp;&amp; elements_[i].Var() == var) {</div><div class="line"><a name="l04792"></a><span class="lineno"> 4792</span>&#160; index = i;</div><div class="line"><a name="l04793"></a><span class="lineno"> 4793</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!Find(var, &amp;index)) {</div><div class="line"><a name="l04794"></a><span class="lineno"> 4794</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l04795"></a><span class="lineno"> 4795</span>&#160; }</div><div class="line"><a name="l04796"></a><span class="lineno"> 4796</span>&#160; DCHECK_GE(index, 0);</div><div class="line"><a name="l04797"></a><span class="lineno"> 4797</span>&#160; E* <span class="keyword">const</span> local_element = &amp;elements_[index];</div><div class="line"><a name="l04798"></a><span class="lineno"> 4798</span>&#160; local_element-&gt;Copy(element);</div><div class="line"><a name="l04799"></a><span class="lineno"> 4799</span>&#160; <span class="keywordflow">if</span> (element.Activated()) {</div><div class="line"><a name="l04800"></a><span class="lineno"> 4800</span>&#160; local_element-&gt;Activate();</div><div class="line"><a name="l04801"></a><span class="lineno"> 4801</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l04802"></a><span class="lineno"> 4802</span>&#160; local_element-&gt;Deactivate();</div><div class="line"><a name="l04803"></a><span class="lineno"> 4803</span>&#160; }</div><div class="line"><a name="l04804"></a><span class="lineno"> 4804</span>&#160; }</div><div class="line"><a name="l04805"></a><span class="lineno"> 4805</span>&#160; }</div><div class="line"><a name="l04808"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a699655a0e89edf33816b4e40b2d2fcc4"> 4808</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1AssignmentContainer.html#a699655a0e89edf33816b4e40b2d2fcc4">Copy</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1AssignmentContainer.html">AssignmentContainer&lt;V, E&gt;</a>&amp; container) {</div><div class="line"><a name="l04809"></a><span class="lineno"> 4809</span>&#160; <a class="code" href="classoperations__research_1_1AssignmentContainer.html#aa71d36872f416feaa853788a7a7a7ef8">Clear</a>();</div><div class="line"><a name="l04810"></a><span class="lineno"> 4810</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; container.elements_.size(); ++i) {</div><div class="line"><a name="l04811"></a><span class="lineno"> 4811</span>&#160; <span class="keyword">const</span> E&amp; element = container.elements_[i];</div><div class="line"><a name="l04812"></a><span class="lineno"> 4812</span>&#160; <a class="code" href="classoperations__research_1_1AssignmentContainer.html#af509c96179f3a9bf38b661fd3ab15547">FastAdd</a>(element.Var())-&gt;<a class="code" href="classoperations__research_1_1AssignmentContainer.html#a699655a0e89edf33816b4e40b2d2fcc4">Copy</a>(element);</div><div class="line"><a name="l04813"></a><span class="lineno"> 4813</span>&#160; }</div><div class="line"><a name="l04814"></a><span class="lineno"> 4814</span>&#160; }</div><div class="line"><a name="l04815"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a4beccbd8819d830e06223550b8ca6d10"> 4815</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1AssignmentContainer.html#a4beccbd8819d830e06223550b8ca6d10">Contains</a>(<span class="keyword">const</span> V* <span class="keyword">const</span> var)<span class="keyword"> const </span>{</div><div class="line"><a name="l04816"></a><span class="lineno"> 4816</span>&#160; <span class="keywordtype">int</span> index;</div><div class="line"><a name="l04817"></a><span class="lineno"> 4817</span>&#160; <span class="keywordflow">return</span> Find(var, &amp;index);</div><div class="line"><a name="l04818"></a><span class="lineno"> 4818</span>&#160; }</div><div class="line"><a name="l04819"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a2155d56276e438298f2bd34505ec3dc6"> 4819</a></span>&#160; E* <a class="code" href="classoperations__research_1_1AssignmentContainer.html#a2155d56276e438298f2bd34505ec3dc6">MutableElement</a>(<span class="keyword">const</span> V* <span class="keyword">const</span> var) {</div><div class="line"><a name="l04820"></a><span class="lineno"> 4820</span>&#160; E* <span class="keyword">const</span> element = <a class="code" href="classoperations__research_1_1AssignmentContainer.html#a24ee1cf3dc19a5848dacbc25be64a69b">MutableElementOrNull</a>(var);</div><div class="line"><a name="l04821"></a><span class="lineno"> 4821</span>&#160; DCHECK(element != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l04822"></a><span class="lineno"> 4822</span>&#160; &lt;&lt; <span class="stringliteral">&quot;Unknown variable &quot;</span> &lt;&lt; var-&gt;DebugString() &lt;&lt; <span class="stringliteral">&quot; in solution&quot;</span>;</div><div class="line"><a name="l04823"></a><span class="lineno"> 4823</span>&#160; <span class="keywordflow">return</span> element;</div><div class="line"><a name="l04824"></a><span class="lineno"> 4824</span>&#160; }</div><div class="line"><a name="l04825"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a24ee1cf3dc19a5848dacbc25be64a69b"> 4825</a></span>&#160; E* <a class="code" href="classoperations__research_1_1AssignmentContainer.html#a24ee1cf3dc19a5848dacbc25be64a69b">MutableElementOrNull</a>(<span class="keyword">const</span> V* <span class="keyword">const</span> var) {</div><div class="line"><a name="l04826"></a><span class="lineno"> 4826</span>&#160; <span class="keywordtype">int</span> index = -1;</div><div class="line"><a name="l04827"></a><span class="lineno"> 4827</span>&#160; <span class="keywordflow">if</span> (Find(var, &amp;index)) {</div><div class="line"><a name="l04828"></a><span class="lineno"> 4828</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classoperations__research_1_1AssignmentContainer.html#a2155d56276e438298f2bd34505ec3dc6">MutableElement</a>(index);</div><div class="line"><a name="l04829"></a><span class="lineno"> 4829</span>&#160; }</div><div class="line"><a name="l04830"></a><span class="lineno"> 4830</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l04831"></a><span class="lineno"> 4831</span>&#160; }</div><div class="line"><a name="l04832"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a907ce7f41938cc755b6b1f4a55b5cd27"> 4832</a></span>&#160; <span class="keyword">const</span> E&amp; <a class="code" href="classoperations__research_1_1AssignmentContainer.html#a907ce7f41938cc755b6b1f4a55b5cd27">Element</a>(<span class="keyword">const</span> V* <span class="keyword">const</span> var)<span class="keyword"> const </span>{</div><div class="line"><a name="l04833"></a><span class="lineno"> 4833</span>&#160; <span class="keyword">const</span> E* <span class="keyword">const</span> element = <a class="code" href="classoperations__research_1_1AssignmentContainer.html#a3f47259c80484060c6b5b94a40b8677a">ElementPtrOrNull</a>(var);</div><div class="line"><a name="l04834"></a><span class="lineno"> 4834</span>&#160; DCHECK(element != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l04835"></a><span class="lineno"> 4835</span>&#160; &lt;&lt; <span class="stringliteral">&quot;Unknown variable &quot;</span> &lt;&lt; var-&gt;DebugString() &lt;&lt; <span class="stringliteral">&quot; in solution&quot;</span>;</div><div class="line"><a name="l04836"></a><span class="lineno"> 4836</span>&#160; <span class="keywordflow">return</span> *element;</div><div class="line"><a name="l04837"></a><span class="lineno"> 4837</span>&#160; }</div><div class="line"><a name="l04838"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a3f47259c80484060c6b5b94a40b8677a"> 4838</a></span>&#160; <span class="keyword">const</span> E* <a class="code" href="classoperations__research_1_1AssignmentContainer.html#a3f47259c80484060c6b5b94a40b8677a">ElementPtrOrNull</a>(<span class="keyword">const</span> V* <span class="keyword">const</span> var)<span class="keyword"> const </span>{</div><div class="line"><a name="l04839"></a><span class="lineno"> 4839</span>&#160; <span class="keywordtype">int</span> index = -1;</div><div class="line"><a name="l04840"></a><span class="lineno"> 4840</span>&#160; <span class="keywordflow">if</span> (Find(var, &amp;index)) {</div><div class="line"><a name="l04841"></a><span class="lineno"> 4841</span>&#160; <span class="keywordflow">return</span> &amp;<a class="code" href="classoperations__research_1_1AssignmentContainer.html#a907ce7f41938cc755b6b1f4a55b5cd27">Element</a>(index);</div><div class="line"><a name="l04842"></a><span class="lineno"> 4842</span>&#160; }</div><div class="line"><a name="l04843"></a><span class="lineno"> 4843</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l04844"></a><span class="lineno"> 4844</span>&#160; }</div><div class="line"><a name="l04845"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a45e89457c65972deb63bb9af3765b358"> 4845</a></span>&#160; <span class="keyword">const</span> std::vector&lt;E&gt;&amp; <a class="code" href="classoperations__research_1_1AssignmentContainer.html#a45e89457c65972deb63bb9af3765b358">elements</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> elements_; }</div><div class="line"><a name="l04846"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a863387458c7c7000967c695673c825f1"> 4846</a></span>&#160; E* <a class="code" href="classoperations__research_1_1AssignmentContainer.html#a863387458c7c7000967c695673c825f1">MutableElement</a>(<span class="keywordtype">int</span> index) { <span class="keywordflow">return</span> &amp;elements_[index]; }</div><div class="line"><a name="l04847"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a644d3acfafc9465295c6b12ccd5d0574"> 4847</a></span>&#160; <span class="keyword">const</span> E&amp; <a class="code" href="classoperations__research_1_1AssignmentContainer.html#a644d3acfafc9465295c6b12ccd5d0574">Element</a>(<span class="keywordtype">int</span> index)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> elements_[index]; }</div><div class="line"><a name="l04848"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a24926108b770033792d015cb86aeffb3"> 4848</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="classoperations__research_1_1AssignmentContainer.html#a24926108b770033792d015cb86aeffb3">Size</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> elements_.size(); }</div><div class="line"><a name="l04849"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a3abcbe1fcd37d8982941a795ed22e34a"> 4849</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1AssignmentContainer.html#a3abcbe1fcd37d8982941a795ed22e34a">Store</a>() {</div><div class="line"><a name="l04850"></a><span class="lineno"> 4850</span>&#160; <span class="keywordflow">for</span> (E&amp; element : elements_) {</div><div class="line"><a name="l04851"></a><span class="lineno"> 4851</span>&#160; element.Store();</div><div class="line"><a name="l04852"></a><span class="lineno"> 4852</span>&#160; }</div><div class="line"><a name="l04853"></a><span class="lineno"> 4853</span>&#160; }</div><div class="line"><a name="l04854"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a1896fe755b612dbebd2c46638f8977a2"> 4854</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1AssignmentContainer.html#a1896fe755b612dbebd2c46638f8977a2">Restore</a>() {</div><div class="line"><a name="l04855"></a><span class="lineno"> 4855</span>&#160; <span class="keywordflow">for</span> (E&amp; element : elements_) {</div><div class="line"><a name="l04856"></a><span class="lineno"> 4856</span>&#160; <span class="keywordflow">if</span> (element.Activated()) {</div><div class="line"><a name="l04857"></a><span class="lineno"> 4857</span>&#160; element.Restore();</div><div class="line"><a name="l04858"></a><span class="lineno"> 4858</span>&#160; }</div><div class="line"><a name="l04859"></a><span class="lineno"> 4859</span>&#160; }</div><div class="line"><a name="l04860"></a><span class="lineno"> 4860</span>&#160; }</div><div class="line"><a name="l04861"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a1f87693caae60c7469fbffaadd6f0649"> 4861</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1AssignmentContainer.html#a1f87693caae60c7469fbffaadd6f0649">AreAllElementsBound</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l04862"></a><span class="lineno"> 4862</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> E&amp; element : elements_) {</div><div class="line"><a name="l04863"></a><span class="lineno"> 4863</span>&#160; <span class="keywordflow">if</span> (!element.Bound()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l04864"></a><span class="lineno"> 4864</span>&#160; }</div><div class="line"><a name="l04865"></a><span class="lineno"> 4865</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l04866"></a><span class="lineno"> 4866</span>&#160; }</div><div class="line"><a name="l04867"></a><span class="lineno"> 4867</span>&#160;</div><div class="line"><a name="l04871"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a2b78a4ff4f23efeb1e70b6ce60faa821"> 4871</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1AssignmentContainer.html#a2b78a4ff4f23efeb1e70b6ce60faa821">operator==</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1AssignmentContainer.html">AssignmentContainer&lt;V, E&gt;</a>&amp; container)<span class="keyword"> const </span>{</div><div class="line"><a name="l04873"></a><span class="lineno"> 4873</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classoperations__research_1_1AssignmentContainer.html#a24926108b770033792d015cb86aeffb3">Size</a>() != container.<a class="code" href="classoperations__research_1_1AssignmentContainer.html#a24926108b770033792d015cb86aeffb3">Size</a>()) {</div><div class="line"><a name="l04874"></a><span class="lineno"> 4874</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l04875"></a><span class="lineno"> 4875</span>&#160; }</div><div class="line"><a name="l04877"></a><span class="lineno"> 4877</span>&#160; EnsureMapIsUpToDate();</div><div class="line"><a name="l04881"></a><span class="lineno"> 4881</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> E&amp; element : container.elements_) {</div><div class="line"><a name="l04882"></a><span class="lineno"> 4882</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> position =</div><div class="line"><a name="l04883"></a><span class="lineno"> 4883</span>&#160; gtl::FindWithDefault(elements_map_, element.Var(), -1);</div><div class="line"><a name="l04884"></a><span class="lineno"> 4884</span>&#160; <span class="keywordflow">if</span> (position &lt; 0 || elements_[position] != element) {</div><div class="line"><a name="l04885"></a><span class="lineno"> 4885</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l04886"></a><span class="lineno"> 4886</span>&#160; }</div><div class="line"><a name="l04887"></a><span class="lineno"> 4887</span>&#160; }</div><div class="line"><a name="l04888"></a><span class="lineno"> 4888</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l04889"></a><span class="lineno"> 4889</span>&#160; }</div><div class="line"><a name="l04890"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a6d46683fd5bcefbd1d9dc389fd34d665"> 4890</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1AssignmentContainer.html#a6d46683fd5bcefbd1d9dc389fd34d665">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1AssignmentContainer.html">AssignmentContainer&lt;V, E&gt;</a>&amp; container)<span class="keyword"> const </span>{</div><div class="line"><a name="l04891"></a><span class="lineno"> 4891</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == container);</div><div class="line"><a name="l04892"></a><span class="lineno"> 4892</span>&#160; }</div><div class="line"><a name="l04893"></a><span class="lineno"> 4893</span>&#160;</div><div class="line"><a name="l04894"></a><span class="lineno"> 4894</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l04895"></a><span class="lineno"> 4895</span>&#160; <span class="keywordtype">void</span> EnsureMapIsUpToDate()<span class="keyword"> const </span>{</div><div class="line"><a name="l04896"></a><span class="lineno"> 4896</span>&#160; absl::flat_hash_map&lt;const V*, int&gt;* map =</div><div class="line"><a name="l04897"></a><span class="lineno"> 4897</span>&#160; <span class="keyword">const_cast&lt;</span>absl::flat_hash_map&lt;const V*, int&gt;*<span class="keyword">&gt;</span>(&amp;elements_map_);</div><div class="line"><a name="l04898"></a><span class="lineno"> 4898</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = map-&gt;size(); i &lt; elements_.size(); ++i) {</div><div class="line"><a name="l04899"></a><span class="lineno"> 4899</span>&#160; (*map)[elements_[i].Var()] = i;</div><div class="line"><a name="l04900"></a><span class="lineno"> 4900</span>&#160; }</div><div class="line"><a name="l04901"></a><span class="lineno"> 4901</span>&#160; }</div><div class="line"><a name="l04902"></a><span class="lineno"> 4902</span>&#160; <span class="keywordtype">bool</span> Find(<span class="keyword">const</span> V* <span class="keyword">const</span> var, <span class="keywordtype">int</span>* index)<span class="keyword"> const </span>{</div><div class="line"><a name="l04904"></a><span class="lineno"> 4904</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> kMaxSizeForLinearAccess = 11;</div><div class="line"><a name="l04905"></a><span class="lineno"> 4905</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classoperations__research_1_1AssignmentContainer.html#a24926108b770033792d015cb86aeffb3">Size</a>() &lt;= kMaxSizeForLinearAccess) {</div><div class="line"><a name="l04909"></a><span class="lineno"> 4909</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; elements_.size(); ++i) {</div><div class="line"><a name="l04910"></a><span class="lineno"> 4910</span>&#160; <span class="keywordflow">if</span> (var == elements_[i].Var()) {</div><div class="line"><a name="l04911"></a><span class="lineno"> 4911</span>&#160; *index = i;</div><div class="line"><a name="l04912"></a><span class="lineno"> 4912</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l04913"></a><span class="lineno"> 4913</span>&#160; }</div><div class="line"><a name="l04914"></a><span class="lineno"> 4914</span>&#160; }</div><div class="line"><a name="l04915"></a><span class="lineno"> 4915</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l04916"></a><span class="lineno"> 4916</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l04917"></a><span class="lineno"> 4917</span>&#160; EnsureMapIsUpToDate();</div><div class="line"><a name="l04918"></a><span class="lineno"> 4918</span>&#160; DCHECK_EQ(elements_map_.size(), elements_.size());</div><div class="line"><a name="l04919"></a><span class="lineno"> 4919</span>&#160; <span class="keywordflow">return</span> gtl::FindCopy(elements_map_, var, index);</div><div class="line"><a name="l04920"></a><span class="lineno"> 4920</span>&#160; }</div><div class="line"><a name="l04921"></a><span class="lineno"> 4921</span>&#160; }</div><div class="line"><a name="l04922"></a><span class="lineno"> 4922</span>&#160;</div><div class="line"><a name="l04923"></a><span class="lineno"> 4923</span>&#160; std::vector&lt;E&gt; elements_;</div><div class="line"><a name="l04924"></a><span class="lineno"> 4924</span>&#160; absl::flat_hash_map&lt;const V*, int&gt; elements_map_;</div><div class="line"><a name="l04925"></a><span class="lineno"> 4925</span>&#160;};</div><div class="line"><a name="l04926"></a><span class="lineno"> 4926</span>&#160;</div><div class="line"><a name="l04929"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html"> 4929</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1PropagationBaseObject.html">PropagationBaseObject</a> {</div><div class="line"><a name="l04930"></a><span class="lineno"> 4930</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l04931"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#ace2db6f9700f6a2159db104f5df1dc8f"> 4931</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classoperations__research_1_1AssignmentContainer.html">AssignmentContainer&lt;IntVar, IntVarElement&gt;</a> <a class="code" href="classoperations__research_1_1Assignment.html#ace2db6f9700f6a2159db104f5df1dc8f">IntContainer</a>;</div><div class="line"><a name="l04932"></a><span class="lineno"> 4932</span>&#160; <span class="keyword">typedef</span> <a class="code" href="classoperations__research_1_1AssignmentContainer.html">AssignmentContainer&lt;IntervalVar, IntervalVarElement&gt;</a></div><div class="line"><a name="l04933"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#ab7392f36e3e635b067027005f53aa89e"> 4933</a></span>&#160; <a class="code" href="classoperations__research_1_1Assignment.html#ab7392f36e3e635b067027005f53aa89e">IntervalContainer</a>;</div><div class="line"><a name="l04934"></a><span class="lineno"> 4934</span>&#160; <span class="keyword">typedef</span> <a class="code" href="classoperations__research_1_1AssignmentContainer.html">AssignmentContainer&lt;SequenceVar, SequenceVarElement&gt;</a></div><div class="line"><a name="l04935"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#a3639042f24d01e89b18ca7f50af82f1e"> 4935</a></span>&#160; <a class="code" href="classoperations__research_1_1Assignment.html#a3639042f24d01e89b18ca7f50af82f1e">SequenceContainer</a>;</div><div class="line"><a name="l04936"></a><span class="lineno"> 4936</span>&#160;</div><div class="line"><a name="l04937"></a><span class="lineno"> 4937</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classoperations__research_1_1Assignment.html#a2c04ece633c362fcab7890202047156b">Assignment</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s);</div><div class="line"><a name="l04938"></a><span class="lineno"> 4938</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classoperations__research_1_1Assignment.html#a2c04ece633c362fcab7890202047156b">Assignment</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* <span class="keyword">const</span> copy);</div><div class="line"><a name="l04939"></a><span class="lineno"> 4939</span>&#160; <a class="code" href="classoperations__research_1_1Assignment.html#a81ef5c2da0677185d64d6c79d9ef9eb5">~Assignment</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l04940"></a><span class="lineno"> 4940</span>&#160;</div><div class="line"><a name="l04941"></a><span class="lineno"> 4941</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#aa71d36872f416feaa853788a7a7a7ef8">Clear</a>();</div><div class="line"><a name="l04942"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#abcfbdba215d3b15fbb4b682969943a6e"> 4942</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Assignment.html#abcfbdba215d3b15fbb4b682969943a6e">Empty</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l04943"></a><span class="lineno"> 4943</span>&#160; <span class="keywordflow">return</span> int_var_container_.<a class="code" href="classoperations__research_1_1AssignmentContainer.html#abcfbdba215d3b15fbb4b682969943a6e">Empty</a>() &amp;&amp; interval_var_container_.<a class="code" href="classoperations__research_1_1AssignmentContainer.html#abcfbdba215d3b15fbb4b682969943a6e">Empty</a>() &amp;&amp;</div><div class="line"><a name="l04944"></a><span class="lineno"> 4944</span>&#160; sequence_var_container_.<a class="code" href="classoperations__research_1_1AssignmentContainer.html#abcfbdba215d3b15fbb4b682969943a6e">Empty</a>();</div><div class="line"><a name="l04945"></a><span class="lineno"> 4945</span>&#160; }</div><div class="line"><a name="l04946"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#a24926108b770033792d015cb86aeffb3"> 4946</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="classoperations__research_1_1Assignment.html#a24926108b770033792d015cb86aeffb3">Size</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l04947"></a><span class="lineno"> 4947</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classoperations__research_1_1Assignment.html#adc0a2632bffdcc3b422a33cda362a294">NumIntVars</a>() + <a class="code" href="classoperations__research_1_1Assignment.html#aadb464257cdb5eba70a5969af94c0e91">NumIntervalVars</a>() + <a class="code" href="classoperations__research_1_1Assignment.html#a3818299a4be6ab80f11814fbc6654395">NumSequenceVars</a>();</div><div class="line"><a name="l04948"></a><span class="lineno"> 4948</span>&#160; }</div><div class="line"><a name="l04949"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#adc0a2632bffdcc3b422a33cda362a294"> 4949</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="classoperations__research_1_1Assignment.html#adc0a2632bffdcc3b422a33cda362a294">NumIntVars</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> int_var_container_.<a class="code" href="classoperations__research_1_1AssignmentContainer.html#a24926108b770033792d015cb86aeffb3">Size</a>(); }</div><div class="line"><a name="l04950"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#aadb464257cdb5eba70a5969af94c0e91"> 4950</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="classoperations__research_1_1Assignment.html#aadb464257cdb5eba70a5969af94c0e91">NumIntervalVars</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> interval_var_container_.<a class="code" href="classoperations__research_1_1AssignmentContainer.html#a24926108b770033792d015cb86aeffb3">Size</a>(); }</div><div class="line"><a name="l04951"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#a3818299a4be6ab80f11814fbc6654395"> 4951</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="classoperations__research_1_1Assignment.html#a3818299a4be6ab80f11814fbc6654395">NumSequenceVars</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> sequence_var_container_.<a class="code" href="classoperations__research_1_1AssignmentContainer.html#a24926108b770033792d015cb86aeffb3">Size</a>(); }</div><div class="line"><a name="l04952"></a><span class="lineno"> 4952</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a3abcbe1fcd37d8982941a795ed22e34a">Store</a>();</div><div class="line"><a name="l04953"></a><span class="lineno"> 4953</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a1896fe755b612dbebd2c46638f8977a2">Restore</a>();</div><div class="line"><a name="l04954"></a><span class="lineno"> 4954</span>&#160;</div><div class="line"><a name="l04957"></a><span class="lineno"> 4957</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Assignment.html#a4ffd516bcdda189f37da20040fba290e">Load</a>(<span class="keyword">const</span> std::string&amp; filename);</div><div class="line"><a name="l04958"></a><span class="lineno"> 4958</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l04959"></a><span class="lineno"> 4959</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Assignment.html#a4ffd516bcdda189f37da20040fba290e">Load</a>(File* file);</div><div class="line"><a name="l04960"></a><span class="lineno"> 4960</span>&#160;<span class="preprocessor">#endif </span></div><div class="line"><a name="l04961"></a><span class="lineno"> 4961</span>&#160;<span class="preprocessor"> void Load(const AssignmentProto&amp; assignment_proto);</span></div><div class="line"><a name="l04962"></a><span class="lineno"> 4962</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Assignment.html#a6b181a6b49df0fa3c31f492c53693174">Save</a>(<span class="keyword">const</span> std::string&amp; filename) <span class="keyword">const</span>;</div><div class="line"><a name="l04964"></a><span class="lineno"> 4964</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l04965"></a><span class="lineno"> 4965</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Assignment.html#a6b181a6b49df0fa3c31f492c53693174">Save</a>(File* file) <span class="keyword">const</span>;</div><div class="line"><a name="l04966"></a><span class="lineno"> 4966</span>&#160;<span class="preprocessor">#endif // #if !defined(SWIG)</span></div><div class="line"><a name="l04967"></a><span class="lineno"> 4967</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a6b181a6b49df0fa3c31f492c53693174">Save</a>(AssignmentProto* <span class="keyword">const</span> assignment_proto) <span class="keyword">const</span>;</div><div class="line"><a name="l04968"></a><span class="lineno"> 4968</span>&#160;</div><div class="line"><a name="l04969"></a><span class="lineno"> 4969</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a86601a2dad7a051d7b387ffa789898ff">AddObjective</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> v);</div><div class="line"><a name="l04970"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#a3e222c69fa6c693ccfeb7ff13cd482d3"> 4970</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a3e222c69fa6c693ccfeb7ff13cd482d3">ClearObjective</a>() { objective_element_.<a class="code" href="classoperations__research_1_1IntVarElement.html#a3196af797c21cdf61571e8a4dbfedc1a">Reset</a>(<span class="keyword">nullptr</span>); }</div><div class="line"><a name="l04971"></a><span class="lineno"> 4971</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Assignment.html#ae847e4b8c12c8c219f45e2f262ac7752">Objective</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l04972"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#a81c8f76d39ff0529fe40e70f8319d5d2"> 4972</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Assignment.html#a81c8f76d39ff0529fe40e70f8319d5d2">HasObjective</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (objective_element_.<a class="code" href="classoperations__research_1_1IntVarElement.html#a8052ccc3aba839f3befd553cc05b85a0">Var</a>() != <span class="keyword">nullptr</span>); }</div><div class="line"><a name="l04973"></a><span class="lineno"> 4973</span>&#160; int64 <a class="code" href="classoperations__research_1_1Assignment.html#a21f15e61767e0d8fab3bd523a450d29c">ObjectiveMin</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l04974"></a><span class="lineno"> 4974</span>&#160; int64 <a class="code" href="classoperations__research_1_1Assignment.html#ad8eedf4d4c6d9e2aab3d964b494293d9">ObjectiveMax</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l04975"></a><span class="lineno"> 4975</span>&#160; int64 <a class="code" href="classoperations__research_1_1Assignment.html#a872ff9f9b519eb2dc7a519739b51985d">ObjectiveValue</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l04976"></a><span class="lineno"> 4976</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Assignment.html#ab157d7f9928411cc8aa0e27980ac0dc9">ObjectiveBound</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l04977"></a><span class="lineno"> 4977</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#abfb1cdbe0975871ce5e29f4996fc3639">SetObjectiveMin</a>(int64 m);</div><div class="line"><a name="l04978"></a><span class="lineno"> 4978</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#aa9d240ed3be56749691a24d4570f95e3">SetObjectiveMax</a>(int64 m);</div><div class="line"><a name="l04979"></a><span class="lineno"> 4979</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#af3802f890ce7e74e9815cba11dadae61">SetObjectiveValue</a>(int64 value);</div><div class="line"><a name="l04980"></a><span class="lineno"> 4980</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a1a4f1ea45d334b09cb83f27243536867">SetObjectiveRange</a>(int64 l, int64 u);</div><div class="line"><a name="l04981"></a><span class="lineno"> 4981</span>&#160;</div><div class="line"><a name="l04982"></a><span class="lineno"> 4982</span>&#160; <a class="code" href="classoperations__research_1_1IntVarElement.html">IntVarElement</a>* <a class="code" href="classoperations__research_1_1Assignment.html#a045ef225663c760069ffc15af7caabef">Add</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l04983"></a><span class="lineno"> 4983</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a045ef225663c760069ffc15af7caabef">Add</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars);</div><div class="line"><a name="l04985"></a><span class="lineno"> 4985</span>&#160; <a class="code" href="classoperations__research_1_1IntVarElement.html">IntVarElement</a>* <a class="code" href="classoperations__research_1_1Assignment.html#ae7e79ac5cad1bf2d1960f5f3c18bc575">FastAdd</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l04986"></a><span class="lineno"> 4986</span>&#160; int64 <a class="code" href="classoperations__research_1_1Assignment.html#a6099fe146d0d68c48a02ab793f2c2e54">Min</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l04987"></a><span class="lineno"> 4987</span>&#160; int64 <a class="code" href="classoperations__research_1_1Assignment.html#a91d07f8a9a47e81538a524eecf210a82">Max</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l04988"></a><span class="lineno"> 4988</span>&#160; int64 <a class="code" href="classoperations__research_1_1Assignment.html#a0db03cadd37e821f6c41924575188d72">Value</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l04989"></a><span class="lineno"> 4989</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Assignment.html#aecf5d63faebdaeda9dca52f916576459">Bound</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l04990"></a><span class="lineno"> 4990</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a8a9ad3ee667c7062455df0126dfedb6b">SetMin</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var, int64 m);</div><div class="line"><a name="l04991"></a><span class="lineno"> 4991</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a6c290568fa514c58ba1dc0fd670f2afe">SetMax</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var, int64 m);</div><div class="line"><a name="l04992"></a><span class="lineno"> 4992</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#afba1ae6771323dc22b618ba3d994a083">SetRange</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var, int64 l, int64 u);</div><div class="line"><a name="l04993"></a><span class="lineno"> 4993</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#ac462499a646c751d153e599b22f1d782">SetValue</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var, int64 value);</div><div class="line"><a name="l04994"></a><span class="lineno"> 4994</span>&#160;</div><div class="line"><a name="l04995"></a><span class="lineno"> 4995</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVarElement.html">IntervalVarElement</a>* <a class="code" href="classoperations__research_1_1Assignment.html#a045ef225663c760069ffc15af7caabef">Add</a>(<a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l04996"></a><span class="lineno"> 4996</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a045ef225663c760069ffc15af7caabef">Add</a>(<span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; vars);</div><div class="line"><a name="l04998"></a><span class="lineno"> 4998</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVarElement.html">IntervalVarElement</a>* <a class="code" href="classoperations__research_1_1Assignment.html#ae7e79ac5cad1bf2d1960f5f3c18bc575">FastAdd</a>(<a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l04999"></a><span class="lineno"> 4999</span>&#160; int64 <a class="code" href="classoperations__research_1_1Assignment.html#a88bd04cf3933762c0092fcda94161a1c">StartMin</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l05000"></a><span class="lineno"> 5000</span>&#160; int64 <a class="code" href="classoperations__research_1_1Assignment.html#add98b301e98f8984537cb04626673ae1">StartMax</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l05001"></a><span class="lineno"> 5001</span>&#160; int64 <a class="code" href="classoperations__research_1_1Assignment.html#a352b06138d7ec32ba448ebdf1e6bbbd7">StartValue</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l05002"></a><span class="lineno"> 5002</span>&#160; int64 <a class="code" href="classoperations__research_1_1Assignment.html#a040e5bbd219ab6552df5f59953174d3c">DurationMin</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l05003"></a><span class="lineno"> 5003</span>&#160; int64 <a class="code" href="classoperations__research_1_1Assignment.html#aa8840e4eb3896d895e360b593b251163">DurationMax</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l05004"></a><span class="lineno"> 5004</span>&#160; int64 <a class="code" href="classoperations__research_1_1Assignment.html#ad0323f7dc6cdda6a1718f84ac59a1bd8">DurationValue</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l05005"></a><span class="lineno"> 5005</span>&#160; int64 <a class="code" href="classoperations__research_1_1Assignment.html#a6b6d670875c4e20780fe39477ff16b65">EndMin</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l05006"></a><span class="lineno"> 5006</span>&#160; int64 <a class="code" href="classoperations__research_1_1Assignment.html#a31f906045095a1a31fbd16e009a2bef8">EndMax</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l05007"></a><span class="lineno"> 5007</span>&#160; int64 <a class="code" href="classoperations__research_1_1Assignment.html#ae4ca1f9c003be927034c9cfaf8d9ab7f">EndValue</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l05008"></a><span class="lineno"> 5008</span>&#160; int64 <a class="code" href="classoperations__research_1_1Assignment.html#a49efcad6e7de33f146d83b3d7eedd3b0">PerformedMin</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l05009"></a><span class="lineno"> 5009</span>&#160; int64 <a class="code" href="classoperations__research_1_1Assignment.html#acb34f3eee75fd98037ee968d9d646b83">PerformedMax</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l05010"></a><span class="lineno"> 5010</span>&#160; int64 <a class="code" href="classoperations__research_1_1Assignment.html#ae517374b69d87607f8c5d60577924690">PerformedValue</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l05011"></a><span class="lineno"> 5011</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a10de671fb0b5036582fd1111152d3516">SetStartMin</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var, int64 m);</div><div class="line"><a name="l05012"></a><span class="lineno"> 5012</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a37abcc7fc962cfc7843087af45ade7d3">SetStartMax</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var, int64 m);</div><div class="line"><a name="l05013"></a><span class="lineno"> 5013</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#ab7bc3c4c0a4d80a53cdce467de063a0e">SetStartRange</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var, int64 mi, int64 ma);</div><div class="line"><a name="l05014"></a><span class="lineno"> 5014</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#aad7bf0414200f8bdd2e70d293fe7067d">SetStartValue</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var, int64 value);</div><div class="line"><a name="l05015"></a><span class="lineno"> 5015</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#ad6b9f83ffb9542fc1d5836ee2bb72467">SetDurationMin</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var, int64 m);</div><div class="line"><a name="l05016"></a><span class="lineno"> 5016</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#ab61cbadfb16da4cb1db49083cae8c426">SetDurationMax</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var, int64 m);</div><div class="line"><a name="l05017"></a><span class="lineno"> 5017</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#aeba2ae1f75c5edcded451c0b4868a410">SetDurationRange</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var, int64 mi, int64 ma);</div><div class="line"><a name="l05018"></a><span class="lineno"> 5018</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a2505ff70f6dbbce33b184e00523c0e7c">SetDurationValue</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var, int64 value);</div><div class="line"><a name="l05019"></a><span class="lineno"> 5019</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a731bd7973d604d96737e9f3419ccc8b1">SetEndMin</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var, int64 m);</div><div class="line"><a name="l05020"></a><span class="lineno"> 5020</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a2b3bd91145dd145a3766c4de85a5238d">SetEndMax</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var, int64 m);</div><div class="line"><a name="l05021"></a><span class="lineno"> 5021</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#aea3d64823b6f5e6f96539396708b7b29">SetEndRange</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var, int64 mi, int64 ma);</div><div class="line"><a name="l05022"></a><span class="lineno"> 5022</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a9eea03bd8a5a7dd6bc8256ee599202c0">SetEndValue</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var, int64 value);</div><div class="line"><a name="l05023"></a><span class="lineno"> 5023</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a899089e0cc2ddd9f5ade9b0fe6e34f50">SetPerformedMin</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var, int64 m);</div><div class="line"><a name="l05024"></a><span class="lineno"> 5024</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a8fdbf690b1cb4c4ccf293c0e3fb2abf7">SetPerformedMax</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var, int64 m);</div><div class="line"><a name="l05025"></a><span class="lineno"> 5025</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a7191b9102f19b0245cbe496d757d81b9">SetPerformedRange</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var, int64 mi, int64 ma);</div><div class="line"><a name="l05026"></a><span class="lineno"> 5026</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a44c20e89d05b0cb4f8d11a979f43142f">SetPerformedValue</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var, int64 value);</div><div class="line"><a name="l05027"></a><span class="lineno"> 5027</span>&#160;</div><div class="line"><a name="l05028"></a><span class="lineno"> 5028</span>&#160; <a class="code" href="classoperations__research_1_1SequenceVarElement.html">SequenceVarElement</a>* <a class="code" href="classoperations__research_1_1Assignment.html#a045ef225663c760069ffc15af7caabef">Add</a>(<a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l05029"></a><span class="lineno"> 5029</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a045ef225663c760069ffc15af7caabef">Add</a>(<span class="keyword">const</span> std::vector&lt;SequenceVar*&gt;&amp; vars);</div><div class="line"><a name="l05031"></a><span class="lineno"> 5031</span>&#160; <a class="code" href="classoperations__research_1_1SequenceVarElement.html">SequenceVarElement</a>* <a class="code" href="classoperations__research_1_1Assignment.html#ae7e79ac5cad1bf2d1960f5f3c18bc575">FastAdd</a>(<a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l05032"></a><span class="lineno"> 5032</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; <a class="code" href="classoperations__research_1_1Assignment.html#a54d664a4731f8630df04c2e83fa06536">ForwardSequence</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l05033"></a><span class="lineno"> 5033</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; <a class="code" href="classoperations__research_1_1Assignment.html#a81a1d2316fe8c1891eb5048e00e7483b">BackwardSequence</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l05034"></a><span class="lineno"> 5034</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; <a class="code" href="classoperations__research_1_1Assignment.html#a3fce2fb00665c8601b1f49e9e7afceb3">Unperformed</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l05035"></a><span class="lineno"> 5035</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#ad0319bfc2c7de380041b45adcc7abbf8">SetSequence</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> var,</div><div class="line"><a name="l05036"></a><span class="lineno"> 5036</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; forward_sequence,</div><div class="line"><a name="l05037"></a><span class="lineno"> 5037</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; backward_sequence,</div><div class="line"><a name="l05038"></a><span class="lineno"> 5038</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; unperformed);</div><div class="line"><a name="l05039"></a><span class="lineno"> 5039</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a05cc1c704384e2b15632cafb9716ccee">SetForwardSequence</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> var,</div><div class="line"><a name="l05040"></a><span class="lineno"> 5040</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; forward_sequence);</div><div class="line"><a name="l05041"></a><span class="lineno"> 5041</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a18d0ae321119be8c5c2cdfe9cff3bf2f">SetBackwardSequence</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> var,</div><div class="line"><a name="l05042"></a><span class="lineno"> 5042</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; backward_sequence);</div><div class="line"><a name="l05043"></a><span class="lineno"> 5043</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#aa09fc06807187218aa49ac0af4147f8f">SetUnperformed</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> var,</div><div class="line"><a name="l05044"></a><span class="lineno"> 5044</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; unperformed);</div><div class="line"><a name="l05045"></a><span class="lineno"> 5045</span>&#160;</div><div class="line"><a name="l05046"></a><span class="lineno"> 5046</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a89527a874098e35f9729eb276297cab1">Activate</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l05047"></a><span class="lineno"> 5047</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a0fec1a5195bbcf169c220b3ae9ebd9c2">Deactivate</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l05048"></a><span class="lineno"> 5048</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Assignment.html#a6798e539bb42f8c4bebb89e810acad7d">Activated</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l05049"></a><span class="lineno"> 5049</span>&#160;</div><div class="line"><a name="l05050"></a><span class="lineno"> 5050</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a89527a874098e35f9729eb276297cab1">Activate</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l05051"></a><span class="lineno"> 5051</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a0fec1a5195bbcf169c220b3ae9ebd9c2">Deactivate</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l05052"></a><span class="lineno"> 5052</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Assignment.html#a6798e539bb42f8c4bebb89e810acad7d">Activated</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l05053"></a><span class="lineno"> 5053</span>&#160;</div><div class="line"><a name="l05054"></a><span class="lineno"> 5054</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a89527a874098e35f9729eb276297cab1">Activate</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l05055"></a><span class="lineno"> 5055</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a0fec1a5195bbcf169c220b3ae9ebd9c2">Deactivate</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> var);</div><div class="line"><a name="l05056"></a><span class="lineno"> 5056</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Assignment.html#a6798e539bb42f8c4bebb89e810acad7d">Activated</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l05057"></a><span class="lineno"> 5057</span>&#160;</div><div class="line"><a name="l05058"></a><span class="lineno"> 5058</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a39e5a78e9409aad82cd5349dcb0f4c01">ActivateObjective</a>();</div><div class="line"><a name="l05059"></a><span class="lineno"> 5059</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a8a270b0475a9ceac9191176a3a3bf00f">DeactivateObjective</a>();</div><div class="line"><a name="l05060"></a><span class="lineno"> 5060</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Assignment.html#a01570ac6b0a24b922703e61d13499491">ActivatedObjective</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l05061"></a><span class="lineno"> 5061</span>&#160;</div><div class="line"><a name="l05062"></a><span class="lineno"> 5062</span>&#160; std::string <a class="code" href="classoperations__research_1_1Assignment.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>() <span class="keyword">const override</span>;</div><div class="line"><a name="l05063"></a><span class="lineno"> 5063</span>&#160;</div><div class="line"><a name="l05064"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#a1f87693caae60c7469fbffaadd6f0649"> 5064</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Assignment.html#a1f87693caae60c7469fbffaadd6f0649">AreAllElementsBound</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l05065"></a><span class="lineno"> 5065</span>&#160; <span class="keywordflow">return</span> int_var_container_.<a class="code" href="classoperations__research_1_1AssignmentContainer.html#a1f87693caae60c7469fbffaadd6f0649">AreAllElementsBound</a>() &amp;&amp;</div><div class="line"><a name="l05066"></a><span class="lineno"> 5066</span>&#160; interval_var_container_.<a class="code" href="classoperations__research_1_1AssignmentContainer.html#a1f87693caae60c7469fbffaadd6f0649">AreAllElementsBound</a>() &amp;&amp;</div><div class="line"><a name="l05067"></a><span class="lineno"> 5067</span>&#160; sequence_var_container_.<a class="code" href="classoperations__research_1_1AssignmentContainer.html#a1f87693caae60c7469fbffaadd6f0649">AreAllElementsBound</a>();</div><div class="line"><a name="l05068"></a><span class="lineno"> 5068</span>&#160; }</div><div class="line"><a name="l05069"></a><span class="lineno"> 5069</span>&#160;</div><div class="line"><a name="l05070"></a><span class="lineno"> 5070</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Assignment.html#a60e7fa8388801a72e31391e8203a9464">Contains</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l05071"></a><span class="lineno"> 5071</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Assignment.html#a60e7fa8388801a72e31391e8203a9464">Contains</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l05072"></a><span class="lineno"> 5072</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Assignment.html#a60e7fa8388801a72e31391e8203a9464">Contains</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <span class="keyword">const</span> var) <span class="keyword">const</span>;</div><div class="line"><a name="l05074"></a><span class="lineno"> 5074</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#aad86dd69d5664ce8e16198be929fd941">CopyIntersection</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* assignment);</div><div class="line"><a name="l05077"></a><span class="lineno"> 5077</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#ac97eab84adb6cc33ae0124c944a4f8c7">Copy</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* assignment);</div><div class="line"><a name="l05078"></a><span class="lineno"> 5078</span>&#160;</div><div class="line"><a name="l05079"></a><span class="lineno"> 5079</span>&#160; <span class="comment">// TODO(user): Add element iterators to avoid exposing container class.</span></div><div class="line"><a name="l05080"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#a1f16f5a2e5767013b620efd255fb35ea"> 5080</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classoperations__research_1_1AssignmentContainer.html">IntContainer</a>&amp; <a class="code" href="classoperations__research_1_1Assignment.html#a1f16f5a2e5767013b620efd255fb35ea">IntVarContainer</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> int_var_container_; }</div><div class="line"><a name="l05081"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#a11963e86e6bc074096264e96ccd5c755"> 5081</a></span>&#160; <a class="code" href="classoperations__research_1_1AssignmentContainer.html">IntContainer</a>* <a class="code" href="classoperations__research_1_1Assignment.html#a11963e86e6bc074096264e96ccd5c755">MutableIntVarContainer</a>() { <span class="keywordflow">return</span> &amp;int_var_container_; }</div><div class="line"><a name="l05082"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#aec13b3eeabbd052d40b803adf7543d7c"> 5082</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classoperations__research_1_1AssignmentContainer.html">IntervalContainer</a>&amp; <a class="code" href="classoperations__research_1_1Assignment.html#aec13b3eeabbd052d40b803adf7543d7c">IntervalVarContainer</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l05083"></a><span class="lineno"> 5083</span>&#160; <span class="keywordflow">return</span> interval_var_container_;</div><div class="line"><a name="l05084"></a><span class="lineno"> 5084</span>&#160; }</div><div class="line"><a name="l05085"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#a9b514900eccc0b36b3244d90c4f59ef9"> 5085</a></span>&#160; <a class="code" href="classoperations__research_1_1AssignmentContainer.html">IntervalContainer</a>* <a class="code" href="classoperations__research_1_1Assignment.html#a9b514900eccc0b36b3244d90c4f59ef9">MutableIntervalVarContainer</a>() {</div><div class="line"><a name="l05086"></a><span class="lineno"> 5086</span>&#160; <span class="keywordflow">return</span> &amp;interval_var_container_;</div><div class="line"><a name="l05087"></a><span class="lineno"> 5087</span>&#160; }</div><div class="line"><a name="l05088"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#a30d2df8ab5db405440580f7db5ee4aaa"> 5088</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classoperations__research_1_1AssignmentContainer.html">SequenceContainer</a>&amp; <a class="code" href="classoperations__research_1_1Assignment.html#a30d2df8ab5db405440580f7db5ee4aaa">SequenceVarContainer</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l05089"></a><span class="lineno"> 5089</span>&#160; <span class="keywordflow">return</span> sequence_var_container_;</div><div class="line"><a name="l05090"></a><span class="lineno"> 5090</span>&#160; }</div><div class="line"><a name="l05091"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#a8caeb4b2a0a6e058a74274fc4896c402"> 5091</a></span>&#160; <a class="code" href="classoperations__research_1_1AssignmentContainer.html">SequenceContainer</a>* <a class="code" href="classoperations__research_1_1Assignment.html#a8caeb4b2a0a6e058a74274fc4896c402">MutableSequenceVarContainer</a>() {</div><div class="line"><a name="l05092"></a><span class="lineno"> 5092</span>&#160; <span class="keywordflow">return</span> &amp;sequence_var_container_;</div><div class="line"><a name="l05093"></a><span class="lineno"> 5093</span>&#160; }</div><div class="line"><a name="l05094"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#aab2342dc981954ebcfdd6735045f3448"> 5094</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Assignment.html#aab2342dc981954ebcfdd6735045f3448">operator==</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>&amp; assignment)<span class="keyword"> const </span>{</div><div class="line"><a name="l05095"></a><span class="lineno"> 5095</span>&#160; <span class="keywordflow">return</span> int_var_container_ == assignment.int_var_container_ &amp;&amp;</div><div class="line"><a name="l05096"></a><span class="lineno"> 5096</span>&#160; interval_var_container_ == assignment.interval_var_container_ &amp;&amp;</div><div class="line"><a name="l05097"></a><span class="lineno"> 5097</span>&#160; sequence_var_container_ == assignment.sequence_var_container_ &amp;&amp;</div><div class="line"><a name="l05098"></a><span class="lineno"> 5098</span>&#160; objective_element_ == assignment.objective_element_;</div><div class="line"><a name="l05099"></a><span class="lineno"> 5099</span>&#160; }</div><div class="line"><a name="l05100"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#affcbe1cefd443f0581b455613cacc219"> 5100</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Assignment.html#affcbe1cefd443f0581b455613cacc219">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>&amp; assignment)<span class="keyword"> const </span>{</div><div class="line"><a name="l05101"></a><span class="lineno"> 5101</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == assignment);</div><div class="line"><a name="l05102"></a><span class="lineno"> 5102</span>&#160; }</div><div class="line"><a name="l05103"></a><span class="lineno"> 5103</span>&#160;</div><div class="line"><a name="l05104"></a><span class="lineno"> 5104</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l05105"></a><span class="lineno"> 5105</span>&#160; <a class="code" href="classoperations__research_1_1Assignment.html#ace2db6f9700f6a2159db104f5df1dc8f">IntContainer</a> int_var_container_;</div><div class="line"><a name="l05106"></a><span class="lineno"> 5106</span>&#160; <a class="code" href="classoperations__research_1_1Assignment.html#ab7392f36e3e635b067027005f53aa89e">IntervalContainer</a> interval_var_container_;</div><div class="line"><a name="l05107"></a><span class="lineno"> 5107</span>&#160; <a class="code" href="classoperations__research_1_1Assignment.html#a3639042f24d01e89b18ca7f50af82f1e">SequenceContainer</a> sequence_var_container_;</div><div class="line"><a name="l05108"></a><span class="lineno"> 5108</span>&#160; <a class="code" href="classoperations__research_1_1IntVarElement.html">IntVarElement</a> objective_element_;</div><div class="line"><a name="l05109"></a><span class="lineno"> 5109</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>);</div><div class="line"><a name="l05110"></a><span class="lineno"> 5110</span>&#160;};</div><div class="line"><a name="l05111"></a><span class="lineno"> 5111</span>&#160;</div><div class="line"><a name="l05112"></a><span class="lineno"> 5112</span>&#160;std::ostream&amp; <a class="code" href="namespaceoperations__research.html#a316abccdfa41512564d84365ea8f0ead">operator&lt;&lt;</a>(std::ostream&amp; out,</div><div class="line"><a name="l05113"></a><span class="lineno"> 5113</span>&#160; <span class="keyword">const</span> Assignment&amp; assignment); </div><div class="line"><a name="l05114"></a><span class="lineno"> 5114</span>&#160;</div><div class="line"><a name="l05120"></a><span class="lineno"> 5120</span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespaceoperations__research.html#aea2bf322fab4e2319a23ad22acf8ccf8">SetAssignmentFromAssignment</a>(Assignment* target_assignment,</div><div class="line"><a name="l05121"></a><span class="lineno"> 5121</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; target_vars,</div><div class="line"><a name="l05122"></a><span class="lineno"> 5122</span>&#160; <span class="keyword">const</span> Assignment* source_assignment,</div><div class="line"><a name="l05123"></a><span class="lineno"> 5123</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; source_vars);</div><div class="line"><a name="l05124"></a><span class="lineno"> 5124</span>&#160;</div><div class="line"><a name="l05125"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Pack.html"> 5125</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1Pack.html">Pack</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a> {</div><div class="line"><a name="l05126"></a><span class="lineno"> 5126</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l05127"></a><span class="lineno"> 5127</span>&#160; <a class="code" href="classoperations__research_1_1Pack.html#a3faa7bb8c3804bc2c19b0c9c51fb3663">Pack</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s, <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, <span class="keywordtype">int</span> number_of_bins);</div><div class="line"><a name="l05128"></a><span class="lineno"> 5128</span>&#160;</div><div class="line"><a name="l05129"></a><span class="lineno"> 5129</span>&#160; <a class="code" href="classoperations__research_1_1Pack.html#a6feb8bb936fa7469982badd222c6e952">~Pack</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l05130"></a><span class="lineno"> 5130</span>&#160;</div><div class="line"><a name="l05135"></a><span class="lineno"> 5135</span>&#160;</div><div class="line"><a name="l05139"></a><span class="lineno"> 5139</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#af1f5233fe432bbd1fea571ac4131007c">AddWeightedSumLessOrEqualConstantDimension</a>(</div><div class="line"><a name="l05140"></a><span class="lineno"> 5140</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; weights, <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; bounds);</div><div class="line"><a name="l05141"></a><span class="lineno"> 5141</span>&#160;</div><div class="line"><a name="l05146"></a><span class="lineno"> 5146</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#af1f5233fe432bbd1fea571ac4131007c">AddWeightedSumLessOrEqualConstantDimension</a>(</div><div class="line"><a name="l05147"></a><span class="lineno"> 5147</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aa9726f5458b77973475a32178fe512b3">Solver::IndexEvaluator1</a> weights, <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; bounds);</div><div class="line"><a name="l05148"></a><span class="lineno"> 5148</span>&#160;</div><div class="line"><a name="l05153"></a><span class="lineno"> 5153</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#af1f5233fe432bbd1fea571ac4131007c">AddWeightedSumLessOrEqualConstantDimension</a>(</div><div class="line"><a name="l05154"></a><span class="lineno"> 5154</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">Solver::IndexEvaluator2</a> weights, <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; bounds);</div><div class="line"><a name="l05155"></a><span class="lineno"> 5155</span>&#160;</div><div class="line"><a name="l05158"></a><span class="lineno"> 5158</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#a5549bd43ea2777cc9f0f3e4da3a87cdd">AddWeightedSumEqualVarDimension</a>(<span class="keyword">const</span> std::vector&lt;int64&gt;&amp; weights,</div><div class="line"><a name="l05159"></a><span class="lineno"> 5159</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; loads);</div><div class="line"><a name="l05160"></a><span class="lineno"> 5160</span>&#160;</div><div class="line"><a name="l05164"></a><span class="lineno"> 5164</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#a5549bd43ea2777cc9f0f3e4da3a87cdd">AddWeightedSumEqualVarDimension</a>(<a class="code" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">Solver::IndexEvaluator2</a> weights,</div><div class="line"><a name="l05165"></a><span class="lineno"> 5165</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; loads);</div><div class="line"><a name="l05166"></a><span class="lineno"> 5166</span>&#160;</div><div class="line"><a name="l05176"></a><span class="lineno"> 5176</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#a9a5ab9fb129f8b45255d5fbed741d2b2">AddSumVariableWeightsLessOrEqualConstantDimension</a>(</div><div class="line"><a name="l05177"></a><span class="lineno"> 5177</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; usage, <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; capacity);</div><div class="line"><a name="l05178"></a><span class="lineno"> 5178</span>&#160;</div><div class="line"><a name="l05181"></a><span class="lineno"> 5181</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#a08cff80b27c0080341992cad2966dc78">AddWeightedSumOfAssignedDimension</a>(<span class="keyword">const</span> std::vector&lt;int64&gt;&amp; weights,</div><div class="line"><a name="l05182"></a><span class="lineno"> 5182</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> cost_var);</div><div class="line"><a name="l05183"></a><span class="lineno"> 5183</span>&#160;</div><div class="line"><a name="l05186"></a><span class="lineno"> 5186</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#a90028870fef41c9ce7029c52f194eacd">AddCountUsedBinDimension</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> count_var);</div><div class="line"><a name="l05187"></a><span class="lineno"> 5187</span>&#160;</div><div class="line"><a name="l05190"></a><span class="lineno"> 5190</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#a27d5048553d708cb8f1f7b6f7b48052c">AddCountAssignedItemsDimension</a>(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> count_var);</div><div class="line"><a name="l05191"></a><span class="lineno"> 5191</span>&#160;</div><div class="line"><a name="l05192"></a><span class="lineno"> 5192</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#a19d94d32f3bde30deeebb883c6f71f84">Post</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l05193"></a><span class="lineno"> 5193</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#aa7d76b766faf39c1652b6617eac5fe20">ClearAll</a>();</div><div class="line"><a name="l05194"></a><span class="lineno"> 5194</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#ac095c86328e93de5cab0a64db691c602">PropagateDelayed</a>();</div><div class="line"><a name="l05195"></a><span class="lineno"> 5195</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#a36d844f2722273b190ed9a069dd25938">InitialPropagate</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l05196"></a><span class="lineno"> 5196</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#a03fbaed2e89d3a0ed34ffe35af8c0ec6">Propagate</a>();</div><div class="line"><a name="l05197"></a><span class="lineno"> 5197</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#a96340e443923b721e76f2ff432a48954">OneDomain</a>(<span class="keywordtype">int</span> var_index);</div><div class="line"><a name="l05198"></a><span class="lineno"> 5198</span>&#160; std::string <a class="code" href="classoperations__research_1_1Pack.html#aed804747c45a7e1caf81461f9e45dd91">DebugString</a>() <span class="keyword">const override</span>;</div><div class="line"><a name="l05199"></a><span class="lineno"> 5199</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Pack.html#a5e647eb2942c419caa6d67acf062587a">IsUndecided</a>(<span class="keywordtype">int</span> var_index, <span class="keywordtype">int</span> bin_index) <span class="keyword">const</span>;</div><div class="line"><a name="l05200"></a><span class="lineno"> 5200</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#a4997d785dafdc88e1e0459c398e80133">SetImpossible</a>(<span class="keywordtype">int</span> var_index, <span class="keywordtype">int</span> bin_index);</div><div class="line"><a name="l05201"></a><span class="lineno"> 5201</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#ac6980496b7938cb743ac658fd0d2d6c8">Assign</a>(<span class="keywordtype">int</span> var_index, <span class="keywordtype">int</span> bin_index);</div><div class="line"><a name="l05202"></a><span class="lineno"> 5202</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Pack.html#a0f59dbe96df95bec0bbc8adb24789ed1">IsAssignedStatusKnown</a>(<span class="keywordtype">int</span> var_index) <span class="keyword">const</span>;</div><div class="line"><a name="l05203"></a><span class="lineno"> 5203</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1Pack.html#a85ce8edd658bfd2632f78a4adb41fbf9">IsPossible</a>(<span class="keywordtype">int</span> var_index, <span class="keywordtype">int</span> bin_index) <span class="keyword">const</span>;</div><div class="line"><a name="l05204"></a><span class="lineno"> 5204</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <a class="code" href="classoperations__research_1_1Pack.html#a95323420129d3971fc27df7ae4cafa35">AssignVar</a>(<span class="keywordtype">int</span> var_index, <span class="keywordtype">int</span> bin_index) <span class="keyword">const</span>;</div><div class="line"><a name="l05205"></a><span class="lineno"> 5205</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#a4b8051adf09b104fd5a58b21ea6f843f">SetAssigned</a>(<span class="keywordtype">int</span> var_index);</div><div class="line"><a name="l05206"></a><span class="lineno"> 5206</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#a9799033614314d2e5be13a65628f32be">SetUnassigned</a>(<span class="keywordtype">int</span> var_index);</div><div class="line"><a name="l05207"></a><span class="lineno"> 5207</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#afd36445be20121bef02fe4847317ed0b">RemoveAllPossibleFromBin</a>(<span class="keywordtype">int</span> bin_index);</div><div class="line"><a name="l05208"></a><span class="lineno"> 5208</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#aa7cb2bb52c194f51ff28294b05c1e4af">AssignAllPossibleToBin</a>(<span class="keywordtype">int</span> bin_index);</div><div class="line"><a name="l05209"></a><span class="lineno"> 5209</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#a8d4b11f435b76c6568c2c0a08cccb976">AssignFirstPossibleToBin</a>(<span class="keywordtype">int</span> bin_index);</div><div class="line"><a name="l05210"></a><span class="lineno"> 5210</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#aedb66bf31047064fd332fb6c6afa027d">AssignAllRemainingItems</a>();</div><div class="line"><a name="l05211"></a><span class="lineno"> 5211</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#acb7a89e1a7071f6c46375fe31688e485">UnassignAllRemainingItems</a>();</div><div class="line"><a name="l05212"></a><span class="lineno"> 5212</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Pack.html#aa30c84aec5e60d6b74e1e1eb15011d4a">Accept</a>(<a class="code" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a>* <span class="keyword">const</span> visitor) <span class="keyword">const override</span>;</div><div class="line"><a name="l05213"></a><span class="lineno"> 5213</span>&#160;</div><div class="line"><a name="l05214"></a><span class="lineno"> 5214</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l05215"></a><span class="lineno"> 5215</span>&#160; <span class="keywordtype">bool</span> IsInProcess() <span class="keyword">const</span>;</div><div class="line"><a name="l05216"></a><span class="lineno"> 5216</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt; vars_;</div><div class="line"><a name="l05217"></a><span class="lineno"> 5217</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> bins_;</div><div class="line"><a name="l05218"></a><span class="lineno"> 5218</span>&#160; std::vector&lt;Dimension*&gt; dims_;</div><div class="line"><a name="l05219"></a><span class="lineno"> 5219</span>&#160; std::unique_ptr&lt;RevBitMatrix&gt; unprocessed_;</div><div class="line"><a name="l05220"></a><span class="lineno"> 5220</span>&#160; std::vector&lt;std::vector&lt;int&gt;&gt; forced_;</div><div class="line"><a name="l05221"></a><span class="lineno"> 5221</span>&#160; std::vector&lt;std::vector&lt;int&gt;&gt; removed_;</div><div class="line"><a name="l05222"></a><span class="lineno"> 5222</span>&#160; std::vector&lt;IntVarIterator*&gt; holes_;</div><div class="line"><a name="l05223"></a><span class="lineno"> 5223</span>&#160; uint64 stamp_;</div><div class="line"><a name="l05224"></a><span class="lineno"> 5224</span>&#160; <a class="code" href="classoperations__research_1_1Demon.html">Demon</a>* demon_;</div><div class="line"><a name="l05225"></a><span class="lineno"> 5225</span>&#160; std::vector&lt;std::pair&lt;int, int&gt;&gt; to_set_;</div><div class="line"><a name="l05226"></a><span class="lineno"> 5226</span>&#160; std::vector&lt;std::pair&lt;int, int&gt;&gt; to_unset_;</div><div class="line"><a name="l05227"></a><span class="lineno"> 5227</span>&#160; <span class="keywordtype">bool</span> in_process_;</div><div class="line"><a name="l05228"></a><span class="lineno"> 5228</span>&#160;};</div><div class="line"><a name="l05229"></a><span class="lineno"> 5229</span>&#160;</div><div class="line"><a name="l05230"></a><span class="lineno"><a class="line" href="classoperations__research_1_1DisjunctiveConstraint.html"> 5230</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1DisjunctiveConstraint.html">DisjunctiveConstraint</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a> {</div><div class="line"><a name="l05231"></a><span class="lineno"> 5231</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l05232"></a><span class="lineno"> 5232</span>&#160; <a class="code" href="classoperations__research_1_1DisjunctiveConstraint.html#ad00d844c640d64524ddd7d08916950c0">DisjunctiveConstraint</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s,</div><div class="line"><a name="l05233"></a><span class="lineno"> 5233</span>&#160; <span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; intervals,</div><div class="line"><a name="l05234"></a><span class="lineno"> 5234</span>&#160; <span class="keyword">const</span> std::string&amp; <a class="code" href="classoperations__research_1_1PropagationBaseObject.html#a6a119daa8b83c3aaffdb6e11fac1f97e">name</a>);</div><div class="line"><a name="l05235"></a><span class="lineno"> 5235</span>&#160; <a class="code" href="classoperations__research_1_1DisjunctiveConstraint.html#aba974c73a007aa0553c09999b6ea0c2c">~DisjunctiveConstraint</a>() <span class="keyword">override</span>;</div><div class="line"><a name="l05236"></a><span class="lineno"> 5236</span>&#160;</div><div class="line"><a name="l05238"></a><span class="lineno"> 5238</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* <a class="code" href="classoperations__research_1_1DisjunctiveConstraint.html#aa99bb1bc9882729f5c08a39c46b8705c">MakeSequenceVar</a>() = 0;</div><div class="line"><a name="l05239"></a><span class="lineno"> 5239</span>&#160;</div><div class="line"><a name="l05244"></a><span class="lineno"> 5244</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1DisjunctiveConstraint.html#ae01c325872694c6f9a780832c3ac65f4">SetTransitionTime</a>(<a class="code" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">Solver::IndexEvaluator2</a> transition_time);</div><div class="line"><a name="l05245"></a><span class="lineno"> 5245</span>&#160;</div><div class="line"><a name="l05246"></a><span class="lineno"><a class="line" href="classoperations__research_1_1DisjunctiveConstraint.html#aaafd3363e871db52ce00c08905f57afa"> 5246</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1DisjunctiveConstraint.html#aaafd3363e871db52ce00c08905f57afa">TransitionTime</a>(<span class="keywordtype">int</span> before_index, <span class="keywordtype">int</span> after_index) {</div><div class="line"><a name="l05247"></a><span class="lineno"> 5247</span>&#160; DCHECK(<a class="code" href="classoperations__research_1_1DisjunctiveConstraint.html#afc37bcfd26805cab838cef7ae4c87444">transition_time_</a>);</div><div class="line"><a name="l05248"></a><span class="lineno"> 5248</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classoperations__research_1_1DisjunctiveConstraint.html#afc37bcfd26805cab838cef7ae4c87444">transition_time_</a>(before_index, after_index);</div><div class="line"><a name="l05249"></a><span class="lineno"> 5249</span>&#160; }</div><div class="line"><a name="l05250"></a><span class="lineno"> 5250</span>&#160;</div><div class="line"><a name="l05251"></a><span class="lineno"> 5251</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div><div class="line"><a name="l05252"></a><span class="lineno"> 5252</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; <a class="code" href="classoperations__research_1_1DisjunctiveConstraint.html#ac2f8f693dccb6e7ff7721b78b824c36a">nexts</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l05253"></a><span class="lineno"> 5253</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; <a class="code" href="classoperations__research_1_1DisjunctiveConstraint.html#a7c019b394b4c8624bc4de977cdfc627c">actives</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l05254"></a><span class="lineno"> 5254</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; <a class="code" href="classoperations__research_1_1DisjunctiveConstraint.html#a0801da3f8ae5f253399fd1319dea7e57">time_cumuls</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l05255"></a><span class="lineno"> 5255</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; <a class="code" href="classoperations__research_1_1DisjunctiveConstraint.html#af106a0b38e8b3d069248a579efe2e1bc">time_slacks</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l05256"></a><span class="lineno"> 5256</span>&#160;<span class="preprocessor">#endif // !defined(SWIG)</span></div><div class="line"><a name="l05257"></a><span class="lineno"> 5257</span>&#160;</div><div class="line"><a name="l05258"></a><span class="lineno"> 5258</span>&#160; <span class="keyword">protected</span>:</div><div class="line"><a name="l05259"></a><span class="lineno"><a class="line" href="classoperations__research_1_1DisjunctiveConstraint.html#a02e65ccb441e14918c023bde60b05099"> 5259</a></span>&#160; <span class="keyword">const</span> std::vector&lt;IntervalVar*&gt; <a class="code" href="classoperations__research_1_1DisjunctiveConstraint.html#a02e65ccb441e14918c023bde60b05099">intervals_</a>;</div><div class="line"><a name="l05260"></a><span class="lineno"><a class="line" href="classoperations__research_1_1DisjunctiveConstraint.html#afc37bcfd26805cab838cef7ae4c87444"> 5260</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">Solver::IndexEvaluator2</a> <a class="code" href="classoperations__research_1_1DisjunctiveConstraint.html#afc37bcfd26805cab838cef7ae4c87444">transition_time_</a>;</div><div class="line"><a name="l05261"></a><span class="lineno"> 5261</span>&#160;</div><div class="line"><a name="l05262"></a><span class="lineno"> 5262</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l05263"></a><span class="lineno"> 5263</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1DisjunctiveConstraint.html">DisjunctiveConstraint</a>);</div><div class="line"><a name="l05264"></a><span class="lineno"> 5264</span>&#160;};</div><div class="line"><a name="l05265"></a><span class="lineno"> 5265</span>&#160;</div><div class="line"><a name="l05268"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SolutionPool.html"> 5268</a></span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1SolutionPool.html">SolutionPool</a> : <span class="keyword">public</span> <a class="code" href="classoperations__research_1_1BaseObject.html">BaseObject</a> {</div><div class="line"><a name="l05269"></a><span class="lineno"> 5269</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l05270"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SolutionPool.html#a46aae4510235217253f419189cd0accf"> 5270</a></span>&#160; <a class="code" href="classoperations__research_1_1SolutionPool.html#a46aae4510235217253f419189cd0accf">SolutionPool</a>() {}</div><div class="line"><a name="l05271"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SolutionPool.html#aa1eacd520fb6bd437786be473bffda1b"> 5271</a></span>&#160; <a class="code" href="classoperations__research_1_1SolutionPool.html#aa1eacd520fb6bd437786be473bffda1b">~SolutionPool</a>()<span class="keyword"> override </span>{}</div><div class="line"><a name="l05272"></a><span class="lineno"> 5272</span>&#160;</div><div class="line"><a name="l05275"></a><span class="lineno"> 5275</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SolutionPool.html#afa82c2dd754ff490f08768ed621d1f5b">Initialize</a>(<a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* <span class="keyword">const</span> assignment) = 0;</div><div class="line"><a name="l05276"></a><span class="lineno"> 5276</span>&#160;</div><div class="line"><a name="l05279"></a><span class="lineno"> 5279</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SolutionPool.html#a39b9785ffd2b768743ca541295668408">RegisterNewSolution</a>(<a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* <span class="keyword">const</span> assignment) = 0;</div><div class="line"><a name="l05280"></a><span class="lineno"> 5280</span>&#160;</div><div class="line"><a name="l05283"></a><span class="lineno"> 5283</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SolutionPool.html#a6fbedcc0e848833761bc0ed775aa5436">GetNextSolution</a>(<a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* <span class="keyword">const</span> assignment) = 0;</div><div class="line"><a name="l05284"></a><span class="lineno"> 5284</span>&#160;</div><div class="line"><a name="l05287"></a><span class="lineno"> 5287</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classoperations__research_1_1SolutionPool.html#a0ddd1c2f332c3cea0612b9d18ad6ef83">SyncNeeded</a>(<a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>* <span class="keyword">const</span> local_assignment) = 0;</div><div class="line"><a name="l05288"></a><span class="lineno"> 5288</span>&#160;};</div><div class="line"><a name="l05289"></a><span class="lineno"> 5289</span>&#160;} <span class="comment">// namespace operations_research</span></div><div class="line"><a name="l05290"></a><span class="lineno"> 5290</span>&#160;</div><div class="line"><a name="l05291"></a><span class="lineno"> 5291</span>&#160;<span class="preprocessor">#endif // OR_TOOLS_CONSTRAINT_SOLVER_CONSTRAINT_SOLVER_H_</span></div><div class="ttc" id="classoperations__research_1_1ModelCache_html"><div class="ttname"><a href="classoperations__research_1_1ModelCache.html">operations_research::ModelCache</a></div><div class="ttdoc">Implements a complete cache for model elements: expressions and constraints.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solveri_8h_source.html#l01813">constraint_solveri.h:1813</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a078a6a3543d033fc6f9b42938f96a702"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a078a6a3543d033fc6f9b42938f96a702">operations_research::Solver::IsBooleanVar</a></div><div class="ttdeci">bool IsBooleanVar(IntExpr *const expr, IntVar **inner_var, bool *is_negated) const</div><div class="ttdoc">Returns true if expr represents either boolean_var or 1 - boolean_var.</div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_a31aaa81745ee6fde6344e86d46cf421e"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#a31aaa81745ee6fde6344e86d46cf421e">operations_research::IntVar::OldMax</a></div><div class="ttdeci">virtual int64 OldMax() const =0</div><div class="ttdoc">Returns the previous max.</div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentContainer_html_a1896fe755b612dbebd2c46638f8977a2"><div class="ttname"><a href="classoperations__research_1_1AssignmentContainer.html#a1896fe755b612dbebd2c46638f8977a2">operations_research::AssignmentContainer::Restore</a></div><div class="ttdeci">void Restore()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04854">constraint_solver.h:4854</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_affa6c6c872b17ceee95a3cd7f24f6848"><div class="ttname"><a href="classoperations__research_1_1Solver.html#affa6c6c872b17ceee95a3cd7f24f6848">operations_research::Solver::optimization_direction</a></div><div class="ttdeci">OptimizationDirection optimization_direction() const</div><div class="ttdoc">The direction of optimization, getter and setter.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00996">constraint_solver.h:996</a></div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_a36d844f2722273b190ed9a069dd25938"><div class="ttname"><a href="classoperations__research_1_1Pack.html#a36d844f2722273b190ed9a069dd25938">operations_research::Pack::InitialPropagate</a></div><div class="ttdeci">void InitialPropagate() override</div><div class="ttdoc">This method performs the initial propagation of the constraint.</div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_aedb66bf31047064fd332fb6c6afa027d"><div class="ttname"><a href="classoperations__research_1_1Pack.html#aedb66bf31047064fd332fb6c6afa027d">operations_research::Pack::AssignAllRemainingItems</a></div><div class="ttdeci">void AssignAllRemainingItems()</div></div>
<div class="ttc" id="classoperations__research_1_1PropagationBaseObject_html_a09cbe240b742fbdcf4d3c70d19c2ed10"><div class="ttname"><a href="classoperations__research_1_1PropagationBaseObject.html#a09cbe240b742fbdcf4d3c70d19c2ed10">operations_research::PropagationBaseObject::BaseName</a></div><div class="ttdeci">virtual std::string BaseName() const</div><div class="ttdoc">Returns a base name for automatic naming.</div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentContainer_html_a6d46683fd5bcefbd1d9dc389fd34d665"><div class="ttname"><a href="classoperations__research_1_1AssignmentContainer.html#a6d46683fd5bcefbd1d9dc389fd34d665">operations_research::AssignmentContainer::operator!=</a></div><div class="ttdeci">bool operator!=(const AssignmentContainer&lt; V, E &gt; &amp;container) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04890">constraint_solver.h:4890</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a46ad005bf538f19f4f1a45b357561be9a8599203b59bbc2a25250b38cdca05131"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a8599203b59bbc2a25250b38cdca05131">operations_research::Solver::STARTS_BEFORE</a></div><div class="ttdoc">t starts before d, i.e. Start(t) &lt;= d.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00655">constraint_solver.h:655</a></div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVar_html_ad2fcd811f566cf9677c886576515f032"><div class="ttname"><a href="classoperations__research_1_1SequenceVar.html#ad2fcd811f566cf9677c886576515f032">operations_research::SequenceVar::RankNotLast</a></div><div class="ttdeci">void RankNotLast(int index)</div><div class="ttdoc">Indicates that the index_th interval var will not be ranked first of all currently unranked interval ...</div></div>
<div class="ttc" id="classoperations__research_1_1IntVarIterator_html_a5e6ce1b8883cf6764780b7108dbb8495"><div class="ttname"><a href="classoperations__research_1_1IntVarIterator.html#a5e6ce1b8883cf6764780b7108dbb8495">operations_research::IntVarIterator::Next</a></div><div class="ttdeci">virtual void Next()=0</div><div class="ttdoc">This method moves the iterator to the next value.</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_ac858bedfdb73cb24b9674ba496311999"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#ac858bedfdb73cb24b9674ba496311999">operations_research::IntervalVarElement::SetPerformedMax</a></div><div class="ttdeci">void SetPerformedMax(int64 m)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04662">constraint_solver.h:4662</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a8dd7af97dcb7f2d7161a49057b8d97d3"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a8dd7af97dcb7f2d7161a49057b8d97d3">operations_research::ModelVisitor::kSequenceVariable</a></div><div class="ttdeci">static const char kSequenceVariable[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03338">constraint_solver.h:3338</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_accc6ee62c5b500b6f4add4038e47499d"><div class="ttname"><a href="classoperations__research_1_1Solver.html#accc6ee62c5b500b6f4add4038e47499d">operations_research::Solver::MakeIntervalVarRelation</a></div><div class="ttdeci">Constraint * MakeIntervalVarRelation(IntervalVar *const t, UnaryIntervalRelation r, int64 d)</div><div class="ttdoc">This method creates a relation between an interval var and a date.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_abb68faceb7bde97b48b06ed3ee2c8965"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#abb68faceb7bde97b48b06ed3ee2c8965">operations_research::ModelVisitor::kIndex2Argument</a></div><div class="ttdeci">static const char kIndex2Argument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03388">constraint_solver.h:3388</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_ac067bc2252cc65b1eb004d5285e5fdb2"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#ac067bc2252cc65b1eb004d5285e5fdb2">operations_research::IntVar::Value</a></div><div class="ttdeci">virtual int64 Value() const =0</div><div class="ttdoc">This method returns the value of the variable.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_accc247a793239898fa4a822389614c73"><div class="ttname"><a href="classoperations__research_1_1Solver.html#accc247a793239898fa4a822389614c73">operations_research::Solver::SetBranchSelector</a></div><div class="ttdeci">void SetBranchSelector(BranchSelector bs)</div><div class="ttdoc">Sets the given branch selector on the current active search.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a57003ddd7c36d7d24a093eb1f06ff1e6"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a57003ddd7c36d7d24a093eb1f06ff1e6">operations_research::Solver::MakeTimeLimit</a></div><div class="ttdeci">RegularLimit * MakeTimeLimit(int64 time_in_ms)</div><div class="ttdoc">Creates a search limit that constrains the running time given in milliseconds.</div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVarElement_html_a448be08e73b90cd86345acc79613a051"><div class="ttname"><a href="classoperations__research_1_1SequenceVarElement.html#a448be08e73b90cd86345acc79613a051">operations_research::SequenceVarElement::SetBackwardSequence</a></div><div class="ttdeci">void SetBackwardSequence(const std::vector&lt; int &gt; &amp;backward_sequence)</div></div>
<div class="ttc" id="structoperations__research_1_1Solver_1_1IntegerCastInfo_html_ae1de17a3d4162dd6fef92daccf0741f6"><div class="ttname"><a href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#ae1de17a3d4162dd6fef92daccf0741f6">operations_research::Solver::IntegerCastInfo::maintainer</a></div><div class="ttdeci">Constraint * maintainer</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00244">constraint_solver.h:244</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a3b2298e9d49d02d122c137532ac4e0a7"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a3b2298e9d49d02d122c137532ac4e0a7">operations_research::Solver::MakeDisjunctiveConstraint</a></div><div class="ttdeci">DisjunctiveConstraint * MakeDisjunctiveConstraint(const std::vector&lt; IntervalVar * &gt; &amp;intervals, const std::string &amp;name)</div><div class="ttdoc">This constraint forces all interval vars into an non-overlapping sequence.</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a19e8499badab76a0c15b45623c76f123"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a19e8499badab76a0c15b45623c76f123">operations_research::IntervalVarElement::SetPerformedRange</a></div><div class="ttdeci">void SetPerformedRange(int64 mi, int64 ma)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04663">constraint_solver.h:4663</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_acb902acd68446f898f490691c1da6fe9"><div class="ttname"><a href="classoperations__research_1_1Solver.html#acb902acd68446f898f490691c1da6fe9">operations_research::Solver::MakeScheduleOrPostpone</a></div><div class="ttdeci">Decision * MakeScheduleOrPostpone(IntervalVar *const var, int64 est, int64 *const marker)</div><div class="ttdoc">Returns a decision that tries to schedule a task at a given time.</div></div>
<div class="ttc" id="classoperations__research_1_1IntVarIterator_html_afd583d1de9a76003cabb79710d08e1b5"><div class="ttname"><a href="classoperations__research_1_1IntVarIterator.html#afd583d1de9a76003cabb79710d08e1b5">operations_research::IntVarIterator::Ok</a></div><div class="ttdeci">virtual bool Ok() const =0</div><div class="ttdoc">This method indicates if we can call Value() or not.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a875953606fef3f5ea86436055d5db9cb"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a875953606fef3f5ea86436055d5db9cb">operations_research::ModelVisitor::kEndMaxArgument</a></div><div class="ttdeci">static const char kEndMaxArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03381">constraint_solver.h:3381</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a40446046d1ff173e05d655060ec779bf"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a40446046d1ff173e05d655060ec779bf">operations_research::Solver::MakeOpposite</a></div><div class="ttdeci">IntExpr * MakeOpposite(IntExpr *const expr)</div><div class="ttdoc">-expr</div></div>
<div class="ttc" id="classoperations__research_1_1IntVarElement_html_ace66161c2f260353b4f03ef33455cd2f"><div class="ttname"><a href="classoperations__research_1_1IntVarElement.html#ace66161c2f260353b4f03ef33455cd2f">operations_research::IntVarElement::SetValue</a></div><div class="ttdeci">void SetValue(int64 v)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04576">constraint_solver.h:4576</a></div></div>
<div class="ttc" id="classoperations__research_1_1NumericalRev_html_acefa703f28a3c0a63d826bba8f19deb9"><div class="ttname"><a href="classoperations__research_1_1NumericalRev.html#acefa703f28a3c0a63d826bba8f19deb9">operations_research::NumericalRev::Add</a></div><div class="ttdeci">void Add(Solver *const s, const T &amp;to_add)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03694">constraint_solver.h:3694</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_abe80b59dadcaf97e21967faf0b1e265d"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#abe80b59dadcaf97e21967faf0b1e265d">operations_research::IntervalVarElement::WriteToProto</a></div><div class="ttdeci">void WriteToProto(IntervalVarAssignment *interval_var_assignment_proto) const</div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_ae08d9f4aadd8be8f98637c6dec237b57"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#ae08d9f4aadd8be8f98637c6dec237b57">operations_research::SearchMonitor::AcceptUncheckedNeighbor</a></div><div class="ttdeci">virtual void AcceptUncheckedNeighbor()</div><div class="ttdoc">After accepting an unchecked neighbor during local search.</div></div>
<div class="ttc" id="namespaceoperations__research_html_aea2bf322fab4e2319a23ad22acf8ccf8"><div class="ttname"><a href="namespaceoperations__research.html#aea2bf322fab4e2319a23ad22acf8ccf8">operations_research::SetAssignmentFromAssignment</a></div><div class="ttdeci">void SetAssignmentFromAssignment(Assignment *target_assignment, const std::vector&lt; IntVar * &gt; &amp;target_vars, const Assignment *source_assignment, const std::vector&lt; IntVar * &gt; &amp;source_vars)</div><div class="ttdoc">NOLINT.</div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_a40060f6e513255a9133645c7179fa0d1"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#a40060f6e513255a9133645c7179fa0d1">operations_research::SolutionCollector::AddObjective</a></div><div class="ttdeci">void AddObjective(IntVar *const objective)</div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_a150f3693eacbeff5fcf5fb1ab954d11e"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#a150f3693eacbeff5fcf5fb1ab954d11e">operations_research::SearchMonitor::RefuteDecision</a></div><div class="ttdeci">virtual void RefuteDecision(Decision *const d)</div><div class="ttdoc">Before refuting the decision.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ac98ea1ab84216d43ee4fdd81ab7474fc"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ac98ea1ab84216d43ee4fdd81ab7474fc">operations_research::ModelVisitor::kNotMember</a></div><div class="ttdeci">static const char kNotMember[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03324">constraint_solver.h:3324</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a293233c46e5eaa308f65c7c2350553f7a29446873dacaf3696a89dfb1e617a5f5"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7a29446873dacaf3696a89dfb1e617a5f5">operations_research::Solver::VAR_PRIORITY</a></div><div class="ttdoc">VAR_PRIORITY is between DELAYED_PRIORITY and NORMAL_PRIORITY.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00597">constraint_solver.h:597</a></div></div>
<div class="ttc" id="structoperations__research_1_1Solver_1_1SearchLogParameters_html_a2c9d6d70a3357d2d6841660510cd6a19"><div class="ttname"><a href="structoperations__research_1_1Solver_1_1SearchLogParameters.html#a2c9d6d70a3357d2d6841660510cd6a19">operations_research::Solver::SearchLogParameters::objective</a></div><div class="ttdeci">OptimizeVar * objective</div><div class="ttdoc">SearchMonitors will display values of objective or variable (both cannot be used together).</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02264">constraint_solver.h:2264</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a305f50ae14045a4bde491e11d6686539"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a305f50ae14045a4bde491e11d6686539">operations_research::Solver::MakeAssignVariablesValues</a></div><div class="ttdeci">Decision * MakeAssignVariablesValues(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int64 &gt; &amp;values)</div></div>
<div class="ttc" id="classoperations__research_1_1IntExpr_html_a1d04569b37cb7fe6ed0956ab71e08bc9"><div class="ttname"><a href="classoperations__research_1_1IntExpr.html#a1d04569b37cb7fe6ed0956ab71e08bc9">operations_research::IntExpr::Bound</a></div><div class="ttdeci">virtual bool Bound() const</div><div class="ttdoc">Returns true if the min and the max of the expression are equal.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03794">constraint_solver.h:3794</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a142025432778b1638cb0325609a6667f"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a142025432778b1638cb0325609a6667f">operations_research::Solver::MakeAllowedAssignments</a></div><div class="ttdeci">Constraint * MakeAllowedAssignments(const std::vector&lt; IntVar * &gt; &amp;vars, const IntTupleSet &amp;tuples)</div><div class="ttdoc">This method creates a constraint where the graph of the relation between the variables is given in ex...</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a2eb741fdb1a57428e28d76b75828f53d"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a2eb741fdb1a57428e28d76b75828f53d">operations_research::ModelVisitor::kSizeArgument</a></div><div class="ttdeci">static const char kSizeArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03410">constraint_solver.h:3410</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a86570ad216b68c88de1ef27085e3d084"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a86570ad216b68c88de1ef27085e3d084">operations_research::Solver::IndexEvaluator3</a></div><div class="ttdeci">std::function&lt; int64(int64, int64, int64)&gt; IndexEvaluator3</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00723">constraint_solver.h:723</a></div></div>
<div class="ttc" id="classoperations__research_1_1PropagationBaseObject_html_aacb2f6b1ab33fb65796b6c46d46e0813"><div class="ttname"><a href="classoperations__research_1_1PropagationBaseObject.html#aacb2f6b1ab33fb65796b6c46d46e0813">operations_research::PropagationBaseObject::PropagationBaseObject</a></div><div class="ttdeci">PropagationBaseObject(Solver *const s)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03101">constraint_solver.h:3101</a></div></div>
<div class="ttc" id="classoperations__research_1_1Demon_html_a0c1ff1e86b1eb08d0f87eab2943dac2a"><div class="ttname"><a href="classoperations__research_1_1Demon.html#a0c1ff1e86b1eb08d0f87eab2943dac2a">operations_research::Demon::inhibit</a></div><div class="ttdeci">void inhibit(Solver *const s)</div><div class="ttdoc">This method inhibits the demon in the search tree below the current position.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a4a54531bd135948e0c2a039b4435d952"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a4a54531bd135948e0c2a039b4435d952">operations_research::Solver::SetSearchContext</a></div><div class="ttdeci">void SetSearchContext(Search *search, const std::string &amp;search_context)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a45c5a2dd0d47110ef5b00408854d8d84"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84">operations_research::Solver::IntValueStrategy</a></div><div class="ttdeci">IntValueStrategy</div><div class="ttdoc">This enum describes the strategy used to select the next variable value to set.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00333">constraint_solver.h:333</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aac9afa5dce7f5a9edfa9655496dbc47b"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aac9afa5dce7f5a9edfa9655496dbc47b">operations_research::Solver::SearchLeftDepth</a></div><div class="ttdeci">int SearchLeftDepth() const</div><div class="ttdoc">Gets the search left depth of the current active search.</div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_ab36f6f122cb3e8554b160ba67608b1c0"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#ab36f6f122cb3e8554b160ba67608b1c0">operations_research::IntVar::WhenDomain</a></div><div class="ttdeci">virtual void WhenDomain(Demon *d)=0</div><div class="ttdoc">This method attaches a demon that will watch any domain modification of the domain of the variable.</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a7941f3d8ba5465fc17c2cc9dc8266ea8"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a7941f3d8ba5465fc17c2cc9dc8266ea8">operations_research::IntervalVar::WhenEndBound</a></div><div class="ttdeci">virtual void WhenEndBound(Demon *const d)=0</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a793434fd2029abd85f59147b7671e1e9"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a793434fd2029abd85f59147b7671e1e9">operations_research::ModelVisitor::kDifference</a></div><div class="ttdeci">static const char kDifference[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03283">constraint_solver.h:3283</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a293233c46e5eaa308f65c7c2350553f7ad38fb80cf0d5468a2b5efdb0f4cd6068"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7ad38fb80cf0d5468a2b5efdb0f4cd6068">operations_research::Solver::DELAYED_PRIORITY</a></div><div class="ttdoc">DELAYED_PRIORITY is the lowest priority: Demons will be processed after VAR_PRIORITY and NORMAL_PRIOR...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00594">constraint_solver.h:594</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ad82e435c546b317d3bd7ad97f6ffb128"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ad82e435c546b317d3bd7ad97f6ffb128">operations_research::Solver::MakeMinEquality</a></div><div class="ttdeci">Constraint * MakeMinEquality(const std::vector&lt; IntVar * &gt; &amp;vars, IntVar *const min_var)</div></div>
<div class="ttc" id="classoperations__research_1_1OptimizeVar_html_a2475e9789e99a92fbe93b2eaf1b5f5b3"><div class="ttname"><a href="classoperations__research_1_1OptimizeVar.html#a2475e9789e99a92fbe93b2eaf1b5f5b3">operations_research::OptimizeVar::BeginNextDecision</a></div><div class="ttdeci">void BeginNextDecision(DecisionBuilder *const db) override</div><div class="ttdoc">Before calling DecisionBuilder::Next.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_afbc7febf6131691195e4e5ae24128d12"><div class="ttname"><a href="classoperations__research_1_1Solver.html#afbc7febf6131691195e4e5ae24128d12">operations_research::Solver::RegisterIntVar</a></div><div class="ttdeci">IntVar * RegisterIntVar(IntVar *const var)</div><div class="ttdoc">Registers a new IntVar and wraps it inside a TraceIntVar if necessary.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a7cd2b6f03b98cca52a9c1162ff4e588d"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a7cd2b6f03b98cca52a9c1162ff4e588d">operations_research::ModelVisitor::kCumulative</a></div><div class="ttdeci">static const char kCumulative[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03281">constraint_solver.h:3281</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::Assignment::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a0c5082a7f40da167784ea364c9797d0e"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a0c5082a7f40da167784ea364c9797d0e">operations_research::Solver::MakeBoolVarArray</a></div><div class="ttdeci">void MakeBoolVarArray(int var_count, const std::string &amp;name, std::vector&lt; IntVar * &gt; *vars)</div><div class="ttdoc">This method will append the vector vars with 'var_count' boolean variables having name &quot;name&lt;i&gt;&quot; wher...</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a381c6eb4722ef4ec71888612ffd9dcdb"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a381c6eb4722ef4ec71888612ffd9dcdb">operations_research::ModelVisitor::kMapDomain</a></div><div class="ttdeci">static const char kMapDomain[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03314">constraint_solver.h:3314</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aeb92d4addb41255c9732cacfcb54f795"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aeb92d4addb41255c9732cacfcb54f795">operations_research::Solver::Fail</a></div><div class="ttdeci">void Fail()</div><div class="ttdoc">Abandon the current branch in the search tree. A backtrack will follow.</div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVar_html_a53616c71ad0a199caa949b8e32679b59"><div class="ttname"><a href="classoperations__research_1_1SequenceVar.html#a53616c71ad0a199caa949b8e32679b59">operations_research::SequenceVar::size</a></div><div class="ttdeci">int64 size() const</div><div class="ttdoc">Returns the number of interval vars in the sequence.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04515">constraint_solver.h:4515</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a0cf22f4d4e6ca99119b47786c7051872"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a0cf22f4d4e6ca99119b47786c7051872">operations_research::ModelVisitor::kElement</a></div><div class="ttdeci">static const char kElement[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03288">constraint_solver.h:3288</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_af84a48721386cc4b8e3fea30b00f6543"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#af84a48721386cc4b8e3fea30b00f6543">operations_research::IntervalVar::CannotBePerformed</a></div><div class="ttdeci">bool CannotBePerformed() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04383">constraint_solver.h:4383</a></div></div>
<div class="ttc" id="classoperations__research_1_1PropagationBaseObject_html_a3d3bd9d99cf43cf184a1246d2c278c31"><div class="ttname"><a href="classoperations__research_1_1PropagationBaseObject.html#a3d3bd9d99cf43cf184a1246d2c278c31">operations_research::PropagationBaseObject::ExecuteAll</a></div><div class="ttdeci">void ExecuteAll(const SimpleRevFIFO&lt; Demon * &gt; &amp;demons)</div></div>
<div class="ttc" id="classoperations__research_1_1NumericalRevArray_html"><div class="ttname"><a href="classoperations__research_1_1NumericalRevArray.html">operations_research::NumericalRevArray</a></div><div class="ttdoc">Subclass of RevArray&lt;T&gt; which adds numerical operations.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03748">constraint_solver.h:3748</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a0f660e8597c620b46aa963ed7f07c4d7"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a0f660e8597c620b46aa963ed7f07c4d7">operations_research::Solver::RestartSearch</a></div><div class="ttdeci">void RestartSearch()</div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVar_html_a44d1e13f3ecce6542a84e54ab67275fb"><div class="ttname"><a href="classoperations__research_1_1SequenceVar.html#a44d1e13f3ecce6542a84e54ab67275fb">operations_research::SequenceVar::HorizonRange</a></div><div class="ttdeci">void HorizonRange(int64 *const hmin, int64 *const hmax) const</div><div class="ttdoc">Returns the minimum start min and the maximum end max of all interval vars in the sequence.</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a5f1474400988f1e51711f701e6755bd6"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a5f1474400988f1e51711f701e6755bd6">operations_research::IntervalVar::WhenDurationBound</a></div><div class="ttdeci">virtual void WhenDurationBound(Demon *const d)=0</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a8b1044e7c2b76345532f848a982a7106"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a8b1044e7c2b76345532f848a982a7106">operations_research::Solver::EvaluatorStrategy</a></div><div class="ttdeci">EvaluatorStrategy</div><div class="ttdoc">This enum is used by Solver::MakePhase to specify how to select variables and values during the searc...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00373">constraint_solver.h:373</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ab0b97497a2dc0adcc71932f592fa9e62"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ab0b97497a2dc0adcc71932f592fa9e62">operations_research::Solver::MakeFixedDurationIntervalVar</a></div><div class="ttdeci">IntervalVar * MakeFixedDurationIntervalVar(int64 start_min, int64 start_max, int64 duration, bool optional, const std::string &amp;name)</div><div class="ttdoc">Creates an interval var with a fixed duration.</div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_a19d94d32f3bde30deeebb883c6f71f84"><div class="ttname"><a href="classoperations__research_1_1Pack.html#a19d94d32f3bde30deeebb883c6f71f84">operations_research::Pack::Post</a></div><div class="ttdeci">void Post() override</div><div class="ttdoc">This method is called when the constraint is processed by the solver.</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_ae345b19938624df4ccb90565e78ba8ac"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#ae345b19938624df4ccb90565e78ba8ac">operations_research::IntervalVar::OldStartMax</a></div><div class="ttdeci">virtual int64 OldStartMax() const =0</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_afb58deed64a977c100587663dcc6f028"><div class="ttname"><a href="classoperations__research_1_1Solver.html#afb58deed64a977c100587663dcc6f028">operations_research::Solver::ConcatenateOperators</a></div><div class="ttdeci">LocalSearchOperator * ConcatenateOperators(const std::vector&lt; LocalSearchOperator * &gt; &amp;ops)</div><div class="ttdoc">Creates a local search operator which concatenates a vector of operators.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a75651946a55c50f7006d07a0ee4e67c2"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a75651946a55c50f7006d07a0ee4e67c2">operations_research::ModelVisitor::kPerformedExpr</a></div><div class="ttdeci">static const char kPerformedExpr[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03330">constraint_solver.h:3330</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a48cb445857aaffecb8cacf17bee1c091"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a48cb445857aaffecb8cacf17bee1c091">operations_research::IntervalVarElement::SetEndMin</a></div><div class="ttdeci">void SetEndMin(int64 m)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04651">constraint_solver.h:4651</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_a4bd4b9edfecdf647038f030759e8da11"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#a4bd4b9edfecdf647038f030759e8da11">operations_research::IntVar::WhenBound</a></div><div class="ttdeci">void WhenBound(Solver::Closure closure)</div><div class="ttdoc">This method attaches a closure that will be awakened when the variable is bound.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03960">constraint_solver.h:3960</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a671e783e6215b96ed5ccee3dda17db16"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a671e783e6215b96ed5ccee3dda17db16">operations_research::Solver::MakePiecewiseLinearExpr</a></div><div class="ttdeci">IntExpr * MakePiecewiseLinearExpr(IntExpr *expr, const PiecewiseLinearFunction &amp;f)</div><div class="ttdoc">General piecewise-linear function expression, built from f(x) where f is piecewise-linear.</div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_a5e647eb2942c419caa6d67acf062587a"><div class="ttname"><a href="classoperations__research_1_1Pack.html#a5e647eb2942c419caa6d67acf062587a">operations_research::Pack::IsUndecided</a></div><div class="ttdeci">bool IsUndecided(int var_index, int bin_index) const</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a5cceb39badf72eeb4c0e93d51bbb628c"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a5cceb39badf72eeb4c0e93d51bbb628c">operations_research::IntervalVar::SetDurationMin</a></div><div class="ttdeci">virtual void SetDurationMin(int64 m)=0</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ab7ab23bc58ea40dc03a5418ddbce7601a67ae4822c2c057bc55386cab118bbd70"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a67ae4822c2c057bc55386cab118bbd70">operations_research::Solver::CHOOSE_MIN_SIZE_HIGHEST_MAX</a></div><div class="ttdoc">Among unbound variables, select the variable with the smallest size, i.e., the smallest number of pos...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00297">constraint_solver.h:297</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_ad13c9fa4966911ea9f218fff16fac826"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#ad13c9fa4966911ea9f218fff16fac826">operations_research::IntVar::IsGreaterOrEqual</a></div><div class="ttdeci">virtual IntVar * IsGreaterOrEqual(int64 constant)=0</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a6fa8bac903075afe8a670a0c2206fcc5"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a6fa8bac903075afe8a670a0c2206fcc5">operations_research::ModelVisitor::kNonEqual</a></div><div class="ttdeci">static const char kNonEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03322">constraint_solver.h:3322</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a3a64940761b306c816e00e077906952fa1bcb9f646cc7d33aa1278c661e40ed6c"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952fa1bcb9f646cc7d33aa1278c661e40ed6c">operations_research::Solver::INTERVAL_SIMPLE</a></div><div class="ttdoc">The simple is INTERVAL_SET_TIMES_FORWARD.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00401">constraint_solver.h:401</a></div></div>
<div class="ttc" id="structoperations__research_1_1DefaultPhaseParameters_html_a5a24d11f8e77754933853ae4ae721c58"><div class="ttname"><a href="structoperations__research_1_1DefaultPhaseParameters.html#a5a24d11f8e77754933853ae4ae721c58">operations_research::DefaultPhaseParameters::value_selection_schema</a></div><div class="ttdeci">ValueSelection value_selection_schema</div><div class="ttdoc">This parameter describes which value to select for a given var.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00175">constraint_solver.h:175</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a416d8eb8834bbced25d5fe0aa74597ae"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a416d8eb8834bbced25d5fe0aa74597ae">operations_research::Solver::MakeEnterSearchCallback</a></div><div class="ttdeci">SearchMonitor * MakeEnterSearchCallback(std::function&lt; void()&gt; callback)</div><div class="ttdoc">--— Callback-based search monitors --—</div></div>
<div class="ttc" id="structoperations__research_1_1DefaultPhaseParameters_html_ac452a91363eef95dc8b527628d122c55"><div class="ttname"><a href="structoperations__research_1_1DefaultPhaseParameters.html#ac452a91363eef95dc8b527628d122c55">operations_research::DefaultPhaseParameters::heuristic_period</a></div><div class="ttdeci">int heuristic_period</div><div class="ttdoc">The distance in nodes between each run of the heuristics.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00189">constraint_solver.h:189</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a3094f1982f455fd97342c64b7c0b3ccf"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a3094f1982f455fd97342c64b7c0b3ccf">operations_research::Solver::VariableValueComparator</a></div><div class="ttdeci">std::function&lt; bool(int64, int64, int64)&gt; VariableValueComparator</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00734">constraint_solver.h:734</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6f66063ebaf61025e27e96719affa3eea455236af8bc26bb8737135982eaf82ec"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea455236af8bc26bb8737135982eaf82ec">operations_research::Solver::STAYS_IN_SYNC</a></div><div class="ttdoc">STARTS_AT_START and ENDS_AT_END at the same time.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00633">constraint_solver.h:633</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a2d38bb37c4d53747bee6bd7a4dbea683"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a2d38bb37c4d53747bee6bd7a4dbea683">operations_research::ModelVisitor::kEndsArgument</a></div><div class="ttdeci">static const char kEndsArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03383">constraint_solver.h:3383</a></div></div>
<div class="ttc" id="classoperations__research_1_1BaseObject_html_a9d8322d9fcae16059ee5a30839360bfe"><div class="ttname"><a href="classoperations__research_1_1BaseObject.html#a9d8322d9fcae16059ee5a30839360bfe">operations_research::BaseObject::~BaseObject</a></div><div class="ttdeci">virtual ~BaseObject()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03087">constraint_solver.h:3087</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a4d4c671e5d9cc8a1a1f0c6cc2e500e10"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a4d4c671e5d9cc8a1a1f0c6cc2e500e10">operations_research::Solver::Cache</a></div><div class="ttdeci">ModelCache * Cache() const</div><div class="ttdoc">Returns the cache of the model.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_abb926f9d7c8c956ceca4f847fef5602c"><div class="ttname"><a href="classoperations__research_1_1Solver.html#abb926f9d7c8c956ceca4f847fef5602c">operations_research::Solver::MakeScalProdLessOrEqual</a></div><div class="ttdeci">Constraint * MakeScalProdLessOrEqual(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int64 &gt; &amp;coefficients, int64 cst)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ad9ffde292d8e4fb458c4a36ba44b590f"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ad9ffde292d8e4fb458c4a36ba44b590f">operations_research::Solver::MakeMinimize</a></div><div class="ttdeci">OptimizeVar * MakeMinimize(IntVar *const v, int64 step)</div><div class="ttdoc">Creates a minimization objective.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6f66063ebaf61025e27e96719affa3eea84f5967fcb10aab5eca121b2c2c49962"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea84f5967fcb10aab5eca121b2c2c49962">operations_research::Solver::STARTS_AT_END</a></div><div class="ttdoc">t1 starts at t2 end, i.e. Start(t1) == End(t2) + delay.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00625">constraint_solver.h:625</a></div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_a5a589c2741d5a4b5b777b0dfe2433d13"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#a5a589c2741d5a4b5b777b0dfe2433d13">operations_research::SolutionCollector::Add</a></div><div class="ttdeci">void Add(IntVar *const var)</div><div class="ttdoc">Add API.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a4de059a43f7663843517c5a6f09dd87c"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a4de059a43f7663843517c5a6f09dd87c">operations_research::ModelVisitor::kUsageLessConstantExtension</a></div><div class="ttdeci">static const char kUsageLessConstantExtension[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03361">constraint_solver.h:3361</a></div></div>
<div class="ttc" id="classoperations__research_1_1DecisionBuilder_html_afcde421cf076575a27bed81c80093ac8"><div class="ttname"><a href="classoperations__research_1_1DecisionBuilder.html#afcde421cf076575a27bed81c80093ac8">operations_research::DecisionBuilder::Accept</a></div><div class="ttdeci">virtual void Accept(ModelVisitor *const visitor) const</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ae9387021d508fb4ecec7728972d7b8a4"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ae9387021d508fb4ecec7728972d7b8a4">operations_research::Solver::set_fail_intercept</a></div><div class="ttdeci">void set_fail_intercept(std::function&lt; void()&gt; fail_intercept)</div><div class="ttdoc">Internal.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02806">constraint_solver.h:2806</a></div></div>
<div class="ttc" id="classoperations__research_1_1SearchLimit_html_ac0ef83a00e9fb4df68e81c6e8a99d46c"><div class="ttname"><a href="classoperations__research_1_1SearchLimit.html#ac0ef83a00e9fb4df68e81c6e8a99d46c">operations_research::SearchLimit::MakeClone</a></div><div class="ttdeci">virtual SearchLimit * MakeClone() const =0</div><div class="ttdoc">Allocates a clone of the limit.</div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::SolutionCollector::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04038">constraint_solver.h:4038</a></div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentContainer_html_a1f87693caae60c7469fbffaadd6f0649"><div class="ttname"><a href="classoperations__research_1_1AssignmentContainer.html#a1f87693caae60c7469fbffaadd6f0649">operations_research::AssignmentContainer::AreAllElementsBound</a></div><div class="ttdeci">bool AreAllElementsBound() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04861">constraint_solver.h:4861</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a49e0e0ab52a53f1954157e48aef759cf"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a49e0e0ab52a53f1954157e48aef759cf">operations_research::Solver::MakePack</a></div><div class="ttdeci">Pack * MakePack(const std::vector&lt; IntVar * &gt; &amp;vars, int number_of_bins)</div><div class="ttdoc">This constraint packs all variables onto 'number_of_bins' variables.</div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_a4b8051adf09b104fd5a58b21ea6f843f"><div class="ttname"><a href="classoperations__research_1_1Pack.html#a4b8051adf09b104fd5a58b21ea6f843f">operations_research::Pack::SetAssigned</a></div><div class="ttdeci">void SetAssigned(int var_index)</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_ab157d7f9928411cc8aa0e27980ac0dc9"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#ab157d7f9928411cc8aa0e27980ac0dc9">operations_research::Assignment::ObjectiveBound</a></div><div class="ttdeci">bool ObjectiveBound() const</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a00684eaee743cc9b418ebdf99a9027be"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a00684eaee743cc9b418ebdf99a9027be">operations_research::ModelVisitor::kIsMember</a></div><div class="ttdeci">static const char kIsMember[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03309">constraint_solver.h:3309</a></div></div>
<div class="ttc" id="classoperations__research_1_1SimpleRevFIFO_html"><div class="ttname"><a href="classoperations__research_1_1SimpleRevFIFO.html">operations_research::SimpleRevFIFO</a></div><div class="ttdoc">This class represent a reversible FIFO structure.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00150">constraint_solver.h:150</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_abcfbdba215d3b15fbb4b682969943a6e"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#abcfbdba215d3b15fbb4b682969943a6e">operations_research::Assignment::Empty</a></div><div class="ttdeci">bool Empty() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04942">constraint_solver.h:4942</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a414993c6e59e4a8557c9d3871c9e09ad"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a414993c6e59e4a8557c9d3871c9e09ad">operations_research::Solver::MakeVariableLessOrEqualValue</a></div><div class="ttdeci">Decision * MakeVariableLessOrEqualValue(IntVar *const var, int64 value)</div></div>
<div class="ttc" id="classoperations__research_1_1DecisionBuilder_html_ac822e3c8055eeace0165357c9b35a490"><div class="ttname"><a href="classoperations__research_1_1DecisionBuilder.html#ac822e3c8055eeace0165357c9b35a490">operations_research::DecisionBuilder::DecisionBuilder</a></div><div class="ttdeci">DecisionBuilder()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03202">constraint_solver.h:3202</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ab7ab23bc58ea40dc03a5418ddbce7601ad0cb7bcf19973e10df6bc1ac196f1fc2"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ad0cb7bcf19973e10df6bc1ac196f1fc2">operations_research::Solver::INT_VAR_SIMPLE</a></div><div class="ttdoc">The simple selection is CHOOSE_FIRST_UNBOUND.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00257">constraint_solver.h:257</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a8dad51ecad4cc1aa2ff3fb0d0e3adfd6"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a8dad51ecad4cc1aa2ff3fb0d0e3adfd6">operations_research::Solver::neighbors</a></div><div class="ttdeci">int64 neighbors() const</div><div class="ttdoc">The number of neighbors created.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00980">constraint_solver.h:980</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ada017c11a57248871db8b1e8d39ca951"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ada017c11a57248871db8b1e8d39ca951">operations_research::Solver::MakeIsDifferentCt</a></div><div class="ttdeci">Constraint * MakeIsDifferentCt(IntExpr *const v1, IntExpr *const v2, IntVar *const b)</div><div class="ttdoc">b == (v1 != v2)</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a7c32a99f7ea498fd5fd744a40a49978b"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a7c32a99f7ea498fd5fd744a40a49978b">operations_research::ModelVisitor::kEndMinArgument</a></div><div class="ttdeci">static const char kEndMinArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03382">constraint_solver.h:3382</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a831b8d703cefe8bce66a0483e08917ee"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a831b8d703cefe8bce66a0483e08917ee">operations_research::Solver::PopState</a></div><div class="ttdeci">void PopState()</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a10de671fb0b5036582fd1111152d3516"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a10de671fb0b5036582fd1111152d3516">operations_research::Assignment::SetStartMin</a></div><div class="ttdeci">void SetStartMin(const IntervalVar *const var, int64 m)</div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVarElement_html_a2bb652744641c5c1c54a399b736a70a3"><div class="ttname"><a href="classoperations__research_1_1SequenceVarElement.html#a2bb652744641c5c1c54a399b736a70a3">operations_research::SequenceVarElement::operator==</a></div><div class="ttdeci">bool operator==(const SequenceVarElement &amp;element) const</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a39a89fa3de66d68071c66a936f17fd2ba34d4bc092ef084ef376537320f95bc13"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a39a89fa3de66d68071c66a936f17fd2ba34d4bc092ef084ef376537320f95bc13">operations_research::Solver::MINIMIZATION</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00718">constraint_solver.h:718</a></div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_a95323420129d3971fc27df7ae4cafa35"><div class="ttname"><a href="classoperations__research_1_1Pack.html#a95323420129d3971fc27df7ae4cafa35">operations_research::Pack::AssignVar</a></div><div class="ttdeci">IntVar * AssignVar(int var_index, int bin_index) const</div></div>
<div class="ttc" id="classoperations__research_1_1PropagationBaseObject_html_a8ddd42bb805c00b56ea575e78151c5e0"><div class="ttname"><a href="classoperations__research_1_1PropagationBaseObject.html#a8ddd42bb805c00b56ea575e78151c5e0">operations_research::PropagationBaseObject::~PropagationBaseObject</a></div><div class="ttdeci">~PropagationBaseObject() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03102">constraint_solver.h:3102</a></div></div>
<div class="ttc" id="structoperations__research_1_1SolutionCollector_1_1SolutionData_html_a668d11020177f060bafb5796b15743fb"><div class="ttname"><a href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a668d11020177f060bafb5796b15743fb">operations_research::SolutionCollector::SolutionData::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const SolutionData &amp;other) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04105">constraint_solver.h:4105</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ab7ab23bc58ea40dc03a5418ddbce7601a1e36b06cc28522f212507ecaac29797d"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a1e36b06cc28522f212507ecaac29797d">operations_research::Solver::CHOOSE_PATH</a></div><div class="ttdoc">Selects the next unbound variable on a path, the path being defined by the variables: var[i] correspo...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00327">constraint_solver.h:327</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ac50a9f394a6fc3e1707074bccd8bd334"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ac50a9f394a6fc3e1707074bccd8bd334">operations_research::Solver::NameAllVariables</a></div><div class="ttdeci">bool NameAllVariables() const</div><div class="ttdoc">Returns whether all variables should be named.</div></div>
<div class="ttc" id="classoperations__research_1_1RevBitMatrix_html"><div class="ttname"><a href="classoperations__research_1_1RevBitMatrix.html">operations_research::RevBitMatrix</a></div><div class="ttdoc">Matrix version of the RevBitSet class.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solveri_8h_source.html#l00470">constraint_solveri.h:470</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html">operations_research::ModelVisitor</a></div><div class="ttdoc">Model visitor.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03266">constraint_solver.h:3266</a></div></div>
<div class="ttc" id="structoperations__research_1_1InitAndGetValues_1_1Iterator_html_a70abf8f2b2cef8f502b3de7251eca9fa"><div class="ttname"><a href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html#a70abf8f2b2cef8f502b3de7251eca9fa">operations_research::InitAndGetValues::Iterator::operator *</a></div><div class="ttdeci">int64 operator *() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03898">constraint_solver.h:3898</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_a68b27e4c46794ff800c17f7b9760adba"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#a68b27e4c46794ff800c17f7b9760adba">operations_research::IntVar::~IntVar</a></div><div class="ttdeci">~IntVar() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03933">constraint_solver.h:3933</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a0dd599c8ac5d44ecebb11b325caa2415"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a0dd599c8ac5d44ecebb11b325caa2415">operations_research::Solver::MakeIsGreaterCt</a></div><div class="ttdeci">Constraint * MakeIsGreaterCt(IntExpr *const left, IntExpr *const right, IntVar *const b)</div><div class="ttdoc">b == (left &gt; right)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6fc60ae040ae35c83f09736d2e682a18a9ea125a691a8fb716dc09ac09db7c4f3"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a9ea125a691a8fb716dc09ac09db7c4f3">operations_research::Solver::PATHLNS</a></div><div class="ttdoc">Operator which relaxes two sub-chains of three consecutive arcs each.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00512">constraint_solver.h:512</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a4ca4faa013cbf49a60320f5db9d83056"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a4ca4faa013cbf49a60320f5db9d83056">operations_research::Solver::MakeNullIntersectExcept</a></div><div class="ttdeci">Constraint * MakeNullIntersectExcept(const std::vector&lt; IntVar * &gt; &amp;first_vars, const std::vector&lt; IntVar * &gt; &amp;second_vars, int64 escape_value)</div><div class="ttdoc">Creates a constraint that states that all variables in the first vector are different from all variab...</div></div>
<div class="ttc" id="structoperations__research_1_1Solver_1_1IntegerCastInfo_html_a835c75d75486a896c255acb75d6616f3"><div class="ttname"><a href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#a835c75d75486a896c255acb75d6616f3">operations_research::Solver::IntegerCastInfo::expression</a></div><div class="ttdeci">IntExpr * expression</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00243">constraint_solver.h:243</a></div></div>
<div class="ttc" id="structoperations__research_1_1Solver_1_1IntegerCastInfo_html_a5d6ae94825077efbea7967ada7a6341c"><div class="ttname"><a href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#a5d6ae94825077efbea7967ada7a6341c">operations_research::Solver::IntegerCastInfo::IntegerCastInfo</a></div><div class="ttdeci">IntegerCastInfo(IntVar *const v, IntExpr *const e, Constraint *const c)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00240">constraint_solver.h:240</a></div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_adbd3b8b25d686516cba29e11ad483b43"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#adbd3b8b25d686516cba29e11ad483b43">operations_research::SolutionCollector::SolutionCollector</a></div><div class="ttdeci">SolutionCollector(Solver *const solver, const Assignment *assignment)</div></div>
<div class="ttc" id="classoperations__research_1_1Demon_html_a2baabc490b7cd5aa80136e07b358cb21"><div class="ttname"><a href="classoperations__research_1_1Demon.html#a2baabc490b7cd5aa80136e07b358cb21">operations_research::Demon::desinhibit</a></div><div class="ttdeci">void desinhibit(Solver *const s)</div><div class="ttdoc">This method un-inhibits the demon that was previously inhibited.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a8e4b36f5874a40e36dcdf99c474555d1"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a8e4b36f5874a40e36dcdf99c474555d1">operations_research::Solver::MakeSumGreaterOrEqual</a></div><div class="ttdeci">Constraint * MakeSumGreaterOrEqual(const std::vector&lt; IntVar * &gt; &amp;vars, int64 cst)</div></div>
<div class="ttc" id="classoperations__research_1_1RevArray_html_a277a26f3089bbfa46c8c3155efe5132b"><div class="ttname"><a href="classoperations__research_1_1RevArray.html#a277a26f3089bbfa46c8c3155efe5132b">operations_research::RevArray::Value</a></div><div class="ttdeci">const T &amp; Value(int index) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03723">constraint_solver.h:3723</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_aa9d240ed3be56749691a24d4570f95e3"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#aa9d240ed3be56749691a24d4570f95e3">operations_research::Assignment::SetObjectiveMax</a></div><div class="ttdeci">void SetObjectiveMax(int64 m)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a45c5a2dd0d47110ef5b00408854d8d84a26ee6f4132972f3880a16bf01faf5886"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a26ee6f4132972f3880a16bf01faf5886">operations_research::Solver::ASSIGN_MIN_VALUE</a></div><div class="ttdoc">Selects the min value of the selected variable.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00341">constraint_solver.h:341</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6fc60ae040ae35c83f09736d2e682a18ab0af70328b3e18dfb0008306fccef2de"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18ab0af70328b3e18dfb0008306fccef2de">operations_research::Solver::MAKEACTIVE</a></div><div class="ttdoc">Operator which inserts an inactive node into a path.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00469">constraint_solver.h:469</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVarElement_html_a1dc7549eac8297e8ef9a6c3af7d24304"><div class="ttname"><a href="classoperations__research_1_1IntVarElement.html#a1dc7549eac8297e8ef9a6c3af7d24304">operations_research::IntVarElement::operator!=</a></div><div class="ttdeci">bool operator!=(const IntVarElement &amp;element) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04583">constraint_solver.h:4583</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a0935b2c6f4e19789bcc7f57010360297"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a0935b2c6f4e19789bcc7f57010360297">operations_research::Solver::MakeNonOverlappingNonStrictBoxesConstraint</a></div><div class="ttdeci">Constraint * MakeNonOverlappingNonStrictBoxesConstraint(const std::vector&lt; IntVar * &gt; &amp;x_vars, const std::vector&lt; IntVar * &gt; &amp;y_vars, const std::vector&lt; IntVar * &gt; &amp;x_size, const std::vector&lt; IntVar * &gt; &amp;y_size)</div><div class="ttdoc">This constraint states that all the boxes must not overlap.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_af778580c44fbc93a004b881e45880fa3"><div class="ttname"><a href="classoperations__research_1_1Solver.html#af778580c44fbc93a004b881e45880fa3">operations_research::Solver::MakeWeightedMaximize</a></div><div class="ttdeci">OptimizeVar * MakeWeightedMaximize(const std::vector&lt; IntVar * &gt; &amp;sub_objectives, const std::vector&lt; int64 &gt; &amp;weights, int64 step)</div><div class="ttdoc">Creates a maximization weigthed objective.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a0094fe4296645dbe40d2c5377772e6eb"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a0094fe4296645dbe40d2c5377772e6eb">operations_research::Solver::state</a></div><div class="ttdeci">SolverState state() const</div><div class="ttdoc">State of the solver.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00935">constraint_solver.h:935</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a731d293eb582eb1c2dd4b2949e131e2a"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a731d293eb582eb1c2dd4b2949e131e2a">operations_research::IntervalVarElement::Clone</a></div><div class="ttdeci">IntervalVarElement * Clone()</div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_a9799033614314d2e5be13a65628f32be"><div class="ttname"><a href="classoperations__research_1_1Pack.html#a9799033614314d2e5be13a65628f32be">operations_research::Pack::SetUnassigned</a></div><div class="ttdeci">void SetUnassigned(int var_index)</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a3abcbe1fcd37d8982941a795ed22e34a"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a3abcbe1fcd37d8982941a795ed22e34a">operations_research::IntervalVarElement::Store</a></div><div class="ttdeci">void Store()</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_ad4e82517bfdede7e0c6d86796434378f"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#ad4e82517bfdede7e0c6d86796434378f">operations_research::IntervalVar::IsPerformedBound</a></div><div class="ttdeci">bool IsPerformedBound() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04384">constraint_solver.h:4384</a></div></div>
<div class="ttc" id="classoperations__research_1_1DecisionVisitor_html_afce6fadefebcd2a8b67b2e50fdcd4450"><div class="ttname"><a href="classoperations__research_1_1DecisionVisitor.html#afce6fadefebcd2a8b67b2e50fdcd4450">operations_research::DecisionVisitor::VisitScheduleOrExpedite</a></div><div class="ttdeci">virtual void VisitScheduleOrExpedite(IntervalVar *const var, int64 est)</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a81c8f76d39ff0529fe40e70f8319d5d2"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a81c8f76d39ff0529fe40e70f8319d5d2">operations_research::Assignment::HasObjective</a></div><div class="ttdeci">bool HasObjective() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04972">constraint_solver.h:4972</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a5425edc7904146624603580c53da1619"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a5425edc7904146624603580c53da1619">operations_research::IntervalVarElement::SetEndMax</a></div><div class="ttdeci">void SetEndMax(int64 m)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04652">constraint_solver.h:4652</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a6b181a6b49df0fa3c31f492c53693174"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a6b181a6b49df0fa3c31f492c53693174">operations_research::Assignment::Save</a></div><div class="ttdeci">bool Save(const std::string &amp;filename) const</div><div class="ttdoc">Saves the assignment to a file.</div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_aa7d76b766faf39c1652b6617eac5fe20"><div class="ttname"><a href="classoperations__research_1_1Pack.html#aa7d76b766faf39c1652b6617eac5fe20">operations_research::Pack::ClearAll</a></div><div class="ttdeci">void ClearAll()</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a657ccc52a96d58f8c0e8eedc204952fb"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a657ccc52a96d58f8c0e8eedc204952fb">operations_research::Solver::SearchDepth</a></div><div class="ttdeci">int SearchDepth() const</div><div class="ttdoc">Gets the search depth of the current active search.</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a63e7391acda125e12ffe6a86ac492f2c"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a63e7391acda125e12ffe6a86ac492f2c">operations_research::IntervalVar::SetEndMin</a></div><div class="ttdeci">virtual void SetEndMin(int64 m)=0</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_aa397e45304c8b4a7b5b16392f80cc781"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#aa397e45304c8b4a7b5b16392f80cc781">operations_research::ModelVisitor::kCumulsArgument</a></div><div class="ttdeci">static const char kCumulsArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03375">constraint_solver.h:3375</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ade22213fff69cfb37d8238e8fd3073dfa0232b3ece732fa7e71171f78888cea50"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ade22213fff69cfb37d8238e8fd3073dfa0232b3ece732fa7e71171f78888cea50">operations_research::Solver::CHOICE_POINT</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00699">constraint_solver.h:699</a></div></div>
<div class="ttc" id="structoperations__research_1_1Solver_1_1IntegerCastInfo_html_ab15f186e97754835d5913283a1e176cf"><div class="ttname"><a href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#ab15f186e97754835d5913283a1e176cf">operations_research::Solver::IntegerCastInfo::IntegerCastInfo</a></div><div class="ttdeci">IntegerCastInfo()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00238">constraint_solver.h:238</a></div></div>
<div class="ttc" id="classoperations__research_1_1CastConstraint_html_a238836497bd5aa00b0d74d3ba2a1dc03"><div class="ttname"><a href="classoperations__research_1_1CastConstraint.html#a238836497bd5aa00b0d74d3ba2a1dc03">operations_research::CastConstraint::target_var</a></div><div class="ttdeci">IntVar * target_var() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03560">constraint_solver.h:3560</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVarIterator_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1IntVarIterator.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::IntVarIterator::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div><div class="ttdoc">Pretty Print.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03863">constraint_solver.h:3863</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a073341aff108926778a79807f186c4a9"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a073341aff108926778a79807f186c4a9">operations_research::Solver::MakeGenericTabuSearch</a></div><div class="ttdeci">SearchMonitor * MakeGenericTabuSearch(bool maximize, IntVar *const v, int64 step, const std::vector&lt; IntVar * &gt; &amp;tabu_vars, int64 forbid_tenure)</div><div class="ttdoc">Creates a Tabu Search based on the vars |vars|.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ac6d86b11992187f28b77b7c48e0af0c9"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ac6d86b11992187f28b77b7c48e0af0c9">operations_research::ModelVisitor::kPower</a></div><div class="ttdeci">static const char kPower[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03331">constraint_solver.h:3331</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ab95b49639e4e70860b08ac6c29235b1a"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ab95b49639e4e70860b08ac6c29235b1a">operations_research::ModelVisitor::kActiveArgument</a></div><div class="ttdeci">static const char kActiveArgument[]</div><div class="ttdoc">argument names:</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03367">constraint_solver.h:3367</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a1896fe755b612dbebd2c46638f8977a2"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a1896fe755b612dbebd2c46638f8977a2">operations_research::Assignment::Restore</a></div><div class="ttdeci">void Restore()</div></div>
<div class="ttc" id="classoperations__research_1_1OptimizeVar_html_ad4e4776711893cc98308f12595fec2b8"><div class="ttname"><a href="classoperations__research_1_1OptimizeVar.html#ad4e4776711893cc98308f12595fec2b8">operations_research::OptimizeVar::OptimizeVar</a></div><div class="ttdeci">OptimizeVar(Solver *const s, bool maximize, IntVar *const a, int64 step)</div></div>
<div class="ttc" id="classoperations__research_1_1IntExpr_html_a0b5304838bbd2834ba9f7b38db07996f"><div class="ttname"><a href="classoperations__research_1_1IntExpr.html#a0b5304838bbd2834ba9f7b38db07996f">operations_research::IntExpr::WhenRange</a></div><div class="ttdeci">void WhenRange(Solver::Closure closure)</div><div class="ttdoc">Attach a demon that will watch the min or the max of the expression.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03811">constraint_solver.h:3811</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a39e5a78e9409aad82cd5349dcb0f4c01"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a39e5a78e9409aad82cd5349dcb0f4c01">operations_research::Assignment::ActivateObjective</a></div><div class="ttdeci">void ActivateObjective()</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a2b404451964b1e791a691b4d0cee4259"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a2b404451964b1e791a691b4d0cee4259">operations_research::Solver::MakeLocalSearchPhaseParameters</a></div><div class="ttdeci">LocalSearchPhaseParameters * MakeLocalSearchPhaseParameters(IntVar *objective, LocalSearchOperator *const ls_operator, DecisionBuilder *const sub_decision_builder)</div><div class="ttdoc">Local Search Phase Parameters.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_adbfd1fe2611bc7b45421ae81d66d7444"><div class="ttname"><a href="classoperations__research_1_1Solver.html#adbfd1fe2611bc7b45421ae81d66d7444">operations_research::Solver::Int64ToIntVar</a></div><div class="ttdeci">std::function&lt; IntVar *(int64)&gt; Int64ToIntVar</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00727">constraint_solver.h:727</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ab852c6e66eeeeec6a106a7c6135ed89d"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ab852c6e66eeeeec6a106a7c6135ed89d">operations_research::Solver::MakePathTransitPrecedenceConstraint</a></div><div class="ttdeci">Constraint * MakePathTransitPrecedenceConstraint(std::vector&lt; IntVar * &gt; nexts, std::vector&lt; IntVar * &gt; transits, const std::vector&lt; std::pair&lt; int, int &gt;&gt; &amp;precedences)</div><div class="ttdoc">Same as MakePathPrecedenceConstraint but will force i to be before j if the sum of transits on the pa...</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aac4aa5ecf086378b1bbac4b669bab4db"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aac4aa5ecf086378b1bbac4b669bab4db">operations_research::Solver::Accept</a></div><div class="ttdeci">void Accept(ModelVisitor *const visitor) const</div><div class="ttdoc">Accepts the given model visitor.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a3216144f5779ad0022bd7a0421c858d7"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a3216144f5779ad0022bd7a0421c858d7">operations_research::Solver::EndSearch</a></div><div class="ttdeci">void EndSearch()</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a126deb47fb75837e86f4fccfe56c0a04"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a126deb47fb75837e86f4fccfe56c0a04">operations_research::Solver::MakeStrictDisjunctiveConstraint</a></div><div class="ttdeci">DisjunctiveConstraint * MakeStrictDisjunctiveConstraint(const std::vector&lt; IntervalVar * &gt; &amp;intervals, const std::string &amp;name)</div><div class="ttdoc">This constraint forces all interval vars into an non-overlapping sequence.</div></div>
<div class="ttc" id="classoperations__research_1_1IntVarElement_html_a33ef474050b31ee553ce99c1960046d9"><div class="ttname"><a href="classoperations__research_1_1IntVarElement.html#a33ef474050b31ee553ce99c1960046d9">operations_research::IntVarElement::operator==</a></div><div class="ttdeci">bool operator==(const IntVarElement &amp;element) const</div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentElement_html"><div class="ttname"><a href="classoperations__research_1_1AssignmentElement.html">operations_research::AssignmentElement</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04530">constraint_solver.h:4530</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_adbc3285e0e5dac4f291280baed6a3660"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#adbc3285e0e5dac4f291280baed6a3660">operations_research::ModelVisitor::kExpressionArgument</a></div><div class="ttdeci">static const char kExpressionArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03384">constraint_solver.h:3384</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aa9726f5458b77973475a32178fe512b3"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aa9726f5458b77973475a32178fe512b3">operations_research::Solver::IndexEvaluator1</a></div><div class="ttdeci">std::function&lt; int64(int64)&gt; IndexEvaluator1</div><div class="ttdoc">Callback typedefs.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00721">constraint_solver.h:721</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6aed1be9e6a24eede7ddb40b41a51e19"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6aed1be9e6a24eede7ddb40b41a51e19">operations_research::Solver::MakeNonEquality</a></div><div class="ttdeci">Constraint * MakeNonEquality(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">left != right</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ab1d99d874f178f28a6cc2abc9c6f30a4"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ab1d99d874f178f28a6cc2abc9c6f30a4">operations_research::Solver::ReSeed</a></div><div class="ttdeci">void ReSeed(int32 seed)</div><div class="ttdoc">Reseed the solver random generator.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02778">constraint_solver.h:2778</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_aa8840e4eb3896d895e360b593b251163"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#aa8840e4eb3896d895e360b593b251163">operations_research::Assignment::DurationMax</a></div><div class="ttdeci">int64 DurationMax(const IntervalVar *const var) const</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6fc60ae040ae35c83f09736d2e682a18a1c5d6c437384057c9b472a5081800462"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a1c5d6c437384057c9b472a5081800462">operations_research::Solver::EXCHANGE</a></div><div class="ttdoc">Operator which exchanges the positions of two nodes.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00450">constraint_solver.h:450</a></div></div>
<div class="ttc" id="classoperations__research_1_1RoutingModel_html"><div class="ttname"><a href="classoperations__research_1_1RoutingModel.html">operations_research::RoutingModel</a></div><div class="ttdef"><b>Definition:</b> <a href="routing_8h_source.html#l00206">routing.h:206</a></div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_a85ce8edd658bfd2632f78a4adb41fbf9"><div class="ttname"><a href="classoperations__research_1_1Pack.html#a85ce8edd658bfd2632f78a4adb41fbf9">operations_research::Pack::IsPossible</a></div><div class="ttdeci">bool IsPossible(int var_index, int bin_index) const</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a3c52162d7e34b21d93dad58543e5e6b1"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a3c52162d7e34b21d93dad58543e5e6b1">operations_research::Solver::MakeIntervalRelaxedMin</a></div><div class="ttdeci">IntervalVar * MakeIntervalRelaxedMin(IntervalVar *const interval_var)</div><div class="ttdoc">Creates and returns an interval variable that wraps around the given one, relaxing the min start and ...</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a60e019a6fcc850c0f9b3f1d0d510ff58"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a60e019a6fcc850c0f9b3f1d0d510ff58">operations_research::ModelVisitor::kMember</a></div><div class="ttdeci">static const char kMember[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03317">constraint_solver.h:3317</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a6a623ce0e4622390eee08d0e5b501cea"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a6a623ce0e4622390eee08d0e5b501cea">operations_research::ModelVisitor::kGlobalCardinality</a></div><div class="ttdeci">static const char kGlobalCardinality[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03293">constraint_solver.h:3293</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ad510d142b8ae51807937639ce713e830"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ad510d142b8ae51807937639ce713e830">operations_research::ModelVisitor::kRelaxedMaxOperation</a></div><div class="ttdeci">static const char kRelaxedMaxOperation[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03431">constraint_solver.h:3431</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6fc60ae040ae35c83f09736d2e682a18a2893291ad956ff115a7a331f512cd4a3"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a2893291ad956ff115a7a331f512cd4a3">operations_research::Solver::RELOCATE</a></div><div class="ttdoc">Relocate neighborhood with length of 1 (see OROPT comment).</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00441">constraint_solver.h:441</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_aa09fc06807187218aa49ac0af4147f8f"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#aa09fc06807187218aa49ac0af4147f8f">operations_research::Assignment::SetUnperformed</a></div><div class="ttdeci">void SetUnperformed(const SequenceVar *const var, const std::vector&lt; int &gt; &amp;unperformed)</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a27f93e67bcfff37a7387c8d0470a1a84"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a27f93e67bcfff37a7387c8d0470a1a84">operations_research::ModelVisitor::kIsDifferent</a></div><div class="ttdeci">static const char kIsDifferent[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03303">constraint_solver.h:3303</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a0d9e5851d0f32ac86e3a80f9d83f56f7"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a0d9e5851d0f32ac86e3a80f9d83f56f7">operations_research::ModelVisitor::kIntervalVariable</a></div><div class="ttdeci">static const char kIntervalVariable[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03300">constraint_solver.h:3300</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a483098cee8f04c87368cd05674dda9df"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a483098cee8f04c87368cd05674dda9df">operations_research::Solver::CheckConstraint</a></div><div class="ttdeci">bool CheckConstraint(Constraint *const ct)</div><div class="ttdoc">Checks whether adding this constraint will lead to an immediate failure.</div></div>
<div class="ttc" id="classoperations__research_1_1OptimizeVar_html_a7bcea05dd62f2b212dd18322fd22b32e"><div class="ttname"><a href="classoperations__research_1_1OptimizeVar.html#a7bcea05dd62f2b212dd18322fd22b32e">operations_research::OptimizeVar::found_initial_solution_</a></div><div class="ttdeci">bool found_initial_solution_</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04164">constraint_solver.h:4164</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6fc60ae040ae35c83f09736d2e682a18a952b4c317733a065c74841dc00fe8bd9"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a952b4c317733a065c74841dc00fe8bd9">operations_research::Solver::EXTENDEDSWAPACTIVE</a></div><div class="ttdoc">Operator which makes an inactive node active and an active one inactive.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00503">constraint_solver.h:503</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_affc00ecba247e10af0e2bebb3e1718c5"><div class="ttname"><a href="classoperations__research_1_1Solver.html#affc00ecba247e10af0e2bebb3e1718c5">operations_research::Solver::SaveAndAdd</a></div><div class="ttdeci">void SaveAndAdd(T *adr, T val)</div><div class="ttdoc">All-in-one SaveAndAdd_value.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02764">constraint_solver.h:2764</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a4254227d24caa66d4353bcd9949a5a91"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a4254227d24caa66d4353bcd9949a5a91">operations_research::Solver::MakeElementEquality</a></div><div class="ttdeci">Constraint * MakeElementEquality(const std::vector&lt; int64 &gt; &amp;vals, IntVar *const index, IntVar *const target)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a39a89fa3de66d68071c66a936f17fd2ba759c34a99344306429e887634b2d688e"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a39a89fa3de66d68071c66a936f17fd2ba759c34a99344306429e887634b2d688e">operations_research::Solver::NOT_SET</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00718">constraint_solver.h:718</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a9cd4e8b40edef03778fe1bd053eb41a9"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a9cd4e8b40edef03778fe1bd053eb41a9">operations_research::Solver::MakeLocalSearchPhase</a></div><div class="ttdeci">DecisionBuilder * MakeLocalSearchPhase(Assignment *const assignment, LocalSearchPhaseParameters *const parameters)</div><div class="ttdoc">Local Search decision builders factories.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a51b35b919713ff95a1319b391a818948"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a51b35b919713ff95a1319b391a818948">operations_research::ModelVisitor::kBetween</a></div><div class="ttdeci">static const char kBetween[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03275">constraint_solver.h:3275</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a3460e6ccb606b0169c9ad76e7eeffa35"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a3460e6ccb606b0169c9ad76e7eeffa35">operations_research::Solver::MakeIntConst</a></div><div class="ttdeci">IntVar * MakeIntConst(int64 val, const std::string &amp;name)</div><div class="ttdoc">IntConst will create a constant expression.</div></div>
<div class="ttc" id="structoperations__research_1_1DefaultPhaseParameters_html_a61d9b3f13793427aab1d091252cabcdb"><div class="ttname"><a href="structoperations__research_1_1DefaultPhaseParameters.html#a61d9b3f13793427aab1d091252cabcdb">operations_research::DefaultPhaseParameters::var_selection_schema</a></div><div class="ttdeci">VariableSelection var_selection_schema</div><div class="ttdoc">This parameter describes how the next variable to instantiate will be chosen.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00172">constraint_solver.h:172</a></div></div>
<div class="ttc" id="structoperations__research_1_1DefaultPhaseParameters_html_a5a43af9bcd9bfec04dbc66cc1a0c1ffdac4b4fc1afb505f9a378e3d55747c2c2a"><div class="ttname"><a href="structoperations__research_1_1DefaultPhaseParameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffdac4b4fc1afb505f9a378e3d55747c2c2a">operations_research::DefaultPhaseParameters::CHOOSE_MAX_SUM_IMPACT</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00158">constraint_solver.h:158</a></div></div>
<div class="ttc" id="classoperations__research_1_1PropagationBaseObject_html_a31eda3918c04e32fa9e8c432d72b2d60"><div class="ttname"><a href="classoperations__research_1_1PropagationBaseObject.html#a31eda3918c04e32fa9e8c432d72b2d60">operations_research::PropagationBaseObject::HasName</a></div><div class="ttdeci">bool HasName() const</div><div class="ttdoc">Returns whether the object has been named or not.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a879d8c2011eff14fe12fb47819dc45a1"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a879d8c2011eff14fe12fb47819dc45a1">operations_research::ModelVisitor::VisitIntegerMatrixArgument</a></div><div class="ttdeci">virtual void VisitIntegerMatrixArgument(const std::string &amp;arg_name, const IntTupleSet &amp;tuples)</div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_a5b06ebd6d5afd41f685a81fedb97a425"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#a5b06ebd6d5afd41f685a81fedb97a425">operations_research::IntVar::RemoveValue</a></div><div class="ttdeci">virtual void RemoveValue(int64 v)=0</div><div class="ttdoc">This method removes the value 'v' from the domain of the variable.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_afdd57d000496bd12a81e008f1445c6e0"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#afdd57d000496bd12a81e008f1445c6e0">operations_research::ModelVisitor::kProduct</a></div><div class="ttdeci">static const char kProduct[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03332">constraint_solver.h:3332</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a675d33a9ef9aa399017fb68e652c7a5c"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a675d33a9ef9aa399017fb68e652c7a5c">operations_research::Solver::SaveAndSetValue</a></div><div class="ttdeci">void SaveAndSetValue(T *adr, T val)</div><div class="ttdoc">All-in-one SaveAndSetValue.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02755">constraint_solver.h:2755</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a9d247821942bd436a451b98b6a820a0b"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a9d247821942bd436a451b98b6a820a0b">operations_research::ModelVisitor::kElementEqual</a></div><div class="ttdeci">static const char kElementEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03289">constraint_solver.h:3289</a></div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_a8d4b11f435b76c6568c2c0a08cccb976"><div class="ttname"><a href="classoperations__research_1_1Pack.html#a8d4b11f435b76c6568c2c0a08cccb976">operations_research::Pack::AssignFirstPossibleToBin</a></div><div class="ttdeci">void AssignFirstPossibleToBin(int bin_index)</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a88bd04cf3933762c0092fcda94161a1c"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a88bd04cf3933762c0092fcda94161a1c">operations_research::Assignment::StartMin</a></div><div class="ttdeci">int64 StartMin(const IntervalVar *const var) const</div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_ad6447dcc60c8d0bb89d7c72530afb842"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#ad6447dcc60c8d0bb89d7c72530afb842">operations_research::SolutionCollector::prototype_</a></div><div class="ttdeci">std::unique_ptr&lt; Assignment &gt; prototype_</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04121">constraint_solver.h:4121</a></div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVarElement_html_ab5c3328c1af7a92198fe1b21fc148202"><div class="ttname"><a href="classoperations__research_1_1SequenceVarElement.html#ab5c3328c1af7a92198fe1b21fc148202">operations_research::SequenceVarElement::WriteToProto</a></div><div class="ttdeci">void WriteToProto(SequenceVarAssignment *sequence_var_assignment_proto) const</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a73d2f116de177f1133bdbf21aa9c3f97"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a73d2f116de177f1133bdbf21aa9c3f97">operations_research::Solver::MakeLastSolutionCollector</a></div><div class="ttdeci">SolutionCollector * MakeLastSolutionCollector()</div><div class="ttdoc">Collect the last solution of the search.</div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_aa3cba39da831c24e851ab05f694ee515"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#aa3cba39da831c24e851ab05f694ee515">operations_research::SolutionCollector::wall_time</a></div><div class="ttdeci">int64 wall_time(int n) const</div><div class="ttdoc">Returns the wall time in ms for the nth solution.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a2f2bea2202c96738b11b050e71a28e63a6ee4694724cd35dac21d0f5db73c8650"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63a6ee4694724cd35dac21d0f5db73c8650">operations_research::Solver::AT_SOLUTION</a></div><div class="ttdoc">After successful NextSolution and before EndSearch.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00710">constraint_solver.h:710</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_abbd293afc60381f8ff32477a20506bc1"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#abbd293afc60381f8ff32477a20506bc1">operations_research::IntervalVar::EndMin</a></div><div class="ttdeci">virtual int64 EndMin() const =0</div><div class="ttdoc">These methods query, set, and watch the end position of the interval var.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6fc60ae040ae35c83f09736d2e682a18ad699bdf1731bd839b56c299536ba1d9d"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18ad699bdf1731bd839b56c299536ba1d9d">operations_research::Solver::CROSS</a></div><div class="ttdoc">Operator which cross exchanges the starting chains of 2 paths, including exchanging the whole paths.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00461">constraint_solver.h:461</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVarElement_html_a53e9735282c0bf0769962bd1b6a643bc"><div class="ttname"><a href="classoperations__research_1_1IntVarElement.html#a53e9735282c0bf0769962bd1b6a643bc">operations_research::IntVarElement::Min</a></div><div class="ttdeci">int64 Min() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04562">constraint_solver.h:4562</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aceb03eaad3991683ceb53c9e11131145"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aceb03eaad3991683ceb53c9e11131145">operations_research::Solver::MakeIsGreaterOrEqualCt</a></div><div class="ttdeci">Constraint * MakeIsGreaterOrEqualCt(IntExpr *const left, IntExpr *const right, IntVar *const b)</div><div class="ttdoc">b == (left &gt;= right)</div></div>
<div class="ttc" id="classoperations__research_1_1IntVarLocalSearchFilter_html"><div class="ttname"><a href="classoperations__research_1_1IntVarLocalSearchFilter.html">operations_research::IntVarLocalSearchFilter</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solveri_8h_source.html#l01553">constraint_solveri.h:1553</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ae399dd0c06ba1013587ce790c2022484"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ae399dd0c06ba1013587ce790c2022484">operations_research::Solver::MakeSortingConstraint</a></div><div class="ttdeci">Constraint * MakeSortingConstraint(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; IntVar * &gt; &amp;sorted)</div><div class="ttdoc">Creates a constraint binding the arrays of variables &quot;vars&quot; and &quot;sorted_vars&quot;: sorted_vars[0] must be...</div></div>
<div class="ttc" id="structoperations__research_1_1DefaultPhaseParameters_html_a36703c0bee7e0f1e68f64e0bb9307382a50d1448013c6f17125caee18aa418af7"><div class="ttname"><a href="structoperations__research_1_1DefaultPhaseParameters.html#a36703c0bee7e0f1e68f64e0bb9307382a50d1448013c6f17125caee18aa418af7">operations_research::DefaultPhaseParameters::NORMAL</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00168">constraint_solver.h:168</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_ae847e4b8c12c8c219f45e2f262ac7752"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#ae847e4b8c12c8c219f45e2f262ac7752">operations_research::Assignment::Objective</a></div><div class="ttdeci">IntVar * Objective() const</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_ad625370707130c0d1ba5cd64c2441a1c"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#ad625370707130c0d1ba5cd64c2441a1c">operations_research::IntervalVarElement::PerformedMin</a></div><div class="ttdeci">int64 PerformedMin() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04625">constraint_solver.h:4625</a></div></div>
<div class="ttc" id="classoperations__research_1_1DisjunctiveConstraint_html_afc37bcfd26805cab838cef7ae4c87444"><div class="ttname"><a href="classoperations__research_1_1DisjunctiveConstraint.html#afc37bcfd26805cab838cef7ae4c87444">operations_research::DisjunctiveConstraint::transition_time_</a></div><div class="ttdeci">Solver::IndexEvaluator2 transition_time_</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05260">constraint_solver.h:5260</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a07aba9fc032a1bb68b4165ff2068e6a6"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a07aba9fc032a1bb68b4165ff2068e6a6">operations_research::Solver::MakeIndexOfFirstMaxValueConstraint</a></div><div class="ttdeci">Constraint * MakeIndexOfFirstMaxValueConstraint(IntVar *index, const std::vector&lt; IntVar * &gt; &amp;vars)</div><div class="ttdoc">Creates a constraint that binds the index variable to the index of the first variable with the maximu...</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a80fdadbf273640022be0e62fe34ca247"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a80fdadbf273640022be0e62fe34ca247">operations_research::IntervalVar::IntervalVar</a></div><div class="ttdeci">IntervalVar(Solver *const solver, const std::string &amp;name)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04291">constraint_solver.h:4291</a></div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentContainer_html_a55e6ebe94a380d6a66e470eafc84f6ff"><div class="ttname"><a href="classoperations__research_1_1AssignmentContainer.html#a55e6ebe94a380d6a66e470eafc84f6ff">operations_research::AssignmentContainer::AddAtPosition</a></div><div class="ttdeci">E * AddAtPosition(V *var, int position)</div><div class="ttdoc">Advanced usage: Adds element at a given position; position has to have been allocated with Assignment...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04770">constraint_solver.h:4770</a></div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVar_html_a01635a3b908310e048be6c6b85366bb8"><div class="ttname"><a href="classoperations__research_1_1SequenceVar.html#a01635a3b908310e048be6c6b85366bb8">operations_research::SequenceVar::ComputePossibleFirstsAndLasts</a></div><div class="ttdeci">void ComputePossibleFirstsAndLasts(std::vector&lt; int &gt; *const possible_firsts, std::vector&lt; int &gt; *const possible_lasts)</div><div class="ttdoc">Computes the set of indices of interval variables that can be ranked first in the set of unranked act...</div></div>
<div class="ttc" id="classoperations__research_1_1InitAndGetValues_html_a2387033802383edbdc95f9bbb12a707e"><div class="ttname"><a href="classoperations__research_1_1InitAndGetValues.html#a2387033802383edbdc95f9bbb12a707e">operations_research::InitAndGetValues::begin</a></div><div class="ttdeci">Iterator begin()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03880">constraint_solver.h:3880</a></div></div>
<div class="ttc" id="classoperations__research_1_1Demon_html_aff915cd1c182d7e7ce5c9d15e9ae1da7"><div class="ttname"><a href="classoperations__research_1_1Demon.html#aff915cd1c182d7e7ce5c9d15e9ae1da7">operations_research::Demon::Run</a></div><div class="ttdeci">virtual void Run(Solver *const s)=0</div><div class="ttdoc">This is the main callback of the demon.</div></div>
<div class="ttc" id="classoperations__research_1_1NumericalRevArray_html_a651028799de2560833cac2fff292fdf1"><div class="ttname"><a href="classoperations__research_1_1NumericalRevArray.html#a651028799de2560833cac2fff292fdf1">operations_research::NumericalRevArray::Add</a></div><div class="ttdeci">void Add(Solver *const s, int index, const T &amp;to_add)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03752">constraint_solver.h:3752</a></div></div>
<div class="ttc" id="classoperations__research_1_1RegularLimit_html_a80533bb150275c3c1c46e7ee3f31a822"><div class="ttname"><a href="classoperations__research_1_1RegularLimit.html#a80533bb150275c3c1c46e7ee3f31a822">operations_research::RegularLimit::wall_time</a></div><div class="ttdeci">int64 wall_time() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04227">constraint_solver.h:4227</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ac63a29f1d105b33b6cfab10c9f5761e0"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ac63a29f1d105b33b6cfab10c9f5761e0">operations_research::Solver::MakeSplitVariableDomain</a></div><div class="ttdeci">Decision * MakeSplitVariableDomain(IntVar *const var, int64 val, bool start_with_lower_half)</div></div>
<div class="ttc" id="classoperations__research_1_1IntExpr_html_a1a1e45676556681a2aaff82125991f16"><div class="ttname"><a href="classoperations__research_1_1IntExpr.html#a1a1e45676556681a2aaff82125991f16">operations_research::IntExpr::SetValue</a></div><div class="ttdeci">virtual void SetValue(int64 v)</div><div class="ttdoc">This method sets the value of the expression.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03791">constraint_solver.h:3791</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_acca41811e8aaab0112b987749c0ecb93"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#acca41811e8aaab0112b987749c0ecb93">operations_research::IntVar::index</a></div><div class="ttdeci">int index() const</div><div class="ttdoc">Returns the index of the variable.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04023">constraint_solver.h:4023</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a4a3cb0b23fcbe58843ddd47725c298b9"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a4a3cb0b23fcbe58843ddd47725c298b9">operations_research::Solver::MakeIsLessCstCt</a></div><div class="ttdeci">Constraint * MakeIsLessCstCt(IntExpr *const v, int64 c, IntVar *const b)</div><div class="ttdoc">b == (v &lt; c)</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a11963e86e6bc074096264e96ccd5c755"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a11963e86e6bc074096264e96ccd5c755">operations_research::Assignment::MutableIntVarContainer</a></div><div class="ttdeci">IntContainer * MutableIntVarContainer()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05081">constraint_solver.h:5081</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a162a515ab9cca0684b341c60cc27b23f"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a162a515ab9cca0684b341c60cc27b23f">operations_research::ModelVisitor::kTransition</a></div><div class="ttdeci">static const char kTransition[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03347">constraint_solver.h:3347</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a369008c7c6e6d4939219f3ebd65967ba"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a369008c7c6e6d4939219f3ebd65967ba">operations_research::Solver::ActiveSearch</a></div><div class="ttdeci">Search * ActiveSearch() const</div><div class="ttdoc">Returns the active search, nullptr outside search.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a68ccd69d2cb81ad9b176a007275fde0b"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a68ccd69d2cb81ad9b176a007275fde0b">operations_research::Solver::FindOneNeighbor</a></div><div class="ttdeci">friend class FindOneNeighbor</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02877">constraint_solver.h:2877</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a5acde03412fe0930a4c3bca94980633f"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a5acde03412fe0930a4c3bca94980633f">operations_research::Solver::MakeIsLessCt</a></div><div class="ttdeci">Constraint * MakeIsLessCt(IntExpr *const left, IntExpr *const right, IntVar *const b)</div><div class="ttdoc">b == (left &lt; right)</div></div>
<div class="ttc" id="classoperations__research_1_1OptimizeVar_html_ae983cf659c971e1f2095a2c5a0e81eca"><div class="ttname"><a href="classoperations__research_1_1OptimizeVar.html#ae983cf659c971e1f2095a2c5a0e81eca">operations_research::OptimizeVar::AcceptDelta</a></div><div class="ttdeci">bool AcceptDelta(Assignment *delta, Assignment *deltadelta) override</div><div class="ttdoc">Internal methods.</div></div>
<div class="ttc" id="classoperations__research_1_1IntExpr_html_a0034062c82083a6c0af5aae1859ef66b"><div class="ttname"><a href="classoperations__research_1_1IntExpr.html#a0034062c82083a6c0af5aae1859ef66b">operations_research::IntExpr::SetMax</a></div><div class="ttdeci">virtual void SetMax(int64 m)=0</div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVarElement_html_a6ca72bf40a2dcf1161e94fc8fde61d22"><div class="ttname"><a href="classoperations__research_1_1SequenceVarElement.html#a6ca72bf40a2dcf1161e94fc8fde61d22">operations_research::SequenceVarElement::SetUnperformed</a></div><div class="ttdeci">void SetUnperformed(const std::vector&lt; int &gt; &amp;unperformed)</div></div>
<div class="ttc" id="classoperations__research_1_1SearchLimit_html_acdef27972648252e66630c3b078aa962"><div class="ttname"><a href="classoperations__research_1_1SearchLimit.html#acdef27972648252e66630c3b078aa962">operations_research::SearchLimit::RefuteDecision</a></div><div class="ttdeci">void RefuteDecision(Decision *const d) override</div><div class="ttdoc">Before refuting the decision.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_afa5e2b7b012186510cd89269b72537c3"><div class="ttname"><a href="classoperations__research_1_1Solver.html#afa5e2b7b012186510cd89269b72537c3">operations_research::Solver::MakeLexicalLess</a></div><div class="ttdeci">Constraint * MakeLexicalLess(const std::vector&lt; IntVar * &gt; &amp;left, const std::vector&lt; IntVar * &gt; &amp;right)</div><div class="ttdoc">std::vector&lt;IntVar*&gt;* const sorted);</div></div>
<div class="ttc" id="classoperations__research_1_1RegularLimit_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1RegularLimit.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::RegularLimit::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div></div>
<div class="ttc" id="classoperations__research_1_1CastConstraint_html"><div class="ttname"><a href="classoperations__research_1_1CastConstraint.html">operations_research::CastConstraint</a></div><div class="ttdoc">Cast constraints are special channeling constraints designed to keep a variable in sync with an expre...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03552">constraint_solver.h:3552</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_af09496381705b96f173de522f962e7cb"><div class="ttname"><a href="classoperations__research_1_1Solver.html#af09496381705b96f173de522f962e7cb">operations_research::Solver::MakeSquare</a></div><div class="ttdeci">IntExpr * MakeSquare(IntExpr *const expr)</div><div class="ttdoc">expr * expr</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a46ad005bf538f19f4f1a45b357561be9a72251c14868838649397bde6418180b1"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a72251c14868838649397bde6418180b1">operations_research::Solver::ENDS_AFTER</a></div><div class="ttdoc">t ends after d, i.e. End(t) &gt;= d.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00640">constraint_solver.h:640</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntExpr_html_a5ca509deddcf7e1a1498f770ec71934e"><div class="ttname"><a href="classoperations__research_1_1IntExpr.html#a5ca509deddcf7e1a1498f770ec71934e">operations_research::IntExpr::~IntExpr</a></div><div class="ttdeci">~IntExpr() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03771">constraint_solver.h:3771</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_aec97eb5843e01eedea22c9391094784c"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#aec97eb5843e01eedea22c9391094784c">operations_research::ModelVisitor::kPositionXArgument</a></div><div class="ttdeci">static const char kPositionXArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03403">constraint_solver.h:3403</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_afd2d924f019d44bc99930a1e931a735fa558711b4a2a25070b970d85f5926d5ce"><div class="ttname"><a href="classoperations__research_1_1Solver.html#afd2d924f019d44bc99930a1e931a735fa558711b4a2a25070b970d85f5926d5ce">operations_research::Solver::GE</a></div><div class="ttdoc">Move is accepted when the current objective value &gt;= objective.Min.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00580">constraint_solver.h:580</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a2f6e2c706c18512917dcfdcdeae1ae3f"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a2f6e2c706c18512917dcfdcdeae1ae3f">operations_research::Solver::MakeLimit</a></div><div class="ttdeci">RegularLimit * MakeLimit(int64 time, int64 branches, int64 failures, int64 solutions)</div><div class="ttdoc">Limits the search with the 'time', 'branches', 'failures' and 'solutions' limits.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a62926457ce3ba1faaa6f1b6b3c2bc5dd"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a62926457ce3ba1faaa6f1b6b3c2bc5dd">operations_research::Solver::MakeRankFirstInterval</a></div><div class="ttdeci">Decision * MakeRankFirstInterval(SequenceVar *const sequence, int index)</div><div class="ttdoc">Returns a decision that tries to rank first the ith interval var in the sequence variable.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a46e38a552aa77be3b194f0187f3b254e"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a46e38a552aa77be3b194f0187f3b254e">operations_research::ModelVisitor::kVarValueWatcher</a></div><div class="ttdeci">static const char kVarValueWatcher[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03350">constraint_solver.h:3350</a></div></div>
<div class="ttc" id="classoperations__research_1_1NumericalRevArray_html_af23967e29b34eca150d8aa96bbea9546"><div class="ttname"><a href="classoperations__research_1_1NumericalRevArray.html#af23967e29b34eca150d8aa96bbea9546">operations_research::NumericalRevArray::Incr</a></div><div class="ttdeci">void Incr(Solver *const s, int index)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03756">constraint_solver.h:3756</a></div></div>
<div class="ttc" id="namespaceoperations__research_html_a009f247167f32509baf749083e4bc984"><div class="ttname"><a href="namespaceoperations__research.html#a009f247167f32509baf749083e4bc984">operations_research::Zero</a></div><div class="ttdeci">int64 Zero()</div><div class="ttdoc">NOLINT.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03076">constraint_solver.h:3076</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a705fc09ad35dc614f58b5f32ad3c66d4"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a705fc09ad35dc614f58b5f32ad3c66d4">operations_research::ModelVisitor::BeginVisitIntegerExpression</a></div><div class="ttdeci">virtual void BeginVisitIntegerExpression(const std::string &amp;type_name, const IntExpr *const expr)</div></div>
<div class="ttc" id="structoperations__research_1_1Solver_1_1SearchLogParameters_html_a129303e4bd38a8cdba722b6238ed56e9"><div class="ttname"><a href="structoperations__research_1_1Solver_1_1SearchLogParameters.html#a129303e4bd38a8cdba722b6238ed56e9">operations_research::Solver::SearchLogParameters::offset</a></div><div class="ttdeci">double offset</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02270">constraint_solver.h:2270</a></div></div>
<div class="ttc" id="classoperations__research_1_1RegularLimit_html_aac0948fa90cbc174304a0f6c78d72e15"><div class="ttname"><a href="classoperations__research_1_1RegularLimit.html#aac0948fa90cbc174304a0f6c78d72e15">operations_research::RegularLimit::Copy</a></div><div class="ttdeci">void Copy(const SearchLimit *const limit) override</div><div class="ttdoc">Copy a limit.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a196309551c4bd33cdea7377baec9e998"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a196309551c4bd33cdea7377baec9e998">operations_research::ModelVisitor::kSizeYArgument</a></div><div class="ttdeci">static const char kSizeYArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03412">constraint_solver.h:3412</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6b6a1511d224ecab80cd9092039cdab4"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6b6a1511d224ecab80cd9092039cdab4">operations_research::Solver::MakeSumLessOrEqual</a></div><div class="ttdeci">Constraint * MakeSumLessOrEqual(const std::vector&lt; IntVar * &gt; &amp;vars, int64 cst)</div><div class="ttdoc">Variation on arrays.</div></div>
<div class="ttc" id="classoperations__research_1_1PropagationBaseObject_html_a5155ff01cf80f5a478fd09916abab155"><div class="ttname"><a href="classoperations__research_1_1PropagationBaseObject.html#a5155ff01cf80f5a478fd09916abab155">operations_research::PropagationBaseObject::FreezeQueue</a></div><div class="ttdeci">void FreezeQueue()</div><div class="ttdoc">This method freezes the propagation queue.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03115">constraint_solver.h:3115</a></div></div>
<div class="ttc" id="classoperations__research_1_1RegularLimit_html_aa30c84aec5e60d6b74e1e1eb15011d4a"><div class="ttname"><a href="classoperations__research_1_1RegularLimit.html#aa30c84aec5e60d6b74e1e1eb15011d4a">operations_research::RegularLimit::Accept</a></div><div class="ttdeci">void Accept(ModelVisitor *const visitor) const override</div><div class="ttdoc">Accepts the given model visitor.</div></div>
<div class="ttc" id="structoperations__research_1_1SolutionCollector_1_1SolutionData_html"><div class="ttname"><a href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html">operations_research::SolutionCollector::SolutionData</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04099">constraint_solver.h:4099</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a95d15794f0eaa4727439f364889a8064"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a95d15794f0eaa4727439f364889a8064">operations_research::Solver::clear_fail_intercept</a></div><div class="ttdeci">void clear_fail_intercept()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02810">constraint_solver.h:2810</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a30d2df8ab5db405440580f7db5ee4aaa"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a30d2df8ab5db405440580f7db5ee4aaa">operations_research::Assignment::SequenceVarContainer</a></div><div class="ttdeci">const SequenceContainer &amp; SequenceVarContainer() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05088">constraint_solver.h:5088</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_ab7392f36e3e635b067027005f53aa89e"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#ab7392f36e3e635b067027005f53aa89e">operations_research::Assignment::IntervalContainer</a></div><div class="ttdeci">AssignmentContainer&lt; IntervalVar, IntervalVarElement &gt; IntervalContainer</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04933">constraint_solver.h:4933</a></div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentElement_html_ae79195ce9bb522329dfaedaba78bd4e2"><div class="ttname"><a href="classoperations__research_1_1AssignmentElement.html#ae79195ce9bb522329dfaedaba78bd4e2">operations_research::AssignmentElement::Activated</a></div><div class="ttdeci">bool Activated() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04536">constraint_solver.h:4536</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a7989c72e13729c3a3d6f19162aaa4a3b"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a7989c72e13729c3a3d6f19162aaa4a3b">operations_research::Solver::MakeIsLessCstVar</a></div><div class="ttdeci">IntVar * MakeIsLessCstVar(IntExpr *const var, int64 value)</div><div class="ttdoc">status var of (var &lt; value)</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a153cf778a5285fe08ec6044dbedefcab"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a153cf778a5285fe08ec6044dbedefcab">operations_research::ModelVisitor::kTrace</a></div><div class="ttdeci">static const char kTrace[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03346">constraint_solver.h:3346</a></div></div>
<div class="ttc" id="structoperations__research_1_1DefaultPhaseParameters_html_a36703c0bee7e0f1e68f64e0bb9307382"><div class="ttname"><a href="structoperations__research_1_1DefaultPhaseParameters.html#a36703c0bee7e0f1e68f64e0bb9307382">operations_research::DefaultPhaseParameters::DisplayLevel</a></div><div class="ttdeci">DisplayLevel</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00168">constraint_solver.h:168</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aaf3f40bd93fd979cdd7d089447e52326"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aaf3f40bd93fd979cdd7d089447e52326">operations_research::Solver::MakeIntervalVarArray</a></div><div class="ttdeci">void MakeIntervalVarArray(int count, int64 start_min, int64 start_max, int64 duration_min, int64 duration_max, int64 end_min, int64 end_max, bool optional, const std::string &amp;name, std::vector&lt; IntervalVar * &gt; *const array)</div><div class="ttdoc">This method fills the vector with 'count' interval var built with the corresponding parameters.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aefa55eaae7e957183e79ae036d0ad902"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aefa55eaae7e957183e79ae036d0ad902">operations_research::Solver::MakeIsDifferentCstCt</a></div><div class="ttdeci">Constraint * MakeIsDifferentCstCt(IntExpr *const var, int64 value, IntVar *const boolvar)</div><div class="ttdoc">boolvar == (var != value)</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a7c58989fce778932cadb9e0c652ca719"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a7c58989fce778932cadb9e0c652ca719">operations_research::ModelVisitor::kLateDateArgument</a></div><div class="ttdeci">static const char kLateDateArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03394">constraint_solver.h:3394</a></div></div>
<div class="ttc" id="classoperations__research_1_1PropagationMonitor_html"><div class="ttname"><a href="classoperations__research_1_1PropagationMonitor.html">operations_research::PropagationMonitor</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solveri_8h_source.html#l01593">constraint_solveri.h:1593</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ade22213fff69cfb37d8238e8fd3073dfaddfacd8981a3f651982bf9a0c82f0995"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ade22213fff69cfb37d8238e8fd3073dfaddfacd8981a3f651982bf9a0c82f0995">operations_research::Solver::REVERSIBLE_ACTION</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00699">constraint_solver.h:699</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_aad0692e603eced5a224664493e4e04a0"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#aad0692e603eced5a224664493e4e04a0">operations_research::ModelVisitor::kIntervalArgument</a></div><div class="ttdeci">static const char kIntervalArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03391">constraint_solver.h:3391</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a52e35a16f2c1fc6072eeac9e0848c8eb"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a52e35a16f2c1fc6072eeac9e0848c8eb">operations_research::ModelVisitor::kSortingConstraint</a></div><div class="ttdeci">static const char kSortingConstraint[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03339">constraint_solver.h:3339</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a004c38131b5aeba450d2ba766faed63b"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a004c38131b5aeba450d2ba766faed63b">operations_research::Solver::MakeIsDifferentCstVar</a></div><div class="ttdeci">IntVar * MakeIsDifferentCstVar(IntExpr *const var, int64 value)</div><div class="ttdoc">status var of (var != value)</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_aec13b3eeabbd052d40b803adf7543d7c"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#aec13b3eeabbd052d40b803adf7543d7c">operations_research::Assignment::IntervalVarContainer</a></div><div class="ttdeci">const IntervalContainer &amp; IntervalVarContainer() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05082">constraint_solver.h:5082</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntExpr_html_ac4a4f30badcd311075302a4efcfaee0a"><div class="ttname"><a href="classoperations__research_1_1IntExpr.html#ac4a4f30badcd311075302a4efcfaee0a">operations_research::IntExpr::Min</a></div><div class="ttdeci">virtual int64 Min() const =0</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a0f3d534acf3ba2602ae56ec4f28ccdd6"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a0f3d534acf3ba2602ae56ec4f28ccdd6">operations_research::Solver::tmp_vector_</a></div><div class="ttdeci">std::vector&lt; int64 &gt; tmp_vector_</div><div class="ttdoc">Unsafe temporary vector.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02872">constraint_solver.h:2872</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a17a56adc8ee57642c3f00a1778319192"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a17a56adc8ee57642c3f00a1778319192">operations_research::Solver::DemonProfiler</a></div><div class="ttdeci">friend class DemonProfiler</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02876">constraint_solver.h:2876</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a88643a4421ce0b5b580cb9ddd37c2105"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a88643a4421ce0b5b580cb9ddd37c2105">operations_research::Solver::MakeIntervalVarRelationWithDelay</a></div><div class="ttdeci">Constraint * MakeIntervalVarRelationWithDelay(IntervalVar *const t1, BinaryIntervalRelation r, IntervalVar *const t2, int64 delay)</div><div class="ttdoc">This method creates a relation between two interval vars.</div></div>
<div class="ttc" id="classoperations__research_1_1IntExpr_html_a07173db6ca3b22fdb35ad963831a962b"><div class="ttname"><a href="classoperations__research_1_1IntExpr.html#a07173db6ca3b22fdb35ad963831a962b">operations_research::IntExpr::Var</a></div><div class="ttdeci">virtual IntVar * Var()=0</div><div class="ttdoc">Creates a variable from the expression.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html"><div class="ttname"><a href="classoperations__research_1_1Solver.html">operations_research::Solver</a></div><div class="ttdoc">Solver Class.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00231">constraint_solver.h:231</a></div></div>
<div class="ttc" id="structoperations__research_1_1InitAndGetValues_1_1Iterator_html_a710b1a5c9f835b20b87a76ce12e4f305"><div class="ttname"><a href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html#a710b1a5c9f835b20b87a76ce12e4f305">operations_research::InitAndGetValues::Iterator::operator!=</a></div><div class="ttdeci">bool operator!=(const Iterator &amp;other) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03907">constraint_solver.h:3907</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a1fa7ba3df05c93c2c8f9109d0268f4b2"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a1fa7ba3df05c93c2c8f9109d0268f4b2">operations_research::IntervalVar::WhenAnything</a></div><div class="ttdeci">void WhenAnything(Solver::Closure closure)</div><div class="ttdoc">Attaches a closure awakened when anything about this interval changes.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04402">constraint_solver.h:4402</a></div></div>
<div class="ttc" id="classoperations__research_1_1PropagationBaseObject_html_aa799a452245f03cc53355e6432c107a7"><div class="ttname"><a href="classoperations__research_1_1PropagationBaseObject.html#aa799a452245f03cc53355e6432c107a7">operations_research::PropagationBaseObject::set_variable_to_clean_on_fail</a></div><div class="ttdeci">void set_variable_to_clean_on_fail(IntVar *v)</div><div class="ttdoc">Shortcut for variable cleaner.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03141">constraint_solver.h:3141</a></div></div>
<div class="ttc" id="classoperations__research_1_1LocalSearchMonitor_html"><div class="ttname"><a href="classoperations__research_1_1LocalSearchMonitor.html">operations_research::LocalSearchMonitor</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solveri_8h_source.html#l01657">constraint_solveri.h:1657</a></div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVar_html_a3a8465a1fa06dd401fa6924a492ce47b"><div class="ttname"><a href="classoperations__research_1_1SequenceVar.html#a3a8465a1fa06dd401fa6924a492ce47b">operations_research::SequenceVar::~SequenceVar</a></div><div class="ttdeci">~SequenceVar() override</div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1Pack.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::Pack::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a1066ed37313e6403bc048606e862cae5"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a1066ed37313e6403bc048606e862cae5">operations_research::Solver::MakeConstraintAdder</a></div><div class="ttdeci">DecisionBuilder * MakeConstraintAdder(Constraint *const ct)</div><div class="ttdoc">Returns a decision builder that will add the given constraint to the model.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_adab4b92bb3b7d66d51b17ca2d7a1f68e"><div class="ttname"><a href="classoperations__research_1_1Solver.html#adab4b92bb3b7d66d51b17ca2d7a1f68e">operations_research::Solver::MakeIsEqualVar</a></div><div class="ttdeci">IntVar * MakeIsEqualVar(IntExpr *const v1, IntExpr *v2)</div><div class="ttdoc">status var of (v1 == v2)</div></div>
<div class="ttc" id="classoperations__research_1_1IntVarElement_html_a1896fe755b612dbebd2c46638f8977a2"><div class="ttname"><a href="classoperations__research_1_1IntVarElement.html#a1896fe755b612dbebd2c46638f8977a2">operations_research::IntVarElement::Restore</a></div><div class="ttdeci">void Restore()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04554">constraint_solver.h:4554</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ae71cfc5d896488af982bf109d0b3dbd3"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ae71cfc5d896488af982bf109d0b3dbd3">operations_research::ModelVisitor::kIsLessOrEqual</a></div><div class="ttdeci">static const char kIsLessOrEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03308">constraint_solver.h:3308</a></div></div>
<div class="ttc" id="classoperations__research_1_1Decision_html_abd62b993702516d946bdbef25f6d29b0"><div class="ttname"><a href="classoperations__research_1_1Decision.html#abd62b993702516d946bdbef25f6d29b0">operations_research::Decision::Decision</a></div><div class="ttdeci">Decision()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03162">constraint_solver.h:3162</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_ad0319bfc2c7de380041b45adcc7abbf8"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#ad0319bfc2c7de380041b45adcc7abbf8">operations_research::Assignment::SetSequence</a></div><div class="ttdeci">void SetSequence(const SequenceVar *const var, const std::vector&lt; int &gt; &amp;forward_sequence, const std::vector&lt; int &gt; &amp;backward_sequence, const std::vector&lt; int &gt; &amp;unperformed)</div></div>
<div class="ttc" id="classoperations__research_1_1DecisionVisitor_html_a5b6fc7f725dab8288abad7802b99666c"><div class="ttname"><a href="classoperations__research_1_1DecisionVisitor.html#a5b6fc7f725dab8288abad7802b99666c">operations_research::DecisionVisitor::VisitSplitVariableDomain</a></div><div class="ttdeci">virtual void VisitSplitVariableDomain(IntVar *const var, int64 value, bool start_with_lower_half)</div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVar_html_ab20a9a046b8e111cb838352b13ca4a52"><div class="ttname"><a href="classoperations__research_1_1SequenceVar.html#ab20a9a046b8e111cb838352b13ca4a52">operations_research::SequenceVar::DurationRange</a></div><div class="ttdeci">void DurationRange(int64 *const dmin, int64 *const dmax) const</div><div class="ttdoc">Returns the minimum and maximum duration of combined interval vars in the sequence.</div></div>
<div class="ttc" id="namespaceoperations__research_html_aa96bb5a28dd9c1ccc864b1587e8e1a98"><div class="ttname"><a href="namespaceoperations__research.html#aa96bb5a28dd9c1ccc864b1587e8e1a98">operations_research::One</a></div><div class="ttdeci">int64 One()</div><div class="ttdoc">This method returns 1.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03079">constraint_solver.h:3079</a></div></div>
<div class="ttc" id="classoperations__research_1_1DisjunctiveConstraint_html_a02e65ccb441e14918c023bde60b05099"><div class="ttname"><a href="classoperations__research_1_1DisjunctiveConstraint.html#a02e65ccb441e14918c023bde60b05099">operations_research::DisjunctiveConstraint::intervals_</a></div><div class="ttdeci">const std::vector&lt; IntervalVar * &gt; intervals_</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05259">constraint_solver.h:5259</a></div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentContainer_html_a863387458c7c7000967c695673c825f1"><div class="ttname"><a href="classoperations__research_1_1AssignmentContainer.html#a863387458c7c7000967c695673c825f1">operations_research::AssignmentContainer::MutableElement</a></div><div class="ttdeci">E * MutableElement(int index)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04846">constraint_solver.h:4846</a></div></div>
<div class="ttc" id="classoperations__research_1_1RegularLimit_html_a4b4eab279939d2f78038cc89554a3d61"><div class="ttname"><a href="classoperations__research_1_1RegularLimit.html#a4b4eab279939d2f78038cc89554a3d61">operations_research::RegularLimit::~RegularLimit</a></div><div class="ttdeci">~RegularLimit() override</div></div>
<div class="ttc" id="classoperations__research_1_1DisjunctiveConstraint_html_a0801da3f8ae5f253399fd1319dea7e57"><div class="ttname"><a href="classoperations__research_1_1DisjunctiveConstraint.html#a0801da3f8ae5f253399fd1319dea7e57">operations_research::DisjunctiveConstraint::time_cumuls</a></div><div class="ttdeci">virtual const std::vector&lt; IntVar * &gt; &amp; time_cumuls() const =0</div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentContainer_html"><div class="ttname"><a href="classoperations__research_1_1AssignmentContainer.html">operations_research::AssignmentContainer</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04750">constraint_solver.h:4750</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a2de6e91f22c2a71edc455c7f3c0363f4"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a2de6e91f22c2a71edc455c7f3c0363f4">operations_research::Solver::MakeVariableDomainFilter</a></div><div class="ttdeci">LocalSearchFilter * MakeVariableDomainFilter()</div><div class="ttdoc">Local Search Filters.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ac21aa6c10029dac2f0260d71be9edcdf"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ac21aa6c10029dac2f0260d71be9edcdf">operations_research::ModelVisitor::kScalProd</a></div><div class="ttdeci">static const char kScalProd[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03333">constraint_solver.h:3333</a></div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVar_html"><div class="ttname"><a href="classoperations__research_1_1SequenceVar.html">operations_research::SequenceVar</a></div><div class="ttdoc">A sequence variable is a variable whose domain is a set of possible orderings of the interval variabl...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04439">constraint_solver.h:4439</a></div></div>
<div class="ttc" id="classoperations__research_1_1OptimizeVar_html"><div class="ttname"><a href="classoperations__research_1_1OptimizeVar.html">operations_research::OptimizeVar</a></div><div class="ttdoc">This class encapsulates an objective.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04136">constraint_solver.h:4136</a></div></div>
<div class="ttc" id="classoperations__research_1_1RevArray_html_ad03255d57248b6a11f3b236f7164266b"><div class="ttname"><a href="classoperations__research_1_1RevArray.html#ad03255d57248b6a11f3b236f7164266b">operations_research::RevArray::~RevArray</a></div><div class="ttdeci">~RevArray()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03719">constraint_solver.h:3719</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a92ac24619e5b77292579961e5f262557"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a92ac24619e5b77292579961e5f262557">operations_research::IntervalVarElement::SetStartMin</a></div><div class="ttdeci">void SetStartMin(int64 m)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04631">constraint_solver.h:4631</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a074172434184dde98798ed6590206d42a7fb0c1cca10ff57ae7aa3878ba530fbd"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42a7fb0c1cca10ff57ae7aa3878ba530fbd">operations_research::Solver::NO_CHANGE</a></div><div class="ttdoc">Keeps the default behavior, i.e.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00676">constraint_solver.h:676</a></div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVar_html_aed4c20c3765ff3cde39e5bd2915d3699"><div class="ttname"><a href="classoperations__research_1_1SequenceVar.html#aed4c20c3765ff3cde39e5bd2915d3699">operations_research::SequenceVar::SequenceVar</a></div><div class="ttdeci">SequenceVar(Solver *const s, const std::vector&lt; IntervalVar * &gt; &amp;intervals, const std::vector&lt; IntVar * &gt; &amp;nexts, const std::string &amp;name)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6f66063ebaf61025e27e96719affa3eea61a202b9f100a27fb46a01bb6df0d204"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea61a202b9f100a27fb46a01bb6df0d204">operations_research::Solver::ENDS_AT_END</a></div><div class="ttdoc">t1 ends at t2 end, i.e. End(t1) == End(t2) + delay.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00613">constraint_solver.h:613</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVarElement_html_a3abcbe1fcd37d8982941a795ed22e34a"><div class="ttname"><a href="classoperations__research_1_1IntVarElement.html#a3abcbe1fcd37d8982941a795ed22e34a">operations_research::IntVarElement::Store</a></div><div class="ttdeci">void Store()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04550">constraint_solver.h:4550</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_acade762559b4a07b7ff2835513fea331"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#acade762559b4a07b7ff2835513fea331">operations_research::ModelVisitor::VisitIntegerExpressionArgument</a></div><div class="ttdeci">virtual void VisitIntegerExpressionArgument(const std::string &amp;arg_name, IntExpr *const argument)</div><div class="ttdoc">Visit integer expression argument.</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_abfb1cdbe0975871ce5e29f4996fc3639"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#abfb1cdbe0975871ce5e29f4996fc3639">operations_research::Assignment::SetObjectiveMin</a></div><div class="ttdeci">void SetObjectiveMin(int64 m)</div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_a9f55f75747d65ad9c4ca9c6fdc01800d"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#a9f55f75747d65ad9c4ca9c6fdc01800d">operations_research::SearchMonitor::AtSolution</a></div><div class="ttdeci">virtual bool AtSolution()</div><div class="ttdoc">This method is called when a valid solution is found.</div></div>
<div class="ttc" id="structoperations__research_1_1DefaultPhaseParameters_html_a859e753eeaea8a2e9a1af1a6aa5f786faee0a24529a0371855709d8b20c5531f8"><div class="ttname"><a href="structoperations__research_1_1DefaultPhaseParameters.html#a859e753eeaea8a2e9a1af1a6aa5f786faee0a24529a0371855709d8b20c5531f8">operations_research::DefaultPhaseParameters::SELECT_MIN_IMPACT</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00164">constraint_solver.h:164</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aae3fab31ddeb07a8a64540a8d5d7ad62"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aae3fab31ddeb07a8a64540a8d5d7ad62">operations_research::Solver::MakeMonotonicElement</a></div><div class="ttdeci">IntExpr * MakeMonotonicElement(IndexEvaluator1 values, bool increasing, IntVar *const index)</div><div class="ttdoc">Function based element.</div></div>
<div class="ttc" id="classoperations__research_1_1CastConstraint_html_af819176a9aae0724902c5a1b50786b0b"><div class="ttname"><a href="classoperations__research_1_1CastConstraint.html#af819176a9aae0724902c5a1b50786b0b">operations_research::CastConstraint::CastConstraint</a></div><div class="ttdeci">CastConstraint(Solver *const solver, IntVar *const target_var)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03554">constraint_solver.h:3554</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_acfc35762d79414004833fbf02a07e9c3"><div class="ttname"><a href="classoperations__research_1_1Solver.html#acfc35762d79414004833fbf02a07e9c3">operations_research::Solver::RegisterIntExpr</a></div><div class="ttdeci">IntExpr * RegisterIntExpr(IntExpr *const expr)</div><div class="ttdoc">Registers a new IntExpr and wraps it inside a TraceIntExpr if necessary.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_adb5dd2b903aed4484d190730863f26c2"><div class="ttname"><a href="classoperations__research_1_1Solver.html#adb5dd2b903aed4484d190730863f26c2">operations_research::Solver::ExportProfilingOverview</a></div><div class="ttdeci">void ExportProfilingOverview(const std::string &amp;filename)</div><div class="ttdoc">Exports the profiling information in a human readable overview.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a0dd1d43eaa36e3edea0a0c24a1eb558e"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a0dd1d43eaa36e3edea0a0c24a1eb558e">operations_research::Solver::HasName</a></div><div class="ttdeci">bool HasName(const PropagationBaseObject *object) const</div><div class="ttdoc">Returns whether the object has been named or not.</div></div>
<div class="ttc" id="classoperations__research_1_1BaseIntExpr_html"><div class="ttname"><a href="classoperations__research_1_1BaseIntExpr.html">operations_research::BaseIntExpr</a></div><div class="ttdoc">This is the base class for all expressions that are not variables.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solveri_8h_source.html#l00109">constraint_solveri.h:109</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a2c093c2312ebcf6e2731da682e0adfae"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a2c093c2312ebcf6e2731da682e0adfae">operations_research::ModelVisitor::kMinEqual</a></div><div class="ttdeci">static const char kMinEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03319">constraint_solver.h:3319</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a970325eeede55da5ce8d14714fd5a0f4"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a970325eeede55da5ce8d14714fd5a0f4">operations_research::IntervalVarElement::SetDurationRange</a></div><div class="ttdeci">void SetDurationRange(int64 mi, int64 ma)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04643">constraint_solver.h:4643</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aba5c5dc6467e097f4972d7776541482ba31e588f8460ab3ec92a69f0d9aff4239"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482ba31e588f8460ab3ec92a69f0d9aff4239">operations_research::Solver::SEQUENCE_SIMPLE</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00390">constraint_solver.h:390</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a2f2bbfd462a65194763f65ea7d5ff39e"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a2f2bbfd462a65194763f65ea7d5ff39e">operations_research::Solver::MakeAssignment</a></div><div class="ttdeci">Assignment * MakeAssignment()</div><div class="ttdoc">This method creates an empty assignment.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a3a64940761b306c816e00e077906952fa34bde74f005a07be4c7598cd4e810831"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952fa34bde74f005a07be4c7598cd4e810831">operations_research::Solver::INTERVAL_SET_TIMES_BACKWARD</a></div><div class="ttdoc">Selects the variable with the highest ending time of all variables, and fixes the ending time to this...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00407">constraint_solver.h:407</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a43b02df74a6f6ed9719c4e3c0f1fa8ce"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a43b02df74a6f6ed9719c4e3c0f1fa8ce">operations_research::IntervalVar::DurationMax</a></div><div class="ttdeci">virtual int64 DurationMax() const =0</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a61ee2e3d7ae7e07d071719aea568b3ac"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a61ee2e3d7ae7e07d071719aea568b3ac">operations_research::Solver::MakeFixedDurationStartSyncedOnEndIntervalVar</a></div><div class="ttdeci">IntervalVar * MakeFixedDurationStartSyncedOnEndIntervalVar(IntervalVar *const interval_var, int64 duration, int64 offset)</div><div class="ttdoc">Creates an interval var with a fixed duration whose start is synchronized with the end of another int...</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a5742cff510396670bc30e59b21bc4f02"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a5742cff510396670bc30e59b21bc4f02">operations_research::ModelVisitor::kDurationExpr</a></div><div class="ttdeci">static const char kDurationExpr[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03287">constraint_solver.h:3287</a></div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_a2a9e43052556228cad3346d71e26e5f7"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#a2a9e43052556228cad3346d71e26e5f7">operations_research::SolutionCollector::failures</a></div><div class="ttdeci">int64 failures(int n) const</div><div class="ttdoc">Returns the number of failures encountered at the time of the nth solution.</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_ab08a56645a332e5464a1d43c4f23fc14"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#ab08a56645a332e5464a1d43c4f23fc14">operations_research::IntervalVar::DurationExpr</a></div><div class="ttdeci">virtual IntExpr * DurationExpr()=0</div></div>
<div class="ttc" id="classoperations__research_1_1SearchLimit_html_a5c50eb7ab17cb83e115f2799ccd6a8de"><div class="ttname"><a href="classoperations__research_1_1SearchLimit.html#a5c50eb7ab17cb83e115f2799ccd6a8de">operations_research::SearchLimit::~SearchLimit</a></div><div class="ttdeci">~SearchLimit() override</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a58992f144ba268bf675eb1c6c2327453"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a58992f144ba268bf675eb1c6c2327453">operations_research::ModelVisitor::kScalProdLessOrEqual</a></div><div class="ttdeci">static const char kScalProdLessOrEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03336">constraint_solver.h:3336</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a59af473ffc9f974d315aaeef845b7998"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a59af473ffc9f974d315aaeef845b7998">operations_research::ModelVisitor::kVariableArgument</a></div><div class="ttdeci">static const char kVariableArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03425">constraint_solver.h:3425</a></div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentContainer_html_a45e89457c65972deb63bb9af3765b358"><div class="ttname"><a href="classoperations__research_1_1AssignmentContainer.html#a45e89457c65972deb63bb9af3765b358">operations_research::AssignmentContainer::elements</a></div><div class="ttdeci">const std::vector&lt; E &gt; &amp; elements() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04845">constraint_solver.h:4845</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVarElement_html_aeabf4572ab5bf48ec3e07660c9587385"><div class="ttname"><a href="classoperations__research_1_1IntVarElement.html#aeabf4572ab5bf48ec3e07660c9587385">operations_research::IntVarElement::Value</a></div><div class="ttdeci">int64 Value() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04566">constraint_solver.h:4566</a></div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_a198e17615278d9d5b9f39e4f0493447b"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#a198e17615278d9d5b9f39e4f0493447b">operations_research::SearchMonitor::IsUncheckedSolutionLimitReached</a></div><div class="ttdeci">virtual bool IsUncheckedSolutionLimitReached()</div><div class="ttdoc">Returns true if the limit of solutions has been reached including unchecked solutions.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03638">constraint_solver.h:3638</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ab14b83147d91ddc7f870334f23c93459"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ab14b83147d91ddc7f870334f23c93459">operations_research::ModelVisitor::kPack</a></div><div class="ttdeci">static const char kPack[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03327">constraint_solver.h:3327</a></div></div>
<div class="ttc" id="classoperations__research_1_1Demon_html_a18542ce967b086b67c5b0e2b1c025bcf"><div class="ttname"><a href="classoperations__research_1_1Demon.html#a18542ce967b086b67c5b0e2b1c025bcf">operations_research::Demon::Demon</a></div><div class="ttdeci">Demon()</div><div class="ttdoc">This indicates the priority of a demon.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03237">constraint_solver.h:3237</a></div></div>
<div class="ttc" id="classoperations__research_1_1RegularLimit_html_a23ac09a78dbd8b39b2f63e9981947788"><div class="ttname"><a href="classoperations__research_1_1RegularLimit.html#a23ac09a78dbd8b39b2f63e9981947788">operations_research::RegularLimit::solutions</a></div><div class="ttdeci">int64 solutions() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04234">constraint_solver.h:4234</a></div></div>
<div class="ttc" id="structoperations__research_1_1Solver_1_1SearchLogParameters_html_a6bf53f14d9ee02da685f39fbe96eacaf"><div class="ttname"><a href="structoperations__research_1_1Solver_1_1SearchLogParameters.html#a6bf53f14d9ee02da685f39fbe96eacaf">operations_research::Solver::SearchLogParameters::display_callback</a></div><div class="ttdeci">std::function&lt; std::string()&gt; display_callback</div><div class="ttdoc">SearchMonitors will display the result of display_callback at each new solution found.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02273">constraint_solver.h:2273</a></div></div>
<div class="ttc" id="classoperations__research_1_1Demon_html"><div class="ttname"><a href="classoperations__research_1_1Demon.html">operations_research::Demon</a></div><div class="ttdoc">A Demon is the base element of a propagation queue.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03233">constraint_solver.h:3233</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ac87467b3998f36ab28b7cad51fe16a68"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ac87467b3998f36ab28b7cad51fe16a68">operations_research::Solver::RevAllocArray</a></div><div class="ttdeci">T * RevAllocArray(T *object)</div><div class="ttdoc">Like RevAlloc() above, but for an array of objects: the array must have been allocated with the new[]...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00785">constraint_solver.h:785</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ac60a5b44cb52cdf752d4a629d70d288c"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ac60a5b44cb52cdf752d4a629d70d288c">operations_research::Solver::MakeGreater</a></div><div class="ttdeci">Constraint * MakeGreater(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">left &gt; right</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a01570ac6b0a24b922703e61d13499491"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a01570ac6b0a24b922703e61d13499491">operations_research::Assignment::ActivatedObjective</a></div><div class="ttdeci">bool ActivatedObjective() const</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a040e5bbd219ab6552df5f59953174d3c"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a040e5bbd219ab6552df5f59953174d3c">operations_research::Assignment::DurationMin</a></div><div class="ttdeci">int64 DurationMin(const IntervalVar *const var) const</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a132f97826d14491d8a78bbcd5a36eae4"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a132f97826d14491d8a78bbcd5a36eae4">operations_research::Solver::MakeIsMemberCt</a></div><div class="ttdeci">Constraint * MakeIsMemberCt(IntExpr *const expr, const std::vector&lt; int64 &gt; &amp;values, IntVar *const boolvar)</div><div class="ttdoc">boolvar == (expr in set)</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a4075e44ab81cbc73f867fafc86e62bfa"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a4075e44ab81cbc73f867fafc86e62bfa">operations_research::ModelVisitor::kInt64ToInt64Extension</a></div><div class="ttdeci">static const char kInt64ToInt64Extension[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03356">constraint_solver.h:3356</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aa9ce1731fa7dcac3730e85001178155e"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aa9ce1731fa7dcac3730e85001178155e">operations_research::Solver::MakeSubCircuit</a></div><div class="ttdeci">Constraint * MakeSubCircuit(const std::vector&lt; IntVar * &gt; &amp;nexts)</div><div class="ttdoc">Force the &quot;nexts&quot; variable to create a complete Hamiltonian path for those that do not loop upon them...</div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVarElement_html_a8cbdc12db98f8b18b519e06b5c687bc4"><div class="ttname"><a href="classoperations__research_1_1SequenceVarElement.html#a8cbdc12db98f8b18b519e06b5c687bc4">operations_research::SequenceVarElement::Var</a></div><div class="ttdeci">SequenceVar * Var() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04713">constraint_solver.h:4713</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ad00a73251ccc9fcc667a424ebaf2c22d"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ad00a73251ccc9fcc667a424ebaf2c22d">operations_research::ModelVisitor::kSizeXArgument</a></div><div class="ttdeci">static const char kSizeXArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03411">constraint_solver.h:3411</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a4250f792ba0d365dafaa213d7e966dd6"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a4250f792ba0d365dafaa213d7e966dd6">operations_research::IntervalVarElement::DurationMin</a></div><div class="ttdeci">int64 DurationMin() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04613">constraint_solver.h:4613</a></div></div>
<div class="ttc" id="classoperations__research_1_1DisjunctiveConstraint_html_aaafd3363e871db52ce00c08905f57afa"><div class="ttname"><a href="classoperations__research_1_1DisjunctiveConstraint.html#aaafd3363e871db52ce00c08905f57afa">operations_research::DisjunctiveConstraint::TransitionTime</a></div><div class="ttdeci">int64 TransitionTime(int before_index, int after_index)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05246">constraint_solver.h:5246</a></div></div>
<div class="ttc" id="classoperations__research_1_1RegularLimit_html_a4d07aaa3fe401d52e938c2f8f7f2e26f"><div class="ttname"><a href="classoperations__research_1_1RegularLimit.html#a4d07aaa3fe401d52e938c2f8f7f2e26f">operations_research::RegularLimit::ExitSearch</a></div><div class="ttdeci">void ExitSearch() override</div><div class="ttdoc">End of the search.</div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_a7777129f7b59f5d9dbeb043c6bf945dd"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#a7777129f7b59f5d9dbeb043c6bf945dd">operations_research::IntVar::WhenDomain</a></div><div class="ttdeci">void WhenDomain(Solver::Closure closure)</div><div class="ttdoc">This method attaches a closure that will watch any domain modification of the domain of the variable.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03977">constraint_solver.h:3977</a></div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_a03fbaed2e89d3a0ed34ffe35af8c0ec6"><div class="ttname"><a href="classoperations__research_1_1Pack.html#a03fbaed2e89d3a0ed34ffe35af8c0ec6">operations_research::Pack::Propagate</a></div><div class="ttdeci">void Propagate()</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a074172434184dde98798ed6590206d42a88616f3dde57f98df3022d5038d932d5"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42a88616f3dde57f98df3022d5038d932d5">operations_research::Solver::KEEP_RIGHT</a></div><div class="ttdoc">Left branches are ignored.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00686">constraint_solver.h:686</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_afdcf704eaf0713c9c35bcccc21bcb726"><div class="ttname"><a href="classoperations__research_1_1Solver.html#afdcf704eaf0713c9c35bcccc21bcb726">operations_research::Solver::MakeIsEqualCstVar</a></div><div class="ttdeci">IntVar * MakeIsEqualCstVar(IntExpr *const var, int64 value)</div><div class="ttdoc">status var of (var == value)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a0c4a2ee565dbcd3b8c64e7bfad9b68b2"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a0c4a2ee565dbcd3b8c64e7bfad9b68b2">operations_research::Solver::MakeIsGreaterOrEqualVar</a></div><div class="ttdeci">IntVar * MakeIsGreaterOrEqualVar(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">status var of (left &gt;= right)</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_aad86dd69d5664ce8e16198be929fd941"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#aad86dd69d5664ce8e16198be929fd941">operations_research::Assignment::CopyIntersection</a></div><div class="ttdeci">void CopyIntersection(const Assignment *assignment)</div><div class="ttdoc">Copies the intersection of the two assignments to the current assignment.</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a7ee95dc5526fb2400c5af54f3246d5c4"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a7ee95dc5526fb2400c5af54f3246d5c4">operations_research::IntervalVar::WhenDurationBound</a></div><div class="ttdeci">void WhenDurationBound(Solver::Action action)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04347">constraint_solver.h:4347</a></div></div>
<div class="ttc" id="classoperations__research_1_1SearchLimit_html_a6022c765bf8a03b9322ca6c6591b3c21"><div class="ttname"><a href="classoperations__research_1_1SearchLimit.html#a6022c765bf8a03b9322ca6c6591b3c21">operations_research::SearchLimit::BeginNextDecision</a></div><div class="ttdeci">void BeginNextDecision(DecisionBuilder *const b) override</div><div class="ttdoc">Before calling DecisionBuilder::Next.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a86ecff14fc3b94df60069a4bca94c06b"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a86ecff14fc3b94df60069a4bca94c06b">operations_research::Solver::constraints</a></div><div class="ttdeci">int constraints() const</div><div class="ttdoc">Counts the number of constraints that have been added to the solver before the search.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02797">constraint_solver.h:2797</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a9c44ecfda194a78c5167e7c9d3579b01"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a9c44ecfda194a78c5167e7c9d3579b01">operations_research::Solver::model_name</a></div><div class="ttdeci">std::string model_name() const</div><div class="ttdoc">Returns the name of the model.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ab562410a4141319c760d7187cae60ae3"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ab562410a4141319c760d7187cae60ae3">operations_research::ModelVisitor::kCover</a></div><div class="ttdeci">static const char kCover[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03280">constraint_solver.h:3280</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a314668fc29e10470b51994530769d1b0"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a314668fc29e10470b51994530769d1b0">operations_research::Solver::SearchContext</a></div><div class="ttdeci">std::string SearchContext() const</div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_a7521fa32d6f8f06cbe569897e59e19cd"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#a7521fa32d6f8f06cbe569897e59e19cd">operations_research::IntVar::RemoveValues</a></div><div class="ttdeci">virtual void RemoveValues(const std::vector&lt; int64 &gt; &amp;values)</div><div class="ttdoc">This method remove the values from the domain of the variable.</div></div>
<div class="ttc" id="classoperations__research_1_1SearchLimit_html_a310e97cfc134567a740679be9186e194"><div class="ttname"><a href="classoperations__research_1_1SearchLimit.html#a310e97cfc134567a740679be9186e194">operations_research::SearchLimit::PeriodicCheck</a></div><div class="ttdeci">void PeriodicCheck() override</div><div class="ttdoc">Periodic call to check limits in long running methods.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6fc60ae040ae35c83f09736d2e682a18a935985d0022c026978eace7ff7cd5f7a"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a935985d0022c026978eace7ff7cd5f7a">operations_research::Solver::FULLPATHLNS</a></div><div class="ttdoc">Operator which relaxes one entire path and all inactive nodes, thus defining num_paths neighbors.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00516">constraint_solver.h:516</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a1c5114a34ac899d0cfea31d645989ccb"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a1c5114a34ac899d0cfea31d645989ccb">operations_research::Solver::MakeIsGreaterOrEqualCstVar</a></div><div class="ttdeci">IntVar * MakeIsGreaterOrEqualCstVar(IntExpr *const var, int64 value)</div><div class="ttdoc">status var of (var &gt;= value)</div></div>
<div class="ttc" id="classoperations__research_1_1Constraint_html_a19c44e0b2911b809a9403701804088e3"><div class="ttname"><a href="classoperations__research_1_1Constraint.html#a19c44e0b2911b809a9403701804088e3">operations_research::Constraint::PostAndPropagate</a></div><div class="ttdeci">void PostAndPropagate()</div><div class="ttdoc">Calls Post and then Propagate to initialize the constraints.</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a0a4c6ed965a6e5221ed1ce6177da7f6b"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a0a4c6ed965a6e5221ed1ce6177da7f6b">operations_research::IntervalVar::StartMax</a></div><div class="ttdeci">virtual int64 StartMax() const =0</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a9344fe5bdffcdcaa4ff2e3e38202d329"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a9344fe5bdffcdcaa4ff2e3e38202d329">operations_research::ModelVisitor::kFinalStatesArgument</a></div><div class="ttdeci">static const char kFinalStatesArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03386">constraint_solver.h:3386</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a246e5ce5866d7a5af3c417e1157be7e4"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a246e5ce5866d7a5af3c417e1157be7e4">operations_research::ModelVisitor::kCumulativeArgument</a></div><div class="ttdeci">static const char kCumulativeArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03374">constraint_solver.h:3374</a></div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_ae7b0218cbb5e9560505dd58edb396902"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#ae7b0218cbb5e9560505dd58edb396902">operations_research::SolutionCollector::branches</a></div><div class="ttdeci">int64 branches(int n) const</div><div class="ttdoc">Returns the number of branches when the nth solution was found.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a9488a251683cf864c1824aa43147c37d"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a9488a251683cf864c1824aa43147c37d">operations_research::Solver::MakeAllDifferent</a></div><div class="ttdeci">Constraint * MakeAllDifferent(const std::vector&lt; IntVar * &gt; &amp;vars)</div><div class="ttdoc">All variables are pairwise different.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ad5bbae67ad4ac2ade8a6472d6f90bc5d"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ad5bbae67ad4ac2ade8a6472d6f90bc5d">operations_research::Solver::MakeMax</a></div><div class="ttdeci">IntExpr * MakeMax(const std::vector&lt; IntVar * &gt; &amp;vars)</div><div class="ttdoc">std::max(vars)</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_af5045f41feeb94cbea4250ba15adcd24"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#af5045f41feeb94cbea4250ba15adcd24">operations_research::ModelVisitor::kLexLess</a></div><div class="ttdeci">static const char kLexLess[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03312">constraint_solver.h:3312</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a1478a61951ca74ac52f9a709a8e35ca4"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a1478a61951ca74ac52f9a709a8e35ca4">operations_research::Solver::MakeFixedDurationStartSyncedOnStartIntervalVar</a></div><div class="ttdeci">IntervalVar * MakeFixedDurationStartSyncedOnStartIntervalVar(IntervalVar *const interval_var, int64 duration, int64 offset)</div><div class="ttdoc">Creates an interval var with a fixed duration whose start is synchronized with the start of another i...</div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVarElement_html_aeef01ab9c8c1877f4dc5b8998a8f3462"><div class="ttname"><a href="classoperations__research_1_1SequenceVarElement.html#aeef01ab9c8c1877f4dc5b8998a8f3462">operations_research::SequenceVarElement::Unperformed</a></div><div class="ttdeci">const std::vector&lt; int &gt; &amp; Unperformed() const</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_aed85f9e320a2352ea31db4ae2e816861"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#aed85f9e320a2352ea31db4ae2e816861">operations_research::ModelVisitor::kAbs</a></div><div class="ttdeci">static const char kAbs[]</div><div class="ttdoc">Constraint and Expression types.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03269">constraint_solver.h:3269</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a181f81a4cc04eeb4ffaa67267d0315ae"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a181f81a4cc04eeb4ffaa67267d0315ae">operations_research::Solver::MakeMaximize</a></div><div class="ttdeci">OptimizeVar * MakeMaximize(IntVar *const v, int64 step)</div><div class="ttdoc">Creates a maximization objective.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ad9245209bfba33fe84129683a93a27a7"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ad9245209bfba33fe84129683a93a27a7">operations_research::Solver::Rand32</a></div><div class="ttdeci">int32 Rand32(int32 size)</div><div class="ttdoc">Returns a random value between 0 and 'size' - 1;.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02775">constraint_solver.h:2775</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a57b18ff410cb385f7cbd1690202d8b1b"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a57b18ff410cb385f7cbd1690202d8b1b">operations_research::ModelVisitor::kAssumePathsArgument</a></div><div class="ttdeci">static const char kAssumePathsArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03368">constraint_solver.h:3368</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ad01c3a2fbfb388d917899ad983415d02"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ad01c3a2fbfb388d917899ad983415d02">operations_research::Solver::branches</a></div><div class="ttdeci">int64 branches() const</div><div class="ttdoc">The number of branches explored since the creation of the solver.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00965">constraint_solver.h:965</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a1b576575cbd8bdb39748bb4cfb595610"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a1b576575cbd8bdb39748bb4cfb595610">operations_research::Solver::MakeWeightedMinimize</a></div><div class="ttdeci">OptimizeVar * MakeWeightedMinimize(const std::vector&lt; IntVar * &gt; &amp;sub_objectives, const std::vector&lt; int64 &gt; &amp;weights, int64 step)</div><div class="ttdoc">Creates a minimization weighted objective.</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a3e222c69fa6c693ccfeb7ff13cd482d3"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a3e222c69fa6c693ccfeb7ff13cd482d3">operations_research::Assignment::ClearObjective</a></div><div class="ttdeci">void ClearObjective()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04970">constraint_solver.h:4970</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a1cabba002c738f52f516bde312d250ff"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a1cabba002c738f52f516bde312d250ff">operations_research::ModelVisitor::kDivide</a></div><div class="ttdeci">static const char kDivide[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03286">constraint_solver.h:3286</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_acb34f3eee75fd98037ee968d9d646b83"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#acb34f3eee75fd98037ee968d9d646b83">operations_research::Assignment::PerformedMax</a></div><div class="ttdeci">int64 PerformedMax(const IntervalVar *const var) const</div></div>
<div class="ttc" id="classoperations__research_1_1NumericalRev_html_a32c6aa2b614e866158426d0ffc43dc55"><div class="ttname"><a href="classoperations__research_1_1NumericalRev.html#a32c6aa2b614e866158426d0ffc43dc55">operations_research::NumericalRev::NumericalRev</a></div><div class="ttdeci">NumericalRev(const T &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03692">constraint_solver.h:3692</a></div></div>
<div class="ttc" id="structoperations__research_1_1DefaultPhaseParameters_html_aa978cbe8453310a6381350d867821e0c"><div class="ttname"><a href="structoperations__research_1_1DefaultPhaseParameters.html#aa978cbe8453310a6381350d867821e0c">operations_research::DefaultPhaseParameters::use_last_conflict</a></div><div class="ttdeci">bool use_last_conflict</div><div class="ttdoc">Should we use last conflict method. The default is false.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00206">constraint_solver.h:206</a></div></div>
<div class="ttc" id="classoperations__research_1_1BaseObject_html_a48f1c86064886ad6b10822e12c877da9"><div class="ttname"><a href="classoperations__research_1_1BaseObject.html#a48f1c86064886ad6b10822e12c877da9">operations_research::BaseObject::BaseObject</a></div><div class="ttdeci">BaseObject()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03086">constraint_solver.h:3086</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_af2496fe19ff323bd292f75b4f6db640d"><div class="ttname"><a href="classoperations__research_1_1Solver.html#af2496fe19ff323bd292f75b4f6db640d">operations_research::Solver::~Solver</a></div><div class="ttdeci">~Solver()</div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_a50ad7718f019e2f46328682dc8ed7162"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#a50ad7718f019e2f46328682dc8ed7162">operations_research::SolutionCollector::solution_data_</a></div><div class="ttdeci">std::vector&lt; SolutionData &gt; solution_data_</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04122">constraint_solver.h:4122</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a754f63f0839f2851475307283b575584"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a754f63f0839f2851475307283b575584">operations_research::IntervalVar::kMinValidValue</a></div><div class="ttdeci">static const int64 kMinValidValue</div><div class="ttdoc">The smallest acceptable value to be returned by StartMin()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04288">constraint_solver.h:4288</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_acd6c49bd62ce1a1777a1c0e644f1186e"><div class="ttname"><a href="classoperations__research_1_1Solver.html#acd6c49bd62ce1a1777a1c0e644f1186e">operations_research::Solver::PropagationBaseObject</a></div><div class="ttdeci">friend class PropagationBaseObject</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02879">constraint_solver.h:2879</a></div></div>
<div class="ttc" id="classoperations__research_1_1SearchLimit_html_abeeb0e725bbe0c9cb3c632414658ab45"><div class="ttname"><a href="classoperations__research_1_1SearchLimit.html#abeeb0e725bbe0c9cb3c632414658ab45">operations_research::SearchLimit::Copy</a></div><div class="ttdeci">virtual void Copy(const SearchLimit *const limit)=0</div><div class="ttdoc">Copy a limit.</div></div>
<div class="ttc" id="classoperations__research_1_1Constraint_html_a573284ea4ace994b6886c6a4feffa0aa"><div class="ttname"><a href="classoperations__research_1_1Constraint.html#a573284ea4ace994b6886c6a4feffa0aa">operations_research::Constraint::IsCastConstraint</a></div><div class="ttdeci">bool IsCastConstraint() const</div><div class="ttdoc">Is the constraint created by a cast from expression to integer variable?</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_aa39de23b822bea8a9e5119b8e6585092"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#aa39de23b822bea8a9e5119b8e6585092">operations_research::ModelVisitor::kSumGreaterOrEqual</a></div><div class="ttdeci">static const char kSumGreaterOrEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03344">constraint_solver.h:3344</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_aea3d64823b6f5e6f96539396708b7b29"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#aea3d64823b6f5e6f96539396708b7b29">operations_research::Assignment::SetEndRange</a></div><div class="ttdeci">void SetEndRange(const IntervalVar *const var, int64 mi, int64 ma)</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a6099fe146d0d68c48a02ab793f2c2e54"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a6099fe146d0d68c48a02ab793f2c2e54">operations_research::Assignment::Min</a></div><div class="ttdeci">int64 Min(const IntVar *const var) const</div></div>
<div class="ttc" id="classoperations__research_1_1PropagationBaseObject_html_a26d87b428f06d54a1a44d6e950a0e196"><div class="ttname"><a href="classoperations__research_1_1PropagationBaseObject.html#a26d87b428f06d54a1a44d6e950a0e196">operations_research::PropagationBaseObject::reset_action_on_fail</a></div><div class="ttdeci">void reset_action_on_fail()</div><div class="ttdoc">This method clears the failure callback.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03138">constraint_solver.h:3138</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aac32a6eabe1d316d7ff5f92fedd1ec5b"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aac32a6eabe1d316d7ff5f92fedd1ec5b">operations_research::Solver::SearchMonitor</a></div><div class="ttdeci">friend class SearchMonitor</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02881">constraint_solver.h:2881</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_acb279a9bd15aff7801535ad9968f67a7"><div class="ttname"><a href="classoperations__research_1_1Solver.html#acb279a9bd15aff7801535ad9968f67a7">operations_research::Solver::MakeGuidedLocalSearch</a></div><div class="ttdeci">SearchMonitor * MakeGuidedLocalSearch(bool maximize, IntVar *const objective, IndexEvaluator2 objective_function, int64 step, const std::vector&lt; IntVar * &gt; &amp;vars, double penalty_factor)</div><div class="ttdoc">Creates a Guided Local Search monitor.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_acc606748a8d51c2ded9fe90bb6cd1af3"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#acc606748a8d51c2ded9fe90bb6cd1af3">operations_research::ModelVisitor::kStartExpr</a></div><div class="ttdeci">static const char kStartExpr[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03341">constraint_solver.h:3341</a></div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_a98a16aa379c7240ae374adb128142a02"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#a98a16aa379c7240ae374adb128142a02">operations_research::SearchMonitor::AcceptDelta</a></div><div class="ttdeci">virtual bool AcceptDelta(Assignment *delta, Assignment *deltadelta)</div></div>
<div class="ttc" id="classoperations__research_1_1PropagationBaseObject_html"><div class="ttname"><a href="classoperations__research_1_1PropagationBaseObject.html">operations_research::PropagationBaseObject</a></div><div class="ttdoc">NOLINT.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03099">constraint_solver.h:3099</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a40f981d778145222976f90d5fe68369d"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a40f981d778145222976f90d5fe68369d">operations_research::Solver::MakeAtSolutionCallback</a></div><div class="ttdeci">SearchMonitor * MakeAtSolutionCallback(std::function&lt; void()&gt; callback)</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a35e9ecebefb54d99da9423e911db45af"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a35e9ecebefb54d99da9423e911db45af">operations_research::IntervalVar::SafeDurationExpr</a></div><div class="ttdeci">virtual IntExpr * SafeDurationExpr(int64 unperformed_value)=0</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a91d07f8a9a47e81538a524eecf210a82"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a91d07f8a9a47e81538a524eecf210a82">operations_research::Assignment::Max</a></div><div class="ttdeci">int64 Max(const IntVar *const var) const</div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_a08cff80b27c0080341992cad2966dc78"><div class="ttname"><a href="classoperations__research_1_1Pack.html#a08cff80b27c0080341992cad2966dc78">operations_research::Pack::AddWeightedSumOfAssignedDimension</a></div><div class="ttdeci">void AddWeightedSumOfAssignedDimension(const std::vector&lt; int64 &gt; &amp;weights, IntVar *const cost_var)</div><div class="ttdoc">This dimension enforces that cost_var == sum of weights[i] for all objects 'i' assigned to a bin.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ae05048905dc92a773e6158d796729935"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ae05048905dc92a773e6158d796729935">operations_research::Solver::MakeNonOverlappingBoxesConstraint</a></div><div class="ttdeci">Constraint * MakeNonOverlappingBoxesConstraint(const std::vector&lt; IntVar * &gt; &amp;x_vars, const std::vector&lt; IntVar * &gt; &amp;y_vars, const std::vector&lt; IntVar * &gt; &amp;x_size, const std::vector&lt; IntVar * &gt; &amp;y_size)</div><div class="ttdoc">This constraint states that all the boxes must not overlap.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a90a61ae1140d0653a779c95428efd1e9"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a90a61ae1140d0653a779c95428efd1e9">operations_research::ModelVisitor::kEndExpr</a></div><div class="ttdeci">static const char kEndExpr[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03290">constraint_solver.h:3290</a></div></div>
<div class="ttc" id="classoperations__research_1_1Demon_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1Demon.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::Demon::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div></div>
<div class="ttc" id="classoperations__research_1_1SolutionPool_html"><div class="ttname"><a href="classoperations__research_1_1SolutionPool.html">operations_research::SolutionPool</a></div><div class="ttdoc">This class is used to manage a pool of solutions.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05268">constraint_solver.h:5268</a></div></div>
<div class="ttc" id="structoperations__research_1_1DefaultPhaseParameters_html_a33b5f7988bd900722e702d6e808d091f"><div class="ttname"><a href="structoperations__research_1_1DefaultPhaseParameters.html#a33b5f7988bd900722e702d6e808d091f">operations_research::DefaultPhaseParameters::initialization_splits</a></div><div class="ttdeci">int initialization_splits</div><div class="ttdoc">Maximum number of intervals that the initialization of impacts will scan per variable.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00179">constraint_solver.h:179</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_af49ee55f2f5486d39112cda34ebbdef6"><div class="ttname"><a href="classoperations__research_1_1Solver.html#af49ee55f2f5486d39112cda34ebbdef6">operations_research::Solver::MakeNBestValueSolutionCollector</a></div><div class="ttdeci">SolutionCollector * MakeNBestValueSolutionCollector(const Assignment *const assignment, int solution_count, bool maximize)</div><div class="ttdoc">Same as MakeBestValueSolutionCollector but collects the best solution_count solutions.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a0e210e117d5baa103bcee4bf41feb86f"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a0e210e117d5baa103bcee4bf41feb86f">operations_research::ModelVisitor::kStepArgument</a></div><div class="ttdeci">static const char kStepArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03418">constraint_solver.h:3418</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a37abcc7fc962cfc7843087af45ade7d3"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a37abcc7fc962cfc7843087af45ade7d3">operations_research::Assignment::SetStartMax</a></div><div class="ttdeci">void SetStartMax(const IntervalVar *const var, int64 m)</div></div>
<div class="ttc" id="classoperations__research_1_1DisjunctiveConstraint_html_ae01c325872694c6f9a780832c3ac65f4"><div class="ttname"><a href="classoperations__research_1_1DisjunctiveConstraint.html#ae01c325872694c6f9a780832c3ac65f4">operations_research::DisjunctiveConstraint::SetTransitionTime</a></div><div class="ttdeci">void SetTransitionTime(Solver::IndexEvaluator2 transition_time)</div><div class="ttdoc">Add a transition time between intervals.</div></div>
<div class="ttc" id="classoperations__research_1_1IntVarElement_html_aa5f2722386540253d4be5ea1c7d31965"><div class="ttname"><a href="classoperations__research_1_1IntVarElement.html#aa5f2722386540253d4be5ea1c7d31965">operations_research::IntVarElement::LoadFromProto</a></div><div class="ttdeci">void LoadFromProto(const IntVarAssignment &amp;int_var_assignment_proto)</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a523dfb65ec9b9b012b2414087ad66ece"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a523dfb65ec9b9b012b2414087ad66ece">operations_research::ModelVisitor::kIsGreater</a></div><div class="ttdeci">static const char kIsGreater[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03305">constraint_solver.h:3305</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aabb851383d675afc723dd983ac8ee075"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aabb851383d675afc723dd983ac8ee075">operations_research::Solver::MakeMoveTowardTargetOperator</a></div><div class="ttdeci">LocalSearchOperator * MakeMoveTowardTargetOperator(const Assignment &amp;target)</div><div class="ttdoc">Creates a local search operator that tries to move the assignment of some variables toward a target.</div></div>
<div class="ttc" id="structoperations__research_1_1SolutionCollector_1_1SolutionData_html_a74c42a060f0c8f1effce8f8b8c3c3e31"><div class="ttname"><a href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a74c42a060f0c8f1effce8f8b8c3c3e31">operations_research::SolutionCollector::SolutionData::branches</a></div><div class="ttdeci">int64 branches</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04102">constraint_solver.h:4102</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_aad06021b1b5dbab3cae32226ae487a42"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#aad06021b1b5dbab3cae32226ae487a42">operations_research::IntervalVarElement::operator==</a></div><div class="ttdeci">bool operator==(const IntervalVarElement &amp;element) const</div></div>
<div class="ttc" id="classoperations__research_1_1Rev_html"><div class="ttname"><a href="classoperations__research_1_1Rev.html">operations_research::Rev</a></div><div class="ttdoc">This class adds reversibility to a POD type.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03667">constraint_solver.h:3667</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_ad793719634e2716798692d4e3d6113b5"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#ad793719634e2716798692d4e3d6113b5">operations_research::IntervalVar::DurationMin</a></div><div class="ttdeci">virtual int64 DurationMin() const =0</div><div class="ttdoc">These methods query, set, and watch the duration of the interval var.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ab7a92ba110420d40d091f7ccb8aa6b01"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ab7a92ba110420d40d091f7ccb8aa6b01">operations_research::Solver::MakeBranchesLimit</a></div><div class="ttdeci">RegularLimit * MakeBranchesLimit(int64 branches)</div><div class="ttdoc">Creates a search limit that constrains the number of branches explored in the search tree.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a2988f1af9c016d45b196f55b47e99077"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a2988f1af9c016d45b196f55b47e99077">operations_research::Solver::MakeConstraintInitialPropagateCallback</a></div><div class="ttdeci">Demon * MakeConstraintInitialPropagateCallback(Constraint *const ct)</div><div class="ttdoc">This method is a specialized case of the MakeConstraintDemon method to call the InitiatePropagate of ...</div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_a232379b0cabc402db868a849f4f71273"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#a232379b0cabc402db868a849f4f71273">operations_research::SearchMonitor::BeginFail</a></div><div class="ttdeci">virtual void BeginFail()</div><div class="ttdoc">Just when the failure occurs.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ab7ab23bc58ea40dc03a5418ddbce7601a35ade8eddf8a04820923af06366d8841"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a35ade8eddf8a04820923af06366d8841">operations_research::Solver::CHOOSE_HIGHEST_MAX</a></div><div class="ttdoc">Among unbound variables, select the variable with the highest maximal value.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00309">constraint_solver.h:309</a></div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVarElement_html_a37191403b930340e0cbd1e9a4f88d157"><div class="ttname"><a href="classoperations__research_1_1SequenceVarElement.html#a37191403b930340e0cbd1e9a4f88d157">operations_research::SequenceVarElement::operator!=</a></div><div class="ttdeci">bool operator!=(const SequenceVarElement &amp;element) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04736">constraint_solver.h:4736</a></div></div>
<div class="ttc" id="classoperations__research_1_1SearchLimit_html_ae874856cae71ff1b4391027b70f0c915"><div class="ttname"><a href="classoperations__research_1_1SearchLimit.html#ae874856cae71ff1b4391027b70f0c915">operations_research::SearchLimit::crossed</a></div><div class="ttdeci">bool crossed() const</div><div class="ttdoc">Returns true if the limit has been crossed.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04177">constraint_solver.h:4177</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a2c04ece633c362fcab7890202047156b"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a2c04ece633c362fcab7890202047156b">operations_research::Assignment::Assignment</a></div><div class="ttdeci">Assignment(Solver *const s)</div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_a33042163bd532ccbfe547236b22bf614"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#a33042163bd532ccbfe547236b22bf614">operations_research::SolutionCollector::~SolutionCollector</a></div><div class="ttdeci">~SolutionCollector() override</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a57ef889193c311a27a67bdbedb237c2d"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a57ef889193c311a27a67bdbedb237c2d">operations_research::Solver::MakeGreaterOrEqual</a></div><div class="ttdeci">Constraint * MakeGreaterOrEqual(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">left &gt;= right</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_afd2868244e1a645aaf41eb8a6a6c8bf4a2e646463fe193258a090a50ba806fd6e"><div class="ttname"><a href="classoperations__research_1_1Solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4a2e646463fe193258a090a50ba806fd6e">operations_research::Solver::LK</a></div><div class="ttdoc">LinKernighan local search.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00555">constraint_solver.h:555</a></div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVar_html_aec7dac2fca35046761c8d47af724c091"><div class="ttname"><a href="classoperations__research_1_1SequenceVar.html#aec7dac2fca35046761c8d47af724c091">operations_research::SequenceVar::RankNotFirst</a></div><div class="ttdeci">void RankNotFirst(int index)</div><div class="ttdoc">Indicates that the index_th interval var will not be ranked first of all currently unranked interval ...</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a800e6dd7541cfccb30f9ff87b0806282"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a800e6dd7541cfccb30f9ff87b0806282">operations_research::ModelVisitor::kNullIntersect</a></div><div class="ttdeci">static const char kNullIntersect[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03325">constraint_solver.h:3325</a></div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentContainer_html_a3abcbe1fcd37d8982941a795ed22e34a"><div class="ttname"><a href="classoperations__research_1_1AssignmentContainer.html#a3abcbe1fcd37d8982941a795ed22e34a">operations_research::AssignmentContainer::Store</a></div><div class="ttdeci">void Store()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04849">constraint_solver.h:4849</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a56faf89c8f9d82ff3b34ec79f48de37d"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a56faf89c8f9d82ff3b34ec79f48de37d">operations_research::IntervalVar::WhenEndRange</a></div><div class="ttdeci">virtual void WhenEndRange(Demon *const d)=0</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6f66063ebaf61025e27e96719affa3eea29cfeeb371c7d823879651fcc292b506"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea29cfeeb371c7d823879651fcc292b506">operations_research::Solver::ENDS_AFTER_END</a></div><div class="ttdoc">t1 ends after t2 end, i.e. End(t1) &gt;= End(t2) + delay.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00607">constraint_solver.h:607</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a68250739f49a6d86db5c43e754e09abc"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a68250739f49a6d86db5c43e754e09abc">operations_research::Solver::MakeActionDemon</a></div><div class="ttdeci">Demon * MakeActionDemon(Action action)</div><div class="ttdoc">Creates a demon from a callback.</div></div>
<div class="ttc" id="classoperations__research_1_1RegularLimit_html_a7dae7731e3aee0f21059730b01aaaf51"><div class="ttname"><a href="classoperations__research_1_1RegularLimit.html#a7dae7731e3aee0f21059730b01aaaf51">operations_research::RegularLimit::ProgressPercent</a></div><div class="ttdeci">int ProgressPercent() override</div><div class="ttdoc">Returns a percentage representing the propress of the search before reaching limits.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ae5aadcc612ef6d5d5745016e047cc114"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ae5aadcc612ef6d5d5745016e047cc114">operations_research::ModelVisitor::kInversePermutation</a></div><div class="ttdeci">static const char kInversePermutation[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03301">constraint_solver.h:3301</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a81a1d2316fe8c1891eb5048e00e7483b"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a81a1d2316fe8c1891eb5048e00e7483b">operations_research::Assignment::BackwardSequence</a></div><div class="ttdeci">const std::vector&lt; int &gt; &amp; BackwardSequence(const SequenceVar *const var) const</div></div>
<div class="ttc" id="classoperations__research_1_1OptimizeVar_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1OptimizeVar.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::OptimizeVar::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_abf8d63c7d5f292d9e040073cb2c195bf"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#abf8d63c7d5f292d9e040073cb2c195bf">operations_research::ModelVisitor::kMinArgument</a></div><div class="ttdeci">static const char kMinArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03398">constraint_solver.h:3398</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_afd16c8805de84b77fdc179d7e5ba35b3"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#afd16c8805de84b77fdc179d7e5ba35b3">operations_research::IntervalVarElement::Var</a></div><div class="ttdeci">IntervalVar * Var() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04600">constraint_solver.h:4600</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a8713de264f28d5c4b149e8a044254e45"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a8713de264f28d5c4b149e8a044254e45">operations_research::Solver::MakeBestValueSolutionCollector</a></div><div class="ttdeci">SolutionCollector * MakeBestValueSolutionCollector(const Assignment *const assignment, bool maximize)</div><div class="ttdoc">Collect the solution corresponding to the optimal value of the objective of 'assignment'; if 'assignm...</div></div>
<div class="ttc" id="structoperations__research_1_1Solver_1_1IntegerCastInfo_html_acb71959af429e32049d2b911e4d92ac3"><div class="ttname"><a href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#acb71959af429e32049d2b911e4d92ac3">operations_research::Solver::IntegerCastInfo::variable</a></div><div class="ttdeci">IntVar * variable</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00242">constraint_solver.h:242</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a357e8035bc8fad4fde163bc65b3f757d"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a357e8035bc8fad4fde163bc65b3f757d">operations_research::Solver::MakeApplyBranchSelector</a></div><div class="ttdeci">DecisionBuilder * MakeApplyBranchSelector(BranchSelector bs)</div><div class="ttdoc">Creates a decision builder that will set the branch selector.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ab7ab23bc58ea40dc03a5418ddbce7601"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">operations_research::Solver::IntVarStrategy</a></div><div class="ttdeci">IntVarStrategy</div><div class="ttdoc">This enum describes the strategy used to select the next branching variable at each node during the s...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00252">constraint_solver.h:252</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aba5c5dc6467e097f4972d7776541482b"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482b">operations_research::Solver::SequenceStrategy</a></div><div class="ttdeci">SequenceStrategy</div><div class="ttdoc">Used for scheduling. Not yet implemented.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00388">constraint_solver.h:388</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a21280a14cc9bea32e2a718e5a8fa6742"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a21280a14cc9bea32e2a718e5a8fa6742">operations_research::Solver::MakeSolutionsLimit</a></div><div class="ttdeci">RegularLimit * MakeSolutionsLimit(int64 solutions)</div><div class="ttdoc">Creates a search limit that constrains the number of solutions found during the search.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a46ad005bf538f19f4f1a45b357561be9a59a769807fd4d1f4a9bab3dcbe120cd4"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a59a769807fd4d1f4a9bab3dcbe120cd4">operations_research::Solver::AVOID_DATE</a></div><div class="ttdoc">STARTS_AFTER or ENDS_BEFORE, i.e.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00665">constraint_solver.h:665</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_ada8114ab203bc9abdedeed3f36d122b2"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#ada8114ab203bc9abdedeed3f36d122b2">operations_research::IntervalVar::SetDurationMax</a></div><div class="ttdeci">virtual void SetDurationMax(int64 m)=0</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ae41b2bf84506cfcf1c4e17056c589f99"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ae41b2bf84506cfcf1c4e17056c589f99">operations_research::ModelVisitor::VisitSequenceArgument</a></div><div class="ttdeci">virtual void VisitSequenceArgument(const std::string &amp;arg_name, SequenceVar *const argument)</div><div class="ttdoc">Visit sequence argument.</div></div>
<div class="ttc" id="classoperations__research_1_1IntVarElement_html_ae7fff7af26c2af0750ad739c3677dd79"><div class="ttname"><a href="classoperations__research_1_1IntVarElement.html#ae7fff7af26c2af0750ad739c3677dd79">operations_research::IntVarElement::SetMax</a></div><div class="ttdeci">void SetMax(int64 m)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04565">constraint_solver.h:4565</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_aab2342dc981954ebcfdd6735045f3448"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#aab2342dc981954ebcfdd6735045f3448">operations_research::Assignment::operator==</a></div><div class="ttdeci">bool operator==(const Assignment &amp;assignment) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05094">constraint_solver.h:5094</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a2d42743fa4cfbe3c8864aacefff1bb85"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a2d42743fa4cfbe3c8864aacefff1bb85">operations_research::IntervalVarElement::Reset</a></div><div class="ttdeci">void Reset(IntervalVar *const var)</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_ac97eab84adb6cc33ae0124c944a4f8c7"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#ac97eab84adb6cc33ae0124c944a4f8c7">operations_research::Assignment::Copy</a></div><div class="ttdeci">void Copy(const Assignment *assignment)</div><div class="ttdoc">Copies 'assignment' to the current assignment, clearing its previous content.</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a764be64f3029f8b8e23511061d8de355"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a764be64f3029f8b8e23511061d8de355">operations_research::IntervalVarElement::DebugString</a></div><div class="ttdeci">std::string DebugString() const</div></div>
<div class="ttc" id="classoperations__research_1_1OptimizeVar_html_a87607661db50ef1ae104b4cd6d05f8a8"><div class="ttname"><a href="classoperations__research_1_1OptimizeVar.html#a87607661db50ef1ae104b4cd6d05f8a8">operations_research::OptimizeVar::step_</a></div><div class="ttdeci">int64 step_</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04161">constraint_solver.h:4161</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a872ff9f9b519eb2dc7a519739b51985d"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a872ff9f9b519eb2dc7a519739b51985d">operations_research::Assignment::ObjectiveValue</a></div><div class="ttdeci">int64 ObjectiveValue() const</div></div>
<div class="ttc" id="structoperations__research_1_1DefaultPhaseParameters_html_a859e753eeaea8a2e9a1af1a6aa5f786fa2537cfa97cf345dda1b14e7da07b60d9"><div class="ttname"><a href="structoperations__research_1_1DefaultPhaseParameters.html#a859e753eeaea8a2e9a1af1a6aa5f786fa2537cfa97cf345dda1b14e7da07b60d9">operations_research::DefaultPhaseParameters::SELECT_MAX_IMPACT</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00165">constraint_solver.h:165</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a1472c6d924697afc986d7650a08c7a1f"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a1472c6d924697afc986d7650a08c7a1f">operations_research::ModelVisitor::kRelaxedMinOperation</a></div><div class="ttdeci">static const char kRelaxedMinOperation[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03432">constraint_solver.h:3432</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_af341bdc63fc2e487a50047afa36a536b"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#af341bdc63fc2e487a50047afa36a536b">operations_research::IntervalVar::MayBePerformed</a></div><div class="ttdeci">virtual bool MayBePerformed() const =0</div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_ae8d85a8a6f3e8fbc31f291a4b809c8a2"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#ae8d85a8a6f3e8fbc31f291a4b809c8a2">operations_research::IntVar::VarType</a></div><div class="ttdeci">virtual int VarType() const</div></div>
<div class="ttc" id="classoperations__research_1_1IntExpr_html_afcde421cf076575a27bed81c80093ac8"><div class="ttname"><a href="classoperations__research_1_1IntExpr.html#afcde421cf076575a27bed81c80093ac8">operations_research::IntExpr::Accept</a></div><div class="ttdeci">virtual void Accept(ModelVisitor *const visitor) const</div><div class="ttdoc">Accepts the given visitor.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a8bff6cc5ae227e109c6765b4c6809eb3"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a8bff6cc5ae227e109c6765b4c6809eb3">operations_research::Solver::set_optimization_direction</a></div><div class="ttdeci">void set_optimization_direction(OptimizationDirection direction)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00999">constraint_solver.h:999</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ac37c2bd07ceef4d026fec9fdf659734a"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ac37c2bd07ceef4d026fec9fdf659734a">operations_research::Solver::MakeRankLastInterval</a></div><div class="ttdeci">Decision * MakeRankLastInterval(SequenceVar *const sequence, int index)</div><div class="ttdoc">Returns a decision that tries to rank last the ith interval var in the sequence variable.</div></div>
<div class="ttc" id="structoperations__research_1_1SolutionCollector_1_1SolutionData_html_aceea78505d78ed7c119e37b005cdddb5"><div class="ttname"><a href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#aceea78505d78ed7c119e37b005cdddb5">operations_research::SolutionCollector::SolutionData::failures</a></div><div class="ttdeci">int64 failures</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04103">constraint_solver.h:4103</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_add65f146a423ac3dc2393b9308e4c476"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#add65f146a423ac3dc2393b9308e4c476">operations_research::ModelVisitor::kWeightedSumOfAssignedEqualVariableExtension</a></div><div class="ttdeci">static const char kWeightedSumOfAssignedEqualVariableExtension[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03364">constraint_solver.h:3364</a></div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVarElement_html_ae34cdbb92170829390f602d2466c6b29"><div class="ttname"><a href="classoperations__research_1_1SequenceVarElement.html#ae34cdbb92170829390f602d2466c6b29">operations_research::SequenceVarElement::ForwardSequence</a></div><div class="ttdeci">const std::vector&lt; int &gt; &amp; ForwardSequence() const</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a4260a3ba3644fec332cd650e2d3c9f68"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a4260a3ba3644fec332cd650e2d3c9f68">operations_research::Solver::AddPropagationMonitor</a></div><div class="ttdeci">void AddPropagationMonitor(PropagationMonitor *const monitor)</div><div class="ttdoc">Adds the propagation monitor to the solver.</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a643ad0dc8e9cdf44c3923c1afb002787"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a643ad0dc8e9cdf44c3923c1afb002787">operations_research::IntervalVar::WasPerformedBound</a></div><div class="ttdeci">virtual bool WasPerformedBound() const =0</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aadca605a5fc64e54fc8e31e0b7e36eaa"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aadca605a5fc64e54fc8e31e0b7e36eaa">operations_research::Solver::CastExpression</a></div><div class="ttdeci">IntExpr * CastExpression(const IntVar *const var) const</div><div class="ttdoc">!defined(SWIG)</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a39617dedc90b5b445309c8f3f81ec342"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a39617dedc90b5b445309c8f3f81ec342">operations_research::ModelVisitor::EndVisitModel</a></div><div class="ttdeci">virtual void EndVisitModel(const std::string &amp;solver_name)</div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_aaeaf933a169ea16e571b9af9c7079883"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#aaeaf933a169ea16e571b9af9c7079883">operations_research::SolutionCollector::EndValue</a></div><div class="ttdeci">int64 EndValue(int n, IntervalVar *const var) const</div><div class="ttdoc">This is a shortcut to get the EndValue of 'var' in the nth solution.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ae68fffdab4f9ab564cfd6d5d5da2cf76"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ae68fffdab4f9ab564cfd6d5d5da2cf76">operations_research::Solver::MakeFailuresLimit</a></div><div class="ttdeci">RegularLimit * MakeFailuresLimit(int64 failures)</div><div class="ttdoc">Creates a search limit that constrains the number of failures that can happen when exploring the sear...</div></div>
<div class="ttc" id="classoperations__research_1_1OptimizeVar_html_ab3631067f88ccc24c5db6a8a0dc64e47"><div class="ttname"><a href="classoperations__research_1_1OptimizeVar.html#ab3631067f88ccc24c5db6a8a0dc64e47">operations_research::OptimizeVar::AtSolution</a></div><div class="ttdeci">bool AtSolution() override</div><div class="ttdoc">This method is called when a valid solution is found.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a29dbfc2d9cb6c5525f69bc14b9181f34"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a29dbfc2d9cb6c5525f69bc14b9181f34">operations_research::ModelVisitor::kDifferenceOperation</a></div><div class="ttdeci">static const char kDifferenceOperation[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03434">constraint_solver.h:3434</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ab9b8c3ea993ee19fd9cb68fb3240e09f"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ab9b8c3ea993ee19fd9cb68fb3240e09f">operations_research::Solver::NextSolution</a></div><div class="ttdeci">bool NextSolution()</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a948d289f00fbcdded9ff77d4e4c21f14"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a948d289f00fbcdded9ff77d4e4c21f14">operations_research::IntervalVar::OldEndMax</a></div><div class="ttdeci">virtual int64 OldEndMax() const =0</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a685b066c4bdd6050e4be33c81104c10d"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a685b066c4bdd6050e4be33c81104c10d">operations_research::Solver::Compose</a></div><div class="ttdeci">DecisionBuilder * Compose(DecisionBuilder *const db1, DecisionBuilder *const db2)</div><div class="ttdoc">Creates a decision builder which sequentially composes decision builders.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_af71de254f80c10584696d5285aca5183"><div class="ttname"><a href="classoperations__research_1_1Solver.html#af71de254f80c10584696d5285aca5183">operations_research::Solver::NewSearch</a></div><div class="ttdeci">void NewSearch(DecisionBuilder *const db, const std::vector&lt; SearchMonitor * &gt; &amp;monitors)</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a0f5cb6f97a812bf8259c3e2b15cc6445"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a0f5cb6f97a812bf8259c3e2b15cc6445">operations_research::ModelVisitor::kPathCumul</a></div><div class="ttdeci">static const char kPathCumul[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03328">constraint_solver.h:3328</a></div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_af1f5233fe432bbd1fea571ac4131007c"><div class="ttname"><a href="classoperations__research_1_1Pack.html#af1f5233fe432bbd1fea571ac4131007c">operations_research::Pack::AddWeightedSumLessOrEqualConstantDimension</a></div><div class="ttdeci">void AddWeightedSumLessOrEqualConstantDimension(const std::vector&lt; int64 &gt; &amp;weights, const std::vector&lt; int64 &gt; &amp;bounds)</div><div class="ttdoc">Dimensions are additional constraints than can restrict what is possible with the pack constraint.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ac133c70c33f7154e8bacd9b967211466"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ac133c70c33f7154e8bacd9b967211466">operations_research::Solver::MakeLessOrEqual</a></div><div class="ttdeci">Constraint * MakeLessOrEqual(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">left &lt;= right</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a66badecb0606e028c8f2318523337510"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a66badecb0606e028c8f2318523337510">operations_research::ModelVisitor::kLess</a></div><div class="ttdeci">static const char kLess[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03310">constraint_solver.h:3310</a></div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html"><div class="ttname"><a href="classoperations__research_1_1Pack.html">operations_research::Pack</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05125">constraint_solver.h:5125</a></div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_a35f33e423f42d8e78db12010bd7ae338"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#a35f33e423f42d8e78db12010bd7ae338">operations_research::SolutionCollector::Push</a></div><div class="ttdeci">void Push(const SolutionData &amp;data)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04114">constraint_solver.h:4114</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a25367402bed36b599e0269f2612cfa29"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a25367402bed36b599e0269f2612cfa29">operations_research::IntervalVar::kMaxValidValue</a></div><div class="ttdeci">static const int64 kMaxValidValue</div><div class="ttdoc">The largest acceptable value to be returned by EndMax()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04290">constraint_solver.h:4290</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a5d4172d3c6e27afbbaa66ab21917d912"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a5d4172d3c6e27afbbaa66ab21917d912">operations_research::Solver::MakePathCumul</a></div><div class="ttdeci">Constraint * MakePathCumul(const std::vector&lt; IntVar * &gt; &amp;nexts, const std::vector&lt; IntVar * &gt; &amp;active, const std::vector&lt; IntVar * &gt; &amp;cumuls, const std::vector&lt; IntVar * &gt; &amp;transits)</div><div class="ttdoc">Creates a constraint which accumulates values along a path such that: cumuls[next[i]] = cumuls[i] + t...</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_ad8eedf4d4c6d9e2aab3d964b494293d9"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#ad8eedf4d4c6d9e2aab3d964b494293d9">operations_research::Assignment::ObjectiveMax</a></div><div class="ttdeci">int64 ObjectiveMax() const</div></div>
<div class="ttc" id="structoperations__research_1_1DefaultPhaseParameters_html_a859e753eeaea8a2e9a1af1a6aa5f786f"><div class="ttname"><a href="structoperations__research_1_1DefaultPhaseParameters.html#a859e753eeaea8a2e9a1af1a6aa5f786f">operations_research::DefaultPhaseParameters::ValueSelection</a></div><div class="ttdeci">ValueSelection</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00163">constraint_solver.h:163</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVarElement_html_a5fa627799e723b650fe562b05e1fef5f"><div class="ttname"><a href="classoperations__research_1_1IntVarElement.html#a5fa627799e723b650fe562b05e1fef5f">operations_research::IntVarElement::Max</a></div><div class="ttdeci">int64 Max() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04564">constraint_solver.h:4564</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a1974d638ba45f2a66ae864e96b766131"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a1974d638ba45f2a66ae864e96b766131">operations_research::Solver::SolveAndCommit</a></div><div class="ttdeci">bool SolveAndCommit(DecisionBuilder *const db, const std::vector&lt; SearchMonitor * &gt; &amp;monitors)</div><div class="ttdoc">SolveAndCommit using a decision builder and up to three search monitors, usually one for the objectiv...</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_ade171abf4e9422b35a69df7eda30d541"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#ade171abf4e9422b35a69df7eda30d541">operations_research::IntervalVar::WhenPerformedBound</a></div><div class="ttdeci">void WhenPerformedBound(Solver::Action action)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04394">constraint_solver.h:4394</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6fc60ae040ae35c83f09736d2e682a18a6235329fc45bc5a7612cc84342b2528e"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a6235329fc45bc5a7612cc84342b2528e">operations_research::Solver::TWOOPT</a></div><div class="ttdoc">Operator which reverses a sub-chain of a path.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00422">constraint_solver.h:422</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a0a2ac050130006847487f3101c776512"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a0a2ac050130006847487f3101c776512">operations_research::IntervalVar::OldStartMin</a></div><div class="ttdeci">virtual int64 OldStartMin() const =0</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_afd0afc083b6231aea53675d7fdd43558"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#afd0afc083b6231aea53675d7fdd43558">operations_research::ModelVisitor::kTraceOperation</a></div><div class="ttdeci">static const char kTraceOperation[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03438">constraint_solver.h:3438</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a59b6f290ac2642a4ad158f25bdbce49a"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a59b6f290ac2642a4ad158f25bdbce49a">operations_research::Solver::MakeStatisticsModelVisitor</a></div><div class="ttdeci">ModelVisitor * MakeStatisticsModelVisitor()</div><div class="ttdoc">Displays some nice statistics on the model.</div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentContainer_html_a907ce7f41938cc755b6b1f4a55b5cd27"><div class="ttname"><a href="classoperations__research_1_1AssignmentContainer.html#a907ce7f41938cc755b6b1f4a55b5cd27">operations_research::AssignmentContainer::Element</a></div><div class="ttdeci">const E &amp; Element(const V *const var) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04832">constraint_solver.h:4832</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a4de855c905df4a729715972dc39997a4"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a4de855c905df4a729715972dc39997a4">operations_research::Solver::TopPeriodicCheck</a></div><div class="ttdeci">void TopPeriodicCheck()</div><div class="ttdoc">Performs PeriodicCheck on the top-level search; for instance, can be called from a nested solve to ch...</div></div>
<div class="ttc" id="classoperations__research_1_1RevArray_html_a6ee1e316ed04f92451652ee0853d6980"><div class="ttname"><a href="classoperations__research_1_1RevArray.html#a6ee1e316ed04f92451652ee0853d6980">operations_research::RevArray::RevArray</a></div><div class="ttdeci">RevArray(int size, const T &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03711">constraint_solver.h:3711</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ac3119dd51e22d5265000c78420be940a"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ac3119dd51e22d5265000c78420be940a">operations_research::ModelVisitor::kProductOperation</a></div><div class="ttdeci">static const char kProductOperation[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03435">constraint_solver.h:3435</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a98308e5047f0292f8f18e03285e07458"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a98308e5047f0292f8f18e03285e07458">operations_research::ModelVisitor::kSolutionLimitArgument</a></div><div class="ttdeci">static const char kSolutionLimitArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03414">constraint_solver.h:3414</a></div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_aa30c84aec5e60d6b74e1e1eb15011d4a"><div class="ttname"><a href="classoperations__research_1_1Pack.html#aa30c84aec5e60d6b74e1e1eb15011d4a">operations_research::Pack::Accept</a></div><div class="ttdeci">void Accept(ModelVisitor *const visitor) const override</div><div class="ttdoc">Accepts the given visitor.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_adc21d0975be7623256b38bc0000338e8"><div class="ttname"><a href="classoperations__research_1_1Solver.html#adc21d0975be7623256b38bc0000338e8">operations_research::Solver::MakeDecision</a></div><div class="ttdeci">Decision * MakeDecision(Action apply, Action refute)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a1ea5058539db59baa42729c76279c818"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a1ea5058539db59baa42729c76279c818">operations_research::Solver::MakeBoolVar</a></div><div class="ttdeci">IntVar * MakeBoolVar()</div><div class="ttdoc">MakeBoolVar will create a variable with a {0, 1} domain.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a40a4fcaeba627e64dcf5bc5abb850390"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a40a4fcaeba627e64dcf5bc5abb850390">operations_research::Solver::MakeFixedDurationEndSyncedOnStartIntervalVar</a></div><div class="ttdeci">IntervalVar * MakeFixedDurationEndSyncedOnStartIntervalVar(IntervalVar *const interval_var, int64 duration, int64 offset)</div><div class="ttdoc">Creates an interval var with a fixed duration whose end is synchronized with the start of another int...</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a1d449616c809262cdbd42782d025380d"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a1d449616c809262cdbd42782d025380d">operations_research::Solver::MakeNestedOptimize</a></div><div class="ttdeci">DecisionBuilder * MakeNestedOptimize(DecisionBuilder *const db, Assignment *const solution, bool maximize, int64 step)</div><div class="ttdoc">NestedOptimize will collapse a search tree described by a decision builder 'db' and a set of monitors...</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a1680a15375772b3c4930869519695e27"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a1680a15375772b3c4930869519695e27">operations_research::ModelVisitor::kAllowedAssignments</a></div><div class="ttdeci">static const char kAllowedAssignments[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03272">constraint_solver.h:3272</a></div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_a7355e73fd1c286b47bdd911d5c17b3ff"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#a7355e73fd1c286b47bdd911d5c17b3ff">operations_research::SolutionCollector::BuildSolutionDataForCurrentState</a></div><div class="ttdeci">SolutionData BuildSolutionDataForCurrentState()</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a7e93894fe0c69a7040796a6a191177ef"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a7e93894fe0c69a7040796a6a191177ef">operations_research::Solver::MakeIsLessOrEqualCstVar</a></div><div class="ttdeci">IntVar * MakeIsLessOrEqualCstVar(IntExpr *const var, int64 value)</div><div class="ttdoc">status var of (var &lt;= value)</div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_af5d847a82550308399c315915ef8408f"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#af5d847a82550308399c315915ef8408f">operations_research::IntVar::IsVar</a></div><div class="ttdeci">bool IsVar() const override</div><div class="ttdoc">Returns true if the expression is indeed a variable.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03935">constraint_solver.h:3935</a></div></div>
<div class="ttc" id="classoperations__research_1_1PropagationBaseObject_html_a3ae4667b0e7a9e6c63c91202480c8876"><div class="ttname"><a href="classoperations__research_1_1PropagationBaseObject.html#a3ae4667b0e7a9e6c63c91202480c8876">operations_research::PropagationBaseObject::set_action_on_fail</a></div><div class="ttdeci">void set_action_on_fail(Solver::Action a)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03132">constraint_solver.h:3132</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aa85ea2f18d279cee4727f179c354d924"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aa85ea2f18d279cee4727f179c354d924">operations_research::Solver::MakeMaxEquality</a></div><div class="ttdeci">Constraint * MakeMaxEquality(const std::vector&lt; IntVar * &gt; &amp;vars, IntVar *const max_var)</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ab794f433b6ce53eaafc86b9fef3e6337"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ab794f433b6ce53eaafc86b9fef3e6337">operations_research::ModelVisitor::VisitIntervalVariable</a></div><div class="ttdeci">virtual void VisitIntervalVariable(const IntervalVar *const variable, const std::string &amp;operation, int64 value, IntervalVar *const delegate)</div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_a9a5ab9fb129f8b45255d5fbed741d2b2"><div class="ttname"><a href="classoperations__research_1_1Pack.html#a9a5ab9fb129f8b45255d5fbed741d2b2">operations_research::Pack::AddSumVariableWeightsLessOrEqualConstantDimension</a></div><div class="ttdeci">void AddSumVariableWeightsLessOrEqualConstantDimension(const std::vector&lt; IntVar * &gt; &amp;usage, const std::vector&lt; int64 &gt; &amp;capacity)</div><div class="ttdoc">This dimension imposes: forall b in bins, sum (i in items: usage[i] * is_assigned(i,...</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a418093315d91c51a1adb1dda94266643"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a418093315d91c51a1adb1dda94266643">operations_research::ModelVisitor::kGreater</a></div><div class="ttdeci">static const char kGreater[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03294">constraint_solver.h:3294</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_acb82f80b98dd125b5848482e3e416e52"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#acb82f80b98dd125b5848482e3e416e52">operations_research::IntervalVarElement::SetDurationMax</a></div><div class="ttdeci">void SetDurationMax(int64 m)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04642">constraint_solver.h:4642</a></div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVarElement_html_a96e5f3f4d26b72233af38a0d30e900e1"><div class="ttname"><a href="classoperations__research_1_1SequenceVarElement.html#a96e5f3f4d26b72233af38a0d30e900e1">operations_research::SequenceVarElement::Copy</a></div><div class="ttdeci">void Copy(const SequenceVarElement &amp;element)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aa0066dd51ec61b542bd7061cf3fd1219"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aa0066dd51ec61b542bd7061cf3fd1219">operations_research::Solver::MakeIsDifferentVar</a></div><div class="ttdeci">IntVar * MakeIsDifferentVar(IntExpr *const v1, IntExpr *const v2)</div><div class="ttdoc">status var of (v1 != v2)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a888c0760d8e2d589bea87e323838d4c8"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a888c0760d8e2d589bea87e323838d4c8">operations_research::Solver::MakeIsLessOrEqualCt</a></div><div class="ttdeci">Constraint * MakeIsLessOrEqualCt(IntExpr *const left, IntExpr *const right, IntVar *const b)</div><div class="ttdoc">b == (left &lt;= right)</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a8178509093b9d6d4283b32285d2cdc65"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a8178509093b9d6d4283b32285d2cdc65">operations_research::IntervalVarElement::PerformedValue</a></div><div class="ttdeci">int64 PerformedValue() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04627">constraint_solver.h:4627</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a893d3c8a64a0019e4df1f79192008076"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a893d3c8a64a0019e4df1f79192008076">operations_research::IntervalVar::EndExpr</a></div><div class="ttdeci">virtual IntExpr * EndExpr()=0</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_af1f5799cc044ed55c7875e0f2512a640"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#af1f5799cc044ed55c7875e0f2512a640">operations_research::IntervalVarElement::PerformedMax</a></div><div class="ttdeci">int64 PerformedMax() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04626">constraint_solver.h:4626</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a64e3df5cecd4de1a3d052795458f7069"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a64e3df5cecd4de1a3d052795458f7069">operations_research::Solver::ShouldFail</a></div><div class="ttdeci">void ShouldFail()</div><div class="ttdoc">These methods are only useful for the SWIG wrappers, which need a way to externally cause the Solver ...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02917">constraint_solver.h:2917</a></div></div>
<div class="ttc" id="classoperations__research_1_1SearchLimit_html_a279e462390a3028b062e03ce0616efbd"><div class="ttname"><a href="classoperations__research_1_1SearchLimit.html#a279e462390a3028b062e03ce0616efbd">operations_research::SearchLimit::SearchLimit</a></div><div class="ttdeci">SearchLimit(Solver *const s)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04173">constraint_solver.h:4173</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a1a4f1ea45d334b09cb83f27243536867"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a1a4f1ea45d334b09cb83f27243536867">operations_research::Assignment::SetObjectiveRange</a></div><div class="ttdeci">void SetObjectiveRange(int64 l, int64 u)</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_af61724f6a9f9d2d310203501c3e57894"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#af61724f6a9f9d2d310203501c3e57894">operations_research::IntervalVar::WhenDurationRange</a></div><div class="ttdeci">void WhenDurationRange(Solver::Action action)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04338">constraint_solver.h:4338</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_add98b301e98f8984537cb04626673ae1"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#add98b301e98f8984537cb04626673ae1">operations_research::Assignment::StartMax</a></div><div class="ttdeci">int64 StartMax(const IntervalVar *const var) const</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_afd2d924f019d44bc99930a1e931a735fa9efdc855f3c1477957fb50affec07f8f"><div class="ttname"><a href="classoperations__research_1_1Solver.html#afd2d924f019d44bc99930a1e931a735fa9efdc855f3c1477957fb50affec07f8f">operations_research::Solver::EQ</a></div><div class="ttdoc">Move is accepted when the current objective value is in the interval objective.Min .</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00585">constraint_solver.h:585</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a45c5a2dd0d47110ef5b00408854d8d84a18c9277012e856da1bf8fcdbe79b2173"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a18c9277012e856da1bf8fcdbe79b2173">operations_research::Solver::ASSIGN_CENTER_VALUE</a></div><div class="ttdoc">Selects the first possible value which is the closest to the center of the domain of the selected var...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00352">constraint_solver.h:352</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a7191b9102f19b0245cbe496d757d81b9"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a7191b9102f19b0245cbe496d757d81b9">operations_research::Assignment::SetPerformedRange</a></div><div class="ttdeci">void SetPerformedRange(const IntervalVar *const var, int64 mi, int64 ma)</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_ae82eabc3ac9b82c5d0e16b20ff255be1"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#ae82eabc3ac9b82c5d0e16b20ff255be1">operations_research::IntervalVar::WhenEndBound</a></div><div class="ttdeci">void WhenEndBound(Solver::Closure closure)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04370">constraint_solver.h:4370</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6fc60ae040ae35c83f09736d2e682a18"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18">operations_research::Solver::LocalSearchOperators</a></div><div class="ttdeci">LocalSearchOperators</div><div class="ttdoc">This enum is used in Solver::MakeOperator to specify the neighborhood to create.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00412">constraint_solver.h:412</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a56b95bece4ade1fc41ea6f298fa3b7ab"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a56b95bece4ade1fc41ea6f298fa3b7ab">operations_research::IntervalVar::SetEndMax</a></div><div class="ttdeci">virtual void SetEndMax(int64 m)=0</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a8a7da3f31ad7c5b52efbe18192222c9c"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a8a7da3f31ad7c5b52efbe18192222c9c">operations_research::Solver::MakeStoreAssignment</a></div><div class="ttdeci">DecisionBuilder * MakeStoreAssignment(Assignment *assignment)</div><div class="ttdoc">Returns a DecisionBuilder which stores an Assignment (calls void Assignment::Store())</div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentContainer_html_ad9cf0e91780366986c2f047bd796cdd5"><div class="ttname"><a href="classoperations__research_1_1AssignmentContainer.html#ad9cf0e91780366986c2f047bd796cdd5">operations_research::AssignmentContainer::Resize</a></div><div class="ttdeci">void Resize(size_t size)</div><div class="ttdoc">Advanced usage: Resizes the container, potentially adding elements with null variables.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04782">constraint_solver.h:4782</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a56c59c6a5d75ab26416250cc2a820ebd"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a56c59c6a5d75ab26416250cc2a820ebd">operations_research::ModelVisitor::kSum</a></div><div class="ttdeci">static const char kSum[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03342">constraint_solver.h:3342</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ab7ab23bc58ea40dc03a5418ddbce7601ae2c3ca1431efdb92978cd252c9ec01a7"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ae2c3ca1431efdb92978cd252c9ec01a7">operations_research::Solver::CHOOSE_MIN_SIZE_LOWEST_MAX</a></div><div class="ttdoc">Among unbound variables, select the variable with the smallest size, i.e., the smallest number of pos...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00289">constraint_solver.h:289</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6c5db13a3c9f01de635962c1af57df16"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6c5db13a3c9f01de635962c1af57df16">operations_research::Solver::MakeIfThenElseCt</a></div><div class="ttdeci">Constraint * MakeIfThenElseCt(IntVar *const condition, IntExpr *const then_expr, IntExpr *const else_expr, IntVar *const target_var)</div><div class="ttdoc">Special cases with arrays of size two.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a096edf47d0fdf540679b385bc80ece6a"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a096edf47d0fdf540679b385bc80ece6a">operations_research::ModelVisitor::kOpposite</a></div><div class="ttdeci">static const char kOpposite[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03326">constraint_solver.h:3326</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a166c36cdc73ef649a97330f9a5f421e1"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a166c36cdc73ef649a97330f9a5f421e1">operations_research::Solver::RestartCurrentSearch</a></div><div class="ttdeci">void RestartCurrentSearch()</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a92149cd4553cbe6b381ea8a10bd2751a"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a92149cd4553cbe6b381ea8a10bd2751a">operations_research::ModelVisitor::kSquare</a></div><div class="ttdeci">static const char kSquare[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03340">constraint_solver.h:3340</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6fc60ae040ae35c83f09736d2e682a18acd27a3a13d233019cec19a2423d65a84"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18acd27a3a13d233019cec19a2423d65a84">operations_research::Solver::DECREMENT</a></div><div class="ttdoc">Operator which defines a neighborhood to decrement values.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00536">constraint_solver.h:536</a></div></div>
<div class="ttc" id="classoperations__research_1_1Decision_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1Decision.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::Decision::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03171">constraint_solver.h:3171</a></div></div>
<div class="ttc" id="classoperations__research_1_1NumericalRev_html_ac8beef1ef5cd6ce8bdfb3f48016ff72b"><div class="ttname"><a href="classoperations__research_1_1NumericalRev.html#ac8beef1ef5cd6ce8bdfb3f48016ff72b">operations_research::NumericalRev::Incr</a></div><div class="ttdeci">void Incr(Solver *const s)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03698">constraint_solver.h:3698</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a16bcd268aea2212502a7905c2167a640"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a16bcd268aea2212502a7905c2167a640">operations_research::ModelVisitor::kDemandsArgument</a></div><div class="ttdeci">static const char kDemandsArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03376">constraint_solver.h:3376</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a04b0421e51eab065705d96a08db6338d"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a04b0421e51eab065705d96a08db6338d">operations_research::Solver::MakeIsGreaterVar</a></div><div class="ttdeci">IntVar * MakeIsGreaterVar(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">status var of (left &gt; right)</div></div>
<div class="ttc" id="structoperations__research_1_1InitAndGetValues_1_1Iterator_html_a28707ecfd89699b87e970e59df75435c"><div class="ttname"><a href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html#a28707ecfd89699b87e970e59df75435c">operations_research::InitAndGetValues::Iterator::Begin</a></div><div class="ttdeci">static Iterator Begin(IntVarIterator *it)</div><div class="ttdoc">These are the only way to construct an Iterator.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03891">constraint_solver.h:3891</a></div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_a44ce2293355612ba36dcacf9b7281d47"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#a44ce2293355612ba36dcacf9b7281d47">operations_research::SolutionCollector::ForwardSequence</a></div><div class="ttdeci">const std::vector&lt; int &gt; &amp; ForwardSequence(int n, SequenceVar *const var) const</div><div class="ttdoc">This is a shortcut to get the ForwardSequence of 'var' in the nth solution.</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a82728fd2e5b30169646991d9e78a75a4"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a82728fd2e5b30169646991d9e78a75a4">operations_research::IntervalVar::WhenPerformedBound</a></div><div class="ttdeci">virtual void WhenPerformedBound(Demon *const d)=0</div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_a6feb8bb936fa7469982badd222c6e952"><div class="ttname"><a href="classoperations__research_1_1Pack.html#a6feb8bb936fa7469982badd222c6e952">operations_research::Pack::~Pack</a></div><div class="ttdeci">~Pack() override</div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_a7005edfb93d09a9ca1ecb989a9bc6733"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#a7005edfb93d09a9ca1ecb989a9bc6733">operations_research::IntVar::Contains</a></div><div class="ttdeci">virtual bool Contains(int64 v) const =0</div><div class="ttdoc">This method returns whether the value 'v' is in the domain of the variable.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a30b50b7180fb05913750969f7099b3b5"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a30b50b7180fb05913750969f7099b3b5">operations_research::ModelVisitor::kVariableGroupExtension</a></div><div class="ttdeci">static const char kVariableGroupExtension[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03362">constraint_solver.h:3362</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a290fc3c2f12eaa320db59f8f71e07747"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a290fc3c2f12eaa320db59f8f71e07747">operations_research::ModelVisitor::BeginVisitExtension</a></div><div class="ttdeci">virtual void BeginVisitExtension(const std::string &amp;type)</div></div>
<div class="ttc" id="structoperations__research_1_1Solver_1_1SearchLogParameters_html"><div class="ttname"><a href="structoperations__research_1_1Solver_1_1SearchLogParameters.html">operations_research::Solver::SearchLogParameters</a></div><div class="ttdoc">Creates a search monitor from logging parameters.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02258">constraint_solver.h:2258</a></div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_adfeaf3bb78e09fb211bdb8a4fa605c05"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#adfeaf3bb78e09fb211bdb8a4fa605c05">operations_research::SearchMonitor::BeginInitialPropagation</a></div><div class="ttdeci">virtual void BeginInitialPropagation()</div><div class="ttdoc">Before the initial propagation.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_accc6efd3a4ae0906e3d148ae7ab44db1"><div class="ttname"><a href="classoperations__research_1_1Solver.html#accc6efd3a4ae0906e3d148ae7ab44db1">operations_research::Solver::MakeFirstSolutionCollector</a></div><div class="ttdeci">SolutionCollector * MakeFirstSolutionCollector()</div><div class="ttdoc">Collect the first solution of the search.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a9148e84bdd8ea90a08dd76122d041400"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a9148e84bdd8ea90a08dd76122d041400">operations_research::ModelVisitor::kMaxArgument</a></div><div class="ttdeci">static const char kMaxArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03396">constraint_solver.h:3396</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a7f7f661e9b94f25f706732924e0f01e9"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a7f7f661e9b94f25f706732924e0f01e9">operations_research::IntervalVar::MustBePerformed</a></div><div class="ttdeci">virtual bool MustBePerformed() const =0</div><div class="ttdoc">These methods query, set, and watch the performed status of the interval var.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ad6e6311cb014cfefca8de2c379c5137b"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ad6e6311cb014cfefca8de2c379c5137b">operations_research::ModelVisitor::VisitIntegerArrayArgument</a></div><div class="ttdeci">virtual void VisitIntegerArrayArgument(const std::string &amp;arg_name, const std::vector&lt; int64 &gt; &amp;values)</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a3639042f24d01e89b18ca7f50af82f1e"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a3639042f24d01e89b18ca7f50af82f1e">operations_research::Assignment::SequenceContainer</a></div><div class="ttdeci">AssignmentContainer&lt; SequenceVar, SequenceVarElement &gt; SequenceContainer</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04935">constraint_solver.h:4935</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ae5dafec4a3984f3a489f81ad5af0e4c1"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ae5dafec4a3984f3a489f81ad5af0e4c1">operations_research::Solver::InstrumentsDemons</a></div><div class="ttdeci">bool InstrumentsDemons() const</div><div class="ttdoc">Returns whether we are instrumenting demons.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a26685fc40f9c1a471f510c940229f12a"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a26685fc40f9c1a471f510c940229f12a">operations_research::ModelVisitor::kLinkExprVar</a></div><div class="ttdeci">static const char kLinkExprVar[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03313">constraint_solver.h:3313</a></div></div>
<div class="ttc" id="classoperations__research_1_1Rev_html_a95da6a138a3b56de0cf0c3c4ba7c4688"><div class="ttname"><a href="classoperations__research_1_1Rev.html#a95da6a138a3b56de0cf0c3c4ba7c4688">operations_research::Rev::SetValue</a></div><div class="ttdeci">void SetValue(Solver *const s, const T &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03673">constraint_solver.h:3673</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a2fcb72958195336902eeca6bad65b001"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a2fcb72958195336902eeca6bad65b001">operations_research::Solver::demon_runs</a></div><div class="ttdeci">int64 demon_runs(DemonPriority p) const</div><div class="ttdoc">The number of demons executed during search for a given priority.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00974">constraint_solver.h:974</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a962c32883b6e5af795e295cf2744df10"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a962c32883b6e5af795e295cf2744df10">operations_research::IntervalVar::StartMin</a></div><div class="ttdeci">virtual int64 StartMin() const =0</div><div class="ttdoc">These methods query, set, and watch the start position of the interval var.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a8ad62c42b24a130b2cf3659f1602f8fb"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a8ad62c42b24a130b2cf3659f1602f8fb">operations_research::Solver::MakeDeviation</a></div><div class="ttdeci">Constraint * MakeDeviation(const std::vector&lt; IntVar * &gt; &amp;vars, IntVar *const deviation_var, int64 total_sum)</div><div class="ttdoc">Deviation constraint: sum_i |n * vars[i] - total_sum| &lt;= deviation_var and sum_i vars[i] == total_sum...</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ae2d27e0db523a7b883fe8bd2f40e9968"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ae2d27e0db523a7b883fe8bd2f40e9968">operations_research::Solver::AddCastConstraint</a></div><div class="ttdeci">void AddCastConstraint(CastConstraint *const constraint, IntVar *const target_var, IntExpr *const expr)</div><div class="ttdoc">Adds 'constraint' to the solver and marks it as a cast constraint, that is, a constraint created call...</div></div>
<div class="ttc" id="classoperations__research_1_1DecisionVisitor_html_aa353bc0782b1d85de7571e888cc19b69"><div class="ttname"><a href="classoperations__research_1_1DecisionVisitor.html#aa353bc0782b1d85de7571e888cc19b69">operations_research::DecisionVisitor::VisitRankLastInterval</a></div><div class="ttdeci">virtual void VisitRankLastInterval(SequenceVar *const sequence, int index)</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a9b514900eccc0b36b3244d90c4f59ef9"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a9b514900eccc0b36b3244d90c4f59ef9">operations_research::Assignment::MutableIntervalVarContainer</a></div><div class="ttdeci">IntervalContainer * MutableIntervalVarContainer()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05085">constraint_solver.h:5085</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a9f52516c4ad3aced15492b20a58dc2d9"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a9f52516c4ad3aced15492b20a58dc2d9">operations_research::Solver::MakeDefaultRegularLimitParameters</a></div><div class="ttdeci">RegularLimitParameters MakeDefaultRegularLimitParameters() const</div><div class="ttdoc">Creates a regular limit proto containing default values.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a4bee7c3d45b6378aa75c25ab25db48ab"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a4bee7c3d45b6378aa75c25ab25db48ab">operations_research::Solver::MakeVariableGreaterOrEqualValue</a></div><div class="ttdeci">Decision * MakeVariableGreaterOrEqualValue(IntVar *const var, int64 value)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a852c6510b06f3634cce07fcab2074d78"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a852c6510b06f3634cce07fcab2074d78">operations_research::Solver::MakeIsEqualCt</a></div><div class="ttdeci">Constraint * MakeIsEqualCt(IntExpr *const v1, IntExpr *v2, IntVar *const b)</div><div class="ttdoc">b == (v1 == v2)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6b56e4c66a5a1c9f198f176665a71c31"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6b56e4c66a5a1c9f198f176665a71c31">operations_research::Solver::MakeSumEquality</a></div><div class="ttdeci">Constraint * MakeSumEquality(const std::vector&lt; IntVar * &gt; &amp;vars, int64 cst)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a820d845133185a881cd6d9385ccc84cd"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a820d845133185a881cd6d9385ccc84cd">operations_research::Solver::MakeCount</a></div><div class="ttdeci">Constraint * MakeCount(const std::vector&lt; IntVar * &gt; &amp;vars, int64 value, int64 max_count)</div><div class="ttdoc">|{i | vars[i] == value}| == max_count</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_aa8ff2529b746694f1e84c0ae3539a771"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#aa8ff2529b746694f1e84c0ae3539a771">operations_research::ModelVisitor::kIsBetween</a></div><div class="ttdeci">static const char kIsBetween[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03302">constraint_solver.h:3302</a></div></div>
<div class="ttc" id="classoperations__research_1_1OptimizeVar_html_a042bc511877a33bbbc296383c0797650"><div class="ttname"><a href="classoperations__research_1_1OptimizeVar.html#a042bc511877a33bbbc296383c0797650">operations_research::OptimizeVar::ApplyBound</a></div><div class="ttdeci">void ApplyBound()</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ade22213fff69cfb37d8238e8fd3073df"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ade22213fff69cfb37d8238e8fd3073df">operations_research::Solver::MarkerType</a></div><div class="ttdeci">MarkerType</div><div class="ttdoc">This enum is used internally in private methods Solver::PushState and Solver::PopState to tag states ...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00699">constraint_solver.h:699</a></div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentElement_html_af5b9d7522539d5b89a7c7652bdcd2a3e"><div class="ttname"><a href="classoperations__research_1_1AssignmentElement.html#af5b9d7522539d5b89a7c7652bdcd2a3e">operations_research::AssignmentElement::AssignmentElement</a></div><div class="ttdeci">AssignmentElement()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04532">constraint_solver.h:4532</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a24c71a919ab9a4bb168edc654019317c"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a24c71a919ab9a4bb168edc654019317c">operations_research::Solver::MakeFixedInterval</a></div><div class="ttdeci">IntervalVar * MakeFixedInterval(int64 start, int64 duration, const std::string &amp;name)</div><div class="ttdoc">Creates a fixed and performed interval.</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_aeba2ae1f75c5edcded451c0b4868a410"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#aeba2ae1f75c5edcded451c0b4868a410">operations_research::Assignment::SetDurationRange</a></div><div class="ttdeci">void SetDurationRange(const IntervalVar *const var, int64 mi, int64 ma)</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a037a01ecac6de7f83233f48bdec420f0"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a037a01ecac6de7f83233f48bdec420f0">operations_research::ModelVisitor::kDistribute</a></div><div class="ttdeci">static const char kDistribute[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03285">constraint_solver.h:3285</a></div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_a16adaa01a30033dfc04405c25b7ede7b"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#a16adaa01a30033dfc04405c25b7ede7b">operations_research::SearchMonitor::Install</a></div><div class="ttdeci">virtual void Install()</div><div class="ttdoc">Registers itself on the solver such that it gets notified of the search and propagation events.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ac0dd4d0fa61e614fe002bc4a44c68cc4"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ac0dd4d0fa61e614fe002bc4a44c68cc4">operations_research::ModelVisitor::kFailuresLimitArgument</a></div><div class="ttdeci">static const char kFailuresLimitArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03385">constraint_solver.h:3385</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a074172434184dde98798ed6590206d42aada39bb20e37e40f59106944e788ba5f"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42aada39bb20e37e40f59106944e788ba5f">operations_research::Solver::KEEP_LEFT</a></div><div class="ttdoc">Right branches are ignored.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00681">constraint_solver.h:681</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aa069d7f4aba928747788749e10fdcf3a"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aa069d7f4aba928747788749e10fdcf3a">operations_research::Solver::MakeIsGreaterCstCt</a></div><div class="ttdeci">Constraint * MakeIsGreaterCstCt(IntExpr *const v, int64 c, IntVar *const b)</div><div class="ttdoc">b == (v &gt; c)</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_ad6b9f83ffb9542fc1d5836ee2bb72467"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#ad6b9f83ffb9542fc1d5836ee2bb72467">operations_research::Assignment::SetDurationMin</a></div><div class="ttdeci">void SetDurationMin(const IntervalVar *const var, int64 m)</div></div>
<div class="ttc" id="classoperations__research_1_1DecisionVisitor_html_acea5888cfe948f90c0237cb4765bf940"><div class="ttname"><a href="classoperations__research_1_1DecisionVisitor.html#acea5888cfe948f90c0237cb4765bf940">operations_research::DecisionVisitor::VisitUnknownDecision</a></div><div class="ttdeci">virtual void VisitUnknownDecision()</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a8b1044e7c2b76345532f848a982a7106a3850e163a7085a9d2cf0109439baaff1"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a8b1044e7c2b76345532f848a982a7106a3850e163a7085a9d2cf0109439baaff1">operations_research::Solver::CHOOSE_STATIC_GLOBAL_BEST</a></div><div class="ttdoc">Pairs are compared at the first call of the selector, and results are cached.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00378">constraint_solver.h:378</a></div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentContainer_html_aa71d36872f416feaa853788a7a7a7ef8"><div class="ttname"><a href="classoperations__research_1_1AssignmentContainer.html#aa71d36872f416feaa853788a7a7a7ef8">operations_research::AssignmentContainer::Clear</a></div><div class="ttdeci">void Clear()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04774">constraint_solver.h:4774</a></div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_a96340e443923b721e76f2ff432a48954"><div class="ttname"><a href="classoperations__research_1_1Pack.html#a96340e443923b721e76f2ff432a48954">operations_research::Pack::OneDomain</a></div><div class="ttdeci">void OneDomain(int var_index)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a85b32a82ff9c91dd572222116e4a0adb"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a85b32a82ff9c91dd572222116e4a0adb">operations_research::Solver::accepted_neighbors</a></div><div class="ttdeci">int64 accepted_neighbors() const</div><div class="ttdoc">The number of accepted neighbors.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00986">constraint_solver.h:986</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a1f95080d6a2e37f4773ec9494479b752"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a1f95080d6a2e37f4773ec9494479b752">operations_research::ModelVisitor::kRangeArgument</a></div><div class="ttdeci">static const char kRangeArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03405">constraint_solver.h:3405</a></div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_a2ebc7607687823d65bf65f331c9ac246"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#a2ebc7607687823d65bf65f331c9ac246">operations_research::SearchMonitor::ProgressPercent</a></div><div class="ttdeci">virtual int ProgressPercent()</div><div class="ttdoc">Returns a percentage representing the propress of the search before reaching limits.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03647">constraint_solver.h:3647</a></div></div>
<div class="ttc" id="structoperations__research_1_1Solver_1_1IntegerCastInfo_html"><div class="ttname"><a href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html">operations_research::Solver::IntegerCastInfo</a></div><div class="ttdoc">Holds semantic information stating that the 'expression' has been cast into 'variable' using the Var(...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00237">constraint_solver.h:237</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a074172434184dde98798ed6590206d42a86c6abc5840755b64f8f2a49f3f6b998"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42a86c6abc5840755b64f8f2a49f3f6b998">operations_research::Solver::SWITCH_BRANCHES</a></div><div class="ttdoc">Applies right branch first.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00694">constraint_solver.h:694</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_a604693faa6e06ce7a5bfbacf9538b706"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#a604693faa6e06ce7a5bfbacf9538b706">operations_research::IntVar::IsDifferent</a></div><div class="ttdeci">virtual IntVar * IsDifferent(int64 constant)=0</div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_a90028870fef41c9ce7029c52f194eacd"><div class="ttname"><a href="classoperations__research_1_1Pack.html#a90028870fef41c9ce7029c52f194eacd">operations_research::Pack::AddCountUsedBinDimension</a></div><div class="ttdeci">void AddCountUsedBinDimension(IntVar *const count_var)</div><div class="ttdoc">This dimension links 'count_var' to the actual number of bins used in the pack.</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_afba1ae6771323dc22b618ba3d994a083"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#afba1ae6771323dc22b618ba3d994a083">operations_research::Assignment::SetRange</a></div><div class="ttdeci">void SetRange(const IntVar *const var, int64 l, int64 u)</div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_a1ef0300d79ec636a79c06486f695b2ff"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#a1ef0300d79ec636a79c06486f695b2ff">operations_research::SearchMonitor::EndInitialPropagation</a></div><div class="ttdeci">virtual void EndInitialPropagation()</div><div class="ttdoc">After the initial propagation.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a46ad005bf538f19f4f1a45b357561be9a891299d49e4d9260e2e3e616a46315ac"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a891299d49e4d9260e2e3e616a46315ac">operations_research::Solver::STARTS_AT</a></div><div class="ttdoc">t starts at d, i.e. Start(t) == d.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00652">constraint_solver.h:652</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a66131a3db06416f42609a2dfa7a578e0"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a66131a3db06416f42609a2dfa7a578e0">operations_research::ModelVisitor::kLeftArgument</a></div><div class="ttdeci">static const char kLeftArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03395">constraint_solver.h:3395</a></div></div>
<div class="ttc" id="classoperations__research_1_1RegularLimit_html_a47de93e849d14c3eda08d78613506608"><div class="ttname"><a href="classoperations__research_1_1RegularLimit.html#a47de93e849d14c3eda08d78613506608">operations_research::RegularLimit::Init</a></div><div class="ttdeci">void Init() override</div><div class="ttdoc">This method is called when the search limit is initialized.</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_ae330c5b34b171e8840302a1e4ef1ca26"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#ae330c5b34b171e8840302a1e4ef1ca26">operations_research::IntervalVar::WhenPerformedBound</a></div><div class="ttdeci">void WhenPerformedBound(Solver::Closure closure)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04390">constraint_solver.h:4390</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_abb737b44b0a0335d550d2a740ba00236"><div class="ttname"><a href="classoperations__research_1_1Solver.html#abb737b44b0a0335d550d2a740ba00236">operations_research::Solver::SearchLimit</a></div><div class="ttdeci">friend class SearchLimit</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02882">constraint_solver.h:2882</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVarIterator_html_ad58ad3bd33c8c89814ca3675c414406d"><div class="ttname"><a href="classoperations__research_1_1IntVarIterator.html#ad58ad3bd33c8c89814ca3675c414406d">operations_research::IntVarIterator::~IntVarIterator</a></div><div class="ttdeci">~IntVarIterator() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03848">constraint_solver.h:3848</a></div></div>
<div class="ttc" id="structoperations__research_1_1DefaultPhaseParameters_html_a5a43af9bcd9bfec04dbc66cc1a0c1ffd"><div class="ttname"><a href="structoperations__research_1_1DefaultPhaseParameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffd">operations_research::DefaultPhaseParameters::VariableSelection</a></div><div class="ttdeci">VariableSelection</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00157">constraint_solver.h:157</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a5edd46771ddca23d192814791d786b2d"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a5edd46771ddca23d192814791d786b2d">operations_research::IntervalVarElement::SetStartMax</a></div><div class="ttdeci">void SetStartMax(int64 m)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04632">constraint_solver.h:4632</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a2b05840b09f4ab5632470987f01e11e1"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a2b05840b09f4ab5632470987f01e11e1">operations_research::Solver::failures</a></div><div class="ttdeci">int64 failures() const</div><div class="ttdoc">The number of failures encountered since the creation of the solver.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00977">constraint_solver.h:977</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a89527a874098e35f9729eb276297cab1"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a89527a874098e35f9729eb276297cab1">operations_research::Assignment::Activate</a></div><div class="ttdeci">void Activate(const IntVar *const var)</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_ab2ceb53cc8383e5a5fe75945c551b7ec"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#ab2ceb53cc8383e5a5fe75945c551b7ec">operations_research::IntervalVarElement::SetDurationMin</a></div><div class="ttdeci">void SetDurationMin(int64 m)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04641">constraint_solver.h:4641</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a8c55e823426ef9c603a7e8faa2786f58"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a8c55e823426ef9c603a7e8faa2786f58">operations_research::Solver::kNumPriorities</a></div><div class="ttdeci">static const int kNumPriorities</div><div class="ttdoc">Number of priorities for demons.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00248">constraint_solver.h:248</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_ab2c1ea6c42add4cb68084080336c4474"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#ab2c1ea6c42add4cb68084080336c4474">operations_research::IntervalVar::WhenStartRange</a></div><div class="ttdeci">void WhenStartRange(Solver::Closure closure)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04307">constraint_solver.h:4307</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a21f15e61767e0d8fab3bd523a450d29c"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a21f15e61767e0d8fab3bd523a450d29c">operations_research::Assignment::ObjectiveMin</a></div><div class="ttdeci">int64 ObjectiveMin() const</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a7b71882cd8151d03d13391d79ac0886b"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a7b71882cd8151d03d13391d79ac0886b">operations_research::Solver::MakeAllDifferentExcept</a></div><div class="ttdeci">Constraint * MakeAllDifferentExcept(const std::vector&lt; IntVar * &gt; &amp;vars, int64 escape_value)</div><div class="ttdoc">All variables are pairwise different, unless they are assigned to the escape value.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ad50938c279197cacfb01ae140c22dd95"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ad50938c279197cacfb01ae140c22dd95">operations_research::Solver::MakeIsGreaterCstVar</a></div><div class="ttdeci">IntVar * MakeIsGreaterCstVar(IntExpr *const var, int64 value)</div><div class="ttdoc">status var of (var &gt; value)</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_af8646fdcdbc833407fcd408e7174bae5"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#af8646fdcdbc833407fcd408e7174bae5">operations_research::ModelVisitor::kSequencesArgument</a></div><div class="ttdeci">static const char kSequencesArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03409">constraint_solver.h:3409</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a22479e464e189ad596d74c46c4a7f8d3"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a22479e464e189ad596d74c46c4a7f8d3">operations_research::IntervalVar::OldEndMin</a></div><div class="ttdeci">virtual int64 OldEndMin() const =0</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6aebd45951ac7b72b60df6ac5ba86faf"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6aebd45951ac7b72b60df6ac5ba86faf">operations_research::Solver::MakeCircuit</a></div><div class="ttdeci">Constraint * MakeCircuit(const std::vector&lt; IntVar * &gt; &amp;nexts)</div><div class="ttdoc">Force the &quot;nexts&quot; variable to create a complete Hamiltonian path.</div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVar_html_a48652126caaa7e7311103d6820a5c79c"><div class="ttname"><a href="classoperations__research_1_1SequenceVar.html#a48652126caaa7e7311103d6820a5c79c">operations_research::SequenceVar::Next</a></div><div class="ttdeci">IntVar * Next(int index) const</div><div class="ttdoc">Returns the next of the index_th interval of the sequence.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a46ad005bf538f19f4f1a45b357561be9aa274cc3721a080e1da5a802d08ec3020"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9aa274cc3721a080e1da5a802d08ec3020">operations_research::Solver::STARTS_AFTER</a></div><div class="ttdoc">t starts after d, i.e. Start(t) &gt;= d.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00649">constraint_solver.h:649</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a247764a994a106eaa0f22e397a2664f3"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a247764a994a106eaa0f22e397a2664f3">operations_research::IntervalVarElement::operator!=</a></div><div class="ttdeci">bool operator!=(const IntervalVarElement &amp;element) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04677">constraint_solver.h:4677</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_afd2868244e1a645aaf41eb8a6a6c8bf4"><div class="ttname"><a href="classoperations__research_1_1Solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4">operations_research::Solver::EvaluatorLocalSearchOperators</a></div><div class="ttdeci">EvaluatorLocalSearchOperators</div><div class="ttdoc">This enum is used in Solver::MakeOperator associated with an evaluator to specify the neighborhood to...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00550">constraint_solver.h:550</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a493ce359cebf04754142358695c209e4"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a493ce359cebf04754142358695c209e4">operations_research::ModelVisitor::kEquality</a></div><div class="ttdeci">static const char kEquality[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03291">constraint_solver.h:3291</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_afd2d924f019d44bc99930a1e931a735f"><div class="ttname"><a href="classoperations__research_1_1Solver.html#afd2d924f019d44bc99930a1e931a735f">operations_research::Solver::LocalSearchFilterBound</a></div><div class="ttdeci">LocalSearchFilterBound</div><div class="ttdoc">This enum is used in Solver::MakeLocalSearchObjectiveFilter.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00578">constraint_solver.h:578</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a78ecf8b2aa6a036fbf0d17de18881462"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a78ecf8b2aa6a036fbf0d17de18881462">operations_research::Solver::MakeNoCycle</a></div><div class="ttdeci">Constraint * MakeNoCycle(const std::vector&lt; IntVar * &gt; &amp;nexts, const std::vector&lt; IntVar * &gt; &amp;active, IndexFilter1 sink_handler=nullptr)</div><div class="ttdoc">Prevent cycles.</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a6c290568fa514c58ba1dc0fd670f2afe"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a6c290568fa514c58ba1dc0fd670f2afe">operations_research::Assignment::SetMax</a></div><div class="ttdeci">void SetMax(const IntVar *const var, int64 m)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aa58a5d8b15333d39678c0d6180c1c0b1"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aa58a5d8b15333d39678c0d6180c1c0b1">operations_research::Solver::UseFastLocalSearch</a></div><div class="ttdeci">bool UseFastLocalSearch() const</div><div class="ttdoc">Returns true if fast local search is enabled.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02820">constraint_solver.h:2820</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a39a89fa3de66d68071c66a936f17fd2ba20ee926b0aa645b0e3badb5d5171d6e1"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a39a89fa3de66d68071c66a936f17fd2ba20ee926b0aa645b0e3badb5d5171d6e1">operations_research::Solver::MAXIMIZATION</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00718">constraint_solver.h:718</a></div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVarElement_html_a09452078e14cd15b7777c1d4889aa50b"><div class="ttname"><a href="classoperations__research_1_1SequenceVarElement.html#a09452078e14cd15b7777c1d4889aa50b">operations_research::SequenceVarElement::Clone</a></div><div class="ttdeci">SequenceVarElement * Clone()</div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html">operations_research::SolutionCollector</a></div><div class="ttdoc">This class is the root class of all solution collectors.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04033">constraint_solver.h:4033</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_afd2d924f019d44bc99930a1e931a735fa662ed4b51721a45f07d645d4ca099a61"><div class="ttname"><a href="classoperations__research_1_1Solver.html#afd2d924f019d44bc99930a1e931a735fa662ed4b51721a45f07d645d4ca099a61">operations_research::Solver::LE</a></div><div class="ttdoc">Move is accepted when the current objective value &lt;= objective.Max.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00582">constraint_solver.h:582</a></div></div>
<div class="ttc" id="classoperations__research_1_1DecisionBuilder_html"><div class="ttname"><a href="classoperations__research_1_1DecisionBuilder.html">operations_research::DecisionBuilder</a></div><div class="ttdoc">A DecisionBuilder is responsible for creating the search tree.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03200">constraint_solver.h:3200</a></div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_af4cd0c541c53920fa86ff54ba2349cb2"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#af4cd0c541c53920fa86ff54ba2349cb2">operations_research::SearchMonitor::ApplyDecision</a></div><div class="ttdeci">virtual void ApplyDecision(Decision *const d)</div><div class="ttdoc">Before applying the decision.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a71daddfa207d9a10652752da7c9df78f"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a71daddfa207d9a10652752da7c9df78f">operations_research::ModelVisitor::BeginVisitConstraint</a></div><div class="ttdeci">virtual void BeginVisitConstraint(const std::string &amp;type_name, const Constraint *const constraint)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a8ae40872f6abd544d1c191ac370b7e22"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a8ae40872f6abd544d1c191ac370b7e22">operations_research::Solver::MakeFixedDurationIntervalVarArray</a></div><div class="ttdeci">void MakeFixedDurationIntervalVarArray(int count, int64 start_min, int64 start_max, int64 duration, bool optional, const std::string &amp;name, std::vector&lt; IntervalVar * &gt; *const array)</div><div class="ttdoc">This method fills the vector with 'count' interval variables built with the corresponding parameters.</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a86601a2dad7a051d7b387ffa789898ff"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a86601a2dad7a051d7b387ffa789898ff">operations_research::Assignment::AddObjective</a></div><div class="ttdeci">void AddObjective(IntVar *const v)</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_aadb464257cdb5eba70a5969af94c0e91"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#aadb464257cdb5eba70a5969af94c0e91">operations_research::Assignment::NumIntervalVars</a></div><div class="ttdeci">int NumIntervalVars() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04950">constraint_solver.h:4950</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a899089e0cc2ddd9f5ade9b0fe6e34f50"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a899089e0cc2ddd9f5ade9b0fe6e34f50">operations_research::Assignment::SetPerformedMin</a></div><div class="ttdeci">void SetPerformedMin(const IntervalVar *const var, int64 m)</div></div>
<div class="ttc" id="structoperations__research_1_1DefaultPhaseParameters_html_a5a43af9bcd9bfec04dbc66cc1a0c1ffdaa674cfb9265f697b4ada735c4401aac0"><div class="ttname"><a href="structoperations__research_1_1DefaultPhaseParameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffdaa674cfb9265f697b4ada735c4401aac0">operations_research::DefaultPhaseParameters::CHOOSE_MAX_VALUE_IMPACT</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00160">constraint_solver.h:160</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_a7dea39481c69d05140512d027b14bb59"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#a7dea39481c69d05140512d027b14bb59">operations_research::IntVar::MakeHoleIterator</a></div><div class="ttdeci">virtual IntVarIterator * MakeHoleIterator(bool reversible) const =0</div><div class="ttdoc">Creates a hole iterator.</div></div>
<div class="ttc" id="classoperations__research_1_1OptimizeVar_html_aa8900234762f2b2015b9108accdf10ff"><div class="ttname"><a href="classoperations__research_1_1OptimizeVar.html#aa8900234762f2b2015b9108accdf10ff">operations_research::OptimizeVar::AcceptSolution</a></div><div class="ttdeci">bool AcceptSolution() override</div><div class="ttdoc">This method is called when a solution is found.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_af06d49a292922944bda010d437a22dc7"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#af06d49a292922944bda010d437a22dc7">operations_research::ModelVisitor::kSumEqual</a></div><div class="ttdeci">static const char kSumEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03343">constraint_solver.h:3343</a></div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentElement_html_ae8753efaeea05f65094a4875a694a368"><div class="ttname"><a href="classoperations__research_1_1AssignmentElement.html#ae8753efaeea05f65094a4875a694a368">operations_research::AssignmentElement::Activate</a></div><div class="ttdeci">void Activate()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04534">constraint_solver.h:4534</a></div></div>
<div class="ttc" id="classoperations__research_1_1Decision_html_a51b2fa6aacf500666d37f0a73eb57c45"><div class="ttname"><a href="classoperations__research_1_1Decision.html#a51b2fa6aacf500666d37f0a73eb57c45">operations_research::Decision::~Decision</a></div><div class="ttdeci">~Decision() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03163">constraint_solver.h:3163</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVarElement_html_a85874e2ad52c9a6d524dc6c3af9af060"><div class="ttname"><a href="classoperations__research_1_1IntVarElement.html#a85874e2ad52c9a6d524dc6c3af9af060">operations_research::IntVarElement::SetRange</a></div><div class="ttdeci">void SetRange(int64 l, int64 u)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04572">constraint_solver.h:4572</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a674419a6fdb564b44c242ceef4aa474f"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a674419a6fdb564b44c242ceef4aa474f">operations_research::IntervalVar::WhenStartRange</a></div><div class="ttdeci">void WhenStartRange(Solver::Action action)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04311">constraint_solver.h:4311</a></div></div>
<div class="ttc" id="classoperations__research_1_1Constraint_html_ad73d074eabf60c009e7ca6a16a5909e4"><div class="ttname"><a href="classoperations__research_1_1Constraint.html#ad73d074eabf60c009e7ca6a16a5909e4">operations_research::Constraint::Constraint</a></div><div class="ttdeci">Constraint(Solver *const solver)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03518">constraint_solver.h:3518</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ad5cc2e043cec5569e67c9e4ca8c5ef8e"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ad5cc2e043cec5569e67c9e4ca8c5ef8e">operations_research::ModelVisitor::kPositionYArgument</a></div><div class="ttdeci">static const char kPositionYArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03404">constraint_solver.h:3404</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a10eb8307ae92ccc5dd7cbd17a9e5a4a6"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a10eb8307ae92ccc5dd7cbd17a9e5a4a6">operations_research::Solver::demon_profiler</a></div><div class="ttdeci">DemonProfiler * demon_profiler() const</div><div class="ttdoc">Access to demon profiler.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02812">constraint_solver.h:2812</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_a10f9eba78d07596bd7f480fe834548c0"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#a10f9eba78d07596bd7f480fe834548c0">operations_research::IntVar::SetValues</a></div><div class="ttdeci">virtual void SetValues(const std::vector&lt; int64 &gt; &amp;values)</div><div class="ttdoc">This method intersects the current domain with the values in the array.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_adc99b7de0dcf9a190231ace8d5ec7069"><div class="ttname"><a href="classoperations__research_1_1Solver.html#adc99b7de0dcf9a190231ace8d5ec7069">operations_research::Solver::MakeAbs</a></div><div class="ttdeci">IntExpr * MakeAbs(IntExpr *const expr)</div><div class="ttdoc">|expr|</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a997c9b5e3c862f9f813c9c89a6b1c93b"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a997c9b5e3c862f9f813c9c89a6b1c93b">operations_research::ModelVisitor::kValueArgument</a></div><div class="ttdeci">static const char kValueArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03423">constraint_solver.h:3423</a></div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVarElement_html_a556b89bd81fc32c5995246961838c56e"><div class="ttname"><a href="classoperations__research_1_1SequenceVarElement.html#a556b89bd81fc32c5995246961838c56e">operations_research::SequenceVarElement::SequenceVarElement</a></div><div class="ttdeci">SequenceVarElement()</div></div>
<div class="ttc" id="classoperations__research_1_1DecisionVisitor_html_a4c8bd7da5c2401a841a62a84fb8e3a9e"><div class="ttname"><a href="classoperations__research_1_1DecisionVisitor.html#a4c8bd7da5c2401a841a62a84fb8e3a9e">operations_research::DecisionVisitor::VisitSetVariableValue</a></div><div class="ttdeci">virtual void VisitSetVariableValue(IntVar *const var, int64 value)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ae1d6f34467846d3e8222faa3e443da24"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ae1d6f34467846d3e8222faa3e443da24">operations_research::Solver::GetPropagationMonitor</a></div><div class="ttdeci">PropagationMonitor * GetPropagationMonitor() const</div><div class="ttdoc">Returns the propagation monitor.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ad9496d193007a5bd9ec07aeb652849ce"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ad9496d193007a5bd9ec07aeb652849ce">operations_research::Solver::MakeIntVar</a></div><div class="ttdeci">IntVar * MakeIntVar(int64 min, int64 max, const std::string &amp;name)</div><div class="ttdoc">MakeIntVar will create the best range based int var for the bounds given.</div></div>
<div class="ttc" id="classoperations__research_1_1OptimizeVar_html_ad5d09a69c6c8c8eea9311b0513628683"><div class="ttname"><a href="classoperations__research_1_1OptimizeVar.html#ad5d09a69c6c8c8eea9311b0513628683">operations_research::OptimizeVar::maximize_</a></div><div class="ttdeci">bool maximize_</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04163">constraint_solver.h:4163</a></div></div>
<div class="ttc" id="classoperations__research_1_1Constraint_html_acde5e7966f7772bf931dd0dd2bc398a1"><div class="ttname"><a href="classoperations__research_1_1Constraint.html#acde5e7966f7772bf931dd0dd2bc398a1">operations_research::Constraint::Var</a></div><div class="ttdeci">virtual IntVar * Var()</div><div class="ttdoc">Creates a Boolean variable representing the status of the constraint (false = constraint is violated,...</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6c3752c7d9425f4a5243176d3f6fcbc7"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6c3752c7d9425f4a5243176d3f6fcbc7">operations_research::Solver::AddLocalSearchMonitor</a></div><div class="ttdeci">void AddLocalSearchMonitor(LocalSearchMonitor *monitor)</div><div class="ttdoc">Adds the local search monitor to the solver.</div></div>
<div class="ttc" id="structoperations__research_1_1Solver_1_1SearchLogParameters_html_acb71959af429e32049d2b911e4d92ac3"><div class="ttname"><a href="structoperations__research_1_1Solver_1_1SearchLogParameters.html#acb71959af429e32049d2b911e4d92ac3">operations_research::Solver::SearchLogParameters::variable</a></div><div class="ttdeci">IntVar * variable</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02265">constraint_solver.h:2265</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a0fec1a5195bbcf169c220b3ae9ebd9c2"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a0fec1a5195bbcf169c220b3ae9ebd9c2">operations_research::Assignment::Deactivate</a></div><div class="ttdeci">void Deactivate(const IntVar *const var)</div></div>
<div class="ttc" id="classoperations__research_1_1SearchLimit_html_afefd22e7a516cef9dff7154cae02e704"><div class="ttname"><a href="classoperations__research_1_1SearchLimit.html#afefd22e7a516cef9dff7154cae02e704">operations_research::SearchLimit::Check</a></div><div class="ttdeci">virtual bool Check()=0</div><div class="ttdoc">This method is called to check the status of the limit.</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a2b3bd91145dd145a3766c4de85a5238d"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a2b3bd91145dd145a3766c4de85a5238d">operations_research::Assignment::SetEndMax</a></div><div class="ttdeci">void SetEndMax(const IntervalVar *const var, int64 m)</div></div>
<div class="ttc" id="classoperations__research_1_1PropagationBaseObject_html_a5a5ad1a2482043e4a9d2c19bbab1e250"><div class="ttname"><a href="classoperations__research_1_1PropagationBaseObject.html#a5a5ad1a2482043e4a9d2c19bbab1e250">operations_research::PropagationBaseObject::EnqueueAll</a></div><div class="ttdeci">void EnqueueAll(const SimpleRevFIFO&lt; Demon * &gt; &amp;demons)</div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_aa30c84aec5e60d6b74e1e1eb15011d4a"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#aa30c84aec5e60d6b74e1e1eb15011d4a">operations_research::IntVar::Accept</a></div><div class="ttdeci">void Accept(ModelVisitor *const visitor) const override</div><div class="ttdoc">Accepts the given visitor.</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a0fa42d79f2e8eacbdb34f8f3f26aa54c"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a0fa42d79f2e8eacbdb34f8f3f26aa54c">operations_research::IntervalVarElement::LoadFromProto</a></div><div class="ttdeci">void LoadFromProto(const IntervalVarAssignment &amp;interval_var_assignment_proto)</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a44c20e89d05b0cb4f8d11a979f43142f"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a44c20e89d05b0cb4f8d11a979f43142f">operations_research::Assignment::SetPerformedValue</a></div><div class="ttdeci">void SetPerformedValue(const IntervalVar *const var, int64 value)</div></div>
<div class="ttc" id="classoperations__research_1_1RevArray_html_ab3f0073680dabba9d2778d9a6f35aed7"><div class="ttname"><a href="classoperations__research_1_1RevArray.html#ab3f0073680dabba9d2778d9a6f35aed7">operations_research::RevArray::operator[]</a></div><div class="ttdeci">const T &amp; operator[](int index) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03726">constraint_solver.h:3726</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a764be64f3029f8b8e23511061d8de355"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a764be64f3029f8b8e23511061d8de355">operations_research::Solver::DebugString</a></div><div class="ttdeci">std::string DebugString() const</div><div class="ttdoc">!defined(SWIG)</div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_accbd81450997e4b279396e56ab44c0b4"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#accbd81450997e4b279396e56ab44c0b4">operations_research::IntVar::Size</a></div><div class="ttdeci">virtual uint64 Size() const =0</div><div class="ttdoc">This method returns the number of values in the domain of the variable.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a81bf8daea61d4b3a3b07b6cd9a1a2aaa"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a81bf8daea61d4b3a3b07b6cd9a1a2aaa">operations_research::Solver::MakeRestoreAssignment</a></div><div class="ttdeci">DecisionBuilder * MakeRestoreAssignment(Assignment *assignment)</div><div class="ttdoc">Returns a DecisionBuilder which restores an Assignment (calls void Assignment::Restore())</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a7d23b9a5cc7d92b51babfc7ff3d23a3e"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a7d23b9a5cc7d92b51babfc7ff3d23a3e">operations_research::IntervalVarElement::DurationMax</a></div><div class="ttdeci">int64 DurationMax() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04614">constraint_solver.h:4614</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a0361647ab5c3e59345c63450aaae7643"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a0361647ab5c3e59345c63450aaae7643">operations_research::IntervalVarElement::StartMin</a></div><div class="ttdeci">int64 StartMin() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04607">constraint_solver.h:4607</a></div></div>
<div class="ttc" id="classoperations__research_1_1SolutionPool_html_a39b9785ffd2b768743ca541295668408"><div class="ttname"><a href="classoperations__research_1_1SolutionPool.html#a39b9785ffd2b768743ca541295668408">operations_research::SolutionPool::RegisterNewSolution</a></div><div class="ttdeci">virtual void RegisterNewSolution(Assignment *const assignment)=0</div><div class="ttdoc">This method is called when a new solution has been accepted by the local search.</div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_a44069f4a63ae68c2059144cc5ee976d1"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#a44069f4a63ae68c2059144cc5ee976d1">operations_research::SolutionCollector::recycle_solutions_</a></div><div class="ttdeci">std::vector&lt; Assignment * &gt; recycle_solutions_</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04123">constraint_solver.h:4123</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_acfff199ef20c8b77895c1fecfe8ee36f"><div class="ttname"><a href="classoperations__research_1_1Solver.html#acfff199ef20c8b77895c1fecfe8ee36f">operations_research::Solver::MakeIndexExpression</a></div><div class="ttdeci">IntExpr * MakeIndexExpression(const std::vector&lt; IntVar * &gt; &amp;vars, int64 value)</div><div class="ttdoc">Returns the expression expr such that vars[expr] == value.</div></div>
<div class="ttc" id="classoperations__research_1_1SolutionPool_html_aa1eacd520fb6bd437786be473bffda1b"><div class="ttname"><a href="classoperations__research_1_1SolutionPool.html#aa1eacd520fb6bd437786be473bffda1b">operations_research::SolutionPool::~SolutionPool</a></div><div class="ttdeci">~SolutionPool() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05271">constraint_solver.h:5271</a></div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentContainer_html_aeeda3757b9ae10662dc2ba27ee44cd48"><div class="ttname"><a href="classoperations__research_1_1AssignmentContainer.html#aeeda3757b9ae10662dc2ba27ee44cd48">operations_research::AssignmentContainer::Add</a></div><div class="ttdeci">E * Add(V *var)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04753">constraint_solver.h:4753</a></div></div>
<div class="ttc" id="structoperations__research_1_1Solver_1_1SearchLogParameters_html_a0bf4ffabed15383c43b3c5e2dc265832"><div class="ttname"><a href="structoperations__research_1_1Solver_1_1SearchLogParameters.html#a0bf4ffabed15383c43b3c5e2dc265832">operations_research::Solver::SearchLogParameters::branch_period</a></div><div class="ttdeci">int branch_period</div><div class="ttdoc">SearchMonitors will display a periodic search log every branch_period branches explored.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02261">constraint_solver.h:2261</a></div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_a9e7b2a7775d2ff7735f77716cb29d15b"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#a9e7b2a7775d2ff7735f77716cb29d15b">operations_research::SearchMonitor::AfterDecision</a></div><div class="ttdeci">virtual void AfterDecision(Decision *const d, bool apply)</div><div class="ttdoc">Just after refuting or applying the decision, apply is true after Apply.</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a395f1d951b22ab8d1801d7ba807f26d3"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a395f1d951b22ab8d1801d7ba807f26d3">operations_research::IntervalVarElement::EndMin</a></div><div class="ttdeci">int64 EndMin() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04619">constraint_solver.h:4619</a></div></div>
<div class="ttc" id="classoperations__research_1_1RegularLimit_html_a039f4519955ca1dd2aa8b82b7f7a37fa"><div class="ttname"><a href="classoperations__research_1_1RegularLimit.html#a039f4519955ca1dd2aa8b82b7f7a37fa">operations_research::RegularLimit::duration_limit</a></div><div class="ttdeci">absl::Duration duration_limit() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04226">constraint_solver.h:4226</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a60f31269e46d8c587bbb916c160c0cca"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a60f31269e46d8c587bbb916c160c0cca">operations_research::Solver::MakeNullIntersect</a></div><div class="ttdeci">Constraint * MakeNullIntersect(const std::vector&lt; IntVar * &gt; &amp;first_vars, const std::vector&lt; IntVar * &gt; &amp;second_vars)</div><div class="ttdoc">Creates a constraint that states that all variables in the first vector are different from all variab...</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a3bd22735c865e1bd450f7e01747390f2"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a3bd22735c865e1bd450f7e01747390f2">operations_research::ModelVisitor::kIntervalBinaryRelation</a></div><div class="ttdeci">static const char kIntervalBinaryRelation[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03297">constraint_solver.h:3297</a></div></div>
<div class="ttc" id="structoperations__research_1_1DefaultPhaseParameters_html_a39c899184f62ab82b7ce98b7aaaf7d2d"><div class="ttname"><a href="structoperations__research_1_1DefaultPhaseParameters.html#a39c899184f62ab82b7ce98b7aaaf7d2d">operations_research::DefaultPhaseParameters::decision_builder</a></div><div class="ttdeci">DecisionBuilder * decision_builder</div><div class="ttdoc">When defined, this overrides the default impact based decision builder.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00209">constraint_solver.h:209</a></div></div>
<div class="ttc" id="classoperations__research_1_1DisjunctiveConstraint_html_aba974c73a007aa0553c09999b6ea0c2c"><div class="ttname"><a href="classoperations__research_1_1DisjunctiveConstraint.html#aba974c73a007aa0553c09999b6ea0c2c">operations_research::DisjunctiveConstraint::~DisjunctiveConstraint</a></div><div class="ttdeci">~DisjunctiveConstraint() override</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a590f984893598c7a56c2b0f0d9b953ca"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a590f984893598c7a56c2b0f0d9b953ca">operations_research::ModelVisitor::kSearchLimitExtension</a></div><div class="ttdeci">static const char kSearchLimitExtension[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03358">constraint_solver.h:3358</a></div></div>
<div class="ttc" id="classoperations__research_1_1SolutionPool_html_a46aae4510235217253f419189cd0accf"><div class="ttname"><a href="classoperations__research_1_1SolutionPool.html#a46aae4510235217253f419189cd0accf">operations_research::SolutionPool::SolutionPool</a></div><div class="ttdeci">SolutionPool()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05270">constraint_solver.h:5270</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a0db03cadd37e821f6c41924575188d72"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a0db03cadd37e821f6c41924575188d72">operations_research::Assignment::Value</a></div><div class="ttdeci">int64 Value(const IntVar *const var) const</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aad4677348cd458e3be48575e7504ecbd"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aad4677348cd458e3be48575e7504ecbd">operations_research::Solver::MakeInversePermutationConstraint</a></div><div class="ttdeci">Constraint * MakeInversePermutationConstraint(const std::vector&lt; IntVar * &gt; &amp;left, const std::vector&lt; IntVar * &gt; &amp;right)</div><div class="ttdoc">Creates a constraint that enforces that 'left' and 'right' both represent permutations of [0....</div></div>
<div class="ttc" id="classoperations__research_1_1Constraint_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1Constraint.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::Constraint::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ade22213fff69cfb37d8238e8fd3073dfa6239979890280856033280b690ebc218"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ade22213fff69cfb37d8238e8fd3073dfa6239979890280856033280b690ebc218">operations_research::Solver::SENTINEL</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00699">constraint_solver.h:699</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a08ed9db2196c99ddf5ffde772a865fcd"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a08ed9db2196c99ddf5ffde772a865fcd">operations_research::ModelVisitor::VisitIntegerVariable</a></div><div class="ttdeci">virtual void VisitIntegerVariable(const IntVar *const variable, IntExpr *const delegate)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aa71ea25e3db7fe753ae645e8bf684a4a"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aa71ea25e3db7fe753ae645e8bf684a4a">operations_research::Solver::MakeProd</a></div><div class="ttdeci">IntExpr * MakeProd(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">left * right</div></div>
<div class="ttc" id="classoperations__research_1_1DisjunctiveConstraint_html_ac2f8f693dccb6e7ff7721b78b824c36a"><div class="ttname"><a href="classoperations__research_1_1DisjunctiveConstraint.html#ac2f8f693dccb6e7ff7721b78b824c36a">operations_research::DisjunctiveConstraint::nexts</a></div><div class="ttdeci">virtual const std::vector&lt; IntVar * &gt; &amp; nexts() const =0</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a1f16f5a2e5767013b620efd255fb35ea"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a1f16f5a2e5767013b620efd255fb35ea">operations_research::Assignment::IntVarContainer</a></div><div class="ttdeci">const IntContainer &amp; IntVarContainer() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05080">constraint_solver.h:5080</a></div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentContainer_html_a699655a0e89edf33816b4e40b2d2fcc4"><div class="ttname"><a href="classoperations__research_1_1AssignmentContainer.html#a699655a0e89edf33816b4e40b2d2fcc4">operations_research::AssignmentContainer::Copy</a></div><div class="ttdeci">void Copy(const AssignmentContainer&lt; V, E &gt; &amp;container)</div><div class="ttdoc">Copies all the elements of 'container' to this container, clearing its previous content.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04808">constraint_solver.h:4808</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a91ff1b661ef6d8a735867b16f63240d8"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a91ff1b661ef6d8a735867b16f63240d8">operations_research::IntervalVar::SetStartMax</a></div><div class="ttdeci">virtual void SetStartMax(int64 m)=0</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_ad2b108b37ecb9c50eb490ed2abfb17af"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#ad2b108b37ecb9c50eb490ed2abfb17af">operations_research::IntervalVar::SafeStartExpr</a></div><div class="ttdeci">virtual IntExpr * SafeStartExpr(int64 unperformed_value)=0</div><div class="ttdoc">These methods create expressions encapsulating the start, end and duration of the interval var.</div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVarElement_html_a9524c4c62b3d9a8e51c2de46e3a3ee00"><div class="ttname"><a href="classoperations__research_1_1SequenceVarElement.html#a9524c4c62b3d9a8e51c2de46e3a3ee00">operations_research::SequenceVarElement::BackwardSequence</a></div><div class="ttdeci">const std::vector&lt; int &gt; &amp; BackwardSequence() const</div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_a4997d785dafdc88e1e0459c398e80133"><div class="ttname"><a href="classoperations__research_1_1Pack.html#a4997d785dafdc88e1e0459c398e80133">operations_research::Pack::SetImpossible</a></div><div class="ttdeci">void SetImpossible(int var_index, int bin_index)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a2f2bea2202c96738b11b050e71a28e63aa56e94e3036709f508e8e2e59723a351"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63aa56e94e3036709f508e8e2e59723a351">operations_research::Solver::IN_ROOT_NODE</a></div><div class="ttdoc">Executing the root node.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00706">constraint_solver.h:706</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a958b4a3a9b2925a92c8598a72f5cefbd"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a958b4a3a9b2925a92c8598a72f5cefbd">operations_research::ModelVisitor::kTuplesArgument</a></div><div class="ttdeci">static const char kTuplesArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03422">constraint_solver.h:3422</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a046faf12ede984ba678bd3a08d90fe27"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a046faf12ede984ba678bd3a08d90fe27">operations_research::ModelVisitor::EndVisitIntegerExpression</a></div><div class="ttdeci">virtual void EndVisitIntegerExpression(const std::string &amp;type_name, const IntExpr *const expr)</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a731bd7973d604d96737e9f3419ccc8b1"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a731bd7973d604d96737e9f3419ccc8b1">operations_research::Assignment::SetEndMin</a></div><div class="ttdeci">void SetEndMin(const IntervalVar *const var, int64 m)</div></div>
<div class="ttc" id="structoperations__research_1_1DefaultPhaseParameters_html_aa05a3321d74475f1238d0c51b5754d7e"><div class="ttname"><a href="structoperations__research_1_1DefaultPhaseParameters.html#aa05a3321d74475f1238d0c51b5754d7e">operations_research::DefaultPhaseParameters::persistent_impact</a></div><div class="ttdeci">bool persistent_impact</div><div class="ttdoc">Whether to keep the impact from the first search for other searches, or to recompute the impact for e...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00196">constraint_solver.h:196</a></div></div>
<div class="ttc" id="classoperations__research_1_1Demon_html_a5ac0e92284072f70d4e73188ced54885"><div class="ttname"><a href="classoperations__research_1_1Demon.html#a5ac0e92284072f70d4e73188ced54885">operations_research::Demon::priority</a></div><div class="ttdeci">virtual Solver::DemonPriority priority() const</div><div class="ttdoc">This method returns the priority of the demon.</div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVar_html_a19499c160356f9655862f3037315d87d"><div class="ttname"><a href="classoperations__research_1_1SequenceVar.html#a19499c160356f9655862f3037315d87d">operations_research::SequenceVar::FillSequence</a></div><div class="ttdeci">void FillSequence(std::vector&lt; int &gt; *const rank_first, std::vector&lt; int &gt; *const rank_last, std::vector&lt; int &gt; *const unperformed) const</div><div class="ttdoc">Clears 'rank_first' and 'rank_last', and fills them with the intervals in the order of the ranks.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a2ae3356565e92c60041f53034dad38dc"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a2ae3356565e92c60041f53034dad38dc">operations_research::ModelVisitor::VisitIntegerArgument</a></div><div class="ttdeci">virtual void VisitIntegerArgument(const std::string &amp;arg_name, int64 value)</div><div class="ttdoc">Visit integer arguments.</div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentContainer_html_a2155d56276e438298f2bd34505ec3dc6"><div class="ttname"><a href="classoperations__research_1_1AssignmentContainer.html#a2155d56276e438298f2bd34505ec3dc6">operations_research::AssignmentContainer::MutableElement</a></div><div class="ttdeci">E * MutableElement(const V *const var)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04819">constraint_solver.h:4819</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVarElement_html_a055d26b7c759d2097e06ac802786b7b9"><div class="ttname"><a href="classoperations__research_1_1IntVarElement.html#a055d26b7c759d2097e06ac802786b7b9">operations_research::IntVarElement::Copy</a></div><div class="ttdeci">void Copy(const IntVarElement &amp;element)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a46ad005bf538f19f4f1a45b357561be9a308666e688531b5c046acba00818b430"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a308666e688531b5c046acba00818b430">operations_research::Solver::ENDS_BEFORE</a></div><div class="ttdoc">t ends before d, i.e. End(t) &lt;= d.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00646">constraint_solver.h:646</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_addf253a2cee11ca1350b491972d20b28"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#addf253a2cee11ca1350b491972d20b28">operations_research::ModelVisitor::kStartsArgument</a></div><div class="ttdeci">static const char kStartsArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03417">constraint_solver.h:3417</a></div></div>
<div class="ttc" id="classoperations__research_1_1RevArray_html_aae1ddec3323cbaa8f2b29e1d211cb5c7"><div class="ttname"><a href="classoperations__research_1_1RevArray.html#aae1ddec3323cbaa8f2b29e1d211cb5c7">operations_research::RevArray::SetValue</a></div><div class="ttdeci">void SetValue(Solver *const s, int index, const T &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03729">constraint_solver.h:3729</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a4fddb36c5bb92575a98b7e54f018da8d"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a4fddb36c5bb92575a98b7e54f018da8d">operations_research::ModelVisitor::kRightArgument</a></div><div class="ttdeci">static const char kRightArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03407">constraint_solver.h:3407</a></div></div>
<div class="ttc" id="classoperations__research_1_1DisjunctiveConstraint_html_a7c019b394b4c8624bc4de977cdfc627c"><div class="ttname"><a href="classoperations__research_1_1DisjunctiveConstraint.html#a7c019b394b4c8624bc4de977cdfc627c">operations_research::DisjunctiveConstraint::actives</a></div><div class="ttdeci">virtual const std::vector&lt; IntVar * &gt; &amp; actives() const =0</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a3818299a4be6ab80f11814fbc6654395"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a3818299a4be6ab80f11814fbc6654395">operations_research::Assignment::NumSequenceVars</a></div><div class="ttdeci">int NumSequenceVars() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04951">constraint_solver.h:4951</a></div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_ae01b186f0d4be993cdabb7fb50bb98bd"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#ae01b186f0d4be993cdabb7fb50bb98bd">operations_research::SearchMonitor::kNoProgress</a></div><div class="ttdeci">static const int kNoProgress</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03569">constraint_solver.h:3569</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a4bead74295e1e5675c0984fcc91ef057"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a4bead74295e1e5675c0984fcc91ef057">operations_research::IntervalVarElement::Bound</a></div><div class="ttdeci">bool Bound() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04671">constraint_solver.h:4671</a></div></div>
<div class="ttc" id="structoperations__research_1_1DefaultPhaseParameters_html_ad9059bc845096b2f05414a66c836b4ee"><div class="ttname"><a href="structoperations__research_1_1DefaultPhaseParameters.html#ad9059bc845096b2f05414a66c836b4ee">operations_research::DefaultPhaseParameters::random_seed</a></div><div class="ttdeci">int random_seed</div><div class="ttdoc">Seed used to initialize the random part in some heuristics.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00199">constraint_solver.h:199</a></div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentContainer_html_af509c96179f3a9bf38b661fd3ab15547"><div class="ttname"><a href="classoperations__research_1_1AssignmentContainer.html#af509c96179f3a9bf38b661fd3ab15547">operations_research::AssignmentContainer::FastAdd</a></div><div class="ttdeci">E * FastAdd(V *var)</div><div class="ttdoc">Adds element without checking its presence in the container.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04763">constraint_solver.h:4763</a></div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVarElement_html_a764be64f3029f8b8e23511061d8de355"><div class="ttname"><a href="classoperations__research_1_1SequenceVarElement.html#a764be64f3029f8b8e23511061d8de355">operations_research::SequenceVarElement::DebugString</a></div><div class="ttdeci">std::string DebugString() const</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ad5c8a65bd44b883e75ceaf70436c4ef0"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ad5c8a65bd44b883e75ceaf70436c4ef0">operations_research::Solver::MakeMemberCt</a></div><div class="ttdeci">Constraint * MakeMemberCt(IntExpr *const expr, const std::vector&lt; int64 &gt; &amp;values)</div><div class="ttdoc">expr in set.</div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_ac6980496b7938cb743ac658fd0d2d6c8"><div class="ttname"><a href="classoperations__research_1_1Pack.html#ac6980496b7938cb743ac658fd0d2d6c8">operations_research::Pack::Assign</a></div><div class="ttdeci">void Assign(int var_index, int bin_index)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a3edf7cd0948242c6240cd31711211c94"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a3edf7cd0948242c6240cd31711211c94">operations_research::Solver::MakeConvexPiecewiseExpr</a></div><div class="ttdeci">IntExpr * MakeConvexPiecewiseExpr(IntExpr *expr, int64 early_cost, int64 early_date, int64 late_date, int64 late_cost)</div><div class="ttdoc">Convex piecewise function.</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_ad041b6e37441771f50f2bc665c261932"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#ad041b6e37441771f50f2bc665c261932">operations_research::IntervalVar::SafeEndExpr</a></div><div class="ttdeci">virtual IntExpr * SafeEndExpr(int64 unperformed_value)=0</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_ac462499a646c751d153e599b22f1d782"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#ac462499a646c751d153e599b22f1d782">operations_research::Assignment::SetValue</a></div><div class="ttdeci">void SetValue(const IntVar *const var, int64 value)</div></div>
<div class="ttc" id="classoperations__research_1_1LocalSearchFilter_html"><div class="ttname"><a href="classoperations__research_1_1LocalSearchFilter.html">operations_research::LocalSearchFilter</a></div><div class="ttdoc">Local Search Filters are used for fast neighbor pruning.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solveri_8h_source.html#l01491">constraint_solveri.h:1491</a></div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVarElement_html_a4bead74295e1e5675c0984fcc91ef057"><div class="ttname"><a href="classoperations__research_1_1SequenceVarElement.html#a4bead74295e1e5675c0984fcc91ef057">operations_research::SequenceVarElement::Bound</a></div><div class="ttdeci">bool Bound() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04729">constraint_solver.h:4729</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aee9ade1411e7ca8813462d9a4c3563a6"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aee9ade1411e7ca8813462d9a4c3563a6">operations_research::Solver::MakeIntervalRelaxedMax</a></div><div class="ttdeci">IntervalVar * MakeIntervalRelaxedMax(IntervalVar *const interval_var)</div><div class="ttdoc">Creates and returns an interval variable that wraps around the given one, relaxing the max start and ...</div></div>
<div class="ttc" id="classoperations__research_1_1RegularLimit_html_a1d6a0a8f90a9b39efbd6b00994d212c8"><div class="ttname"><a href="classoperations__research_1_1RegularLimit.html#a1d6a0a8f90a9b39efbd6b00994d212c8">operations_research::RegularLimit::IsUncheckedSolutionLimitReached</a></div><div class="ttdeci">bool IsUncheckedSolutionLimitReached() override</div><div class="ttdoc">Returns true if the limit of solutions has been reached including unchecked solutions.</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a8caeb4b2a0a6e058a74274fc4896c402"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a8caeb4b2a0a6e058a74274fc4896c402">operations_research::Assignment::MutableSequenceVarContainer</a></div><div class="ttdeci">SequenceContainer * MutableSequenceVarContainer()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05091">constraint_solver.h:5091</a></div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentContainer_html_a7d320f70aa1037c9c92e89ba597b5ee0"><div class="ttname"><a href="classoperations__research_1_1AssignmentContainer.html#a7d320f70aa1037c9c92e89ba597b5ee0">operations_research::AssignmentContainer::AssignmentContainer</a></div><div class="ttdeci">AssignmentContainer()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04752">constraint_solver.h:4752</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a781d3ae41c1ab80bfa9b94514dc68172"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a781d3ae41c1ab80bfa9b94514dc68172">operations_research::IntervalVarElement::StartMax</a></div><div class="ttdeci">int64 StartMax() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04608">constraint_solver.h:4608</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a46fbee3c5ffb01df33db9b5a23c20233"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a46fbee3c5ffb01df33db9b5a23c20233">operations_research::IntervalVar::SetPerformed</a></div><div class="ttdeci">virtual void SetPerformed(bool val)=0</div></div>
<div class="ttc" id="namespaceoperations__research_html_a316abccdfa41512564d84365ea8f0ead"><div class="ttname"><a href="namespaceoperations__research.html#a316abccdfa41512564d84365ea8f0ead">operations_research::operator&lt;&lt;</a></div><div class="ttdeci">std::ostream &amp; operator&lt;&lt;(std::ostream &amp;out, const Solver *const s)</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_aff3e244214fe0edff58162e4d6a3d8ab"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#aff3e244214fe0edff58162e4d6a3d8ab">operations_research::IntervalVar::WhenDurationBound</a></div><div class="ttdeci">void WhenDurationBound(Solver::Closure closure)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04343">constraint_solver.h:4343</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a5ef2508f0144802647e1384aec4dc8c8"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a5ef2508f0144802647e1384aec4dc8c8">operations_research::ModelVisitor::kIndexArgument</a></div><div class="ttdeci">static const char kIndexArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03389">constraint_solver.h:3389</a></div></div>
<div class="ttc" id="classoperations__research_1_1BaseObject_html_a8eba5d533fa9df4617c1868d3ec2afc4"><div class="ttname"><a href="classoperations__research_1_1BaseObject.html#a8eba5d533fa9df4617c1868d3ec2afc4">operations_research::BaseObject::DebugString</a></div><div class="ttdeci">virtual std::string DebugString() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03088">constraint_solver.h:3088</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a3b0638c92ea73b5666d6b667c44896f8"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a3b0638c92ea73b5666d6b667c44896f8">operations_research::IntervalVar::WhenAnything</a></div><div class="ttdeci">void WhenAnything(Demon *const d)</div><div class="ttdoc">Attaches a demon awakened when anything about this interval changes.</div></div>
<div class="ttc" id="classoperations__research_1_1IntVarElement_html_a14058ec577db7ff606d2c60f86ca696d"><div class="ttname"><a href="classoperations__research_1_1IntVarElement.html#a14058ec577db7ff606d2c60f86ca696d">operations_research::IntVarElement::SetMin</a></div><div class="ttdeci">void SetMin(int64 m)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04563">constraint_solver.h:4563</a></div></div>
<div class="ttc" id="structoperations__research_1_1DefaultPhaseParameters_html_a0e6d02b76d3e83bde2a02798e4e7a0a9"><div class="ttname"><a href="structoperations__research_1_1DefaultPhaseParameters.html#a0e6d02b76d3e83bde2a02798e4e7a0a9">operations_research::DefaultPhaseParameters::heuristic_num_failures_limit</a></div><div class="ttdeci">int heuristic_num_failures_limit</div><div class="ttdoc">The failure limit for each heuristic that we run.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00192">constraint_solver.h:192</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ac116c031b6888d29347fa1cc923dedf8"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ac116c031b6888d29347fa1cc923dedf8">operations_research::Solver::MakeOperator</a></div><div class="ttdeci">LocalSearchOperator * MakeOperator(const std::vector&lt; IntVar * &gt; &amp;vars, LocalSearchOperators op)</div><div class="ttdoc">Local Search Operators.</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a3fce2fb00665c8601b1f49e9e7afceb3"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a3fce2fb00665c8601b1f49e9e7afceb3">operations_research::Assignment::Unperformed</a></div><div class="ttdeci">const std::vector&lt; int &gt; &amp; Unperformed(const SequenceVar *const var) const</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_aaa55b6256b0d1ab1bfe6eddecb629d71"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#aaa55b6256b0d1ab1bfe6eddecb629d71">operations_research::ModelVisitor::kMaximizeArgument</a></div><div class="ttdeci">static const char kMaximizeArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03397">constraint_solver.h:3397</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_affb4d32c70dabba9c53820fc18b4873c"><div class="ttname"><a href="classoperations__research_1_1Solver.html#affb4d32c70dabba9c53820fc18b4873c">operations_research::Solver::MakeSolveOnce</a></div><div class="ttdeci">DecisionBuilder * MakeSolveOnce(DecisionBuilder *const db)</div><div class="ttdoc">SolveOnce will collapse a search tree described by a decision builder 'db' and a set of monitors and ...</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_aaede9262257d2cb727ab27f86690cf4c"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#aaede9262257d2cb727ab27f86690cf4c">operations_research::IntervalVar::OldDurationMax</a></div><div class="ttdeci">virtual int64 OldDurationMax() const =0</div></div>
<div class="ttc" id="classoperations__research_1_1Demon_html_a47dfc6f2bc0d50a6e7c92eb00d97b064"><div class="ttname"><a href="classoperations__research_1_1Demon.html#a47dfc6f2bc0d50a6e7c92eb00d97b064">operations_research::Demon::Queue</a></div><div class="ttdeci">friend class Queue</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03258">constraint_solver.h:3258</a></div></div>
<div class="ttc" id="structoperations__research_1_1InitAndGetValues_1_1Iterator_html_aa0e28d1c59211c96da145cb1f14623af"><div class="ttname"><a href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html#aa0e28d1c59211c96da145cb1f14623af">operations_research::InitAndGetValues::Iterator::End</a></div><div class="ttdeci">static Iterator End(IntVarIterator *it)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03894">constraint_solver.h:3894</a></div></div>
<div class="ttc" id="classoperations__research_1_1RegularLimit_html_ab737c284f0dcb8b1ed115f5f5b90f3ff"><div class="ttname"><a href="classoperations__research_1_1RegularLimit.html#ab737c284f0dcb8b1ed115f5f5b90f3ff">operations_research::RegularLimit::RegularLimit</a></div><div class="ttdeci">RegularLimit(Solver *const s, int64 time, int64 branches, int64 failures, int64 solutions, bool smart_time_check, bool cumulative)</div></div>
<div class="ttc" id="classoperations__research_1_1IntVarElement_html_a8052ccc3aba839f3befd553cc05b85a0"><div class="ttname"><a href="classoperations__research_1_1IntVarElement.html#a8052ccc3aba839f3befd553cc05b85a0">operations_research::IntVarElement::Var</a></div><div class="ttdeci">IntVar * Var() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04549">constraint_solver.h:4549</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ab7ab23bc58ea40dc03a5418ddbce7601a51ebcb4577d6f214dc22b869c9774448"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a51ebcb4577d6f214dc22b869c9774448">operations_research::Solver::CHOOSE_MIN_SIZE_LOWEST_MIN</a></div><div class="ttdoc">Among unbound variables, select the variable with the smallest size, i.e., the smallest number of pos...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00273">constraint_solver.h:273</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ac72c2601b14178d2e6512802e67c1e82"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ac72c2601b14178d2e6512802e67c1e82">operations_research::ModelVisitor::kBranchesLimitArgument</a></div><div class="ttdeci">static const char kBranchesLimitArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03369">constraint_solver.h:3369</a></div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_afd36445be20121bef02fe4847317ed0b"><div class="ttname"><a href="classoperations__research_1_1Pack.html#afd36445be20121bef02fe4847317ed0b">operations_research::Pack::RemoveAllPossibleFromBin</a></div><div class="ttdeci">void RemoveAllPossibleFromBin(int bin_index)</div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_a3faa7bb8c3804bc2c19b0c9c51fb3663"><div class="ttname"><a href="classoperations__research_1_1Pack.html#a3faa7bb8c3804bc2c19b0c9c51fb3663">operations_research::Pack::Pack</a></div><div class="ttdeci">Pack(Solver *const s, const std::vector&lt; IntVar * &gt; &amp;vars, int number_of_bins)</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a2505ff70f6dbbce33b184e00523c0e7c"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a2505ff70f6dbbce33b184e00523c0e7c">operations_research::Assignment::SetDurationValue</a></div><div class="ttdeci">void SetDurationValue(const IntervalVar *const var, int64 value)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a5284fa0004efcf8f14b754321c3654be"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a5284fa0004efcf8f14b754321c3654be">operations_research::Solver::MakeScalProd</a></div><div class="ttdeci">IntExpr * MakeScalProd(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int64 &gt; &amp;coefs)</div><div class="ttdoc">scalar product</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a045ef225663c760069ffc15af7caabef"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a045ef225663c760069ffc15af7caabef">operations_research::Assignment::Add</a></div><div class="ttdeci">IntVarElement * Add(IntVar *const var)</div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVar_html_ab8618d2458a778c7ee4326b41bd2de7e"><div class="ttname"><a href="classoperations__research_1_1SequenceVar.html#ab8618d2458a778c7ee4326b41bd2de7e">operations_research::SequenceVar::RankFirst</a></div><div class="ttdeci">void RankFirst(int index)</div><div class="ttdoc">Ranks the index_th interval var first of all unranked interval vars.</div></div>
<div class="ttc" id="classoperations__research_1_1IntVarElement_html_a549a14746ebdb1a5a3b658960ac33c61"><div class="ttname"><a href="classoperations__research_1_1IntVarElement.html#a549a14746ebdb1a5a3b658960ac33c61">operations_research::IntVarElement::Clone</a></div><div class="ttdeci">IntVarElement * Clone()</div></div>
<div class="ttc" id="classoperations__research_1_1Constraint_html"><div class="ttname"><a href="classoperations__research_1_1Constraint.html">operations_research::Constraint</a></div><div class="ttdoc">A constraint is the main modeling object.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03516">constraint_solver.h:3516</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6fc60ae040ae35c83f09736d2e682a18a4741235246c97963a5a5316382888a58"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a4741235246c97963a5a5316382888a58">operations_research::Solver::SIMPLELNS</a></div><div class="ttdoc">Operator which defines one neighbor per variable.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00545">constraint_solver.h:545</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ab7ab23bc58ea40dc03a5418ddbce7601a135287a353c8b664975f778efc8d89ae"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a135287a353c8b664975f778efc8d89ae">operations_research::Solver::CHOOSE_MIN_SIZE</a></div><div class="ttdoc">Among unbound variables, select the variable with the smallest size.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00314">constraint_solver.h:314</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ac3ea43c183e37adc93039e739bcf69f5"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ac3ea43c183e37adc93039e739bcf69f5">operations_research::Solver::MakeLubyRestart</a></div><div class="ttdeci">SearchMonitor * MakeLubyRestart(int scale_factor)</div><div class="ttdoc">This search monitor will restart the search periodically.</div></div>
<div class="ttc" id="structoperations__research_1_1SolutionCollector_1_1SolutionData_html_a34485db3725852534bc2d28225ea5d64"><div class="ttname"><a href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a34485db3725852534bc2d28225ea5d64">operations_research::SolutionCollector::SolutionData::objective_value</a></div><div class="ttdeci">int64 objective_value</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04104">constraint_solver.h:4104</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a021ae5a2766d4ccaa133a5bbb5398464"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a021ae5a2766d4ccaa133a5bbb5398464">operations_research::Solver::IndexFilter1</a></div><div class="ttdeci">std::function&lt; bool(int64)&gt; IndexFilter1</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00725">constraint_solver.h:725</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a4c28d8452e85cc7cb4a9473382126f18"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a4c28d8452e85cc7cb4a9473382126f18">operations_research::ModelVisitor::kEarlyDateArgument</a></div><div class="ttdeci">static const char kEarlyDateArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03380">constraint_solver.h:3380</a></div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_a72beba8c14dafe98d7faea2fd625bf27"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#a72beba8c14dafe98d7faea2fd625bf27">operations_research::SearchMonitor::~SearchMonitor</a></div><div class="ttdeci">~SearchMonitor() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03572">constraint_solver.h:3572</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_a6e33a313eaf507bae0eb7068455a5bdc"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#a6e33a313eaf507bae0eb7068455a5bdc">operations_research::IntVar::WhenBound</a></div><div class="ttdeci">virtual void WhenBound(Demon *d)=0</div><div class="ttdoc">This method attaches a demon that will be awakened when the variable is bound.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a2d05f61c00462571d1cdeef8c36b85c8"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a2d05f61c00462571d1cdeef8c36b85c8">operations_research::Solver::MakeIsLessVar</a></div><div class="ttdeci">IntVar * MakeIsLessVar(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">status var of (left &lt; right)</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_ae7e79ac5cad1bf2d1960f5f3c18bc575"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#ae7e79ac5cad1bf2d1960f5f3c18bc575">operations_research::Assignment::FastAdd</a></div><div class="ttdeci">IntVarElement * FastAdd(IntVar *const var)</div><div class="ttdoc">Adds without checking if variable has been previously added.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6f8ccb5cbc73e9f8c0d40541698df547"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6f8ccb5cbc73e9f8c0d40541698df547">operations_research::Solver::MakeCover</a></div><div class="ttdeci">Constraint * MakeCover(const std::vector&lt; IntervalVar * &gt; &amp;vars, IntervalVar *const target_var)</div><div class="ttdoc">This constraint states that the target_var is the convex hull of the intervals.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a6547847378ab8737c33862119548fa7a"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a6547847378ab8737c33862119548fa7a">operations_research::ModelVisitor::kConvexPiecewise</a></div><div class="ttdeci">static const char kConvexPiecewise[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03278">constraint_solver.h:3278</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ad033e75848b4956d869473cbabd949ad"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ad033e75848b4956d869473cbabd949ad">operations_research::Solver::VariableIndexSelector</a></div><div class="ttdeci">std::function&lt; int64(Solver *solver, const std::vector&lt; IntVar * &gt; &amp;vars, int64 first_unbound, int64 last_unbound)&gt; VariableIndexSelector</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00731">constraint_solver.h:731</a></div></div>
<div class="ttc" id="classoperations__research_1_1OptimizeVar_html_a62c8c6ddbd6448f66e4f17e34ef8f33b"><div class="ttname"><a href="classoperations__research_1_1OptimizeVar.html#a62c8c6ddbd6448f66e4f17e34ef8f33b">operations_research::OptimizeVar::best_</a></div><div class="ttdeci">int64 best_</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04162">constraint_solver.h:4162</a></div></div>
<div class="ttc" id="classoperations__research_1_1PropagationBaseObject_html_ad5260b9627048b854b45d05ed34adc22"><div class="ttname"><a href="classoperations__research_1_1PropagationBaseObject.html#ad5260b9627048b854b45d05ed34adc22">operations_research::PropagationBaseObject::set_name</a></div><div class="ttdeci">void set_name(const std::string &amp;name)</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_aefb5e9428f09f6d4829ce1c01ecdd86d"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#aefb5e9428f09f6d4829ce1c01ecdd86d">operations_research::ModelVisitor::kStartSyncOnEndOperation</a></div><div class="ttdeci">static const char kStartSyncOnEndOperation[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03437">constraint_solver.h:3437</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a80533bb150275c3c1c46e7ee3f31a822"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a80533bb150275c3c1c46e7ee3f31a822">operations_research::Solver::wall_time</a></div><div class="ttdeci">int64 wall_time() const</div><div class="ttdoc">DEPRECATED: Use Now() instead.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a293233c46e5eaa308f65c7c2350553f7"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7">operations_research::Solver::DemonPriority</a></div><div class="ttdeci">DemonPriority</div><div class="ttdoc">This enum represents the three possible priorities for a demon in the Solver queue.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00591">constraint_solver.h:591</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a54d664a4731f8630df04c2e83fa06536"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a54d664a4731f8630df04c2e83fa06536">operations_research::Assignment::ForwardSequence</a></div><div class="ttdeci">const std::vector&lt; int &gt; &amp; ForwardSequence(const SequenceVar *const var) const</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a254ebc4f3f584b3e8b84a4e43d538249"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a254ebc4f3f584b3e8b84a4e43d538249">operations_research::Solver::MakeNotMemberCt</a></div><div class="ttdeci">Constraint * MakeNotMemberCt(IntExpr *const expr, const std::vector&lt; int64 &gt; &amp;values)</div><div class="ttdoc">expr not in set.</div></div>
<div class="ttc" id="structoperations__research_1_1Solver_1_1SearchLogParameters_html_a82cee82f19757e963cd151f690439a61"><div class="ttname"><a href="structoperations__research_1_1Solver_1_1SearchLogParameters.html#a82cee82f19757e963cd151f690439a61">operations_research::Solver::SearchLogParameters::scaling_factor</a></div><div class="ttdeci">double scaling_factor</div><div class="ttdoc">When displayed, objective or var values will be scaled and offset by the given values in the followin...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02269">constraint_solver.h:2269</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a51a79aba914b679840efa3726c1b76d6"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a51a79aba914b679840efa3726c1b76d6">operations_research::Solver::MakeExitSearchCallback</a></div><div class="ttdeci">SearchMonitor * MakeExitSearchCallback(std::function&lt; void()&gt; callback)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ab7ab23bc58ea40dc03a5418ddbce7601aefd0704e5b6bd1e9dd826cf03d2dff12"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601aefd0704e5b6bd1e9dd826cf03d2dff12">operations_research::Solver::CHOOSE_LOWEST_MIN</a></div><div class="ttdoc">Among unbound variables, select the variable with the smallest minimal value.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00303">constraint_solver.h:303</a></div></div>
<div class="ttc" id="classoperations__research_1_1OptimizeVar_html_a746d038d4dc0a23b3c22499f33b42fd5"><div class="ttname"><a href="classoperations__research_1_1OptimizeVar.html#a746d038d4dc0a23b3c22499f33b42fd5">operations_research::OptimizeVar::~OptimizeVar</a></div><div class="ttdeci">~OptimizeVar() override</div></div>
<div class="ttc" id="classoperations__research_1_1DecisionVisitor_html_a0e1f321d11415299d3b867250913c50c"><div class="ttname"><a href="classoperations__research_1_1DecisionVisitor.html#a0e1f321d11415299d3b867250913c50c">operations_research::DecisionVisitor::VisitScheduleOrPostpone</a></div><div class="ttdeci">virtual void VisitScheduleOrPostpone(IntervalVar *const var, int64 est)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aba5c5dc6467e097f4972d7776541482bae46a3641c46e09a29875fe4067773615"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482bae46a3641c46e09a29875fe4067773615">operations_research::Solver::CHOOSE_RANDOM_RANK_FORWARD</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00392">constraint_solver.h:392</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a3a64940761b306c816e00e077906952f"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952f">operations_research::Solver::IntervalStrategy</a></div><div class="ttdeci">IntervalStrategy</div><div class="ttdoc">This enum describes the straregy used to select the next interval variable and its value to be fixed.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00397">constraint_solver.h:397</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a2f3990620efb4a31c3f156049bc885c7"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a2f3990620efb4a31c3f156049bc885c7">operations_research::Solver::MakeIndexOfConstraint</a></div><div class="ttdeci">Constraint * MakeIndexOfConstraint(const std::vector&lt; IntVar * &gt; &amp;vars, IntVar *const index, int64 target)</div><div class="ttdoc">This constraint is a special case of the element constraint with an array of integer variables,...</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aa98599d53aa61489fb180a7b1d75c812"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aa98599d53aa61489fb180a7b1d75c812">operations_research::Solver::MakeVariableDegreeVisitor</a></div><div class="ttdeci">ModelVisitor * MakeVariableDegreeVisitor(absl::flat_hash_map&lt; const IntVar *, int &gt; *const map)</div><div class="ttdoc">Compute the number of constraints a variable is attached to.</div></div>
<div class="ttc" id="classoperations__research_1_1IntVarElement_html_a4bead74295e1e5675c0984fcc91ef057"><div class="ttname"><a href="classoperations__research_1_1IntVarElement.html#a4bead74295e1e5675c0984fcc91ef057">operations_research::IntVarElement::Bound</a></div><div class="ttdeci">bool Bound() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04571">constraint_solver.h:4571</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a5fca4736a0ce7eef873cba6d4e06b774"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a5fca4736a0ce7eef873cba6d4e06b774">operations_research::IntervalVarElement::SetEndValue</a></div><div class="ttdeci">void SetEndValue(int64 v)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04657">constraint_solver.h:4657</a></div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVar_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1SequenceVar.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::SequenceVar::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div></div>
<div class="ttc" id="structoperations__research_1_1DefaultPhaseParameters_html_a36703c0bee7e0f1e68f64e0bb9307382ace3e26676763569084c86b8c3b67d601"><div class="ttname"><a href="structoperations__research_1_1DefaultPhaseParameters.html#a36703c0bee7e0f1e68f64e0bb9307382ace3e26676763569084c86b8c3b67d601">operations_research::DefaultPhaseParameters::VERBOSE</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00168">constraint_solver.h:168</a></div></div>
<div class="ttc" id="classoperations__research_1_1PropagationBaseObject_html_a6a119daa8b83c3aaffdb6e11fac1f97e"><div class="ttname"><a href="classoperations__research_1_1PropagationBaseObject.html#a6a119daa8b83c3aaffdb6e11fac1f97e">operations_research::PropagationBaseObject::name</a></div><div class="ttdeci">virtual std::string name() const</div><div class="ttdoc">Object naming.</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_ad0323f7dc6cdda6a1718f84ac59a1bd8"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#ad0323f7dc6cdda6a1718f84ac59a1bd8">operations_research::Assignment::DurationValue</a></div><div class="ttdeci">int64 DurationValue(const IntervalVar *const var) const</div></div>
<div class="ttc" id="classoperations__research_1_1IntVarElement_html_a3196af797c21cdf61571e8a4dbfedc1a"><div class="ttname"><a href="classoperations__research_1_1IntVarElement.html#a3196af797c21cdf61571e8a4dbfedc1a">operations_research::IntVarElement::Reset</a></div><div class="ttdeci">void Reset(IntVar *const var)</div></div>
<div class="ttc" id="structoperations__research_1_1DefaultPhaseParameters_html"><div class="ttname"><a href="structoperations__research_1_1DefaultPhaseParameters.html">operations_research::DefaultPhaseParameters</a></div><div class="ttdoc">This struct holds all parameters for the default search.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00155">constraint_solver.h:155</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a589dbe140227cc5b787cdda276b67acc"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a589dbe140227cc5b787cdda276b67acc">operations_research::ModelVisitor::kMin</a></div><div class="ttdeci">static const char kMin[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03318">constraint_solver.h:3318</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ab5bbd458168c635ffd13dcb791187957"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ab5bbd458168c635ffd13dcb791187957">operations_research::ModelVisitor::VisitIntervalArrayArgument</a></div><div class="ttdeci">virtual void VisitIntervalArrayArgument(const std::string &amp;arg_name, const std::vector&lt; IntervalVar * &gt; &amp;arguments)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a2a0b93a70f0d588f157ade7909c42eff"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a2a0b93a70f0d588f157ade7909c42eff">operations_research::Solver::parameters</a></div><div class="ttdeci">ConstraintSolverParameters parameters() const</div><div class="ttdoc">Stored Parameters.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00746">constraint_solver.h:746</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a1896fe755b612dbebd2c46638f8977a2"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a1896fe755b612dbebd2c46638f8977a2">operations_research::IntervalVarElement::Restore</a></div><div class="ttdeci">void Restore()</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_aad7bf0414200f8bdd2e70d293fe7067d"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#aad7bf0414200f8bdd2e70d293fe7067d">operations_research::Assignment::SetStartValue</a></div><div class="ttdeci">void SetStartValue(const IntervalVar *const var, int64 value)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a4c26a571e97a2501e08425e1a77704c3"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a4c26a571e97a2501e08425e1a77704c3">operations_research::Solver::MakeTemporalDisjunction</a></div><div class="ttdeci">Constraint * MakeTemporalDisjunction(IntervalVar *const t1, IntervalVar *const t2, IntVar *const alt)</div><div class="ttdoc">This constraint implements a temporal disjunction between two interval vars t1 and t2.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a45c5a2dd0d47110ef5b00408854d8d84a93badf6566533c41a1faed525dcdee25"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a93badf6566533c41a1faed525dcdee25">operations_research::Solver::SPLIT_LOWER_HALF</a></div><div class="ttdoc">Split the domain in two around the center, and choose the lower part first.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00356">constraint_solver.h:356</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a4592f7b31305062855ebb7a29d179cf5"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a4592f7b31305062855ebb7a29d179cf5">operations_research::ModelVisitor::kNextsArgument</a></div><div class="ttdeci">static const char kNextsArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03400">constraint_solver.h:3400</a></div></div>
<div class="ttc" id="classoperations__research_1_1DecisionVisitor_html"><div class="ttname"><a href="classoperations__research_1_1DecisionVisitor.html">operations_research::DecisionVisitor</a></div><div class="ttdoc">A DecisionVisitor is used to inspect a decision.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03181">constraint_solver.h:3181</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a81ef5c2da0677185d64d6c79d9ef9eb5"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a81ef5c2da0677185d64d6c79d9ef9eb5">operations_research::Assignment::~Assignment</a></div><div class="ttdeci">~Assignment() override</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ac8bad969ebcea86359a86752915c9e11"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ac8bad969ebcea86359a86752915c9e11">operations_research::Solver::MakeEquality</a></div><div class="ttdeci">Constraint * MakeEquality(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">left == right</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a35959a8f06ab5704037d3ba6f6e57807"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a35959a8f06ab5704037d3ba6f6e57807">operations_research::ModelVisitor::kIntervalUnaryRelation</a></div><div class="ttdeci">static const char kIntervalUnaryRelation[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03299">constraint_solver.h:3299</a></div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_a0c955ff1b2eae2daece0f25f1e57fb16"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#a0c955ff1b2eae2daece0f25f1e57fb16">operations_research::SolutionCollector::EnterSearch</a></div><div class="ttdeci">void EnterSearch() override</div><div class="ttdoc">Beginning of the search.</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a85b770f10424a1cf4ae734ccbd761a55"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a85b770f10424a1cf4ae734ccbd761a55">operations_research::IntervalVar::~IntervalVar</a></div><div class="ttdeci">~IntervalVar() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04295">constraint_solver.h:4295</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a9d344e39533044ecf046177a9bf3e6ca"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a9d344e39533044ecf046177a9bf3e6ca">operations_research::Solver::MakeIntVarArray</a></div><div class="ttdeci">void MakeIntVarArray(int var_count, int64 vmin, int64 vmax, const std::string &amp;name, std::vector&lt; IntVar * &gt; *vars)</div><div class="ttdoc">This method will append the vector vars with 'var_count' variables having bounds vmin and vmax and ha...</div></div>
<div class="ttc" id="classoperations__research_1_1DecisionBuilder_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1DecisionBuilder.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::DecisionBuilder::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aa0cf6d9172e0a47f031afb1b8da69991"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aa0cf6d9172e0a47f031afb1b8da69991">operations_research::Solver::MakeElement</a></div><div class="ttdeci">IntExpr * MakeElement(const std::vector&lt; int64 &gt; &amp;values, IntVar *const index)</div><div class="ttdoc">values[index]</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6f66063ebaf61025e27e96719affa3eea8b5fc701937b54e1a8e1a20217d6ecc8"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea8b5fc701937b54e1a8e1a20217d6ecc8">operations_research::Solver::STARTS_AFTER_END</a></div><div class="ttdoc">t1 starts after t2 end, i.e. Start(t1) &gt;= End(t2) + delay.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00619">constraint_solver.h:619</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a561d0006662c709e158b85992727024a"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a561d0006662c709e158b85992727024a">operations_research::ModelVisitor::kLessOrEqual</a></div><div class="ttdeci">static const char kLessOrEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03311">constraint_solver.h:3311</a></div></div>
<div class="ttc" id="classoperations__research_1_1SearchLimit_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1SearchLimit.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::SearchLimit::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04200">constraint_solver.h:4200</a></div></div>
<div class="ttc" id="classoperations__research_1_1OptimizeVar_html_a1f1de124cc3328c7d5077c5275d0bfd4"><div class="ttname"><a href="classoperations__research_1_1OptimizeVar.html#a1f1de124cc3328c7d5077c5275d0bfd4">operations_research::OptimizeVar::best</a></div><div class="ttdeci">int64 best() const</div><div class="ttdoc">Returns the best value found during search.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04142">constraint_solver.h:4142</a></div></div>
<div class="ttc" id="classoperations__research_1_1OptimizeVar_html_acdef27972648252e66630c3b078aa962"><div class="ttname"><a href="classoperations__research_1_1OptimizeVar.html#acdef27972648252e66630c3b078aa962">operations_research::OptimizeVar::RefuteDecision</a></div><div class="ttdeci">void RefuteDecision(Decision *const d) override</div><div class="ttdoc">Before refuting the decision.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ac9f18af3bfc84a788bd79fc0a07fecc8"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ac9f18af3bfc84a788bd79fc0a07fecc8">operations_research::ModelVisitor::kStartSyncOnStartOperation</a></div><div class="ttdeci">static const char kStartSyncOnStartOperation[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03436">constraint_solver.h:3436</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a1f87693caae60c7469fbffaadd6f0649"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a1f87693caae60c7469fbffaadd6f0649">operations_research::Assignment::AreAllElementsBound</a></div><div class="ttdeci">bool AreAllElementsBound() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05064">constraint_solver.h:5064</a></div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_a6c85276e75542eb410f09b0ccd78379b"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#a6c85276e75542eb410f09b0ccd78379b">operations_research::SearchMonitor::NoMoreSolutions</a></div><div class="ttdeci">virtual void NoMoreSolutions()</div><div class="ttdoc">When the search tree is finished.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a8c5cbe7b436dce3afff17642fce39ea1"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a8c5cbe7b436dce3afff17642fce39ea1">operations_research::ModelVisitor::kFalseConstraint</a></div><div class="ttdeci">static const char kFalseConstraint[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03292">constraint_solver.h:3292</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntExpr_html_a137deeb8781c0c7aa24bfa99c85bd01d"><div class="ttname"><a href="classoperations__research_1_1IntExpr.html#a137deeb8781c0c7aa24bfa99c85bd01d">operations_research::IntExpr::SetRange</a></div><div class="ttdeci">virtual void SetRange(int64 l, int64 u)</div><div class="ttdoc">This method sets both the min and the max of the expression.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03785">constraint_solver.h:3785</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a8db878970a91f9226fad5ab5a2670d42"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a8db878970a91f9226fad5ab5a2670d42">operations_research::ModelVisitor::BeginVisitModel</a></div><div class="ttdeci">virtual void BeginVisitModel(const std::string &amp;solver_name)</div><div class="ttdoc">--— Virtual methods for visitors --—</div></div>
<div class="ttc" id="classoperations__research_1_1SearchLimit_html_a5368a4a3fff770682cf257e81707d9f0"><div class="ttname"><a href="classoperations__research_1_1SearchLimit.html#a5368a4a3fff770682cf257e81707d9f0">operations_research::SearchLimit::Init</a></div><div class="ttdeci">virtual void Init()=0</div><div class="ttdoc">This method is called when the search limit is initialized.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ab7ab23bc58ea40dc03a5418ddbce7601a5cd14c588f2bc9864e717b7797634376"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a5cd14c588f2bc9864e717b7797634376">operations_research::Solver::INT_VAR_DEFAULT</a></div><div class="ttdoc">The default behavior is CHOOSE_FIRST_UNBOUND.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00254">constraint_solver.h:254</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a2f2bea2202c96738b11b050e71a28e63a7972193a63e28794798706309ffa1a13"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63a7972193a63e28794798706309ffa1a13">operations_research::Solver::PROBLEM_INFEASIBLE</a></div><div class="ttdoc">After search, the model is infeasible.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00714">constraint_solver.h:714</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a23ac09a78dbd8b39b2f63e9981947788"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a23ac09a78dbd8b39b2f63e9981947788">operations_research::Solver::solutions</a></div><div class="ttdeci">int64 solutions() const</div><div class="ttdoc">The number of solutions found since the start of the search.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a809377fb3a691832a21e2238176eee22"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a809377fb3a691832a21e2238176eee22">operations_research::Solver::MakeSum</a></div><div class="ttdeci">IntExpr * MakeSum(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">left + right.</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_ac76dbe6f7b117fca3613758e21642575"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#ac76dbe6f7b117fca3613758e21642575">operations_research::IntervalVar::StartExpr</a></div><div class="ttdeci">virtual IntExpr * StartExpr()=0</div><div class="ttdoc">These methods create expressions encapsulating the start, end and duration of the interval var.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a39a89fa3de66d68071c66a936f17fd2b"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a39a89fa3de66d68071c66a936f17fd2b">operations_research::Solver::OptimizationDirection</a></div><div class="ttdeci">OptimizationDirection</div><div class="ttdoc">Optimization directions.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00718">constraint_solver.h:718</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVarElement_html_a7dc350ccebb0b18b1028ccbae54f30ea"><div class="ttname"><a href="classoperations__research_1_1IntVarElement.html#a7dc350ccebb0b18b1028ccbae54f30ea">operations_research::IntVarElement::WriteToProto</a></div><div class="ttdeci">void WriteToProto(IntVarAssignment *int_var_assignment_proto) const</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a11cfb1b537a1200911695a7075fa8d32"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a11cfb1b537a1200911695a7075fa8d32">operations_research::ModelVisitor::VisitIntegerVariableEvaluatorArgument</a></div><div class="ttdeci">virtual void VisitIntegerVariableEvaluatorArgument(const std::string &amp;arg_name, const Solver::Int64ToIntVar &amp;arguments)</div><div class="ttdoc">Helpers.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a43b52fda5b204c72475e5f8cbdca9fb9"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a43b52fda5b204c72475e5f8cbdca9fb9">operations_research::Solver::MakeDecisionBuilderFromAssignment</a></div><div class="ttdeci">DecisionBuilder * MakeDecisionBuilderFromAssignment(Assignment *const assignment, DecisionBuilder *const db, const std::vector&lt; IntVar * &gt; &amp;vars)</div><div class="ttdoc">Returns a decision builder for which the left-most leaf corresponds to assignment,...</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_affcbe1cefd443f0581b455613cacc219"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#affcbe1cefd443f0581b455613cacc219">operations_research::Assignment::operator!=</a></div><div class="ttdeci">bool operator!=(const Assignment &amp;assignment) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05100">constraint_solver.h:5100</a></div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentContainer_html_a9159a0c131a3233d9a8a79dc7afa3c6e"><div class="ttname"><a href="classoperations__research_1_1AssignmentContainer.html#a9159a0c131a3233d9a8a79dc7afa3c6e">operations_research::AssignmentContainer::CopyIntersection</a></div><div class="ttdeci">void CopyIntersection(const AssignmentContainer&lt; V, E &gt; &amp;container)</div><div class="ttdoc">Copies the elements of 'container' which are already in the calling container.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04786">constraint_solver.h:4786</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ad31ec726916dcb6a86af35964b1d84f5"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ad31ec726916dcb6a86af35964b1d84f5">operations_research::ModelVisitor::kCountArgument</a></div><div class="ttdeci">static const char kCountArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03373">constraint_solver.h:3373</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_af2b25e4b01a3dbc9aae31a09c8f7a343"><div class="ttname"><a href="classoperations__research_1_1Solver.html#af2b25e4b01a3dbc9aae31a09c8f7a343">operations_research::Solver::MakeAllSolutionCollector</a></div><div class="ttdeci">SolutionCollector * MakeAllSolutionCollector()</div><div class="ttdoc">Collect all solutions of the search.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a2f2bea2202c96738b11b050e71a28e63adf2a840a07b929c95099a490d2e4d013"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63adf2a840a07b929c95099a490d2e4d013">operations_research::Solver::IN_SEARCH</a></div><div class="ttdoc">Executing the search code.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00708">constraint_solver.h:708</a></div></div>
<div class="ttc" id="classoperations__research_1_1InitAndGetValues_html_a6e10bae8d4199a0ed4dc82abda824543"><div class="ttname"><a href="classoperations__research_1_1InitAndGetValues.html#a6e10bae8d4199a0ed4dc82abda824543">operations_research::InitAndGetValues::InitAndGetValues</a></div><div class="ttdeci">InitAndGetValues(IntVarIterator *it)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03875">constraint_solver.h:3875</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_abae2844b83db465a4474012596bf7a50"><div class="ttname"><a href="classoperations__research_1_1Solver.html#abae2844b83db465a4474012596bf7a50">operations_research::Solver::MakePathPrecedenceConstraint</a></div><div class="ttdeci">Constraint * MakePathPrecedenceConstraint(std::vector&lt; IntVar * &gt; nexts, const std::vector&lt; std::pair&lt; int, int &gt;&gt; &amp;precedences)</div><div class="ttdoc">Contraint enforcing, for each pair (i,j) in precedences, i to be before j in paths defined by next va...</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aa2de975afc21df8ba84dcbb5de94cd38"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aa2de975afc21df8ba84dcbb5de94cd38">operations_research::Solver::MemoryUsage</a></div><div class="ttdeci">static int64 MemoryUsage()</div><div class="ttdoc">Current memory usage in bytes.</div></div>
<div class="ttc" id="classoperations__research_1_1NumericalRev_html_a83c8a2812799fd87becd114374fb1d36"><div class="ttname"><a href="classoperations__research_1_1NumericalRev.html#a83c8a2812799fd87becd114374fb1d36">operations_research::NumericalRev::Decr</a></div><div class="ttdeci">void Decr(Solver *const s)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03700">constraint_solver.h:3700</a></div></div>
<div class="ttc" id="classoperations__research_1_1OptimizeVar_html_ac75adcf22322d5c6692e070a0d962af9"><div class="ttname"><a href="classoperations__research_1_1OptimizeVar.html#ac75adcf22322d5c6692e070a0d962af9">operations_research::OptimizeVar::Print</a></div><div class="ttdeci">virtual std::string Print() const</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a60e7fa8388801a72e31391e8203a9464"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a60e7fa8388801a72e31391e8203a9464">operations_research::Assignment::Contains</a></div><div class="ttdeci">bool Contains(const IntVar *const var) const</div></div>
<div class="ttc" id="classoperations__research_1_1RegularLimit_html_acde4eaa45f9fcd2e17bfcaf04a41ea36"><div class="ttname"><a href="classoperations__research_1_1RegularLimit.html#acde4eaa45f9fcd2e17bfcaf04a41ea36">operations_research::RegularLimit::MakeClone</a></div><div class="ttdeci">SearchLimit * MakeClone() const override</div><div class="ttdoc">Allocates a clone of the limit.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a5b75952975129483f50194a37280456e"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a5b75952975129483f50194a37280456e">operations_research::ModelVisitor::kLateCostArgument</a></div><div class="ttdeci">static const char kLateCostArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03393">constraint_solver.h:3393</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_acf10b6b6ef31fd88f39d0ea38885a2dc"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#acf10b6b6ef31fd88f39d0ea38885a2dc">operations_research::ModelVisitor::kEarlyCostArgument</a></div><div class="ttdeci">static const char kEarlyCostArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03379">constraint_solver.h:3379</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_afaf7a8e1a4d3570d580cd8137061d465"><div class="ttname"><a href="classoperations__research_1_1Solver.html#afaf7a8e1a4d3570d580cd8137061d465">operations_research::Solver::MakeScalProdEquality</a></div><div class="ttdeci">Constraint * MakeScalProdEquality(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int64 &gt; &amp;coefficients, int64 cst)</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a6c32b3d2b7cafc36493d2e39b058f322"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a6c32b3d2b7cafc36493d2e39b058f322">operations_research::ModelVisitor::kDurationMaxArgument</a></div><div class="ttdeci">static const char kDurationMaxArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03377">constraint_solver.h:3377</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a832486e7bf6410f8986237876356f447"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a832486e7bf6410f8986237876356f447">operations_research::Solver::DefaultSolverParameters</a></div><div class="ttdeci">static ConstraintSolverParameters DefaultSolverParameters()</div><div class="ttdoc">Create a ConstraintSolverParameters proto with all the default values.</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a349b5f41930e3a1d4e516145a1edb004"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a349b5f41930e3a1d4e516145a1edb004">operations_research::IntervalVar::WhenStartBound</a></div><div class="ttdeci">virtual void WhenStartBound(Demon *const d)=0</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_aaf5dd8c36d76222cfd555a1d3ffcc366"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#aaf5dd8c36d76222cfd555a1d3ffcc366">operations_research::IntervalVarElement::Copy</a></div><div class="ttdeci">void Copy(const IntervalVarElement &amp;element)</div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_ab47256145f58ae39ba8a4691076f0004"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#ab47256145f58ae39ba8a4691076f0004">operations_research::SolutionCollector::objective_value</a></div><div class="ttdeci">int64 objective_value(int n) const</div><div class="ttdoc">Returns the objective value of the nth solution.</div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_a262b3b6ef45475daffd66c5ada5dfdd2"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#a262b3b6ef45475daffd66c5ada5dfdd2">operations_research::SearchMonitor::RestartSearch</a></div><div class="ttdeci">virtual void RestartSearch()</div><div class="ttdoc">Restart the search.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_afe93123f82bcede32f7ddfe4332a2853"><div class="ttname"><a href="classoperations__research_1_1Solver.html#afe93123f82bcede32f7ddfe4332a2853">operations_research::Solver::MakeLess</a></div><div class="ttdeci">Constraint * MakeLess(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">left &lt; right</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ab632d1514a9794685b449641d16f7b8a"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ab632d1514a9794685b449641d16f7b8a">operations_research::ModelVisitor::kSequenceArgument</a></div><div class="ttdeci">static const char kSequenceArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03408">constraint_solver.h:3408</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a2428a463a691e437503836c8fcfef585"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a2428a463a691e437503836c8fcfef585">operations_research::Solver::MakePrintModelVisitor</a></div><div class="ttdeci">ModelVisitor * MakePrintModelVisitor()</div><div class="ttdoc">Prints the model.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_aa95757a513f781326dd6909766f893d4"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#aa95757a513f781326dd6909766f893d4">operations_research::ModelVisitor::kMax</a></div><div class="ttdeci">static const char kMax[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03315">constraint_solver.h:3315</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ac752aaab9e329f51d370683f3600e1ef"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ac752aaab9e329f51d370683f3600e1ef">operations_research::Solver::MakeMapDomain</a></div><div class="ttdeci">Constraint * MakeMapDomain(IntVar *const var, const std::vector&lt; IntVar * &gt; &amp;actives)</div><div class="ttdoc">This constraint maps the domain of 'var' onto the array of variables 'actives'.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_acf408604098ab222c1235e29836be09b"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#acf408604098ab222c1235e29836be09b">operations_research::ModelVisitor::kTransitsArgument</a></div><div class="ttdeci">static const char kTransitsArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03421">constraint_solver.h:3421</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aa637423a56e06d52bc9beed8d6fda7ab"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aa637423a56e06d52bc9beed8d6fda7ab">operations_research::Solver::InstrumentsVariables</a></div><div class="ttdeci">bool InstrumentsVariables() const</div><div class="ttdoc">Returns whether we are tracing variables.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a293233c46e5eaa308f65c7c2350553f7ae3e3c3d5bc2f8ac679a0b7e92b3d51d4"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7ae3e3c3d5bc2f8ac679a0b7e92b3d51d4">operations_research::Solver::NORMAL_PRIORITY</a></div><div class="ttdoc">NORMAL_PRIORITY is the highest priority: Demons will be processed first.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00600">constraint_solver.h:600</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a7068105b7336b272d448efac25efbb09"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a7068105b7336b272d448efac25efbb09">operations_research::ModelVisitor::VisitInt64ToInt64Extension</a></div><div class="ttdeci">void VisitInt64ToInt64Extension(const Solver::IndexEvaluator1 &amp;eval, int64 index_min, int64 index_max)</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a900b6f477d759869da0e9a89c5201642"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a900b6f477d759869da0e9a89c5201642">operations_research::ModelVisitor::kDisjunctive</a></div><div class="ttdeci">static const char kDisjunctive[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03284">constraint_solver.h:3284</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a074172434184dde98798ed6590206d42ac43e64ba97da5ab5a9a8a04e3ed17f5f"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42ac43e64ba97da5ab5a9a8a04e3ed17f5f">operations_research::Solver::KILL_BOTH</a></div><div class="ttdoc">Backtracks to the previous decisions, i.e.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00690">constraint_solver.h:690</a></div></div>
<div class="ttc" id="structoperations__research_1_1DefaultPhaseParameters_html_a36703c0bee7e0f1e68f64e0bb9307382ac157bdf0b85a40d2619cbc8bc1ae5fe2"><div class="ttname"><a href="structoperations__research_1_1DefaultPhaseParameters.html#a36703c0bee7e0f1e68f64e0bb9307382ac157bdf0b85a40d2619cbc8bc1ae5fe2">operations_research::DefaultPhaseParameters::NONE</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00168">constraint_solver.h:168</a></div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_a69d42eaaa36a86e05e57f6b682679095"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#a69d42eaaa36a86e05e57f6b682679095">operations_research::SolutionCollector::BackwardSequence</a></div><div class="ttdeci">const std::vector&lt; int &gt; &amp; BackwardSequence(int n, SequenceVar *const var) const</div><div class="ttdoc">This is a shortcut to get the BackwardSequence of 'var' in the nth solution.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aed8995a421184374d8ba9f16262b4e87"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aed8995a421184374d8ba9f16262b4e87">operations_research::Solver::MakeSimulatedAnnealing</a></div><div class="ttdeci">SearchMonitor * MakeSimulatedAnnealing(bool maximize, IntVar *const v, int64 step, int64 initial_temperature)</div><div class="ttdoc">Creates a Simulated Annealing monitor.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a42920c3456f59ca9e9c550e7aaf5bca9"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a42920c3456f59ca9e9c550e7aaf5bca9">operations_research::Solver::MakeIsLessOrEqualCstCt</a></div><div class="ttdeci">Constraint * MakeIsLessOrEqualCstCt(IntExpr *const var, int64 value, IntVar *const boolvar)</div><div class="ttdoc">boolvar == (var &lt;= value)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a8d0e5b9d35429b9e2e6f636d07c65c5b"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a8d0e5b9d35429b9e2e6f636d07c65c5b">operations_research::Solver::MakeSearchLog</a></div><div class="ttdeci">SearchMonitor * MakeSearchLog(int branch_period)</div><div class="ttdoc">The SearchMonitors below will display a periodic search log on LOG(INFO) every branch_period branches...</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a2a891b6bc3eedc72dfb7b32e4aee96e6"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a2a891b6bc3eedc72dfb7b32e4aee96e6">operations_research::ModelVisitor::VisitIntegerVariableArrayArgument</a></div><div class="ttdeci">virtual void VisitIntegerVariableArrayArgument(const std::string &amp;arg_name, const std::vector&lt; IntVar * &gt; &amp;arguments)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aaa120bdb2730df0029ef6a3a6677d389"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aaa120bdb2730df0029ef6a3a6677d389">operations_research::Solver::MakeCumulative</a></div><div class="ttdeci">Constraint * MakeCumulative(const std::vector&lt; IntervalVar * &gt; &amp;intervals, const std::vector&lt; int64 &gt; &amp;demands, int64 capacity, const std::string &amp;name)</div><div class="ttdoc">This constraint forces that, for any integer t, the sum of the demands corresponding to an interval c...</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a7b8a6f05fe0fcec065317fbd8694969d"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a7b8a6f05fe0fcec065317fbd8694969d">operations_research::IntervalVar::Accept</a></div><div class="ttdeci">virtual void Accept(ModelVisitor *const visitor) const =0</div><div class="ttdoc">Accepts the given visitor.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a1dad7894187a044deb1348a4401b01dd"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a1dad7894187a044deb1348a4401b01dd">operations_research::ModelVisitor::kMaxEqual</a></div><div class="ttdeci">static const char kMaxEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03316">constraint_solver.h:3316</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_ab14e2d2421aa8d793df45251778e9ede"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#ab14e2d2421aa8d793df45251778e9ede">operations_research::IntervalVar::WhenEndRange</a></div><div class="ttdeci">void WhenEndRange(Solver::Action action)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04365">constraint_solver.h:4365</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ab7ab23bc58ea40dc03a5418ddbce7601ab5a4ff7c445eb996034132c5b54dd2e2"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ab5a4ff7c445eb996034132c5b54dd2e2">operations_research::Solver::CHOOSE_MIN_SIZE_HIGHEST_MIN</a></div><div class="ttdoc">Among unbound variables, select the variable with the smallest size, i.e., the smallest number of pos...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00281">constraint_solver.h:281</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a63ad0c64681ddabe0c2121f40f2ed594"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a63ad0c64681ddabe0c2121f40f2ed594">operations_research::ModelVisitor::kScalProdEqual</a></div><div class="ttdeci">static const char kScalProdEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03334">constraint_solver.h:3334</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a23abfe627ea8a7c7a457e3263823bbbd"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a23abfe627ea8a7c7a457e3263823bbbd">operations_research::Solver::MakeSymmetryManager</a></div><div class="ttdeci">SearchMonitor * MakeSymmetryManager(const std::vector&lt; SymmetryBreaker * &gt; &amp;visitors)</div><div class="ttdoc">Symmetry Breaking.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a2b39b4ddeced08534a545a2af992ea25"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a2b39b4ddeced08534a545a2af992ea25">operations_research::ModelVisitor::kCountEqual</a></div><div class="ttdeci">static const char kCountEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03279">constraint_solver.h:3279</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_aaa35bd07ac079ce1ff0812cdb3890e42"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#aaa35bd07ac079ce1ff0812cdb3890e42">operations_research::IntVar::MakeDomainIterator</a></div><div class="ttdeci">virtual IntVarIterator * MakeDomainIterator(bool reversible) const =0</div><div class="ttdoc">Creates a domain iterator.</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a352b06138d7ec32ba448ebdf1e6bbbd7"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a352b06138d7ec32ba448ebdf1e6bbbd7">operations_research::Assignment::StartValue</a></div><div class="ttdeci">int64 StartValue(const IntervalVar *const var) const</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a05cc1c704384e2b15632cafb9716ccee"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a05cc1c704384e2b15632cafb9716ccee">operations_research::Assignment::SetForwardSequence</a></div><div class="ttdeci">void SetForwardSequence(const SequenceVar *const var, const std::vector&lt; int &gt; &amp;forward_sequence)</div></div>
<div class="ttc" id="classoperations__research_1_1CastConstraint_html_a98fcd7d6529aa105a5d9ca4b282579f0"><div class="ttname"><a href="classoperations__research_1_1CastConstraint.html#a98fcd7d6529aa105a5d9ca4b282579f0">operations_research::CastConstraint::target_var_</a></div><div class="ttdeci">IntVar *const target_var_</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03563">constraint_solver.h:3563</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a5179cad5976e0c8f934de68a81fd78fd"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a5179cad5976e0c8f934de68a81fd78fd">operations_research::IntervalVar::WhenEndBound</a></div><div class="ttdeci">void WhenEndBound(Solver::Action action)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04374">constraint_solver.h:4374</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6f9096de5a5999c8994f72a6e79094a5"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6f9096de5a5999c8994f72a6e79094a5">operations_research::Solver::MakeAtMost</a></div><div class="ttdeci">Constraint * MakeAtMost(std::vector&lt; IntVar * &gt; vars, int64 value, int64 max_count)</div><div class="ttdoc">|{i | vars[i] == value}| &lt;= max_count</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aef0488085836949663c2843e69b6be23"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aef0488085836949663c2843e69b6be23">operations_research::Solver::GetOrCreateLocalSearchState</a></div><div class="ttdeci">Assignment * GetOrCreateLocalSearchState()</div><div class="ttdoc">Returns (or creates) an assignment representing the state of local search.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_afd77ddfee62a87c62b6ff0415b3f76d4"><div class="ttname"><a href="classoperations__research_1_1Solver.html#afd77ddfee62a87c62b6ff0415b3f76d4">operations_research::Solver::MakeConstantRestart</a></div><div class="ttdeci">SearchMonitor * MakeConstantRestart(int frequency)</div><div class="ttdoc">This search monitor will restart the search periodically after 'frequency' failures.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_af23f6a86662138b35e00bed0469a299a"><div class="ttname"><a href="classoperations__research_1_1Solver.html#af23f6a86662138b35e00bed0469a299a">operations_research::Solver::MakeDelayedPathCumul</a></div><div class="ttdeci">Constraint * MakeDelayedPathCumul(const std::vector&lt; IntVar * &gt; &amp;nexts, const std::vector&lt; IntVar * &gt; &amp;active, const std::vector&lt; IntVar * &gt; &amp;cumuls, const std::vector&lt; IntVar * &gt; &amp;transits)</div><div class="ttdoc">Delayed version of the same constraint: propagation on the nexts variables is delayed until all const...</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a88c31ba6cd44dfb21b55a7a358dcd7c9"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a88c31ba6cd44dfb21b55a7a358dcd7c9">operations_research::Solver::MakeDiv</a></div><div class="ttdeci">IntExpr * MakeDiv(IntExpr *const expr, int64 value)</div><div class="ttdoc">expr / value (integer division)</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a27c23b6ecc378e75b4da22f166c50244"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a27c23b6ecc378e75b4da22f166c50244">operations_research::ModelVisitor::kCountUsedBinsExtension</a></div><div class="ttdeci">static const char kCountUsedBinsExtension[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03354">constraint_solver.h:3354</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVarElement_html_a764be64f3029f8b8e23511061d8de355"><div class="ttname"><a href="classoperations__research_1_1IntVarElement.html#a764be64f3029f8b8e23511061d8de355">operations_research::IntVarElement::DebugString</a></div><div class="ttdeci">std::string DebugString() const</div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_a499d6ef733de0adbab4fae13ff2cc285"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#a499d6ef733de0adbab4fae13ff2cc285">operations_research::SolutionCollector::Unperformed</a></div><div class="ttdeci">const std::vector&lt; int &gt; &amp; Unperformed(int n, SequenceVar *const var) const</div><div class="ttdoc">This is a shortcut to get the list of unperformed of 'var' in the nth solution.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_af6181ef449bab02788536ca503cd3cd8"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#af6181ef449bab02788536ca503cd3cd8">operations_research::ModelVisitor::kConditionalExpr</a></div><div class="ttdeci">static const char kConditionalExpr[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03276">constraint_solver.h:3276</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_ac2eddfa8bbcc407e02de0c9a18e6710c"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#ac2eddfa8bbcc407e02de0c9a18e6710c">operations_research::IntervalVar::WhenStartRange</a></div><div class="ttdeci">virtual void WhenStartRange(Demon *const d)=0</div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_a6c325613bf5172c0cc1162ec8579eca2"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#a6c325613bf5172c0cc1162ec8579eca2">operations_research::IntVar::IntVar</a></div><div class="ttdeci">IntVar(Solver *const s)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a1af9539be3ec13dc54536bdd9d02539a"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a1af9539be3ec13dc54536bdd9d02539a">operations_research::Solver::MakeSumObjectiveFilter</a></div><div class="ttdeci">IntVarLocalSearchFilter * MakeSumObjectiveFilter(const std::vector&lt; IntVar * &gt; &amp;vars, IndexEvaluator2 values, Solver::LocalSearchFilterBound filter_enum)</div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentElement_html_a9c9dd3575fbfc59e05ae9ed1c05f8896"><div class="ttname"><a href="classoperations__research_1_1AssignmentElement.html#a9c9dd3575fbfc59e05ae9ed1c05f8896">operations_research::AssignmentElement::Deactivate</a></div><div class="ttdeci">void Deactivate()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04535">constraint_solver.h:4535</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a46ad005bf538f19f4f1a45b357561be9ad7aa7196294c28c75de78687f43297a9"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9ad7aa7196294c28c75de78687f43297a9">operations_research::Solver::CROSS_DATE</a></div><div class="ttdoc">STARTS_BEFORE and ENDS_AFTER at the same time, i.e.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00660">constraint_solver.h:660</a></div></div>
<div class="ttc" id="classoperations__research_1_1RegularLimit_html_a01dd9b59b9a183cb3ba148b08d09b320"><div class="ttname"><a href="classoperations__research_1_1RegularLimit.html#a01dd9b59b9a183cb3ba148b08d09b320">operations_research::RegularLimit::Check</a></div><div class="ttdeci">bool Check() override</div><div class="ttdoc">This method is called to check the status of the limit.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a622500a4c7e11bbc4b8a5e5de2c84f13"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a622500a4c7e11bbc4b8a5e5de2c84f13">operations_research::Solver::LocalSearchProfiler</a></div><div class="ttdeci">friend class LocalSearchProfiler</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02884">constraint_solver.h:2884</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_a8aecb44afb42a3938692c0dc37b68faa"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#a8aecb44afb42a3938692c0dc37b68faa">operations_research::IntVar::IsEqual</a></div><div class="ttdeci">virtual IntVar * IsEqual(int64 constant)=0</div><div class="ttdoc">IsEqual.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ab003619f8e2f35a1ca01aa7713c674ea"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ab003619f8e2f35a1ca01aa7713c674ea">operations_research::Solver::TopProgressPercent</a></div><div class="ttdeci">int TopProgressPercent()</div><div class="ttdoc">Returns a percentage representing the propress of the search before reaching the limits of the top-le...</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a2f43ed2dbfc7d95d64daed57e63b7116"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a2f43ed2dbfc7d95d64daed57e63b7116">operations_research::Solver::MakeDifference</a></div><div class="ttdeci">IntExpr * MakeDifference(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">left - right</div></div>
<div class="ttc" id="classoperations__research_1_1RegularLimit_html_ad01c3a2fbfb388d917899ad983415d02"><div class="ttname"><a href="classoperations__research_1_1RegularLimit.html#ad01c3a2fbfb388d917899ad983415d02">operations_research::RegularLimit::branches</a></div><div class="ttdeci">int64 branches() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04232">constraint_solver.h:4232</a></div></div>
<div class="ttc" id="classoperations__research_1_1RegularLimit_html_a8cc63d9778229883ca7594b3a47d8f5b"><div class="ttname"><a href="classoperations__research_1_1RegularLimit.html#a8cc63d9778229883ca7594b3a47d8f5b">operations_research::RegularLimit::AbsoluteSolverDeadline</a></div><div class="ttdeci">absl::Time AbsoluteSolverDeadline() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04239">constraint_solver.h:4239</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_adb2b62f2279eeb3cf812863668f488e0"><div class="ttname"><a href="classoperations__research_1_1Solver.html#adb2b62f2279eeb3cf812863668f488e0">operations_research::Solver::RegisterDemon</a></div><div class="ttdeci">Demon * RegisterDemon(Demon *const demon)</div><div class="ttdoc">Adds a new demon and wraps it inside a DemonProfiler if necessary.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a3dc3be2f47a73287c5edd7cf80beaa89"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a3dc3be2f47a73287c5edd7cf80beaa89">operations_research::Solver::IsProfilingEnabled</a></div><div class="ttdeci">bool IsProfilingEnabled() const</div><div class="ttdoc">Returns whether we are profiling the solver.</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a283e9ef538394e378e54f5acc8c640b3"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a283e9ef538394e378e54f5acc8c640b3">operations_research::IntervalVar::WhenStartBound</a></div><div class="ttdeci">void WhenStartBound(Solver::Closure closure)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04316">constraint_solver.h:4316</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a580be6f5821ff3e30fda51d180ec4381"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a580be6f5821ff3e30fda51d180ec4381">operations_research::ModelVisitor::kIsEqual</a></div><div class="ttdeci">static const char kIsEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03304">constraint_solver.h:3304</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a5931080c9bfda8dedfef0e3adf313ab3"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a5931080c9bfda8dedfef0e3adf313ab3">operations_research::Solver::AddConstraint</a></div><div class="ttdeci">void AddConstraint(Constraint *const c)</div><div class="ttdoc">Adds the constraint 'c' to the model.</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html">operations_research::IntervalVarElement</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04593">constraint_solver.h:4593</a></div></div>
<div class="ttc" id="classoperations__research_1_1RegularLimit_html"><div class="ttname"><a href="classoperations__research_1_1RegularLimit.html">operations_research::RegularLimit</a></div><div class="ttdoc">Usual limit based on wall_time, number of explored branches and number of failures in the search tree...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04213">constraint_solver.h:4213</a></div></div>
<div class="ttc" id="classoperations__research_1_1DecisionBuilder_html_a952c3ef185d196855cc6c5f2b7ab749c"><div class="ttname"><a href="classoperations__research_1_1DecisionBuilder.html#a952c3ef185d196855cc6c5f2b7ab749c">operations_research::DecisionBuilder::AppendMonitors</a></div><div class="ttdeci">virtual void AppendMonitors(Solver *const solver, std::vector&lt; SearchMonitor * &gt; *const extras)</div><div class="ttdoc">This method will be called at the start of the search.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6d5ff1ccb832c9d27fa7a579248f8084"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6d5ff1ccb832c9d27fa7a579248f8084">operations_research::Solver::CheckFail</a></div><div class="ttdeci">void CheckFail()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02918">constraint_solver.h:2918</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a3ef03f593dc3029b44f34214a26a3700"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a3ef03f593dc3029b44f34214a26a3700">operations_research::Solver::MakeCustomLimit</a></div><div class="ttdeci">SearchLimit * MakeCustomLimit(std::function&lt; bool()&gt; limiter)</div><div class="ttdoc">Callback-based search limit.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aa748f51bdb0e8d212540faa3ac2dced4"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aa748f51bdb0e8d212540faa3ac2dced4">operations_research::Solver::MakeMirrorInterval</a></div><div class="ttdeci">IntervalVar * MakeMirrorInterval(IntervalVar *const interval_var)</div><div class="ttdoc">Creates an interval var that is the mirror image of the given one, that is, the interval var obtained...</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_abac10873a1af49f1dce33a34f3afaa56"><div class="ttname"><a href="classoperations__research_1_1Solver.html#abac10873a1af49f1dce33a34f3afaa56">operations_research::Solver::Solver</a></div><div class="ttdeci">Solver(const std::string &amp;name)</div><div class="ttdoc">Solver API.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a54362ea48f6e179eb3264e4e3d910d03"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a54362ea48f6e179eb3264e4e3d910d03">operations_research::Solver::Rand64</a></div><div class="ttdeci">int64 Rand64(int64 size)</div><div class="ttdoc">Returns a random value between 0 and 'size' - 1;.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02772">constraint_solver.h:2772</a></div></div>
<div class="ttc" id="structoperations__research_1_1DefaultPhaseParameters_html_ae34ba5540c7682e2efd1a3de7ec92821"><div class="ttname"><a href="structoperations__research_1_1DefaultPhaseParameters.html#ae34ba5540c7682e2efd1a3de7ec92821">operations_research::DefaultPhaseParameters::run_all_heuristics</a></div><div class="ttdeci">bool run_all_heuristics</div><div class="ttdoc">The default phase will run heuristics periodically.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00184">constraint_solver.h:184</a></div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_a0717f339467adcc032d893007b3695be"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#a0717f339467adcc032d893007b3695be">operations_research::SearchMonitor::SearchMonitor</a></div><div class="ttdeci">SearchMonitor(Solver *const s)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03571">constraint_solver.h:3571</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a505a3617f7d83b008ad83e9bcc36044e"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a505a3617f7d83b008ad83e9bcc36044e">operations_research::Solver::RegisterIntervalVar</a></div><div class="ttdeci">IntervalVar * RegisterIntervalVar(IntervalVar *const var)</div><div class="ttdoc">Registers a new IntervalVar and wraps it inside a TraceIntervalVar if necessary.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a1efb04d5976e6f974337313f20a8abed"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a1efb04d5976e6f974337313f20a8abed">operations_research::ModelVisitor::kCapacityArgument</a></div><div class="ttdeci">static const char kCapacityArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03370">constraint_solver.h:3370</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_af62a385d57256e5179b185d003dcfea1"><div class="ttname"><a href="classoperations__research_1_1Solver.html#af62a385d57256e5179b185d003dcfea1">operations_research::Solver::FinishCurrentSearch</a></div><div class="ttdeci">void FinishCurrentSearch()</div><div class="ttdoc">Tells the solver to kill or restart the current search.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ac41aeb7ec64fdc089b9bddd71a8d07d5"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ac41aeb7ec64fdc089b9bddd71a8d07d5">operations_research::Solver::MakeBetweenCt</a></div><div class="ttdeci">Constraint * MakeBetweenCt(IntExpr *const expr, int64 l, int64 u)</div><div class="ttdoc">(l &lt;= expr &lt;= u)</div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_ad6087c8c2f28d22ff19052db7c0045cf"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#ad6087c8c2f28d22ff19052db7c0045cf">operations_research::SearchMonitor::LocalOptimum</a></div><div class="ttdeci">virtual bool LocalOptimum()</div><div class="ttdoc">When a local optimum is reached.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a2ad108e7c25038cfe1700a5902925b1d"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a2ad108e7c25038cfe1700a5902925b1d">operations_research::ModelVisitor::kCardsArgument</a></div><div class="ttdeci">static const char kCardsArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03371">constraint_solver.h:3371</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a71c1aed86ff5e8d8203cf7f75a6b0ec4"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a71c1aed86ff5e8d8203cf7f75a6b0ec4">operations_research::ModelVisitor::kDurationMinArgument</a></div><div class="ttdeci">static const char kDurationMinArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03378">constraint_solver.h:3378</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a4cded1f6488e06e526733ac51b57bdbe"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a4cded1f6488e06e526733ac51b57bdbe">operations_research::Solver::MakeLexicalLessOrEqual</a></div><div class="ttdeci">Constraint * MakeLexicalLessOrEqual(const std::vector&lt; IntVar * &gt; &amp;left, const std::vector&lt; IntVar * &gt; &amp;right)</div><div class="ttdoc">Creates a constraint that enforces that left is lexicographically less than or equal to right.</div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_a5549bd43ea2777cc9f0f3e4da3a87cdd"><div class="ttname"><a href="classoperations__research_1_1Pack.html#a5549bd43ea2777cc9f0f3e4da3a87cdd">operations_research::Pack::AddWeightedSumEqualVarDimension</a></div><div class="ttdeci">void AddWeightedSumEqualVarDimension(const std::vector&lt; int64 &gt; &amp;weights, const std::vector&lt; IntVar * &gt; &amp;loads)</div><div class="ttdoc">This dimension imposes that for all bins b, the weighted sum (weights[i]) of all objects i assigned t...</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a1a981ab215cf0097502d1dd4f3a542ac"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a1a981ab215cf0097502d1dd4f3a542ac">operations_research::Solver::InternalSaveBooleanVarValue</a></div><div class="ttdeci">friend void InternalSaveBooleanVarValue(Solver *const, IntVar *const)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6fc60ae040ae35c83f09736d2e682a18a9fe88872d52e4a1fead358f9f6b57408"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a9fe88872d52e4a1fead358f9f6b57408">operations_research::Solver::UNACTIVELNS</a></div><div class="ttdoc">Operator which relaxes all inactive nodes and one sub-chain of six consecutive arcs.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00521">constraint_solver.h:521</a></div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVarElement_html_abd09fe08f368306c986382df61a20c73"><div class="ttname"><a href="classoperations__research_1_1SequenceVarElement.html#abd09fe08f368306c986382df61a20c73">operations_research::SequenceVarElement::SetForwardSequence</a></div><div class="ttdeci">void SetForwardSequence(const std::vector&lt; int &gt; &amp;forward_sequence)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ae2548cc7f8a6927faeab8681c0f29d45"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ae2548cc7f8a6927faeab8681c0f29d45">operations_research::Solver::MakeIsBetweenCt</a></div><div class="ttdeci">Constraint * MakeIsBetweenCt(IntExpr *const expr, int64 l, int64 u, IntVar *const b)</div><div class="ttdoc">b == (l &lt;= expr &lt;= u)</div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentContainer_html_a24926108b770033792d015cb86aeffb3"><div class="ttname"><a href="classoperations__research_1_1AssignmentContainer.html#a24926108b770033792d015cb86aeffb3">operations_research::AssignmentContainer::Size</a></div><div class="ttdeci">int Size() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04848">constraint_solver.h:4848</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a5d91f82112a1b3e4cb0c51125d9c5bbe"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a5d91f82112a1b3e4cb0c51125d9c5bbe">operations_research::ModelVisitor::kFixedChargeArgument</a></div><div class="ttdeci">static const char kFixedChargeArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03387">constraint_solver.h:3387</a></div></div>
<div class="ttc" id="classoperations__research_1_1BaseObject_html"><div class="ttname"><a href="classoperations__research_1_1BaseObject.html">operations_research::BaseObject</a></div><div class="ttdoc">A BaseObject is the root of all reversibly allocated objects.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03084">constraint_solver.h:3084</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_adb7e758609f3da38bb0bdd445e9e2461"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#adb7e758609f3da38bb0bdd445e9e2461">operations_research::ModelVisitor::kStartMinArgument</a></div><div class="ttdeci">static const char kStartMinArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03416">constraint_solver.h:3416</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_aa07812b5154f8e4d71b45d8dd53bcc06"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#aa07812b5154f8e4d71b45d8dd53bcc06">operations_research::IntervalVarElement::IntervalVarElement</a></div><div class="ttdeci">IntervalVarElement()</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aeb55da36b6eeefcbfb07d141327a5251"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aeb55da36b6eeefcbfb07d141327a5251">operations_research::Solver::MakeDistribute</a></div><div class="ttdeci">Constraint * MakeDistribute(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int64 &gt; &amp;values, const std::vector&lt; IntVar * &gt; &amp;cards)</div><div class="ttdoc">Aggregated version of count: |{i | v[i] == values[j]}| == cards[j].</div></div>
<div class="ttc" id="classoperations__research_1_1IntExpr_html"><div class="ttname"><a href="classoperations__research_1_1IntExpr.html">operations_research::IntExpr</a></div><div class="ttdoc">The class IntExpr is the base of all integer expressions in constraint programming.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03768">constraint_solver.h:3768</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a8fdbf690b1cb4c4ccf293c0e3fb2abf7"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a8fdbf690b1cb4c4ccf293c0e3fb2abf7">operations_research::Assignment::SetPerformedMax</a></div><div class="ttdeci">void SetPerformedMax(const IntervalVar *const var, int64 m)</div></div>
<div class="ttc" id="classoperations__research_1_1RegularLimit_html_a2b05840b09f4ab5632470987f01e11e1"><div class="ttname"><a href="classoperations__research_1_1RegularLimit.html#a2b05840b09f4ab5632470987f01e11e1">operations_research::RegularLimit::failures</a></div><div class="ttdeci">int64 failures() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04233">constraint_solver.h:4233</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a70884f4eed3ebe4c9ca46dc22a797195"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a70884f4eed3ebe4c9ca46dc22a797195">operations_research::IntervalVar::WhenDurationRange</a></div><div class="ttdeci">virtual void WhenDurationRange(Demon *const d)=0</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a9d8b6fe3bd617e70dba752d91d47bfd5"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a9d8b6fe3bd617e70dba752d91d47bfd5">operations_research::IntervalVarElement::EndValue</a></div><div class="ttdeci">int64 EndValue() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04621">constraint_solver.h:4621</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a8c0ef869ae99b24a6f183b008f540824"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a8c0ef869ae99b24a6f183b008f540824">operations_research::Solver::MakePower</a></div><div class="ttdeci">IntExpr * MakePower(IntExpr *const expr, int64 n)</div><div class="ttdoc">expr ^ n (n &gt; 0)</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a6798e539bb42f8c4bebb89e810acad7d"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a6798e539bb42f8c4bebb89e810acad7d">operations_research::Assignment::Activated</a></div><div class="ttdeci">bool Activated(const IntVar *const var) const</div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html">operations_research::SearchMonitor</a></div><div class="ttdoc">A search monitor is a simple set of callbacks to monitor all search events.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03567">constraint_solver.h:3567</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aba5c5dc6467e097f4972d7776541482ba56d44a3dd83eb1a8b0c8f6645bbe68d7"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482ba56d44a3dd83eb1a8b0c8f6645bbe68d7">operations_research::Solver::CHOOSE_MIN_SLACK_RANK_FORWARD</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00391">constraint_solver.h:391</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a6cca6dfc9f84533f608c0c092e7882d4"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a6cca6dfc9f84533f608c0c092e7882d4">operations_research::ModelVisitor::kStartMaxArgument</a></div><div class="ttdeci">static const char kStartMaxArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03415">constraint_solver.h:3415</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a047b2a1ed371f7cbfc2b712eae1c9518"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a047b2a1ed371f7cbfc2b712eae1c9518">operations_research::ModelVisitor::kIndexOf</a></div><div class="ttdeci">static const char kIndexOf[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03274">constraint_solver.h:3274</a></div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentContainer_html_abcfbdba215d3b15fbb4b682969943a6e"><div class="ttname"><a href="classoperations__research_1_1AssignmentContainer.html#abcfbdba215d3b15fbb4b682969943a6e">operations_research::AssignmentContainer::Empty</a></div><div class="ttdeci">bool Empty() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04783">constraint_solver.h:4783</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a2f2bea2202c96738b11b050e71a28e63a7d249934db0928e26d2f3b6944be88ea"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63a7d249934db0928e26d2f3b6944be88ea">operations_research::Solver::OUTSIDE_SEARCH</a></div><div class="ttdoc">Before search, after search.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00704">constraint_solver.h:704</a></div></div>
<div class="ttc" id="classoperations__research_1_1Decision_html_a8462eeafe7a33b8330e9a660d7678456"><div class="ttname"><a href="classoperations__research_1_1Decision.html#a8462eeafe7a33b8330e9a660d7678456">operations_research::Decision::Accept</a></div><div class="ttdeci">virtual void Accept(DecisionVisitor *const visitor) const</div><div class="ttdoc">Accepts the given visitor.</div></div>
<div class="ttc" id="classoperations__research_1_1RevArray_html"><div class="ttname"><a href="classoperations__research_1_1RevArray.html">operations_research::RevArray</a></div><div class="ttdoc">Reversible array of POD types.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03709">constraint_solver.h:3709</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_ac9c44a01c67838a8ad68d74c3d87299b"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#ac9c44a01c67838a8ad68d74c3d87299b">operations_research::IntVar::RemoveInterval</a></div><div class="ttdeci">virtual void RemoveInterval(int64 l, int64 u)=0</div><div class="ttdoc">This method removes the interval 'l' .</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ad22e12b8cd4b2f03e7c495801a7c158d"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ad22e12b8cd4b2f03e7c495801a7c158d">operations_research::ModelVisitor::VisitInt64ToBoolExtension</a></div><div class="ttdeci">void VisitInt64ToBoolExtension(Solver::IndexFilter1 filter, int64 index_min, int64 index_max)</div><div class="ttdoc">Using SWIG on callbacks is troublesome, so we hide these methods during the wrapping.</div></div>
<div class="ttc" id="classoperations__research_1_1DecisionVisitor_html_ac0309a0302536688f65af03dc87292f5"><div class="ttname"><a href="classoperations__research_1_1DecisionVisitor.html#ac0309a0302536688f65af03dc87292f5">operations_research::DecisionVisitor::VisitRankFirstInterval</a></div><div class="ttdeci">virtual void VisitRankFirstInterval(SequenceVar *const sequence, int index)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a0698b592ea17407640a41889366a47b9"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a0698b592ea17407640a41889366a47b9">operations_research::Solver::MakeNeighborhoodLimit</a></div><div class="ttdeci">LocalSearchOperator * MakeNeighborhoodLimit(LocalSearchOperator *const op, int64 limit)</div><div class="ttdoc">Creates a local search operator that wraps another local search operator and limits the number of nei...</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a4171dd4d693085b0255cf7adbee2de28"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a4171dd4d693085b0255cf7adbee2de28">operations_research::IntervalVarElement::SetPerformedMin</a></div><div class="ttdeci">void SetPerformedMin(int64 m)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04661">constraint_solver.h:4661</a></div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentContainer_html_a24ee1cf3dc19a5848dacbc25be64a69b"><div class="ttname"><a href="classoperations__research_1_1AssignmentContainer.html#a24ee1cf3dc19a5848dacbc25be64a69b">operations_research::AssignmentContainer::MutableElementOrNull</a></div><div class="ttdeci">E * MutableElementOrNull(const V *const var)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04825">constraint_solver.h:4825</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_ae4ca1f9c003be927034c9cfaf8d9ab7f"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#ae4ca1f9c003be927034c9cfaf8d9ab7f">operations_research::Assignment::EndValue</a></div><div class="ttdeci">int64 EndValue(const IntervalVar *const var) const</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a04804fdad2e38f6b6f9d959c9e4578b2"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a04804fdad2e38f6b6f9d959c9e4578b2">operations_research::ModelVisitor::kObjectiveExtension</a></div><div class="ttdeci">static const char kObjectiveExtension[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03357">constraint_solver.h:3357</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a80812cd3d4e7993d38d12b121383317b"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a80812cd3d4e7993d38d12b121383317b">operations_research::Solver::MakeNotBetweenCt</a></div><div class="ttdeci">Constraint * MakeNotBetweenCt(IntExpr *const expr, int64 l, int64 u)</div><div class="ttdoc">(expr &lt; l || expr &gt; u) This constraint is lazy as it will not make holes in the domain of variables.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a46ad005bf538f19f4f1a45b357561be9a98ab67334c0eb09294e4b45c0b9bf0e6"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a98ab67334c0eb09294e4b45c0b9bf0e6">operations_research::Solver::ENDS_AT</a></div><div class="ttdoc">t ends at d, i.e. End(t) == d.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00643">constraint_solver.h:643</a></div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_a61ad3bd2621a9d269ee5ae1bfbc1e388"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#a61ad3bd2621a9d269ee5ae1bfbc1e388">operations_research::SolutionCollector::DurationValue</a></div><div class="ttdeci">int64 DurationValue(int n, IntervalVar *const var) const</div><div class="ttdoc">This is a shortcut to get the DurationValue of 'var' in the nth solution.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a2f2bea2202c96738b11b050e71a28e63"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63">operations_research::Solver::SolverState</a></div><div class="ttdeci">SolverState</div><div class="ttdoc">This enum represents the state of the solver w.r.t. the search.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00702">constraint_solver.h:702</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a3aa305ef1f0072ff4f640dc4ec8f4ad3"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a3aa305ef1f0072ff4f640dc4ec8f4ad3">operations_research::Solver::MakeFalseConstraint</a></div><div class="ttdeci">Constraint * MakeFalseConstraint()</div><div class="ttdoc">This constraint always fails.</div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_a3caadbab358fe704365f1697ce654375"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#a3caadbab358fe704365f1697ce654375">operations_research::SolutionCollector::PushSolution</a></div><div class="ttdeci">void PushSolution()</div><div class="ttdoc">Push the current state as a new solution.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a0f7179b03ab49e7ee79f9b7e8c4dc129"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a0f7179b03ab49e7ee79f9b7e8c4dc129">operations_research::Solver::ClearLocalSearchState</a></div><div class="ttdeci">void ClearLocalSearchState()</div><div class="ttdoc">Clears the local search state.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02866">constraint_solver.h:2866</a></div></div>
<div class="ttc" id="classoperations__research_1_1RegularLimit_html_a98091bfae0af46a2795cf0f5a8cacec7"><div class="ttname"><a href="classoperations__research_1_1RegularLimit.html#a98091bfae0af46a2795cf0f5a8cacec7">operations_research::RegularLimit::MakeIdenticalClone</a></div><div class="ttdeci">RegularLimit * MakeIdenticalClone() const</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a680e3e9635de26ca24c6982e5aa0a395"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a680e3e9635de26ca24c6982e5aa0a395">operations_research::IntervalVar::SetEndRange</a></div><div class="ttdeci">virtual void SetEndRange(int64 mi, int64 ma)=0</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a21664d5895fb391fcb30ab99e9093b30"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a21664d5895fb391fcb30ab99e9093b30">operations_research::IntervalVarElement::SetStartValue</a></div><div class="ttdeci">void SetStartValue(int64 v)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04637">constraint_solver.h:4637</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a1b969dd10026cec3465724a505ef37f1"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a1b969dd10026cec3465724a505ef37f1">operations_research::Solver::MakePathConnected</a></div><div class="ttdeci">Constraint * MakePathConnected(std::vector&lt; IntVar * &gt; nexts, std::vector&lt; int64 &gt; sources, std::vector&lt; int64 &gt; sinks, std::vector&lt; IntVar * &gt; status)</div><div class="ttdoc">Constraint enforcing that status[i] is true iff there's a path defined on next variables from sources...</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a29ab76d140dc963e6ff300c10f2e6b69"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a29ab76d140dc963e6ff300c10f2e6b69">operations_research::ModelVisitor::kVarsArgument</a></div><div class="ttdeci">static const char kVarsArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03426">constraint_solver.h:3426</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_aecf5d63faebdaeda9dca52f916576459"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#aecf5d63faebdaeda9dca52f916576459">operations_research::Assignment::Bound</a></div><div class="ttdeci">bool Bound(const IntVar *const var) const</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a05b1c3d42e90d3ddb7674be5692b69f4"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a05b1c3d42e90d3ddb7674be5692b69f4">operations_research::Solver::MakeAssignVariableValueOrDoNothing</a></div><div class="ttdeci">Decision * MakeAssignVariableValueOrDoNothing(IntVar *const var, int64 value)</div></div>
<div class="ttc" id="classoperations__research_1_1IntVarElement_html"><div class="ttname"><a href="classoperations__research_1_1IntVarElement.html">operations_research::IntVarElement</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04542">constraint_solver.h:4542</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ae69f986ba3ecb59d0c4fbc48ae76fa34"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ae69f986ba3ecb59d0c4fbc48ae76fa34">operations_research::Solver::VariableValueSelector</a></div><div class="ttdeci">std::function&lt; int64(const IntVar *v, int64 id)&gt; VariableValueSelector</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00733">constraint_solver.h:733</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a36304d31cb04978db9a9e1e4ac412156"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a36304d31cb04978db9a9e1e4ac412156">operations_research::ModelVisitor::kPartialArgument</a></div><div class="ttdeci">static const char kPartialArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03402">constraint_solver.h:3402</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a4b9496f2fc2a29dad86b325b2b0ea0a5"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a4b9496f2fc2a29dad86b325b2b0ea0a5">operations_research::Solver::MakeTrueConstraint</a></div><div class="ttdeci">Constraint * MakeTrueConstraint()</div><div class="ttdoc">This constraint always succeeds.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_afb28bd81075ef9b2f5a29c32eb46ba92"><div class="ttname"><a href="classoperations__research_1_1Solver.html#afb28bd81075ef9b2f5a29c32eb46ba92">operations_research::Solver::balancing_decision</a></div><div class="ttdeci">Decision * balancing_decision() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02802">constraint_solver.h:2802</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a49efcad6e7de33f146d83b3d7eedd3b0"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a49efcad6e7de33f146d83b3d7eedd3b0">operations_research::Assignment::PerformedMin</a></div><div class="ttdeci">int64 PerformedMin(const IntervalVar *const var) const</div></div>
<div class="ttc" id="structoperations__research_1_1SolutionCollector_1_1SolutionData_html_a70443e4bc86411ffcee245b2c3c71156"><div class="ttname"><a href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a70443e4bc86411ffcee245b2c3c71156">operations_research::SolutionCollector::SolutionData::solution</a></div><div class="ttdeci">Assignment * solution</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04100">constraint_solver.h:4100</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_afe91689b382c123e523f567c904cfce7"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#afe91689b382c123e523f567c904cfce7">operations_research::IntervalVarElement::EndMax</a></div><div class="ttdeci">int64 EndMax() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04620">constraint_solver.h:4620</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html"><div class="ttname"><a href="classoperations__research_1_1IntVar.html">operations_research::IntVar</a></div><div class="ttdoc">The class IntVar is a subset of IntExpr.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03929">constraint_solver.h:3929</a></div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVarElement_html_a2aeac15a5e71f9045f8e050841737e47"><div class="ttname"><a href="classoperations__research_1_1SequenceVarElement.html#a2aeac15a5e71f9045f8e050841737e47">operations_research::SequenceVarElement::Reset</a></div><div class="ttdeci">void Reset(SequenceVar *const var)</div></div>
<div class="ttc" id="classoperations__research_1_1SymmetryBreaker_html"><div class="ttname"><a href="classoperations__research_1_1SymmetryBreaker.html">operations_research::SymmetryBreaker</a></div><div class="ttdoc">A symmetry breaker is an object that will visit a decision and create the 'symmetrical' decision in r...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solveri_8h_source.html#l01736">constraint_solveri.h:1736</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ab7ab23bc58ea40dc03a5418ddbce7601a1a148a0aaaad7f56eea42df9876e7ae9"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a1a148a0aaaad7f56eea42df9876e7ae9">operations_research::Solver::CHOOSE_FIRST_UNBOUND</a></div><div class="ttdoc">Select the first unbound variable.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00262">constraint_solver.h:262</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a46ad005bf538f19f4f1a45b357561be9"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9">operations_research::Solver::UnaryIntervalRelation</a></div><div class="ttdeci">UnaryIntervalRelation</div><div class="ttdoc">This enum is used in Solver::MakeIntervalVarRelation to specify the temporal relation between an inte...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00638">constraint_solver.h:638</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_af6816fc6dec978dc3ca41929a9dba7e8"><div class="ttname"><a href="classoperations__research_1_1Solver.html#af6816fc6dec978dc3ca41929a9dba7e8">operations_research::Solver::IsProduct</a></div><div class="ttdeci">bool IsProduct(IntExpr *const expr, IntExpr **inner_expr, int64 *coefficient)</div><div class="ttdoc">Returns true if expr represents a product of a expr and a constant.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a1462f7a4a6016963a51d12ccd37bc0f3"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a1462f7a4a6016963a51d12ccd37bc0f3">operations_research::ModelVisitor::~ModelVisitor</a></div><div class="ttdeci">~ModelVisitor() override</div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_a06d7a538074a3c12029edf2c7dbe03b9"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#a06d7a538074a3c12029edf2c7dbe03b9">operations_research::SolutionCollector::check_index</a></div><div class="ttdeci">void check_index(int n) const</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a31f906045095a1a31fbd16e009a2bef8"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a31f906045095a1a31fbd16e009a2bef8">operations_research::Assignment::EndMax</a></div><div class="ttdeci">int64 EndMax(const IntervalVar *const var) const</div></div>
<div class="ttc" id="classoperations__research_1_1PropagationBaseObject_html_ae038f4a9249362629fc47e8dfc441ec7"><div class="ttname"><a href="classoperations__research_1_1PropagationBaseObject.html#ae038f4a9249362629fc47e8dfc441ec7">operations_research::PropagationBaseObject::UnfreezeQueue</a></div><div class="ttdeci">void UnfreezeQueue()</div><div class="ttdoc">This method unfreezes the propagation queue.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03119">constraint_solver.h:3119</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_adc4da30a70d833a3e0d59a5b3945a001"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#adc4da30a70d833a3e0d59a5b3945a001">operations_research::ModelVisitor::kScalProdGreaterOrEqual</a></div><div class="ttdeci">static const char kScalProdGreaterOrEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03335">constraint_solver.h:3335</a></div></div>
<div class="ttc" id="classoperations__research_1_1Constraint_html_a9100fab5545234f60a4ce442dbb45630"><div class="ttname"><a href="classoperations__research_1_1Constraint.html#a9100fab5545234f60a4ce442dbb45630">operations_research::Constraint::InitialPropagate</a></div><div class="ttdeci">virtual void InitialPropagate()=0</div><div class="ttdoc">This method performs the initial propagation of the constraint.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ab7ab23bc58ea40dc03a5418ddbce7601a0dd29a5b1114a3da001126046058304c"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a0dd29a5b1114a3da001126046058304c">operations_research::Solver::CHOOSE_RANDOM</a></div><div class="ttdoc">Randomly select one of the remaining unbound variables.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00265">constraint_solver.h:265</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a6b6d670875c4e20780fe39477ff16b65"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a6b6d670875c4e20780fe39477ff16b65">operations_research::Assignment::EndMin</a></div><div class="ttdeci">int64 EndMin(const IntervalVar *const var) const</div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVar_html_a356dffbba8246298635e4d5714f5ff25"><div class="ttname"><a href="classoperations__research_1_1SequenceVar.html#a356dffbba8246298635e4d5714f5ff25">operations_research::SequenceVar::ActiveHorizonRange</a></div><div class="ttdeci">void ActiveHorizonRange(int64 *const hmin, int64 *const hmax) const</div><div class="ttdoc">Returns the minimum start min and the maximum end max of all unranked interval vars in the sequence.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6fc60ae040ae35c83f09736d2e682a18a37a8c9623d7eaef96c74865483fe8e8b"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a37a8c9623d7eaef96c74865483fe8e8b">operations_research::Solver::SWAPACTIVE</a></div><div class="ttdoc">Operator which replaces an active node by an inactive one.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00491">constraint_solver.h:491</a></div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_a721f49ca2d390d07d643847a05cd428d"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#a721f49ca2d390d07d643847a05cd428d">operations_research::SolutionCollector::PerformedValue</a></div><div class="ttdeci">int64 PerformedValue(int n, IntervalVar *const var) const</div><div class="ttdoc">This is a shortcut to get the PerformedValue of 'var' in the nth solution.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ae57bc6f29c7b4343cb90aa1946ce1869"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ae57bc6f29c7b4343cb90aa1946ce1869">operations_research::Solver::BranchSelector</a></div><div class="ttdeci">std::function&lt; DecisionModification()&gt; BranchSelector</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00735">constraint_solver.h:735</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a6e8672f9ba306a50785fc05744632315"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a6e8672f9ba306a50785fc05744632315">operations_research::IntervalVarElement::DurationValue</a></div><div class="ttdeci">int64 DurationValue() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04615">constraint_solver.h:4615</a></div></div>
<div class="ttc" id="namespaceoperations__research_html"><div class="ttname"><a href="namespaceoperations__research.html">operations_research</a></div><div class="ttdoc">The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00092">constraint_solver.h:92</a></div></div>
<div class="ttc" id="classoperations__research_1_1RevArray_html_a53616c71ad0a199caa949b8e32679b59"><div class="ttname"><a href="classoperations__research_1_1RevArray.html#a53616c71ad0a199caa949b8e32679b59">operations_research::RevArray::size</a></div><div class="ttdeci">int64 size() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03721">constraint_solver.h:3721</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a9648e486d02d610907100805e54d0c0e"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a9648e486d02d610907100805e54d0c0e">operations_research::IntervalVar::WhenStartBound</a></div><div class="ttdeci">void WhenStartBound(Solver::Action action)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04320">constraint_solver.h:4320</a></div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVarElement_html_aab9e15f979531292b5b8e79aad7846a8"><div class="ttname"><a href="classoperations__research_1_1SequenceVarElement.html#aab9e15f979531292b5b8e79aad7846a8">operations_research::SequenceVarElement::LoadFromProto</a></div><div class="ttdeci">void LoadFromProto(const SequenceVarAssignment &amp;sequence_var_assignment_proto)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aae6945c57651cb226561a0ef988a02ac"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aae6945c57651cb226561a0ef988a02ac">operations_research::Solver::AddBacktrackAction</a></div><div class="ttdeci">void AddBacktrackAction(Action a, bool fast)</div><div class="ttdoc">When SaveValue() is not the best way to go, one can create a reversible action that will be called up...</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a074172434184dde98798ed6590206d42"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42">operations_research::Solver::DecisionModification</a></div><div class="ttdeci">DecisionModification</div><div class="ttdoc">The Solver is responsible for creating the search tree.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00673">constraint_solver.h:673</a></div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentContainer_html_a4beccbd8819d830e06223550b8ca6d10"><div class="ttname"><a href="classoperations__research_1_1AssignmentContainer.html#a4beccbd8819d830e06223550b8ca6d10">operations_research::AssignmentContainer::Contains</a></div><div class="ttdeci">bool Contains(const V *const var) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04815">constraint_solver.h:4815</a></div></div>
<div class="ttc" id="classoperations__research_1_1Decision_html_a8b28baa822da63142e875e1258fe0973"><div class="ttname"><a href="classoperations__research_1_1Decision.html#a8b28baa822da63142e875e1258fe0973">operations_research::Decision::Refute</a></div><div class="ttdeci">virtual void Refute(Solver *const s)=0</div><div class="ttdoc">Refute will be called after a backtrack.</div></div>
<div class="ttc" id="classoperations__research_1_1RegularLimit_html_a73a92be718a3fce418f1240ac862b2fc"><div class="ttname"><a href="classoperations__research_1_1RegularLimit.html#a73a92be718a3fce418f1240ac862b2fc">operations_research::RegularLimit::UpdateLimits</a></div><div class="ttdeci">void UpdateLimits(int64 time, int64 branches, int64 failures, int64 solutions)</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a936ce8be9aba423200e61fb24e9dd038"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a936ce8be9aba423200e61fb24e9dd038">operations_research::ModelVisitor::kCountAssignedItemsExtension</a></div><div class="ttdeci">static const char kCountAssignedItemsExtension[]</div><div class="ttdoc">Extension names:</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03353">constraint_solver.h:3353</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVarIterator_html"><div class="ttname"><a href="classoperations__research_1_1IntVarIterator.html">operations_research::IntVarIterator</a></div><div class="ttdoc">The class Iterator has two direct subclasses.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03846">constraint_solver.h:3846</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_af6146bd50969010daeee8c1005ccf59c"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#af6146bd50969010daeee8c1005ccf59c">operations_research::ModelVisitor::kSemiContinuous</a></div><div class="ttdeci">static const char kSemiContinuous[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03337">constraint_solver.h:3337</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntExpr_html_a6dc4d5cdc2ed0da18452a65c5bf69e0d"><div class="ttname"><a href="classoperations__research_1_1IntExpr.html#a6dc4d5cdc2ed0da18452a65c5bf69e0d">operations_research::IntExpr::Max</a></div><div class="ttdeci">virtual int64 Max() const =0</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a7a8458025b2650b4e0cf2aafde506817"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a7a8458025b2650b4e0cf2aafde506817">operations_research::ModelVisitor::EndVisitExtension</a></div><div class="ttdeci">virtual void EndVisitExtension(const std::string &amp;type)</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_acf91de1238d3626085e38d5b42a8af76"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#acf91de1238d3626085e38d5b42a8af76">operations_research::ModelVisitor::VisitSequenceArrayArgument</a></div><div class="ttdeci">virtual void VisitSequenceArrayArgument(const std::string &amp;arg_name, const std::vector&lt; SequenceVar * &gt; &amp;arguments)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a45c5a2dd0d47110ef5b00408854d8d84a6cc67468f22769f3bdfe3032b760b8c0"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a6cc67468f22769f3bdfe3032b760b8c0">operations_research::Solver::ASSIGN_MAX_VALUE</a></div><div class="ttdoc">Selects the max value of the selected variable.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00344">constraint_solver.h:344</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a34419e55556ff4e92b447fe895bdb9c3"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a34419e55556ff4e92b447fe895bdb9c3">operations_research::Solver::IntVar</a></div><div class="ttdeci">friend class IntVar</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02878">constraint_solver.h:2878</a></div></div>
<div class="ttc" id="classoperations__research_1_1Demon_html_a5c1d752bf5b8c6e57bd7defbdbc3e0d8"><div class="ttname"><a href="classoperations__research_1_1Demon.html#a5c1d752bf5b8c6e57bd7defbdbc3e0d8">operations_research::Demon::~Demon</a></div><div class="ttdeci">~Demon() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03238">constraint_solver.h:3238</a></div></div>
<div class="ttc" id="classoperations__research_1_1DisjunctiveConstraint_html_aa99bb1bc9882729f5c08a39c46b8705c"><div class="ttname"><a href="classoperations__research_1_1DisjunctiveConstraint.html#aa99bb1bc9882729f5c08a39c46b8705c">operations_research::DisjunctiveConstraint::MakeSequenceVar</a></div><div class="ttdeci">virtual SequenceVar * MakeSequenceVar()=0</div><div class="ttdoc">Creates a sequence variable from the constraint.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ad2eec282542c2acaee9c694c5944917c"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ad2eec282542c2acaee9c694c5944917c">operations_research::ModelVisitor::kInitialState</a></div><div class="ttdeci">static const char kInitialState[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03390">constraint_solver.h:3390</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6fc60ae040ae35c83f09736d2e682a18a2270aed8867e84e996306402cfa4f5d5"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a2270aed8867e84e996306402cfa4f5d5">operations_research::Solver::MAKEINACTIVE</a></div><div class="ttdoc">Operator which makes path nodes inactive.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00476">constraint_solver.h:476</a></div></div>
<div class="ttc" id="classoperations__research_1_1DecisionBuilder_html_ad3bd886b44a7c315a2ed7b5da09798aa"><div class="ttname"><a href="classoperations__research_1_1DecisionBuilder.html#ad3bd886b44a7c315a2ed7b5da09798aa">operations_research::DecisionBuilder::~DecisionBuilder</a></div><div class="ttdeci">~DecisionBuilder() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03203">constraint_solver.h:3203</a></div></div>
<div class="ttc" id="structoperations__research_1_1InitAndGetValues_1_1Iterator_html"><div class="ttname"><a href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html">operations_research::InitAndGetValues::Iterator</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03889">constraint_solver.h:3889</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a622430d2c45c95667dea82e654bfd3f1"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a622430d2c45c95667dea82e654bfd3f1">operations_research::IntervalVar::OldDurationMin</a></div><div class="ttdeci">virtual int64 OldDurationMin() const =0</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6c690b3f926eccb5c17c239d40f94333"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6c690b3f926eccb5c17c239d40f94333">operations_research::Solver::MakeIsMemberVar</a></div><div class="ttdeci">IntVar * MakeIsMemberVar(IntExpr *const expr, const std::vector&lt; int64 &gt; &amp;values)</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_aa6ed44442f081a0d859bb0debc05dd71"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#aa6ed44442f081a0d859bb0debc05dd71">operations_research::IntervalVar::PerformedExpr</a></div><div class="ttdeci">virtual IntExpr * PerformedExpr()=0</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a758efb73215c8c71b43cc1cf2432eb6f"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a758efb73215c8c71b43cc1cf2432eb6f">operations_research::Solver::MakeIndexOfFirstMinValueConstraint</a></div><div class="ttdeci">Constraint * MakeIndexOfFirstMinValueConstraint(IntVar *index, const std::vector&lt; IntVar * &gt; &amp;vars)</div><div class="ttdoc">Creates a constraint that binds the index variable to the index of the first variable with the minimu...</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a9c2109e176dd548ba9e45f363e874bb7"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a9c2109e176dd548ba9e45f363e874bb7">operations_research::Solver::MakeScalProdGreaterOrEqual</a></div><div class="ttdeci">Constraint * MakeScalProdGreaterOrEqual(const std::vector&lt; IntVar * &gt; &amp;vars, const std::vector&lt; int64 &gt; &amp;coeffs, int64 cst)</div></div>
<div class="ttc" id="classoperations__research_1_1IntExpr_html_af13b2ea301c6800bb6d43bd70716bf6d"><div class="ttname"><a href="classoperations__research_1_1IntExpr.html#af13b2ea301c6800bb6d43bd70716bf6d">operations_research::IntExpr::WhenRange</a></div><div class="ttdeci">virtual void WhenRange(Demon *d)=0</div><div class="ttdoc">Attach a demon that will watch the min or the max of the expression.</div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_aec3898670cd27d756678ddda55678b87"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#aec3898670cd27d756678ddda55678b87">operations_research::SolutionCollector::PopSolution</a></div><div class="ttdeci">void PopSolution()</div><div class="ttdoc">Remove and delete the last popped solution.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a946780dfafc8faa3dd2d345850213be5"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a946780dfafc8faa3dd2d345850213be5">operations_research::Solver::Solve</a></div><div class="ttdeci">bool Solve(DecisionBuilder *const db, const std::vector&lt; SearchMonitor * &gt; &amp;monitors)</div></div>
<div class="ttc" id="classoperations__research_1_1Constraint_html_af33bad3aa81a2f411224d5e471f9956f"><div class="ttname"><a href="classoperations__research_1_1Constraint.html#af33bad3aa81a2f411224d5e471f9956f">operations_research::Constraint::Post</a></div><div class="ttdeci">virtual void Post()=0</div><div class="ttdoc">This method is called when the constraint is processed by the solver.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a1abb7cd1adc423a0c095f0c902a498b5"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a1abb7cd1adc423a0c095f0c902a498b5">operations_research::ModelVisitor::kDeviation</a></div><div class="ttdeci">static const char kDeviation[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03282">constraint_solver.h:3282</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_afd2868244e1a645aaf41eb8a6a6c8bf4af23b5d9059cb973667272b793cfd37b1"><div class="ttname"><a href="classoperations__research_1_1Solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4af23b5d9059cb973667272b793cfd37b1">operations_research::Solver::TSPLNS</a></div><div class="ttdoc">TSP-base LNS.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00571">constraint_solver.h:571</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a5fd20f96469c4dc88975e6ccfdc6d0b3"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a5fd20f96469c4dc88975e6ccfdc6d0b3">operations_research::ModelVisitor::kDelayedPathCumul</a></div><div class="ttdeci">static const char kDelayedPathCumul[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03329">constraint_solver.h:3329</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a24926108b770033792d015cb86aeffb3"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a24926108b770033792d015cb86aeffb3">operations_research::Assignment::Size</a></div><div class="ttdeci">int Size() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04946">constraint_solver.h:4946</a></div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVarElement_html_a1896fe755b612dbebd2c46638f8977a2"><div class="ttname"><a href="classoperations__research_1_1SequenceVarElement.html#a1896fe755b612dbebd2c46638f8977a2">operations_research::SequenceVarElement::Restore</a></div><div class="ttdeci">void Restore()</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_afd2868244e1a645aaf41eb8a6a6c8bf4a092684b466c2d8f6dffcc4fcc45a4c87"><div class="ttname"><a href="classoperations__research_1_1Solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4a092684b466c2d8f6dffcc4fcc45a4c87">operations_research::Solver::TSPOPT</a></div><div class="ttdoc">Sliding TSP operator.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00563">constraint_solver.h:563</a></div></div>
<div class="ttc" id="structoperations__research_1_1DefaultPhaseParameters_html_a40646422bfe80217dfdf371cca44a63b"><div class="ttname"><a href="structoperations__research_1_1DefaultPhaseParameters.html#a40646422bfe80217dfdf371cca44a63b">operations_research::DefaultPhaseParameters::display_level</a></div><div class="ttdeci">DisplayLevel display_level</div><div class="ttdoc">This represents the amount of information displayed by the default search.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00203">constraint_solver.h:203</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a72954fb35fd0dd0d796b18d893e957b4"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a72954fb35fd0dd0d796b18d893e957b4">operations_research::Solver::IsLocalSearchProfilingEnabled</a></div><div class="ttdeci">bool IsLocalSearchProfilingEnabled() const</div><div class="ttdoc">Returns whether we are profiling local search.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6fc60ae040ae35c83f09736d2e682a18a60b0c4db87e990aa84b63ba1990aa41e"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a60b0c4db87e990aa84b63ba1990aa41e">operations_research::Solver::MAKECHAININACTIVE</a></div><div class="ttdoc">Operator which makes a &quot;chain&quot; of path nodes inactive.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00484">constraint_solver.h:484</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a38498bce8edef1f7864fe72312b32b2c"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a38498bce8edef1f7864fe72312b32b2c">operations_research::ModelVisitor::kTargetArgument</a></div><div class="ttdeci">static const char kTargetArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03419">constraint_solver.h:3419</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntExpr_html_a253ec9a9ed6b56ac4de714373ebf91f9"><div class="ttname"><a href="classoperations__research_1_1IntExpr.html#a253ec9a9ed6b56ac4de714373ebf91f9">operations_research::IntExpr::SetMin</a></div><div class="ttdeci">virtual void SetMin(int64 m)=0</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a9f8656876765452bb1532eaa2ae63542"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a9f8656876765452bb1532eaa2ae63542">operations_research::ModelVisitor::kIsGreaterOrEqual</a></div><div class="ttdeci">static const char kIsGreaterOrEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03306">constraint_solver.h:3306</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntExpr_html_a37ccfed48c37d5ad26af5baaf775c390"><div class="ttname"><a href="classoperations__research_1_1IntExpr.html#a37ccfed48c37d5ad26af5baaf775c390">operations_research::IntExpr::Range</a></div><div class="ttdeci">virtual void Range(int64 *l, int64 *u)</div><div class="ttdoc">By default calls Min() and Max(), but can be redefined when Min and Max code can be factorized.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03780">constraint_solver.h:3780</a></div></div>
<div class="ttc" id="classoperations__research_1_1DisjunctiveConstraint_html"><div class="ttname"><a href="classoperations__research_1_1DisjunctiveConstraint.html">operations_research::DisjunctiveConstraint</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l05230">constraint_solver.h:5230</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ad27539b7139884e4904329fd2fd82671"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ad27539b7139884e4904329fd2fd82671">operations_research::ModelVisitor::VisitIntervalArgument</a></div><div class="ttdeci">virtual void VisitIntervalArgument(const std::string &amp;arg_name, IntervalVar *const argument)</div><div class="ttdoc">Visit interval argument.</div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_a5f32c22c620c811754ba7b6f977db864"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#a5f32c22c620c811754ba7b6f977db864">operations_research::SearchMonitor::solver</a></div><div class="ttdeci">Solver * solver() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03640">constraint_solver.h:3640</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ac92009c58c162047bc1232c8b1b955e5"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ac92009c58c162047bc1232c8b1b955e5">operations_research::ModelVisitor::kAtMost</a></div><div class="ttdeci">static const char kAtMost[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03273">constraint_solver.h:3273</a></div></div>
<div class="ttc" id="classoperations__research_1_1OptimizeVar_html_a0c955ff1b2eae2daece0f25f1e57fb16"><div class="ttname"><a href="classoperations__research_1_1OptimizeVar.html#a0c955ff1b2eae2daece0f25f1e57fb16">operations_research::OptimizeVar::EnterSearch</a></div><div class="ttdeci">void EnterSearch() override</div><div class="ttdoc">Beginning of the search.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ae18744a58f2c1e6e29a7589f7f94c713"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ae18744a58f2c1e6e29a7589f7f94c713">operations_research::Solver::MakePhase</a></div><div class="ttdeci">DecisionBuilder * MakePhase(const std::vector&lt; IntVar * &gt; &amp;vars, IntVarStrategy var_str, IntValueStrategy val_str)</div><div class="ttdoc">Phases on IntVar arrays.</div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentContainer_html_a2b78a4ff4f23efeb1e70b6ce60faa821"><div class="ttname"><a href="classoperations__research_1_1AssignmentContainer.html#a2b78a4ff4f23efeb1e70b6ce60faa821">operations_research::AssignmentContainer::operator==</a></div><div class="ttdeci">bool operator==(const AssignmentContainer&lt; V, E &gt; &amp;container) const</div><div class="ttdoc">Returns true if this and 'container' both represent the same V* -&gt; E map.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04871">constraint_solver.h:4871</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ab7ab23bc58ea40dc03a5418ddbce7601aca5eb66b1540a6c1ab8a3aedaf606f2a"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601aca5eb66b1540a6c1ab8a3aedaf606f2a">operations_research::Solver::CHOOSE_MAX_SIZE</a></div><div class="ttdoc">Among unbound variables, select the variable with the highest size.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00319">constraint_solver.h:319</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a4ae15a537748b450d361d582d6928428"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a4ae15a537748b450d361d582d6928428">operations_research::Solver::MakeOptimize</a></div><div class="ttdeci">OptimizeVar * MakeOptimize(bool maximize, IntVar *const v, int64 step)</div><div class="ttdoc">Creates a objective with a given sense (true = maximization).</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a74cffe7b975f432fec064daf60d35e6d"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a74cffe7b975f432fec064daf60d35e6d">operations_research::ModelVisitor::kIsLess</a></div><div class="ttdeci">static const char kIsLess[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03307">constraint_solver.h:3307</a></div></div>
<div class="ttc" id="classoperations__research_1_1InitAndGetValues_html_ab45dae688fc5d8983727abffa4389003"><div class="ttname"><a href="classoperations__research_1_1InitAndGetValues.html#ab45dae688fc5d8983727abffa4389003">operations_research::InitAndGetValues::end</a></div><div class="ttdeci">Iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03887">constraint_solver.h:3887</a></div></div>
<div class="ttc" id="classoperations__research_1_1PropagationBaseObject_html_a5f32c22c620c811754ba7b6f977db864"><div class="ttname"><a href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864">operations_research::PropagationBaseObject::solver</a></div><div class="ttdeci">Solver * solver() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03111">constraint_solver.h:3111</a></div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_a323ba67da917a9f9766a3e206126af39"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#a323ba67da917a9f9766a3e206126af39">operations_research::SolutionCollector::solution</a></div><div class="ttdeci">Assignment * solution(int n) const</div><div class="ttdoc">Returns the nth solution.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a7a6734f4cb975ade6a8dc6e9d4db9f15"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a7a6734f4cb975ade6a8dc6e9d4db9f15">operations_research::Solver::MakeModulo</a></div><div class="ttdeci">IntExpr * MakeModulo(IntExpr *const x, int64 mod)</div><div class="ttdoc">Modulo expression x % mod (with the python convention for modulo).</div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVar_html_a31d0bb3a9647ebb39d997f77a1eff435"><div class="ttname"><a href="classoperations__research_1_1SequenceVar.html#a31d0bb3a9647ebb39d997f77a1eff435">operations_research::SequenceVar::ComputeStatistics</a></div><div class="ttdeci">void ComputeStatistics(int *const ranked, int *const not_ranked, int *const unperformed) const</div><div class="ttdoc">Compute statistics on the sequence.</div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_ac095c86328e93de5cab0a64db691c602"><div class="ttname"><a href="classoperations__research_1_1Pack.html#ac095c86328e93de5cab0a64db691c602">operations_research::Pack::PropagateDelayed</a></div><div class="ttdeci">void PropagateDelayed()</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a31b6ef7bff363d68d03eda8c9668e3e0"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a31b6ef7bff363d68d03eda8c9668e3e0">operations_research::Solver::CheckAssignment</a></div><div class="ttdeci">bool CheckAssignment(Assignment *const solution)</div><div class="ttdoc">Checks whether the given assignment satisfies all relevant constraints.</div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_a27d5048553d708cb8f1f7b6f7b48052c"><div class="ttname"><a href="classoperations__research_1_1Pack.html#a27d5048553d708cb8f1f7b6f7b48052c">operations_research::Pack::AddCountAssignedItemsDimension</a></div><div class="ttdeci">void AddCountAssignedItemsDimension(IntVar *const count_var)</div><div class="ttdoc">This dimension links 'count_var' to the actual number of items assigned to a bin in the pack.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a90f0d9c349f61a512a9edb2102966bdf"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a90f0d9c349f61a512a9edb2102966bdf">operations_research::Solver::MakeMin</a></div><div class="ttdeci">IntExpr * MakeMin(const std::vector&lt; IntVar * &gt; &amp;vars)</div><div class="ttdoc">std::min(vars)</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a1d734a2c4dd2abac8ff580437c3fd0e0"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a1d734a2c4dd2abac8ff580437c3fd0e0">operations_research::ModelVisitor::kCircuit</a></div><div class="ttdeci">static const char kCircuit[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03277">constraint_solver.h:3277</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a2f2bea2202c96738b11b050e71a28e63add25344bb7ad4909b32071d980355ca5"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63add25344bb7ad4909b32071d980355ca5">operations_research::Solver::NO_MORE_SOLUTIONS</a></div><div class="ttdoc">After failed NextSolution and before EndSearch.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00712">constraint_solver.h:712</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_acec94198cb62cff2d72fe123bca865a0"><div class="ttname"><a href="classoperations__research_1_1Solver.html#acec94198cb62cff2d72fe123bca865a0">operations_research::Solver::MakeRandomLnsOperator</a></div><div class="ttdeci">LocalSearchOperator * MakeRandomLnsOperator(const std::vector&lt; IntVar * &gt; &amp;vars, int number_of_variables)</div><div class="ttdoc">Creates a large neighborhood search operator which creates fragments (set of relaxed variables) with ...</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ac8c18ef3936527c99953d5e767697f2c"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ac8c18ef3936527c99953d5e767697f2c">operations_research::Solver::unchecked_solutions</a></div><div class="ttdeci">int64 unchecked_solutions() const</div><div class="ttdoc">The number of unchecked solutions found by local search.</div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVar_html_aaa902cac039701edcdaf15661fbed327"><div class="ttname"><a href="classoperations__research_1_1SequenceVar.html#aaa902cac039701edcdaf15661fbed327">operations_research::SequenceVar::RankLast</a></div><div class="ttdeci">void RankLast(int index)</div><div class="ttdoc">Ranks the index_th interval var first of all unranked interval vars.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a7599a55b43d85348b1efa77225b514be"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a7599a55b43d85348b1efa77225b514be">operations_research::ModelVisitor::EndVisitConstraint</a></div><div class="ttdeci">virtual void EndVisitConstraint(const std::string &amp;type_name, const Constraint *const constraint)</div></div>
<div class="ttc" id="classoperations__research_1_1IntExpr_html_a2e28d548b760d7569b22bd316624af98"><div class="ttname"><a href="classoperations__research_1_1IntExpr.html#a2e28d548b760d7569b22bd316624af98">operations_research::IntExpr::VarWithName</a></div><div class="ttdeci">IntVar * VarWithName(const std::string &amp;name)</div><div class="ttdoc">Creates a variable from the expression and set the name of the resulting var.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aba5c5dc6467e097f4972d7776541482baebe21dd4bbeb40285e8ea719f8ea3d0f"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482baebe21dd4bbeb40285e8ea719f8ea3d0f">operations_research::Solver::SEQUENCE_DEFAULT</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00389">constraint_solver.h:389</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a66e85c5d4d06d176aa2128ee817c948e"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a66e85c5d4d06d176aa2128ee817c948e">operations_research::IntervalVarElement::SetEndRange</a></div><div class="ttdeci">void SetEndRange(int64 mi, int64 ma)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04653">constraint_solver.h:4653</a></div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_aa7cb2bb52c194f51ff28294b05c1e4af"><div class="ttname"><a href="classoperations__research_1_1Pack.html#aa7cb2bb52c194f51ff28294b05c1e4af">operations_research::Pack::AssignAllPossibleToBin</a></div><div class="ttdeci">void AssignAllPossibleToBin(int bin_index)</div></div>
<div class="ttc" id="classoperations__research_1_1RevBitSet_html"><div class="ttname"><a href="classoperations__research_1_1RevBitSet.html">operations_research::RevBitSet</a></div><div class="ttdoc">This class represents a reversible bitset.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solveri_8h_source.html#l00435">constraint_solveri.h:435</a></div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_ad68c792579832141c205985973ba8a88"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#ad68c792579832141c205985973ba8a88">operations_research::SearchMonitor::BeginNextDecision</a></div><div class="ttdeci">virtual void BeginNextDecision(DecisionBuilder *const b)</div><div class="ttdoc">Before calling DecisionBuilder::Next.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6f66063ebaf61025e27e96719affa3eead3be31fc0d8d6b4b1b6cc9d4c7d56b6d"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eead3be31fc0d8d6b4b1b6cc9d4c7d56b6d">operations_research::Solver::STARTS_AFTER_START</a></div><div class="ttdoc">t1 starts after t2 start, i.e. Start(t1) &gt;= Start(t2) + delay.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00622">constraint_solver.h:622</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6f66063ebaf61025e27e96719affa3eea2cd72254b0dd1dda48ed752e83ee9134"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea2cd72254b0dd1dda48ed752e83ee9134">operations_research::Solver::ENDS_AFTER_START</a></div><div class="ttdoc">t1 ends after t2 start, i.e. End(t1) &gt;= Start(t2) + delay.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00610">constraint_solver.h:610</a></div></div>
<div class="ttc" id="classoperations__research_1_1Decision_html"><div class="ttname"><a href="classoperations__research_1_1Decision.html">operations_research::Decision</a></div><div class="ttdoc">A Decision represents a choice point in the search tree.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03160">constraint_solver.h:3160</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a72e6eab74584b06741b743ae2a3eac36"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a72e6eab74584b06741b743ae2a3eac36">operations_research::Solver::MakeWeightedOptimize</a></div><div class="ttdeci">OptimizeVar * MakeWeightedOptimize(bool maximize, const std::vector&lt; IntVar * &gt; &amp;sub_objectives, const std::vector&lt; int64 &gt; &amp;weights, int64 step)</div><div class="ttdoc">Creates a weighted objective with a given sense (true = maximization).</div></div>
<div class="ttc" id="classoperations__research_1_1Decision_html_a4adc076f6a88e85584762d4b7f30a820"><div class="ttname"><a href="classoperations__research_1_1Decision.html#a4adc076f6a88e85584762d4b7f30a820">operations_research::Decision::Apply</a></div><div class="ttdeci">virtual void Apply(Solver *const s)=0</div><div class="ttdoc">Apply will be called first when the decision is executed.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a8b1044e7c2b76345532f848a982a7106aaa934f8cfd42ebeefbcae15dcadf07c0"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a8b1044e7c2b76345532f848a982a7106aaa934f8cfd42ebeefbcae15dcadf07c0">operations_research::Solver::CHOOSE_DYNAMIC_GLOBAL_BEST</a></div><div class="ttdoc">Pairs are compared each time a variable is selected.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00384">constraint_solver.h:384</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ab3bfa3eba327be16a5710d64401f0f59"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ab3bfa3eba327be16a5710d64401f0f59">operations_research::ModelVisitor::kIntegerVariable</a></div><div class="ttdeci">static const char kIntegerVariable[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03296">constraint_solver.h:3296</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a2ddcfef771ca0d18764cd96da315f94a"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a2ddcfef771ca0d18764cd96da315f94a">operations_research::ModelVisitor::kTimeLimitArgument</a></div><div class="ttdeci">static const char kTimeLimitArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03420">constraint_solver.h:3420</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ae52031b3bb4f323f565573b0757852bc"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ae52031b3bb4f323f565573b0757852bc">operations_research::ModelVisitor::VisitInt64ToInt64AsArray</a></div><div class="ttdeci">void VisitInt64ToInt64AsArray(const Solver::IndexEvaluator1 &amp;eval, const std::string &amp;arg_name, int64 index_max)</div><div class="ttdoc">Expands function as array when index min is 0.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ad4c4d0d62a6d65debcff4437948435a1"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ad4c4d0d62a6d65debcff4437948435a1">operations_research::Solver::Closure</a></div><div class="ttdeci">std::function&lt; void()&gt; Closure</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00738">constraint_solver.h:738</a></div></div>
<div class="ttc" id="classoperations__research_1_1SearchLimit_html_a0c955ff1b2eae2daece0f25f1e57fb16"><div class="ttname"><a href="classoperations__research_1_1SearchLimit.html#a0c955ff1b2eae2daece0f25f1e57fb16">operations_research::SearchLimit::EnterSearch</a></div><div class="ttdeci">void EnterSearch() override</div><div class="ttdoc">Internal methods.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a02eed572facb28b01242b67f57b98f0c"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a02eed572facb28b01242b67f57b98f0c">operations_research::Solver::MakeIsGreaterOrEqualCstCt</a></div><div class="ttdeci">Constraint * MakeIsGreaterOrEqualCstCt(IntExpr *const var, int64 value, IntVar *const boolvar)</div><div class="ttdoc">boolvar == (var &gt;= value)</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html">operations_research::IntervalVar</a></div><div class="ttdoc">Interval variables are often used in scheduling.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04285">constraint_solver.h:4285</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a355d19148bcb4747b68e2e019f85082f"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a355d19148bcb4747b68e2e019f85082f">operations_research::IntervalVar::WhenEndRange</a></div><div class="ttdeci">void WhenEndRange(Solver::Closure closure)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04361">constraint_solver.h:4361</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a4ffd516bcdda189f37da20040fba290e"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a4ffd516bcdda189f37da20040fba290e">operations_research::Assignment::Load</a></div><div class="ttdeci">bool Load(const std::string &amp;filename)</div><div class="ttdoc">Loads an assignment from a file; does not add variables to the assignment (only the variables contain...</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ad7946514ee3dd6cb3ab993dc9e98b33b"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b">operations_research::Solver::Action</a></div><div class="ttdeci">std::function&lt; void(Solver *)&gt; Action</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00737">constraint_solver.h:737</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a9093917d6df37ace90b5d1ee3456f18e"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a9093917d6df37ace90b5d1ee3456f18e">operations_research::ModelVisitor::kTrueConstraint</a></div><div class="ttdeci">static const char kTrueConstraint[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03348">constraint_solver.h:3348</a></div></div>
<div class="ttc" id="classoperations__research_1_1Constraint_html_a06a1a88fd005ae10834c7fcfa4bc8d20"><div class="ttname"><a href="classoperations__research_1_1Constraint.html#a06a1a88fd005ae10834c7fcfa4bc8d20">operations_research::Constraint::~Constraint</a></div><div class="ttdeci">~Constraint() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03519">constraint_solver.h:3519</a></div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_a27bff456d096558a8be08ca6fee989f2"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#a27bff456d096558a8be08ca6fee989f2">operations_research::SearchMonitor::EnterSearch</a></div><div class="ttdeci">virtual void EnterSearch()</div><div class="ttdoc">Beginning of the search.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a698649013d6cd453f4e513778ba84fa5"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a698649013d6cd453f4e513778ba84fa5">operations_research::Solver::MakeConditionalExpression</a></div><div class="ttdeci">IntExpr * MakeConditionalExpression(IntVar *const condition, IntExpr *const expr, int64 unperformed_value)</div><div class="ttdoc">Conditional Expr condition ? expr : unperformed_value.</div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVarElement_html_a02c14c5a615ce131863ff3e87793e1bd"><div class="ttname"><a href="classoperations__research_1_1SequenceVarElement.html#a02c14c5a615ce131863ff3e87793e1bd">operations_research::SequenceVarElement::SetSequence</a></div><div class="ttdeci">void SetSequence(const std::vector&lt; int &gt; &amp;forward_sequence, const std::vector&lt; int &gt; &amp;backward_sequence, const std::vector&lt; int &gt; &amp;unperformed)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a40535e03b19c64388d1893883289fec5"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a40535e03b19c64388d1893883289fec5">operations_research::Solver::fail_stamp</a></div><div class="ttdeci">uint64 fail_stamp() const</div><div class="ttdoc">The fail_stamp() is incremented after each backtrack.</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a05da7ad54dd8ee971c5d010c810df851"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a05da7ad54dd8ee971c5d010c810df851">operations_research::IntervalVarElement::SetPerformedValue</a></div><div class="ttdeci">void SetPerformedValue(int64 v)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04667">constraint_solver.h:4667</a></div></div>
<div class="ttc" id="classoperations__research_1_1DecisionVisitor_html_af92f578c97531537e56d6bf57447bc6b"><div class="ttname"><a href="classoperations__research_1_1DecisionVisitor.html#af92f578c97531537e56d6bf57447bc6b">operations_research::DecisionVisitor::DecisionVisitor</a></div><div class="ttdeci">DecisionVisitor()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03183">constraint_solver.h:3183</a></div></div>
<div class="ttc" id="structoperations__research_1_1DefaultPhaseParameters_html_a0d757e1829bae7762734bce78136a139"><div class="ttname"><a href="structoperations__research_1_1DefaultPhaseParameters.html#a0d757e1829bae7762734bce78136a139">operations_research::DefaultPhaseParameters::DefaultPhaseParameters</a></div><div class="ttdeci">DefaultPhaseParameters()</div></div>
<div class="ttc" id="classoperations__research_1_1IntVarIterator_html_ac067bc2252cc65b1eb004d5285e5fdb2"><div class="ttname"><a href="classoperations__research_1_1IntVarIterator.html#ac067bc2252cc65b1eb004d5285e5fdb2">operations_research::IntVarIterator::Value</a></div><div class="ttdeci">virtual int64 Value() const =0</div><div class="ttdoc">This method returns the current value of the iterator.</div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentContainer_html_a3f47259c80484060c6b5b94a40b8677a"><div class="ttname"><a href="classoperations__research_1_1AssignmentContainer.html#a3f47259c80484060c6b5b94a40b8677a">operations_research::AssignmentContainer::ElementPtrOrNull</a></div><div class="ttdeci">const E * ElementPtrOrNull(const V *const var) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04838">constraint_solver.h:4838</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ade22213fff69cfb37d8238e8fd3073dfa130783c98d7f7c30575fedebbd7e66f7"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ade22213fff69cfb37d8238e8fd3073dfa130783c98d7f7c30575fedebbd7e66f7">operations_research::Solver::SIMPLE_MARKER</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00699">constraint_solver.h:699</a></div></div>
<div class="ttc" id="classoperations__research_1_1NumericalRevArray_html_a167fff28f9eee9b29f1bf06db43caecd"><div class="ttname"><a href="classoperations__research_1_1NumericalRevArray.html#a167fff28f9eee9b29f1bf06db43caecd">operations_research::NumericalRevArray::Decr</a></div><div class="ttdeci">void Decr(Solver *const s, int index)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03758">constraint_solver.h:3758</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a053586a8a576634d5cee4dc4913a35cb"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a053586a8a576634d5cee4dc4913a35cb">operations_research::Solver::MakeIntervalVar</a></div><div class="ttdeci">IntervalVar * MakeIntervalVar(int64 start_min, int64 start_max, int64 duration_min, int64 duration_max, int64 end_min, int64 end_max, bool optional, const std::string &amp;name)</div><div class="ttdoc">Creates an interval var by specifying the bounds on start, duration, and end.</div></div>
<div class="ttc" id="classoperations__research_1_1NumericalRev_html"><div class="ttname"><a href="classoperations__research_1_1NumericalRev.html">operations_research::NumericalRev</a></div><div class="ttdoc">Subclass of Rev&lt;T&gt; which adds numerical operations.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03690">constraint_solver.h:3690</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a71535de01a6527099122f4b7284e1796"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a71535de01a6527099122f4b7284e1796">operations_research::Solver::PushState</a></div><div class="ttdeci">void PushState()</div><div class="ttdoc">The PushState and PopState methods manipulates the states of the reversible objects.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a9e0316ea65eff972a717d636c75482f6"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a9e0316ea65eff972a717d636c75482f6">operations_research::ModelVisitor::kGreaterOrEqual</a></div><div class="ttdeci">static const char kGreaterOrEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03295">constraint_solver.h:3295</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a17baafda330e225559f6b2a8b53d7b8b"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a17baafda330e225559f6b2a8b53d7b8b">operations_research::IntervalVar::WhenDurationRange</a></div><div class="ttdeci">void WhenDurationRange(Solver::Closure closure)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04334">constraint_solver.h:4334</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_ab61cbadfb16da4cb1db49083cae8c426"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#ab61cbadfb16da4cb1db49083cae8c426">operations_research::Assignment::SetDurationMax</a></div><div class="ttdeci">void SetDurationMax(const IntervalVar *const var, int64 m)</div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVar_html_a4e05e3f72464229a8d67c808ebc2deed"><div class="ttname"><a href="classoperations__research_1_1SequenceVar.html#a4e05e3f72464229a8d67c808ebc2deed">operations_research::SequenceVar::Interval</a></div><div class="ttdeci">IntervalVar * Interval(int index) const</div><div class="ttdoc">Returns the index_th interval of the sequence.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a69224a6a8e28c82b44c7d74b8c7f0186"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a69224a6a8e28c82b44c7d74b8c7f0186">operations_research::Solver::MakeTabuSearch</a></div><div class="ttdeci">SearchMonitor * MakeTabuSearch(bool maximize, IntVar *const v, int64 step, const std::vector&lt; IntVar * &gt; &amp;vars, int64 keep_tenure, int64 forbid_tenure, double tabu_factor)</div><div class="ttdoc">MetaHeuristics which try to get the search out of local optima.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a47dfc6f2bc0d50a6e7c92eb00d97b064"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a47dfc6f2bc0d50a6e7c92eb00d97b064">operations_research::Solver::Queue</a></div><div class="ttdeci">friend class Queue</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02880">constraint_solver.h:2880</a></div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_a365797300972514a230eeb9e2f45f441"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#a365797300972514a230eeb9e2f45f441">operations_research::SearchMonitor::EndFail</a></div><div class="ttdeci">virtual void EndFail()</div><div class="ttdoc">After completing the backtrack.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6f66063ebaf61025e27e96719affa3eead67d355a596ac71eee986c09b95fc7a7"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eead67d355a596ac71eee986c09b95fc7a7">operations_research::Solver::STARTS_AT_START</a></div><div class="ttdoc">t1 starts at t2 start, i.e. Start(t1) == Start(t2) + delay.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00628">constraint_solver.h:628</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_afffccc45eb12fbd186515ae7f2c2c317"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#afffccc45eb12fbd186515ae7f2c2c317">operations_research::IntVar::OldMin</a></div><div class="ttdeci">virtual int64 OldMin() const =0</div><div class="ttdoc">Returns the previous min.</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_ace2db6f9700f6a2159db104f5df1dc8f"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#ace2db6f9700f6a2159db104f5df1dc8f">operations_research::Assignment::IntContainer</a></div><div class="ttdeci">AssignmentContainer&lt; IntVar, IntVarElement &gt; IntContainer</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04931">constraint_solver.h:4931</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_adf7152dbf8582e5de9c83885e7ecadd5"><div class="ttname"><a href="classoperations__research_1_1Solver.html#adf7152dbf8582e5de9c83885e7ecadd5">operations_research::Solver::MakeIsEqualCstCt</a></div><div class="ttdeci">Constraint * MakeIsEqualCstCt(IntExpr *const var, int64 value, IntVar *const boolvar)</div><div class="ttdoc">boolvar == (var == value)</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_aee2485c2027447e429ba05e54da45da7"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#aee2485c2027447e429ba05e54da45da7">operations_research::ModelVisitor::kVariableUsageLessConstantExtension</a></div><div class="ttdeci">static const char kVariableUsageLessConstantExtension[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03363">constraint_solver.h:3363</a></div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_ac355f6324d4fcc3f253f3b83105b9c6e"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#ac355f6324d4fcc3f253f3b83105b9c6e">operations_research::SolutionCollector::FreeSolution</a></div><div class="ttdeci">void FreeSolution(Assignment *solution)</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_af3802f890ce7e74e9815cba11dadae61"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#af3802f890ce7e74e9815cba11dadae61">operations_research::Assignment::SetObjectiveValue</a></div><div class="ttdeci">void SetObjectiveValue(int64 value)</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a161e7c4d5001343bb14fe419f35924a3"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a161e7c4d5001343bb14fe419f35924a3">operations_research::ModelVisitor::kUsageEqualVariableExtension</a></div><div class="ttdeci">static const char kUsageEqualVariableExtension[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03359">constraint_solver.h:3359</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a9ee54a77d1ab21313334ffd6ef2358fa"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a9ee54a77d1ab21313334ffd6ef2358fa">operations_research::IntervalVar::SetStartRange</a></div><div class="ttdeci">virtual void SetStartRange(int64 mi, int64 ma)=0</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aa94a5c3decf35c8ba0ebdec210bc38e6"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aa94a5c3decf35c8ba0ebdec210bc38e6">operations_research::Solver::filtered_neighbors</a></div><div class="ttdeci">int64 filtered_neighbors() const</div><div class="ttdoc">The number of filtered neighbors (neighbors accepted by filters).</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00983">constraint_solver.h:983</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_a36d71f28bff7448b6490fe4720ab2fe0"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#a36d71f28bff7448b6490fe4720ab2fe0">operations_research::IntVar::Var</a></div><div class="ttdeci">IntVar * Var() override</div><div class="ttdoc">Creates a variable from the expression.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03936">constraint_solver.h:3936</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a0544697ab645219c7ed34fd2c19e5033"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a0544697ab645219c7ed34fd2c19e5033">operations_research::Solver::SaveValue</a></div><div class="ttdeci">void SaveValue(T *o)</div><div class="ttdoc">reversibility</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00757">constraint_solver.h:757</a></div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_a0f59dbe96df95bec0bbc8adb24789ed1"><div class="ttname"><a href="classoperations__research_1_1Pack.html#a0f59dbe96df95bec0bbc8adb24789ed1">operations_research::Pack::IsAssignedStatusKnown</a></div><div class="ttdeci">bool IsAssignedStatusKnown(int var_index) const</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a3abcbe1fcd37d8982941a795ed22e34a"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a3abcbe1fcd37d8982941a795ed22e34a">operations_research::Assignment::Store</a></div><div class="ttdeci">void Store()</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_adc0a2632bffdcc3b422a33cda362a294"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#adc0a2632bffdcc3b422a33cda362a294">operations_research::Assignment::NumIntVars</a></div><div class="ttdeci">int NumIntVars() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04949">constraint_solver.h:4949</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6fc60ae040ae35c83f09736d2e682a18a5d249e853c4031947f979fe903390dfb"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a5d249e853c4031947f979fe903390dfb">operations_research::Solver::INCREMENT</a></div><div class="ttdoc">Operator which defines one neighbor per variable.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00531">constraint_solver.h:531</a></div></div>
<div class="ttc" id="structoperations__research_1_1InitAndGetValues_1_1Iterator_html_aef12ef33726bc591f569f822c7b5ac41"><div class="ttname"><a href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html#aef12ef33726bc591f569f822c7b5ac41">operations_research::InitAndGetValues::Iterator::operator++</a></div><div class="ttdeci">Iterator &amp; operator++()</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03902">constraint_solver.h:3902</a></div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_af5d0ff66e85427eb7dccf6f40c2e4144"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#af5d0ff66e85427eb7dccf6f40c2e4144">operations_research::SolutionCollector::StartValue</a></div><div class="ttdeci">int64 StartValue(int n, IntervalVar *const var) const</div><div class="ttdoc">This is a shortcut to get the StartValue of 'var' in the nth solution.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a5e32ac79fcf992d4bc3d44ca5b387dd0"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a5e32ac79fcf992d4bc3d44ca5b387dd0">operations_research::Solver::MakeScheduleOrExpedite</a></div><div class="ttdeci">Decision * MakeScheduleOrExpedite(IntervalVar *const var, int64 est, int64 *const marker)</div><div class="ttdoc">Returns a decision that tries to schedule a task at a given time.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a3a64940761b306c816e00e077906952faeca7ad9e63f49cd929edb90dbc7f5bb3"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952faeca7ad9e63f49cd929edb90dbc7f5bb3">operations_research::Solver::INTERVAL_DEFAULT</a></div><div class="ttdoc">The default is INTERVAL_SET_TIMES_FORWARD.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00399">constraint_solver.h:399</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a4a72b1cb4e58e1791a99234104a33658"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a4a72b1cb4e58e1791a99234104a33658">operations_research::ModelVisitor::kEvaluatorArgument</a></div><div class="ttdeci">static const char kEvaluatorArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03427">constraint_solver.h:3427</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a99e145b912e32fd3ab2ed6208c9b502b"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a99e145b912e32fd3ab2ed6208c9b502b">operations_research::ModelVisitor::kIntervalsArgument</a></div><div class="ttdeci">static const char kIntervalsArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03392">constraint_solver.h:3392</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a725ba236296fa779119bcd3f0566d6e6"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a725ba236296fa779119bcd3f0566d6e6">operations_research::ModelVisitor::kSumLessOrEqual</a></div><div class="ttdeci">static const char kSumLessOrEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03345">constraint_solver.h:3345</a></div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_a2895de3ad67f901de28f00994cdcfa34"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#a2895de3ad67f901de28f00994cdcfa34">operations_research::SearchMonitor::AcceptSolution</a></div><div class="ttdeci">virtual bool AcceptSolution()</div><div class="ttdoc">This method is called when a solution is found.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a372a74e1d5fc647d81a043b81075422d"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a372a74e1d5fc647d81a043b81075422d">operations_research::Solver::Now</a></div><div class="ttdeci">absl::Time Now() const</div><div class="ttdoc">The 'absolute time' as seen by the solver.</div></div>
<div class="ttc" id="classoperations__research_1_1SearchLimit_html"><div class="ttname"><a href="classoperations__research_1_1SearchLimit.html">operations_research::SearchLimit</a></div><div class="ttdoc">Base class of all search limits.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04171">constraint_solver.h:4171</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a697ed9eaa8955d595a023663ab1e8418"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">operations_research::Solver::Constraint</a></div><div class="ttdeci">friend class Constraint</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02875">constraint_solver.h:2875</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aef83f65871cc34facc56d6f15422cacd"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aef83f65871cc34facc56d6f15422cacd">operations_research::Solver::MakeIsLessOrEqualVar</a></div><div class="ttdeci">IntVar * MakeIsLessOrEqualVar(IntExpr *const left, IntExpr *const right)</div><div class="ttdoc">status var of (left &lt;= right)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ab56406db90514a6f451d57aba7044fdf"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ab56406db90514a6f451d57aba7044fdf">operations_research::Solver::MakeDefaultPhase</a></div><div class="ttdeci">DecisionBuilder * MakeDefaultPhase(const std::vector&lt; IntVar * &gt; &amp;vars)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ab2613a9bd44c5b87559103fc66bfbda4"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ab2613a9bd44c5b87559103fc66bfbda4">operations_research::Solver::CurrentlyInSolve</a></div><div class="ttdeci">bool CurrentlyInSolve() const</div><div class="ttdoc">Returns true whether the current search has been created using a Solve() call instead of a NewSearch ...</div></div>
<div class="ttc" id="classoperations__research_1_1Constraint_html_afcde421cf076575a27bed81c80093ac8"><div class="ttname"><a href="classoperations__research_1_1Constraint.html#afcde421cf076575a27bed81c80093ac8">operations_research::Constraint::Accept</a></div><div class="ttdeci">virtual void Accept(ModelVisitor *const visitor) const</div><div class="ttdoc">Accepts the given visitor.</div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_afcde421cf076575a27bed81c80093ac8"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#afcde421cf076575a27bed81c80093ac8">operations_research::SearchMonitor::Accept</a></div><div class="ttdeci">virtual void Accept(ModelVisitor *const visitor) const</div><div class="ttdoc">Accepts the given model visitor.</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a5805a2c51eccb20105216b3dcf0d53d6"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a5805a2c51eccb20105216b3dcf0d53d6">operations_research::IntervalVar::SetStartMin</a></div><div class="ttdeci">virtual void SetStartMin(int64 m)=0</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a130add6949f6c556afbf84887180a117"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a130add6949f6c556afbf84887180a117">operations_research::Solver::MakeAssignVariableValueOrFail</a></div><div class="ttdeci">Decision * MakeAssignVariableValueOrFail(IntVar *const var, int64 value)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a976a040463ead15c6386630de2bf4d5a"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a976a040463ead15c6386630de2bf4d5a">operations_research::Solver::MakeAssignVariableValue</a></div><div class="ttdeci">Decision * MakeAssignVariableValue(IntVar *const var, int64 val)</div><div class="ttdoc">Decisions.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a58c32b91992c812416e017260a5308e5"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a58c32b91992c812416e017260a5308e5">operations_research::ModelVisitor::kAllDifferent</a></div><div class="ttdeci">static const char kAllDifferent[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03271">constraint_solver.h:3271</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_ad8aa9dfeba6633cf01f84c51e638547a"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#ad8aa9dfeba6633cf01f84c51e638547a">operations_research::IntervalVar::SetDurationRange</a></div><div class="ttdeci">virtual void SetDurationRange(int64 mi, int64 ma)=0</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ab741cb25dd32d1cbe02fbfb36337d9bb"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ab741cb25dd32d1cbe02fbfb36337d9bb">operations_research::Solver::RevAlloc</a></div><div class="ttdeci">T * RevAlloc(T *object)</div><div class="ttdoc">Registers the given object as being reversible.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00774">constraint_solver.h:774</a></div></div>
<div class="ttc" id="structoperations__research_1_1SolutionCollector_1_1SolutionData_html_a13421db7d7e84fff732599bcf954c5cc"><div class="ttname"><a href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a13421db7d7e84fff732599bcf954c5cc">operations_research::SolutionCollector::SolutionData::time</a></div><div class="ttdeci">int64 time</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04101">constraint_solver.h:4101</a></div></div>
<div class="ttc" id="classoperations__research_1_1Rev_html_a9d6eb996de91fb8ea31c9e20bb7d655f"><div class="ttname"><a href="classoperations__research_1_1Rev.html#a9d6eb996de91fb8ea31c9e20bb7d655f">operations_research::Rev::Rev</a></div><div class="ttdeci">Rev(const T &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03669">constraint_solver.h:3669</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a4b998b414ca9c282af12ed359e845677"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a4b998b414ca9c282af12ed359e845677">operations_research::Solver::MakeFixedDurationEndSyncedOnEndIntervalVar</a></div><div class="ttdeci">IntervalVar * MakeFixedDurationEndSyncedOnEndIntervalVar(IntervalVar *const interval_var, int64 duration, int64 offset)</div><div class="ttdoc">Creates an interval var with a fixed duration whose end is synchronized with the end of another inter...</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_aa0e5213a87d88a0a5e22c33842870ae2"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#aa0e5213a87d88a0a5e22c33842870ae2">operations_research::ModelVisitor::kMirrorOperation</a></div><div class="ttdeci">static const char kMirrorOperation[]</div><div class="ttdoc">Operations.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03430">constraint_solver.h:3430</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a8a270b0475a9ceac9191176a3a3bf00f"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a8a270b0475a9ceac9191176a3a3bf00f">operations_research::Assignment::DeactivateObjective</a></div><div class="ttdeci">void DeactivateObjective()</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a65cd4717ce546015917331bfd6b25735"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a65cd4717ce546015917331bfd6b25735">operations_research::ModelVisitor::kModuloArgument</a></div><div class="ttdeci">static const char kModuloArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03399">constraint_solver.h:3399</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ad1600fac3a55a9ab4d7b5750b19fb6a1"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ad1600fac3a55a9ab4d7b5750b19fb6a1">operations_research::Solver::stamp</a></div><div class="ttdeci">uint64 stamp() const</div><div class="ttdoc">The stamp indicates how many moves in the search tree we have performed.</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_ab7bc3c4c0a4d80a53cdce467de063a0e"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#ab7bc3c4c0a4d80a53cdce467de063a0e">operations_research::Assignment::SetStartRange</a></div><div class="ttdeci">void SetStartRange(const IntervalVar *const var, int64 mi, int64 ma)</div></div>
<div class="ttc" id="classoperations__research_1_1SolutionPool_html_a6fbedcc0e848833761bc0ed775aa5436"><div class="ttname"><a href="classoperations__research_1_1SolutionPool.html#a6fbedcc0e848833761bc0ed775aa5436">operations_research::SolutionPool::GetNextSolution</a></div><div class="ttdeci">virtual void GetNextSolution(Assignment *const assignment)=0</div><div class="ttdoc">This method is called when the local search starts a new neighborhood to initialize the default assig...</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a45c5a2dd0d47110ef5b00408854d8d84a1440614d1bb85a4f4b9290b234b84a3e"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a1440614d1bb85a4f4b9290b234b84a3e">operations_research::Solver::INT_VALUE_SIMPLE</a></div><div class="ttdoc">The simple selection is ASSIGN_MIN_VALUE.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00338">constraint_solver.h:338</a></div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_a36df6248a273f003d8d9e1414e3c5e5c"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#a36df6248a273f003d8d9e1414e3c5e5c">operations_research::SearchMonitor::AcceptNeighbor</a></div><div class="ttdeci">virtual void AcceptNeighbor()</div><div class="ttdoc">After accepting a neighbor during local search.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a5672241cc0faf1be50826c7795320cac"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a5672241cc0faf1be50826c7795320cac">operations_research::Solver::SetUseFastLocalSearch</a></div><div class="ttdeci">void SetUseFastLocalSearch(bool use_fast_local_search)</div><div class="ttdoc">enabled for metaheuristics.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l02816">constraint_solver.h:2816</a></div></div>
<div class="ttc" id="classoperations__research_1_1OptimizeVar_html_aa30c84aec5e60d6b74e1e1eb15011d4a"><div class="ttname"><a href="classoperations__research_1_1OptimizeVar.html#aa30c84aec5e60d6b74e1e1eb15011d4a">operations_research::OptimizeVar::Accept</a></div><div class="ttdeci">void Accept(ModelVisitor *const visitor) const override</div><div class="ttdoc">Accepts the given model visitor.</div></div>
<div class="ttc" id="classoperations__research_1_1DecisionVisitor_html_a355cefbc4074014fa7dfe2b8843b95d9"><div class="ttname"><a href="classoperations__research_1_1DecisionVisitor.html#a355cefbc4074014fa7dfe2b8843b95d9">operations_research::DecisionVisitor::~DecisionVisitor</a></div><div class="ttdeci">~DecisionVisitor() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03184">constraint_solver.h:3184</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a226ea285176281ef88069a3b47806e23"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a226ea285176281ef88069a3b47806e23">operations_research::ModelVisitor::kInt64ToBoolExtension</a></div><div class="ttdeci">static const char kInt64ToBoolExtension[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03355">constraint_solver.h:3355</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a18d0ae321119be8c5c2cdfe9cff3bf2f"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a18d0ae321119be8c5c2cdfe9cff3bf2f">operations_research::Assignment::SetBackwardSequence</a></div><div class="ttdeci">void SetBackwardSequence(const SequenceVar *const var, const std::vector&lt; int &gt; &amp;backward_sequence)</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a7ffb22279ead8371d940b61468b91739"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a7ffb22279ead8371d940b61468b91739">operations_research::IntervalVarElement::SetStartRange</a></div><div class="ttdeci">void SetStartRange(int64 mi, int64 ma)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04633">constraint_solver.h:4633</a></div></div>
<div class="ttc" id="classoperations__research_1_1PropagationBaseObject_html_a173cbf153462b14f9b57362d2c45638a"><div class="ttname"><a href="classoperations__research_1_1PropagationBaseObject.html#a173cbf153462b14f9b57362d2c45638a">operations_research::PropagationBaseObject::EnqueueDelayedDemon</a></div><div class="ttdeci">void EnqueueDelayedDemon(Demon *const d)</div><div class="ttdoc">This method pushes the demon onto the propagation queue.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03124">constraint_solver.h:3124</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a3a64940761b306c816e00e077906952fa093ec3f2fbd36daf12e6b7d96525bc92"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952fa093ec3f2fbd36daf12e6b7d96525bc92">operations_research::Solver::INTERVAL_SET_TIMES_FORWARD</a></div><div class="ttdoc">Selects the variable with the lowest starting time of all variables, and fixes its starting time to t...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00404">constraint_solver.h:404</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a556ce59677fa190c2471f9adb7e3f8f8"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a556ce59677fa190c2471f9adb7e3f8f8">operations_research::Solver::MakeSearchTrace</a></div><div class="ttdeci">SearchMonitor * MakeSearchTrace(const std::string &amp;prefix)</div><div class="ttdoc">Creates a search monitor that will trace precisely the behavior of the search.</div></div>
<div class="ttc" id="classoperations__research_1_1SolutionPool_html_afa82c2dd754ff490f08768ed621d1f5b"><div class="ttname"><a href="classoperations__research_1_1SolutionPool.html#afa82c2dd754ff490f08768ed621d1f5b">operations_research::SolutionPool::Initialize</a></div><div class="ttdeci">virtual void Initialize(Assignment *const assignment)=0</div><div class="ttdoc">This method is called to initialize the solution pool with the assignment from the local search.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a795a3239d887c8e56bd2f96f44285f34"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a795a3239d887c8e56bd2f96f44285f34">operations_research::ModelVisitor::kAbsEqual</a></div><div class="ttdeci">static const char kAbsEqual[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03270">constraint_solver.h:3270</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a3d3319d34dd3c36b158e52dbbbf53627"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a3d3319d34dd3c36b158e52dbbbf53627">operations_research::ModelVisitor::kSumOperation</a></div><div class="ttdeci">static const char kSumOperation[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03433">constraint_solver.h:3433</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a58204b09320f02bca9bd9574cec4cc11"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a58204b09320f02bca9bd9574cec4cc11">operations_research::ModelVisitor::kModulo</a></div><div class="ttdeci">static const char kModulo[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03320">constraint_solver.h:3320</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6f66063ebaf61025e27e96719affa3eea88697fd0942f9936f586e4b207b79c43"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea88697fd0942f9936f586e4b207b79c43">operations_research::Solver::ENDS_AT_START</a></div><div class="ttdoc">t1 ends at t2 start, i.e. End(t1) == Start(t2) + delay.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00616">constraint_solver.h:616</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ae855c07a5a02b9ef3dc1fa2fe68cbd83"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ae855c07a5a02b9ef3dc1fa2fe68cbd83">operations_research::Solver::MakeAbsEquality</a></div><div class="ttdeci">Constraint * MakeAbsEquality(IntVar *const var, IntVar *const abs_var)</div><div class="ttdoc">Creates the constraint abs(var) == abs_var.</div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_a19bef8716e7418748ef666b07b09c25d"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#a19bef8716e7418748ef666b07b09c25d">operations_research::SearchMonitor::ExitSearch</a></div><div class="ttdeci">virtual void ExitSearch()</div><div class="ttdoc">End of the search.</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a51ca76ff589a00765341dec2cb8b9e1a"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a51ca76ff589a00765341dec2cb8b9e1a">operations_research::IntervalVarElement::SetDurationValue</a></div><div class="ttdeci">void SetDurationValue(int64 v)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04647">constraint_solver.h:4647</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6fc60ae040ae35c83f09736d2e682a18a9bbd3bcce8e7d9e4a6901cce828e8704"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a9bbd3bcce8e7d9e4a6901cce828e8704">operations_research::Solver::OROPT</a></div><div class="ttdoc">Relocate: OROPT and RELOCATE.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00438">constraint_solver.h:438</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a8a9ad3ee667c7062455df0126dfedb6b"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a8a9ad3ee667c7062455df0126dfedb6b">operations_research::Assignment::SetMin</a></div><div class="ttdeci">void SetMin(const IntVar *const var, int64 m)</div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVarElement_html"><div class="ttname"><a href="classoperations__research_1_1SequenceVarElement.html">operations_research::SequenceVarElement</a></div><div class="ttdoc">The SequenceVarElement stores a partial representation of ranked interval variables in the underlying...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04706">constraint_solver.h:4706</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a5add678db16084b765a8c93a257528dc"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a5add678db16084b765a8c93a257528dc">operations_research::Solver::Try</a></div><div class="ttdeci">DecisionBuilder * Try(DecisionBuilder *const db1, DecisionBuilder *const db2)</div><div class="ttdoc">Creates a decision builder which will create a search tree where each decision builder is called from...</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a4e5344711c44bb56cb8bb380b604ddd4"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a4e5344711c44bb56cb8bb380b604ddd4">operations_research::ModelVisitor::VisitSequenceVariable</a></div><div class="ttdeci">virtual void VisitSequenceVariable(const SequenceVar *const variable)</div></div>
<div class="ttc" id="classoperations__research_1_1AssignmentContainer_html_a644d3acfafc9465295c6b12ccd5d0574"><div class="ttname"><a href="classoperations__research_1_1AssignmentContainer.html#a644d3acfafc9465295c6b12ccd5d0574">operations_research::AssignmentContainer::Element</a></div><div class="ttdeci">const E &amp; Element(int index) const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04847">constraint_solver.h:4847</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_aa71d36872f416feaa853788a7a7a7ef8"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#aa71d36872f416feaa853788a7a7a7ef8">operations_research::Assignment::Clear</a></div><div class="ttdeci">void Clear()</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html"><div class="ttname"><a href="classoperations__research_1_1Assignment.html">operations_research::Assignment</a></div><div class="ttdoc">An Assignment is a variable -&gt; domains mapping, used to report solutions to the user.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04929">constraint_solver.h:4929</a></div></div>
<div class="ttc" id="classoperations__research_1_1DisjunctiveConstraint_html_af106a0b38e8b3d069248a579efe2e1bc"><div class="ttname"><a href="classoperations__research_1_1DisjunctiveConstraint.html#af106a0b38e8b3d069248a579efe2e1bc">operations_research::DisjunctiveConstraint::time_slacks</a></div><div class="ttdeci">virtual const std::vector&lt; IntVar * &gt; &amp; time_slacks() const =0</div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_a5aeabb40e6e7550c805534764b3076fa"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#a5aeabb40e6e7550c805534764b3076fa">operations_research::SolutionCollector::solution_count</a></div><div class="ttdeci">int solution_count() const</div><div class="ttdoc">Returns how many solutions were stored during the search.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a72e0afed9304479c5fbca39ec85d6e46"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a72e0afed9304479c5fbca39ec85d6e46">operations_research::Solver::MakeDelayedConstraintInitialPropagateCallback</a></div><div class="ttdeci">Demon * MakeDelayedConstraintInitialPropagateCallback(Constraint *const ct)</div><div class="ttdoc">This method is a specialized case of the MakeConstraintDemon method to call the InitiatePropagate of ...</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a45c5a2dd0d47110ef5b00408854d8d84a209a2e91e3d39a3a1e7f044fb3d5be45"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a209a2e91e3d39a3a1e7f044fb3d5be45">operations_research::Solver::SPLIT_UPPER_HALF</a></div><div class="ttdoc">Split the domain in two around the center, and choose the lower part first.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00360">constraint_solver.h:360</a></div></div>
<div class="ttc" id="classoperations__research_1_1LocalSearchOperator_html"><div class="ttname"><a href="classoperations__research_1_1LocalSearchOperator.html">operations_research::LocalSearchOperator</a></div><div class="ttdoc">The base class for all local search operators.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solveri_8h_source.html#l00805">constraint_solveri.h:805</a></div></div>
<div class="ttc" id="classoperations__research_1_1PropagationBaseObject_html_aed804747c45a7e1caf81461f9e45dd91"><div class="ttname"><a href="classoperations__research_1_1PropagationBaseObject.html#aed804747c45a7e1caf81461f9e45dd91">operations_research::PropagationBaseObject::DebugString</a></div><div class="ttdeci">std::string DebugString() const override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03104">constraint_solver.h:3104</a></div></div>
<div class="ttc" id="classoperations__research_1_1Rev_html_affc0b3b0a5efa3efc9d0d86344d4a29f"><div class="ttname"><a href="classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f">operations_research::Rev::Value</a></div><div class="ttdeci">const T &amp; Value() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03671">constraint_solver.h:3671</a></div></div>
<div class="ttc" id="classoperations__research_1_1PropagationBaseObject_html_a448b9bde901fcf3ec2e94ab972b083f0"><div class="ttname"><a href="classoperations__research_1_1PropagationBaseObject.html#a448b9bde901fcf3ec2e94ab972b083f0">operations_research::PropagationBaseObject::EnqueueVar</a></div><div class="ttdeci">void EnqueueVar(Demon *const d)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03125">constraint_solver.h:3125</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVarElement_html_a73063c916ad469eb39c8a5160746342b"><div class="ttname"><a href="classoperations__research_1_1IntVarElement.html#a73063c916ad469eb39c8a5160746342b">operations_research::IntVarElement::IntVarElement</a></div><div class="ttdeci">IntVarElement()</div></div>
<div class="ttc" id="classoperations__research_1_1RevImmutableMultiMap_html"><div class="ttname"><a href="classoperations__research_1_1RevImmutableMultiMap.html">operations_research::RevImmutableMultiMap</a></div><div class="ttdoc">Reversible Immutable MultiMap class.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solveri_8h_source.html#l00288">constraint_solveri.h:288</a></div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVar_html_a2c3cdf1887a496fe0fdd4b5abe5c33f5"><div class="ttname"><a href="classoperations__research_1_1SequenceVar.html#a2c3cdf1887a496fe0fdd4b5abe5c33f5">operations_research::SequenceVar::RankSequence</a></div><div class="ttdeci">void RankSequence(const std::vector&lt; int &gt; &amp;rank_first, const std::vector&lt; int &gt; &amp;rank_last, const std::vector&lt; int &gt; &amp;unperformed)</div><div class="ttdoc">Applies the following sequence of ranks, ranks first, then rank last.</div></div>
<div class="ttc" id="classoperations__research_1_1Pack_html_acb7a89e1a7071f6c46375fe31688e485"><div class="ttname"><a href="classoperations__research_1_1Pack.html#acb7a89e1a7071f6c46375fe31688e485">operations_research::Pack::UnassignAllRemainingItems</a></div><div class="ttdeci">void UnassignAllRemainingItems()</div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_ab472eccafac416112828cde24cefb907"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#ab472eccafac416112828cde24cefb907">operations_research::SearchMonitor::EndNextDecision</a></div><div class="ttdeci">virtual void EndNextDecision(DecisionBuilder *const b, Decision *const d)</div><div class="ttdoc">After calling DecisionBuilder::Next, along with the returned decision.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_abdedd9f8f216d9d1ace04942af6f17a1"><div class="ttname"><a href="classoperations__research_1_1Solver.html#abdedd9f8f216d9d1ace04942af6f17a1">operations_research::Solver::MakeTransitionConstraint</a></div><div class="ttdeci">Constraint * MakeTransitionConstraint(const std::vector&lt; IntVar * &gt; &amp;vars, const IntTupleSet &amp;transition_table, int64 initial_state, const std::vector&lt; int64 &gt; &amp;final_states)</div><div class="ttdoc">This constraint create a finite automaton that will check the sequence of variables vars.</div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_a9eea03bd8a5a7dd6bc8256ee599202c0"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#a9eea03bd8a5a7dd6bc8256ee599202c0">operations_research::Assignment::SetEndValue</a></div><div class="ttdeci">void SetEndValue(const IntervalVar *const var, int64 value)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_ab7ab23bc58ea40dc03a5418ddbce7601a77806c37d29c932d0c23741de684d4bf"><div class="ttname"><a href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a77806c37d29c932d0c23741de684d4bf">operations_research::Solver::CHOOSE_MAX_REGRET_ON_MIN</a></div><div class="ttdoc">Among unbound variables, select the variable with the largest gap between the first and the second va...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00323">constraint_solver.h:323</a></div></div>
<div class="ttc" id="classoperations__research_1_1Assignment_html_ae517374b69d87607f8c5d60577924690"><div class="ttname"><a href="classoperations__research_1_1Assignment.html#ae517374b69d87607f8c5d60577924690">operations_research::Assignment::PerformedValue</a></div><div class="ttdeci">int64 PerformedValue(const IntervalVar *const var) const</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a085c7089b623c1e9ab4d0a342243de94"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a085c7089b623c1e9ab4d0a342243de94">operations_research::Solver::MakeIsBetweenVar</a></div><div class="ttdeci">IntVar * MakeIsBetweenVar(IntExpr *const v, int64 l, int64 u)</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_aa0d733541b65e81e2aa5cfc817f4b306"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#aa0d733541b65e81e2aa5cfc817f4b306">operations_research::ModelVisitor::kCoefficientsArgument</a></div><div class="ttdeci">static const char kCoefficientsArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03372">constraint_solver.h:3372</a></div></div>
<div class="ttc" id="classoperations__research_1_1NumericalRevArray_html_a3a0219adafe884709e47adad37885e7e"><div class="ttname"><a href="classoperations__research_1_1NumericalRevArray.html#a3a0219adafe884709e47adad37885e7e">operations_research::NumericalRevArray::NumericalRevArray</a></div><div class="ttdeci">NumericalRevArray(int size, const T &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03750">constraint_solver.h:3750</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a69b3391b3f8ada3bf0c2c69a8c7a799e"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a69b3391b3f8ada3bf0c2c69a8c7a799e">operations_research::ModelVisitor::kNoCycle</a></div><div class="ttdeci">static const char kNoCycle[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03321">constraint_solver.h:3321</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVar_html_a4d64f6d586f2dffde03a5e6733895265"><div class="ttname"><a href="classoperations__research_1_1IntervalVar.html#a4d64f6d586f2dffde03a5e6733895265">operations_research::IntervalVar::EndMax</a></div><div class="ttdeci">virtual int64 EndMax() const =0</div></div>
<div class="ttc" id="classoperations__research_1_1IntExpr_html_a71eb39de86b7fb423d3b9c215f56593c"><div class="ttname"><a href="classoperations__research_1_1IntExpr.html#a71eb39de86b7fb423d3b9c215f56593c">operations_research::IntExpr::IntExpr</a></div><div class="ttdeci">IntExpr(Solver *const s)</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03770">constraint_solver.h:3770</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a6f66063ebaf61025e27e96719affa3ee"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3ee">operations_research::Solver::BinaryIntervalRelation</a></div><div class="ttdeci">BinaryIntervalRelation</div><div class="ttdoc">This enum is used in Solver::MakeIntervalVarRelation to specify the temporal relation between the two...</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00605">constraint_solver.h:605</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntVar_html_ab0f395e740238c2c35e46af1fa9309cb"><div class="ttname"><a href="classoperations__research_1_1IntVar.html#ab0f395e740238c2c35e46af1fa9309cb">operations_research::IntVar::IsLessOrEqual</a></div><div class="ttdeci">virtual IntVar * IsLessOrEqual(int64 constant)=0</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aee80b40516ac8d72c913b7ed4a7cc66b"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aee80b40516ac8d72c913b7ed4a7cc66b">operations_research::Solver::GetLocalSearchMonitor</a></div><div class="ttdeci">LocalSearchMonitor * GetLocalSearchMonitor() const</div><div class="ttdoc">Returns the local search monitor.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a9c68bcf81a3279ccd6cce9a3b1b782da"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a9c68bcf81a3279ccd6cce9a3b1b782da">operations_research::ModelVisitor::kOptionalArgument</a></div><div class="ttdeci">static const char kOptionalArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03401">constraint_solver.h:3401</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a640f5ca056aaf5f3cc0ac458bea4e22a"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a640f5ca056aaf5f3cc0ac458bea4e22a">operations_research::ModelVisitor::kValuesArgument</a></div><div class="ttdeci">static const char kValuesArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03424">constraint_solver.h:3424</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a7e86e0902e293a0eed1d9c0ea1d8d5ea"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a7e86e0902e293a0eed1d9c0ea1d8d5ea">operations_research::ModelVisitor::kSmartTimeCheckArgument</a></div><div class="ttdeci">static const char kSmartTimeCheckArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03413">constraint_solver.h:3413</a></div></div>
<div class="ttc" id="classoperations__research_1_1DisjunctiveConstraint_html_ad00d844c640d64524ddd7d08916950c0"><div class="ttname"><a href="classoperations__research_1_1DisjunctiveConstraint.html#ad00d844c640d64524ddd7d08916950c0">operations_research::DisjunctiveConstraint::DisjunctiveConstraint</a></div><div class="ttdeci">DisjunctiveConstraint(Solver *const s, const std::vector&lt; IntervalVar * &gt; &amp;intervals, const std::string &amp;name)</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a8d9ad7ab9d335a6284cf55573c1e99a1"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a8d9ad7ab9d335a6284cf55573c1e99a1">operations_research::Solver::SolveDepth</a></div><div class="ttdeci">int SolveDepth() const</div><div class="ttdoc">Gets the number of nested searches.</div></div>
<div class="ttc" id="classoperations__research_1_1OptimizeVar_html_aacb45343e78641c7b582de46225d3481"><div class="ttname"><a href="classoperations__research_1_1OptimizeVar.html#aacb45343e78641c7b582de46225d3481">operations_research::OptimizeVar::var_</a></div><div class="ttdeci">IntVar *const var_</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04160">constraint_solver.h:4160</a></div></div>
<div class="ttc" id="classoperations__research_1_1SolutionCollector_html_a0dff88fcb39a84e0566db0256a623dff"><div class="ttname"><a href="classoperations__research_1_1SolutionCollector.html#a0dff88fcb39a84e0566db0256a623dff">operations_research::SolutionCollector::Value</a></div><div class="ttdeci">int64 Value(int n, IntVar *const var) const</div><div class="ttdoc">This is a shortcut to get the Value of 'var' in the nth solution.</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a5e74213547167ce6a3f2b2741eb6245d"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a5e74213547167ce6a3f2b2741eb6245d">operations_research::ModelVisitor::kRelationArgument</a></div><div class="ttdeci">static const char kRelationArgument[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03406">constraint_solver.h:3406</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a45c5a2dd0d47110ef5b00408854d8d84a5f0059ab0df5c8e811e79e4f77f91291"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a5f0059ab0df5c8e811e79e4f77f91291">operations_research::Solver::INT_VALUE_DEFAULT</a></div><div class="ttdoc">The default behavior is ASSIGN_MIN_VALUE.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00335">constraint_solver.h:335</a></div></div>
<div class="ttc" id="classoperations__research_1_1IntExpr_html_a2e9b93ea445f156328eaa782adf7cb8b"><div class="ttname"><a href="classoperations__research_1_1IntExpr.html#a2e9b93ea445f156328eaa782adf7cb8b">operations_research::IntExpr::IsVar</a></div><div class="ttdeci">virtual bool IsVar() const</div><div class="ttdoc">Returns true if the expression is indeed a variable.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03797">constraint_solver.h:3797</a></div></div>
<div class="ttc" id="structoperations__research_1_1DefaultPhaseParameters_html_a5a43af9bcd9bfec04dbc66cc1a0c1ffdae89afeba83d94a0077202576edff7d20"><div class="ttname"><a href="structoperations__research_1_1DefaultPhaseParameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffdae89afeba83d94a0077202576edff7d20">operations_research::DefaultPhaseParameters::CHOOSE_MAX_AVERAGE_IMPACT</a></div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00159">constraint_solver.h:159</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_affe125bed1edf258797dae8d40428107"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#affe125bed1edf258797dae8d40428107">operations_research::ModelVisitor::kIntervalDisjunction</a></div><div class="ttdeci">static const char kIntervalDisjunction[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03298">constraint_solver.h:3298</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a45c5a2dd0d47110ef5b00408854d8d84a56859813749c27c6c20f8cdfec9eb9c2"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a56859813749c27c6c20f8cdfec9eb9c2">operations_research::Solver::ASSIGN_RANDOM_VALUE</a></div><div class="ttdoc">Selects randomly one of the possible values of the selected variable.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00347">constraint_solver.h:347</a></div></div>
<div class="ttc" id="classoperations__research_1_1SearchMonitor_html_a1fc71393e20b97540f90702601b75fe1"><div class="ttname"><a href="classoperations__research_1_1SearchMonitor.html#a1fc71393e20b97540f90702601b75fe1">operations_research::SearchMonitor::PeriodicCheck</a></div><div class="ttdeci">virtual void PeriodicCheck()</div><div class="ttdoc">Periodic call to check limits in long running methods.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_abb24034fec2804ac3c0172f043087321"><div class="ttname"><a href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">operations_research::Solver::IndexEvaluator2</a></div><div class="ttdeci">std::function&lt; int64(int64, int64)&gt; IndexEvaluator2</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00722">constraint_solver.h:722</a></div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aac351c16876d84a5b0602aa1337a3c61"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aac351c16876d84a5b0602aa1337a3c61">operations_research::Solver::LocalSearchProfile</a></div><div class="ttdeci">std::string LocalSearchProfile() const</div><div class="ttdoc">Returns local search profiling information in a human readable format.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aa7c76cb6401fb0c7c98a4d2e005bdeb3"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aa7c76cb6401fb0c7c98a4d2e005bdeb3">operations_research::Solver::MakeFailDecision</a></div><div class="ttdeci">Decision * MakeFailDecision()</div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_a7f60481e6d86f31e943ae6b6e0f6410b"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a7f60481e6d86f31e943ae6b6e0f6410b">operations_research::ModelVisitor::kNotBetween</a></div><div class="ttdeci">static const char kNotBetween[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03323">constraint_solver.h:3323</a></div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVarElement_html_a3abcbe1fcd37d8982941a795ed22e34a"><div class="ttname"><a href="classoperations__research_1_1SequenceVarElement.html#a3abcbe1fcd37d8982941a795ed22e34a">operations_research::SequenceVarElement::Store</a></div><div class="ttdeci">void Store()</div></div>
<div class="ttc" id="classoperations__research_1_1IntervalVarElement_html_a829df9b05ef6f289aa566669aeb9f557"><div class="ttname"><a href="classoperations__research_1_1IntervalVarElement.html#a829df9b05ef6f289aa566669aeb9f557">operations_research::IntervalVarElement::StartValue</a></div><div class="ttdeci">int64 StartValue() const</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04609">constraint_solver.h:4609</a></div></div>
<div class="ttc" id="classoperations__research_1_1DecisionBuilder_html_a68bbb37d42da9d7b82145b3bf435dbc3"><div class="ttname"><a href="classoperations__research_1_1DecisionBuilder.html#a68bbb37d42da9d7b82145b3bf435dbc3">operations_research::DecisionBuilder::Next</a></div><div class="ttdeci">virtual Decision * Next(Solver *const s)=0</div><div class="ttdoc">This is the main method of the decision builder class.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_a3b7868c6dd1939fd432fb628c974cca9"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a3b7868c6dd1939fd432fb628c974cca9">operations_research::Solver::RandomConcatenateOperators</a></div><div class="ttdeci">LocalSearchOperator * RandomConcatenateOperators(const std::vector&lt; LocalSearchOperator * &gt; &amp;ops)</div><div class="ttdoc">Randomized version of local search concatenator; calls a random operator at each call to MakeNextNeig...</div></div>
<div class="ttc" id="classoperations__research_1_1SolutionPool_html_a0ddd1c2f332c3cea0612b9d18ad6ef83"><div class="ttname"><a href="classoperations__research_1_1SolutionPool.html#a0ddd1c2f332c3cea0612b9d18ad6ef83">operations_research::SolutionPool::SyncNeeded</a></div><div class="ttdeci">virtual bool SyncNeeded(Assignment *const local_assignment)=0</div><div class="ttdoc">This method checks if the local solution needs to be updated with an external one.</div></div>
<div class="ttc" id="classoperations__research_1_1CastConstraint_html_a870e6a416b760b2c0aaba0d45ce7a359"><div class="ttname"><a href="classoperations__research_1_1CastConstraint.html#a870e6a416b760b2c0aaba0d45ce7a359">operations_research::CastConstraint::~CastConstraint</a></div><div class="ttdeci">~CastConstraint() override</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03558">constraint_solver.h:3558</a></div></div>
<div class="ttc" id="classoperations__research_1_1ModelVisitor_html_ac23e672966c12db7c5fde3efd03bc22f"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#ac23e672966c12db7c5fde3efd03bc22f">operations_research::ModelVisitor::kVarBoundWatcher</a></div><div class="ttdeci">static const char kVarBoundWatcher[]</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l03349">constraint_solver.h:3349</a></div></div>
<div class="ttc" id="classoperations__research_1_1OptimizeVar_html_a8052ccc3aba839f3befd553cc05b85a0"><div class="ttname"><a href="classoperations__research_1_1OptimizeVar.html#a8052ccc3aba839f3befd553cc05b85a0">operations_research::OptimizeVar::Var</a></div><div class="ttdeci">IntVar * Var() const</div><div class="ttdoc">Returns the variable that is optimized.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l04145">constraint_solver.h:4145</a></div></div>
<div class="ttc" id="classoperations__research_1_1SequenceVar_html_afcde421cf076575a27bed81c80093ac8"><div class="ttname"><a href="classoperations__research_1_1SequenceVar.html#afcde421cf076575a27bed81c80093ac8">operations_research::SequenceVar::Accept</a></div><div class="ttdeci">virtual void Accept(ModelVisitor *const visitor) const</div><div class="ttdoc">Accepts the given visitor.</div></div>
<div class="ttc" id="classoperations__research_1_1IntVarIterator_html_a5368a4a3fff770682cf257e81707d9f0"><div class="ttname"><a href="classoperations__research_1_1IntVarIterator.html#a5368a4a3fff770682cf257e81707d9f0">operations_research::IntVarIterator::Init</a></div><div class="ttdeci">virtual void Init()=0</div><div class="ttdoc">This method must be called before each loop.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aac5c854c4c6f6022182b2dfcf3ec1692"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aac5c854c4c6f6022182b2dfcf3ec1692">operations_research::Solver::MakeDefaultSolutionPool</a></div><div class="ttdeci">SolutionPool * MakeDefaultSolutionPool()</div><div class="ttdoc">Solution Pool.</div></div>
<div class="ttc" id="classoperations__research_1_1Solver_html_aa82a0b96404285c86a6cce9a020c3065"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aa82a0b96404285c86a6cce9a020c3065">operations_research::Solver::MakeSemiContinuousExpr</a></div><div class="ttdeci">IntExpr * MakeSemiContinuousExpr(IntExpr *const expr, int64 fixed_charge, int64 step)</div><div class="ttdoc">Semi continuous Expression (x &lt;= 0 -&gt; f(x) = 0; x &gt; 0 -&gt; f(x) = ax + b) a &gt;= 0 and b &gt;= 0.</div></div>
</div><!-- fragment --></div><!-- contents -->
</div>
</div>
<div id="footer-container">
<div id="footer">
</div>
</div>
</body>
</html>