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

4865 lines
1.4 MiB

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OR-Tools</title>
<meta http-equiv="Content-Type" content="text/html;"/>
<meta charset="utf-8"/>
<!--<link rel='stylesheet' type='text/css' href="https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/>-->
<link rel="stylesheet" type="text/css" href="ortools.css" title="default" media="screen,print" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
</head>
<body>
<div id="banner-container">
<div id="banner">
<span id="sfml">Google OR-Tools 7.5</span>
</div>
</div>
<div id="content" style="width: 100%; overflow: hidden;">
<div style="margin-left: 15px; margin-top: 5px; float: left; color: #145A32;">
<h2>C++ Reference</h2>
<ul>
<li><a href="../cpp_algorithms/annotated.html">Algorithms</a></li>
<li><a href="../cpp_sat/annotated.html">CP-SAT</a></li>
<li><a href="../cpp_graph/annotated.html">Graph</a></li>
<li><a href="../cpp_routing/annotated.html">Routing</a></li>
<li><a href="../cpp_linear/annotated.html">Linear solver</a></li>
</ul>
</div>
<div id="content">
<div align="center">
<h1 style="color: #145A32;">C++ Reference: Routing</h1>
</div>
<!-- Generated by Doxygen 1.8.16 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><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;random&gt;</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="preprocessor">#include &lt;utility&gt;</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; </div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="preprocessor">#include &quot;absl/container/flat_hash_map.h&quot;</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor">#include &quot;absl/container/flat_hash_set.h&quot;</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="preprocessor">#include &quot;absl/random/distributions.h&quot;</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="preprocessor">#include &quot;absl/random/random.h&quot;</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="preprocessor">#include &quot;absl/strings/str_format.h&quot;</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="preprocessor">#include &quot;ortools/base/commandlineflags.h&quot;</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="preprocessor">#include &quot;ortools/base/hash.h&quot;</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="preprocessor">#include &quot;ortools/base/integral_types.h&quot;</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="preprocessor">#include &quot;ortools/base/logging.h&quot;</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="preprocessor">#include &quot;ortools/base/macros.h&quot;</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="preprocessor">#include &quot;ortools/base/map_util.h&quot;</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="preprocessor">#include &quot;ortools/base/sysinfo.h&quot;</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="preprocessor">#include &quot;ortools/base/timer.h&quot;</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="solver__parameters_8pb_8h.html">ortools/constraint_solver/solver_parameters.pb.h</a>&quot;</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="preprocessor">#include &quot;ortools/util/piecewise_linear_function.h&quot;</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="preprocessor">#include &quot;ortools/util/sorted_interval_list.h&quot;</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="preprocessor">#include &quot;ortools/util/tuple_set.h&quot;</span></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"> 92</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<a class="code" href="constraint__solver_8h.html#a7c38c1c8e88571b510def97ee8bd5804">DECLARE_int64</a>(cp_random_seed);</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="preprocessor">#endif // !defined(SWIG)</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="keyword">class </span>File;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; </div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="namespaceoperations__research.html"> 98</a></span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceoperations__research.html">operations_research</a> {</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; </div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1AssignmentProto.html">AssignmentProto</a>;</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_1BaseObject.html">BaseObject</a>;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="keyword">class </span>CpArgument;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="keyword">class </span>CpConstraint;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="keyword">class </span>CpIntegerExpression;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="keyword">class </span>CpIntervalVariable;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="keyword">class </span>CpSequenceVariable;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1CastConstraint.html">CastConstraint</a>;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1Decision.html">Decision</a>;</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_1DecisionBuilder.html">DecisionBuilder</a>;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1DecisionVisitor.html">DecisionVisitor</a>;</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_1Demon.html">Demon</a>;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="keyword">class </span>DemonProfiler;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="keyword">class </span>LocalSearchProfiler;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="keyword">class </span>Dimension;</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_1DisjunctiveConstraint.html">DisjunctiveConstraint</a>;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="keyword">class </span>ExpressionCache;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1IntExpr.html">IntExpr</a>;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="keyword">class </span>IntTupleSet;</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_1IntVar.html">IntVar</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_1IntVarAssignment.html">IntVarAssignment</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_1IntVarElement.html">IntVarElement</a>;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>;</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_1IntervalVarAssignment.html">IntervalVarAssignment</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_1IntervalVarElement.html">IntervalVarElement</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_1IntVarLocalSearchFilter.html">IntVarLocalSearchFilter</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_1LocalSearchFilter.html">LocalSearchFilter</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_1LocalSearchOperator.html">LocalSearchOperator</a>;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="keyword">class </span>LocalSearchPhaseParameters;</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_1ModelCache.html">ModelCache</a>;</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a>;</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_1OptimizeVar.html">OptimizeVar</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_1Pack.html">Pack</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_1PropagationBaseObject.html">PropagationBaseObject</a>;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1PropagationMonitor.html">PropagationMonitor</a>;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1LocalSearchMonitor.html">LocalSearchMonitor</a>;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="keyword">class </span>Queue;</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_1RevBitMatrix.html">RevBitMatrix</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_1RevBitSet.html">RevBitSet</a>;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1RegularLimit.html">RegularLimit</a>;</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_1RegularLimitParameters.html">RegularLimitParameters</a>;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="keyword">class </span>Search;</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_1SearchLimit.html">SearchLimit</a>;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>;</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_1SequenceVar.html">SequenceVar</a>;</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1SequenceVarAssignment.html">SequenceVarAssignment</a>;</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1SolutionCollector.html">SolutionCollector</a>;</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1SolutionPool.html">SolutionPool</a>;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1Solver.html">Solver</a>;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1ConstraintSolverParameters.html">ConstraintSolverParameters</a>;</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="keyword">class </span><a class="code" href="classoperations__research_1_1SymmetryBreaker.html">SymmetryBreaker</a>;</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="keyword">struct </span>StateInfo;</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="keyword">struct </span>Trail;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div>
<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SimpleRevFIFO.html"> 156</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="l00157"></a><span class="lineno"> 157</span>&#160; </div>
<div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="namespaceoperations__research.html#af46f97d04f28e1d1c8a99d02f000d212"> 158</a></span>&#160;<span class="keyword">inline</span> int64 <a class="code" href="namespaceoperations__research.html#af46f97d04f28e1d1c8a99d02f000d212">CpRandomSeed</a>() {</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">return</span> FLAGS_cp_random_seed == -1</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; ? absl::Uniform&lt;int64&gt;(absl::BitGen(), 0, kint64max)</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; : FLAGS_cp_random_seed;</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"> 163</span>&#160; </div>
<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html"> 167</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="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffd"> 169</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="l00170"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffdac4b4fc1afb505f9a378e3d55747c2c2a"> 170</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="l00171"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffdae89afeba83d94a0077202576edff7d20"> 171</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="l00172"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a5a43af9bcd9bfec04dbc66cc1a0c1ffdaa674cfb9265f697b4ada735c4401aac0"> 172</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="l00173"></a><span class="lineno"> 173</span>&#160; };</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; </div>
<div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a859e753eeaea8a2e9a1af1a6aa5f786f"> 175</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="l00176"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a859e753eeaea8a2e9a1af1a6aa5f786faee0a24529a0371855709d8b20c5531f8"> 176</a></span>&#160; <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#a859e753eeaea8a2e9a1af1a6aa5f786faee0a24529a0371855709d8b20c5531f8">SELECT_MIN_IMPACT</a> = 0,</div>
<div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a859e753eeaea8a2e9a1af1a6aa5f786fa2537cfa97cf345dda1b14e7da07b60d9"> 177</a></span>&#160; <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#a859e753eeaea8a2e9a1af1a6aa5f786fa2537cfa97cf345dda1b14e7da07b60d9">SELECT_MAX_IMPACT</a> = 1,</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; };</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; </div>
<div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a36703c0bee7e0f1e68f64e0bb9307382ace3e26676763569084c86b8c3b67d601"> 180</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="l00181"></a><span class="lineno"> 181</span>&#160; </div>
<div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a61d9b3f13793427aab1d091252cabcdb"> 184</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="l00185"></a><span class="lineno"> 185</span>&#160; </div>
<div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a5a24d11f8e77754933853ae4ae721c58"> 187</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="l00188"></a><span class="lineno"> 188</span>&#160; </div>
<div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a33b5f7988bd900722e702d6e808d091f"> 191</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="l00192"></a><span class="lineno"> 192</span>&#160; </div>
<div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#ae34ba5540c7682e2efd1a3de7ec92821"> 196</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="l00197"></a><span class="lineno"> 197</span>&#160; </div>
<div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#ac452a91363eef95dc8b527628d122c55"> 201</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="l00202"></a><span class="lineno"> 202</span>&#160; </div>
<div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a0e6d02b76d3e83bde2a02798e4e7a0a9"> 204</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="l00205"></a><span class="lineno"> 205</span>&#160; </div>
<div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#aa05a3321d74475f1238d0c51b5754d7e"> 208</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="l00209"></a><span class="lineno"> 209</span>&#160; </div>
<div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#ad9059bc845096b2f05414a66c836b4ee"> 211</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="l00212"></a><span class="lineno"> 212</span>&#160; </div>
<div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a40646422bfe80217dfdf371cca44a63b"> 215</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="l00216"></a><span class="lineno"> 216</span>&#160; </div>
<div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#aa978cbe8453310a6381350d867821e0c"> 218</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="l00219"></a><span class="lineno"> 219</span>&#160; </div>
<div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="structoperations__research_1_1DefaultPhaseParameters.html#a39c899184f62ab82b7ce98b7aaaf7d2d"> 221</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="l00222"></a><span class="lineno"> 222</span>&#160; </div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <a class="code" href="structoperations__research_1_1DefaultPhaseParameters.html#a0d757e1829bae7762734bce78136a139">DefaultPhaseParameters</a>();</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;};</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; </div>
<div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html"> 243</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="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html"> 249</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="l00250"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#ab15f186e97754835d5913283a1e176cf"> 250</a></span>&#160; <a class="code" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#ab15f186e97754835d5913283a1e176cf">IntegerCastInfo</a>()</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</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="l00252"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#a5d6ae94825077efbea7967ada7a6341c"> 252</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="l00253"></a><span class="lineno"> 253</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="l00254"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#acb71959af429e32049d2b911e4d92ac3"> 254</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="l00255"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#a835c75d75486a896c255acb75d6616f3"> 255</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="l00256"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1IntegerCastInfo.html#ae1de17a3d4162dd6fef92daccf0741f6"> 256</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="l00257"></a><span class="lineno"> 257</span>&#160; };</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; </div>
<div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a8c55e823426ef9c603a7e8faa2786f58"> 260</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="l00261"></a><span class="lineno"> 261</span>&#160; </div>
<div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601"> 264</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="l00266"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a5cd14c588f2bc9864e717b7797634376"> 266</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a5cd14c588f2bc9864e717b7797634376">INT_VAR_DEFAULT</a>,</div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; </div>
<div class="line"><a name="l00269"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ad0cb7bcf19973e10df6bc1ac196f1fc2"> 269</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ad0cb7bcf19973e10df6bc1ac196f1fc2">INT_VAR_SIMPLE</a>,</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; </div>
<div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a1a148a0aaaad7f56eea42df9876e7ae9"> 274</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a1a148a0aaaad7f56eea42df9876e7ae9">CHOOSE_FIRST_UNBOUND</a>,</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; </div>
<div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a0dd29a5b1114a3da001126046058304c"> 277</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a0dd29a5b1114a3da001126046058304c">CHOOSE_RANDOM</a>,</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; </div>
<div class="line"><a name="l00285"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a51ebcb4577d6f214dc22b869c9774448"> 285</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="l00286"></a><span class="lineno"> 286</span>&#160; </div>
<div class="line"><a name="l00293"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ab5a4ff7c445eb996034132c5b54dd2e2"> 293</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="l00294"></a><span class="lineno"> 294</span>&#160; </div>
<div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601ae2c3ca1431efdb92978cd252c9ec01a7"> 301</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="l00302"></a><span class="lineno"> 302</span>&#160; </div>
<div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a67ae4822c2c057bc55386cab118bbd70"> 309</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="l00310"></a><span class="lineno"> 310</span>&#160; </div>
<div class="line"><a name="l00315"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601aefd0704e5b6bd1e9dd826cf03d2dff12"> 315</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601aefd0704e5b6bd1e9dd826cf03d2dff12">CHOOSE_LOWEST_MIN</a>,</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; </div>
<div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a35ade8eddf8a04820923af06366d8841"> 321</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a35ade8eddf8a04820923af06366d8841">CHOOSE_HIGHEST_MAX</a>,</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; </div>
<div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a135287a353c8b664975f778efc8d89ae"> 326</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a135287a353c8b664975f778efc8d89ae">CHOOSE_MIN_SIZE</a>,</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; </div>
<div class="line"><a name="l00331"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601aca5eb66b1540a6c1ab8a3aedaf606f2a"> 331</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601aca5eb66b1540a6c1ab8a3aedaf606f2a">CHOOSE_MAX_SIZE</a>,</div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; </div>
<div class="line"><a name="l00335"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a77806c37d29c932d0c23741de684d4bf"> 335</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="l00336"></a><span class="lineno"> 336</span>&#160; </div>
<div class="line"><a name="l00339"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a1e36b06cc28522f212507ecaac29797d"> 339</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a1e36b06cc28522f212507ecaac29797d">CHOOSE_PATH</a>,</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; };</div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="comment">// TODO(user): add HIGHEST_MIN and LOWEST_MAX.</span></div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; </div>
<div class="line"><a name="l00345"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84"> 345</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="l00347"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a5f0059ab0df5c8e811e79e4f77f91291"> 347</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a5f0059ab0df5c8e811e79e4f77f91291">INT_VALUE_DEFAULT</a>,</div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; </div>
<div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a1440614d1bb85a4f4b9290b234b84a3e"> 350</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a1440614d1bb85a4f4b9290b234b84a3e">INT_VALUE_SIMPLE</a>,</div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; </div>
<div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a26ee6f4132972f3880a16bf01faf5886"> 353</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a26ee6f4132972f3880a16bf01faf5886">ASSIGN_MIN_VALUE</a>,</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; </div>
<div class="line"><a name="l00356"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a6cc67468f22769f3bdfe3032b760b8c0"> 356</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a6cc67468f22769f3bdfe3032b760b8c0">ASSIGN_MAX_VALUE</a>,</div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; </div>
<div class="line"><a name="l00359"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a56859813749c27c6c20f8cdfec9eb9c2"> 359</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a56859813749c27c6c20f8cdfec9eb9c2">ASSIGN_RANDOM_VALUE</a>,</div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; </div>
<div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a18c9277012e856da1bf8fcdbe79b2173"> 364</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a18c9277012e856da1bf8fcdbe79b2173">ASSIGN_CENTER_VALUE</a>,</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; </div>
<div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a93badf6566533c41a1faed525dcdee25"> 368</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a93badf6566533c41a1faed525dcdee25">SPLIT_LOWER_HALF</a>,</div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; </div>
<div class="line"><a name="l00372"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a209a2e91e3d39a3a1e7f044fb3d5be45"> 372</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84a209a2e91e3d39a3a1e7f044fb3d5be45">SPLIT_UPPER_HALF</a>,</div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; };</div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; </div>
<div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a8b1044e7c2b76345532f848a982a7106"> 385</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="l00390"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a8b1044e7c2b76345532f848a982a7106a3850e163a7085a9d2cf0109439baaff1"> 390</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a8b1044e7c2b76345532f848a982a7106a3850e163a7085a9d2cf0109439baaff1">CHOOSE_STATIC_GLOBAL_BEST</a>,</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; </div>
<div class="line"><a name="l00396"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a8b1044e7c2b76345532f848a982a7106aaa934f8cfd42ebeefbcae15dcadf07c0"> 396</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a8b1044e7c2b76345532f848a982a7106aaa934f8cfd42ebeefbcae15dcadf07c0">CHOOSE_DYNAMIC_GLOBAL_BEST</a>,</div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; };</div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; </div>
<div class="line"><a name="l00400"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482b"> 400</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="l00401"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482baebe21dd4bbeb40285e8ea719f8ea3d0f"> 401</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482baebe21dd4bbeb40285e8ea719f8ea3d0f">SEQUENCE_DEFAULT</a>,</div>
<div class="line"><a name="l00402"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482ba31e588f8460ab3ec92a69f0d9aff4239"> 402</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482ba31e588f8460ab3ec92a69f0d9aff4239">SEQUENCE_SIMPLE</a>,</div>
<div class="line"><a name="l00403"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482ba56d44a3dd83eb1a8b0c8f6645bbe68d7"> 403</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="l00404"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482bae46a3641c46e09a29875fe4067773615"> 404</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482bae46a3641c46e09a29875fe4067773615">CHOOSE_RANDOM_RANK_FORWARD</a>,</div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; };</div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; </div>
<div class="line"><a name="l00409"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952f"> 409</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="l00411"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952faeca7ad9e63f49cd929edb90dbc7f5bb3"> 411</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952faeca7ad9e63f49cd929edb90dbc7f5bb3">INTERVAL_DEFAULT</a>,</div>
<div class="line"><a name="l00413"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952fa1bcb9f646cc7d33aa1278c661e40ed6c"> 413</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952fa1bcb9f646cc7d33aa1278c661e40ed6c">INTERVAL_SIMPLE</a>,</div>
<div class="line"><a name="l00416"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952fa093ec3f2fbd36daf12e6b7d96525bc92"> 416</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952fa093ec3f2fbd36daf12e6b7d96525bc92">INTERVAL_SET_TIMES_FORWARD</a>,</div>
<div class="line"><a name="l00419"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952fa34bde74f005a07be4c7598cd4e810831"> 419</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952fa34bde74f005a07be4c7598cd4e810831">INTERVAL_SET_TIMES_BACKWARD</a></div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; };</div>
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; </div>
<div class="line"><a name="l00424"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18"> 424</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="l00434"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a6235329fc45bc5a7612cc84342b2528e"> 434</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a6235329fc45bc5a7612cc84342b2528e">TWOOPT</a>,</div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; </div>
<div class="line"><a name="l00450"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a9bbd3bcce8e7d9e4a6901cce828e8704"> 450</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a9bbd3bcce8e7d9e4a6901cce828e8704">OROPT</a>,</div>
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; </div>
<div class="line"><a name="l00453"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a2893291ad956ff115a7a331f512cd4a3"> 453</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a2893291ad956ff115a7a331f512cd4a3">RELOCATE</a>,</div>
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; </div>
<div class="line"><a name="l00462"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a1c5d6c437384057c9b472a5081800462"> 462</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a1c5d6c437384057c9b472a5081800462">EXCHANGE</a>,</div>
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; </div>
<div class="line"><a name="l00473"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18ad699bdf1731bd839b56c299536ba1d9d"> 473</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18ad699bdf1731bd839b56c299536ba1d9d">CROSS</a>,</div>
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; </div>
<div class="line"><a name="l00481"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18ab0af70328b3e18dfb0008306fccef2de"> 481</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18ab0af70328b3e18dfb0008306fccef2de">MAKEACTIVE</a>,</div>
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; </div>
<div class="line"><a name="l00488"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a2270aed8867e84e996306402cfa4f5d5"> 488</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a2270aed8867e84e996306402cfa4f5d5">MAKEINACTIVE</a>,</div>
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; </div>
<div class="line"><a name="l00496"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a60b0c4db87e990aa84b63ba1990aa41e"> 496</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a60b0c4db87e990aa84b63ba1990aa41e">MAKECHAININACTIVE</a>,</div>
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; </div>
<div class="line"><a name="l00503"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a37a8c9623d7eaef96c74865483fe8e8b"> 503</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a37a8c9623d7eaef96c74865483fe8e8b">SWAPACTIVE</a>,</div>
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; </div>
<div class="line"><a name="l00515"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a952b4c317733a065c74841dc00fe8bd9"> 515</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a952b4c317733a065c74841dc00fe8bd9">EXTENDEDSWAPACTIVE</a>,</div>
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; </div>
<div class="line"><a name="l00524"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a9ea125a691a8fb716dc09ac09db7c4f3"> 524</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a9ea125a691a8fb716dc09ac09db7c4f3">PATHLNS</a>,</div>
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; </div>
<div class="line"><a name="l00528"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a935985d0022c026978eace7ff7cd5f7a"> 528</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a935985d0022c026978eace7ff7cd5f7a">FULLPATHLNS</a>,</div>
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; </div>
<div class="line"><a name="l00533"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a9fe88872d52e4a1fead358f9f6b57408"> 533</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a9fe88872d52e4a1fead358f9f6b57408">UNACTIVELNS</a>,</div>
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; </div>
<div class="line"><a name="l00543"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a5d249e853c4031947f979fe903390dfb"> 543</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a5d249e853c4031947f979fe903390dfb">INCREMENT</a>,</div>
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; </div>
<div class="line"><a name="l00548"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18acd27a3a13d233019cec19a2423d65a84"> 548</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18acd27a3a13d233019cec19a2423d65a84">DECREMENT</a>,</div>
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; </div>
<div class="line"><a name="l00557"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a4741235246c97963a5a5316382888a58"> 557</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18a4741235246c97963a5a5316382888a58">SIMPLELNS</a></div>
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; };</div>
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; </div>
<div class="line"><a name="l00562"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4"> 562</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="l00567"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4a2e646463fe193258a090a50ba806fd6e"> 567</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4a2e646463fe193258a090a50ba806fd6e">LK</a>,</div>
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; </div>
<div class="line"><a name="l00575"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4a092684b466c2d8f6dffcc4fcc45a4c87"> 575</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4a092684b466c2d8f6dffcc4fcc45a4c87">TSPOPT</a>,</div>
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; </div>
<div class="line"><a name="l00583"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4af23b5d9059cb973667272b793cfd37b1"> 583</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4af23b5d9059cb973667272b793cfd37b1">TSPLNS</a></div>
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; };</div>
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; </div>
<div class="line"><a name="l00590"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#afd2d924f019d44bc99930a1e931a735f"> 590</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="l00592"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#afd2d924f019d44bc99930a1e931a735fa558711b4a2a25070b970d85f5926d5ce"> 592</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#afd2d924f019d44bc99930a1e931a735fa558711b4a2a25070b970d85f5926d5ce">GE</a>,</div>
<div class="line"><a name="l00594"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#afd2d924f019d44bc99930a1e931a735fa662ed4b51721a45f07d645d4ca099a61"> 594</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#afd2d924f019d44bc99930a1e931a735fa662ed4b51721a45f07d645d4ca099a61">LE</a>,</div>
<div class="line"><a name="l00597"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#afd2d924f019d44bc99930a1e931a735fa9efdc855f3c1477957fb50affec07f8f"> 597</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#afd2d924f019d44bc99930a1e931a735fa9efdc855f3c1477957fb50affec07f8f">EQ</a></div>
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; };</div>
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; </div>
<div class="line"><a name="l00603"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7"> 603</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="l00606"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7ad38fb80cf0d5468a2b5efdb0f4cd6068"> 606</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7ad38fb80cf0d5468a2b5efdb0f4cd6068">DELAYED_PRIORITY</a> = 0,</div>
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; </div>
<div class="line"><a name="l00609"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7a29446873dacaf3696a89dfb1e617a5f5"> 609</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7a29446873dacaf3696a89dfb1e617a5f5">VAR_PRIORITY</a> = 1,</div>
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; </div>
<div class="line"><a name="l00612"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7ae3e3c3d5bc2f8ac679a0b7e92b3d51d4"> 612</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a293233c46e5eaa308f65c7c2350553f7ae3e3c3d5bc2f8ac679a0b7e92b3d51d4">NORMAL_PRIORITY</a> = 2,</div>
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; };</div>
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; </div>
<div class="line"><a name="l00617"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3ee"> 617</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="l00619"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea29cfeeb371c7d823879651fcc292b506"> 619</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea29cfeeb371c7d823879651fcc292b506">ENDS_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#a6f66063ebaf61025e27e96719affa3eea2cd72254b0dd1dda48ed752e83ee9134"> 622</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea2cd72254b0dd1dda48ed752e83ee9134">ENDS_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#a6f66063ebaf61025e27e96719affa3eea61a202b9f100a27fb46a01bb6df0d204"> 625</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea61a202b9f100a27fb46a01bb6df0d204">ENDS_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#a6f66063ebaf61025e27e96719affa3eea88697fd0942f9936f586e4b207b79c43"> 628</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea88697fd0942f9936f586e4b207b79c43">ENDS_AT_START</a>,</div>
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; </div>
<div class="line"><a name="l00631"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea8b5fc701937b54e1a8e1a20217d6ecc8"> 631</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea8b5fc701937b54e1a8e1a20217d6ecc8">STARTS_AFTER_END</a>,</div>
<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; </div>
<div class="line"><a name="l00634"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eead3be31fc0d8d6b4b1b6cc9d4c7d56b6d"> 634</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eead3be31fc0d8d6b4b1b6cc9d4c7d56b6d">STARTS_AFTER_START</a>,</div>
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; </div>
<div class="line"><a name="l00637"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea84f5967fcb10aab5eca121b2c2c49962"> 637</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea84f5967fcb10aab5eca121b2c2c49962">STARTS_AT_END</a>,</div>
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; </div>
<div class="line"><a name="l00640"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eead67d355a596ac71eee986c09b95fc7a7"> 640</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eead67d355a596ac71eee986c09b95fc7a7">STARTS_AT_START</a>,</div>
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; </div>
<div class="line"><a name="l00645"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea455236af8bc26bb8737135982eaf82ec"> 645</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3eea455236af8bc26bb8737135982eaf82ec">STAYS_IN_SYNC</a></div>
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; };</div>
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; </div>
<div class="line"><a name="l00650"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9"> 650</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="l00652"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a72251c14868838649397bde6418180b1"> 652</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a72251c14868838649397bde6418180b1">ENDS_AFTER</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#a46ad005bf538f19f4f1a45b357561be9a98ab67334c0eb09294e4b45c0b9bf0e6"> 655</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a98ab67334c0eb09294e4b45c0b9bf0e6">ENDS_AT</a>,</div>
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; </div>
<div class="line"><a name="l00658"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a308666e688531b5c046acba00818b430"> 658</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a308666e688531b5c046acba00818b430">ENDS_BEFORE</a>,</div>
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; </div>
<div class="line"><a name="l00661"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9aa274cc3721a080e1da5a802d08ec3020"> 661</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9aa274cc3721a080e1da5a802d08ec3020">STARTS_AFTER</a>,</div>
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; </div>
<div class="line"><a name="l00664"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a891299d49e4d9260e2e3e616a46315ac"> 664</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a891299d49e4d9260e2e3e616a46315ac">STARTS_AT</a>,</div>
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; </div>
<div class="line"><a name="l00667"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a8599203b59bbc2a25250b38cdca05131"> 667</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a8599203b59bbc2a25250b38cdca05131">STARTS_BEFORE</a>,</div>
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; </div>
<div class="line"><a name="l00672"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9ad7aa7196294c28c75de78687f43297a9"> 672</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9ad7aa7196294c28c75de78687f43297a9">CROSS_DATE</a>,</div>
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; </div>
<div class="line"><a name="l00677"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a59a769807fd4d1f4a9bab3dcbe120cd4"> 677</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9a59a769807fd4d1f4a9bab3dcbe120cd4">AVOID_DATE</a></div>
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; };</div>
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; </div>
<div class="line"><a name="l00685"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42"> 685</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="l00688"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42a7fb0c1cca10ff57ae7aa3878ba530fbd"> 688</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42a7fb0c1cca10ff57ae7aa3878ba530fbd">NO_CHANGE</a>,</div>
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; </div>
<div class="line"><a name="l00693"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42aada39bb20e37e40f59106944e788ba5f"> 693</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42aada39bb20e37e40f59106944e788ba5f">KEEP_LEFT</a>,</div>
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; </div>
<div class="line"><a name="l00698"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42a88616f3dde57f98df3022d5038d932d5"> 698</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42a88616f3dde57f98df3022d5038d932d5">KEEP_RIGHT</a>,</div>
<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; </div>
<div class="line"><a name="l00702"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42ac43e64ba97da5ab5a9a8a04e3ed17f5f"> 702</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42ac43e64ba97da5ab5a9a8a04e3ed17f5f">KILL_BOTH</a>,</div>
<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; </div>
<div class="line"><a name="l00706"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42a86c6abc5840755b64f8f2a49f3f6b998"> 706</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a074172434184dde98798ed6590206d42a86c6abc5840755b64f8f2a49f3f6b998">SWITCH_BRANCHES</a></div>
<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; };</div>
<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; </div>
<div class="line"><a name="l00711"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ade22213fff69cfb37d8238e8fd3073dfa130783c98d7f7c30575fedebbd7e66f7"> 711</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="l00712"></a><span class="lineno"> 712</span>&#160; </div>
<div class="line"><a name="l00714"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63"> 714</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="l00716"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63a7d249934db0928e26d2f3b6944be88ea"> 716</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63a7d249934db0928e26d2f3b6944be88ea">OUTSIDE_SEARCH</a>,</div>
<div class="line"><a name="l00718"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63aa56e94e3036709f508e8e2e59723a351"> 718</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63aa56e94e3036709f508e8e2e59723a351">IN_ROOT_NODE</a>,</div>
<div class="line"><a name="l00720"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63adf2a840a07b929c95099a490d2e4d013"> 720</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63adf2a840a07b929c95099a490d2e4d013">IN_SEARCH</a>,</div>
<div class="line"><a name="l00722"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63a6ee4694724cd35dac21d0f5db73c8650"> 722</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63a6ee4694724cd35dac21d0f5db73c8650">AT_SOLUTION</a>,</div>
<div class="line"><a name="l00724"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63add25344bb7ad4909b32071d980355ca5"> 724</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63add25344bb7ad4909b32071d980355ca5">NO_MORE_SOLUTIONS</a>,</div>
<div class="line"><a name="l00726"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63a7972193a63e28794798706309ffa1a13"> 726</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63a7972193a63e28794798706309ffa1a13">PROBLEM_INFEASIBLE</a></div>
<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; };</div>
<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; </div>
<div class="line"><a name="l00730"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a39a89fa3de66d68071c66a936f17fd2b"> 730</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="l00731"></a><span class="lineno"> 731</span>&#160; </div>
<div class="line"><a name="l00733"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#aa9726f5458b77973475a32178fe512b3"> 733</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="l00734"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321"> 734</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="l00735"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a86570ad216b68c88de1ef27085e3d084"> 735</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="l00736"></a><span class="lineno"> 736</span>&#160; </div>
<div class="line"><a name="l00737"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a021ae5a2766d4ccaa133a5bbb5398464"> 737</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="l00738"></a><span class="lineno"> 738</span>&#160; </div>
<div class="line"><a name="l00739"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#adbfd1fe2611bc7b45421ae81d66d7444"> 739</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="l00740"></a><span class="lineno"> 740</span>&#160; </div>
<div class="line"><a name="l00741"></a><span class="lineno"> 741</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="l00742"></a><span class="lineno"> 742</span>&#160; int64 first_unbound, int64 last_unbound)&gt;</div>
<div class="line"><a name="l00743"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ad033e75848b4956d869473cbabd949ad"> 743</a></span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ad033e75848b4956d869473cbabd949ad">VariableIndexSelector</a>;</div>
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; </div>
<div class="line"><a name="l00745"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ae69f986ba3ecb59d0c4fbc48ae76fa34"> 745</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="l00746"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a3094f1982f455fd97342c64b7c0b3ccf"> 746</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="l00747"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ae57bc6f29c7b4343cb90aa1946ce1869"> 747</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="l00748"></a><span class="lineno"> 748</span>&#160; <span class="comment">// TODO(user): wrap in swig.</span></div>
<div class="line"><a name="l00749"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ad7946514ee3dd6cb3ab993dc9e98b33b"> 749</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="l00750"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ad4c4d0d62a6d65debcff4437948435a1"> 750</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="l00751"></a><span class="lineno"> 751</span>&#160; </div>
<div class="line"><a name="l00753"></a><span class="lineno"> 753</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="l00754"></a><span class="lineno"> 754</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> <a class="code" href="classoperations__research_1_1ConstraintSolverParameters.html">ConstraintSolverParameters</a>&amp; <a class="code" href="classoperations__research_1_1Solver.html#a2a0b93a70f0d588f157ade7909c42eff">parameters</a>);</div>
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#af2496fe19ff323bd292f75b4f6db640d">~Solver</a>();</div>
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; </div>
<div class="line"><a name="l00758"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a2a0b93a70f0d588f157ade7909c42eff"> 758</a></span>&#160; <a class="code" href="classoperations__research_1_1ConstraintSolverParameters.html">ConstraintSolverParameters</a> <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="l00760"></a><span class="lineno"> 760</span>&#160; <span class="comment">// TODO(user): Move to constraint_solver_parameters.h.</span></div>
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; <span class="keyword">static</span> <a class="code" href="classoperations__research_1_1ConstraintSolverParameters.html">ConstraintSolverParameters</a> <a class="code" href="classoperations__research_1_1Solver.html#a832486e7bf6410f8986237876356f447">DefaultSolverParameters</a>();</div>
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; </div>
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; </div>
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div>
<div class="line"><a name="l00769"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a0544697ab645219c7ed34fd2c19e5033"> 769</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="l00770"></a><span class="lineno"> 770</span>&#160; InternalSaveValue(o);</div>
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; }</div>
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; </div>
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00786"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab741cb25dd32d1cbe02fbfb36337d9bb"> 786</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="l00787"></a><span class="lineno"> 787</span>&#160; <span class="keywordflow">return</span> reinterpret_cast&lt;T*&gt;(SafeRevAlloc(<span class="keywordtype">object</span>));</div>
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; }</div>
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; </div>
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00797"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ac87467b3998f36ab28b7cad51fe16a68"> 797</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="l00798"></a><span class="lineno"> 798</span>&#160; <span class="keywordflow">return</span> reinterpret_cast&lt;T*&gt;(SafeRevAllocArray(<span class="keywordtype">object</span>));</div>
<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; }</div>
<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; </div>
<div class="line"><a name="l00834"></a><span class="lineno"> 834</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="l00838"></a><span class="lineno"> 838</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="l00839"></a><span class="lineno"> 839</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="l00840"></a><span class="lineno"> 840</span>&#160; </div>
<div class="line"><a name="l00882"></a><span class="lineno"> 882</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="l00883"></a><span class="lineno"> 883</span>&#160; <span class="keyword">const</span> std::vector&lt;SearchMonitor*&gt;&amp; monitors);</div>
<div class="line"><a name="l00884"></a><span class="lineno"> 884</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="l00885"></a><span class="lineno"> 885</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="l00886"></a><span class="lineno"> 886</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="l00887"></a><span class="lineno"> 887</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="l00888"></a><span class="lineno"> 888</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="l00889"></a><span class="lineno"> 889</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="l00890"></a><span class="lineno"> 890</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="l00891"></a><span class="lineno"> 891</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="l00892"></a><span class="lineno"> 892</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="l00894"></a><span class="lineno"> 894</span>&#160; </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">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="l00905"></a><span class="lineno"> 905</span>&#160; <span class="keyword">const</span> std::vector&lt;SearchMonitor*&gt;&amp; monitors);</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#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="l00907"></a><span class="lineno"> 907</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="l00908"></a><span class="lineno"> 908</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="l00909"></a><span class="lineno"> 909</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="l00910"></a><span class="lineno"> 910</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="l00911"></a><span class="lineno"> 911</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="l00912"></a><span class="lineno"> 912</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="l00913"></a><span class="lineno"> 913</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="l00914"></a><span class="lineno"> 914</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="l00915"></a><span class="lineno"> 915</span>&#160; </div>
<div class="line"><a name="l00916"></a><span class="lineno"> 916</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="l00917"></a><span class="lineno"> 917</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="l00918"></a><span class="lineno"> 918</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="l00920"></a><span class="lineno"> 920</span>&#160; </div>
<div class="line"><a name="l00929"></a><span class="lineno"> 929</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="l00930"></a><span class="lineno"> 930</span>&#160; <span class="keyword">const</span> std::vector&lt;SearchMonitor*&gt;&amp; monitors);</div>
<div class="line"><a name="l00931"></a><span class="lineno"> 931</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="l00932"></a><span class="lineno"> 932</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="l00933"></a><span class="lineno"> 933</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="l00934"></a><span class="lineno"> 934</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="l00935"></a><span class="lineno"> 935</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="l00936"></a><span class="lineno"> 936</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="l00937"></a><span class="lineno"> 937</span>&#160; </div>
<div class="line"><a name="l00939"></a><span class="lineno"> 939</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="l00940"></a><span class="lineno"> 940</span>&#160; </div>
<div class="line"><a name="l00944"></a><span class="lineno"> 944</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="l00945"></a><span class="lineno"> 945</span>&#160; </div>
<div class="line"><a name="l00947"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a0094fe4296645dbe40d2c5377772e6eb"> 947</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="l00948"></a><span class="lineno"> 948</span>&#160; </div>
<div class="line"><a name="l00950"></a><span class="lineno"> 950</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="l00951"></a><span class="lineno"> 951</span>&#160; </div>
<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l00953"></a><span class="lineno"> 953</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="l00958"></a><span class="lineno"> 958</span>&#160;<span class="preprocessor">#endif </span></div>
<div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160;<span class="preprocessor"></span> </div>
<div class="line"><a name="l00960"></a><span class="lineno"> 960</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="l00962"></a><span class="lineno"> 962</span>&#160; </div>
<div class="line"><a name="l00964"></a><span class="lineno"> 964</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="l00965"></a><span class="lineno"> 965</span>&#160; </div>
<div class="line"><a name="l00970"></a><span class="lineno"> 970</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="l00971"></a><span class="lineno"> 971</span>&#160; </div>
<div class="line"><a name="l00974"></a><span class="lineno"> 974</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="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#ad01c3a2fbfb388d917899ad983415d02"> 977</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="l00978"></a><span class="lineno"> 978</span>&#160; </div>
<div class="line"><a name="l00980"></a><span class="lineno"> 980</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="l00981"></a><span class="lineno"> 981</span>&#160; </div>
<div class="line"><a name="l00983"></a><span class="lineno"> 983</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="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#a2fcb72958195336902eeca6bad65b001"> 986</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="l00987"></a><span class="lineno"> 987</span>&#160; </div>
<div class="line"><a name="l00989"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a2b05840b09f4ab5632470987f01e11e1"> 989</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="l00990"></a><span class="lineno"> 990</span>&#160; </div>
<div class="line"><a name="l00992"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a8dad51ecad4cc1aa2ff3fb0d0e3adfd6"> 992</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="l00993"></a><span class="lineno"> 993</span>&#160; </div>
<div class="line"><a name="l00995"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#aa94a5c3decf35c8ba0ebdec210bc38e6"> 995</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="l00996"></a><span class="lineno"> 996</span>&#160; </div>
<div class="line"><a name="l00998"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a85b32a82ff9c91dd572222116e4a0adb"> 998</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="l00999"></a><span class="lineno"> 999</span>&#160; </div>
<div class="line"><a name="l01002"></a><span class="lineno"> 1002</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="l01003"></a><span class="lineno"> 1003</span>&#160; </div>
<div class="line"><a name="l01005"></a><span class="lineno"> 1005</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="l01006"></a><span class="lineno"> 1006</span>&#160; </div>
<div class="line"><a name="l01008"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#affa6c6c872b17ceee95a3cd7f24f6848"> 1008</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="l01009"></a><span class="lineno"> 1009</span>&#160; <span class="keywordflow">return</span> optimization_direction_;</div>
<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160; }</div>
<div class="line"><a name="l01011"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a8bff6cc5ae227e109c6765b4c6809eb3"> 1011</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="l01012"></a><span class="lineno"> 1012</span>&#160; optimization_direction_ = direction;</div>
<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160; }</div>
<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160; </div>
<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; <span class="comment">// All factories (MakeXXX methods) encapsulate creation of objects</span></div>
<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160; <span class="comment">// through RevAlloc(). Hence, the Solver used for allocating the</span></div>
<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160; <span class="comment">// returned object will retain ownership of the allocated memory.</span></div>
<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160; <span class="comment">// Destructors are called upon backtrack, or when the Solver is</span></div>
<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160; <span class="comment">// itself destructed.</span></div>
<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; </div>
<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160; <span class="comment">// ----- Int Variables and Constants -----</span></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>(int64 min, int64 max, <span class="keyword">const</span> std::string&amp; name);</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;int64&gt;&amp; values, <span class="keyword">const</span> std::string&amp; name);</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#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="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#ad9496d193007a5bd9ec07aeb652849ce">MakeIntVar</a>(int64 min, int64 max);</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#ad9496d193007a5bd9ec07aeb652849ce">MakeIntVar</a>(<span class="keyword">const</span> std::vector&lt;int64&gt;&amp; values);</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#ad9496d193007a5bd9ec07aeb652849ce">MakeIntVar</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; values);</div>
<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; </div>
<div class="line"><a name="l01042"></a><span class="lineno"> 1042</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="l01043"></a><span class="lineno"> 1043</span>&#160; </div>
<div class="line"><a name="l01045"></a><span class="lineno"> 1045</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="l01046"></a><span class="lineno"> 1046</span>&#160; </div>
<div class="line"><a name="l01048"></a><span class="lineno"> 1048</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="l01049"></a><span class="lineno"> 1049</span>&#160; </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#a3460e6ccb606b0169c9ad76e7eeffa35">MakeIntConst</a>(int64 val);</div>
<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160; </div>
<div class="line"><a name="l01056"></a><span class="lineno"> 1056</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="l01057"></a><span class="lineno"> 1057</span>&#160; <span class="keyword">const</span> std::string&amp; name, std::vector&lt;IntVar*&gt;* vars);</div>
<div class="line"><a name="l01060"></a><span class="lineno"> 1060</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="l01061"></a><span class="lineno"> 1061</span>&#160; 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#a9d344e39533044ecf046177a9bf3e6ca">MakeIntVarArray</a>(<span class="keywordtype">int</span> var_count, int64 vmin, int64 vmax,</div>
<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160; <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160; </div>
<div class="line"><a name="l01069"></a><span class="lineno"> 1069</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="l01070"></a><span class="lineno"> 1070</span>&#160; std::vector&lt;IntVar*&gt;* vars);</div>
<div class="line"><a name="l01073"></a><span class="lineno"> 1073</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="l01075"></a><span class="lineno"> 1075</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="l01076"></a><span class="lineno"> 1076</span>&#160; </div>
<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160; <span class="comment">// ----- Integer Expressions -----</span></div>
<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160; </div>
<div class="line"><a name="l01080"></a><span class="lineno"> 1080</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="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#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="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#a809377fb3a691832a21e2238176eee22">MakeSum</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars);</div>
<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160; </div>
<div class="line"><a name="l01087"></a><span class="lineno"> 1087</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="l01088"></a><span class="lineno"> 1088</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; coefs);</div>
<div class="line"><a name="l01090"></a><span class="lineno"> 1090</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="l01091"></a><span class="lineno"> 1091</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; coefs);</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#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="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#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="l01098"></a><span class="lineno"> 1098</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="l01099"></a><span class="lineno"> 1099</span>&#160; </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#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="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#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="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#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="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#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="l01109"></a><span class="lineno"> 1109</span>&#160; </div>
<div class="line"><a name="l01111"></a><span class="lineno"> 1111</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="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#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="l01115"></a><span class="lineno"> 1115</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="l01116"></a><span class="lineno"> 1116</span>&#160; </div>
<div class="line"><a name="l01118"></a><span class="lineno"> 1118</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="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#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="l01121"></a><span class="lineno"> 1121</span>&#160; </div>
<div class="line"><a name="l01125"></a><span class="lineno"> 1125</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="l01132"></a><span class="lineno"> 1132</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="l01133"></a><span class="lineno"> 1133</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="l01135"></a><span class="lineno"> 1135</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="l01136"></a><span class="lineno"> 1136</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="l01137"></a><span class="lineno"> 1137</span>&#160; </div>
<div class="line"><a name="l01139"></a><span class="lineno"> 1139</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="l01140"></a><span class="lineno"> 1140</span>&#160; </div>
<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></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>* <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="l01144"></a><span class="lineno"> 1144</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* argument);</div>
<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;<span class="preprocessor">#endif // SWIG</span></div>
<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160; </div>
<div class="line"><a name="l01149"></a><span class="lineno"> 1149</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="l01150"></a><span class="lineno"> 1150</span>&#160; </div>
<div class="line"><a name="l01152"></a><span class="lineno"> 1152</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="l01153"></a><span class="lineno"> 1153</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="l01154"></a><span class="lineno"> 1154</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="l01155"></a><span class="lineno"> 1155</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="l01156"></a><span class="lineno"> 1156</span>&#160; </div>
<div class="line"><a name="l01158"></a><span class="lineno"> 1158</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="l01160"></a><span class="lineno"> 1160</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="l01162"></a><span class="lineno"> 1162</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="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#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="l01165"></a><span class="lineno"> 1165</span>&#160; </div>
<div class="line"><a name="l01167"></a><span class="lineno"> 1167</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="l01169"></a><span class="lineno"> 1169</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="l01171"></a><span class="lineno"> 1171</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="l01173"></a><span class="lineno"> 1173</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="l01174"></a><span class="lineno"> 1174</span>&#160; </div>
<div class="line"><a name="l01176"></a><span class="lineno"> 1176</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="l01177"></a><span class="lineno"> 1177</span>&#160; int64 early_date, int64 late_date,</div>
<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160; int64 late_cost);</div>
<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160; </div>
<div class="line"><a name="l01182"></a><span class="lineno"> 1182</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="l01183"></a><span class="lineno"> 1183</span>&#160; int64 step);</div>
<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160; </div>
<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160; <span class="comment">// TODO(user): Investigate if we can merge all three piecewise linear</span></div>
<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160;<span class="comment"></span><span class="preprocessor">#ifndef SWIG</span></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>* <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="l01191"></a><span class="lineno"> 1191</span>&#160; <span class="keyword">const</span> PiecewiseLinearFunction&amp; f);</div>
<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160; </div>
<div class="line"><a name="l01195"></a><span class="lineno"> 1195</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="l01196"></a><span class="lineno"> 1196</span>&#160; </div>
<div class="line"><a name="l01198"></a><span class="lineno"> 1198</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="l01199"></a><span class="lineno"> 1199</span>&#160; </div>
<div class="line"><a name="l01201"></a><span class="lineno"> 1201</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="l01202"></a><span class="lineno"> 1202</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="l01203"></a><span class="lineno"> 1203</span>&#160; int64 unperformed_value);</div>
<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160; </div>
<div class="line"><a name="l01206"></a><span class="lineno"> 1206</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="l01208"></a><span class="lineno"> 1208</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="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#a3aa305ef1f0072ff4f640dc4ec8f4ad3">MakeFalseConstraint</a>(<span class="keyword">const</span> std::string&amp; explanation);</div>
<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>&#160; </div>
<div class="line"><a name="l01212"></a><span class="lineno"> 1212</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="l01213"></a><span class="lineno"> 1213</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="l01215"></a><span class="lineno"> 1215</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="l01217"></a><span class="lineno"> 1217</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="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#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="l01221"></a><span class="lineno"> 1221</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="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#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="l01225"></a><span class="lineno"> 1225</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="l01226"></a><span class="lineno"> 1226</span>&#160; </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#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="l01229"></a><span class="lineno"> 1229</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="l01231"></a><span class="lineno"> 1231</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="l01233"></a><span class="lineno"> 1233</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="l01235"></a><span class="lineno"> 1235</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="l01236"></a><span class="lineno"> 1236</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="l01238"></a><span class="lineno"> 1238</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="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#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="l01242"></a><span class="lineno"> 1242</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="l01243"></a><span class="lineno"> 1243</span>&#160; </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#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="l01246"></a><span class="lineno"> 1246</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="l01248"></a><span class="lineno"> 1248</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="l01250"></a><span class="lineno"> 1250</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="l01252"></a><span class="lineno"> 1252</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="l01253"></a><span class="lineno"> 1253</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="l01255"></a><span class="lineno"> 1255</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="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#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="l01259"></a><span class="lineno"> 1259</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="l01260"></a><span class="lineno"> 1260</span>&#160; </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#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="l01263"></a><span class="lineno"> 1263</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="l01265"></a><span class="lineno"> 1265</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="l01267"></a><span class="lineno"> 1267</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="l01269"></a><span class="lineno"> 1269</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="l01270"></a><span class="lineno"> 1270</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="l01272"></a><span class="lineno"> 1272</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="l01274"></a><span class="lineno"> 1274</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="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#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="l01277"></a><span class="lineno"> 1277</span>&#160; </div>
<div class="line"><a name="l01279"></a><span class="lineno"> 1279</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="l01281"></a><span class="lineno"> 1281</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="l01283"></a><span class="lineno"> 1283</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="l01285"></a><span class="lineno"> 1285</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="l01286"></a><span class="lineno"> 1286</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="l01288"></a><span class="lineno"> 1288</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="l01290"></a><span class="lineno"> 1290</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="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#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="l01293"></a><span class="lineno"> 1293</span>&#160; </div>
<div class="line"><a name="l01295"></a><span class="lineno"> 1295</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="l01297"></a><span class="lineno"> 1297</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="l01299"></a><span class="lineno"> 1299</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="l01301"></a><span class="lineno"> 1301</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="l01302"></a><span class="lineno"> 1302</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="l01304"></a><span class="lineno"> 1304</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="l01306"></a><span class="lineno"> 1306</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="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#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="l01309"></a><span class="lineno"> 1309</span>&#160; </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#a6b6a1511d224ecab80cd9092039cdab4">MakeSumLessOrEqual</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, int64 cst);</div>
<div class="line"><a name="l01312"></a><span class="lineno"> 1312</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="l01313"></a><span class="lineno"> 1313</span>&#160; int64 cst);</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#a6b56e4c66a5a1c9f198f176665a71c31">MakeSumEquality</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, int64 cst);</div>
<div class="line"><a name="l01315"></a><span class="lineno"> 1315</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="l01316"></a><span class="lineno"> 1316</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="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#afaf7a8e1a4d3570d580cd8137061d465">MakeScalProdEquality</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; coefficients,</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#afaf7a8e1a4d3570d580cd8137061d465">MakeScalProdEquality</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; coefficients,</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#afaf7a8e1a4d3570d580cd8137061d465">MakeScalProdEquality</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; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> target);</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#afaf7a8e1a4d3570d580cd8137061d465">MakeScalProdEquality</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; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> target);</div>
<div class="line"><a name="l01329"></a><span class="lineno"> 1329</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="l01330"></a><span class="lineno"> 1330</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; coeffs,</div>
<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160; int64 cst);</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#a9c2109e176dd548ba9e45f363e874bb7">MakeScalProdGreaterOrEqual</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; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; coeffs,</div>
<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160; int64 cst);</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#abb926f9d7c8c956ceca4f847fef5602c">MakeScalProdLessOrEqual</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; coefficients,</div>
<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160; int64 cst);</div>
<div class="line"><a name="l01338"></a><span class="lineno"> 1338</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="l01339"></a><span class="lineno"> 1339</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; coefficients,</div>
<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160; int64 cst);</div>
<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160; </div>
<div class="line"><a name="l01342"></a><span class="lineno"> 1342</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="l01343"></a><span class="lineno"> 1343</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="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#aa85ea2f18d279cee4727f179c354d924">MakeMaxEquality</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a name="l01345"></a><span class="lineno"> 1345</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="l01346"></a><span class="lineno"> 1346</span>&#160; </div>
<div class="line"><a name="l01347"></a><span class="lineno"> 1347</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="l01348"></a><span class="lineno"> 1348</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="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#a4254227d24caa66d4353bcd9949a5a91">MakeElementEquality</a>(<span class="keyword">const</span> std::vector&lt;int&gt;&amp; vals,</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, <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* <span class="keyword">const</span> target);</div>
<div class="line"><a name="l01351"></a><span class="lineno"> 1351</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="l01352"></a><span class="lineno"> 1352</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="l01353"></a><span class="lineno"> 1353</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="l01354"></a><span class="lineno"> 1354</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="l01356"></a><span class="lineno"> 1356</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="l01361"></a><span class="lineno"> 1361</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="l01362"></a><span class="lineno"> 1362</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="l01363"></a><span class="lineno"> 1363</span>&#160; </div>
<div class="line"><a name="l01366"></a><span class="lineno"> 1366</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="l01370"></a><span class="lineno"> 1370</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="l01371"></a><span class="lineno"> 1371</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l01372"></a><span class="lineno"> 1372</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="l01374"></a><span class="lineno"> 1374</span>&#160;<span class="preprocessor">#endif </span></div>
<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>&#160;<span class="preprocessor"> Demon* MakeClosureDemon(Closure closure);</span></div>
<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160; </div>
<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160; <span class="comment">// ----- Between and related constraints -----</span></div>
<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160; </div>
<div class="line"><a name="l01381"></a><span class="lineno"> 1381</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="l01382"></a><span class="lineno"> 1382</span>&#160; </div>
<div class="line"><a name="l01387"></a><span class="lineno"> 1387</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="l01388"></a><span class="lineno"> 1388</span>&#160; </div>
<div class="line"><a name="l01390"></a><span class="lineno"> 1390</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="l01391"></a><span class="lineno"> 1391</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="l01392"></a><span class="lineno"> 1392</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="l01393"></a><span class="lineno"> 1393</span>&#160; </div>
<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160; <span class="comment">// ----- Member and related constraints -----</span></div>
<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160; </div>
<div class="line"><a name="l01398"></a><span class="lineno"> 1398</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="l01399"></a><span class="lineno"> 1399</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; values);</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#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="l01401"></a><span class="lineno"> 1401</span>&#160; </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>* <span class="keyword">const</span> expr,</div>
<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; values);</div>
<div class="line"><a name="l01405"></a><span class="lineno"> 1405</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="l01406"></a><span class="lineno"> 1406</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; values);</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#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="l01410"></a><span class="lineno"> 1410</span>&#160; std::vector&lt;int64&gt; ends);</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#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="l01413"></a><span class="lineno"> 1413</span>&#160; std::vector&lt;int&gt; ends);</div>
<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l01415"></a><span class="lineno"> 1415</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="l01417"></a><span class="lineno"> 1417</span>&#160; SortedDisjointIntervalList intervals);</div>
<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160;<span class="preprocessor">#endif // !defined(SWIG)</span></div>
<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160; </div>
<div class="line"><a name="l01421"></a><span class="lineno"> 1421</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="l01422"></a><span class="lineno"> 1422</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; values,</div>
<div class="line"><a name="l01423"></a><span class="lineno"> 1423</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="l01424"></a><span class="lineno"> 1424</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="l01425"></a><span class="lineno"> 1425</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; values,</div>
<div class="line"><a name="l01426"></a><span class="lineno"> 1426</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="l01427"></a><span class="lineno"> 1427</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="l01428"></a><span class="lineno"> 1428</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; values);</div>
<div class="line"><a name="l01429"></a><span class="lineno"> 1429</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="l01430"></a><span class="lineno"> 1430</span>&#160; </div>
<div class="line"><a name="l01432"></a><span class="lineno"> 1432</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="l01433"></a><span class="lineno"> 1433</span>&#160; int64 max_count);</div>
<div class="line"><a name="l01435"></a><span class="lineno"> 1435</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="l01436"></a><span class="lineno"> 1436</span>&#160; int64 max_count);</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#a820d845133185a881cd6d9385ccc84cd">MakeCount</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars, int64 value,</div>
<div class="line"><a name="l01439"></a><span class="lineno"> 1439</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="l01440"></a><span class="lineno"> 1440</span>&#160; </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,</div>
<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; values,</div>
<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; cards);</div>
<div class="line"><a name="l01446"></a><span class="lineno"> 1446</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="l01447"></a><span class="lineno"> 1447</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; values,</div>
<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; cards);</div>
<div class="line"><a name="l01450"></a><span class="lineno"> 1450</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="l01451"></a><span class="lineno"> 1451</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; cards);</div>
<div class="line"><a name="l01454"></a><span class="lineno"> 1454</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="l01455"></a><span class="lineno"> 1455</span>&#160; int64 card_max, int64 card_size);</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; card_min,</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_max);</div>
<div class="line"><a name="l01465"></a><span class="lineno"> 1465</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="l01466"></a><span class="lineno"> 1466</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; card_min,</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; card_max);</div>
<div class="line"><a name="l01471"></a><span class="lineno"> 1471</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="l01472"></a><span class="lineno"> 1472</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; values,</div>
<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; card_min,</div>
<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; card_max);</div>
<div class="line"><a name="l01478"></a><span class="lineno"> 1478</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="l01479"></a><span class="lineno"> 1479</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; values,</div>
<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; card_min,</div>
<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; card_max);</div>
<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>&#160; </div>
<div class="line"><a name="l01487"></a><span class="lineno"> 1487</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="l01488"></a><span class="lineno"> 1488</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="l01489"></a><span class="lineno"> 1489</span>&#160; </div>
<div class="line"><a name="l01492"></a><span class="lineno"> 1492</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="l01493"></a><span class="lineno"> 1493</span>&#160; </div>
<div class="line"><a name="l01497"></a><span class="lineno"> 1497</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="l01498"></a><span class="lineno"> 1498</span>&#160; <span class="keywordtype">bool</span> stronger_propagation);</div>
<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>&#160; </div>
<div class="line"><a name="l01502"></a><span class="lineno"> 1502</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="l01503"></a><span class="lineno"> 1503</span>&#160; int64 escape_value);</div>
<div class="line"><a name="l01504"></a><span class="lineno"> 1504</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="l01505"></a><span class="lineno"> 1505</span>&#160; </div>
<div class="line"><a name="l01521"></a><span class="lineno"> 1521</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="l01522"></a><span class="lineno"> 1522</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; sorted);</div>
<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160; <span class="comment">// TODO(user): Add void MakeSortedArray(</span></div>
<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160; <span class="comment">// const std::vector&lt;IntVar*&gt;&amp; vars,</span></div>
<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>&#160; <span class="comment">// std::vector&lt;IntVar*&gt;* const sorted);</span></div>
<div class="line"><a name="l01526"></a><span class="lineno"> 1526</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#afa5e2b7b012186510cd89269b72537c3">MakeLexicalLess</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; left,</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; 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#a4cded1f6488e06e526733ac51b57bdbe">MakeLexicalLessOrEqual</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; left,</div>
<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; right);</div>
<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>&#160; </div>
<div class="line"><a name="l01541"></a><span class="lineno"> 1541</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="l01542"></a><span class="lineno"> 1542</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="l01543"></a><span class="lineno"> 1543</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#a07aba9fc032a1bb68b4165ff2068e6a6">MakeIndexOfFirstMaxValueConstraint</a>(</div>
<div class="line"><a name="l01547"></a><span class="lineno"> 1547</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="l01548"></a><span class="lineno"> 1548</span>&#160; </div>
<div class="line"><a name="l01551"></a><span class="lineno"> 1551</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="l01552"></a><span class="lineno"> 1552</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="l01553"></a><span class="lineno"> 1553</span>&#160; </div>
<div class="line"><a name="l01558"></a><span class="lineno"> 1558</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="l01559"></a><span class="lineno"> 1559</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; second_vars);</div>
<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>&#160; </div>
<div class="line"><a name="l01566"></a><span class="lineno"> 1566</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="l01567"></a><span class="lineno"> 1567</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; second_vars,</div>
<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160; int64 escape_value);</div>
<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160; </div>
<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160; <span class="comment">// TODO(user): Implement MakeAllNullIntersect taking an array of</span></div>
<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160; <span class="comment">// variable vectors.</span></div>
<div class="line"><a name="l01572"></a><span class="lineno"> 1572</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#a78ecf8b2aa6a036fbf0d17de18881462">MakeNoCycle</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; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; active,</div>
<div class="line"><a name="l01584"></a><span class="lineno"> 1584</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="l01585"></a><span class="lineno"> 1585</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="l01586"></a><span class="lineno"> 1586</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; active,</div>
<div class="line"><a name="l01587"></a><span class="lineno"> 1587</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="l01588"></a><span class="lineno"> 1588</span>&#160; </div>
<div class="line"><a name="l01590"></a><span class="lineno"> 1590</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="l01591"></a><span class="lineno"> 1591</span>&#160; </div>
<div class="line"><a name="l01594"></a><span class="lineno"> 1594</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="l01595"></a><span class="lineno"> 1595</span>&#160; </div>
<div class="line"><a name="l01600"></a><span class="lineno"> 1600</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="l01601"></a><span class="lineno"> 1601</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; active,</div>
<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; cumuls,</div>
<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; transits);</div>
<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160; <span class="comment">// TODO(user): Merge with other path-cumuls constraints.</span></div>
<div class="line"><a name="l01607"></a><span class="lineno"> 1607</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="l01608"></a><span class="lineno"> 1608</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; active,</div>
<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; cumuls,</div>
<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; transits);</div>
<div class="line"><a name="l01617"></a><span class="lineno"> 1617</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="l01618"></a><span class="lineno"> 1618</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; active,</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; cumuls,</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="l01621"></a><span class="lineno"> 1621</span>&#160; </div>
<div class="line"><a name="l01628"></a><span class="lineno"> 1628</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="l01629"></a><span class="lineno"> 1629</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; active,</div>
<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; cumuls,</div>
<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; slacks,</div>
<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> transit_evaluator);</div>
<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160; <span class="comment">// TODO(user): Only does checking on WhenBound events on next variables.</span></div>
<div class="line"><a name="l01637"></a><span class="lineno"> 1637</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="l01638"></a><span class="lineno"> 1638</span>&#160; std::vector&lt;int64&gt; sources,</div>
<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160; std::vector&lt;int64&gt; sinks,</div>
<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160; std::vector&lt;IntVar*&gt; status);</div>
<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>&#160;<span class="preprocessor">#ifndef SWIG</span></div>
<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>&#160; <span class="comment">// TODO(user): This constraint does not make holes in variable domains;</span></div>
<div class="line"><a name="l01647"></a><span class="lineno"> 1647</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="l01648"></a><span class="lineno"> 1648</span>&#160; std::vector&lt;IntVar*&gt; nexts,</div>
<div class="line"><a name="l01649"></a><span class="lineno"> 1649</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="l01658"></a><span class="lineno"> 1658</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="l01659"></a><span class="lineno"> 1659</span>&#160; std::vector&lt;IntVar*&gt; nexts,</div>
<div class="line"><a name="l01660"></a><span class="lineno"> 1660</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="l01661"></a><span class="lineno"> 1661</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; lifo_path_starts,</div>
<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; fifo_path_starts);</div>
<div class="line"><a name="l01665"></a><span class="lineno"> 1665</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="l01666"></a><span class="lineno"> 1666</span>&#160; std::vector&lt;IntVar*&gt; nexts, std::vector&lt;IntVar*&gt; transits,</div>
<div class="line"><a name="l01667"></a><span class="lineno"> 1667</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="l01668"></a><span class="lineno"> 1668</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01669"></a><span class="lineno"> 1669</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="l01673"></a><span class="lineno"> 1673</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; actives);</div>
<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160; </div>
<div class="line"><a name="l01679"></a><span class="lineno"> 1679</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="l01680"></a><span class="lineno"> 1680</span>&#160; <span class="keyword">const</span> IntTupleSet&amp; tuples);</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;int64&gt;&amp; final_states);</div>
<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160; </div>
<div class="line"><a name="l01701"></a><span class="lineno"> 1701</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="l01702"></a><span class="lineno"> 1702</span>&#160; <span class="keyword">const</span> IntTupleSet&amp; transition_table,</div>
<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>&#160; int64 initial_state,</div>
<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; final_states);</div>
<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>&#160; </div>
<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>&#160;<span class="preprocessor">#if defined(SWIGPYTHON)</span></div>
<div class="line"><a name="l01707"></a><span class="lineno"> 1707</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="l01709"></a><span class="lineno"> 1709</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a name="l01710"></a><span class="lineno"> 1710</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="l01711"></a><span class="lineno"> 1711</span>&#160; IntTupleSet tuples(vars.size());</div>
<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160; tuples.InsertAll(raw_tuples);</div>
<div class="line"><a name="l01713"></a><span class="lineno"> 1713</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="l01714"></a><span class="lineno"> 1714</span>&#160; }</div>
<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160; </div>
<div class="line"><a name="l01716"></a><span class="lineno"> 1716</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="l01717"></a><span class="lineno"> 1717</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a name="l01718"></a><span class="lineno"> 1718</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="l01719"></a><span class="lineno"> 1719</span>&#160; int64 initial_state, <span class="keyword">const</span> std::vector&lt;int&gt;&amp; final_states) {</div>
<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160; IntTupleSet transitions(3);</div>
<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160; transitions.InsertAll(raw_transitions);</div>
<div class="line"><a name="l01722"></a><span class="lineno"> 1722</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="l01723"></a><span class="lineno"> 1723</span>&#160; final_states);</div>
<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>&#160; }</div>
<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>&#160; </div>
<div class="line"><a name="l01735"></a><span class="lineno"> 1735</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="l01736"></a><span class="lineno"> 1736</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="l01737"></a><span class="lineno"> 1737</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="l01738"></a><span class="lineno"> 1738</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="l01739"></a><span class="lineno"> 1739</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="l01740"></a><span class="lineno"> 1740</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="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#ae05048905dc92a773e6158d796729935">MakeNonOverlappingBoxesConstraint</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;int&gt;&amp; x_size, <span class="keyword">const</span> std::vector&lt;int&gt;&amp; y_size);</div>
<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>&#160; </div>
<div class="line"><a name="l01753"></a><span class="lineno"> 1753</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="l01754"></a><span class="lineno"> 1754</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="l01755"></a><span class="lineno"> 1755</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="l01756"></a><span class="lineno"> 1756</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="l01757"></a><span class="lineno"> 1757</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="l01758"></a><span class="lineno"> 1758</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="l01759"></a><span class="lineno"> 1759</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="l01760"></a><span class="lineno"> 1760</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="l01761"></a><span class="lineno"> 1761</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="l01762"></a><span class="lineno"> 1762</span>&#160; </div>
<div class="line"><a name="l01768"></a><span class="lineno"> 1768</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="l01769"></a><span class="lineno"> 1769</span>&#160; </div>
<div class="line"><a name="l01774"></a><span class="lineno"> 1774</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="l01775"></a><span class="lineno"> 1775</span>&#160; int64 duration, <span class="keywordtype">bool</span> optional,</div>
<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>&#160; <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>&#160; </div>
<div class="line"><a name="l01780"></a><span class="lineno"> 1780</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="l01781"></a><span class="lineno"> 1781</span>&#160; <span class="keywordtype">int</span> count, int64 start_min, int64 start_max, int64 duration,</div>
<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>&#160; <span class="keywordtype">bool</span> optional, <span class="keyword">const</span> std::string&amp; name,</div>
<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span>&#160; std::vector&lt;IntervalVar*&gt;* <span class="keyword">const</span> array);</div>
<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span>&#160; </div>
<div class="line"><a name="l01787"></a><span class="lineno"> 1787</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="l01788"></a><span class="lineno"> 1788</span>&#160; int64 duration,</div>
<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span>&#160; <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span>&#160; </div>
<div class="line"><a name="l01793"></a><span class="lineno"> 1793</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="l01794"></a><span class="lineno"> 1794</span>&#160; int64 duration,</div>
<div class="line"><a name="l01795"></a><span class="lineno"> 1795</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="l01796"></a><span class="lineno"> 1796</span>&#160; <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>&#160; </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, int64 duration,</div>
<div class="line"><a name="l01802"></a><span class="lineno"> 1802</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="l01803"></a><span class="lineno"> 1803</span>&#160; </div>
<div class="line"><a name="l01806"></a><span class="lineno"> 1806</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="l01807"></a><span class="lineno"> 1807</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; start_variables,</div>
<div class="line"><a name="l01808"></a><span class="lineno"> 1808</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="l01809"></a><span class="lineno"> 1809</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; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a8ae40872f6abd544d1c191ac370b7e22">MakeFixedDurationIntervalVarArray</a>(</div>
<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; start_variables,</div>
<div class="line"><a name="l01814"></a><span class="lineno"> 1814</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="l01815"></a><span class="lineno"> 1815</span>&#160; std::vector&lt;IntervalVar*&gt;* <span class="keyword">const</span> array);</div>
<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span>&#160; </div>
<div class="line"><a name="l01819"></a><span class="lineno"> 1819</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="l01820"></a><span class="lineno"> 1820</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; start_variables,</div>
<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; durations,</div>
<div class="line"><a name="l01822"></a><span class="lineno"> 1822</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="l01823"></a><span class="lineno"> 1823</span>&#160; std::vector&lt;IntervalVar*&gt;* <span class="keyword">const</span> array);</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; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a8ae40872f6abd544d1c191ac370b7e22">MakeFixedDurationIntervalVarArray</a>(</div>
<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; start_variables,</div>
<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; durations,</div>
<div class="line"><a name="l01830"></a><span class="lineno"> 1830</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="l01831"></a><span class="lineno"> 1831</span>&#160; std::vector&lt;IntervalVar*&gt;* <span class="keyword">const</span> array);</div>
<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span>&#160; </div>
<div class="line"><a name="l01834"></a><span class="lineno"> 1834</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="l01835"></a><span class="lineno"> 1835</span>&#160; <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span>&#160; </div>
<div class="line"><a name="l01839"></a><span class="lineno"> 1839</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="l01840"></a><span class="lineno"> 1840</span>&#160; int64 duration_min, int64 duration_max,</div>
<div class="line"><a name="l01841"></a><span class="lineno"> 1841</span>&#160; int64 end_min, int64 end_max, <span class="keywordtype">bool</span> optional,</div>
<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span>&#160; <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span>&#160; </div>
<div class="line"><a name="l01846"></a><span class="lineno"> 1846</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="l01847"></a><span class="lineno"> 1847</span>&#160; int64 duration_min, int64 duration_max,</div>
<div class="line"><a name="l01848"></a><span class="lineno"> 1848</span>&#160; int64 end_min, int64 end_max, <span class="keywordtype">bool</span> optional,</div>
<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span>&#160; <span class="keyword">const</span> std::string&amp; name,</div>
<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span>&#160; std::vector&lt;IntervalVar*&gt;* <span class="keyword">const</span> array);</div>
<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span>&#160; </div>
<div class="line"><a name="l01854"></a><span class="lineno"> 1854</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="l01855"></a><span class="lineno"> 1855</span>&#160; </div>
<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span>&#160; IntervalVar* <a class="code" href="classoperations__research_1_1Solver.html#a1478a61951ca74ac52f9a709a8e35ca4">MakeFixedDurationStartSyncedOnStartIntervalVar</a>(</div>
<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span>&#160; IntervalVar* <span class="keyword">const</span> interval_var, int64 duration, int64 offset);</div>
<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span>&#160; </div>
<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span>&#160; IntervalVar* <a class="code" href="classoperations__research_1_1Solver.html#a61ee2e3d7ae7e07d071719aea568b3ac">MakeFixedDurationStartSyncedOnEndIntervalVar</a>(</div>
<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span>&#160; IntervalVar* <span class="keyword">const</span> interval_var, int64 duration, int64 offset);</div>
<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>&#160; </div>
<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span>&#160; IntervalVar* <a class="code" href="classoperations__research_1_1Solver.html#a40a4fcaeba627e64dcf5bc5abb850390">MakeFixedDurationEndSyncedOnStartIntervalVar</a>(</div>
<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span>&#160; IntervalVar* <span class="keyword">const</span> interval_var, int64 duration, int64 offset);</div>
<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span>&#160; </div>
<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>&#160; IntervalVar* <a class="code" href="classoperations__research_1_1Solver.html#a4b998b414ca9c282af12ed359e845677">MakeFixedDurationEndSyncedOnEndIntervalVar</a>(</div>
<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span>&#160; IntervalVar* <span class="keyword">const</span> interval_var, int64 duration, int64 offset);</div>
<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span>&#160; </div>
<div class="line"><a name="l01901"></a><span class="lineno"> 1901</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="l01902"></a><span class="lineno"> 1902</span>&#160; </div>
<div class="line"><a name="l01920"></a><span class="lineno"> 1920</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="l01921"></a><span class="lineno"> 1921</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#accc6ee62c5b500b6f4add4038e47499d">MakeIntervalVarRelation</a>(IntervalVar* <span class="keyword">const</span> t,</div>
<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a46ad005bf538f19f4f1a45b357561be9">UnaryIntervalRelation</a> r, int64 d);</div>
<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>&#160; </div>
<div class="line"><a name="l01928"></a><span class="lineno"> 1928</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="l01929"></a><span class="lineno"> 1929</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3ee">BinaryIntervalRelation</a> r,</div>
<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>&#160; IntervalVar* <span class="keyword">const</span> t2);</div>
<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>&#160; </div>
<div class="line"><a name="l01936"></a><span class="lineno"> 1936</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="l01937"></a><span class="lineno"> 1937</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6f66063ebaf61025e27e96719affa3ee">BinaryIntervalRelation</a> r,</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; int64 delay);</div>
<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>&#160; </div>
<div class="line"><a name="l01944"></a><span class="lineno"> 1944</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="l01945"></a><span class="lineno"> 1945</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="l01946"></a><span class="lineno"> 1946</span>&#160; </div>
<div class="line"><a name="l01949"></a><span class="lineno"> 1949</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="l01950"></a><span class="lineno"> 1950</span>&#160; IntervalVar* <span class="keyword">const</span> t2);</div>
<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span>&#160; </div>
<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>&#160; DisjunctiveConstraint* <a class="code" href="classoperations__research_1_1Solver.html#a3b2298e9d49d02d122c137532ac4e0a7">MakeDisjunctiveConstraint</a>(</div>
<div class="line"><a name="l01955"></a><span class="lineno"> 1955</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="l01956"></a><span class="lineno"> 1956</span>&#160; </div>
<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>&#160; DisjunctiveConstraint* <a class="code" href="classoperations__research_1_1Solver.html#a126deb47fb75837e86f4fccfe56c0a04">MakeStrictDisjunctiveConstraint</a>(</div>
<div class="line"><a name="l01961"></a><span class="lineno"> 1961</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="l01962"></a><span class="lineno"> 1962</span>&#160; </div>
<div class="line"><a name="l01972"></a><span class="lineno"> 1972</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="l01973"></a><span class="lineno"> 1973</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; demands, int64 capacity,</div>
<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span>&#160; <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>&#160; </div>
<div class="line"><a name="l01985"></a><span class="lineno"> 1985</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="l01986"></a><span class="lineno"> 1986</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; demands, int64 capacity,</div>
<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span>&#160; <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span>&#160; </div>
<div class="line"><a name="l01998"></a><span class="lineno"> 1998</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="l01999"></a><span class="lineno"> 1999</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; demands,</div>
<div class="line"><a name="l02000"></a><span class="lineno"> 2000</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="l02001"></a><span class="lineno"> 2001</span>&#160; </div>
<div class="line"><a name="l02011"></a><span class="lineno"> 2011</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="l02012"></a><span class="lineno"> 2012</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; demands,</div>
<div class="line"><a name="l02013"></a><span class="lineno"> 2013</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="l02014"></a><span class="lineno"> 2014</span>&#160; </div>
<div class="line"><a name="l02022"></a><span class="lineno"> 2022</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="l02023"></a><span class="lineno"> 2023</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; demands,</div>
<div class="line"><a name="l02024"></a><span class="lineno"> 2024</span>&#160; int64 capacity, <span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a name="l02025"></a><span class="lineno"> 2025</span>&#160; </div>
<div class="line"><a name="l02033"></a><span class="lineno"> 2033</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="l02034"></a><span class="lineno"> 2034</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; demands,</div>
<div class="line"><a name="l02035"></a><span class="lineno"> 2035</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="l02036"></a><span class="lineno"> 2036</span>&#160; </div>
<div class="line"><a name="l02042"></a><span class="lineno"> 2042</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="l02043"></a><span class="lineno"> 2043</span>&#160; IntervalVar* <span class="keyword">const</span> target_var);</div>
<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span>&#160; </div>
<div class="line"><a name="l02046"></a><span class="lineno"> 2046</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="l02047"></a><span class="lineno"> 2047</span>&#160; </div>
<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span>&#160; Assignment* <a class="code" href="classoperations__research_1_1Solver.html#a2f2bbfd462a65194763f65ea7d5ff39e">MakeAssignment</a>();</div>
<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span>&#160; </div>
<div class="line"><a name="l02052"></a><span class="lineno"> 2052</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="l02053"></a><span class="lineno"> 2053</span>&#160; </div>
<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span>&#160; SolutionCollector* <a class="code" href="classoperations__research_1_1Solver.html#accc6efd3a4ae0906e3d148ae7ab44db1">MakeFirstSolutionCollector</a>(</div>
<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span>&#160; <span class="keyword">const</span> Assignment* <span class="keyword">const</span> assignment);</div>
<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span>&#160; SolutionCollector* <a class="code" href="classoperations__research_1_1Solver.html#accc6efd3a4ae0906e3d148ae7ab44db1">MakeFirstSolutionCollector</a>();</div>
<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span>&#160; </div>
<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span>&#160; SolutionCollector* <a class="code" href="classoperations__research_1_1Solver.html#a73d2f116de177f1133bdbf21aa9c3f97">MakeLastSolutionCollector</a>(</div>
<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span>&#160; <span class="keyword">const</span> Assignment* <span class="keyword">const</span> assignment);</div>
<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span>&#160; SolutionCollector* <a class="code" href="classoperations__research_1_1Solver.html#a73d2f116de177f1133bdbf21aa9c3f97">MakeLastSolutionCollector</a>();</div>
<div class="line"><a name="l02067"></a><span class="lineno"> 2067</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#a8713de264f28d5c4b149e8a044254e45">MakeBestValueSolutionCollector</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">bool</span> maximize);</div>
<div class="line"><a name="l02079"></a><span class="lineno"> 2079</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="l02080"></a><span class="lineno"> 2080</span>&#160; </div>
<div class="line"><a name="l02084"></a><span class="lineno"> 2084</span>&#160; SolutionCollector* <a class="code" href="classoperations__research_1_1Solver.html#af49ee55f2f5486d39112cda34ebbdef6">MakeNBestValueSolutionCollector</a>(</div>
<div class="line"><a name="l02085"></a><span class="lineno"> 2085</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="l02086"></a><span class="lineno"> 2086</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="l02087"></a><span class="lineno"> 2087</span>&#160; <span class="keywordtype">bool</span> maximize);</div>
<div class="line"><a name="l02088"></a><span class="lineno"> 2088</span>&#160; </div>
<div class="line"><a name="l02090"></a><span class="lineno"> 2090</span>&#160; SolutionCollector* <a class="code" href="classoperations__research_1_1Solver.html#af2b25e4b01a3dbc9aae31a09c8f7a343">MakeAllSolutionCollector</a>(</div>
<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span>&#160; <span class="keyword">const</span> Assignment* <span class="keyword">const</span> assignment);</div>
<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span>&#160; SolutionCollector* <a class="code" href="classoperations__research_1_1Solver.html#af2b25e4b01a3dbc9aae31a09c8f7a343">MakeAllSolutionCollector</a>();</div>
<div class="line"><a name="l02095"></a><span class="lineno"> 2095</span>&#160; </div>
<div class="line"><a name="l02097"></a><span class="lineno"> 2097</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="l02098"></a><span class="lineno"> 2098</span>&#160; </div>
<div class="line"><a name="l02100"></a><span class="lineno"> 2100</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="l02101"></a><span class="lineno"> 2101</span>&#160; </div>
<div class="line"><a name="l02103"></a><span class="lineno"> 2103</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="l02104"></a><span class="lineno"> 2104</span>&#160; </div>
<div class="line"><a name="l02107"></a><span class="lineno"> 2107</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="l02108"></a><span class="lineno"> 2108</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; weights,</div>
<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span>&#160; int64 step);</div>
<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span>&#160; </div>
<div class="line"><a name="l02113"></a><span class="lineno"> 2113</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="l02114"></a><span class="lineno"> 2114</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; weights,</div>
<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span>&#160; int64 step);</div>
<div class="line"><a name="l02116"></a><span class="lineno"> 2116</span>&#160; </div>
<div class="line"><a name="l02118"></a><span class="lineno"> 2118</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="l02119"></a><span class="lineno"> 2119</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; weights,</div>
<div class="line"><a name="l02120"></a><span class="lineno"> 2120</span>&#160; int64 step);</div>
<div class="line"><a name="l02121"></a><span class="lineno"> 2121</span>&#160; </div>
<div class="line"><a name="l02123"></a><span class="lineno"> 2123</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="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; 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="l02129"></a><span class="lineno"> 2129</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; sub_objectives,</div>
<div class="line"><a name="l02130"></a><span class="lineno"> 2130</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; weights,</div>
<div class="line"><a name="l02131"></a><span class="lineno"> 2131</span>&#160; int64 step);</div>
<div class="line"><a name="l02132"></a><span class="lineno"> 2132</span>&#160; </div>
<div class="line"><a name="l02134"></a><span class="lineno"> 2134</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="l02135"></a><span class="lineno"> 2135</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; sub_objectives,</div>
<div class="line"><a name="l02136"></a><span class="lineno"> 2136</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; weights,</div>
<div class="line"><a name="l02137"></a><span class="lineno"> 2137</span>&#160; int64 step);</div>
<div class="line"><a name="l02138"></a><span class="lineno"> 2138</span>&#160; </div>
<div class="line"><a name="l02140"></a><span class="lineno"> 2140</span>&#160; </div>
<div class="line"><a name="l02156"></a><span class="lineno"> 2156</span>&#160; </div>
<div class="line"><a name="l02157"></a><span class="lineno"> 2157</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="l02158"></a><span class="lineno"> 2158</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a name="l02159"></a><span class="lineno"> 2159</span>&#160; int64 keep_tenure, int64 forbid_tenure,</div>
<div class="line"><a name="l02160"></a><span class="lineno"> 2160</span>&#160; <span class="keywordtype">double</span> tabu_factor);</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#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="l02165"></a><span class="lineno"> 2165</span>&#160; int64 step,</div>
<div class="line"><a name="l02166"></a><span class="lineno"> 2166</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; tabu_vars,</div>
<div class="line"><a name="l02167"></a><span class="lineno"> 2167</span>&#160; int64 forbid_tenure);</div>
<div class="line"><a name="l02168"></a><span class="lineno"> 2168</span>&#160; </div>
<div class="line"><a name="l02170"></a><span class="lineno"> 2170</span>&#160; <span class="comment">// TODO(user): document behavior</span></div>
<div class="line"><a name="l02171"></a><span class="lineno"> 2171</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="l02172"></a><span class="lineno"> 2172</span>&#160; int64 step, int64 initial_temperature);</div>
<div class="line"><a name="l02173"></a><span class="lineno"> 2173</span>&#160; </div>
<div class="line"><a name="l02176"></a><span class="lineno"> 2176</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="l02177"></a><span class="lineno"> 2177</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> objective_function,</div>
<div class="line"><a name="l02178"></a><span class="lineno"> 2178</span>&#160; int64 step,</div>
<div class="line"><a name="l02179"></a><span class="lineno"> 2179</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a name="l02180"></a><span class="lineno"> 2180</span>&#160; <span class="keywordtype">double</span> penalty_factor);</div>
<div class="line"><a name="l02181"></a><span class="lineno"> 2181</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="l02182"></a><span class="lineno"> 2182</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="l02183"></a><span class="lineno"> 2183</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a86570ad216b68c88de1ef27085e3d084">IndexEvaluator3</a> objective_function, int64 step,</div>
<div class="line"><a name="l02184"></a><span class="lineno"> 2184</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a name="l02185"></a><span class="lineno"> 2185</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="l02186"></a><span class="lineno"> 2186</span>&#160; </div>
<div class="line"><a name="l02190"></a><span class="lineno"> 2190</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="l02191"></a><span class="lineno"> 2191</span>&#160; </div>
<div class="line"><a name="l02194"></a><span class="lineno"> 2194</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="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#a57003ddd7c36d7d24a093eb1f06ff1e6">MakeTimeLimit</a>(int64 time_in_ms);</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#ab7a92ba110420d40d091f7ccb8aa6b01">MakeBranchesLimit</a>(int64 <a class="code" href="classoperations__research_1_1Solver.html#ad01c3a2fbfb388d917899ad983415d02">branches</a>);</div>
<div class="line"><a name="l02203"></a><span class="lineno"> 2203</span>&#160; </div>
<div class="line"><a name="l02206"></a><span class="lineno"> 2206</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="l02207"></a><span class="lineno"> 2207</span>&#160; </div>
<div class="line"><a name="l02210"></a><span class="lineno"> 2210</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="l02211"></a><span class="lineno"> 2211</span>&#160; </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>(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="l02215"></a><span class="lineno"> 2215</span>&#160; int64 <a class="code" href="classoperations__research_1_1Solver.html#a23ac09a78dbd8b39b2f63e9981947788">solutions</a>);</div>
<div class="line"><a name="l02218"></a><span class="lineno"> 2218</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="l02219"></a><span class="lineno"> 2219</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="l02222"></a><span class="lineno"> 2222</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="l02223"></a><span class="lineno"> 2223</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="l02224"></a><span class="lineno"> 2224</span>&#160; <span class="keywordtype">bool</span> cumulative);</div>
<div class="line"><a name="l02226"></a><span class="lineno"> 2226</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="l02227"></a><span class="lineno"> 2227</span>&#160; </div>
<div class="line"><a name="l02229"></a><span class="lineno"> 2229</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="l02230"></a><span class="lineno"> 2230</span>&#160; </div>
<div class="line"><a name="l02234"></a><span class="lineno"> 2234</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="l02235"></a><span class="lineno"> 2235</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="l02236"></a><span class="lineno"> 2236</span>&#160; </div>
<div class="line"><a name="l02239"></a><span class="lineno"> 2239</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="l02240"></a><span class="lineno"> 2240</span>&#160; </div>
<div class="line"><a name="l02241"></a><span class="lineno"> 2241</span>&#160; <span class="comment">// TODO(user): DEPRECATE API of MakeSearchLog(.., IntVar* var,..).</span></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);</div>
<div class="line"><a name="l02246"></a><span class="lineno"> 2246</span>&#160; </div>
<div class="line"><a name="l02248"></a><span class="lineno"> 2248</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="l02249"></a><span class="lineno"> 2249</span>&#160; </div>
<div class="line"><a name="l02252"></a><span class="lineno"> 2252</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="l02253"></a><span class="lineno"> 2253</span>&#160; std::function&lt;std::string()&gt; display_callback);</div>
<div class="line"><a name="l02254"></a><span class="lineno"> 2254</span>&#160; </div>
<div class="line"><a name="l02257"></a><span class="lineno"> 2257</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="l02258"></a><span class="lineno"> 2258</span>&#160; std::function&lt;std::string()&gt; display_callback);</div>
<div class="line"><a name="l02259"></a><span class="lineno"> 2259</span>&#160; </div>
<div class="line"><a name="l02262"></a><span class="lineno"> 2262</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="l02263"></a><span class="lineno"> 2263</span>&#160; </div>
<div class="line"><a name="l02266"></a><span class="lineno"> 2266</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="l02267"></a><span class="lineno"> 2267</span>&#160; std::function&lt;std::string()&gt; display_callback);</div>
<div class="line"><a name="l02268"></a><span class="lineno"> 2268</span>&#160; </div>
<div class="line"><a name="l02270"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1SearchLogParameters.html"> 2270</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="l02273"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1SearchLogParameters.html#a0bf4ffabed15383c43b3c5e2dc265832"> 2273</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="l02276"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1SearchLogParameters.html#a2c9d6d70a3357d2d6841660510cd6a19"> 2276</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="l02277"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1SearchLogParameters.html#acb71959af429e32049d2b911e4d92ac3"> 2277</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="l02281"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1SearchLogParameters.html#a82cee82f19757e963cd151f690439a61"> 2281</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="l02282"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1SearchLogParameters.html#a129303e4bd38a8cdba722b6238ed56e9"> 2282</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="l02285"></a><span class="lineno"><a class="line" href="structoperations__research_1_1Solver_1_1SearchLogParameters.html#a6bf53f14d9ee02da685f39fbe96eacaf"> 2285</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="l02286"></a><span class="lineno"> 2286</span>&#160; };</div>
<div class="line"><a name="l02287"></a><span class="lineno"> 2287</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="l02288"></a><span class="lineno"> 2288</span>&#160; </div>
<div class="line"><a name="l02291"></a><span class="lineno"> 2291</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="l02292"></a><span class="lineno"> 2292</span>&#160; </div>
<div class="line"><a name="l02294"></a><span class="lineno"> 2294</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="l02295"></a><span class="lineno"> 2295</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="l02296"></a><span class="lineno"> 2296</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="l02297"></a><span class="lineno"> 2297</span>&#160; </div>
<div class="line"><a name="l02299"></a><span class="lineno"> 2299</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="l02301"></a><span class="lineno"> 2301</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="l02302"></a><span class="lineno"> 2302</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l02303"></a><span class="lineno"> 2303</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="l02305"></a><span class="lineno"> 2305</span>&#160; absl::flat_hash_map&lt;const IntVar*, int&gt;* <span class="keyword">const</span> map);</div>
<div class="line"><a name="l02306"></a><span class="lineno"> 2306</span>&#160;<span class="preprocessor">#endif // !defined(SWIG)</span></div>
<div class="line"><a name="l02307"></a><span class="lineno"> 2307</span>&#160; </div>
<div class="line"><a name="l02309"></a><span class="lineno"> 2309</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="l02310"></a><span class="lineno"> 2310</span>&#160; <span class="keyword">const</span> std::vector&lt;SymmetryBreaker*&gt;&amp; visitors);</div>
<div class="line"><a name="l02311"></a><span class="lineno"> 2311</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="l02312"></a><span class="lineno"> 2312</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="l02313"></a><span class="lineno"> 2313</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="l02314"></a><span class="lineno"> 2314</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="l02315"></a><span class="lineno"> 2315</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="l02316"></a><span class="lineno"> 2316</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="l02317"></a><span class="lineno"> 2317</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="l02318"></a><span class="lineno"> 2318</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="l02319"></a><span class="lineno"> 2319</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="l02320"></a><span class="lineno"> 2320</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="l02321"></a><span class="lineno"> 2321</span>&#160; </div>
<div class="line"><a name="l02323"></a><span class="lineno"> 2323</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="l02324"></a><span class="lineno"> 2324</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="l02325"></a><span class="lineno"> 2325</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="l02326"></a><span class="lineno"> 2326</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="l02327"></a><span class="lineno"> 2327</span>&#160; <span class="keywordtype">bool</span> start_with_lower_half);</div>
<div class="line"><a name="l02328"></a><span class="lineno"> 2328</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="l02329"></a><span class="lineno"> 2329</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="l02330"></a><span class="lineno"> 2330</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="l02331"></a><span class="lineno"> 2331</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; values);</div>
<div class="line"><a name="l02332"></a><span class="lineno"> 2332</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="l02333"></a><span class="lineno"> 2333</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="l02334"></a><span class="lineno"> 2334</span>&#160; </div>
<div class="line"><a name="l02343"></a><span class="lineno"> 2343</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="l02344"></a><span class="lineno"> 2344</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="l02345"></a><span class="lineno"> 2345</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="l02346"></a><span class="lineno"> 2346</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="l02347"></a><span class="lineno"> 2347</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="l02348"></a><span class="lineno"> 2348</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="l02349"></a><span class="lineno"> 2349</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="l02350"></a><span class="lineno"> 2350</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="l02351"></a><span class="lineno"> 2351</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="l02352"></a><span class="lineno"> 2352</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="l02353"></a><span class="lineno"> 2353</span>&#160; </div>
<div class="line"><a name="l02365"></a><span class="lineno"> 2365</span>&#160; <span class="comment">// TODO(user): The search tree can be balanced by using binary</span></div>
<div class="line"><a name="l02370"></a><span class="lineno"> 2370</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="l02371"></a><span class="lineno"> 2371</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="l02372"></a><span class="lineno"> 2372</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="l02373"></a><span class="lineno"> 2373</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="l02374"></a><span class="lineno"> 2374</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="l02375"></a><span class="lineno"> 2375</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="l02376"></a><span class="lineno"> 2376</span>&#160; </div>
<div class="line"><a name="l02378"></a><span class="lineno"> 2378</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="l02380"></a><span class="lineno"> 2380</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="l02381"></a><span class="lineno"> 2381</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="l02382"></a><span class="lineno"> 2382</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="l02383"></a><span class="lineno"> 2383</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aa9726f5458b77973475a32178fe512b3">IndexEvaluator1</a> var_evaluator,</div>
<div class="line"><a name="l02384"></a><span class="lineno"> 2384</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a> val_str);</div>
<div class="line"><a name="l02385"></a><span class="lineno"> 2385</span>&#160; </div>
<div class="line"><a name="l02386"></a><span class="lineno"> 2386</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="l02387"></a><span class="lineno"> 2387</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str,</div>
<div class="line"><a name="l02388"></a><span class="lineno"> 2388</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> value_evaluator);</div>
<div class="line"><a name="l02389"></a><span class="lineno"> 2389</span>&#160; </div>
<div class="line"><a name="l02392"></a><span class="lineno"> 2392</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="l02393"></a><span class="lineno"> 2393</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str,</div>
<div class="line"><a name="l02394"></a><span class="lineno"> 2394</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a3094f1982f455fd97342c64b7c0b3ccf">VariableValueComparator</a> var_val1_val2_comparator);</div>
<div class="line"><a name="l02395"></a><span class="lineno"> 2395</span>&#160; </div>
<div class="line"><a name="l02396"></a><span class="lineno"> 2396</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="l02397"></a><span class="lineno"> 2397</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aa9726f5458b77973475a32178fe512b3">IndexEvaluator1</a> var_evaluator,</div>
<div class="line"><a name="l02398"></a><span class="lineno"> 2398</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> value_evaluator);</div>
<div class="line"><a name="l02399"></a><span class="lineno"> 2399</span>&#160; </div>
<div class="line"><a name="l02400"></a><span class="lineno"> 2400</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="l02401"></a><span class="lineno"> 2401</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">IntVarStrategy</a> var_str,</div>
<div class="line"><a name="l02402"></a><span class="lineno"> 2402</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> value_evaluator,</div>
<div class="line"><a name="l02403"></a><span class="lineno"> 2403</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aa9726f5458b77973475a32178fe512b3">IndexEvaluator1</a> tie_breaker);</div>
<div class="line"><a name="l02404"></a><span class="lineno"> 2404</span>&#160; </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>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a name="l02406"></a><span class="lineno"> 2406</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aa9726f5458b77973475a32178fe512b3">IndexEvaluator1</a> var_evaluator,</div>
<div class="line"><a name="l02407"></a><span class="lineno"> 2407</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#abb24034fec2804ac3c0172f043087321">IndexEvaluator2</a> value_evaluator,</div>
<div class="line"><a name="l02408"></a><span class="lineno"> 2408</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aa9726f5458b77973475a32178fe512b3">IndexEvaluator1</a> tie_breaker);</div>
<div class="line"><a name="l02409"></a><span class="lineno"> 2409</span>&#160; </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#ab56406db90514a6f451d57aba7044fdf">MakeDefaultPhase</a>(<span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars);</div>
<div class="line"><a name="l02411"></a><span class="lineno"> 2411</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="l02412"></a><span class="lineno"> 2412</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="l02413"></a><span class="lineno"> 2413</span>&#160; </div>
<div class="line"><a name="l02415"></a><span class="lineno"> 2415</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="l02416"></a><span class="lineno"> 2416</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a> val_str);</div>
<div class="line"><a name="l02417"></a><span class="lineno"> 2417</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="l02418"></a><span class="lineno"> 2418</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="l02419"></a><span class="lineno"> 2419</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="l02420"></a><span class="lineno"> 2420</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="l02421"></a><span class="lineno"> 2421</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a45c5a2dd0d47110ef5b00408854d8d84">IntValueStrategy</a> val_str);</div>
<div class="line"><a name="l02422"></a><span class="lineno"> 2422</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="l02423"></a><span class="lineno"> 2423</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="l02424"></a><span class="lineno"> 2424</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="l02425"></a><span class="lineno"> 2425</span>&#160; </div>
<div class="line"><a name="l02431"></a><span class="lineno"> 2431</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="l02432"></a><span class="lineno"> 2432</span>&#160; int64* <span class="keyword">const</span> marker);</div>
<div class="line"><a name="l02433"></a><span class="lineno"> 2433</span>&#160; </div>
<div class="line"><a name="l02439"></a><span class="lineno"> 2439</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="l02440"></a><span class="lineno"> 2440</span>&#160; int64* <span class="keyword">const</span> marker);</div>
<div class="line"><a name="l02441"></a><span class="lineno"> 2441</span>&#160; </div>
<div class="line"><a name="l02444"></a><span class="lineno"> 2444</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="l02445"></a><span class="lineno"> 2445</span>&#160; </div>
<div class="line"><a name="l02448"></a><span class="lineno"> 2448</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="l02449"></a><span class="lineno"> 2449</span>&#160; </div>
<div class="line"><a name="l02455"></a><span class="lineno"> 2455</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="l02456"></a><span class="lineno"> 2456</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="l02457"></a><span class="lineno"> 2457</span>&#160; </div>
<div class="line"><a name="l02465"></a><span class="lineno"> 2465</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="l02466"></a><span class="lineno"> 2466</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="l02467"></a><span class="lineno"> 2467</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a8b1044e7c2b76345532f848a982a7106">EvaluatorStrategy</a> str);</div>
<div class="line"><a name="l02468"></a><span class="lineno"> 2468</span>&#160; </div>
<div class="line"><a name="l02470"></a><span class="lineno"> 2470</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="l02471"></a><span class="lineno"> 2471</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a3a64940761b306c816e00e077906952f">IntervalStrategy</a> str);</div>
<div class="line"><a name="l02472"></a><span class="lineno"> 2472</span>&#160; </div>
<div class="line"><a name="l02473"></a><span class="lineno"> 2473</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="l02474"></a><span class="lineno"> 2474</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aba5c5dc6467e097f4972d7776541482b">SequenceStrategy</a> str);</div>
<div class="line"><a name="l02475"></a><span class="lineno"> 2475</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#a43b52fda5b204c72475e5f8cbdca9fb9">MakeDecisionBuilderFromAssignment</a>(</div>
<div class="line"><a name="l02479"></a><span class="lineno"> 2479</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="l02480"></a><span class="lineno"> 2480</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars);</div>
<div class="line"><a name="l02481"></a><span class="lineno"> 2481</span>&#160; </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#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="l02485"></a><span class="lineno"> 2485</span>&#160; </div>
<div class="line"><a name="l02490"></a><span class="lineno"> 2490</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="l02491"></a><span class="lineno"> 2491</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="l02492"></a><span class="lineno"> 2492</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="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; <a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>* <span class="keyword">const</span> monitor1,</div>
<div class="line"><a name="l02495"></a><span class="lineno"> 2495</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="l02496"></a><span class="lineno"> 2496</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="l02497"></a><span class="lineno"> 2497</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="l02498"></a><span class="lineno"> 2498</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="l02499"></a><span class="lineno"> 2499</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="l02500"></a><span class="lineno"> 2500</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="l02501"></a><span class="lineno"> 2501</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="l02502"></a><span class="lineno"> 2502</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="l02503"></a><span class="lineno"> 2503</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="l02504"></a><span class="lineno"> 2504</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="l02505"></a><span class="lineno"> 2505</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="l02506"></a><span class="lineno"> 2506</span>&#160; <span class="keyword">const</span> std::vector&lt;SearchMonitor*&gt;&amp; monitors);</div>
<div class="line"><a name="l02507"></a><span class="lineno"> 2507</span>&#160; </div>
<div class="line"><a name="l02515"></a><span class="lineno"> 2515</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="l02516"></a><span class="lineno"> 2516</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="l02517"></a><span class="lineno"> 2517</span>&#160; int64 step);</div>
<div class="line"><a name="l02518"></a><span class="lineno"> 2518</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="l02519"></a><span class="lineno"> 2519</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="l02520"></a><span class="lineno"> 2520</span>&#160; int64 step,</div>
<div class="line"><a name="l02521"></a><span class="lineno"> 2521</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="l02522"></a><span class="lineno"> 2522</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="l02523"></a><span class="lineno"> 2523</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="l02524"></a><span class="lineno"> 2524</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="l02525"></a><span class="lineno"> 2525</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="l02526"></a><span class="lineno"> 2526</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="l02527"></a><span class="lineno"> 2527</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="l02528"></a><span class="lineno"> 2528</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="l02529"></a><span class="lineno"> 2529</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="l02530"></a><span class="lineno"> 2530</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="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#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="l02532"></a><span class="lineno"> 2532</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="l02533"></a><span class="lineno"> 2533</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="l02534"></a><span class="lineno"> 2534</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="l02535"></a><span class="lineno"> 2535</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="l02536"></a><span class="lineno"> 2536</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="l02537"></a><span class="lineno"> 2537</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="l02538"></a><span class="lineno"> 2538</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="l02539"></a><span class="lineno"> 2539</span>&#160; int64 step, <span class="keyword">const</span> std::vector&lt;SearchMonitor*&gt;&amp; monitors);</div>
<div class="line"><a name="l02540"></a><span class="lineno"> 2540</span>&#160; </div>
<div class="line"><a name="l02543"></a><span class="lineno"> 2543</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="l02544"></a><span class="lineno"> 2544</span>&#160; </div>
<div class="line"><a name="l02547"></a><span class="lineno"> 2547</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="l02548"></a><span class="lineno"> 2548</span>&#160; </div>
<div class="line"><a name="l02550"></a><span class="lineno"> 2550</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="l02551"></a><span class="lineno"> 2551</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18">LocalSearchOperators</a> op);</div>
<div class="line"><a name="l02552"></a><span class="lineno"> 2552</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="l02553"></a><span class="lineno"> 2553</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; secondary_vars,</div>
<div class="line"><a name="l02554"></a><span class="lineno"> 2554</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a6fc60ae040ae35c83f09736d2e682a18">LocalSearchOperators</a> op);</div>
<div class="line"><a name="l02555"></a><span class="lineno"> 2555</span>&#160; <span class="comment">// TODO(user): Make the callback an IndexEvaluator2 when there are no</span></div>
<div class="line"><a name="l02556"></a><span class="lineno"> 2556</span>&#160; <span class="comment">// secondary variables.</span></div>
<div class="line"><a name="l02557"></a><span class="lineno"> 2557</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="l02558"></a><span class="lineno"> 2558</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a86570ad216b68c88de1ef27085e3d084">IndexEvaluator3</a> evaluator,</div>
<div class="line"><a name="l02559"></a><span class="lineno"> 2559</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4">EvaluatorLocalSearchOperators</a> op);</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#ac116c031b6888d29347fa1cc923dedf8">MakeOperator</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="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; secondary_vars,</div>
<div class="line"><a name="l02562"></a><span class="lineno"> 2562</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a86570ad216b68c88de1ef27085e3d084">IndexEvaluator3</a> evaluator,</div>
<div class="line"><a name="l02563"></a><span class="lineno"> 2563</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#afd2868244e1a645aaf41eb8a6a6c8bf4">EvaluatorLocalSearchOperators</a> op);</div>
<div class="line"><a name="l02564"></a><span class="lineno"> 2564</span>&#160; </div>
<div class="line"><a name="l02572"></a><span class="lineno"> 2572</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="l02573"></a><span class="lineno"> 2573</span>&#160; <span class="keywordtype">int</span> number_of_variables);</div>
<div class="line"><a name="l02574"></a><span class="lineno"> 2574</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="l02575"></a><span class="lineno"> 2575</span>&#160; <span class="keywordtype">int</span> number_of_variables,</div>
<div class="line"><a name="l02576"></a><span class="lineno"> 2576</span>&#160; int32 seed);</div>
<div class="line"><a name="l02577"></a><span class="lineno"> 2577</span>&#160; </div>
<div class="line"><a name="l02583"></a><span class="lineno"> 2583</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="l02584"></a><span class="lineno"> 2584</span>&#160; </div>
<div class="line"><a name="l02591"></a><span class="lineno"> 2591</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="l02592"></a><span class="lineno"> 2592</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; variables,</div>
<div class="line"><a name="l02593"></a><span class="lineno"> 2593</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; target_values);</div>
<div class="line"><a name="l02594"></a><span class="lineno"> 2594</span>&#160; </div>
<div class="line"><a name="l02625"></a><span class="lineno"> 2625</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="l02626"></a><span class="lineno"> 2626</span>&#160; <span class="keyword">const</span> std::vector&lt;LocalSearchOperator*&gt;&amp; ops);</div>
<div class="line"><a name="l02627"></a><span class="lineno"> 2627</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="l02628"></a><span class="lineno"> 2628</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="l02629"></a><span class="lineno"> 2629</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="l02630"></a><span class="lineno"> 2630</span>&#160; <span class="keyword">const</span> std::vector&lt;LocalSearchOperator*&gt;&amp; ops,</div>
<div class="line"><a name="l02631"></a><span class="lineno"> 2631</span>&#160; std::function&lt;int64(<span class="keywordtype">int</span>, <span class="keywordtype">int</span>)&gt; evaluator);</div>
<div class="line"><a name="l02634"></a><span class="lineno"> 2634</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="l02635"></a><span class="lineno"> 2635</span>&#160; <span class="keyword">const</span> std::vector&lt;LocalSearchOperator*&gt;&amp; ops);</div>
<div class="line"><a name="l02636"></a><span class="lineno"> 2636</span>&#160; </div>
<div class="line"><a name="l02640"></a><span class="lineno"> 2640</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="l02641"></a><span class="lineno"> 2641</span>&#160; <span class="keyword">const</span> std::vector&lt;LocalSearchOperator*&gt;&amp; ops, int32 seed);</div>
<div class="line"><a name="l02642"></a><span class="lineno"> 2642</span>&#160; </div>
<div class="line"><a name="l02648"></a><span class="lineno"> 2648</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="l02649"></a><span class="lineno"> 2649</span>&#160; int64 limit);</div>
<div class="line"><a name="l02650"></a><span class="lineno"> 2650</span>&#160; </div>
<div class="line"><a name="l02675"></a><span class="lineno"> 2675</span>&#160; <span class="comment">// TODO(user): Make a variant which runs a local search after each</span></div>
<div class="line"><a name="l02676"></a><span class="lineno"> 2676</span>&#160; <span class="comment">// solution found in a DFS.</span></div>
<div class="line"><a name="l02677"></a><span class="lineno"> 2677</span>&#160; </div>
<div class="line"><a name="l02678"></a><span class="lineno"> 2678</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="l02679"></a><span class="lineno"> 2679</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="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; <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="l02682"></a><span class="lineno"> 2682</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="l02683"></a><span class="lineno"> 2683</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="l02685"></a><span class="lineno"> 2685</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="l02686"></a><span class="lineno"> 2686</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="l02687"></a><span class="lineno"> 2687</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="l02688"></a><span class="lineno"> 2688</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="l02689"></a><span class="lineno"> 2689</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="l02690"></a><span class="lineno"> 2690</span>&#160; <span class="keyword">const</span> std::vector&lt;SequenceVar*&gt;&amp; vars,</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> first_solution,</div>
<div class="line"><a name="l02692"></a><span class="lineno"> 2692</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="l02693"></a><span class="lineno"> 2693</span>&#160; </div>
<div class="line"><a name="l02695"></a><span class="lineno"> 2695</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="l02696"></a><span class="lineno"> 2696</span>&#160; </div>
<div class="line"><a name="l02698"></a><span class="lineno"> 2698</span>&#160; LocalSearchPhaseParameters* <a class="code" href="classoperations__research_1_1Solver.html#a2b404451964b1e791a691b4d0cee4259">MakeLocalSearchPhaseParameters</a>(</div>
<div class="line"><a name="l02699"></a><span class="lineno"> 2699</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="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_1LocalSearchOperator.html">LocalSearchOperator</a>* <span class="keyword">const</span> ls_operator,</div>
<div class="line"><a name="l02703"></a><span class="lineno"> 2703</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="l02704"></a><span class="lineno"> 2704</span>&#160; LocalSearchPhaseParameters* <a class="code" href="classoperations__research_1_1Solver.html#a2b404451964b1e791a691b4d0cee4259">MakeLocalSearchPhaseParameters</a>(</div>
<div class="line"><a name="l02705"></a><span class="lineno"> 2705</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="l02706"></a><span class="lineno"> 2706</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="l02707"></a><span class="lineno"> 2707</span>&#160; <span class="keyword">const</span> std::vector&lt;LocalSearchFilter*&gt;&amp; filters);</div>
<div class="line"><a name="l02708"></a><span class="lineno"> 2708</span>&#160; </div>
<div class="line"><a name="l02709"></a><span class="lineno"> 2709</span>&#160; LocalSearchPhaseParameters* <a class="code" href="classoperations__research_1_1Solver.html#a2b404451964b1e791a691b4d0cee4259">MakeLocalSearchPhaseParameters</a>(</div>
<div class="line"><a name="l02710"></a><span class="lineno"> 2710</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="l02711"></a><span class="lineno"> 2711</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="l02712"></a><span class="lineno"> 2712</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="l02713"></a><span class="lineno"> 2713</span>&#160; LocalSearchPhaseParameters* <a class="code" href="classoperations__research_1_1Solver.html#a2b404451964b1e791a691b4d0cee4259">MakeLocalSearchPhaseParameters</a>(</div>
<div class="line"><a name="l02714"></a><span class="lineno"> 2714</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="l02715"></a><span class="lineno"> 2715</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="l02716"></a><span class="lineno"> 2716</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="l02717"></a><span class="lineno"> 2717</span>&#160; LocalSearchPhaseParameters* <a class="code" href="classoperations__research_1_1Solver.html#a2b404451964b1e791a691b4d0cee4259">MakeLocalSearchPhaseParameters</a>(</div>
<div class="line"><a name="l02718"></a><span class="lineno"> 2718</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="l02719"></a><span class="lineno"> 2719</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="l02720"></a><span class="lineno"> 2720</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="l02721"></a><span class="lineno"> 2721</span>&#160; <span class="keyword">const</span> std::vector&lt;LocalSearchFilter*&gt;&amp; filters);</div>
<div class="line"><a name="l02722"></a><span class="lineno"> 2722</span>&#160; </div>
<div class="line"><a name="l02724"></a><span class="lineno"> 2724</span>&#160; <a class="code" href="classoperations__research_1_1LocalSearchFilter.html">LocalSearchFilter</a>* <a class="code" href="classoperations__research_1_1Solver.html#aa81aae7c6a6b98eea920fc17058b7033">MakeAcceptFilter</a>();</div>
<div class="line"><a name="l02725"></a><span class="lineno"> 2725</span>&#160; <a class="code" href="classoperations__research_1_1LocalSearchFilter.html">LocalSearchFilter</a>* <a class="code" href="classoperations__research_1_1Solver.html#a376701518494604041e9b2e4030f8b06">MakeRejectFilter</a>();</div>
<div class="line"><a name="l02726"></a><span class="lineno"> 2726</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="l02727"></a><span class="lineno"> 2727</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="l02728"></a><span class="lineno"> 2728</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="l02729"></a><span class="lineno"> 2729</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#afd2d924f019d44bc99930a1e931a735f">Solver::LocalSearchFilterBound</a> filter_enum);</div>
<div class="line"><a name="l02730"></a><span class="lineno"> 2730</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="l02731"></a><span class="lineno"> 2731</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; vars,</div>
<div class="line"><a name="l02732"></a><span class="lineno"> 2732</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="l02733"></a><span class="lineno"> 2733</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#afd2d924f019d44bc99930a1e931a735f">Solver::LocalSearchFilterBound</a> filter_enum);</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">void</span> <a class="code" href="classoperations__research_1_1Solver.html#a4de855c905df4a729715972dc39997a4">TopPeriodicCheck</a>();</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#ab003619f8e2f35a1ca01aa7713c674ea">TopProgressPercent</a>();</div>
<div class="line"><a name="l02742"></a><span class="lineno"> 2742</span>&#160; </div>
<div class="line"><a name="l02746"></a><span class="lineno"> 2746</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="l02747"></a><span class="lineno"> 2747</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="l02748"></a><span class="lineno"> 2748</span>&#160; </div>
<div class="line"><a name="l02751"></a><span class="lineno"> 2751</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="l02752"></a><span class="lineno"> 2752</span>&#160; </div>
<div class="line"><a name="l02755"></a><span class="lineno"> 2755</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="l02756"></a><span class="lineno"> 2756</span>&#160; </div>
<div class="line"><a name="l02759"></a><span class="lineno"> 2759</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="l02760"></a><span class="lineno"> 2760</span>&#160; </div>
<div class="line"><a name="l02762"></a><span class="lineno"> 2762</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="l02763"></a><span class="lineno"> 2763</span>&#160; </div>
<div class="line"><a name="l02765"></a><span class="lineno"> 2765</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="l02766"></a><span class="lineno"> 2766</span>&#160; </div>
<div class="line"><a name="l02768"></a><span class="lineno"> 2768</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div>
<div class="line"><a name="l02769"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a675d33a9ef9aa399017fb68e652c7a5c"> 2769</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="l02770"></a><span class="lineno"> 2770</span>&#160; <span class="keywordflow">if</span> (*adr != val) {</div>
<div class="line"><a name="l02771"></a><span class="lineno"> 2771</span>&#160; InternalSaveValue(adr);</div>
<div class="line"><a name="l02772"></a><span class="lineno"> 2772</span>&#160; *adr = val;</div>
<div class="line"><a name="l02773"></a><span class="lineno"> 2773</span>&#160; }</div>
<div class="line"><a name="l02774"></a><span class="lineno"> 2774</span>&#160; }</div>
<div class="line"><a name="l02775"></a><span class="lineno"> 2775</span>&#160; </div>
<div class="line"><a name="l02777"></a><span class="lineno"> 2777</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div>
<div class="line"><a name="l02778"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#affc00ecba247e10af0e2bebb3e1718c5"> 2778</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="l02779"></a><span class="lineno"> 2779</span>&#160; <span class="keywordflow">if</span> (val != 0) {</div>
<div class="line"><a name="l02780"></a><span class="lineno"> 2780</span>&#160; InternalSaveValue(adr);</div>
<div class="line"><a name="l02781"></a><span class="lineno"> 2781</span>&#160; (*adr) += val;</div>
<div class="line"><a name="l02782"></a><span class="lineno"> 2782</span>&#160; }</div>
<div class="line"><a name="l02783"></a><span class="lineno"> 2783</span>&#160; }</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"><a class="line" href="classoperations__research_1_1Solver.html#a54362ea48f6e179eb3264e4e3d910d03"> 2786</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1Solver.html#a54362ea48f6e179eb3264e4e3d910d03">Rand64</a>(int64 size) {</div>
<div class="line"><a name="l02787"></a><span class="lineno"> 2787</span>&#160; DCHECK_GT(size, 0);</div>
<div class="line"><a name="l02788"></a><span class="lineno"> 2788</span>&#160; <span class="keywordflow">return</span> absl::Uniform&lt;int64&gt;(random_, 0, size);</div>
<div class="line"><a name="l02789"></a><span class="lineno"> 2789</span>&#160; }</div>
<div class="line"><a name="l02790"></a><span class="lineno"> 2790</span>&#160; </div>
<div class="line"><a name="l02792"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ad9245209bfba33fe84129683a93a27a7"> 2792</a></span>&#160; int32 <a class="code" href="classoperations__research_1_1Solver.html#ad9245209bfba33fe84129683a93a27a7">Rand32</a>(int32 size) {</div>
<div class="line"><a name="l02793"></a><span class="lineno"> 2793</span>&#160; DCHECK_GT(size, 0);</div>
<div class="line"><a name="l02794"></a><span class="lineno"> 2794</span>&#160; <span class="keywordflow">return</span> absl::Uniform&lt;int32&gt;(random_, 0, size);</div>
<div class="line"><a name="l02795"></a><span class="lineno"> 2795</span>&#160; }</div>
<div class="line"><a name="l02796"></a><span class="lineno"> 2796</span>&#160; </div>
<div class="line"><a name="l02798"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab1d99d874f178f28a6cc2abc9c6f30a4"> 2798</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Solver.html#ab1d99d874f178f28a6cc2abc9c6f30a4">ReSeed</a>(int32 seed) { random_.seed(seed); }</div>
<div class="line"><a name="l02799"></a><span class="lineno"> 2799</span>&#160; </div>
<div class="line"><a name="l02803"></a><span class="lineno"> 2803</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="l02804"></a><span class="lineno"> 2804</span>&#160; </div>
<div class="line"><a name="l02806"></a><span class="lineno"> 2806</span>&#160; <span class="comment">// TODO(user): Add a profiling protocol buffer and merge demon and local</span></div>
<div class="line"><a name="l02808"></a><span class="lineno"> 2808</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="l02809"></a><span class="lineno"> 2809</span>&#160; </div>
<div class="line"><a name="l02813"></a><span class="lineno"> 2813</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="l02814"></a><span class="lineno"> 2814</span>&#160; </div>
<div class="line"><a name="l02817"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a86ecff14fc3b94df60069a4bca94c06b"> 2817</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="l02818"></a><span class="lineno"> 2818</span>&#160; </div>
<div class="line"><a name="l02820"></a><span class="lineno"> 2820</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="l02821"></a><span class="lineno"> 2821</span>&#160; </div>
<div class="line"><a name="l02822"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#afb28bd81075ef9b2f5a29c32eb46ba92"> 2822</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="l02823"></a><span class="lineno"> 2823</span>&#160; </div>
<div class="line"><a name="l02825"></a><span class="lineno"> 2825</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l02826"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ae9387021d508fb4ecec7728972d7b8a4"> 2826</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="l02827"></a><span class="lineno"> 2827</span>&#160; fail_intercept_ = std::move(fail_intercept);</div>
<div class="line"><a name="l02828"></a><span class="lineno"> 2828</span>&#160; }</div>
<div class="line"><a name="l02829"></a><span class="lineno"> 2829</span>&#160;<span class="preprocessor">#endif // !defined(SWIG)</span></div>
<div class="line"><a name="l02830"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a95d15794f0eaa4727439f364889a8064"> 2830</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="l02832"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a10eb8307ae92ccc5dd7cbd17a9e5a4a6"> 2832</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="l02833"></a><span class="lineno"> 2833</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="l02836"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a5672241cc0faf1be50826c7795320cac"> 2836</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="l02837"></a><span class="lineno"> 2837</span>&#160; use_fast_local_search_ = use_fast_local_search;</div>
<div class="line"><a name="l02838"></a><span class="lineno"> 2838</span>&#160; }</div>
<div class="line"><a name="l02840"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#aa58a5d8b15333d39678c0d6180c1c0b1"> 2840</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="l02842"></a><span class="lineno"> 2842</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="l02844"></a><span class="lineno"> 2844</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="l02846"></a><span class="lineno"> 2846</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="l02848"></a><span class="lineno"> 2848</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="l02851"></a><span class="lineno"> 2851</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="l02852"></a><span class="lineno"> 2852</span>&#160; </div>
<div class="line"><a name="l02854"></a><span class="lineno"> 2854</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="l02856"></a><span class="lineno"> 2856</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="l02858"></a><span class="lineno"> 2858</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="l02860"></a><span class="lineno"> 2860</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="l02862"></a><span class="lineno"> 2862</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="l02864"></a><span class="lineno"> 2864</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="l02866"></a><span class="lineno"> 2866</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="l02868"></a><span class="lineno"> 2868</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="l02870"></a><span class="lineno"> 2870</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="l02873"></a><span class="lineno"> 2873</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="l02875"></a><span class="lineno"> 2875</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="l02878"></a><span class="lineno"> 2878</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="l02879"></a><span class="lineno"> 2879</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="l02880"></a><span class="lineno"> 2880</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="l02881"></a><span class="lineno"> 2881</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="l02883"></a><span class="lineno"> 2883</span>&#160; <span class="comment">// TODO(user): Investigate if this should be moved to Search.</span></div>
<div class="line"><a name="l02884"></a><span class="lineno"> 2884</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="l02886"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a0f7179b03ab49e7ee79f9b7e8c4dc129"> 2886</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="l02887"></a><span class="lineno"> 2887</span>&#160; </div>
<div class="line"><a name="l02892"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a0f3d534acf3ba2602ae56ec4f28ccdd6"> 2892</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="l02893"></a><span class="lineno"> 2893</span>&#160; </div>
<div class="line"><a name="l02894"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a7de3703a8816dad121d3fd166c07a79c"> 2894</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="l02895"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418"> 2895</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="l02896"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a17a56adc8ee57642c3f00a1778319192"> 2896</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="l02897"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a68ccd69d2cb81ad9b176a007275fde0b"> 2897</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="l02898"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a34419e55556ff4e92b447fe895bdb9c3"> 2898</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="l02899"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#acd6c49bd62ce1a1777a1c0e644f1186e"> 2899</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="l02900"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a47dfc6f2bc0d50a6e7c92eb00d97b064"> 2900</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="l02901"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#aac32a6eabe1d316d7ff5f92fedd1ec5b"> 2901</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="l02902"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#abb737b44b0a0335d550d2a740ba00236"> 2902</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="l02903"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#ab7aef297f0c654af26dc7108c9ee6c69"> 2903</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="l02904"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a622500a4c7e11bbc4b8a5e5de2c84f13"> 2904</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="l02905"></a><span class="lineno"> 2905</span>&#160; </div>
<div class="line"><a name="l02906"></a><span class="lineno"> 2906</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l02907"></a><span class="lineno"> 2907</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="l02908"></a><span class="lineno"> 2908</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span>&gt;</div>
<div class="line"><a name="l02909"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a830db5e85473a2e0a7392ac6bbc538d1"> 2909</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="l02910"></a><span class="lineno"> 2910</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="l02911"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a523b4c1786dd34b9d1fa2579b91b4c0d"> 2911</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="l02912"></a><span class="lineno"> 2912</span>&#160; </div>
<div class="line"><a name="l02917"></a><span class="lineno"> 2917</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="l02918"></a><span class="lineno"> 2918</span>&#160; <span class="keywordtype">bool</span>* is_negated) <span class="keyword">const</span>;</div>
<div class="line"><a name="l02919"></a><span class="lineno"> 2919</span>&#160; </div>
<div class="line"><a name="l02924"></a><span class="lineno"> 2924</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="l02925"></a><span class="lineno"> 2925</span>&#160;<span class="preprocessor">#endif </span></div>
<div class="line"><a name="l02926"></a><span class="lineno"> 2926</span>&#160;<span class="preprocessor"></span> </div>
<div class="line"><a name="l02927"></a><span class="lineno"> 2927</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="l02930"></a><span class="lineno"> 2930</span>&#160; </div>
<div class="line"><a name="l02932"></a><span class="lineno"> 2932</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="l02933"></a><span class="lineno"> 2933</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="l02934"></a><span class="lineno"> 2934</span>&#160; </div>
<div class="line"><a name="l02937"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a64e3df5cecd4de1a3d052795458f7069"> 2937</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="l02938"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Solver.html#a6d5ff1ccb832c9d27fa7a579248f8084"> 2938</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="l02939"></a><span class="lineno"> 2939</span>&#160; <span class="keywordflow">if</span> (!should_fail_) <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l02940"></a><span class="lineno"> 2940</span>&#160; should_fail_ = <span class="keyword">false</span>;</div>
<div class="line"><a name="l02941"></a><span class="lineno"> 2941</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#aeb92d4addb41255c9732cacfcb54f795">Fail</a>();</div>
<div class="line"><a name="l02942"></a><span class="lineno"> 2942</span>&#160; }</div>
<div class="line"><a name="l02943"></a><span class="lineno"> 2943</span>&#160; </div>
<div class="line"><a name="l02944"></a><span class="lineno"> 2944</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l02945"></a><span class="lineno"> 2945</span>&#160; <span class="keywordtype">void</span> Init(); </div>
<div class="line"><a name="l02946"></a><span class="lineno"> 2946</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="l02947"></a><span class="lineno"> 2947</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="l02948"></a><span class="lineno"> 2948</span>&#160; <span class="keywordtype">void</span> PushSentinel(<span class="keywordtype">int</span> magic_code);</div>
<div class="line"><a name="l02949"></a><span class="lineno"> 2949</span>&#160; <span class="keywordtype">void</span> BacktrackToSentinel(<span class="keywordtype">int</span> magic_code);</div>
<div class="line"><a name="l02950"></a><span class="lineno"> 2950</span>&#160; <span class="keywordtype">void</span> ProcessConstraints();</div>
<div class="line"><a name="l02951"></a><span class="lineno"> 2951</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="l02952"></a><span class="lineno"> 2952</span>&#160; <span class="keywordtype">void</span> JumpToSentinelWhenNested();</div>
<div class="line"><a name="l02953"></a><span class="lineno"> 2953</span>&#160; <span class="keywordtype">void</span> JumpToSentinel();</div>
<div class="line"><a name="l02954"></a><span class="lineno"> 2954</span>&#160; <span class="keywordtype">void</span> check_alloc_state();</div>
<div class="line"><a name="l02955"></a><span class="lineno"> 2955</span>&#160; <span class="keywordtype">void</span> FreezeQueue();</div>
<div class="line"><a name="l02956"></a><span class="lineno"> 2956</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="l02957"></a><span class="lineno"> 2957</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="l02958"></a><span class="lineno"> 2958</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="l02959"></a><span class="lineno"> 2959</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="l02960"></a><span class="lineno"> 2960</span>&#160; <span class="keywordtype">void</span> UnfreezeQueue();</div>
<div class="line"><a name="l02961"></a><span class="lineno"> 2961</span>&#160; <span class="keywordtype">void</span> reset_action_on_fail();</div>
<div class="line"><a name="l02962"></a><span class="lineno"> 2962</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="l02963"></a><span class="lineno"> 2963</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="l02964"></a><span class="lineno"> 2964</span>&#160; <span class="keywordtype">void</span> IncrementUncheckedSolutionCounter();</div>
<div class="line"><a name="l02965"></a><span class="lineno"> 2965</span>&#160; <span class="keywordtype">bool</span> IsUncheckedSolutionLimitReached();</div>
<div class="line"><a name="l02966"></a><span class="lineno"> 2966</span>&#160; </div>
<div class="line"><a name="l02967"></a><span class="lineno"> 2967</span>&#160; <span class="keywordtype">void</span> InternalSaveValue(<span class="keywordtype">int</span>* valptr);</div>
<div class="line"><a name="l02968"></a><span class="lineno"> 2968</span>&#160; <span class="keywordtype">void</span> InternalSaveValue(int64* valptr);</div>
<div class="line"><a name="l02969"></a><span class="lineno"> 2969</span>&#160; <span class="keywordtype">void</span> InternalSaveValue(uint64* valptr);</div>
<div class="line"><a name="l02970"></a><span class="lineno"> 2970</span>&#160; <span class="keywordtype">void</span> InternalSaveValue(<span class="keywordtype">double</span>* valptr);</div>
<div class="line"><a name="l02971"></a><span class="lineno"> 2971</span>&#160; <span class="keywordtype">void</span> InternalSaveValue(<span class="keywordtype">bool</span>* valptr);</div>
<div class="line"><a name="l02972"></a><span class="lineno"> 2972</span>&#160; <span class="keywordtype">void</span> InternalSaveValue(<span class="keywordtype">void</span>** valptr);</div>
<div class="line"><a name="l02973"></a><span class="lineno"> 2973</span>&#160; <span class="keywordtype">void</span> InternalSaveValue(int64** valptr) {</div>
<div class="line"><a name="l02974"></a><span class="lineno"> 2974</span>&#160; InternalSaveValue(reinterpret_cast&lt;void**&gt;(valptr));</div>
<div class="line"><a name="l02975"></a><span class="lineno"> 2975</span>&#160; }</div>
<div class="line"><a name="l02976"></a><span class="lineno"> 2976</span>&#160; </div>
<div class="line"><a name="l02977"></a><span class="lineno"> 2977</span>&#160; BaseObject* SafeRevAlloc(BaseObject* ptr);</div>
<div class="line"><a name="l02978"></a><span class="lineno"> 2978</span>&#160; </div>
<div class="line"><a name="l02979"></a><span class="lineno"> 2979</span>&#160; <span class="keywordtype">int</span>* SafeRevAllocArray(<span class="keywordtype">int</span>* ptr);</div>
<div class="line"><a name="l02980"></a><span class="lineno"> 2980</span>&#160; int64* SafeRevAllocArray(int64* ptr);</div>
<div class="line"><a name="l02981"></a><span class="lineno"> 2981</span>&#160; uint64* SafeRevAllocArray(uint64* ptr);</div>
<div class="line"><a name="l02982"></a><span class="lineno"> 2982</span>&#160; <span class="keywordtype">double</span>* SafeRevAllocArray(<span class="keywordtype">double</span>* ptr);</div>
<div class="line"><a name="l02983"></a><span class="lineno"> 2983</span>&#160; BaseObject** SafeRevAllocArray(BaseObject** ptr);</div>
<div class="line"><a name="l02984"></a><span class="lineno"> 2984</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="l02985"></a><span class="lineno"> 2985</span>&#160; IntExpr** SafeRevAllocArray(IntExpr** ptr);</div>
<div class="line"><a name="l02986"></a><span class="lineno"> 2986</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="l02989"></a><span class="lineno"> 2989</span>&#160; <span class="keywordtype">void</span>* UnsafeRevAllocAux(<span class="keywordtype">void</span>* ptr);</div>
<div class="line"><a name="l02990"></a><span class="lineno"> 2990</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div>
<div class="line"><a name="l02991"></a><span class="lineno"> 2991</span>&#160; T* UnsafeRevAlloc(T* ptr) {</div>
<div class="line"><a name="l02992"></a><span class="lineno"> 2992</span>&#160; <span class="keywordflow">return</span> reinterpret_cast&lt;T*&gt;(</div>
<div class="line"><a name="l02993"></a><span class="lineno"> 2993</span>&#160; UnsafeRevAllocAux(reinterpret_cast&lt;void*&gt;(ptr)));</div>
<div class="line"><a name="l02994"></a><span class="lineno"> 2994</span>&#160; }</div>
<div class="line"><a name="l02995"></a><span class="lineno"> 2995</span>&#160; <span class="keywordtype">void</span>** UnsafeRevAllocArrayAux(<span class="keywordtype">void</span>** ptr);</div>
<div class="line"><a name="l02996"></a><span class="lineno"> 2996</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div>
<div class="line"><a name="l02997"></a><span class="lineno"> 2997</span>&#160; T** UnsafeRevAllocArray(T** ptr) {</div>
<div class="line"><a name="l02998"></a><span class="lineno"> 2998</span>&#160; <span class="keywordflow">return</span> reinterpret_cast&lt;T**&gt;(</div>
<div class="line"><a name="l02999"></a><span class="lineno"> 2999</span>&#160; UnsafeRevAllocArrayAux(reinterpret_cast&lt;void**&gt;(ptr)));</div>
<div class="line"><a name="l03000"></a><span class="lineno"> 3000</span>&#160; }</div>
<div class="line"><a name="l03001"></a><span class="lineno"> 3001</span>&#160; </div>
<div class="line"><a name="l03002"></a><span class="lineno"> 3002</span>&#160; <span class="keywordtype">void</span> InitCachedIntConstants();</div>
<div class="line"><a name="l03003"></a><span class="lineno"> 3003</span>&#160; <span class="keywordtype">void</span> InitCachedConstraint();</div>
<div class="line"><a name="l03004"></a><span class="lineno"> 3004</span>&#160; </div>
<div class="line"><a name="l03008"></a><span class="lineno"> 3008</span>&#160; Search* TopLevelSearch()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> searches_.at(1); }</div>
<div class="line"><a name="l03012"></a><span class="lineno"> 3012</span>&#160; Search* ParentSearch()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l03013"></a><span class="lineno"> 3013</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> search_size = searches_.size();</div>
<div class="line"><a name="l03014"></a><span class="lineno"> 3014</span>&#160; DCHECK_GT(search_size, 1);</div>
<div class="line"><a name="l03015"></a><span class="lineno"> 3015</span>&#160; <span class="keywordflow">return</span> searches_[search_size - 2];</div>
<div class="line"><a name="l03016"></a><span class="lineno"> 3016</span>&#160; }</div>
<div class="line"><a name="l03017"></a><span class="lineno"> 3017</span>&#160; </div>
<div class="line"><a name="l03019"></a><span class="lineno"> 3019</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="l03020"></a><span class="lineno"> 3020</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="l03021"></a><span class="lineno"> 3021</span>&#160; </div>
<div class="line"><a name="l03024"></a><span class="lineno"> 3024</span>&#160; <span class="keywordtype">int</span> GetNewIntVarIndex() { <span class="keywordflow">return</span> num_int_vars_++; }</div>
<div class="line"><a name="l03025"></a><span class="lineno"> 3025</span>&#160; </div>
<div class="line"><a name="l03027"></a><span class="lineno"> 3027</span>&#160; <span class="keywordtype">bool</span> IsADifference(IntExpr* expr, IntExpr** <span class="keyword">const</span> left,</div>
<div class="line"><a name="l03028"></a><span class="lineno"> 3028</span>&#160; IntExpr** <span class="keyword">const</span> right);</div>
<div class="line"><a name="l03029"></a><span class="lineno"> 3029</span>&#160; </div>
<div class="line"><a name="l03030"></a><span class="lineno"> 3030</span>&#160; <span class="keyword">const</span> std::string name_;</div>
<div class="line"><a name="l03031"></a><span class="lineno"> 3031</span>&#160; <span class="keyword">const</span> ConstraintSolverParameters parameters_;</div>
<div class="line"><a name="l03032"></a><span class="lineno"> 3032</span>&#160; absl::flat_hash_map&lt;const PropagationBaseObject*, std::string&gt;</div>
<div class="line"><a name="l03033"></a><span class="lineno"> 3033</span>&#160; propagation_object_names_;</div>
<div class="line"><a name="l03034"></a><span class="lineno"> 3034</span>&#160; absl::flat_hash_map&lt;const PropagationBaseObject*, IntegerCastInfo&gt;</div>
<div class="line"><a name="l03035"></a><span class="lineno"> 3035</span>&#160; cast_information_;</div>
<div class="line"><a name="l03036"></a><span class="lineno"> 3036</span>&#160; absl::flat_hash_set&lt;const Constraint*&gt; cast_constraints_;</div>
<div class="line"><a name="l03037"></a><span class="lineno"> 3037</span>&#160; <span class="keyword">const</span> std::string empty_name_;</div>
<div class="line"><a name="l03038"></a><span class="lineno"> 3038</span>&#160; std::unique_ptr&lt;Queue&gt; queue_;</div>
<div class="line"><a name="l03039"></a><span class="lineno"> 3039</span>&#160; std::unique_ptr&lt;Trail&gt; trail_;</div>
<div class="line"><a name="l03040"></a><span class="lineno"> 3040</span>&#160; std::vector&lt;Constraint*&gt; constraints_list_;</div>
<div class="line"><a name="l03041"></a><span class="lineno"> 3041</span>&#160; std::vector&lt;Constraint*&gt; additional_constraints_list_;</div>
<div class="line"><a name="l03042"></a><span class="lineno"> 3042</span>&#160; std::vector&lt;int&gt; additional_constraints_parent_list_;</div>
<div class="line"><a name="l03043"></a><span class="lineno"> 3043</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a2f2bea2202c96738b11b050e71a28e63">SolverState</a> state_;</div>
<div class="line"><a name="l03044"></a><span class="lineno"> 3044</span>&#160; int64 branches_;</div>
<div class="line"><a name="l03045"></a><span class="lineno"> 3045</span>&#160; int64 fails_;</div>
<div class="line"><a name="l03046"></a><span class="lineno"> 3046</span>&#160; int64 decisions_;</div>
<div class="line"><a name="l03047"></a><span class="lineno"> 3047</span>&#160; int64 demon_runs_[<a class="code" href="classoperations__research_1_1Solver.html#a8c55e823426ef9c603a7e8faa2786f58">kNumPriorities</a>];</div>
<div class="line"><a name="l03048"></a><span class="lineno"> 3048</span>&#160; int64 neighbors_;</div>
<div class="line"><a name="l03049"></a><span class="lineno"> 3049</span>&#160; int64 filtered_neighbors_;</div>
<div class="line"><a name="l03050"></a><span class="lineno"> 3050</span>&#160; int64 accepted_neighbors_;</div>
<div class="line"><a name="l03051"></a><span class="lineno"> 3051</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a39a89fa3de66d68071c66a936f17fd2b">OptimizationDirection</a> optimization_direction_;</div>
<div class="line"><a name="l03052"></a><span class="lineno"> 3052</span>&#160; std::unique_ptr&lt;ClockTimer&gt; timer_;</div>
<div class="line"><a name="l03053"></a><span class="lineno"> 3053</span>&#160; std::vector&lt;Search*&gt; searches_;</div>
<div class="line"><a name="l03054"></a><span class="lineno"> 3054</span>&#160; std::mt19937 random_;</div>
<div class="line"><a name="l03055"></a><span class="lineno"> 3055</span>&#160; uint64 fail_stamp_;</div>
<div class="line"><a name="l03056"></a><span class="lineno"> 3056</span>&#160; std::unique_ptr&lt;Decision&gt; balancing_decision_;</div>
<div class="line"><a name="l03058"></a><span class="lineno"> 3058</span>&#160; std::function&lt;void()&gt; fail_intercept_;</div>
<div class="line"><a name="l03060"></a><span class="lineno"> 3060</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="l03062"></a><span class="lineno"> 3062</span>&#160; <span class="keywordtype">bool</span> use_fast_local_search_;</div>
<div class="line"><a name="l03064"></a><span class="lineno"> 3064</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="l03066"></a><span class="lineno"> 3066</span>&#160; std::unique_ptr&lt;Assignment&gt; local_search_state_;</div>
<div class="line"><a name="l03067"></a><span class="lineno"> 3067</span>&#160; </div>
<div class="line"><a name="l03069"></a><span class="lineno"> 3069</span>&#160; <span class="keyword">enum</span> { MIN_CACHED_INT_CONST = -8, MAX_CACHED_INT_CONST = 8 };</div>
<div class="line"><a name="l03070"></a><span class="lineno"> 3070</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="l03071"></a><span class="lineno"> 3071</span>&#160; </div>
<div class="line"><a name="l03073"></a><span class="lineno"> 3073</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* true_constraint_;</div>
<div class="line"><a name="l03074"></a><span class="lineno"> 3074</span>&#160; <a class="code" href="classoperations__research_1_1Solver.html#a697ed9eaa8955d595a023663ab1e8418">Constraint</a>* false_constraint_;</div>
<div class="line"><a name="l03075"></a><span class="lineno"> 3075</span>&#160; </div>
<div class="line"><a name="l03076"></a><span class="lineno"> 3076</span>&#160; std::unique_ptr&lt;Decision&gt; fail_decision_;</div>
<div class="line"><a name="l03077"></a><span class="lineno"> 3077</span>&#160; <span class="keywordtype">int</span> constraint_index_;</div>
<div class="line"><a name="l03078"></a><span class="lineno"> 3078</span>&#160; <span class="keywordtype">int</span> additional_constraint_index_;</div>
<div class="line"><a name="l03079"></a><span class="lineno"> 3079</span>&#160; <span class="keywordtype">int</span> num_int_vars_;</div>
<div class="line"><a name="l03080"></a><span class="lineno"> 3080</span>&#160; </div>
<div class="line"><a name="l03081"></a><span class="lineno"> 3081</span>&#160; std::unique_ptr&lt;ModelCache&gt; model_cache_;</div>
<div class="line"><a name="l03082"></a><span class="lineno"> 3082</span>&#160; std::unique_ptr&lt;PropagationMonitor&gt; propagation_monitor_;</div>
<div class="line"><a name="l03083"></a><span class="lineno"> 3083</span>&#160; PropagationMonitor* print_trace_;</div>
<div class="line"><a name="l03084"></a><span class="lineno"> 3084</span>&#160; std::unique_ptr&lt;LocalSearchMonitor&gt; local_search_monitor_;</div>
<div class="line"><a name="l03085"></a><span class="lineno"> 3085</span>&#160; <span class="keywordtype">int</span> anonymous_variable_index_;</div>
<div class="line"><a name="l03086"></a><span class="lineno"> 3086</span>&#160; <span class="keywordtype">bool</span> should_fail_;</div>
<div class="line"><a name="l03087"></a><span class="lineno"> 3087</span>&#160; </div>
<div class="line"><a name="l03088"></a><span class="lineno"> 3088</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1Solver.html#abac10873a1af49f1dce33a34f3afaa56">Solver</a>);</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; </div>
<div class="line"><a name="l03091"></a><span class="lineno"> 3091</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="l03092"></a><span class="lineno"> 3092</span>&#160; </div>
<div class="line"><a name="l03096"></a><span class="lineno"><a class="line" href="namespaceoperations__research.html#a009f247167f32509baf749083e4bc984"> 3096</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="l03097"></a><span class="lineno"> 3097</span>&#160; </div>
<div class="line"><a name="l03099"></a><span class="lineno"><a class="line" href="namespaceoperations__research.html#aa96bb5a28dd9c1ccc864b1587e8e1a98"> 3099</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="l03100"></a><span class="lineno"> 3100</span>&#160; </div>
<div class="line"><a name="l03104"></a><span class="lineno"><a class="line" href="classoperations__research_1_1BaseObject.html"> 3104</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="l03105"></a><span class="lineno"> 3105</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l03106"></a><span class="lineno"><a class="line" href="classoperations__research_1_1BaseObject.html#a48f1c86064886ad6b10822e12c877da9"> 3106</a></span>&#160; <a class="code" href="classoperations__research_1_1BaseObject.html#a48f1c86064886ad6b10822e12c877da9">BaseObject</a>() {}</div>
<div class="line"><a name="l03107"></a><span class="lineno"><a class="line" href="classoperations__research_1_1BaseObject.html#a9d8322d9fcae16059ee5a30839360bfe"> 3107</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="l03108"></a><span class="lineno"><a class="line" href="classoperations__research_1_1BaseObject.html#a8eba5d533fa9df4617c1868d3ec2afc4"> 3108</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="l03109"></a><span class="lineno"> 3109</span>&#160; </div>
<div class="line"><a name="l03110"></a><span class="lineno"> 3110</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l03111"></a><span class="lineno"> 3111</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1BaseObject.html">BaseObject</a>);</div>
<div class="line"><a name="l03112"></a><span class="lineno"> 3112</span>&#160;};</div>
<div class="line"><a name="l03113"></a><span class="lineno"> 3113</span>&#160; </div>
<div class="line"><a name="l03114"></a><span class="lineno"> 3114</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="l03115"></a><span class="lineno"> 3115</span>&#160; </div>
<div class="line"><a name="l03119"></a><span class="lineno"><a class="line" href="classoperations__research_1_1PropagationBaseObject.html"> 3119</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="l03120"></a><span class="lineno"> 3120</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l03121"></a><span class="lineno"><a class="line" href="classoperations__research_1_1PropagationBaseObject.html#aacb2f6b1ab33fb65796b6c46d46e0813"> 3121</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="l03122"></a><span class="lineno"><a class="line" href="classoperations__research_1_1PropagationBaseObject.html#a8ddd42bb805c00b56ea575e78151c5e0"> 3122</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="l03123"></a><span class="lineno"> 3123</span>&#160; </div>
<div class="line"><a name="l03124"></a><span class="lineno"><a class="line" href="classoperations__research_1_1PropagationBaseObject.html#aed804747c45a7e1caf81461f9e45dd91"> 3124</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="l03125"></a><span class="lineno"> 3125</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="l03126"></a><span class="lineno"> 3126</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;PropagationBaseObject&quot;</span>;</div>
<div class="line"><a name="l03127"></a><span class="lineno"> 3127</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l03128"></a><span class="lineno"> 3128</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="l03129"></a><span class="lineno"> 3129</span>&#160; }</div>
<div class="line"><a name="l03130"></a><span class="lineno"> 3130</span>&#160; }</div>
<div class="line"><a name="l03131"></a><span class="lineno"><a class="line" href="classoperations__research_1_1PropagationBaseObject.html#a5f32c22c620c811754ba7b6f977db864"> 3131</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="l03132"></a><span class="lineno"> 3132</span>&#160; </div>
<div class="line"><a name="l03135"></a><span class="lineno"><a class="line" href="classoperations__research_1_1PropagationBaseObject.html#a5155ff01cf80f5a478fd09916abab155"> 3135</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="l03136"></a><span class="lineno"> 3136</span>&#160; </div>
<div class="line"><a name="l03139"></a><span class="lineno"><a class="line" href="classoperations__research_1_1PropagationBaseObject.html#ae038f4a9249362629fc47e8dfc441ec7"> 3139</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="l03140"></a><span class="lineno"> 3140</span>&#160; </div>
<div class="line"><a name="l03144"></a><span class="lineno"><a class="line" href="classoperations__research_1_1PropagationBaseObject.html#a173cbf153462b14f9b57362d2c45638a"> 3144</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="l03145"></a><span class="lineno"><a class="line" href="classoperations__research_1_1PropagationBaseObject.html#a448b9bde901fcf3ec2e94ab972b083f0"> 3145</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="l03146"></a><span class="lineno"> 3146</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="l03147"></a><span class="lineno"> 3147</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="l03148"></a><span class="lineno"> 3148</span>&#160; </div>
<div class="line"><a name="l03149"></a><span class="lineno"> 3149</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l03150"></a><span class="lineno"> 3150</span>&#160; <span class="comment">// This method sets a callback that will be called if a failure</span></div>
<div class="line"><a name="l03151"></a><span class="lineno"> 3151</span>&#160; <span class="comment">// happens during the propagation of the queue.</span></div>
<div class="line"><a name="l03152"></a><span class="lineno"><a class="line" href="classoperations__research_1_1PropagationBaseObject.html#a3ae4667b0e7a9e6c63c91202480c8876"> 3152</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="l03153"></a><span class="lineno"> 3153</span>&#160; solver_-&gt;set_action_on_fail(std::move(a));</div>
<div class="line"><a name="l03154"></a><span class="lineno"> 3154</span>&#160; }</div>
<div class="line"><a name="l03155"></a><span class="lineno"> 3155</span>&#160;<span class="preprocessor">#endif // !defined(SWIG)</span></div>
<div class="line"><a name="l03156"></a><span class="lineno"> 3156</span>&#160; </div>
<div class="line"><a name="l03158"></a><span class="lineno"><a class="line" href="classoperations__research_1_1PropagationBaseObject.html#a26d87b428f06d54a1a44d6e950a0e196"> 3158</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="l03159"></a><span class="lineno"> 3159</span>&#160; </div>
<div class="line"><a name="l03161"></a><span class="lineno"><a class="line" href="classoperations__research_1_1PropagationBaseObject.html#aa799a452245f03cc53355e6432c107a7"> 3161</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="l03162"></a><span class="lineno"> 3162</span>&#160; solver_-&gt;set_variable_to_clean_on_fail(v);</div>
<div class="line"><a name="l03163"></a><span class="lineno"> 3163</span>&#160; }</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> 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="l03167"></a><span class="lineno"> 3167</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="l03169"></a><span class="lineno"> 3169</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="l03171"></a><span class="lineno"> 3171</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="l03172"></a><span class="lineno"> 3172</span>&#160; </div>
<div class="line"><a name="l03173"></a><span class="lineno"> 3173</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l03174"></a><span class="lineno"> 3174</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="l03175"></a><span class="lineno"> 3175</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1PropagationBaseObject.html">PropagationBaseObject</a>);</div>
<div class="line"><a name="l03176"></a><span class="lineno"> 3176</span>&#160;};</div>
<div class="line"><a name="l03177"></a><span class="lineno"> 3177</span>&#160; </div>
<div class="line"><a name="l03180"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Decision.html"> 3180</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="l03181"></a><span class="lineno"> 3181</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l03182"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Decision.html#abd62b993702516d946bdbef25f6d29b0"> 3182</a></span>&#160; <a class="code" href="classoperations__research_1_1Decision.html#abd62b993702516d946bdbef25f6d29b0">Decision</a>() {}</div>
<div class="line"><a name="l03183"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Decision.html#a51b2fa6aacf500666d37f0a73eb57c45"> 3183</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="l03184"></a><span class="lineno"> 3184</span>&#160; </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_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="l03187"></a><span class="lineno"> 3187</span>&#160; </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_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="l03190"></a><span class="lineno"> 3190</span>&#160; </div>
<div class="line"><a name="l03191"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Decision.html#aed804747c45a7e1caf81461f9e45dd91"> 3191</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="l03193"></a><span class="lineno"> 3193</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="l03194"></a><span class="lineno"> 3194</span>&#160; </div>
<div class="line"><a name="l03195"></a><span class="lineno"> 3195</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l03196"></a><span class="lineno"> 3196</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1Decision.html">Decision</a>);</div>
<div class="line"><a name="l03197"></a><span class="lineno"> 3197</span>&#160;};</div>
<div class="line"><a name="l03198"></a><span class="lineno"> 3198</span>&#160; </div>
<div class="line"><a name="l03201"></a><span class="lineno"><a class="line" href="classoperations__research_1_1DecisionVisitor.html"> 3201</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="l03202"></a><span class="lineno"> 3202</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l03203"></a><span class="lineno"><a class="line" href="classoperations__research_1_1DecisionVisitor.html#af92f578c97531537e56d6bf57447bc6b"> 3203</a></span>&#160; <a class="code" href="classoperations__research_1_1DecisionVisitor.html#af92f578c97531537e56d6bf57447bc6b">DecisionVisitor</a>() {}</div>
<div class="line"><a name="l03204"></a><span class="lineno"><a class="line" href="classoperations__research_1_1DecisionVisitor.html#a355cefbc4074014fa7dfe2b8843b95d9"> 3204</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="l03205"></a><span class="lineno"> 3205</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="l03206"></a><span class="lineno"> 3206</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="l03207"></a><span class="lineno"> 3207</span>&#160; <span class="keywordtype">bool</span> start_with_lower_half);</div>
<div class="line"><a name="l03208"></a><span class="lineno"> 3208</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="l03209"></a><span class="lineno"> 3209</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="l03210"></a><span class="lineno"> 3210</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="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_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="l03212"></a><span class="lineno"> 3212</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="l03213"></a><span class="lineno"> 3213</span>&#160; </div>
<div class="line"><a name="l03214"></a><span class="lineno"> 3214</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l03215"></a><span class="lineno"> 3215</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1DecisionVisitor.html">DecisionVisitor</a>);</div>
<div class="line"><a name="l03216"></a><span class="lineno"> 3216</span>&#160;};</div>
<div class="line"><a name="l03217"></a><span class="lineno"> 3217</span>&#160; </div>
<div class="line"><a name="l03220"></a><span class="lineno"><a class="line" href="classoperations__research_1_1DecisionBuilder.html"> 3220</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="l03221"></a><span class="lineno"> 3221</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l03222"></a><span class="lineno"><a class="line" href="classoperations__research_1_1DecisionBuilder.html#ac822e3c8055eeace0165357c9b35a490"> 3222</a></span>&#160; <a class="code" href="classoperations__research_1_1DecisionBuilder.html#ac822e3c8055eeace0165357c9b35a490">DecisionBuilder</a>() {}</div>
<div class="line"><a name="l03223"></a><span class="lineno"><a class="line" href="classoperations__research_1_1DecisionBuilder.html#ad3bd886b44a7c315a2ed7b5da09798aa"> 3223</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="l03228"></a><span class="lineno"> 3228</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="l03229"></a><span class="lineno"> 3229</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="l03230"></a><span class="lineno"> 3230</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l03231"></a><span class="lineno"> 3231</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="l03236"></a><span class="lineno"> 3236</span>&#160; std::vector&lt;SearchMonitor*&gt;* <span class="keyword">const</span> extras);</div>
<div class="line"><a name="l03237"></a><span class="lineno"> 3237</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="l03238"></a><span class="lineno"> 3238</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l03239"></a><span class="lineno"> 3239</span>&#160; </div>
<div class="line"><a name="l03240"></a><span class="lineno"> 3240</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l03241"></a><span class="lineno"> 3241</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1DecisionBuilder.html">DecisionBuilder</a>);</div>
<div class="line"><a name="l03242"></a><span class="lineno"> 3242</span>&#160;};</div>
<div class="line"><a name="l03243"></a><span class="lineno"> 3243</span>&#160; </div>
<div class="line"><a name="l03253"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Demon.html"> 3253</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="l03254"></a><span class="lineno"> 3254</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l03257"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Demon.html#a18542ce967b086b67c5b0e2b1c025bcf"> 3257</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="l03258"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Demon.html#a5c1d752bf5b8c6e57bd7defbdbc3e0d8"> 3258</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="l03259"></a><span class="lineno"> 3259</span>&#160; </div>
<div class="line"><a name="l03261"></a><span class="lineno"> 3261</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="l03262"></a><span class="lineno"> 3262</span>&#160; </div>
<div class="line"><a name="l03266"></a><span class="lineno"> 3266</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="l03267"></a><span class="lineno"> 3267</span>&#160; </div>
<div class="line"><a name="l03268"></a><span class="lineno"> 3268</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="l03269"></a><span class="lineno"> 3269</span>&#160; </div>
<div class="line"><a name="l03272"></a><span class="lineno"> 3272</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="l03273"></a><span class="lineno"> 3273</span>&#160; </div>
<div class="line"><a name="l03275"></a><span class="lineno"> 3275</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="l03276"></a><span class="lineno"> 3276</span>&#160; </div>
<div class="line"><a name="l03277"></a><span class="lineno"> 3277</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l03278"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Demon.html#a47dfc6f2bc0d50a6e7c92eb00d97b064"> 3278</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="l03279"></a><span class="lineno"> 3279</span>&#160; <span class="keywordtype">void</span> set_stamp(int64 stamp) { stamp_ = stamp; }</div>
<div class="line"><a name="l03280"></a><span class="lineno"> 3280</span>&#160; uint64 stamp()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> stamp_; }</div>
<div class="line"><a name="l03281"></a><span class="lineno"> 3281</span>&#160; uint64 stamp_;</div>
<div class="line"><a name="l03282"></a><span class="lineno"> 3282</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1Demon.html#a18542ce967b086b67c5b0e2b1c025bcf">Demon</a>);</div>
<div class="line"><a name="l03283"></a><span class="lineno"> 3283</span>&#160;};</div>
<div class="line"><a name="l03284"></a><span class="lineno"> 3284</span>&#160; </div>
<div class="line"><a name="l03286"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html"> 3286</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="l03287"></a><span class="lineno"> 3287</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l03289"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#aed85f9e320a2352ea31db4ae2e816861"> 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#aed85f9e320a2352ea31db4ae2e816861">kAbs</a>[];</div>
<div class="line"><a name="l03290"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a795a3239d887c8e56bd2f96f44285f34"> 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#a795a3239d887c8e56bd2f96f44285f34">kAbsEqual</a>[];</div>
<div class="line"><a name="l03291"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a58c32b91992c812416e017260a5308e5"> 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#a58c32b91992c812416e017260a5308e5">kAllDifferent</a>[];</div>
<div class="line"><a name="l03292"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a1680a15375772b3c4930869519695e27"> 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#a1680a15375772b3c4930869519695e27">kAllowedAssignments</a>[];</div>
<div class="line"><a name="l03293"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ac92009c58c162047bc1232c8b1b955e5"> 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#ac92009c58c162047bc1232c8b1b955e5">kAtMost</a>[];</div>
<div class="line"><a name="l03294"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a047b2a1ed371f7cbfc2b712eae1c9518"> 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#a047b2a1ed371f7cbfc2b712eae1c9518">kIndexOf</a>[];</div>
<div class="line"><a name="l03295"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a51b35b919713ff95a1319b391a818948"> 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#a51b35b919713ff95a1319b391a818948">kBetween</a>[];</div>
<div class="line"><a name="l03296"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#af6181ef449bab02788536ca503cd3cd8"> 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#af6181ef449bab02788536ca503cd3cd8">kConditionalExpr</a>[];</div>
<div class="line"><a name="l03297"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a1d734a2c4dd2abac8ff580437c3fd0e0"> 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#a1d734a2c4dd2abac8ff580437c3fd0e0">kCircuit</a>[];</div>
<div class="line"><a name="l03298"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a6547847378ab8737c33862119548fa7a"> 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#a6547847378ab8737c33862119548fa7a">kConvexPiecewise</a>[];</div>
<div class="line"><a name="l03299"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a2b39b4ddeced08534a545a2af992ea25"> 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#a2b39b4ddeced08534a545a2af992ea25">kCountEqual</a>[];</div>
<div class="line"><a name="l03300"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ab562410a4141319c760d7187cae60ae3"> 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#ab562410a4141319c760d7187cae60ae3">kCover</a>[];</div>
<div class="line"><a name="l03301"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a7cd2b6f03b98cca52a9c1162ff4e588d"> 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#a7cd2b6f03b98cca52a9c1162ff4e588d">kCumulative</a>[];</div>
<div class="line"><a name="l03302"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a1abb7cd1adc423a0c095f0c902a498b5"> 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#a1abb7cd1adc423a0c095f0c902a498b5">kDeviation</a>[];</div>
<div class="line"><a name="l03303"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a793434fd2029abd85f59147b7671e1e9"> 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#a793434fd2029abd85f59147b7671e1e9">kDifference</a>[];</div>
<div class="line"><a name="l03304"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a900b6f477d759869da0e9a89c5201642"> 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#a900b6f477d759869da0e9a89c5201642">kDisjunctive</a>[];</div>
<div class="line"><a name="l03305"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a037a01ecac6de7f83233f48bdec420f0"> 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#a037a01ecac6de7f83233f48bdec420f0">kDistribute</a>[];</div>
<div class="line"><a name="l03306"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a1cabba002c738f52f516bde312d250ff"> 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#a1cabba002c738f52f516bde312d250ff">kDivide</a>[];</div>
<div class="line"><a name="l03307"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a5742cff510396670bc30e59b21bc4f02"> 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#a5742cff510396670bc30e59b21bc4f02">kDurationExpr</a>[];</div>
<div class="line"><a name="l03308"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a0cf22f4d4e6ca99119b47786c7051872"> 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#a0cf22f4d4e6ca99119b47786c7051872">kElement</a>[];</div>
<div class="line"><a name="l03309"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a9d247821942bd436a451b98b6a820a0b"> 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#a9d247821942bd436a451b98b6a820a0b">kElementEqual</a>[];</div>
<div class="line"><a name="l03310"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a90a61ae1140d0653a779c95428efd1e9"> 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#a90a61ae1140d0653a779c95428efd1e9">kEndExpr</a>[];</div>
<div class="line"><a name="l03311"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a493ce359cebf04754142358695c209e4"> 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#a493ce359cebf04754142358695c209e4">kEquality</a>[];</div>
<div class="line"><a name="l03312"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a8c5cbe7b436dce3afff17642fce39ea1"> 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#a8c5cbe7b436dce3afff17642fce39ea1">kFalseConstraint</a>[];</div>
<div class="line"><a name="l03313"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a6a623ce0e4622390eee08d0e5b501cea"> 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#a6a623ce0e4622390eee08d0e5b501cea">kGlobalCardinality</a>[];</div>
<div class="line"><a name="l03314"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a418093315d91c51a1adb1dda94266643"> 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#a418093315d91c51a1adb1dda94266643">kGreater</a>[];</div>
<div class="line"><a name="l03315"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a9e0316ea65eff972a717d636c75482f6"> 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#a9e0316ea65eff972a717d636c75482f6">kGreaterOrEqual</a>[];</div>
<div class="line"><a name="l03316"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ab3bfa3eba327be16a5710d64401f0f59"> 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#ab3bfa3eba327be16a5710d64401f0f59">kIntegerVariable</a>[];</div>
<div class="line"><a name="l03317"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a3bd22735c865e1bd450f7e01747390f2"> 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#a3bd22735c865e1bd450f7e01747390f2">kIntervalBinaryRelation</a>[];</div>
<div class="line"><a name="l03318"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#affe125bed1edf258797dae8d40428107"> 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#affe125bed1edf258797dae8d40428107">kIntervalDisjunction</a>[];</div>
<div class="line"><a name="l03319"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a35959a8f06ab5704037d3ba6f6e57807"> 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#a35959a8f06ab5704037d3ba6f6e57807">kIntervalUnaryRelation</a>[];</div>
<div class="line"><a name="l03320"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a0d9e5851d0f32ac86e3a80f9d83f56f7"> 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#a0d9e5851d0f32ac86e3a80f9d83f56f7">kIntervalVariable</a>[];</div>
<div class="line"><a name="l03321"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ae5aadcc612ef6d5d5745016e047cc114"> 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#ae5aadcc612ef6d5d5745016e047cc114">kInversePermutation</a>[];</div>
<div class="line"><a name="l03322"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#aa8ff2529b746694f1e84c0ae3539a771"> 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#aa8ff2529b746694f1e84c0ae3539a771">kIsBetween</a>[];</div>
<div class="line"><a name="l03323"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a27f93e67bcfff37a7387c8d0470a1a84"> 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#a27f93e67bcfff37a7387c8d0470a1a84">kIsDifferent</a>[];</div>
<div class="line"><a name="l03324"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a580be6f5821ff3e30fda51d180ec4381"> 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#a580be6f5821ff3e30fda51d180ec4381">kIsEqual</a>[];</div>
<div class="line"><a name="l03325"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a523dfb65ec9b9b012b2414087ad66ece"> 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#a523dfb65ec9b9b012b2414087ad66ece">kIsGreater</a>[];</div>
<div class="line"><a name="l03326"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a9f8656876765452bb1532eaa2ae63542"> 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#a9f8656876765452bb1532eaa2ae63542">kIsGreaterOrEqual</a>[];</div>
<div class="line"><a name="l03327"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a74cffe7b975f432fec064daf60d35e6d"> 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#a74cffe7b975f432fec064daf60d35e6d">kIsLess</a>[];</div>
<div class="line"><a name="l03328"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ae71cfc5d896488af982bf109d0b3dbd3"> 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#ae71cfc5d896488af982bf109d0b3dbd3">kIsLessOrEqual</a>[];</div>
<div class="line"><a name="l03329"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a00684eaee743cc9b418ebdf99a9027be"> 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#a00684eaee743cc9b418ebdf99a9027be">kIsMember</a>[];</div>
<div class="line"><a name="l03330"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a66badecb0606e028c8f2318523337510"> 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#a66badecb0606e028c8f2318523337510">kLess</a>[];</div>
<div class="line"><a name="l03331"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a561d0006662c709e158b85992727024a"> 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#a561d0006662c709e158b85992727024a">kLessOrEqual</a>[];</div>
<div class="line"><a name="l03332"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#af5045f41feeb94cbea4250ba15adcd24"> 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#af5045f41feeb94cbea4250ba15adcd24">kLexLess</a>[];</div>
<div class="line"><a name="l03333"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a26685fc40f9c1a471f510c940229f12a"> 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#a26685fc40f9c1a471f510c940229f12a">kLinkExprVar</a>[];</div>
<div class="line"><a name="l03334"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a381c6eb4722ef4ec71888612ffd9dcdb"> 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#a381c6eb4722ef4ec71888612ffd9dcdb">kMapDomain</a>[];</div>
<div class="line"><a name="l03335"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#aa95757a513f781326dd6909766f893d4"> 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#aa95757a513f781326dd6909766f893d4">kMax</a>[];</div>
<div class="line"><a name="l03336"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a1dad7894187a044deb1348a4401b01dd"> 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#a1dad7894187a044deb1348a4401b01dd">kMaxEqual</a>[];</div>
<div class="line"><a name="l03337"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a60e019a6fcc850c0f9b3f1d0d510ff58"> 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#a60e019a6fcc850c0f9b3f1d0d510ff58">kMember</a>[];</div>
<div class="line"><a name="l03338"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a589dbe140227cc5b787cdda276b67acc"> 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#a589dbe140227cc5b787cdda276b67acc">kMin</a>[];</div>
<div class="line"><a name="l03339"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a2c093c2312ebcf6e2731da682e0adfae"> 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#a2c093c2312ebcf6e2731da682e0adfae">kMinEqual</a>[];</div>
<div class="line"><a name="l03340"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a58204b09320f02bca9bd9574cec4cc11"> 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#a58204b09320f02bca9bd9574cec4cc11">kModulo</a>[];</div>
<div class="line"><a name="l03341"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a69b3391b3f8ada3bf0c2c69a8c7a799e"> 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#a69b3391b3f8ada3bf0c2c69a8c7a799e">kNoCycle</a>[];</div>
<div class="line"><a name="l03342"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a6fa8bac903075afe8a670a0c2206fcc5"> 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#a6fa8bac903075afe8a670a0c2206fcc5">kNonEqual</a>[];</div>
<div class="line"><a name="l03343"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a7f60481e6d86f31e943ae6b6e0f6410b"> 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#a7f60481e6d86f31e943ae6b6e0f6410b">kNotBetween</a>[];</div>
<div class="line"><a name="l03344"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ac98ea1ab84216d43ee4fdd81ab7474fc"> 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#ac98ea1ab84216d43ee4fdd81ab7474fc">kNotMember</a>[];</div>
<div class="line"><a name="l03345"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a800e6dd7541cfccb30f9ff87b0806282"> 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#a800e6dd7541cfccb30f9ff87b0806282">kNullIntersect</a>[];</div>
<div class="line"><a name="l03346"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a096edf47d0fdf540679b385bc80ece6a"> 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#a096edf47d0fdf540679b385bc80ece6a">kOpposite</a>[];</div>
<div class="line"><a name="l03347"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ab14b83147d91ddc7f870334f23c93459"> 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#ab14b83147d91ddc7f870334f23c93459">kPack</a>[];</div>
<div class="line"><a name="l03348"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a0f5cb6f97a812bf8259c3e2b15cc6445"> 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#a0f5cb6f97a812bf8259c3e2b15cc6445">kPathCumul</a>[];</div>
<div class="line"><a name="l03349"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a5fd20f96469c4dc88975e6ccfdc6d0b3"> 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#a5fd20f96469c4dc88975e6ccfdc6d0b3">kDelayedPathCumul</a>[];</div>
<div class="line"><a name="l03350"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a75651946a55c50f7006d07a0ee4e67c2"> 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#a75651946a55c50f7006d07a0ee4e67c2">kPerformedExpr</a>[];</div>
<div class="line"><a name="l03351"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ac6d86b11992187f28b77b7c48e0af0c9"> 3351</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="l03352"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#afdd57d000496bd12a81e008f1445c6e0"> 3352</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="l03353"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ac21aa6c10029dac2f0260d71be9edcdf"> 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#ac21aa6c10029dac2f0260d71be9edcdf">kScalProd</a>[];</div>
<div class="line"><a name="l03354"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a63ad0c64681ddabe0c2121f40f2ed594"> 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#a63ad0c64681ddabe0c2121f40f2ed594">kScalProdEqual</a>[];</div>
<div class="line"><a name="l03355"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#adc4da30a70d833a3e0d59a5b3945a001"> 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#adc4da30a70d833a3e0d59a5b3945a001">kScalProdGreaterOrEqual</a>[];</div>
<div class="line"><a name="l03356"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a58992f144ba268bf675eb1c6c2327453"> 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#a58992f144ba268bf675eb1c6c2327453">kScalProdLessOrEqual</a>[];</div>
<div class="line"><a name="l03357"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#af6146bd50969010daeee8c1005ccf59c"> 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#af6146bd50969010daeee8c1005ccf59c">kSemiContinuous</a>[];</div>
<div class="line"><a name="l03358"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a8dd7af97dcb7f2d7161a49057b8d97d3"> 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#a8dd7af97dcb7f2d7161a49057b8d97d3">kSequenceVariable</a>[];</div>
<div class="line"><a name="l03359"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a52e35a16f2c1fc6072eeac9e0848c8eb"> 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#a52e35a16f2c1fc6072eeac9e0848c8eb">kSortingConstraint</a>[];</div>
<div class="line"><a name="l03360"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a92149cd4553cbe6b381ea8a10bd2751a"> 3360</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="l03361"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#acc606748a8d51c2ded9fe90bb6cd1af3"> 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#acc606748a8d51c2ded9fe90bb6cd1af3">kStartExpr</a>[];</div>
<div class="line"><a name="l03362"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a56c59c6a5d75ab26416250cc2a820ebd"> 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#a56c59c6a5d75ab26416250cc2a820ebd">kSum</a>[];</div>
<div class="line"><a name="l03363"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#af06d49a292922944bda010d437a22dc7"> 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#af06d49a292922944bda010d437a22dc7">kSumEqual</a>[];</div>
<div class="line"><a name="l03364"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#aa39de23b822bea8a9e5119b8e6585092"> 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#aa39de23b822bea8a9e5119b8e6585092">kSumGreaterOrEqual</a>[];</div>
<div class="line"><a name="l03365"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a725ba236296fa779119bcd3f0566d6e6"> 3365</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="l03366"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a153cf778a5285fe08ec6044dbedefcab"> 3366</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="l03367"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a162a515ab9cca0684b341c60cc27b23f"> 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#a162a515ab9cca0684b341c60cc27b23f">kTransition</a>[];</div>
<div class="line"><a name="l03368"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a9093917d6df37ace90b5d1ee3456f18e"> 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#a9093917d6df37ace90b5d1ee3456f18e">kTrueConstraint</a>[];</div>
<div class="line"><a name="l03369"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ac23e672966c12db7c5fde3efd03bc22f"> 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#ac23e672966c12db7c5fde3efd03bc22f">kVarBoundWatcher</a>[];</div>
<div class="line"><a name="l03370"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a46e38a552aa77be3b194f0187f3b254e"> 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#a46e38a552aa77be3b194f0187f3b254e">kVarValueWatcher</a>[];</div>
<div class="line"><a name="l03371"></a><span class="lineno"> 3371</span>&#160; </div>
<div class="line"><a name="l03373"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a936ce8be9aba423200e61fb24e9dd038"> 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#a936ce8be9aba423200e61fb24e9dd038">kCountAssignedItemsExtension</a>[];</div>
<div class="line"><a name="l03374"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a27c23b6ecc378e75b4da22f166c50244"> 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#a27c23b6ecc378e75b4da22f166c50244">kCountUsedBinsExtension</a>[];</div>
<div class="line"><a name="l03375"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a226ea285176281ef88069a3b47806e23"> 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#a226ea285176281ef88069a3b47806e23">kInt64ToBoolExtension</a>[];</div>
<div class="line"><a name="l03376"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a4075e44ab81cbc73f867fafc86e62bfa"> 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#a4075e44ab81cbc73f867fafc86e62bfa">kInt64ToInt64Extension</a>[];</div>
<div class="line"><a name="l03377"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a04804fdad2e38f6b6f9d959c9e4578b2"> 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#a04804fdad2e38f6b6f9d959c9e4578b2">kObjectiveExtension</a>[];</div>
<div class="line"><a name="l03378"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a590f984893598c7a56c2b0f0d9b953ca"> 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#a590f984893598c7a56c2b0f0d9b953ca">kSearchLimitExtension</a>[];</div>
<div class="line"><a name="l03379"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a161e7c4d5001343bb14fe419f35924a3"> 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#a161e7c4d5001343bb14fe419f35924a3">kUsageEqualVariableExtension</a>[];</div>
<div class="line"><a name="l03380"></a><span class="lineno"> 3380</span>&#160; </div>
<div class="line"><a name="l03381"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a4de059a43f7663843517c5a6f09dd87c"> 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#a4de059a43f7663843517c5a6f09dd87c">kUsageLessConstantExtension</a>[];</div>
<div class="line"><a name="l03382"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a30b50b7180fb05913750969f7099b3b5"> 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#a30b50b7180fb05913750969f7099b3b5">kVariableGroupExtension</a>[];</div>
<div class="line"><a name="l03383"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#aee2485c2027447e429ba05e54da45da7"> 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#aee2485c2027447e429ba05e54da45da7">kVariableUsageLessConstantExtension</a>[];</div>
<div class="line"><a name="l03384"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#add65f146a423ac3dc2393b9308e4c476"> 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#add65f146a423ac3dc2393b9308e4c476">kWeightedSumOfAssignedEqualVariableExtension</a>[];</div>
<div class="line"><a name="l03385"></a><span class="lineno"> 3385</span>&#160; </div>
<div class="line"><a name="l03387"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ab95b49639e4e70860b08ac6c29235b1a"> 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#ab95b49639e4e70860b08ac6c29235b1a">kActiveArgument</a>[];</div>
<div class="line"><a name="l03388"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a57b18ff410cb385f7cbd1690202d8b1b"> 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#a57b18ff410cb385f7cbd1690202d8b1b">kAssumePathsArgument</a>[];</div>
<div class="line"><a name="l03389"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ac72c2601b14178d2e6512802e67c1e82"> 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#ac72c2601b14178d2e6512802e67c1e82">kBranchesLimitArgument</a>[];</div>
<div class="line"><a name="l03390"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a1efb04d5976e6f974337313f20a8abed"> 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#a1efb04d5976e6f974337313f20a8abed">kCapacityArgument</a>[];</div>
<div class="line"><a name="l03391"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a2ad108e7c25038cfe1700a5902925b1d"> 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#a2ad108e7c25038cfe1700a5902925b1d">kCardsArgument</a>[];</div>
<div class="line"><a name="l03392"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#aa0d733541b65e81e2aa5cfc817f4b306"> 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#aa0d733541b65e81e2aa5cfc817f4b306">kCoefficientsArgument</a>[];</div>
<div class="line"><a name="l03393"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ad31ec726916dcb6a86af35964b1d84f5"> 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#ad31ec726916dcb6a86af35964b1d84f5">kCountArgument</a>[];</div>
<div class="line"><a name="l03394"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a246e5ce5866d7a5af3c417e1157be7e4"> 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#a246e5ce5866d7a5af3c417e1157be7e4">kCumulativeArgument</a>[];</div>
<div class="line"><a name="l03395"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#aa397e45304c8b4a7b5b16392f80cc781"> 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#aa397e45304c8b4a7b5b16392f80cc781">kCumulsArgument</a>[];</div>
<div class="line"><a name="l03396"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a16bcd268aea2212502a7905c2167a640"> 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#a16bcd268aea2212502a7905c2167a640">kDemandsArgument</a>[];</div>
<div class="line"><a name="l03397"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a6c32b3d2b7cafc36493d2e39b058f322"> 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#a6c32b3d2b7cafc36493d2e39b058f322">kDurationMaxArgument</a>[];</div>
<div class="line"><a name="l03398"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a71c1aed86ff5e8d8203cf7f75a6b0ec4"> 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#a71c1aed86ff5e8d8203cf7f75a6b0ec4">kDurationMinArgument</a>[];</div>
<div class="line"><a name="l03399"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#acf10b6b6ef31fd88f39d0ea38885a2dc"> 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#acf10b6b6ef31fd88f39d0ea38885a2dc">kEarlyCostArgument</a>[];</div>
<div class="line"><a name="l03400"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a4c28d8452e85cc7cb4a9473382126f18"> 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#a4c28d8452e85cc7cb4a9473382126f18">kEarlyDateArgument</a>[];</div>
<div class="line"><a name="l03401"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a875953606fef3f5ea86436055d5db9cb"> 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#a875953606fef3f5ea86436055d5db9cb">kEndMaxArgument</a>[];</div>
<div class="line"><a name="l03402"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a7c32a99f7ea498fd5fd744a40a49978b"> 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#a7c32a99f7ea498fd5fd744a40a49978b">kEndMinArgument</a>[];</div>
<div class="line"><a name="l03403"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a2d38bb37c4d53747bee6bd7a4dbea683"> 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#a2d38bb37c4d53747bee6bd7a4dbea683">kEndsArgument</a>[];</div>
<div class="line"><a name="l03404"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#adbc3285e0e5dac4f291280baed6a3660"> 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#adbc3285e0e5dac4f291280baed6a3660">kExpressionArgument</a>[];</div>
<div class="line"><a name="l03405"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ac0dd4d0fa61e614fe002bc4a44c68cc4"> 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#ac0dd4d0fa61e614fe002bc4a44c68cc4">kFailuresLimitArgument</a>[];</div>
<div class="line"><a name="l03406"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a9344fe5bdffcdcaa4ff2e3e38202d329"> 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#a9344fe5bdffcdcaa4ff2e3e38202d329">kFinalStatesArgument</a>[];</div>
<div class="line"><a name="l03407"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a5d91f82112a1b3e4cb0c51125d9c5bbe"> 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#a5d91f82112a1b3e4cb0c51125d9c5bbe">kFixedChargeArgument</a>[];</div>
<div class="line"><a name="l03408"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#abb68faceb7bde97b48b06ed3ee2c8965"> 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#abb68faceb7bde97b48b06ed3ee2c8965">kIndex2Argument</a>[];</div>
<div class="line"><a name="l03409"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a5ef2508f0144802647e1384aec4dc8c8"> 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#a5ef2508f0144802647e1384aec4dc8c8">kIndexArgument</a>[];</div>
<div class="line"><a name="l03410"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ad2eec282542c2acaee9c694c5944917c"> 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#ad2eec282542c2acaee9c694c5944917c">kInitialState</a>[];</div>
<div class="line"><a name="l03411"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#aad0692e603eced5a224664493e4e04a0"> 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#aad0692e603eced5a224664493e4e04a0">kIntervalArgument</a>[];</div>
<div class="line"><a name="l03412"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a99e145b912e32fd3ab2ed6208c9b502b"> 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#a99e145b912e32fd3ab2ed6208c9b502b">kIntervalsArgument</a>[];</div>
<div class="line"><a name="l03413"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a5b75952975129483f50194a37280456e"> 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#a5b75952975129483f50194a37280456e">kLateCostArgument</a>[];</div>
<div class="line"><a name="l03414"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a7c58989fce778932cadb9e0c652ca719"> 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#a7c58989fce778932cadb9e0c652ca719">kLateDateArgument</a>[];</div>
<div class="line"><a name="l03415"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a66131a3db06416f42609a2dfa7a578e0"> 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#a66131a3db06416f42609a2dfa7a578e0">kLeftArgument</a>[];</div>
<div class="line"><a name="l03416"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a9148e84bdd8ea90a08dd76122d041400"> 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#a9148e84bdd8ea90a08dd76122d041400">kMaxArgument</a>[];</div>
<div class="line"><a name="l03417"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#aaa55b6256b0d1ab1bfe6eddecb629d71"> 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#aaa55b6256b0d1ab1bfe6eddecb629d71">kMaximizeArgument</a>[];</div>
<div class="line"><a name="l03418"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#abf8d63c7d5f292d9e040073cb2c195bf"> 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#abf8d63c7d5f292d9e040073cb2c195bf">kMinArgument</a>[];</div>
<div class="line"><a name="l03419"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a65cd4717ce546015917331bfd6b25735"> 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#a65cd4717ce546015917331bfd6b25735">kModuloArgument</a>[];</div>
<div class="line"><a name="l03420"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a4592f7b31305062855ebb7a29d179cf5"> 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#a4592f7b31305062855ebb7a29d179cf5">kNextsArgument</a>[];</div>
<div class="line"><a name="l03421"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a9c68bcf81a3279ccd6cce9a3b1b782da"> 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#a9c68bcf81a3279ccd6cce9a3b1b782da">kOptionalArgument</a>[];</div>
<div class="line"><a name="l03422"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a36304d31cb04978db9a9e1e4ac412156"> 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#a36304d31cb04978db9a9e1e4ac412156">kPartialArgument</a>[];</div>
<div class="line"><a name="l03423"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#aec97eb5843e01eedea22c9391094784c"> 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#aec97eb5843e01eedea22c9391094784c">kPositionXArgument</a>[];</div>
<div class="line"><a name="l03424"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ad5cc2e043cec5569e67c9e4ca8c5ef8e"> 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#ad5cc2e043cec5569e67c9e4ca8c5ef8e">kPositionYArgument</a>[];</div>
<div class="line"><a name="l03425"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a1f95080d6a2e37f4773ec9494479b752"> 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#a1f95080d6a2e37f4773ec9494479b752">kRangeArgument</a>[];</div>
<div class="line"><a name="l03426"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a5e74213547167ce6a3f2b2741eb6245d"> 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#a5e74213547167ce6a3f2b2741eb6245d">kRelationArgument</a>[];</div>
<div class="line"><a name="l03427"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a4fddb36c5bb92575a98b7e54f018da8d"> 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#a4fddb36c5bb92575a98b7e54f018da8d">kRightArgument</a>[];</div>
<div class="line"><a name="l03428"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ab632d1514a9794685b449641d16f7b8a"> 3428</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="l03429"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#af8646fdcdbc833407fcd408e7174bae5"> 3429</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="l03430"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a2eb741fdb1a57428e28d76b75828f53d"> 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#a2eb741fdb1a57428e28d76b75828f53d">kSizeArgument</a>[];</div>
<div class="line"><a name="l03431"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ad00a73251ccc9fcc667a424ebaf2c22d"> 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#ad00a73251ccc9fcc667a424ebaf2c22d">kSizeXArgument</a>[];</div>
<div class="line"><a name="l03432"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a196309551c4bd33cdea7377baec9e998"> 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#a196309551c4bd33cdea7377baec9e998">kSizeYArgument</a>[];</div>
<div class="line"><a name="l03433"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a7e86e0902e293a0eed1d9c0ea1d8d5ea"> 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#a7e86e0902e293a0eed1d9c0ea1d8d5ea">kSmartTimeCheckArgument</a>[];</div>
<div class="line"><a name="l03434"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a98308e5047f0292f8f18e03285e07458"> 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#a98308e5047f0292f8f18e03285e07458">kSolutionLimitArgument</a>[];</div>
<div class="line"><a name="l03435"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a6cca6dfc9f84533f608c0c092e7882d4"> 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#a6cca6dfc9f84533f608c0c092e7882d4">kStartMaxArgument</a>[];</div>
<div class="line"><a name="l03436"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#adb7e758609f3da38bb0bdd445e9e2461"> 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#adb7e758609f3da38bb0bdd445e9e2461">kStartMinArgument</a>[];</div>
<div class="line"><a name="l03437"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#addf253a2cee11ca1350b491972d20b28"> 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#addf253a2cee11ca1350b491972d20b28">kStartsArgument</a>[];</div>
<div class="line"><a name="l03438"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a0e210e117d5baa103bcee4bf41feb86f"> 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#a0e210e117d5baa103bcee4bf41feb86f">kStepArgument</a>[];</div>
<div class="line"><a name="l03439"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a38498bce8edef1f7864fe72312b32b2c"> 3439</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="l03440"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a2ddcfef771ca0d18764cd96da315f94a"> 3440</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="l03441"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#acf408604098ab222c1235e29836be09b"> 3441</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="l03442"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a958b4a3a9b2925a92c8598a72f5cefbd"> 3442</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="l03443"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a997c9b5e3c862f9f813c9c89a6b1c93b"> 3443</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="l03444"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a640f5ca056aaf5f3cc0ac458bea4e22a"> 3444</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="l03445"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a59af473ffc9f974d315aaeef845b7998"> 3445</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="l03446"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a29ab76d140dc963e6ff300c10f2e6b69"> 3446</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="l03447"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a4a72b1cb4e58e1791a99234104a33658"> 3447</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="l03448"></a><span class="lineno"> 3448</span>&#160; </div>
<div class="line"><a name="l03450"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#aa0e5213a87d88a0a5e22c33842870ae2"> 3450</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="l03451"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ad510d142b8ae51807937639ce713e830"> 3451</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="l03452"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a1472c6d924697afc986d7650a08c7a1f"> 3452</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="l03453"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a3d3319d34dd3c36b158e52dbbbf53627"> 3453</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="l03454"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#a29dbfc2d9cb6c5525f69bc14b9181f34"> 3454</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="l03455"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ac3119dd51e22d5265000c78420be940a"> 3455</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="l03456"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#ac9f18af3bfc84a788bd79fc0a07fecc8"> 3456</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="l03457"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#aefb5e9428f09f6d4829ce1c01ecdd86d"> 3457</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="l03458"></a><span class="lineno"><a class="line" href="classoperations__research_1_1ModelVisitor.html#afd0afc083b6231aea53675d7fdd43558"> 3458</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="l03459"></a><span class="lineno"> 3459</span>&#160; </div>
<div class="line"><a name="l03460"></a><span class="lineno"> 3460</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="l03461"></a><span class="lineno"> 3461</span>&#160; </div>
<div class="line"><a name="l03463"></a><span class="lineno"> 3463</span>&#160; </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#a63773f7de26444ddaa612e5106d4c3a1">BeginVisitModel</a>(<span class="keyword">const</span> std::string&amp; type_name);</div>
<div class="line"><a name="l03466"></a><span class="lineno"> 3466</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1ModelVisitor.html#af3de64bc71699e2e3dc32e15b30a98fa">EndVisitModel</a>(<span class="keyword">const</span> std::string&amp; type_name);</div>
<div class="line"><a name="l03467"></a><span class="lineno"> 3467</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="l03468"></a><span class="lineno"> 3468</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="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#a7599a55b43d85348b1efa77225b514be">EndVisitConstraint</a>(<span class="keyword">const</span> std::string&amp; type_name,</div>
<div class="line"><a name="l03470"></a><span class="lineno"> 3470</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="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#a290fc3c2f12eaa320db59f8f71e07747">BeginVisitExtension</a>(<span class="keyword">const</span> std::string&amp; type);</div>
<div class="line"><a name="l03472"></a><span class="lineno"> 3472</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="l03473"></a><span class="lineno"> 3473</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="l03474"></a><span class="lineno"> 3474</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="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#a046faf12ede984ba678bd3a08d90fe27">EndVisitIntegerExpression</a>(<span class="keyword">const</span> std::string&amp; type_name,</div>
<div class="line"><a name="l03476"></a><span class="lineno"> 3476</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="l03477"></a><span class="lineno"> 3477</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="l03478"></a><span class="lineno"> 3478</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="l03479"></a><span class="lineno"> 3479</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="l03480"></a><span class="lineno"> 3480</span>&#160; <span class="keyword">const</span> std::string&amp; operation, int64 value,</div>
<div class="line"><a name="l03481"></a><span class="lineno"> 3481</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="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#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="l03483"></a><span class="lineno"> 3483</span>&#160; <span class="keyword">const</span> std::string&amp; operation, int64 value,</div>
<div class="line"><a name="l03484"></a><span class="lineno"> 3484</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="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#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="l03486"></a><span class="lineno"> 3486</span>&#160; </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#a2ae3356565e92c60041f53034dad38dc">VisitIntegerArgument</a>(<span class="keyword">const</span> std::string&amp; arg_name, int64 value);</div>
<div class="line"><a name="l03489"></a><span class="lineno"> 3489</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="l03490"></a><span class="lineno"> 3490</span>&#160; <span class="keyword">const</span> std::vector&lt;int64&gt;&amp; values);</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#a879d8c2011eff14fe12fb47819dc45a1">VisitIntegerMatrixArgument</a>(<span class="keyword">const</span> std::string&amp; arg_name,</div>
<div class="line"><a name="l03492"></a><span class="lineno"> 3492</span>&#160; <span class="keyword">const</span> IntTupleSet&amp; tuples);</div>
<div class="line"><a name="l03493"></a><span class="lineno"> 3493</span>&#160; </div>
<div class="line"><a name="l03495"></a><span class="lineno"> 3495</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="l03496"></a><span class="lineno"> 3496</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="l03497"></a><span class="lineno"> 3497</span>&#160; </div>
<div class="line"><a name="l03498"></a><span class="lineno"> 3498</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="l03499"></a><span class="lineno"> 3499</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="l03500"></a><span class="lineno"> 3500</span>&#160; </div>
<div class="line"><a name="l03502"></a><span class="lineno"> 3502</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="l03503"></a><span class="lineno"> 3503</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="l03504"></a><span class="lineno"> 3504</span>&#160; </div>
<div class="line"><a name="l03505"></a><span class="lineno"> 3505</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="l03506"></a><span class="lineno"> 3506</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="l03508"></a><span class="lineno"> 3508</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="l03509"></a><span class="lineno"> 3509</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="l03510"></a><span class="lineno"> 3510</span>&#160; </div>
<div class="line"><a name="l03511"></a><span class="lineno"> 3511</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="l03512"></a><span class="lineno"> 3512</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="l03513"></a><span class="lineno"> 3513</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l03514"></a><span class="lineno"> 3514</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="l03516"></a><span class="lineno"> 3516</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="l03517"></a><span class="lineno"> 3517</span>&#160; </div>
<div class="line"><a name="l03520"></a><span class="lineno"> 3520</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="l03521"></a><span class="lineno"> 3521</span>&#160; int64 index_max);</div>
<div class="line"><a name="l03522"></a><span class="lineno"> 3522</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="l03523"></a><span class="lineno"> 3523</span>&#160; int64 index_min, int64 index_max);</div>
<div class="line"><a name="l03525"></a><span class="lineno"> 3525</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="l03526"></a><span class="lineno"> 3526</span>&#160; <span class="keyword">const</span> std::string&amp; arg_name, int64 index_max);</div>
<div class="line"><a name="l03527"></a><span class="lineno"> 3527</span>&#160;<span class="preprocessor">#endif // #if !defined(SWIG)</span></div>
<div class="line"><a name="l03528"></a><span class="lineno"> 3528</span>&#160;};</div>
<div class="line"><a name="l03529"></a><span class="lineno"> 3529</span>&#160; </div>
<div class="line"><a name="l03536"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Constraint.html"> 3536</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="l03537"></a><span class="lineno"> 3537</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l03538"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Constraint.html#ad73d074eabf60c009e7ca6a16a5909e4"> 3538</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="l03539"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Constraint.html#a06a1a88fd005ae10834c7fcfa4bc8d20"> 3539</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="l03540"></a><span class="lineno"> 3540</span>&#160; </div>
<div class="line"><a name="l03543"></a><span class="lineno"> 3543</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="l03544"></a><span class="lineno"> 3544</span>&#160; </div>
<div class="line"><a name="l03547"></a><span class="lineno"> 3547</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="l03548"></a><span class="lineno"> 3548</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="l03549"></a><span class="lineno"> 3549</span>&#160; </div>
<div class="line"><a name="l03552"></a><span class="lineno"> 3552</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="l03553"></a><span class="lineno"> 3553</span>&#160; </div>
<div class="line"><a name="l03555"></a><span class="lineno"> 3555</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="l03556"></a><span class="lineno"> 3556</span>&#160; </div>
<div class="line"><a name="l03558"></a><span class="lineno"> 3558</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="l03559"></a><span class="lineno"> 3559</span>&#160; </div>
<div class="line"><a name="l03563"></a><span class="lineno"> 3563</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="l03564"></a><span class="lineno"> 3564</span>&#160; </div>
<div class="line"><a name="l03565"></a><span class="lineno"> 3565</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l03566"></a><span class="lineno"> 3566</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1Constraint.html">Constraint</a>);</div>
<div class="line"><a name="l03567"></a><span class="lineno"> 3567</span>&#160;};</div>
<div class="line"><a name="l03568"></a><span class="lineno"> 3568</span>&#160; </div>
<div class="line"><a name="l03572"></a><span class="lineno"><a class="line" href="classoperations__research_1_1CastConstraint.html"> 3572</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="l03573"></a><span class="lineno"> 3573</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l03574"></a><span class="lineno"><a class="line" href="classoperations__research_1_1CastConstraint.html#af819176a9aae0724902c5a1b50786b0b"> 3574</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="l03575"></a><span class="lineno"> 3575</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="l03576"></a><span class="lineno"> 3576</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="l03577"></a><span class="lineno"> 3577</span>&#160; }</div>
<div class="line"><a name="l03578"></a><span class="lineno"><a class="line" href="classoperations__research_1_1CastConstraint.html#a870e6a416b760b2c0aaba0d45ce7a359"> 3578</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="l03579"></a><span class="lineno"> 3579</span>&#160; </div>
<div class="line"><a name="l03580"></a><span class="lineno"><a class="line" href="classoperations__research_1_1CastConstraint.html#a238836497bd5aa00b0d74d3ba2a1dc03"> 3580</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="l03581"></a><span class="lineno"> 3581</span>&#160; </div>
<div class="line"><a name="l03582"></a><span class="lineno"> 3582</span>&#160; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l03583"></a><span class="lineno"><a class="line" href="classoperations__research_1_1CastConstraint.html#a98fcd7d6529aa105a5d9ca4b282579f0"> 3583</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="l03584"></a><span class="lineno"> 3584</span>&#160;};</div>
<div class="line"><a name="l03585"></a><span class="lineno"> 3585</span>&#160; </div>
<div class="line"><a name="l03587"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SearchMonitor.html"> 3587</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="l03588"></a><span class="lineno"> 3588</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l03589"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SearchMonitor.html#ae01b186f0d4be993cdabb7fb50bb98bd"> 3589</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="l03590"></a><span class="lineno"> 3590</span>&#160; </div>
<div class="line"><a name="l03591"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SearchMonitor.html#a0717f339467adcc032d893007b3695be"> 3591</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="l03592"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SearchMonitor.html#a72beba8c14dafe98d7faea2fd625bf27"> 3592</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="l03594"></a><span class="lineno"> 3594</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="l03595"></a><span class="lineno"> 3595</span>&#160; </div>
<div class="line"><a name="l03597"></a><span class="lineno"> 3597</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="l03598"></a><span class="lineno"> 3598</span>&#160; </div>
<div class="line"><a name="l03600"></a><span class="lineno"> 3600</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="l03601"></a><span class="lineno"> 3601</span>&#160; </div>
<div class="line"><a name="l03603"></a><span class="lineno"> 3603</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="l03604"></a><span class="lineno"> 3604</span>&#160; </div>
<div class="line"><a name="l03606"></a><span class="lineno"> 3606</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="l03607"></a><span class="lineno"> 3607</span>&#160; </div>
<div class="line"><a name="l03609"></a><span class="lineno"> 3609</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="l03610"></a><span class="lineno"> 3610</span>&#160; </div>
<div class="line"><a name="l03612"></a><span class="lineno"> 3612</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="l03613"></a><span class="lineno"> 3613</span>&#160; </div>
<div class="line"><a name="l03616"></a><span class="lineno"> 3616</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="l03617"></a><span class="lineno"> 3617</span>&#160; </div>
<div class="line"><a name="l03619"></a><span class="lineno"> 3619</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="l03620"></a><span class="lineno"> 3620</span>&#160; </div>
<div class="line"><a name="l03622"></a><span class="lineno"> 3622</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="l03623"></a><span class="lineno"> 3623</span>&#160; </div>
<div class="line"><a name="l03625"></a><span class="lineno"> 3625</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="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">void</span> <a class="code" href="classoperations__research_1_1SearchMonitor.html#a1ef0300d79ec636a79c06486f695b2ff">EndInitialPropagation</a>();</div>
<div class="line"><a name="l03629"></a><span class="lineno"> 3629</span>&#160; </div>
<div class="line"><a name="l03633"></a><span class="lineno"> 3633</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="l03634"></a><span class="lineno"> 3634</span>&#160; </div>
<div class="line"><a name="l03638"></a><span class="lineno"> 3638</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="l03639"></a><span class="lineno"> 3639</span>&#160; </div>
<div class="line"><a name="l03641"></a><span class="lineno"> 3641</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="l03642"></a><span class="lineno"> 3642</span>&#160; </div>
<div class="line"><a name="l03645"></a><span class="lineno"> 3645</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="l03646"></a><span class="lineno"> 3646</span>&#160; </div>
<div class="line"><a name="l03648"></a><span class="lineno"> 3648</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="l03649"></a><span class="lineno"> 3649</span>&#160; </div>
<div class="line"><a name="l03651"></a><span class="lineno"> 3651</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="l03652"></a><span class="lineno"> 3652</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#ae08d9f4aadd8be8f98637c6dec237b57">AcceptUncheckedNeighbor</a>();</div>
<div class="line"><a name="l03655"></a><span class="lineno"> 3655</span>&#160; </div>
<div class="line"><a name="l03658"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SearchMonitor.html#a198e17615278d9d5b9f39e4f0493447b"> 3658</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="l03659"></a><span class="lineno"> 3659</span>&#160; </div>
<div class="line"><a name="l03660"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SearchMonitor.html#a5f32c22c620c811754ba7b6f977db864"> 3660</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="l03661"></a><span class="lineno"> 3661</span>&#160; </div>
<div class="line"><a name="l03663"></a><span class="lineno"> 3663</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="l03664"></a><span class="lineno"> 3664</span>&#160; </div>
<div class="line"><a name="l03667"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SearchMonitor.html#a2ebc7607687823d65bf65f331c9ac246"> 3667</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="l03668"></a><span class="lineno"> 3668</span>&#160; </div>
<div class="line"><a name="l03670"></a><span class="lineno"> 3670</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="l03671"></a><span class="lineno"> 3671</span>&#160; </div>
<div class="line"><a name="l03674"></a><span class="lineno"> 3674</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="l03675"></a><span class="lineno"> 3675</span>&#160; </div>
<div class="line"><a name="l03676"></a><span class="lineno"> 3676</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l03677"></a><span class="lineno"> 3677</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="l03678"></a><span class="lineno"> 3678</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1SearchMonitor.html">SearchMonitor</a>);</div>
<div class="line"><a name="l03679"></a><span class="lineno"> 3679</span>&#160;};</div>
<div class="line"><a name="l03680"></a><span class="lineno"> 3680</span>&#160; </div>
<div class="line"><a name="l03686"></a><span class="lineno"> 3686</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div>
<div class="line"><a name="l03687"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Rev.html"> 3687</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="l03688"></a><span class="lineno"> 3688</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l03689"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Rev.html#a9d6eb996de91fb8ea31c9e20bb7d655f"> 3689</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="l03690"></a><span class="lineno"> 3690</span>&#160; </div>
<div class="line"><a name="l03691"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Rev.html#affc0b3b0a5efa3efc9d0d86344d4a29f"> 3691</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="l03692"></a><span class="lineno"> 3692</span>&#160; </div>
<div class="line"><a name="l03693"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Rev.html#a95da6a138a3b56de0cf0c3c4ba7c4688"> 3693</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="l03694"></a><span class="lineno"> 3694</span>&#160; <span class="keywordflow">if</span> (val != value_) {</div>
<div class="line"><a name="l03695"></a><span class="lineno"> 3695</span>&#160; <span class="keywordflow">if</span> (stamp_ &lt; s-&gt;stamp()) {</div>
<div class="line"><a name="l03696"></a><span class="lineno"> 3696</span>&#160; s-&gt;<a class="code" href="classoperations__research_1_1Solver.html#a0544697ab645219c7ed34fd2c19e5033">SaveValue</a>(&amp;value_);</div>
<div class="line"><a name="l03697"></a><span class="lineno"> 3697</span>&#160; stamp_ = s-&gt;<a class="code" href="classoperations__research_1_1Solver.html#ad1600fac3a55a9ab4d7b5750b19fb6a1">stamp</a>();</div>
<div class="line"><a name="l03698"></a><span class="lineno"> 3698</span>&#160; }</div>
<div class="line"><a name="l03699"></a><span class="lineno"> 3699</span>&#160; value_ = val;</div>
<div class="line"><a name="l03700"></a><span class="lineno"> 3700</span>&#160; }</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="l03703"></a><span class="lineno"> 3703</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l03704"></a><span class="lineno"> 3704</span>&#160; uint64 stamp_;</div>
<div class="line"><a name="l03705"></a><span class="lineno"> 3705</span>&#160; T value_;</div>
<div class="line"><a name="l03706"></a><span class="lineno"> 3706</span>&#160;};</div>
<div class="line"><a name="l03707"></a><span class="lineno"> 3707</span>&#160; </div>
<div class="line"><a name="l03709"></a><span class="lineno"> 3709</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div>
<div class="line"><a name="l03710"></a><span class="lineno"><a class="line" href="classoperations__research_1_1NumericalRev.html"> 3710</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="l03711"></a><span class="lineno"> 3711</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l03712"></a><span class="lineno"><a class="line" href="classoperations__research_1_1NumericalRev.html#a32c6aa2b614e866158426d0ffc43dc55"> 3712</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="l03713"></a><span class="lineno"> 3713</span>&#160; </div>
<div class="line"><a name="l03714"></a><span class="lineno"><a class="line" href="classoperations__research_1_1NumericalRev.html#acefa703f28a3c0a63d826bba8f19deb9"> 3714</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="l03715"></a><span class="lineno"> 3715</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="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"><a class="line" href="classoperations__research_1_1NumericalRev.html#ac8beef1ef5cd6ce8bdfb3f48016ff72b"> 3718</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="l03719"></a><span class="lineno"> 3719</span>&#160; </div>
<div class="line"><a name="l03720"></a><span class="lineno"><a class="line" href="classoperations__research_1_1NumericalRev.html#a83c8a2812799fd87becd114374fb1d36"> 3720</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="l03721"></a><span class="lineno"> 3721</span>&#160;};</div>
<div class="line"><a name="l03722"></a><span class="lineno"> 3722</span>&#160; </div>
<div class="line"><a name="l03728"></a><span class="lineno"> 3728</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div>
<div class="line"><a name="l03729"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RevArray.html"> 3729</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="l03730"></a><span class="lineno"> 3730</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l03731"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RevArray.html#a6ee1e316ed04f92451652ee0853d6980"> 3731</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="l03732"></a><span class="lineno"> 3732</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="l03733"></a><span class="lineno"> 3733</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="l03734"></a><span class="lineno"> 3734</span>&#160; stamps_[i] = 0;</div>
<div class="line"><a name="l03735"></a><span class="lineno"> 3735</span>&#160; values_[i] = val;</div>
<div class="line"><a name="l03736"></a><span class="lineno"> 3736</span>&#160; }</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"><a class="line" href="classoperations__research_1_1RevArray.html#ad03255d57248b6a11f3b236f7164266b"> 3739</a></span>&#160; <a class="code" href="classoperations__research_1_1RevArray.html#ad03255d57248b6a11f3b236f7164266b">~RevArray</a>() {}</div>
<div class="line"><a name="l03740"></a><span class="lineno"> 3740</span>&#160; </div>
<div class="line"><a name="l03741"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RevArray.html#a53616c71ad0a199caa949b8e32679b59"> 3741</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="l03742"></a><span class="lineno"> 3742</span>&#160; </div>
<div class="line"><a name="l03743"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RevArray.html#a277a26f3089bbfa46c8c3155efe5132b"> 3743</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="l03744"></a><span class="lineno"> 3744</span>&#160; </div>
<div class="line"><a name="l03745"></a><span class="lineno"> 3745</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l03746"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RevArray.html#ab3f0073680dabba9d2778d9a6f35aed7"> 3746</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="l03747"></a><span class="lineno"> 3747</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l03748"></a><span class="lineno"> 3748</span>&#160; </div>
<div class="line"><a name="l03749"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RevArray.html#aae1ddec3323cbaa8f2b29e1d211cb5c7"> 3749</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="l03750"></a><span class="lineno"> 3750</span>&#160; DCHECK_LT(index, size_);</div>
<div class="line"><a name="l03751"></a><span class="lineno"> 3751</span>&#160; <span class="keywordflow">if</span> (val != values_[index]) {</div>
<div class="line"><a name="l03752"></a><span class="lineno"> 3752</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="l03753"></a><span class="lineno"> 3753</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="l03754"></a><span class="lineno"> 3754</span>&#160; stamps_[index] = s-&gt;<a class="code" href="classoperations__research_1_1Solver.html#ad1600fac3a55a9ab4d7b5750b19fb6a1">stamp</a>();</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"> 3756</span>&#160; values_[index] = val;</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"> 3758</span>&#160; }</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; <span class="keyword">private</span>:</div>
<div class="line"><a name="l03761"></a><span class="lineno"> 3761</span>&#160; std::unique_ptr&lt;uint64[]&gt; stamps_;</div>
<div class="line"><a name="l03762"></a><span class="lineno"> 3762</span>&#160; std::unique_ptr&lt;T[]&gt; values_;</div>
<div class="line"><a name="l03763"></a><span class="lineno"> 3763</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> size_;</div>
<div class="line"><a name="l03764"></a><span class="lineno"> 3764</span>&#160;};</div>
<div class="line"><a name="l03765"></a><span class="lineno"> 3765</span>&#160; </div>
<div class="line"><a name="l03767"></a><span class="lineno"> 3767</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div>
<div class="line"><a name="l03768"></a><span class="lineno"><a class="line" href="classoperations__research_1_1NumericalRevArray.html"> 3768</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="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_1NumericalRevArray.html#a3a0219adafe884709e47adad37885e7e"> 3770</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="l03771"></a><span class="lineno"> 3771</span>&#160; </div>
<div class="line"><a name="l03772"></a><span class="lineno"><a class="line" href="classoperations__research_1_1NumericalRevArray.html#a651028799de2560833cac2fff292fdf1"> 3772</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="l03773"></a><span class="lineno"> 3773</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="l03774"></a><span class="lineno"> 3774</span>&#160; }</div>
<div class="line"><a name="l03775"></a><span class="lineno"> 3775</span>&#160; </div>
<div class="line"><a name="l03776"></a><span class="lineno"><a class="line" href="classoperations__research_1_1NumericalRevArray.html#af23967e29b34eca150d8aa96bbea9546"> 3776</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="l03777"></a><span class="lineno"> 3777</span>&#160; </div>
<div class="line"><a name="l03778"></a><span class="lineno"><a class="line" href="classoperations__research_1_1NumericalRevArray.html#a167fff28f9eee9b29f1bf06db43caecd"> 3778</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="l03779"></a><span class="lineno"> 3779</span>&#160;};</div>
<div class="line"><a name="l03780"></a><span class="lineno"> 3780</span>&#160; </div>
<div class="line"><a name="l03788"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntExpr.html"> 3788</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="l03789"></a><span class="lineno"> 3789</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l03790"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntExpr.html#a71eb39de86b7fb423d3b9c215f56593c"> 3790</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="l03791"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntExpr.html#a5ca509deddcf7e1a1498f770ec71934e"> 3791</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="l03792"></a><span class="lineno"> 3792</span>&#160; </div>
<div class="line"><a name="l03793"></a><span class="lineno"> 3793</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="l03794"></a><span class="lineno"> 3794</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="l03795"></a><span class="lineno"> 3795</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="l03796"></a><span class="lineno"> 3796</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="l03797"></a><span class="lineno"> 3797</span>&#160; </div>
<div class="line"><a name="l03800"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntExpr.html#a37ccfed48c37d5ad26af5baaf775c390"> 3800</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="l03801"></a><span class="lineno"> 3801</span>&#160; *l = <a class="code" href="classoperations__research_1_1IntExpr.html#ac4a4f30badcd311075302a4efcfaee0a">Min</a>();</div>
<div class="line"><a name="l03802"></a><span class="lineno"> 3802</span>&#160; *u = <a class="code" href="classoperations__research_1_1IntExpr.html#a6dc4d5cdc2ed0da18452a65c5bf69e0d">Max</a>();</div>
<div class="line"><a name="l03803"></a><span class="lineno"> 3803</span>&#160; }</div>
<div class="line"><a name="l03805"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntExpr.html#a137deeb8781c0c7aa24bfa99c85bd01d"> 3805</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="l03806"></a><span class="lineno"> 3806</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html#a253ec9a9ed6b56ac4de714373ebf91f9">SetMin</a>(l);</div>
<div class="line"><a name="l03807"></a><span class="lineno"> 3807</span>&#160; <a class="code" href="classoperations__research_1_1IntExpr.html#a0034062c82083a6c0af5aae1859ef66b">SetMax</a>(u);</div>
<div class="line"><a name="l03808"></a><span class="lineno"> 3808</span>&#160; }</div>
<div class="line"><a name="l03809"></a><span class="lineno"> 3809</span>&#160; </div>
<div class="line"><a name="l03811"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntExpr.html#a1a1e45676556681a2aaff82125991f16"> 3811</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="l03812"></a><span class="lineno"> 3812</span>&#160; </div>
<div class="line"><a name="l03814"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntExpr.html#a1d04569b37cb7fe6ed0956ab71e08bc9"> 3814</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="l03815"></a><span class="lineno"> 3815</span>&#160; </div>
<div class="line"><a name="l03817"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntExpr.html#a2e9b93ea445f156328eaa782adf7cb8b"> 3817</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="l03818"></a><span class="lineno"> 3818</span>&#160; </div>
<div class="line"><a name="l03820"></a><span class="lineno"> 3820</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="l03821"></a><span class="lineno"> 3821</span>&#160; </div>
<div class="line"><a name="l03826"></a><span class="lineno"> 3826</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="l03827"></a><span class="lineno"> 3827</span>&#160; </div>
<div class="line"><a name="l03829"></a><span class="lineno"> 3829</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="l03831"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntExpr.html#a0b5304838bbd2834ba9f7b38db07996f"> 3831</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="l03832"></a><span class="lineno"> 3832</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="l03833"></a><span class="lineno"> 3833</span>&#160; }</div>
<div class="line"><a name="l03834"></a><span class="lineno"> 3834</span>&#160; </div>
<div class="line"><a name="l03835"></a><span class="lineno"> 3835</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l03836"></a><span class="lineno"> 3836</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="l03838"></a><span class="lineno"> 3838</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="l03839"></a><span class="lineno"> 3839</span>&#160; }</div>
<div class="line"><a name="l03840"></a><span class="lineno"> 3840</span>&#160;<span class="preprocessor">#endif // SWIG</span></div>
<div class="line"><a name="l03841"></a><span class="lineno"> 3841</span>&#160; </div>
<div class="line"><a name="l03843"></a><span class="lineno"> 3843</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="l03844"></a><span class="lineno"> 3844</span>&#160; </div>
<div class="line"><a name="l03845"></a><span class="lineno"> 3845</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l03846"></a><span class="lineno"> 3846</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1IntExpr.html#a71eb39de86b7fb423d3b9c215f56593c">IntExpr</a>);</div>
<div class="line"><a name="l03847"></a><span class="lineno"> 3847</span>&#160;};</div>
<div class="line"><a name="l03848"></a><span class="lineno"> 3848</span>&#160; </div>
<div class="line"><a name="l03856"></a><span class="lineno"> 3856</span>&#160; </div>
<div class="line"><a name="l03859"></a><span class="lineno"> 3859</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"><a class="line" href="classoperations__research_1_1IntVarIterator.html"> 3866</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="l03867"></a><span class="lineno"> 3867</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l03868"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarIterator.html#ad58ad3bd33c8c89814ca3675c414406d"> 3868</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="l03869"></a><span class="lineno"> 3869</span>&#160; </div>
<div class="line"><a name="l03871"></a><span class="lineno"> 3871</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="l03872"></a><span class="lineno"> 3872</span>&#160; </div>
<div class="line"><a name="l03874"></a><span class="lineno"> 3874</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="l03875"></a><span class="lineno"> 3875</span>&#160; </div>
<div class="line"><a name="l03877"></a><span class="lineno"> 3877</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="l03878"></a><span class="lineno"> 3878</span>&#160; </div>
<div class="line"><a name="l03880"></a><span class="lineno"> 3880</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="l03881"></a><span class="lineno"> 3881</span>&#160; </div>
<div class="line"><a name="l03883"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarIterator.html#aed804747c45a7e1caf81461f9e45dd91"> 3883</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="l03884"></a><span class="lineno"> 3884</span>&#160;};</div>
<div class="line"><a name="l03885"></a><span class="lineno"> 3885</span>&#160; </div>
<div class="line"><a name="l03886"></a><span class="lineno"> 3886</span>&#160;<span class="preprocessor">#ifndef SWIG</span></div>
<div class="line"><a name="l03887"></a><span class="lineno"> 3887</span>&#160;<span class="keyword">class </span>InitAndGetValues {</div>
<div class="line"><a name="l03894"></a><span class="lineno"> 3894</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l03895"></a><span class="lineno"><a class="line" href="classoperations__research_1_1InitAndGetValues.html#a6e10bae8d4199a0ed4dc82abda824543"> 3895</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="l03896"></a><span class="lineno"> 3896</span>&#160; : it_(it), begin_was_called_(false) {</div>
<div class="line"><a name="l03897"></a><span class="lineno"> 3897</span>&#160; it_-&gt;<a class="code" href="classoperations__research_1_1IntVarIterator.html#a5368a4a3fff770682cf257e81707d9f0">Init</a>();</div>
<div class="line"><a name="l03898"></a><span class="lineno"> 3898</span>&#160; }</div>
<div class="line"><a name="l03899"></a><span class="lineno"> 3899</span>&#160; <span class="keyword">struct </span>Iterator;</div>
<div class="line"><a name="l03900"></a><span class="lineno"><a class="line" href="classoperations__research_1_1InitAndGetValues.html#a2387033802383edbdc95f9bbb12a707e"> 3900</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="l03901"></a><span class="lineno"> 3901</span>&#160; <span class="keywordflow">if</span> (DEBUG_MODE) {</div>
<div class="line"><a name="l03902"></a><span class="lineno"> 3902</span>&#160; DCHECK(!begin_was_called_);</div>
<div class="line"><a name="l03903"></a><span class="lineno"> 3903</span>&#160; begin_was_called_ = <span class="keyword">true</span>;</div>
<div class="line"><a name="l03904"></a><span class="lineno"> 3904</span>&#160; }</div>
<div class="line"><a name="l03905"></a><span class="lineno"> 3905</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="l03906"></a><span class="lineno"> 3906</span>&#160; }</div>
<div class="line"><a name="l03907"></a><span class="lineno"><a class="line" href="classoperations__research_1_1InitAndGetValues.html#ab45dae688fc5d8983727abffa4389003"> 3907</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="l03908"></a><span class="lineno"> 3908</span>&#160; </div>
<div class="line"><a name="l03909"></a><span class="lineno"><a class="line" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html"> 3909</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="l03911"></a><span class="lineno"><a class="line" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html#a28707ecfd89699b87e970e59df75435c"> 3911</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="l03912"></a><span class="lineno"> 3912</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="l03913"></a><span class="lineno"> 3913</span>&#160; }</div>
<div class="line"><a name="l03914"></a><span class="lineno"><a class="line" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html#aa0e28d1c59211c96da145cb1f14623af"> 3914</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="l03915"></a><span class="lineno"> 3915</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="l03916"></a><span class="lineno"> 3916</span>&#160; }</div>
<div class="line"><a name="l03917"></a><span class="lineno"> 3917</span>&#160; </div>
<div class="line"><a name="l03918"></a><span class="lineno"><a class="line" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html#abd6c93c8bd057130883324d687725508"> 3918</a></span>&#160; int64 <a class="code" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html#abd6c93c8bd057130883324d687725508">operator*</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l03919"></a><span class="lineno"> 3919</span>&#160; DCHECK(it_-&gt;<a class="code" href="classoperations__research_1_1IntVarIterator.html#afd583d1de9a76003cabb79710d08e1b5">Ok</a>());</div>
<div class="line"><a name="l03920"></a><span class="lineno"> 3920</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="l03921"></a><span class="lineno"> 3921</span>&#160; }</div>
<div class="line"><a name="l03922"></a><span class="lineno"><a class="line" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html#aef12ef33726bc591f569f822c7b5ac41"> 3922</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="l03923"></a><span class="lineno"> 3923</span>&#160; DCHECK(it_-&gt;<a class="code" href="classoperations__research_1_1IntVarIterator.html#afd583d1de9a76003cabb79710d08e1b5">Ok</a>());</div>
<div class="line"><a name="l03924"></a><span class="lineno"> 3924</span>&#160; it_-&gt;<a class="code" href="classoperations__research_1_1IntVarIterator.html#a5e6ce1b8883cf6764780b7108dbb8495">Next</a>();</div>
<div class="line"><a name="l03925"></a><span class="lineno"> 3925</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l03926"></a><span class="lineno"> 3926</span>&#160; }</div>
<div class="line"><a name="l03927"></a><span class="lineno"><a class="line" href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html#a710b1a5c9f835b20b87a76ce12e4f305"> 3927</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="l03928"></a><span class="lineno"> 3928</span>&#160; DCHECK(other.it_ == it_);</div>
<div class="line"><a name="l03929"></a><span class="lineno"> 3929</span>&#160; DCHECK(other.is_end_);</div>
<div class="line"><a name="l03930"></a><span class="lineno"> 3930</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="l03931"></a><span class="lineno"> 3931</span>&#160; }</div>
<div class="line"><a name="l03932"></a><span class="lineno"> 3932</span>&#160; </div>
<div class="line"><a name="l03933"></a><span class="lineno"> 3933</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l03934"></a><span class="lineno"> 3934</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="l03935"></a><span class="lineno"> 3935</span>&#160; </div>
<div class="line"><a name="l03936"></a><span class="lineno"> 3936</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="l03937"></a><span class="lineno"> 3937</span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> is_end_;</div>
<div class="line"><a name="l03938"></a><span class="lineno"> 3938</span>&#160; };</div>
<div class="line"><a name="l03939"></a><span class="lineno"> 3939</span>&#160; </div>
<div class="line"><a name="l03940"></a><span class="lineno"> 3940</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l03941"></a><span class="lineno"> 3941</span>&#160; IntVarIterator* <span class="keyword">const</span> it_;</div>
<div class="line"><a name="l03942"></a><span class="lineno"> 3942</span>&#160; <span class="keywordtype">bool</span> begin_was_called_;</div>
<div class="line"><a name="l03943"></a><span class="lineno"> 3943</span>&#160;};</div>
<div class="line"><a name="l03944"></a><span class="lineno"> 3944</span>&#160;<span class="preprocessor">#endif // SWIG</span></div>
<div class="line"><a name="l03945"></a><span class="lineno"> 3945</span>&#160; </div>
<div class="line"><a name="l03949"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVar.html"> 3949</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="l03950"></a><span class="lineno"> 3950</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l03951"></a><span class="lineno"> 3951</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="l03952"></a><span class="lineno"> 3952</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="l03953"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVar.html#a68b27e4c46794ff800c17f7b9760adba"> 3953</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="l03954"></a><span class="lineno"> 3954</span>&#160; </div>
<div class="line"><a name="l03955"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVar.html#af5d847a82550308399c315915ef8408f"> 3955</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="l03956"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVar.html#a36d71f28bff7448b6490fe4720ab2fe0"> 3956</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="l03957"></a><span class="lineno"> 3957</span>&#160; </div>
<div class="line"><a name="l03960"></a><span class="lineno"> 3960</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="l03961"></a><span class="lineno"> 3961</span>&#160; </div>
<div class="line"><a name="l03963"></a><span class="lineno"> 3963</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="l03964"></a><span class="lineno"> 3964</span>&#160; </div>
<div class="line"><a name="l03967"></a><span class="lineno"> 3967</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="l03968"></a><span class="lineno"> 3968</span>&#160; </div>
<div class="line"><a name="l03970"></a><span class="lineno"> 3970</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="l03971"></a><span class="lineno"> 3971</span>&#160; </div>
<div class="line"><a name="l03973"></a><span class="lineno"> 3973</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="l03974"></a><span class="lineno"> 3974</span>&#160; </div>
<div class="line"><a name="l03977"></a><span class="lineno"> 3977</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="l03980"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVar.html#a4bd4b9edfecdf647038f030759e8da11"> 3980</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="l03981"></a><span class="lineno"> 3981</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="l03982"></a><span class="lineno"> 3982</span>&#160; }</div>
<div class="line"><a name="l03983"></a><span class="lineno"> 3983</span>&#160; </div>
<div class="line"><a name="l03984"></a><span class="lineno"> 3984</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l03985"></a><span class="lineno"> 3985</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="l03988"></a><span class="lineno"> 3988</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="l03989"></a><span class="lineno"> 3989</span>&#160; }</div>
<div class="line"><a name="l03990"></a><span class="lineno"> 3990</span>&#160;<span class="preprocessor">#endif // SWIG</span></div>
<div class="line"><a name="l03991"></a><span class="lineno"> 3991</span>&#160; </div>
<div class="line"><a name="l03994"></a><span class="lineno"> 3994</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="l03997"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVar.html#a7777129f7b59f5d9dbeb043c6bf945dd"> 3997</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="l03998"></a><span class="lineno"> 3998</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="l03999"></a><span class="lineno"> 3999</span>&#160; }</div>
<div class="line"><a name="l04000"></a><span class="lineno"> 4000</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l04001"></a><span class="lineno"> 4001</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="l04004"></a><span class="lineno"> 4004</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="l04005"></a><span class="lineno"> 4005</span>&#160; }</div>
<div class="line"><a name="l04006"></a><span class="lineno"> 4006</span>&#160;<span class="preprocessor">#endif // SWIG</span></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> 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="l04010"></a><span class="lineno"> 4010</span>&#160; </div>
<div class="line"><a name="l04013"></a><span class="lineno"> 4013</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="l04014"></a><span class="lineno"> 4014</span>&#160; </div>
<div class="line"><a name="l04018"></a><span class="lineno"> 4018</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="l04019"></a><span class="lineno"> 4019</span>&#160; </div>
<div class="line"><a name="l04023"></a><span class="lineno"> 4023</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="l04024"></a><span class="lineno"> 4024</span>&#160; </div>
<div class="line"><a name="l04026"></a><span class="lineno"> 4026</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="l04027"></a><span class="lineno"> 4027</span>&#160; </div>
<div class="line"><a name="l04029"></a><span class="lineno"> 4029</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="l04030"></a><span class="lineno"> 4030</span>&#160; </div>
<div class="line"><a name="l04031"></a><span class="lineno"> 4031</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="l04032"></a><span class="lineno"> 4032</span>&#160; </div>
<div class="line"><a name="l04034"></a><span class="lineno"> 4034</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="l04035"></a><span class="lineno"> 4035</span>&#160; </div>
<div class="line"><a name="l04037"></a><span class="lineno"> 4037</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="l04038"></a><span class="lineno"> 4038</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="l04039"></a><span class="lineno"> 4039</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="l04040"></a><span class="lineno"> 4040</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="l04041"></a><span class="lineno"> 4041</span>&#160; </div>
<div class="line"><a name="l04043"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVar.html#acca41811e8aaab0112b987749c0ecb93"> 4043</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="l04044"></a><span class="lineno"> 4044</span>&#160; </div>
<div class="line"><a name="l04045"></a><span class="lineno"> 4045</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l04046"></a><span class="lineno"> 4046</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> index_;</div>
<div class="line"><a name="l04047"></a><span class="lineno"> 4047</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>);</div>
<div class="line"><a name="l04048"></a><span class="lineno"> 4048</span>&#160;};</div>
<div class="line"><a name="l04049"></a><span class="lineno"> 4049</span>&#160; </div>
<div class="line"><a name="l04053"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SolutionCollector.html"> 4053</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="l04054"></a><span class="lineno"> 4054</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l04055"></a><span class="lineno"> 4055</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="l04056"></a><span class="lineno"> 4056</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="l04057"></a><span class="lineno"> 4057</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="l04058"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SolutionCollector.html#aed804747c45a7e1caf81461f9e45dd91"> 4058</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="l04059"></a><span class="lineno"> 4059</span>&#160; </div>
<div class="line"><a name="l04061"></a><span class="lineno"> 4061</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="l04062"></a><span class="lineno"> 4062</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="l04063"></a><span class="lineno"> 4063</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="l04064"></a><span class="lineno"> 4064</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="l04065"></a><span class="lineno"> 4065</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="l04066"></a><span class="lineno"> 4066</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="l04067"></a><span class="lineno"> 4067</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="l04068"></a><span class="lineno"> 4068</span>&#160; </div>
<div class="line"><a name="l04070"></a><span class="lineno"> 4070</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="l04071"></a><span class="lineno"> 4071</span>&#160; </div>
<div class="line"><a name="l04073"></a><span class="lineno"> 4073</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="l04074"></a><span class="lineno"> 4074</span>&#160; </div>
<div class="line"><a name="l04076"></a><span class="lineno"> 4076</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="l04077"></a><span class="lineno"> 4077</span>&#160; </div>
<div class="line"><a name="l04079"></a><span class="lineno"> 4079</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="l04080"></a><span class="lineno"> 4080</span>&#160; </div>
<div class="line"><a name="l04082"></a><span class="lineno"> 4082</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="l04083"></a><span class="lineno"> 4083</span>&#160; </div>
<div class="line"><a name="l04086"></a><span class="lineno"> 4086</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="l04087"></a><span class="lineno"> 4087</span>&#160; </div>
<div class="line"><a name="l04089"></a><span class="lineno"> 4089</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="l04090"></a><span class="lineno"> 4090</span>&#160; </div>
<div class="line"><a name="l04092"></a><span class="lineno"> 4092</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="l04093"></a><span class="lineno"> 4093</span>&#160; </div>
<div class="line"><a name="l04095"></a><span class="lineno"> 4095</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="l04096"></a><span class="lineno"> 4096</span>&#160; </div>
<div class="line"><a name="l04098"></a><span class="lineno"> 4098</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="l04099"></a><span class="lineno"> 4099</span>&#160; </div>
<div class="line"><a name="l04101"></a><span class="lineno"> 4101</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="l04102"></a><span class="lineno"> 4102</span>&#160; </div>
<div class="line"><a name="l04104"></a><span class="lineno"> 4104</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="l04105"></a><span class="lineno"> 4105</span>&#160; </div>
<div class="line"><a name="l04109"></a><span class="lineno"> 4109</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="l04113"></a><span class="lineno"> 4113</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="l04116"></a><span class="lineno"> 4116</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="l04117"></a><span class="lineno"> 4117</span>&#160; </div>
<div class="line"><a name="l04118"></a><span class="lineno"> 4118</span>&#160; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l04119"></a><span class="lineno"><a class="line" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html"> 4119</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="l04120"></a><span class="lineno"><a class="line" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a70443e4bc86411ffcee245b2c3c71156"> 4120</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="l04121"></a><span class="lineno"><a class="line" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a13421db7d7e84fff732599bcf954c5cc"> 4121</a></span>&#160; int64 <a class="code" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a13421db7d7e84fff732599bcf954c5cc">time</a>;</div>
<div class="line"><a name="l04122"></a><span class="lineno"><a class="line" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a74c42a060f0c8f1effce8f8b8c3c3e31"> 4122</a></span>&#160; int64 <a class="code" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a74c42a060f0c8f1effce8f8b8c3c3e31">branches</a>;</div>
<div class="line"><a name="l04123"></a><span class="lineno"><a class="line" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#aceea78505d78ed7c119e37b005cdddb5"> 4123</a></span>&#160; int64 <a class="code" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#aceea78505d78ed7c119e37b005cdddb5">failures</a>;</div>
<div class="line"><a name="l04124"></a><span class="lineno"><a class="line" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a34485db3725852534bc2d28225ea5d64"> 4124</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="l04125"></a><span class="lineno"><a class="line" href="structoperations__research_1_1SolutionCollector_1_1SolutionData.html#a668d11020177f060bafb5796b15743fb"> 4125</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="l04126"></a><span class="lineno"> 4126</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="l04127"></a><span class="lineno"> 4127</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="l04128"></a><span class="lineno"> 4128</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="l04129"></a><span class="lineno"> 4129</span>&#160; }</div>
<div class="line"><a name="l04130"></a><span class="lineno"> 4130</span>&#160; };</div>
<div class="line"><a name="l04131"></a><span class="lineno"> 4131</span>&#160; </div>
<div class="line"><a name="l04133"></a><span class="lineno"> 4133</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="l04134"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SolutionCollector.html#a35f33e423f42d8e78db12010bd7ae338"> 4134</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="l04136"></a><span class="lineno"> 4136</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="l04137"></a><span class="lineno"> 4137</span>&#160; SolutionData <a class="code" href="classoperations__research_1_1SolutionCollector.html#a7355e73fd1c286b47bdd911d5c17b3ff">BuildSolutionDataForCurrentState</a>();</div>
<div class="line"><a name="l04138"></a><span class="lineno"> 4138</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="l04139"></a><span class="lineno"> 4139</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="l04140"></a><span class="lineno"> 4140</span>&#160; </div>
<div class="line"><a name="l04141"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SolutionCollector.html#ad6447dcc60c8d0bb89d7c72530afb842"> 4141</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="l04142"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SolutionCollector.html#a50ad7718f019e2f46328682dc8ed7162"> 4142</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="l04143"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SolutionCollector.html#a44069f4a63ae68c2059144cc5ee976d1"> 4143</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="l04144"></a><span class="lineno"> 4144</span>&#160; </div>
<div class="line"><a name="l04145"></a><span class="lineno"> 4145</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l04146"></a><span class="lineno"> 4146</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1SolutionCollector.html">SolutionCollector</a>);</div>
<div class="line"><a name="l04147"></a><span class="lineno"> 4147</span>&#160;};</div>
<div class="line"><a name="l04148"></a><span class="lineno"> 4148</span>&#160; </div>
<div class="line"><a name="l04149"></a><span class="lineno"> 4149</span>&#160;<span class="comment">// TODO(user): Refactor this into an Objective class:</span></div>
<div class="line"><a name="l04150"></a><span class="lineno"> 4150</span>&#160;<span class="comment">// - print methods for AtNode and AtSolution.</span></div>
<div class="line"><a name="l04151"></a><span class="lineno"> 4151</span>&#160;<span class="comment">// - support for weighted objective and lexicographical objective.</span></div>
<div class="line"><a name="l04152"></a><span class="lineno"> 4152</span>&#160; </div>
<div class="line"><a name="l04156"></a><span class="lineno"><a class="line" href="classoperations__research_1_1OptimizeVar.html"> 4156</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="l04157"></a><span class="lineno"> 4157</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l04158"></a><span class="lineno"> 4158</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="l04159"></a><span class="lineno"> 4159</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="l04160"></a><span class="lineno"> 4160</span>&#160; </div>
<div class="line"><a name="l04162"></a><span class="lineno"><a class="line" href="classoperations__research_1_1OptimizeVar.html#a1f1de124cc3328c7d5077c5275d0bfd4"> 4162</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="l04163"></a><span class="lineno"> 4163</span>&#160; </div>
<div class="line"><a name="l04165"></a><span class="lineno"><a class="line" href="classoperations__research_1_1OptimizeVar.html#a8052ccc3aba839f3befd553cc05b85a0"> 4165</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="l04167"></a><span class="lineno"> 4167</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="l04168"></a><span class="lineno"> 4168</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="l04169"></a><span class="lineno"> 4169</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="l04170"></a><span class="lineno"> 4170</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="l04171"></a><span class="lineno"> 4171</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="l04172"></a><span class="lineno"> 4172</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="l04173"></a><span class="lineno"> 4173</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="l04174"></a><span class="lineno"> 4174</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="l04175"></a><span class="lineno"> 4175</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="l04176"></a><span class="lineno"> 4176</span>&#160; </div>
<div class="line"><a name="l04177"></a><span class="lineno"> 4177</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="l04178"></a><span class="lineno"> 4178</span>&#160; </div>
<div class="line"><a name="l04179"></a><span class="lineno"> 4179</span>&#160; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l04180"></a><span class="lineno"><a class="line" href="classoperations__research_1_1OptimizeVar.html#aacb45343e78641c7b582de46225d3481"> 4180</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="l04181"></a><span class="lineno"><a class="line" href="classoperations__research_1_1OptimizeVar.html#a87607661db50ef1ae104b4cd6d05f8a8"> 4181</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1OptimizeVar.html#a87607661db50ef1ae104b4cd6d05f8a8">step_</a>;</div>
<div class="line"><a name="l04182"></a><span class="lineno"><a class="line" href="classoperations__research_1_1OptimizeVar.html#a62c8c6ddbd6448f66e4f17e34ef8f33b"> 4182</a></span>&#160; int64 <a class="code" href="classoperations__research_1_1OptimizeVar.html#a62c8c6ddbd6448f66e4f17e34ef8f33b">best_</a>;</div>
<div class="line"><a name="l04183"></a><span class="lineno"><a class="line" href="classoperations__research_1_1OptimizeVar.html#ad5d09a69c6c8c8eea9311b0513628683"> 4183</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="l04184"></a><span class="lineno"><a class="line" href="classoperations__research_1_1OptimizeVar.html#a7bcea05dd62f2b212dd18322fd22b32e"> 4184</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="l04185"></a><span class="lineno"> 4185</span>&#160; </div>
<div class="line"><a name="l04186"></a><span class="lineno"> 4186</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l04187"></a><span class="lineno"> 4187</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1OptimizeVar.html">OptimizeVar</a>);</div>
<div class="line"><a name="l04188"></a><span class="lineno"> 4188</span>&#160;};</div>
<div class="line"><a name="l04189"></a><span class="lineno"> 4189</span>&#160; </div>
<div class="line"><a name="l04191"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SearchLimit.html"> 4191</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="l04192"></a><span class="lineno"> 4192</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l04193"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SearchLimit.html#a279e462390a3028b062e03ce0616efbd"> 4193</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="l04194"></a><span class="lineno"> 4194</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="l04195"></a><span class="lineno"> 4195</span>&#160; </div>
<div class="line"><a name="l04197"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SearchLimit.html#ae874856cae71ff1b4391027b70f0c915"> 4197</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="l04198"></a><span class="lineno"> 4198</span>&#160; </div>
<div class="line"><a name="l04203"></a><span class="lineno"> 4203</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="l04204"></a><span class="lineno"> 4204</span>&#160; </div>
<div class="line"><a name="l04206"></a><span class="lineno"> 4206</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="l04207"></a><span class="lineno"> 4207</span>&#160; </div>
<div class="line"><a name="l04210"></a><span class="lineno"> 4210</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="l04211"></a><span class="lineno"> 4211</span>&#160; </div>
<div class="line"><a name="l04213"></a><span class="lineno"> 4213</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="l04214"></a><span class="lineno"> 4214</span>&#160; </div>
<div class="line"><a name="l04216"></a><span class="lineno"> 4216</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="l04217"></a><span class="lineno"> 4217</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="l04218"></a><span class="lineno"> 4218</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="l04219"></a><span class="lineno"> 4219</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="l04220"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SearchLimit.html#aed804747c45a7e1caf81461f9e45dd91"> 4220</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="l04221"></a><span class="lineno"> 4221</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="l04222"></a><span class="lineno"> 4222</span>&#160; }</div>
<div class="line"><a name="l04223"></a><span class="lineno"> 4223</span>&#160; </div>
<div class="line"><a name="l04224"></a><span class="lineno"> 4224</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l04225"></a><span class="lineno"> 4225</span>&#160; <span class="keywordtype">void</span> TopPeriodicCheck();</div>
<div class="line"><a name="l04226"></a><span class="lineno"> 4226</span>&#160; </div>
<div class="line"><a name="l04227"></a><span class="lineno"> 4227</span>&#160; <span class="keywordtype">bool</span> crossed_;</div>
<div class="line"><a name="l04228"></a><span class="lineno"> 4228</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1SearchLimit.html">SearchLimit</a>);</div>
<div class="line"><a name="l04229"></a><span class="lineno"> 4229</span>&#160;};</div>
<div class="line"><a name="l04230"></a><span class="lineno"> 4230</span>&#160; </div>
<div class="line"><a name="l04233"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RegularLimit.html"> 4233</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="l04234"></a><span class="lineno"> 4234</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l04235"></a><span class="lineno"> 4235</span>&#160; <a class="code" href="classoperations__research_1_1RegularLimit.html#a551f7fd189fedf3c4b6078e72ba8313d">RegularLimit</a>(<a class="code" href="classoperations__research_1_1Solver.html">Solver</a>* <span class="keyword">const</span> s, absl::Duration time, int64 <a class="code" href="classoperations__research_1_1RegularLimit.html#ad01c3a2fbfb388d917899ad983415d02">branches</a>,</div>
<div class="line"><a name="l04236"></a><span class="lineno"> 4236</span>&#160; int64 <a class="code" href="classoperations__research_1_1RegularLimit.html#a2b05840b09f4ab5632470987f01e11e1">failures</a>, int64 <a class="code" href="classoperations__research_1_1RegularLimit.html#a23ac09a78dbd8b39b2f63e9981947788">solutions</a>, <span class="keywordtype">bool</span> smart_time_check,</div>
<div class="line"><a name="l04237"></a><span class="lineno"> 4237</span>&#160; <span class="keywordtype">bool</span> cumulative);</div>
<div class="line"><a name="l04238"></a><span class="lineno"> 4238</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="l04239"></a><span class="lineno"> 4239</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="l04240"></a><span class="lineno"> 4240</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="l04241"></a><span class="lineno"> 4241</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="l04242"></a><span class="lineno"> 4242</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="l04243"></a><span class="lineno"> 4243</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="l04244"></a><span class="lineno"> 4244</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="l04245"></a><span class="lineno"> 4245</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="l04246"></a><span class="lineno"> 4246</span>&#160; int64 <a class="code" href="classoperations__research_1_1RegularLimit.html#a23ac09a78dbd8b39b2f63e9981947788">solutions</a>);</div>
<div class="line"><a name="l04247"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RegularLimit.html#a039f4519955ca1dd2aa8b82b7f7a37fa"> 4247</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="l04248"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RegularLimit.html#a80533bb150275c3c1c46e7ee3f31a822"> 4248</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="l04249"></a><span class="lineno"> 4249</span>&#160; <span class="keywordflow">return</span> duration_limit_ == absl::InfiniteDuration()</div>
<div class="line"><a name="l04250"></a><span class="lineno"> 4250</span>&#160; ? kint64max</div>
<div class="line"><a name="l04251"></a><span class="lineno"> 4251</span>&#160; : absl::ToInt64Milliseconds(<a class="code" href="classoperations__research_1_1RegularLimit.html#a039f4519955ca1dd2aa8b82b7f7a37fa">duration_limit</a>());</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"><a class="line" href="classoperations__research_1_1RegularLimit.html#ad01c3a2fbfb388d917899ad983415d02"> 4253</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="l04254"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RegularLimit.html#a2b05840b09f4ab5632470987f01e11e1"> 4254</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="l04255"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RegularLimit.html#a23ac09a78dbd8b39b2f63e9981947788"> 4255</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="l04256"></a><span class="lineno"> 4256</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="l04257"></a><span class="lineno"> 4257</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="l04258"></a><span class="lineno"> 4258</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="l04259"></a><span class="lineno"> 4259</span>&#160; </div>
<div class="line"><a name="l04260"></a><span class="lineno"><a class="line" href="classoperations__research_1_1RegularLimit.html#a8cc63d9778229883ca7594b3a47d8f5b"> 4260</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="l04261"></a><span class="lineno"> 4261</span>&#160; <span class="keywordflow">return</span> solver_time_at_limit_start_ + duration_limit_;</div>
<div class="line"><a name="l04262"></a><span class="lineno"> 4262</span>&#160; }</div>
<div class="line"><a name="l04263"></a><span class="lineno"> 4263</span>&#160; </div>
<div class="line"><a name="l04264"></a><span class="lineno"> 4264</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="l04265"></a><span class="lineno"> 4265</span>&#160; </div>
<div class="line"><a name="l04266"></a><span class="lineno"> 4266</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l04267"></a><span class="lineno"> 4267</span>&#160; <span class="keywordtype">bool</span> CheckTime();</div>
<div class="line"><a name="l04268"></a><span class="lineno"> 4268</span>&#160; absl::Duration TimeElapsed();</div>
<div class="line"><a name="l04269"></a><span class="lineno"> 4269</span>&#160; <span class="keyword">static</span> int64 GetPercent(int64 value, int64 offset, int64 total) {</div>
<div class="line"><a name="l04270"></a><span class="lineno"> 4270</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="l04271"></a><span class="lineno"> 4271</span>&#160; : -1;</div>
<div class="line"><a name="l04272"></a><span class="lineno"> 4272</span>&#160; }</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; absl::Duration duration_limit_;</div>
<div class="line"><a name="l04275"></a><span class="lineno"> 4275</span>&#160; absl::Time solver_time_at_limit_start_;</div>
<div class="line"><a name="l04276"></a><span class="lineno"> 4276</span>&#160; absl::Duration last_time_elapsed_;</div>
<div class="line"><a name="l04277"></a><span class="lineno"> 4277</span>&#160; int64 check_count_;</div>
<div class="line"><a name="l04278"></a><span class="lineno"> 4278</span>&#160; int64 next_check_;</div>
<div class="line"><a name="l04279"></a><span class="lineno"> 4279</span>&#160; <span class="keywordtype">bool</span> smart_time_check_;</div>
<div class="line"><a name="l04280"></a><span class="lineno"> 4280</span>&#160; int64 branches_;</div>
<div class="line"><a name="l04281"></a><span class="lineno"> 4281</span>&#160; int64 branches_offset_;</div>
<div class="line"><a name="l04282"></a><span class="lineno"> 4282</span>&#160; int64 failures_;</div>
<div class="line"><a name="l04283"></a><span class="lineno"> 4283</span>&#160; int64 failures_offset_;</div>
<div class="line"><a name="l04284"></a><span class="lineno"> 4284</span>&#160; int64 solutions_;</div>
<div class="line"><a name="l04285"></a><span class="lineno"> 4285</span>&#160; int64 solutions_offset_;</div>
<div class="line"><a name="l04293"></a><span class="lineno"> 4293</span>&#160; <span class="keywordtype">bool</span> cumulative_;</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"> 4295</span>&#160; </div>
<div class="line"><a name="l04306"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html"> 4306</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="l04307"></a><span class="lineno"> 4307</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l04309"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#a754f63f0839f2851475307283b575584"> 4309</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="l04311"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#a25367402bed36b599e0269f2612cfa29"> 4311</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="l04312"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#a80fdadbf273640022be0e62fe34ca247"> 4312</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="l04313"></a><span class="lineno"> 4313</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="l04314"></a><span class="lineno"> 4314</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="l04315"></a><span class="lineno"> 4315</span>&#160; }</div>
<div class="line"><a name="l04316"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#a85b770f10424a1cf4ae734ccbd761a55"> 4316</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="l04317"></a><span class="lineno"> 4317</span>&#160; </div>
<div class="line"><a name="l04320"></a><span class="lineno"> 4320</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="l04321"></a><span class="lineno"> 4321</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="l04322"></a><span class="lineno"> 4322</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="l04323"></a><span class="lineno"> 4323</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="l04324"></a><span class="lineno"> 4324</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="l04325"></a><span class="lineno"> 4325</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="l04326"></a><span class="lineno"> 4326</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="l04327"></a><span class="lineno"> 4327</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="l04328"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#ab2c1ea6c42add4cb68084080336c4474"> 4328</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="l04329"></a><span class="lineno"> 4329</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="l04330"></a><span class="lineno"> 4330</span>&#160; }</div>
<div class="line"><a name="l04331"></a><span class="lineno"> 4331</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l04332"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#a674419a6fdb564b44c242ceef4aa474f"> 4332</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="l04333"></a><span class="lineno"> 4333</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="l04334"></a><span class="lineno"> 4334</span>&#160; }</div>
<div class="line"><a name="l04335"></a><span class="lineno"> 4335</span>&#160;<span class="preprocessor">#endif // SWIG</span></div>
<div class="line"><a name="l04336"></a><span class="lineno"> 4336</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="l04337"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#a283e9ef538394e378e54f5acc8c640b3"> 4337</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="l04338"></a><span class="lineno"> 4338</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="l04339"></a><span class="lineno"> 4339</span>&#160; }</div>
<div class="line"><a name="l04340"></a><span class="lineno"> 4340</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l04341"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#a9648e486d02d610907100805e54d0c0e"> 4341</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="l04342"></a><span class="lineno"> 4342</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="l04343"></a><span class="lineno"> 4343</span>&#160; }</div>
<div class="line"><a name="l04344"></a><span class="lineno"> 4344</span>&#160;<span class="preprocessor">#endif // SWIG</span></div>
<div class="line"><a name="l04345"></a><span class="lineno"> 4345</span>&#160; </div>
<div class="line"><a name="l04347"></a><span class="lineno"> 4347</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="l04348"></a><span class="lineno"> 4348</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="l04349"></a><span class="lineno"> 4349</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="l04350"></a><span class="lineno"> 4350</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="l04351"></a><span class="lineno"> 4351</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="l04352"></a><span class="lineno"> 4352</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="l04353"></a><span class="lineno"> 4353</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="l04354"></a><span class="lineno"> 4354</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="l04355"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#a17baafda330e225559f6b2a8b53d7b8b"> 4355</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="l04356"></a><span class="lineno"> 4356</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="l04357"></a><span class="lineno"> 4357</span>&#160; }</div>
<div class="line"><a name="l04358"></a><span class="lineno"> 4358</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l04359"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#af61724f6a9f9d2d310203501c3e57894"> 4359</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="l04360"></a><span class="lineno"> 4360</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="l04361"></a><span class="lineno"> 4361</span>&#160; }</div>
<div class="line"><a name="l04362"></a><span class="lineno"> 4362</span>&#160;<span class="preprocessor">#endif // SWIG</span></div>
<div class="line"><a name="l04363"></a><span class="lineno"> 4363</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="l04364"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#aff3e244214fe0edff58162e4d6a3d8ab"> 4364</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="l04365"></a><span class="lineno"> 4365</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="l04366"></a><span class="lineno"> 4366</span>&#160; }</div>
<div class="line"><a name="l04367"></a><span class="lineno"> 4367</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l04368"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#a7ee95dc5526fb2400c5af54f3246d5c4"> 4368</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="l04369"></a><span class="lineno"> 4369</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="l04370"></a><span class="lineno"> 4370</span>&#160; }</div>
<div class="line"><a name="l04371"></a><span class="lineno"> 4371</span>&#160;<span class="preprocessor">#endif // SWIG</span></div>
<div class="line"><a name="l04372"></a><span class="lineno"> 4372</span>&#160; </div>
<div class="line"><a name="l04374"></a><span class="lineno"> 4374</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="l04375"></a><span class="lineno"> 4375</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="l04376"></a><span class="lineno"> 4376</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="l04377"></a><span class="lineno"> 4377</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="l04378"></a><span class="lineno"> 4378</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="l04379"></a><span class="lineno"> 4379</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="l04380"></a><span class="lineno"> 4380</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="l04381"></a><span class="lineno"> 4381</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="l04382"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#a355d19148bcb4747b68e2e019f85082f"> 4382</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="l04383"></a><span class="lineno"> 4383</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="l04384"></a><span class="lineno"> 4384</span>&#160; }</div>
<div class="line"><a name="l04385"></a><span class="lineno"> 4385</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l04386"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#ab14e2d2421aa8d793df45251778e9ede"> 4386</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="l04387"></a><span class="lineno"> 4387</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="l04388"></a><span class="lineno"> 4388</span>&#160; }</div>
<div class="line"><a name="l04389"></a><span class="lineno"> 4389</span>&#160;<span class="preprocessor">#endif // SWIG</span></div>
<div class="line"><a name="l04390"></a><span class="lineno"> 4390</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="l04391"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#ae82eabc3ac9b82c5d0e16b20ff255be1"> 4391</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="l04392"></a><span class="lineno"> 4392</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="l04393"></a><span class="lineno"> 4393</span>&#160; }</div>
<div class="line"><a name="l04394"></a><span class="lineno"> 4394</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l04395"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#a5179cad5976e0c8f934de68a81fd78fd"> 4395</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="l04396"></a><span class="lineno"> 4396</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="l04397"></a><span class="lineno"> 4397</span>&#160; }</div>
<div class="line"><a name="l04398"></a><span class="lineno"> 4398</span>&#160;<span class="preprocessor">#endif // SWIG</span></div>
<div class="line"><a name="l04399"></a><span class="lineno"> 4399</span>&#160; </div>
<div class="line"><a name="l04402"></a><span class="lineno"> 4402</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="l04403"></a><span class="lineno"> 4403</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="l04404"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#af84a48721386cc4b8e3fea30b00f6543"> 4404</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="l04405"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#ad4e82517bfdede7e0c6d86796434378f"> 4405</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="l04406"></a><span class="lineno"> 4406</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="l04407"></a><span class="lineno"> 4407</span>&#160; }</div>
<div class="line"><a name="l04408"></a><span class="lineno"> 4408</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="l04409"></a><span class="lineno"> 4409</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="l04410"></a><span class="lineno"> 4410</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="l04411"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#ae330c5b34b171e8840302a1e4ef1ca26"> 4411</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="l04412"></a><span class="lineno"> 4412</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="l04413"></a><span class="lineno"> 4413</span>&#160; }</div>
<div class="line"><a name="l04414"></a><span class="lineno"> 4414</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l04415"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#ade171abf4e9422b35a69df7eda30d541"> 4415</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="l04416"></a><span class="lineno"> 4416</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="l04417"></a><span class="lineno"> 4417</span>&#160; }</div>
<div class="line"><a name="l04418"></a><span class="lineno"> 4418</span>&#160;<span class="preprocessor">#endif // SWIG</span></div>
<div class="line"><a name="l04419"></a><span class="lineno"> 4419</span>&#160; </div>
<div class="line"><a name="l04421"></a><span class="lineno"> 4421</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="l04423"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVar.html#a1fa7ba3df05c93c2c8f9109d0268f4b2"> 4423</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="l04424"></a><span class="lineno"> 4424</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="l04425"></a><span class="lineno"> 4425</span>&#160; }</div>
<div class="line"><a name="l04426"></a><span class="lineno"> 4426</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l04427"></a><span class="lineno"> 4427</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="l04429"></a><span class="lineno"> 4429</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="l04430"></a><span class="lineno"> 4430</span>&#160; }</div>
<div class="line"><a name="l04431"></a><span class="lineno"> 4431</span>&#160;<span class="preprocessor">#endif // SWIG</span></div>
<div class="line"><a name="l04432"></a><span class="lineno"> 4432</span>&#160; </div>
<div class="line"><a name="l04436"></a><span class="lineno"> 4436</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="l04437"></a><span class="lineno"> 4437</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="l04438"></a><span class="lineno"> 4438</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="l04439"></a><span class="lineno"> 4439</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="l04443"></a><span class="lineno"> 4443</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="l04444"></a><span class="lineno"> 4444</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="l04445"></a><span class="lineno"> 4445</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="l04446"></a><span class="lineno"> 4446</span>&#160; </div>
<div class="line"><a name="l04448"></a><span class="lineno"> 4448</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="l04449"></a><span class="lineno"> 4449</span>&#160; </div>
<div class="line"><a name="l04450"></a><span class="lineno"> 4450</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l04451"></a><span class="lineno"> 4451</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1IntervalVar.html#a80fdadbf273640022be0e62fe34ca247">IntervalVar</a>);</div>
<div class="line"><a name="l04452"></a><span class="lineno"> 4452</span>&#160;};</div>
<div class="line"><a name="l04453"></a><span class="lineno"> 4453</span>&#160; </div>
<div class="line"><a name="l04460"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SequenceVar.html"> 4460</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="l04461"></a><span class="lineno"> 4461</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l04462"></a><span class="lineno"> 4462</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="l04463"></a><span class="lineno"> 4463</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="l04464"></a><span class="lineno"> 4464</span>&#160; </div>
<div class="line"><a name="l04465"></a><span class="lineno"> 4465</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="l04466"></a><span class="lineno"> 4466</span>&#160; </div>
<div class="line"><a name="l04467"></a><span class="lineno"> 4467</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="l04468"></a><span class="lineno"> 4468</span>&#160; </div>
<div class="line"><a name="l04469"></a><span class="lineno"> 4469</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l04470"></a><span class="lineno"> 4470</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="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#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="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#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="l04481"></a><span class="lineno"> 4481</span>&#160; </div>
<div class="line"><a name="l04483"></a><span class="lineno"> 4483</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="l04484"></a><span class="lineno"> 4484</span>&#160; <span class="keywordtype">int</span>* <span class="keyword">const</span> unperformed) <span class="keyword">const</span>;</div>
<div class="line"><a name="l04485"></a><span class="lineno"> 4485</span>&#160;<span class="preprocessor">#endif // !defined(SWIG)</span></div>
<div class="line"><a name="l04486"></a><span class="lineno"> 4486</span>&#160; </div>
<div class="line"><a name="l04489"></a><span class="lineno"> 4489</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="l04490"></a><span class="lineno"> 4490</span>&#160; </div>
<div class="line"><a name="l04493"></a><span class="lineno"> 4493</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="l04494"></a><span class="lineno"> 4494</span>&#160; </div>
<div class="line"><a name="l04497"></a><span class="lineno"> 4497</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="l04498"></a><span class="lineno"> 4498</span>&#160; </div>
<div class="line"><a name="l04501"></a><span class="lineno"> 4501</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="l04502"></a><span class="lineno"> 4502</span>&#160; </div>
<div class="line"><a name="l04505"></a><span class="lineno"> 4505</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="l04506"></a><span class="lineno"> 4506</span>&#160; std::vector&lt;int&gt;* <span class="keyword">const</span> possible_lasts);</div>
<div class="line"><a name="l04507"></a><span class="lineno"> 4507</span>&#160; </div>
<div class="line"><a name="l04513"></a><span class="lineno"> 4513</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="l04514"></a><span class="lineno"> 4514</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; rank_last,</div>
<div class="line"><a name="l04515"></a><span class="lineno"> 4515</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; unperformed);</div>
<div class="line"><a name="l04516"></a><span class="lineno"> 4516</span>&#160; </div>
<div class="line"><a name="l04525"></a><span class="lineno"> 4525</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="l04526"></a><span class="lineno"> 4526</span>&#160; std::vector&lt;int&gt;* <span class="keyword">const</span> rank_last,</div>
<div class="line"><a name="l04527"></a><span class="lineno"> 4527</span>&#160; std::vector&lt;int&gt;* <span class="keyword">const</span> unperformed) <span class="keyword">const</span>;</div>
<div class="line"><a name="l04528"></a><span class="lineno"> 4528</span>&#160; </div>
<div class="line"><a name="l04530"></a><span class="lineno"> 4530</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="l04531"></a><span class="lineno"> 4531</span>&#160; </div>
<div class="line"><a name="l04533"></a><span class="lineno"> 4533</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="l04534"></a><span class="lineno"> 4534</span>&#160; </div>
<div class="line"><a name="l04536"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SequenceVar.html#a53616c71ad0a199caa949b8e32679b59"> 4536</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="l04537"></a><span class="lineno"> 4537</span>&#160; </div>
<div class="line"><a name="l04539"></a><span class="lineno"> 4539</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="l04540"></a><span class="lineno"> 4540</span>&#160; </div>
<div class="line"><a name="l04541"></a><span class="lineno"> 4541</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l04542"></a><span class="lineno"> 4542</span>&#160; <span class="keywordtype">int</span> ComputeForwardFrontier();</div>
<div class="line"><a name="l04543"></a><span class="lineno"> 4543</span>&#160; <span class="keywordtype">int</span> ComputeBackwardFrontier();</div>
<div class="line"><a name="l04544"></a><span class="lineno"> 4544</span>&#160; <span class="keywordtype">void</span> UpdatePrevious() <span class="keyword">const</span>;</div>
<div class="line"><a name="l04545"></a><span class="lineno"> 4545</span>&#160; </div>
<div class="line"><a name="l04546"></a><span class="lineno"> 4546</span>&#160; <span class="keyword">const</span> std::vector&lt;IntervalVar*&gt; intervals_;</div>
<div class="line"><a name="l04547"></a><span class="lineno"> 4547</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt; nexts_;</div>
<div class="line"><a name="l04548"></a><span class="lineno"> 4548</span>&#160; <span class="keyword">mutable</span> std::vector&lt;int&gt; previous_;</div>
<div class="line"><a name="l04549"></a><span class="lineno"> 4549</span>&#160;};</div>
<div class="line"><a name="l04550"></a><span class="lineno"> 4550</span>&#160; </div>
<div class="line"><a name="l04551"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentElement.html"> 4551</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="l04552"></a><span class="lineno"> 4552</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l04553"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentElement.html#af5b9d7522539d5b89a7c7652bdcd2a3e"> 4553</a></span>&#160; <a class="code" href="classoperations__research_1_1AssignmentElement.html#af5b9d7522539d5b89a7c7652bdcd2a3e">AssignmentElement</a>() : activated_(true) {}</div>
<div class="line"><a name="l04554"></a><span class="lineno"> 4554</span>&#160; </div>
<div class="line"><a name="l04555"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentElement.html#ae8753efaeea05f65094a4875a694a368"> 4555</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="l04556"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentElement.html#a9c9dd3575fbfc59e05ae9ed1c05f8896"> 4556</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="l04557"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentElement.html#ae79195ce9bb522329dfaedaba78bd4e2"> 4557</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="l04558"></a><span class="lineno"> 4558</span>&#160; </div>
<div class="line"><a name="l04559"></a><span class="lineno"> 4559</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l04560"></a><span class="lineno"> 4560</span>&#160; <span class="keywordtype">bool</span> activated_;</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"> 4562</span>&#160; </div>
<div class="line"><a name="l04563"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html"> 4563</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="l04564"></a><span class="lineno"> 4564</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l04565"></a><span class="lineno"> 4565</span>&#160; <a class="code" href="classoperations__research_1_1IntVarElement.html#a73063c916ad469eb39c8a5160746342b">IntVarElement</a>();</div>
<div class="line"><a name="l04566"></a><span class="lineno"> 4566</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="l04567"></a><span class="lineno"> 4567</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="l04568"></a><span class="lineno"> 4568</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="l04569"></a><span class="lineno"> 4569</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="l04570"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html#a8052ccc3aba839f3befd553cc05b85a0"> 4570</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="l04571"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html#a3abcbe1fcd37d8982941a795ed22e34a"> 4571</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="l04572"></a><span class="lineno"> 4572</span>&#160; min_ = var_-&gt;<a class="code" href="classoperations__research_1_1IntExpr.html#ac4a4f30badcd311075302a4efcfaee0a">Min</a>();</div>
<div class="line"><a name="l04573"></a><span class="lineno"> 4573</span>&#160; max_ = var_-&gt;<a class="code" href="classoperations__research_1_1IntExpr.html#a6dc4d5cdc2ed0da18452a65c5bf69e0d">Max</a>();</div>
<div class="line"><a name="l04574"></a><span class="lineno"> 4574</span>&#160; }</div>
<div class="line"><a name="l04575"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html#a1896fe755b612dbebd2c46638f8977a2"> 4575</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="l04576"></a><span class="lineno"> 4576</span>&#160; <span class="keywordflow">if</span> (var_ != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a name="l04577"></a><span class="lineno"> 4577</span>&#160; var_-&gt;<a class="code" href="classoperations__research_1_1IntExpr.html#a137deeb8781c0c7aa24bfa99c85bd01d">SetRange</a>(min_, max_);</div>
<div class="line"><a name="l04578"></a><span class="lineno"> 4578</span>&#160; }</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; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVarElement.html#aa5f2722386540253d4be5ea1c7d31965">LoadFromProto</a>(<span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntVarAssignment.html">IntVarAssignment</a>&amp; int_var_assignment_proto);</div>
<div class="line"><a name="l04581"></a><span class="lineno"> 4581</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntVarElement.html#a7dc350ccebb0b18b1028ccbae54f30ea">WriteToProto</a>(<a class="code" href="classoperations__research_1_1IntVarAssignment.html">IntVarAssignment</a>* int_var_assignment_proto) <span class="keyword">const</span>;</div>
<div class="line"><a name="l04582"></a><span class="lineno"> 4582</span>&#160; </div>
<div class="line"><a name="l04583"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html#a53e9735282c0bf0769962bd1b6a643bc"> 4583</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="l04584"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html#a14058ec577db7ff606d2c60f86ca696d"> 4584</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="l04585"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html#a5fa627799e723b650fe562b05e1fef5f"> 4585</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="l04586"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html#ae7fff7af26c2af0750ad739c3677dd79"> 4586</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="l04587"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html#aeabf4572ab5bf48ec3e07660c9587385"> 4587</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="l04588"></a><span class="lineno"> 4588</span>&#160; DCHECK_EQ(min_, max_);</div>
<div class="line"><a name="l04589"></a><span class="lineno"> 4589</span>&#160; <span class="comment">// Get the value from an unbound int var assignment element.</span></div>
<div class="line"><a name="l04590"></a><span class="lineno"> 4590</span>&#160; <span class="keywordflow">return</span> min_;</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"><a class="line" href="classoperations__research_1_1IntVarElement.html#a4bead74295e1e5675c0984fcc91ef057"> 4592</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="l04593"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html#a85874e2ad52c9a6d524dc6c3af9af060"> 4593</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="l04594"></a><span class="lineno"> 4594</span>&#160; min_ = l;</div>
<div class="line"><a name="l04595"></a><span class="lineno"> 4595</span>&#160; max_ = u;</div>
<div class="line"><a name="l04596"></a><span class="lineno"> 4596</span>&#160; }</div>
<div class="line"><a name="l04597"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html#ace66161c2f260353b4f03ef33455cd2f"> 4597</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="l04598"></a><span class="lineno"> 4598</span>&#160; min_ = v;</div>
<div class="line"><a name="l04599"></a><span class="lineno"> 4599</span>&#160; max_ = v;</div>
<div class="line"><a name="l04600"></a><span class="lineno"> 4600</span>&#160; }</div>
<div class="line"><a name="l04601"></a><span class="lineno"> 4601</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="l04602"></a><span class="lineno"> 4602</span>&#160; </div>
<div class="line"><a name="l04603"></a><span class="lineno"> 4603</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="l04604"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntVarElement.html#a1dc7549eac8297e8ef9a6c3af7d24304"> 4604</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="l04605"></a><span class="lineno"> 4605</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == element);</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"> 4607</span>&#160; </div>
<div class="line"><a name="l04608"></a><span class="lineno"> 4608</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l04609"></a><span class="lineno"> 4609</span>&#160; <a class="code" href="classoperations__research_1_1IntVar.html">IntVar</a>* var_;</div>
<div class="line"><a name="l04610"></a><span class="lineno"> 4610</span>&#160; int64 min_;</div>
<div class="line"><a name="l04611"></a><span class="lineno"> 4611</span>&#160; int64 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"> 4613</span>&#160; </div>
<div class="line"><a name="l04614"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html"> 4614</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="l04615"></a><span class="lineno"> 4615</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l04616"></a><span class="lineno"> 4616</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVarElement.html#aa07812b5154f8e4d71b45d8dd53bcc06">IntervalVarElement</a>();</div>
<div class="line"><a name="l04617"></a><span class="lineno"> 4617</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="l04618"></a><span class="lineno"> 4618</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="l04619"></a><span class="lineno"> 4619</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="l04620"></a><span class="lineno"> 4620</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="l04621"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#afd16c8805de84b77fdc179d7e5ba35b3"> 4621</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="l04622"></a><span class="lineno"> 4622</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="l04623"></a><span class="lineno"> 4623</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="l04624"></a><span class="lineno"> 4624</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="l04625"></a><span class="lineno"> 4625</span>&#160; <span class="keyword">const</span> <a class="code" href="classoperations__research_1_1IntervalVarAssignment.html">IntervalVarAssignment</a>&amp; interval_var_assignment_proto);</div>
<div class="line"><a name="l04626"></a><span class="lineno"> 4626</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1IntervalVarElement.html#abe80b59dadcaf97e21967faf0b1e265d">WriteToProto</a>(<a class="code" href="classoperations__research_1_1IntervalVarAssignment.html">IntervalVarAssignment</a>* interval_var_assignment_proto) <span class="keyword">const</span>;</div>
<div class="line"><a name="l04627"></a><span class="lineno"> 4627</span>&#160; </div>
<div class="line"><a name="l04628"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a0361647ab5c3e59345c63450aaae7643"> 4628</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="l04629"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a781d3ae41c1ab80bfa9b94514dc68172"> 4629</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="l04630"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a829df9b05ef6f289aa566669aeb9f557"> 4630</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="l04631"></a><span class="lineno"> 4631</span>&#160; CHECK_EQ(start_max_, start_min_);</div>
<div class="line"><a name="l04632"></a><span class="lineno"> 4632</span>&#160; <span class="keywordflow">return</span> start_max_;</div>
<div class="line"><a name="l04633"></a><span class="lineno"> 4633</span>&#160; }</div>
<div class="line"><a name="l04634"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a4250f792ba0d365dafaa213d7e966dd6"> 4634</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="l04635"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a7d23b9a5cc7d92b51babfc7ff3d23a3e"> 4635</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="l04636"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a6e8672f9ba306a50785fc05744632315"> 4636</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="l04637"></a><span class="lineno"> 4637</span>&#160; CHECK_EQ(duration_max_, duration_min_);</div>
<div class="line"><a name="l04638"></a><span class="lineno"> 4638</span>&#160; <span class="keywordflow">return</span> duration_max_;</div>
<div class="line"><a name="l04639"></a><span class="lineno"> 4639</span>&#160; }</div>
<div class="line"><a name="l04640"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a395f1d951b22ab8d1801d7ba807f26d3"> 4640</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="l04641"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#afe91689b382c123e523f567c904cfce7"> 4641</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="l04642"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a9d8b6fe3bd617e70dba752d91d47bfd5"> 4642</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="l04643"></a><span class="lineno"> 4643</span>&#160; CHECK_EQ(end_max_, end_min_);</div>
<div class="line"><a name="l04644"></a><span class="lineno"> 4644</span>&#160; <span class="keywordflow">return</span> end_max_;</div>
<div class="line"><a name="l04645"></a><span class="lineno"> 4645</span>&#160; }</div>
<div class="line"><a name="l04646"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#ad625370707130c0d1ba5cd64c2441a1c"> 4646</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="l04647"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#af1f5799cc044ed55c7875e0f2512a640"> 4647</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="l04648"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a8178509093b9d6d4283b32285d2cdc65"> 4648</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="l04649"></a><span class="lineno"> 4649</span>&#160; CHECK_EQ(performed_max_, performed_min_);</div>
<div class="line"><a name="l04650"></a><span class="lineno"> 4650</span>&#160; <span class="keywordflow">return</span> performed_max_;</div>
<div class="line"><a name="l04651"></a><span class="lineno"> 4651</span>&#160; }</div>
<div class="line"><a name="l04652"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a92ac24619e5b77292579961e5f262557"> 4652</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="l04653"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a5edd46771ddca23d192814791d786b2d"> 4653</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="l04654"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a7ffb22279ead8371d940b61468b91739"> 4654</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="l04655"></a><span class="lineno"> 4655</span>&#160; start_min_ = mi;</div>
<div class="line"><a name="l04656"></a><span class="lineno"> 4656</span>&#160; start_max_ = ma;</div>
<div class="line"><a name="l04657"></a><span class="lineno"> 4657</span>&#160; }</div>
<div class="line"><a name="l04658"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a21664d5895fb391fcb30ab99e9093b30"> 4658</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="l04659"></a><span class="lineno"> 4659</span>&#160; start_min_ = v;</div>
<div class="line"><a name="l04660"></a><span class="lineno"> 4660</span>&#160; start_max_ = v;</div>
<div class="line"><a name="l04661"></a><span class="lineno"> 4661</span>&#160; }</div>
<div class="line"><a name="l04662"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#ab2ceb53cc8383e5a5fe75945c551b7ec"> 4662</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="l04663"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#acb82f80b98dd125b5848482e3e416e52"> 4663</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="l04664"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a970325eeede55da5ce8d14714fd5a0f4"> 4664</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="l04665"></a><span class="lineno"> 4665</span>&#160; duration_min_ = mi;</div>
<div class="line"><a name="l04666"></a><span class="lineno"> 4666</span>&#160; duration_max_ = ma;</div>
<div class="line"><a name="l04667"></a><span class="lineno"> 4667</span>&#160; }</div>
<div class="line"><a name="l04668"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a51ca76ff589a00765341dec2cb8b9e1a"> 4668</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="l04669"></a><span class="lineno"> 4669</span>&#160; duration_min_ = v;</div>
<div class="line"><a name="l04670"></a><span class="lineno"> 4670</span>&#160; duration_max_ = v;</div>
<div class="line"><a name="l04671"></a><span class="lineno"> 4671</span>&#160; }</div>
<div class="line"><a name="l04672"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a48cb445857aaffecb8cacf17bee1c091"> 4672</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="l04673"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a5425edc7904146624603580c53da1619"> 4673</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="l04674"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a66e85c5d4d06d176aa2128ee817c948e"> 4674</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="l04675"></a><span class="lineno"> 4675</span>&#160; end_min_ = mi;</div>
<div class="line"><a name="l04676"></a><span class="lineno"> 4676</span>&#160; end_max_ = ma;</div>
<div class="line"><a name="l04677"></a><span class="lineno"> 4677</span>&#160; }</div>
<div class="line"><a name="l04678"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a5fca4736a0ce7eef873cba6d4e06b774"> 4678</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="l04679"></a><span class="lineno"> 4679</span>&#160; end_min_ = v;</div>
<div class="line"><a name="l04680"></a><span class="lineno"> 4680</span>&#160; end_max_ = v;</div>
<div class="line"><a name="l04681"></a><span class="lineno"> 4681</span>&#160; }</div>
<div class="line"><a name="l04682"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a4171dd4d693085b0255cf7adbee2de28"> 4682</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="l04683"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#ac858bedfdb73cb24b9674ba496311999"> 4683</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="l04684"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a19e8499badab76a0c15b45623c76f123"> 4684</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="l04685"></a><span class="lineno"> 4685</span>&#160; performed_min_ = mi;</div>
<div class="line"><a name="l04686"></a><span class="lineno"> 4686</span>&#160; performed_max_ = ma;</div>
<div class="line"><a name="l04687"></a><span class="lineno"> 4687</span>&#160; }</div>
<div class="line"><a name="l04688"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a05da7ad54dd8ee971c5d010c810df851"> 4688</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="l04689"></a><span class="lineno"> 4689</span>&#160; performed_min_ = v;</div>
<div class="line"><a name="l04690"></a><span class="lineno"> 4690</span>&#160; performed_max_ = v;</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"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a4bead74295e1e5675c0984fcc91ef057"> 4692</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="l04693"></a><span class="lineno"> 4693</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="l04694"></a><span class="lineno"> 4694</span>&#160; end_min_ == end_max_ &amp;&amp; performed_min_ == performed_max_);</div>
<div class="line"><a name="l04695"></a><span class="lineno"> 4695</span>&#160; }</div>
<div class="line"><a name="l04696"></a><span class="lineno"> 4696</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="l04697"></a><span class="lineno"> 4697</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="l04698"></a><span class="lineno"><a class="line" href="classoperations__research_1_1IntervalVarElement.html#a247764a994a106eaa0f22e397a2664f3"> 4698</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="l04699"></a><span class="lineno"> 4699</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == element);</div>
<div class="line"><a name="l04700"></a><span class="lineno"> 4700</span>&#160; }</div>
<div class="line"><a name="l04701"></a><span class="lineno"> 4701</span>&#160; </div>
<div class="line"><a name="l04702"></a><span class="lineno"> 4702</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l04703"></a><span class="lineno"> 4703</span>&#160; int64 start_min_;</div>
<div class="line"><a name="l04704"></a><span class="lineno"> 4704</span>&#160; int64 start_max_;</div>
<div class="line"><a name="l04705"></a><span class="lineno"> 4705</span>&#160; int64 duration_min_;</div>
<div class="line"><a name="l04706"></a><span class="lineno"> 4706</span>&#160; int64 duration_max_;</div>
<div class="line"><a name="l04707"></a><span class="lineno"> 4707</span>&#160; int64 end_min_;</div>
<div class="line"><a name="l04708"></a><span class="lineno"> 4708</span>&#160; int64 end_max_;</div>
<div class="line"><a name="l04709"></a><span class="lineno"> 4709</span>&#160; int64 performed_min_;</div>
<div class="line"><a name="l04710"></a><span class="lineno"> 4710</span>&#160; int64 performed_max_;</div>
<div class="line"><a name="l04711"></a><span class="lineno"> 4711</span>&#160; <a class="code" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* var_;</div>
<div class="line"><a name="l04712"></a><span class="lineno"> 4712</span>&#160;};</div>
<div class="line"><a name="l04713"></a><span class="lineno"> 4713</span>&#160; </div>
<div class="line"><a name="l04727"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SequenceVarElement.html"> 4727</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="l04728"></a><span class="lineno"> 4728</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l04729"></a><span class="lineno"> 4729</span>&#160; <a class="code" href="classoperations__research_1_1SequenceVarElement.html#a556b89bd81fc32c5995246961838c56e">SequenceVarElement</a>();</div>
<div class="line"><a name="l04730"></a><span class="lineno"> 4730</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="l04731"></a><span class="lineno"> 4731</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="l04732"></a><span class="lineno"> 4732</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="l04733"></a><span class="lineno"> 4733</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="l04734"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SequenceVarElement.html#a8cbdc12db98f8b18b519e06b5c687bc4"> 4734</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="l04735"></a><span class="lineno"> 4735</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="l04736"></a><span class="lineno"> 4736</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="l04737"></a><span class="lineno"> 4737</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="l04738"></a><span class="lineno"> 4738</span>&#160; <span class="keyword">const</span> <a class="code" href="classoperations__research_1_1SequenceVarAssignment.html">SequenceVarAssignment</a>&amp; sequence_var_assignment_proto);</div>
<div class="line"><a name="l04739"></a><span class="lineno"> 4739</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1SequenceVarElement.html#ab5c3328c1af7a92198fe1b21fc148202">WriteToProto</a>(<a class="code" href="classoperations__research_1_1SequenceVarAssignment.html">SequenceVarAssignment</a>* sequence_var_assignment_proto) <span class="keyword">const</span>;</div>
<div class="line"><a name="l04740"></a><span class="lineno"> 4740</span>&#160; </div>
<div class="line"><a name="l04741"></a><span class="lineno"> 4741</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="l04742"></a><span class="lineno"> 4742</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="l04743"></a><span class="lineno"> 4743</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="l04744"></a><span class="lineno"> 4744</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="l04745"></a><span class="lineno"> 4745</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; backward_sequence,</div>
<div class="line"><a name="l04746"></a><span class="lineno"> 4746</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; unperformed);</div>
<div class="line"><a name="l04747"></a><span class="lineno"> 4747</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="l04748"></a><span class="lineno"> 4748</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="l04749"></a><span class="lineno"> 4749</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="l04750"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SequenceVarElement.html#a4bead74295e1e5675c0984fcc91ef057"> 4750</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="l04751"></a><span class="lineno"> 4751</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="l04752"></a><span class="lineno"> 4752</span>&#160; }</div>
<div class="line"><a name="l04753"></a><span class="lineno"> 4753</span>&#160; </div>
<div class="line"><a name="l04754"></a><span class="lineno"> 4754</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="l04755"></a><span class="lineno"> 4755</span>&#160; </div>
<div class="line"><a name="l04756"></a><span class="lineno"> 4756</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="l04757"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SequenceVarElement.html#a37191403b930340e0cbd1e9a4f88d157"> 4757</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="l04758"></a><span class="lineno"> 4758</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == element);</div>
<div class="line"><a name="l04759"></a><span class="lineno"> 4759</span>&#160; }</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; <span class="keyword">private</span>:</div>
<div class="line"><a name="l04762"></a><span class="lineno"> 4762</span>&#160; <span class="keywordtype">bool</span> CheckClassInvariants();</div>
<div class="line"><a name="l04763"></a><span class="lineno"> 4763</span>&#160; </div>
<div class="line"><a name="l04764"></a><span class="lineno"> 4764</span>&#160; <a class="code" href="classoperations__research_1_1SequenceVar.html">SequenceVar</a>* var_;</div>
<div class="line"><a name="l04765"></a><span class="lineno"> 4765</span>&#160; std::vector&lt;int&gt; forward_sequence_;</div>
<div class="line"><a name="l04766"></a><span class="lineno"> 4766</span>&#160; std::vector&lt;int&gt; backward_sequence_;</div>
<div class="line"><a name="l04767"></a><span class="lineno"> 4767</span>&#160; std::vector&lt;int&gt; unperformed_;</div>
<div class="line"><a name="l04768"></a><span class="lineno"> 4768</span>&#160;};</div>
<div class="line"><a name="l04769"></a><span class="lineno"> 4769</span>&#160; </div>
<div class="line"><a name="l04770"></a><span class="lineno"> 4770</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="l04771"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html"> 4771</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="l04772"></a><span class="lineno"> 4772</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l04773"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a7d320f70aa1037c9c92e89ba597b5ee0"> 4773</a></span>&#160; <a class="code" href="classoperations__research_1_1AssignmentContainer.html#a7d320f70aa1037c9c92e89ba597b5ee0">AssignmentContainer</a>() {}</div>
<div class="line"><a name="l04774"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#aeeda3757b9ae10662dc2ba27ee44cd48"> 4774</a></span>&#160; E* <a class="code" href="classoperations__research_1_1AssignmentContainer.html#aeeda3757b9ae10662dc2ba27ee44cd48">Add</a>(V* var) {</div>
<div class="line"><a name="l04775"></a><span class="lineno"> 4775</span>&#160; CHECK(var != <span class="keyword">nullptr</span>);</div>
<div class="line"><a name="l04776"></a><span class="lineno"> 4776</span>&#160; <span class="keywordtype">int</span> index = -1;</div>
<div class="line"><a name="l04777"></a><span class="lineno"> 4777</span>&#160; <span class="keywordflow">if</span> (!Find(var, &amp;index)) {</div>
<div class="line"><a name="l04778"></a><span class="lineno"> 4778</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="l04779"></a><span class="lineno"> 4779</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l04780"></a><span class="lineno"> 4780</span>&#160; <span class="keywordflow">return</span> &amp;elements_[index];</div>
<div class="line"><a name="l04781"></a><span class="lineno"> 4781</span>&#160; }</div>
<div class="line"><a name="l04782"></a><span class="lineno"> 4782</span>&#160; }</div>
<div class="line"><a name="l04784"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#af509c96179f3a9bf38b661fd3ab15547"> 4784</a></span>&#160; E* <a class="code" href="classoperations__research_1_1AssignmentContainer.html#af509c96179f3a9bf38b661fd3ab15547">FastAdd</a>(V* var) {</div>
<div class="line"><a name="l04785"></a><span class="lineno"> 4785</span>&#160; DCHECK(var != <span class="keyword">nullptr</span>);</div>
<div class="line"><a name="l04786"></a><span class="lineno"> 4786</span>&#160; elements_.emplace_back(var);</div>
<div class="line"><a name="l04787"></a><span class="lineno"> 4787</span>&#160; <span class="keywordflow">return</span> &amp;elements_.back();</div>
<div class="line"><a name="l04788"></a><span class="lineno"> 4788</span>&#160; }</div>
<div class="line"><a name="l04791"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a55e6ebe94a380d6a66e470eafc84f6ff"> 4791</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="l04792"></a><span class="lineno"> 4792</span>&#160; elements_[position].Reset(var);</div>
<div class="line"><a name="l04793"></a><span class="lineno"> 4793</span>&#160; <span class="keywordflow">return</span> &amp;elements_[position];</div>
<div class="line"><a name="l04794"></a><span class="lineno"> 4794</span>&#160; }</div>
<div class="line"><a name="l04795"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#aa71d36872f416feaa853788a7a7a7ef8"> 4795</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="l04796"></a><span class="lineno"> 4796</span>&#160; elements_.clear();</div>
<div class="line"><a name="l04797"></a><span class="lineno"> 4797</span>&#160; <span class="keywordflow">if</span> (!elements_map_.empty()) { </div>
<div class="line"><a name="l04798"></a><span class="lineno"> 4798</span>&#160; elements_map_.clear();</div>
<div class="line"><a name="l04799"></a><span class="lineno"> 4799</span>&#160; }</div>
<div class="line"><a name="l04800"></a><span class="lineno"> 4800</span>&#160; }</div>
<div class="line"><a name="l04803"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#ad9cf0e91780366986c2f047bd796cdd5"> 4803</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="l04804"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#abcfbdba215d3b15fbb4b682969943a6e"> 4804</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="l04807"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a9159a0c131a3233d9a8a79dc7afa3c6e"> 4807</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="l04808"></a><span class="lineno"> 4808</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="l04809"></a><span class="lineno"> 4809</span>&#160; <span class="keyword">const</span> E&amp; element = container.elements_[i];</div>
<div class="line"><a name="l04810"></a><span class="lineno"> 4810</span>&#160; <span class="keyword">const</span> V* <span class="keyword">const</span> var = element.Var();</div>
<div class="line"><a name="l04811"></a><span class="lineno"> 4811</span>&#160; <span class="keywordtype">int</span> index = -1;</div>
<div class="line"><a name="l04812"></a><span class="lineno"> 4812</span>&#160; <span class="keywordflow">if</span> (i &lt; elements_.size() &amp;&amp; elements_[i].Var() == var) {</div>
<div class="line"><a name="l04813"></a><span class="lineno"> 4813</span>&#160; index = i;</div>
<div class="line"><a name="l04814"></a><span class="lineno"> 4814</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!Find(var, &amp;index)) {</div>
<div class="line"><a name="l04815"></a><span class="lineno"> 4815</span>&#160; <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l04816"></a><span class="lineno"> 4816</span>&#160; }</div>
<div class="line"><a name="l04817"></a><span class="lineno"> 4817</span>&#160; DCHECK_GE(index, 0);</div>
<div class="line"><a name="l04818"></a><span class="lineno"> 4818</span>&#160; E* <span class="keyword">const</span> local_element = &amp;elements_[index];</div>
<div class="line"><a name="l04819"></a><span class="lineno"> 4819</span>&#160; local_element-&gt;Copy(element);</div>
<div class="line"><a name="l04820"></a><span class="lineno"> 4820</span>&#160; <span class="keywordflow">if</span> (element.Activated()) {</div>
<div class="line"><a name="l04821"></a><span class="lineno"> 4821</span>&#160; local_element-&gt;Activate();</div>
<div class="line"><a name="l04822"></a><span class="lineno"> 4822</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l04823"></a><span class="lineno"> 4823</span>&#160; local_element-&gt;Deactivate();</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"> 4825</span>&#160; }</div>
<div class="line"><a name="l04826"></a><span class="lineno"> 4826</span>&#160; }</div>
<div class="line"><a name="l04829"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a699655a0e89edf33816b4e40b2d2fcc4"> 4829</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="l04830"></a><span class="lineno"> 4830</span>&#160; <a class="code" href="classoperations__research_1_1AssignmentContainer.html#aa71d36872f416feaa853788a7a7a7ef8">Clear</a>();</div>
<div class="line"><a name="l04831"></a><span class="lineno"> 4831</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="l04832"></a><span class="lineno"> 4832</span>&#160; <span class="keyword">const</span> E&amp; element = container.elements_[i];</div>
<div class="line"><a name="l04833"></a><span class="lineno"> 4833</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="l04834"></a><span class="lineno"> 4834</span>&#160; }</div>
<div class="line"><a name="l04835"></a><span class="lineno"> 4835</span>&#160; }</div>
<div class="line"><a name="l04836"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a4beccbd8819d830e06223550b8ca6d10"> 4836</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="l04837"></a><span class="lineno"> 4837</span>&#160; <span class="keywordtype">int</span> index;</div>
<div class="line"><a name="l04838"></a><span class="lineno"> 4838</span>&#160; <span class="keywordflow">return</span> Find(var, &amp;index);</div>
<div class="line"><a name="l04839"></a><span class="lineno"> 4839</span>&#160; }</div>
<div class="line"><a name="l04840"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a2155d56276e438298f2bd34505ec3dc6"> 4840</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="l04841"></a><span class="lineno"> 4841</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="l04842"></a><span class="lineno"> 4842</span>&#160; DCHECK(element != <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l04843"></a><span class="lineno"> 4843</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="l04844"></a><span class="lineno"> 4844</span>&#160; <span class="keywordflow">return</span> element;</div>
<div class="line"><a name="l04845"></a><span class="lineno"> 4845</span>&#160; }</div>
<div class="line"><a name="l04846"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a24ee1cf3dc19a5848dacbc25be64a69b"> 4846</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="l04847"></a><span class="lineno"> 4847</span>&#160; <span class="keywordtype">int</span> index = -1;</div>
<div class="line"><a name="l04848"></a><span class="lineno"> 4848</span>&#160; <span class="keywordflow">if</span> (Find(var, &amp;index)) {</div>
<div class="line"><a name="l04849"></a><span class="lineno"> 4849</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="l04850"></a><span class="lineno"> 4850</span>&#160; }</div>
<div class="line"><a name="l04851"></a><span class="lineno"> 4851</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</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"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a907ce7f41938cc755b6b1f4a55b5cd27"> 4853</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="l04854"></a><span class="lineno"> 4854</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="l04855"></a><span class="lineno"> 4855</span>&#160; DCHECK(element != <span class="keyword">nullptr</span>)</div>
<div class="line"><a name="l04856"></a><span class="lineno"> 4856</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="l04857"></a><span class="lineno"> 4857</span>&#160; <span class="keywordflow">return</span> *element;</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"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a3f47259c80484060c6b5b94a40b8677a"> 4859</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="l04860"></a><span class="lineno"> 4860</span>&#160; <span class="keywordtype">int</span> index = -1;</div>
<div class="line"><a name="l04861"></a><span class="lineno"> 4861</span>&#160; <span class="keywordflow">if</span> (Find(var, &amp;index)) {</div>
<div class="line"><a name="l04862"></a><span class="lineno"> 4862</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="l04863"></a><span class="lineno"> 4863</span>&#160; }</div>
<div class="line"><a name="l04864"></a><span class="lineno"> 4864</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l04865"></a><span class="lineno"> 4865</span>&#160; }</div>
<div class="line"><a name="l04866"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a45e89457c65972deb63bb9af3765b358"> 4866</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="l04867"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a863387458c7c7000967c695673c825f1"> 4867</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="l04868"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a644d3acfafc9465295c6b12ccd5d0574"> 4868</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="l04869"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a24926108b770033792d015cb86aeffb3"> 4869</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="l04870"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a3abcbe1fcd37d8982941a795ed22e34a"> 4870</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="l04871"></a><span class="lineno"> 4871</span>&#160; <span class="keywordflow">for</span> (E&amp; element : elements_) {</div>
<div class="line"><a name="l04872"></a><span class="lineno"> 4872</span>&#160; element.Store();</div>
<div class="line"><a name="l04873"></a><span class="lineno"> 4873</span>&#160; }</div>
<div class="line"><a name="l04874"></a><span class="lineno"> 4874</span>&#160; }</div>
<div class="line"><a name="l04875"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a1896fe755b612dbebd2c46638f8977a2"> 4875</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="l04876"></a><span class="lineno"> 4876</span>&#160; <span class="keywordflow">for</span> (E&amp; element : elements_) {</div>
<div class="line"><a name="l04877"></a><span class="lineno"> 4877</span>&#160; <span class="keywordflow">if</span> (element.Activated()) {</div>
<div class="line"><a name="l04878"></a><span class="lineno"> 4878</span>&#160; element.Restore();</div>
<div class="line"><a name="l04879"></a><span class="lineno"> 4879</span>&#160; }</div>
<div class="line"><a name="l04880"></a><span class="lineno"> 4880</span>&#160; }</div>
<div class="line"><a name="l04881"></a><span class="lineno"> 4881</span>&#160; }</div>
<div class="line"><a name="l04882"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a1f87693caae60c7469fbffaadd6f0649"> 4882</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="l04883"></a><span class="lineno"> 4883</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> E&amp; element : elements_) {</div>
<div class="line"><a name="l04884"></a><span class="lineno"> 4884</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="l04885"></a><span class="lineno"> 4885</span>&#160; }</div>
<div class="line"><a name="l04886"></a><span class="lineno"> 4886</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</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; </div>
<div class="line"><a name="l04892"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a2b78a4ff4f23efeb1e70b6ce60faa821"> 4892</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="l04894"></a><span class="lineno"> 4894</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="l04895"></a><span class="lineno"> 4895</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l04896"></a><span class="lineno"> 4896</span>&#160; }</div>
<div class="line"><a name="l04898"></a><span class="lineno"> 4898</span>&#160; EnsureMapIsUpToDate();</div>
<div class="line"><a name="l04902"></a><span class="lineno"> 4902</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> E&amp; element : container.elements_) {</div>
<div class="line"><a name="l04903"></a><span class="lineno"> 4903</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> position =</div>
<div class="line"><a name="l04904"></a><span class="lineno"> 4904</span>&#160; gtl::FindWithDefault(elements_map_, element.Var(), -1);</div>
<div class="line"><a name="l04905"></a><span class="lineno"> 4905</span>&#160; <span class="keywordflow">if</span> (position &lt; 0 || elements_[position] != element) {</div>
<div class="line"><a name="l04906"></a><span class="lineno"> 4906</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l04907"></a><span class="lineno"> 4907</span>&#160; }</div>
<div class="line"><a name="l04908"></a><span class="lineno"> 4908</span>&#160; }</div>
<div class="line"><a name="l04909"></a><span class="lineno"> 4909</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l04910"></a><span class="lineno"> 4910</span>&#160; }</div>
<div class="line"><a name="l04911"></a><span class="lineno"><a class="line" href="classoperations__research_1_1AssignmentContainer.html#a6d46683fd5bcefbd1d9dc389fd34d665"> 4911</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="l04912"></a><span class="lineno"> 4912</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == container);</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="keyword">private</span>:</div>
<div class="line"><a name="l04916"></a><span class="lineno"> 4916</span>&#160; <span class="keywordtype">void</span> EnsureMapIsUpToDate()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l04917"></a><span class="lineno"> 4917</span>&#160; absl::flat_hash_map&lt;const V*, int&gt;* map =</div>
<div class="line"><a name="l04918"></a><span class="lineno"> 4918</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="l04919"></a><span class="lineno"> 4919</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="l04920"></a><span class="lineno"> 4920</span>&#160; (*map)[elements_[i].Var()] = i;</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; <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="l04925"></a><span class="lineno"> 4925</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> kMaxSizeForLinearAccess = 11;</div>
<div class="line"><a name="l04926"></a><span class="lineno"> 4926</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="l04930"></a><span class="lineno"> 4930</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="l04931"></a><span class="lineno"> 4931</span>&#160; <span class="keywordflow">if</span> (var == elements_[i].Var()) {</div>
<div class="line"><a name="l04932"></a><span class="lineno"> 4932</span>&#160; *index = i;</div>
<div class="line"><a name="l04933"></a><span class="lineno"> 4933</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l04934"></a><span class="lineno"> 4934</span>&#160; }</div>
<div class="line"><a name="l04935"></a><span class="lineno"> 4935</span>&#160; }</div>
<div class="line"><a name="l04936"></a><span class="lineno"> 4936</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l04937"></a><span class="lineno"> 4937</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l04938"></a><span class="lineno"> 4938</span>&#160; EnsureMapIsUpToDate();</div>
<div class="line"><a name="l04939"></a><span class="lineno"> 4939</span>&#160; DCHECK_EQ(elements_map_.size(), elements_.size());</div>
<div class="line"><a name="l04940"></a><span class="lineno"> 4940</span>&#160; <span class="keywordflow">return</span> gtl::FindCopy(elements_map_, var, index);</div>
<div class="line"><a name="l04941"></a><span class="lineno"> 4941</span>&#160; }</div>
<div class="line"><a name="l04942"></a><span class="lineno"> 4942</span>&#160; }</div>
<div class="line"><a name="l04943"></a><span class="lineno"> 4943</span>&#160; </div>
<div class="line"><a name="l04944"></a><span class="lineno"> 4944</span>&#160; std::vector&lt;E&gt; elements_;</div>
<div class="line"><a name="l04945"></a><span class="lineno"> 4945</span>&#160; absl::flat_hash_map&lt;const V*, int&gt; elements_map_;</div>
<div class="line"><a name="l04946"></a><span class="lineno"> 4946</span>&#160;};</div>
<div class="line"><a name="l04947"></a><span class="lineno"> 4947</span>&#160; </div>
<div class="line"><a name="l04950"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html"> 4950</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="l04951"></a><span class="lineno"> 4951</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l04952"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#ace2db6f9700f6a2159db104f5df1dc8f"> 4952</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="l04953"></a><span class="lineno"> 4953</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="l04954"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#ab7392f36e3e635b067027005f53aa89e"> 4954</a></span>&#160; <a class="code" href="classoperations__research_1_1Assignment.html#ab7392f36e3e635b067027005f53aa89e">IntervalContainer</a>;</div>
<div class="line"><a name="l04955"></a><span class="lineno"> 4955</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="l04956"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#a3639042f24d01e89b18ca7f50af82f1e"> 4956</a></span>&#160; <a class="code" href="classoperations__research_1_1Assignment.html#a3639042f24d01e89b18ca7f50af82f1e">SequenceContainer</a>;</div>
<div class="line"><a name="l04957"></a><span class="lineno"> 4957</span>&#160; </div>
<div class="line"><a name="l04958"></a><span class="lineno"> 4958</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="l04959"></a><span class="lineno"> 4959</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="l04960"></a><span class="lineno"> 4960</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="l04961"></a><span class="lineno"> 4961</span>&#160; </div>
<div class="line"><a name="l04962"></a><span class="lineno"> 4962</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="l04963"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#abcfbdba215d3b15fbb4b682969943a6e"> 4963</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="l04964"></a><span class="lineno"> 4964</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="l04965"></a><span class="lineno"> 4965</span>&#160; sequence_var_container_.<a class="code" href="classoperations__research_1_1AssignmentContainer.html#abcfbdba215d3b15fbb4b682969943a6e">Empty</a>();</div>
<div class="line"><a name="l04966"></a><span class="lineno"> 4966</span>&#160; }</div>
<div class="line"><a name="l04967"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#a24926108b770033792d015cb86aeffb3"> 4967</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="l04968"></a><span class="lineno"> 4968</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="l04969"></a><span class="lineno"> 4969</span>&#160; }</div>
<div class="line"><a name="l04970"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#adc0a2632bffdcc3b422a33cda362a294"> 4970</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="l04971"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#aadb464257cdb5eba70a5969af94c0e91"> 4971</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="l04972"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#a3818299a4be6ab80f11814fbc6654395"> 4972</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="l04973"></a><span class="lineno"> 4973</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="l04974"></a><span class="lineno"> 4974</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="l04975"></a><span class="lineno"> 4975</span>&#160; </div>
<div class="line"><a name="l04978"></a><span class="lineno"> 4978</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="l04979"></a><span class="lineno"> 4979</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l04980"></a><span class="lineno"> 4980</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="l04981"></a><span class="lineno"> 4981</span>&#160;<span class="preprocessor">#endif </span></div>
<div class="line"><a name="l04982"></a><span class="lineno"> 4982</span>&#160;<span class="preprocessor"> void Load(const AssignmentProto&amp; assignment_proto);</span></div>
<div class="line"><a name="l04983"></a><span class="lineno"> 4983</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="l04985"></a><span class="lineno"> 4985</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l04986"></a><span class="lineno"> 4986</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="l04987"></a><span class="lineno"> 4987</span>&#160;<span class="preprocessor">#endif // #if !defined(SWIG)</span></div>
<div class="line"><a name="l04988"></a><span class="lineno"> 4988</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classoperations__research_1_1Assignment.html#a6b181a6b49df0fa3c31f492c53693174">Save</a>(<a class="code" href="classoperations__research_1_1AssignmentProto.html">AssignmentProto</a>* <span class="keyword">const</span> assignment_proto) <span class="keyword">const</span>;</div>
<div class="line"><a name="l04989"></a><span class="lineno"> 4989</span>&#160; </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#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="l04991"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#a3e222c69fa6c693ccfeb7ff13cd482d3"> 4991</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="l04992"></a><span class="lineno"> 4992</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="l04993"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#a81c8f76d39ff0529fe40e70f8319d5d2"> 4993</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="l04994"></a><span class="lineno"> 4994</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="l04995"></a><span class="lineno"> 4995</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="l04996"></a><span class="lineno"> 4996</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="l04997"></a><span class="lineno"> 4997</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="l04998"></a><span class="lineno"> 4998</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="l04999"></a><span class="lineno"> 4999</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="l05000"></a><span class="lineno"> 5000</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="l05001"></a><span class="lineno"> 5001</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="l05002"></a><span class="lineno"> 5002</span>&#160; </div>
<div class="line"><a name="l05003"></a><span class="lineno"> 5003</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="l05004"></a><span class="lineno"> 5004</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="l05006"></a><span class="lineno"> 5006</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="l05007"></a><span class="lineno"> 5007</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="l05008"></a><span class="lineno"> 5008</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="l05009"></a><span class="lineno"> 5009</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="l05010"></a><span class="lineno"> 5010</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="l05011"></a><span class="lineno"> 5011</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="l05012"></a><span class="lineno"> 5012</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="l05013"></a><span class="lineno"> 5013</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="l05014"></a><span class="lineno"> 5014</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="l05015"></a><span class="lineno"> 5015</span>&#160; </div>
<div class="line"><a name="l05016"></a><span class="lineno"> 5016</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="l05017"></a><span class="lineno"> 5017</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="l05019"></a><span class="lineno"> 5019</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="l05020"></a><span class="lineno"> 5020</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="l05021"></a><span class="lineno"> 5021</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="l05022"></a><span class="lineno"> 5022</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="l05023"></a><span class="lineno"> 5023</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="l05024"></a><span class="lineno"> 5024</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="l05025"></a><span class="lineno"> 5025</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="l05026"></a><span class="lineno"> 5026</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="l05027"></a><span class="lineno"> 5027</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="l05028"></a><span class="lineno"> 5028</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="l05029"></a><span class="lineno"> 5029</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="l05030"></a><span class="lineno"> 5030</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="l05031"></a><span class="lineno"> 5031</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="l05032"></a><span class="lineno"> 5032</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="l05033"></a><span class="lineno"> 5033</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="l05034"></a><span class="lineno"> 5034</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="l05035"></a><span class="lineno"> 5035</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="l05036"></a><span class="lineno"> 5036</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="l05037"></a><span class="lineno"> 5037</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="l05038"></a><span class="lineno"> 5038</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="l05039"></a><span class="lineno"> 5039</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="l05040"></a><span class="lineno"> 5040</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="l05041"></a><span class="lineno"> 5041</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="l05042"></a><span class="lineno"> 5042</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="l05043"></a><span class="lineno"> 5043</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="l05044"></a><span class="lineno"> 5044</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="l05045"></a><span class="lineno"> 5045</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="l05046"></a><span class="lineno"> 5046</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="l05047"></a><span class="lineno"> 5047</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="l05048"></a><span class="lineno"> 5048</span>&#160; </div>
<div class="line"><a name="l05049"></a><span class="lineno"> 5049</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="l05050"></a><span class="lineno"> 5050</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="l05052"></a><span class="lineno"> 5052</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="l05053"></a><span class="lineno"> 5053</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="l05054"></a><span class="lineno"> 5054</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="l05055"></a><span class="lineno"> 5055</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="l05056"></a><span class="lineno"> 5056</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="l05057"></a><span class="lineno"> 5057</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; forward_sequence,</div>
<div class="line"><a name="l05058"></a><span class="lineno"> 5058</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; backward_sequence,</div>
<div class="line"><a name="l05059"></a><span class="lineno"> 5059</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; unperformed);</div>
<div class="line"><a name="l05060"></a><span class="lineno"> 5060</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="l05061"></a><span class="lineno"> 5061</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; forward_sequence);</div>
<div class="line"><a name="l05062"></a><span class="lineno"> 5062</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="l05063"></a><span class="lineno"> 5063</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; backward_sequence);</div>
<div class="line"><a name="l05064"></a><span class="lineno"> 5064</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="l05065"></a><span class="lineno"> 5065</span>&#160; <span class="keyword">const</span> std::vector&lt;int&gt;&amp; unperformed);</div>
<div class="line"><a name="l05066"></a><span class="lineno"> 5066</span>&#160; </div>
<div class="line"><a name="l05067"></a><span class="lineno"> 5067</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="l05068"></a><span class="lineno"> 5068</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="l05069"></a><span class="lineno"> 5069</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="l05070"></a><span class="lineno"> 5070</span>&#160; </div>
<div class="line"><a name="l05071"></a><span class="lineno"> 5071</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="l05072"></a><span class="lineno"> 5072</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="l05073"></a><span class="lineno"> 5073</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="l05074"></a><span class="lineno"> 5074</span>&#160; </div>
<div class="line"><a name="l05075"></a><span class="lineno"> 5075</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="l05076"></a><span class="lineno"> 5076</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="l05077"></a><span class="lineno"> 5077</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="l05078"></a><span class="lineno"> 5078</span>&#160; </div>
<div class="line"><a name="l05079"></a><span class="lineno"> 5079</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="l05080"></a><span class="lineno"> 5080</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="l05081"></a><span class="lineno"> 5081</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="l05082"></a><span class="lineno"> 5082</span>&#160; </div>
<div class="line"><a name="l05083"></a><span class="lineno"> 5083</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="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#a1f87693caae60c7469fbffaadd6f0649"> 5085</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="l05086"></a><span class="lineno"> 5086</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="l05087"></a><span class="lineno"> 5087</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="l05088"></a><span class="lineno"> 5088</span>&#160; sequence_var_container_.<a class="code" href="classoperations__research_1_1AssignmentContainer.html#a1f87693caae60c7469fbffaadd6f0649">AreAllElementsBound</a>();</div>
<div class="line"><a name="l05089"></a><span class="lineno"> 5089</span>&#160; }</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"> 5091</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="l05092"></a><span class="lineno"> 5092</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="l05093"></a><span class="lineno"> 5093</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="l05095"></a><span class="lineno"> 5095</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="l05098"></a><span class="lineno"> 5098</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="l05099"></a><span class="lineno"> 5099</span>&#160; </div>
<div class="line"><a name="l05100"></a><span class="lineno"> 5100</span>&#160; <span class="comment">// TODO(user): Add element iterators to avoid exposing container class.</span></div>
<div class="line"><a name="l05101"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#a1f16f5a2e5767013b620efd255fb35ea"> 5101</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="l05102"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#a11963e86e6bc074096264e96ccd5c755"> 5102</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="l05103"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#aec13b3eeabbd052d40b803adf7543d7c"> 5103</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="l05104"></a><span class="lineno"> 5104</span>&#160; <span class="keywordflow">return</span> interval_var_container_;</div>
<div class="line"><a name="l05105"></a><span class="lineno"> 5105</span>&#160; }</div>
<div class="line"><a name="l05106"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#a9b514900eccc0b36b3244d90c4f59ef9"> 5106</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="l05107"></a><span class="lineno"> 5107</span>&#160; <span class="keywordflow">return</span> &amp;interval_var_container_;</div>
<div class="line"><a name="l05108"></a><span class="lineno"> 5108</span>&#160; }</div>
<div class="line"><a name="l05109"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#a30d2df8ab5db405440580f7db5ee4aaa"> 5109</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="l05110"></a><span class="lineno"> 5110</span>&#160; <span class="keywordflow">return</span> sequence_var_container_;</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"><a class="line" href="classoperations__research_1_1Assignment.html#a8caeb4b2a0a6e058a74274fc4896c402"> 5112</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="l05113"></a><span class="lineno"> 5113</span>&#160; <span class="keywordflow">return</span> &amp;sequence_var_container_;</div>
<div class="line"><a name="l05114"></a><span class="lineno"> 5114</span>&#160; }</div>
<div class="line"><a name="l05115"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#aab2342dc981954ebcfdd6735045f3448"> 5115</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="l05116"></a><span class="lineno"> 5116</span>&#160; <span class="keywordflow">return</span> int_var_container_ == assignment.int_var_container_ &amp;&amp;</div>
<div class="line"><a name="l05117"></a><span class="lineno"> 5117</span>&#160; interval_var_container_ == assignment.interval_var_container_ &amp;&amp;</div>
<div class="line"><a name="l05118"></a><span class="lineno"> 5118</span>&#160; sequence_var_container_ == assignment.sequence_var_container_ &amp;&amp;</div>
<div class="line"><a name="l05119"></a><span class="lineno"> 5119</span>&#160; objective_element_ == assignment.objective_element_;</div>
<div class="line"><a name="l05120"></a><span class="lineno"> 5120</span>&#160; }</div>
<div class="line"><a name="l05121"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Assignment.html#affcbe1cefd443f0581b455613cacc219"> 5121</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="l05122"></a><span class="lineno"> 5122</span>&#160; <span class="keywordflow">return</span> !(*<span class="keyword">this</span> == assignment);</div>
<div class="line"><a name="l05123"></a><span class="lineno"> 5123</span>&#160; }</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"> 5125</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l05126"></a><span class="lineno"> 5126</span>&#160; <a class="code" href="classoperations__research_1_1Assignment.html#ace2db6f9700f6a2159db104f5df1dc8f">IntContainer</a> int_var_container_;</div>
<div class="line"><a name="l05127"></a><span class="lineno"> 5127</span>&#160; <a class="code" href="classoperations__research_1_1Assignment.html#ab7392f36e3e635b067027005f53aa89e">IntervalContainer</a> interval_var_container_;</div>
<div class="line"><a name="l05128"></a><span class="lineno"> 5128</span>&#160; <a class="code" href="classoperations__research_1_1Assignment.html#a3639042f24d01e89b18ca7f50af82f1e">SequenceContainer</a> sequence_var_container_;</div>
<div class="line"><a name="l05129"></a><span class="lineno"> 5129</span>&#160; <a class="code" href="classoperations__research_1_1IntVarElement.html">IntVarElement</a> objective_element_;</div>
<div class="line"><a name="l05130"></a><span class="lineno"> 5130</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1Assignment.html">Assignment</a>);</div>
<div class="line"><a name="l05131"></a><span class="lineno"> 5131</span>&#160;};</div>
<div class="line"><a name="l05132"></a><span class="lineno"> 5132</span>&#160; </div>
<div class="line"><a name="l05133"></a><span class="lineno"> 5133</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="l05134"></a><span class="lineno"> 5134</span>&#160; <span class="keyword">const</span> Assignment&amp; assignment); </div>
<div class="line"><a name="l05135"></a><span class="lineno"> 5135</span>&#160; </div>
<div class="line"><a name="l05141"></a><span class="lineno"> 5141</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="l05142"></a><span class="lineno"> 5142</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; target_vars,</div>
<div class="line"><a name="l05143"></a><span class="lineno"> 5143</span>&#160; <span class="keyword">const</span> Assignment* source_assignment,</div>
<div class="line"><a name="l05144"></a><span class="lineno"> 5144</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; source_vars);</div>
<div class="line"><a name="l05145"></a><span class="lineno"> 5145</span>&#160; </div>
<div class="line"><a name="l05146"></a><span class="lineno"><a class="line" href="classoperations__research_1_1Pack.html"> 5146</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="l05147"></a><span class="lineno"> 5147</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l05148"></a><span class="lineno"> 5148</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="l05149"></a><span class="lineno"> 5149</span>&#160; </div>
<div class="line"><a name="l05150"></a><span class="lineno"> 5150</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="l05151"></a><span class="lineno"> 5151</span>&#160; </div>
<div class="line"><a name="l05156"></a><span class="lineno"> 5156</span>&#160; </div>
<div class="line"><a name="l05160"></a><span class="lineno"> 5160</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="l05161"></a><span class="lineno"> 5161</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="l05162"></a><span class="lineno"> 5162</span>&#160; </div>
<div class="line"><a name="l05167"></a><span class="lineno"> 5167</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="l05168"></a><span class="lineno"> 5168</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="l05169"></a><span class="lineno"> 5169</span>&#160; </div>
<div class="line"><a name="l05174"></a><span class="lineno"> 5174</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="l05175"></a><span class="lineno"> 5175</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="l05176"></a><span class="lineno"> 5176</span>&#160; </div>
<div class="line"><a name="l05179"></a><span class="lineno"> 5179</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="l05180"></a><span class="lineno"> 5180</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; loads);</div>
<div class="line"><a name="l05181"></a><span class="lineno"> 5181</span>&#160; </div>
<div class="line"><a name="l05185"></a><span class="lineno"> 5185</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="l05186"></a><span class="lineno"> 5186</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt;&amp; loads);</div>
<div class="line"><a name="l05187"></a><span class="lineno"> 5187</span>&#160; </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#a9a5ab9fb129f8b45255d5fbed741d2b2">AddSumVariableWeightsLessOrEqualConstantDimension</a>(</div>
<div class="line"><a name="l05198"></a><span class="lineno"> 5198</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="l05199"></a><span class="lineno"> 5199</span>&#160; </div>
<div class="line"><a name="l05202"></a><span class="lineno"> 5202</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="l05203"></a><span class="lineno"> 5203</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="l05204"></a><span class="lineno"> 5204</span>&#160; </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#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="l05208"></a><span class="lineno"> 5208</span>&#160; </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#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="l05212"></a><span class="lineno"> 5212</span>&#160; </div>
<div class="line"><a name="l05213"></a><span class="lineno"> 5213</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="l05214"></a><span class="lineno"> 5214</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="l05215"></a><span class="lineno"> 5215</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="l05216"></a><span class="lineno"> 5216</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="l05217"></a><span class="lineno"> 5217</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="l05218"></a><span class="lineno"> 5218</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="l05219"></a><span class="lineno"> 5219</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="l05220"></a><span class="lineno"> 5220</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="l05221"></a><span class="lineno"> 5221</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="l05222"></a><span class="lineno"> 5222</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="l05223"></a><span class="lineno"> 5223</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="l05224"></a><span class="lineno"> 5224</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="l05225"></a><span class="lineno"> 5225</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="l05226"></a><span class="lineno"> 5226</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="l05227"></a><span class="lineno"> 5227</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="l05228"></a><span class="lineno"> 5228</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="l05229"></a><span class="lineno"> 5229</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="l05230"></a><span class="lineno"> 5230</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="l05231"></a><span class="lineno"> 5231</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="l05232"></a><span class="lineno"> 5232</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="l05233"></a><span class="lineno"> 5233</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="l05234"></a><span class="lineno"> 5234</span>&#160; </div>
<div class="line"><a name="l05235"></a><span class="lineno"> 5235</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l05236"></a><span class="lineno"> 5236</span>&#160; <span class="keywordtype">bool</span> IsInProcess() <span class="keyword">const</span>;</div>
<div class="line"><a name="l05237"></a><span class="lineno"> 5237</span>&#160; <span class="keyword">const</span> std::vector&lt;IntVar*&gt; vars_;</div>
<div class="line"><a name="l05238"></a><span class="lineno"> 5238</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> bins_;</div>
<div class="line"><a name="l05239"></a><span class="lineno"> 5239</span>&#160; std::vector&lt;Dimension*&gt; dims_;</div>
<div class="line"><a name="l05240"></a><span class="lineno"> 5240</span>&#160; std::unique_ptr&lt;RevBitMatrix&gt; unprocessed_;</div>
<div class="line"><a name="l05241"></a><span class="lineno"> 5241</span>&#160; std::vector&lt;std::vector&lt;int&gt;&gt; forced_;</div>
<div class="line"><a name="l05242"></a><span class="lineno"> 5242</span>&#160; std::vector&lt;std::vector&lt;int&gt;&gt; removed_;</div>
<div class="line"><a name="l05243"></a><span class="lineno"> 5243</span>&#160; std::vector&lt;IntVarIterator*&gt; holes_;</div>
<div class="line"><a name="l05244"></a><span class="lineno"> 5244</span>&#160; uint64 stamp_;</div>
<div class="line"><a name="l05245"></a><span class="lineno"> 5245</span>&#160; <a class="code" href="classoperations__research_1_1Demon.html">Demon</a>* demon_;</div>
<div class="line"><a name="l05246"></a><span class="lineno"> 5246</span>&#160; std::vector&lt;std::pair&lt;int, int&gt;&gt; to_set_;</div>
<div class="line"><a name="l05247"></a><span class="lineno"> 5247</span>&#160; std::vector&lt;std::pair&lt;int, int&gt;&gt; to_unset_;</div>
<div class="line"><a name="l05248"></a><span class="lineno"> 5248</span>&#160; <span class="keywordtype">bool</span> in_process_;</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"><a class="line" href="classoperations__research_1_1DisjunctiveConstraint.html"> 5251</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="l05252"></a><span class="lineno"> 5252</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l05253"></a><span class="lineno"> 5253</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="l05254"></a><span class="lineno"> 5254</span>&#160; <span class="keyword">const</span> std::vector&lt;IntervalVar*&gt;&amp; intervals,</div>
<div class="line"><a name="l05255"></a><span class="lineno"> 5255</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="l05256"></a><span class="lineno"> 5256</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="l05257"></a><span class="lineno"> 5257</span>&#160; </div>
<div class="line"><a name="l05259"></a><span class="lineno"> 5259</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="l05260"></a><span class="lineno"> 5260</span>&#160; </div>
<div class="line"><a name="l05265"></a><span class="lineno"> 5265</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="l05266"></a><span class="lineno"> 5266</span>&#160; </div>
<div class="line"><a name="l05267"></a><span class="lineno"><a class="line" href="classoperations__research_1_1DisjunctiveConstraint.html#aaafd3363e871db52ce00c08905f57afa"> 5267</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="l05268"></a><span class="lineno"> 5268</span>&#160; DCHECK(<a class="code" href="classoperations__research_1_1DisjunctiveConstraint.html#afc37bcfd26805cab838cef7ae4c87444">transition_time_</a>);</div>
<div class="line"><a name="l05269"></a><span class="lineno"> 5269</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="l05270"></a><span class="lineno"> 5270</span>&#160; }</div>
<div class="line"><a name="l05271"></a><span class="lineno"> 5271</span>&#160; </div>
<div class="line"><a name="l05272"></a><span class="lineno"> 5272</span>&#160;<span class="preprocessor">#if !defined(SWIG)</span></div>
<div class="line"><a name="l05273"></a><span class="lineno"> 5273</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="l05274"></a><span class="lineno"> 5274</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="l05275"></a><span class="lineno"> 5275</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="l05276"></a><span class="lineno"> 5276</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="l05277"></a><span class="lineno"> 5277</span>&#160;<span class="preprocessor">#endif // !defined(SWIG)</span></div>
<div class="line"><a name="l05278"></a><span class="lineno"> 5278</span>&#160; </div>
<div class="line"><a name="l05279"></a><span class="lineno"> 5279</span>&#160; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l05280"></a><span class="lineno"><a class="line" href="classoperations__research_1_1DisjunctiveConstraint.html#a02e65ccb441e14918c023bde60b05099"> 5280</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="l05281"></a><span class="lineno"><a class="line" href="classoperations__research_1_1DisjunctiveConstraint.html#afc37bcfd26805cab838cef7ae4c87444"> 5281</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="l05282"></a><span class="lineno"> 5282</span>&#160; </div>
<div class="line"><a name="l05283"></a><span class="lineno"> 5283</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l05284"></a><span class="lineno"> 5284</span>&#160; DISALLOW_COPY_AND_ASSIGN(<a class="code" href="classoperations__research_1_1DisjunctiveConstraint.html">DisjunctiveConstraint</a>);</div>
<div class="line"><a name="l05285"></a><span class="lineno"> 5285</span>&#160;};</div>
<div class="line"><a name="l05286"></a><span class="lineno"> 5286</span>&#160; </div>
<div class="line"><a name="l05289"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SolutionPool.html"> 5289</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="l05290"></a><span class="lineno"> 5290</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l05291"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SolutionPool.html#a46aae4510235217253f419189cd0accf"> 5291</a></span>&#160; <a class="code" href="classoperations__research_1_1SolutionPool.html#a46aae4510235217253f419189cd0accf">SolutionPool</a>() {}</div>
<div class="line"><a name="l05292"></a><span class="lineno"><a class="line" href="classoperations__research_1_1SolutionPool.html#aa1eacd520fb6bd437786be473bffda1b"> 5292</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="l05293"></a><span class="lineno"> 5293</span>&#160; </div>
<div class="line"><a name="l05296"></a><span class="lineno"> 5296</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="l05297"></a><span class="lineno"> 5297</span>&#160; </div>
<div class="line"><a name="l05300"></a><span class="lineno"> 5300</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="l05301"></a><span class="lineno"> 5301</span>&#160; </div>
<div class="line"><a name="l05304"></a><span class="lineno"> 5304</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="l05305"></a><span class="lineno"> 5305</span>&#160; </div>
<div class="line"><a name="l05308"></a><span class="lineno"> 5308</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="l05309"></a><span class="lineno"> 5309</span>&#160;};</div>
<div class="line"><a name="l05310"></a><span class="lineno"> 5310</span>&#160;} <span class="comment">// namespace operations_research</span></div>
<div class="line"><a name="l05311"></a><span class="lineno"> 5311</span>&#160; </div>
<div class="line"><a name="l05312"></a><span class="lineno"> 5312</span>&#160;<span class="preprocessor">#endif // OR_TOOLS_CONSTRAINT_SOLVER_CONSTRAINT_SOLVER_H_</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclassoperations__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#l03420">constraint_solver.h:3420</a></div></div>
<div class="ttc" id="aclassoperations__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#l04648">constraint_solver.h:4648</a></div></div>
<div class="ttc" id="aclassoperations__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#l03955">constraint_solver.h:3955</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l05281">constraint_solver.h:5281</a></div></div>
<div class="ttc" id="aclassoperations__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#l04972">constraint_solver.h:4972</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l05101">constraint_solver.h:5101</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04807">constraint_solver.h:4807</a></div></div>
<div class="ttc" id="aclassoperations__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#l03362">constraint_solver.h:3362</a></div></div>
<div class="ttc" id="aclassoperations__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#l03412">constraint_solver.h:3412</a></div></div>
<div class="ttc" id="aclassoperations__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#l03369">constraint_solver.h:3369</a></div></div>
<div class="ttc" id="aclassoperations__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#l03399">constraint_solver.h:3399</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03258">constraint_solver.h:3258</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03446">constraint_solver.h:3446</a></div></div>
<div class="ttc" id="aclassoperations__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#l04678">constraint_solver.h:4678</a></div></div>
<div class="ttc" id="aclassoperations__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#l04882">constraint_solver.h:4882</a></div></div>
<div class="ttc" id="aclassoperations__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#l03391">constraint_solver.h:3391</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03387">constraint_solver.h:3387</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03817">constraint_solver.h:3817</a></div></div>
<div class="ttc" id="aclassoperations__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#l03435">constraint_solver.h:3435</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03323">constraint_solver.h:3323</a></div></div>
<div class="ttc" id="aclassoperations__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#l03332">constraint_solver.h:3332</a></div></div>
<div class="ttc" id="aclassoperations__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#l00473">constraint_solver.h:473</a></div></div>
<div class="ttc" id="aclassoperations__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#l03432">constraint_solver.h:3432</a></div></div>
<div class="ttc" id="aclassoperations__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#l03422">constraint_solver.h:3422</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="astructoperations__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#l03909">constraint_solver.h:3909</a></div></div>
<div class="ttc" id="aclassoperations__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#l04668">constraint_solver.h:4668</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03538">constraint_solver.h:3538</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03712">constraint_solver.h:3712</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04804">constraint_solver.h:4804</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03375">constraint_solver.h:3375</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03814">constraint_solver.h:3814</a></div></div>
<div class="ttc" id="anamespaceoperations__research_html_af46f97d04f28e1d1c8a99d02f000d212"><div class="ttname"><a href="namespaceoperations__research.html#af46f97d04f28e1d1c8a99d02f000d212">operations_research::CpRandomSeed</a></div><div class="ttdeci">int64 CpRandomSeed()</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="aclassoperations__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#l00637">constraint_solver.h:637</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="astructoperations__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#l00180">constraint_solver.h:180</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1IntVarAssignment_html"><div class="ttname"><a href="classoperations__research_1_1IntVarAssignment.html">operations_research::IntVarAssignment</a></div><div class="ttdef"><b>Definition:</b> <a href="assignment_8pb_8h_source.html#l00085">assignment.pb.h:85</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03411">constraint_solver.h:3411</a></div></div>
<div class="ttc" id="aclassoperations__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#l05106">constraint_solver.h:5106</a></div></div>
<div class="ttc" id="aclassoperations__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#l00739">constraint_solver.h:739</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03351">constraint_solver.h:3351</a></div></div>
<div class="ttc" id="astructoperations__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#l03927">constraint_solver.h:3927</a></div></div>
<div class="ttc" id="aclassoperations__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#l00606">constraint_solver.h:606</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00724">constraint_solver.h:724</a></div></div>
<div class="ttc" id="aclassoperations__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#l03377">constraint_solver.h:3377</a></div></div>
<div class="ttc" id="aclassoperations__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#l04382">constraint_solver.h:4382</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03355">constraint_solver.h:3355</a></div></div>
<div class="ttc" id="aclassoperations__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#l04658">constraint_solver.h:4658</a></div></div>
<div class="ttc" id="aclassoperations__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#l03104">constraint_solver.h:3104</a></div></div>
<div class="ttc" id="aclassoperations__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#l03400">constraint_solver.h:3400</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03388">constraint_solver.h:3388</a></div></div>
<div class="ttc" id="aclassoperations__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#l03314">constraint_solver.h:3314</a></div></div>
<div class="ttc" id="astructoperations__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#l00172">constraint_solver.h:172</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="astructoperations__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#l02277">constraint_solver.h:2277</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1AssignmentProto_html"><div class="ttname"><a href="classoperations__research_1_1AssignmentProto.html">operations_research::AssignmentProto</a></div><div class="ttdef"><b>Definition:</b> <a href="assignment_8pb_8h_source.html#l00854">assignment.pb.h:854</a></div></div>
<div class="ttc" id="aclassoperations__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#l04771">constraint_solver.h:4771</a></div></div>
<div class="ttc" id="aclassoperations__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#l05289">constraint_solver.h:5289</a></div></div>
<div class="ttc" id="aclassoperations__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#l04423">constraint_solver.h:4423</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03122">constraint_solver.h:3122</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03866">constraint_solver.h:3866</a></div></div>
<div class="ttc" id="aclassoperations__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#l04220">constraint_solver.h:4220</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00309">constraint_solver.h:309</a></div></div>
<div class="ttc" id="astructoperations__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#l02276">constraint_solver.h:2276</a></div></div>
<div class="ttc" id="aclassoperations__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#l02899">constraint_solver.h:2899</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03417">constraint_solver.h:3417</a></div></div>
<div class="ttc" id="aclassoperations__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#l03223">constraint_solver.h:3223</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03310">constraint_solver.h:3310</a></div></div>
<div class="ttc" id="aclassoperations__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#l00590">constraint_solver.h:590</a></div></div>
<div class="ttc" id="aclassoperations__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#l00345">constraint_solver.h:345</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00698">constraint_solver.h:698</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03450">constraint_solver.h:3450</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03397">constraint_solver.h:3397</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04312">constraint_solver.h:4312</a></div></div>
<div class="ttc" id="aclassoperations__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#l03183">constraint_solver.h:3183</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04621">constraint_solver.h:4621</a></div></div>
<div class="ttc" id="aclassoperations__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#l00269">constraint_solver.h:269</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03433">constraint_solver.h:3433</a></div></div>
<div class="ttc" id="aclassoperations__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#l04628">constraint_solver.h:4628</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03438">constraint_solver.h:3438</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l02938">constraint_solver.h:2938</a></div></div>
<div class="ttc" id="aclassoperations__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#l03413">constraint_solver.h:3413</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00688">constraint_solver.h:688</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00986">constraint_solver.h:986</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03144">constraint_solver.h:3144</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00211">routing.h:211</a></div></div>
<div class="ttc" id="aclassoperations__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#l04692">constraint_solver.h:4692</a></div></div>
<div class="ttc" id="aclassoperations__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#l00693">constraint_solver.h:693</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03329">constraint_solver.h:3329</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03900">constraint_solver.h:3900</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04971">constraint_solver.h:4971</a></div></div>
<div class="ttc" id="aclassoperations__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#l04592">constraint_solver.h:4592</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03410">constraint_solver.h:3410</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04698">constraint_solver.h:4698</a></div></div>
<div class="ttc" id="aclassoperations__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#l04395">constraint_solver.h:4395</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00631">constraint_solver.h:631</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04642">constraint_solver.h:4642</a></div></div>
<div class="ttc" id="astructoperations__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#l02273">constraint_solver.h:2273</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00575">constraint_solver.h:575</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04180">constraint_solver.h:4180</a></div></div>
<div class="ttc" id="aclassoperations__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#l03121">constraint_solver.h:3121</a></div></div>
<div class="ttc" id="astructoperations__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#l00167">constraint_solver.h:167</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00266">constraint_solver.h:266</a></div></div>
<div class="ttc" id="aclassoperations__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#l04869">constraint_solver.h:4869</a></div></div>
<div class="ttc" id="aclassoperations__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#l03338">constraint_solver.h:3338</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1ConstraintSolverParameters_html"><div class="ttname"><a href="classoperations__research_1_1ConstraintSolverParameters.html">operations_research::ConstraintSolverParameters</a></div><div class="ttdef"><b>Definition:</b> <a href="solver__parameters_8pb_8h_source.html#l00095">solver_parameters.pb.h:95</a></div></div>
<div class="ttc" id="aclassoperations__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="astructoperations__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#l02282">constraint_solver.h:2282</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00557">constraint_solver.h:557</a></div></div>
<div class="ttc" id="aclassoperations__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#l00424">constraint_solver.h:424</a></div></div>
<div class="ttc" id="aclassoperations__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#l00434">constraint_solver.h:434</a></div></div>
<div class="ttc" id="anamespaceoperations__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#l03096">constraint_solver.h:3096</a></div></div>
<div class="ttc" id="aclassoperations__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#l00594">constraint_solver.h:594</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03322">constraint_solver.h:3322</a></div></div>
<div class="ttc" id="aclassoperations__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#l04784">constraint_solver.h:4784</a></div></div>
<div class="ttc" id="aclassoperations__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#l03361">constraint_solver.h:3361</a></div></div>
<div class="ttc" id="aclassoperations__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#l03315">constraint_solver.h:3315</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00359">constraint_solver.h:359</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03292">constraint_solver.h:3292</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03718">constraint_solver.h:3718</a></div></div>
<div class="ttc" id="aclassoperations__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#l00353">constraint_solver.h:353</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__research_1_1SequenceVarAssignment_html"><div class="ttname"><a href="classoperations__research_1_1SequenceVarAssignment.html">operations_research::SequenceVarAssignment</a></div><div class="ttdef"><b>Definition:</b> <a href="assignment_8pb_8h_source.html#l00487">assignment.pb.h:487</a></div></div>
<div class="ttc" id="astructoperations__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#l02285">constraint_solver.h:2285</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l05291">constraint_solver.h:5291</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00488">constraint_solver.h:488</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l02901">constraint_solver.h:2901</a></div></div>
<div class="ttc" id="aclassoperations__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#l03297">constraint_solver.h:3297</a></div></div>
<div class="ttc" id="astructoperations__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#l00191">constraint_solver.h:191</a></div></div>
<div class="ttc" id="astructoperations__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#l00170">constraint_solver.h:170</a></div></div>
<div class="ttc" id="aclassoperations__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#l03303">constraint_solver.h:3303</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00619">constraint_solver.h:619</a></div></div>
<div class="ttc" id="aclassoperations__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#l00722">constraint_solver.h:722</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03374">constraint_solver.h:3374</a></div></div>
<div class="ttc" id="aclassoperations__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#l04191">constraint_solver.h:4191</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04165">constraint_solver.h:4165</a></div></div>
<div class="ttc" id="aclassoperations__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#l00711">constraint_solver.h:711</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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">Creates a constraint that enforces that left is lexicographically less than right.</div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03289">constraint_solver.h:3289</a></div></div>
<div class="ttc" id="astructoperations__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#l00184">constraint_solver.h:184</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03220">constraint_solver.h:3220</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04597">constraint_solver.h:4597</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04181">constraint_solver.h:4181</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="astructoperations__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#l00187">constraint_solver.h:187</a></div></div>
<div class="ttc" id="aclassoperations__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#l04853">constraint_solver.h:4853</a></div></div>
<div class="ttc" id="aclassoperations__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#l00416">constraint_solver.h:416</a></div></div>
<div class="ttc" id="aclassoperations__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#l04058">constraint_solver.h:4058</a></div></div>
<div class="ttc" id="aclassoperations__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#l04260">constraint_solver.h:4260</a></div></div>
<div class="ttc" id="aclassoperations__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#l03337">constraint_solver.h:3337</a></div></div>
<div class="ttc" id="aclassoperations__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#l04183">constraint_solver.h:4183</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="astructoperations__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#l00180">constraint_solver.h:180</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03883">constraint_solver.h:3883</a></div></div>
<div class="ttc" id="aclassoperations__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#l03770">constraint_solver.h:3770</a></div></div>
<div class="ttc" id="astructoperations__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#l00255">constraint_solver.h:255</a></div></div>
<div class="ttc" id="aclassoperations__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#l04829">constraint_solver.h:4829</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03368">constraint_solver.h:3368</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00749">constraint_solver.h:749</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03394">constraint_solver.h:3394</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03453">constraint_solver.h:3453</a></div></div>
<div class="ttc" id="aclassoperations__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#l03363">constraint_solver.h:3363</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03445">constraint_solver.h:3445</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03366">constraint_solver.h:3366</a></div></div>
<div class="ttc" id="aclassoperations__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#l00293">constraint_solver.h:293</a></div></div>
<div class="ttc" id="aclassoperations__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#l04684">constraint_solver.h:4684</a></div></div>
<div class="ttc" id="aclassoperations__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#l04584">constraint_solver.h:4584</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00609">constraint_solver.h:609</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04892">constraint_solver.h:4892</a></div></div>
<div class="ttc" id="anamespaceoperations__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#l00098">constraint_solver.h:98</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03458">constraint_solver.h:3458</a></div></div>
<div class="ttc" id="aclassoperations__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 class="ttc" id="aclassoperations__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="aclassoperations__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#l03324">constraint_solver.h:3324</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03320">constraint_solver.h:3320</a></div></div>
<div class="ttc" id="aclassoperations__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="astructoperations__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#l00250">constraint_solver.h:250</a></div></div>
<div class="ttc" id="aclassoperations__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#l04571">constraint_solver.h:4571</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03343">constraint_solver.h:3343</a></div></div>
<div class="ttc" id="aclassoperations__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#l03409">constraint_solver.h:3409</a></div></div>
<div class="ttc" id="astructoperations__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#l00180">constraint_solver.h:180</a></div></div>
<div class="ttc" id="aclassoperations__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#l03161">constraint_solver.h:3161</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03439">constraint_solver.h:3439</a></div></div>
<div class="ttc" id="anamespaceoperations__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="aclassoperations__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="aclassoperations__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#l03591">constraint_solver.h:3591</a></div></div>
<div class="ttc" id="aclassoperations__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#l03313">constraint_solver.h:3313</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__research_1_1RegularLimitParameters_html"><div class="ttname"><a href="classoperations__research_1_1RegularLimitParameters.html">operations_research::RegularLimitParameters</a></div><div class="ttdef"><b>Definition:</b> <a href="search__limit_8pb_8h_source.html#l00069">search_limit.pb.h:69</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00735">constraint_solver.h:735</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03539">constraint_solver.h:3539</a></div></div>
<div class="ttc" id="aclassoperations__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="astructoperations__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#l00254">constraint_solver.h:254</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l02898">constraint_solver.h:2898</a></div></div>
<div class="ttc" id="aclassoperations__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#l03953">constraint_solver.h:3953</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04774">constraint_solver.h:4774</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00264">constraint_solver.h:264</a></div></div>
<div class="ttc" id="aclassoperations__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#l00364">constraint_solver.h:364</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l02937">constraint_solver.h:2937</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04674">constraint_solver.h:4674</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03357">constraint_solver.h:3357</a></div></div>
<div class="ttc" id="aclassoperations__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#l03800">constraint_solver.h:3800</a></div></div>
<div class="ttc" id="aclassoperations__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#l00634">constraint_solver.h:634</a></div></div>
<div class="ttc" id="aclassoperations__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#l03739">constraint_solver.h:3739</a></div></div>
<div class="ttc" id="aclassoperations__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#l00372">constraint_solver.h:372</a></div></div>
<div class="ttc" id="aclassoperations__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#l03418">constraint_solver.h:3418</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03158">constraint_solver.h:3158</a></div></div>
<div class="ttc" id="aclassoperations__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#l03425">constraint_solver.h:3425</a></div></div>
<div class="ttc" id="aclassoperations__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#l04141">constraint_solver.h:4141</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04391">constraint_solver.h:4391</a></div></div>
<div class="ttc" id="aclassoperations__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#l03304">constraint_solver.h:3304</a></div></div>
<div class="ttc" id="aclassoperations__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#l05121">constraint_solver.h:5121</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00335">constraint_solver.h:335</a></div></div>
<div class="ttc" id="aclassoperations__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#l04682">constraint_solver.h:4682</a></div></div>
<div class="ttc" id="aclassoperations__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#l03382">constraint_solver.h:3382</a></div></div>
<div class="ttc" id="aclassoperations__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#l00730">constraint_solver.h:730</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03430">constraint_solver.h:3430</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03327">constraint_solver.h:3327</a></div></div>
<div class="ttc" id="aclassoperations__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#l04332">constraint_solver.h:4332</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03107">constraint_solver.h:3107</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l05115">constraint_solver.h:5115</a></div></div>
<div class="ttc" id="aclassoperations__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#l00730">constraint_solver.h:730</a></div></div>
<div class="ttc" id="aclassoperations__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#l00603">constraint_solver.h:603</a></div></div>
<div class="ttc" id="aclassoperations__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#l00989">constraint_solver.h:989</a></div></div>
<div class="ttc" id="aclassoperations__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#l03119">constraint_solver.h:3119</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04750">constraint_solver.h:4750</a></div></div>
<div class="ttc" id="aclassoperations__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#l00543">constraint_solver.h:543</a></div></div>
<div class="ttc" id="aclassoperations__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#l03364">constraint_solver.h:3364</a></div></div>
<div class="ttc" id="aclassoperations__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#l04683">constraint_solver.h:4683</a></div></div>
<div class="ttc" id="aclassoperations__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#l03124">constraint_solver.h:3124</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1ModelVisitor_html_a63773f7de26444ddaa612e5106d4c3a1"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#a63773f7de26444ddaa612e5106d4c3a1">operations_research::ModelVisitor::BeginVisitModel</a></div><div class="ttdeci">virtual void BeginVisitModel(const std::string &amp;type_name)</div><div class="ttdoc">--— Virtual methods for visitors --—</div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04875">constraint_solver.h:4875</a></div></div>
<div class="ttc" id="aclassoperations__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#l02840">constraint_solver.h:2840</a></div></div>
<div class="ttc" id="aclassoperations__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#l04634">constraint_solver.h:4634</a></div></div>
<div class="ttc" id="aclassoperations__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#l03356">constraint_solver.h:3356</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04641">constraint_solver.h:4641</a></div></div>
<div class="ttc" id="aclassoperations__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#l04460">constraint_solver.h:4460</a></div></div>
<div class="ttc" id="aclassoperations__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#l03333">constraint_solver.h:3333</a></div></div>
<div class="ttc" id="aclassoperations__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#l03350">constraint_solver.h:3350</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03776">constraint_solver.h:3776</a></div></div>
<div class="ttc" id="aclassoperations__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#l00667">constraint_solver.h:667</a></div></div>
<div class="ttc" id="aclassoperations__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#l02892">constraint_solver.h:2892</a></div></div>
<div class="ttc" id="aclassoperations__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#l04134">constraint_solver.h:4134</a></div></div>
<div class="ttc" id="aclassoperations__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#l02895">constraint_solver.h:2895</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03152">constraint_solver.h:3152</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00301">constraint_solver.h:301</a></div></div>
<div class="ttc" id="aclassoperations__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#l04662">constraint_solver.h:4662</a></div></div>
<div class="ttc" id="aclassoperations__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#l04757">constraint_solver.h:4757</a></div></div>
<div class="ttc" id="aclassoperations__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#l05267">constraint_solver.h:5267</a></div></div>
<div class="ttc" id="aclassoperations__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#l03349">constraint_solver.h:3349</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04162">constraint_solver.h:4162</a></div></div>
<div class="ttc" id="aclassoperations__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#l00411">constraint_solver.h:411</a></div></div>
<div class="ttc" id="aclassoperations__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#l04653">constraint_solver.h:4653</a></div></div>
<div class="ttc" id="aclassoperations__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#l03358">constraint_solver.h:3358</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00998">constraint_solver.h:998</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00562">constraint_solver.h:562</a></div></div>
<div class="ttc" id="aclassoperations__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#l03749">constraint_solver.h:3749</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l02902">constraint_solver.h:2902</a></div></div>
<div class="ttc" id="aclassoperations__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#l03949">constraint_solver.h:3949</a></div></div>
<div class="ttc" id="aclassoperations__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#l03395">constraint_solver.h:3395</a></div></div>
<div class="ttc" id="aclassoperations__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#l00714">constraint_solver.h:714</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00524">constraint_solver.h:524</a></div></div>
<div class="ttc" id="aclassoperations__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#l03354">constraint_solver.h:3354</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03772">constraint_solver.h:3772</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03106">constraint_solver.h:3106</a></div></div>
<div class="ttc" id="aclassoperations__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#l04836">constraint_solver.h:4836</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03299">constraint_solver.h:3299</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04309">constraint_solver.h:4309</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="astructoperations__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#l00221">constraint_solver.h:221</a></div></div>
<div class="ttc" id="aclassoperations__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#l04411">constraint_solver.h:4411</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03383">constraint_solver.h:3383</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04404">constraint_solver.h:4404</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00664">constraint_solver.h:664</a></div></div>
<div class="ttc" id="aclassoperations__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#l04583">constraint_solver.h:4583</a></div></div>
<div class="ttc" id="aclassoperations__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#l03180">constraint_solver.h:3180</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03440">constraint_solver.h:3440</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03428">constraint_solver.h:3428</a></div></div>
<div class="ttc" id="aclassoperations__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#l03398">constraint_solver.h:3398</a></div></div>
<div class="ttc" id="aclassoperations__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#l03367">constraint_solver.h:3367</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00726">constraint_solver.h:726</a></div></div>
<div class="ttc" id="aclassoperations__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#l03291">constraint_solver.h:3291</a></div></div>
<div class="ttc" id="aclassoperations__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#l04043">constraint_solver.h:4043</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03658">constraint_solver.h:3658</a></div></div>
<div class="ttc" id="astructoperations__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#l00169">constraint_solver.h:169</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="astructoperations__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#l04119">constraint_solver.h:4119</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04867">constraint_solver.h:4867</a></div></div>
<div class="ttc" id="aclassoperations__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#l00277">constraint_solver.h:277</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03295">constraint_solver.h:3295</a></div></div>
<div class="ttc" id="aclassoperations__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#l05146">constraint_solver.h:5146</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03321">constraint_solver.h:3321</a></div></div>
<div class="ttc" id="aclassoperations__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#l00746">constraint_solver.h:746</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03691">constraint_solver.h:3691</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03710">constraint_solver.h:3710</a></div></div>
<div class="ttc" id="aclassoperations__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#l00797">constraint_solver.h:797</a></div></div>
<div class="ttc" id="aclassoperations__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#l03457">constraint_solver.h:3457</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="astructoperations__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#l04125">constraint_solver.h:4125</a></div></div>
<div class="ttc" id="aclassoperations__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#l03415">constraint_solver.h:3415</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00315">constraint_solver.h:315</a></div></div>
<div class="ttc" id="aclassoperations__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#l00658">constraint_solver.h:658</a></div></div>
<div class="ttc" id="aclassoperations__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#l03746">constraint_solver.h:3746</a></div></div>
<div class="ttc" id="aclassoperations__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#l03404">constraint_solver.h:3404</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03436">constraint_solver.h:3436</a></div></div>
<div class="ttc" id="anamespaceoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00515">constraint_solver.h:515</a></div></div>
<div class="ttc" id="aclassoperations__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#l00597">constraint_solver.h:597</a></div></div>
<div class="ttc" id="aclassoperations__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#l03743">constraint_solver.h:3743</a></div></div>
<div class="ttc" id="astructoperations__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#l00175">constraint_solver.h:175</a></div></div>
<div class="ttc" id="aclassoperations__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#l03572">constraint_solver.h:3572</a></div></div>
<div class="ttc" id="aclassoperations__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#l00402">constraint_solver.h:402</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04911">constraint_solver.h:4911</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l05280">constraint_solver.h:5280</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00285">constraint_solver.h:285</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04868">constraint_solver.h:4868</a></div></div>
<div class="ttc" id="aclassoperations__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#l03301">constraint_solver.h:3301</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1Solver_html_a376701518494604041e9b2e4030f8b06"><div class="ttname"><a href="classoperations__research_1_1Solver.html#a376701518494604041e9b2e4030f8b06">operations_research::Solver::MakeRejectFilter</a></div><div class="ttdeci">LocalSearchFilter * MakeRejectFilter()</div></div>
<div class="ttc" id="aclassoperations__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#l00661">constraint_solver.h:661</a></div></div>
<div class="ttc" id="aclassoperations__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#l03778">constraint_solver.h:3778</a></div></div>
<div class="ttc" id="aclassoperations__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#l03401">constraint_solver.h:3401</a></div></div>
<div class="ttc" id="aclassoperations__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#l05292">constraint_solver.h:5292</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03693">constraint_solver.h:3693</a></div></div>
<div class="ttc" id="aclassoperations__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#l05103">constraint_solver.h:5103</a></div></div>
<div class="ttc" id="aclassoperations__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#l04963">constraint_solver.h:4963</a></div></div>
<div class="ttc" id="aclassoperations__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#l03667">constraint_solver.h:3667</a></div></div>
<div class="ttc" id="aclassoperations__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="astructoperations__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#l00218">constraint_solver.h:218</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03442">constraint_solver.h:3442</a></div></div>
<div class="ttc" id="aclassoperations__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#l00404">constraint_solver.h:404</a></div></div>
<div class="ttc" id="aclassoperations__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#l03447">constraint_solver.h:3447</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l02055">constraint_solveri.h:2055</a></div></div>
<div class="ttc" id="aclassoperations__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#l04555">constraint_solver.h:4555</a></div></div>
<div class="ttc" id="aclassoperations__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#l04646">constraint_solver.h:4646</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l01008">constraint_solver.h:1008</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04053">constraint_solver.h:4053</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00628">constraint_solver.h:628</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03423">constraint_solver.h:3423</a></div></div>
<div class="ttc" id="aclassoperations__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#l03389">constraint_solver.h:3389</a></div></div>
<div class="ttc" id="aclassoperations__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#l03330">constraint_solver.h:3330</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03298">constraint_solver.h:3298</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00339">constraint_solver.h:339</a></div></div>
<div class="ttc" id="aclassoperations__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="astructoperations__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#l00180">constraint_solver.h:180</a></div></div>
<div class="ttc" id="aclassoperations__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#l04553">constraint_solver.h:4553</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00533">constraint_solver.h:533</a></div></div>
<div class="ttc" id="aclassoperations__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#l04672">constraint_solver.h:4672</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l02886">constraint_solver.h:2886</a></div></div>
<div class="ttc" id="aclassoperations__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#l03407">constraint_solver.h:3407</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03373">constraint_solver.h:3373</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="astructoperations__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#l03911">constraint_solver.h:3911</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03359">constraint_solver.h:3359</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03328">constraint_solver.h:3328</a></div></div>
<div class="ttc" id="aclassoperations__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#l03378">constraint_solver.h:3378</a></div></div>
<div class="ttc" id="aclassoperations__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#l04337">constraint_solver.h:4337</a></div></div>
<div class="ttc" id="aclassoperations__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#l02786">constraint_solver.h:2786</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03376">constraint_solver.h:3376</a></div></div>
<div class="ttc" id="aclassoperations__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#l03347">constraint_solver.h:3347</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03426">constraint_solver.h:3426</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l02798">constraint_solver.h:2798</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03222">constraint_solver.h:3222</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="astructoperations__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#l04120">constraint_solver.h:4120</a></div></div>
<div class="ttc" id="aclassoperations__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#l02778">constraint_solver.h:2778</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="astructoperations__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#l00211">constraint_solver.h:211</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04557">constraint_solver.h:4557</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03348">constraint_solver.h:3348</a></div></div>
<div class="ttc" id="astructoperations__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#l00204">constraint_solver.h:204</a></div></div>
<div class="ttc" id="aclassoperations__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#l03360">constraint_solver.h:3360</a></div></div>
<div class="ttc" id="aclassoperations__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#l04247">constraint_solver.h:4247</a></div></div>
<div class="ttc" id="aclassoperations__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#l00548">constraint_solver.h:548</a></div></div>
<div class="ttc" id="aclassoperations__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#l00750">constraint_solver.h:750</a></div></div>
<div class="ttc" id="aclassoperations__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#l05102">constraint_solver.h:5102</a></div></div>
<div class="ttc" id="aclassoperations__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#l02817">constraint_solver.h:2817</a></div></div>
<div class="ttc" id="aclassoperations__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#l03344">constraint_solver.h:3344</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03319">constraint_solver.h:3319</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03956">constraint_solver.h:3956</a></div></div>
<div class="ttc" id="aclassoperations__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#l03406">constraint_solver.h:3406</a></div></div>
<div class="ttc" id="aclassoperations__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#l02896">constraint_solver.h:2896</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03729">constraint_solver.h:3729</a></div></div>
<div class="ttc" id="aclassoperations__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#l03393">constraint_solver.h:3393</a></div></div>
<div class="ttc" id="astructoperations__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#l04121">constraint_solver.h:4121</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l02792">constraint_solver.h:2792</a></div></div>
<div class="ttc" id="aclassoperations__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#l03589">constraint_solver.h:3589</a></div></div>
<div class="ttc" id="aclassoperations__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#l00356">constraint_solver.h:356</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04255">constraint_solver.h:4255</a></div></div>
<div class="ttc" id="astructoperations__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#l00177">constraint_solver.h:177</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04993">constraint_solver.h:4993</a></div></div>
<div class="ttc" id="astructoperations__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#l00256">constraint_solver.h:256</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00992">constraint_solver.h:992</a></div></div>
<div class="ttc" id="aclassoperations__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#l03403">constraint_solver.h:3403</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03805">constraint_solver.h:3805</a></div></div>
<div class="ttc" id="aclassoperations__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#l00503">constraint_solver.h:503</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l02830">constraint_solver.h:2830</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03788">constraint_solver.h:3788</a></div></div>
<div class="ttc" id="aclassoperations__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#l04386">constraint_solver.h:4386</a></div></div>
<div class="ttc" id="aclassoperations__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#l04193">constraint_solver.h:4193</a></div></div>
<div class="ttc" id="aclassoperations__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#l01835">constraint_solveri.h:1835</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04663">constraint_solver.h:4663</a></div></div>
<div class="ttc" id="aclassoperations__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#l01011">constraint_solver.h:1011</a></div></div>
<div class="ttc" id="aclassoperations__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#l03429">constraint_solver.h:3429</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04664">constraint_solver.h:4664</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00321">constraint_solver.h:321</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04143">constraint_solver.h:4143</a></div></div>
<div class="ttc" id="aclassoperations__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#l00711">constraint_solver.h:711</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03997">constraint_solver.h:3997</a></div></div>
<div class="ttc" id="aclassoperations__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#l00419">constraint_solver.h:419</a></div></div>
<div class="ttc" id="aclassoperations__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#l03405">constraint_solver.h:3405</a></div></div>
<div class="ttc" id="aclassoperations__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#l04142">constraint_solver.h:4142</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03402">constraint_solver.h:3402</a></div></div>
<div class="ttc" id="aclassoperations__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#l03191">constraint_solver.h:3191</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03980">constraint_solver.h:3980</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l01899">constraint_solveri.h:1899</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03419">constraint_solver.h:3419</a></div></div>
<div class="ttc" id="aclassoperations__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#l00528">constraint_solver.h:528</a></div></div>
<div class="ttc" id="aclassoperations__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#l00995">constraint_solver.h:995</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00645">constraint_solver.h:645</a></div></div>
<div class="ttc" id="aclassoperations__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#l03286">constraint_solver.h:3286</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03587">constraint_solver.h:3587</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00368">constraint_solver.h:368</a></div></div>
<div class="ttc" id="aclassoperations__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#l03456">constraint_solver.h:3456</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04197">constraint_solver.h:4197</a></div></div>
<div class="ttc" id="aclassoperations__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#l00677">constraint_solver.h:677</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03341">constraint_solver.h:3341</a></div></div>
<div class="ttc" id="aclassoperations__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#l03583">constraint_solver.h:3583</a></div></div>
<div class="ttc" id="aclassoperations__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#l03365">constraint_solver.h:3365</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04614">constraint_solver.h:4614</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04673">constraint_solver.h:4673</a></div></div>
<div class="ttc" id="aclassoperations__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#l03296">constraint_solver.h:3296</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00745">constraint_solver.h:745</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03441">constraint_solver.h:3441</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03868">constraint_solver.h:3868</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04803">constraint_solver.h:4803</a></div></div>
<div class="ttc" id="aclassoperations__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#l03452">constraint_solver.h:3452</a></div></div>
<div class="ttc" id="aclassoperations__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#l04970">constraint_solver.h:4970</a></div></div>
<div class="ttc" id="aclassoperations__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#l04254">constraint_solver.h:4254</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03421">constraint_solver.h:3421</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="astructoperations__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#l00252">constraint_solver.h:252</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00743">constraint_solver.h:743</a></div></div>
<div class="ttc" id="aclassoperations__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#l03427">constraint_solver.h:3427</a></div></div>
<div class="ttc" id="aclassoperations__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#l05251">constraint_solver.h:5251</a></div></div>
<div class="ttc" id="aclassoperations__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#l00401">constraint_solver.h:401</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04586">constraint_solver.h:4586</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00583">constraint_solver.h:583</a></div></div>
<div class="ttc" id="astructoperations__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#l03914">constraint_solver.h:3914</a></div></div>
<div class="ttc" id="aclassoperations__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#l00617">constraint_solver.h:617</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03318">constraint_solver.h:3318</a></div></div>
<div class="ttc" id="aclassoperations__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#l03444">constraint_solver.h:3444</a></div></div>
<div class="ttc" id="aclassoperations__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#l00758">constraint_solver.h:758</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03203">constraint_solver.h:3203</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00711">constraint_solver.h:711</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00409">constraint_solver.h:409</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03108">constraint_solver.h:3108</a></div></div>
<div class="ttc" id="aclassoperations__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#l03790">constraint_solver.h:3790</a></div></div>
<div class="ttc" id="aclassoperations__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#l04585">constraint_solver.h:4585</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04248">constraint_solver.h:4248</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03302">constraint_solver.h:3302</a></div></div>
<div class="ttc" id="aclassoperations__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#l03384">constraint_solver.h:3384</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00403">constraint_solver.h:403</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03370">constraint_solver.h:3370</a></div></div>
<div class="ttc" id="aclassoperations__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#l03811">constraint_solver.h:3811</a></div></div>
<div class="ttc" id="aclassoperations__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#l03392">constraint_solver.h:3392</a></div></div>
<div class="ttc" id="aclassoperations__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#l04575">constraint_solver.h:4575</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l01978">constraint_solveri.h:1978</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04233">constraint_solver.h:4233</a></div></div>
<div class="ttc" id="aclassoperations__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#l00350">constraint_solver.h:350</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04866">constraint_solver.h:4866</a></div></div>
<div class="ttc" id="aclassoperations__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#l03294">constraint_solver.h:3294</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03312">constraint_solver.h:3312</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l02897">constraint_solver.h:2897</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="astructoperations__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#l00171">constraint_solver.h:171</a></div></div>
<div class="ttc" id="aconstraint__solver_8h_html_a7c38c1c8e88571b510def97ee8bd5804"><div class="ttname"><a href="constraint__solver_8h.html#a7c38c1c8e88571b510def97ee8bd5804">DECLARE_int64</a></div><div class="ttdeci">DECLARE_int64(cp_random_seed)</div><div class="ttdoc">Declaration of the core objects for the constraint solver.</div></div>
<div class="ttc" id="aclassoperations__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#l00481">constraint_solver.h:481</a></div></div>
<div class="ttc" id="aclassoperations__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#l03895">constraint_solver.h:3895</a></div></div>
<div class="ttc" id="aclassoperations__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#l03536">constraint_solver.h:3536</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03339">constraint_solver.h:3339</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l01795">constraint_solveri.h:1795</a></div></div>
<div class="ttc" id="aclassoperations__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#l03352">constraint_solver.h:3352</a></div></div>
<div class="ttc" id="aclassoperations__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="astructoperations__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#l00208">constraint_solver.h:208</a></div></div>
<div class="ttc" id="aclassoperations__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#l04967">constraint_solver.h:4967</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="astructoperations__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#l04122">constraint_solver.h:4122</a></div></div>
<div class="ttc" id="aclassoperations__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#l03580">constraint_solver.h:3580</a></div></div>
<div class="ttc" id="aclassoperations__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#l00718">constraint_solver.h:718</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04952">constraint_solver.h:4952</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03278">constraint_solver.h:3278</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03131">constraint_solver.h:3131</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__research_1_1Solver_html_aa81aae7c6a6b98eea920fc17058b7033"><div class="ttname"><a href="classoperations__research_1_1Solver.html#aa81aae7c6a6b98eea920fc17058b7033">operations_research::Solver::MakeAcceptFilter</a></div><div class="ttdeci">LocalSearchFilter * MakeAcceptFilter()</div><div class="ttdoc">Local Search Filters.</div></div>
<div class="ttc" id="aclassoperations__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#l03381">constraint_solver.h:3381</a></div></div>
<div class="ttc" id="aclassoperations__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#l00652">constraint_solver.h:652</a></div></div>
<div class="ttc" id="aclassoperations__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#l00453">constraint_solver.h:453</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03139">constraint_solver.h:3139</a></div></div>
<div class="ttc" id="aclassoperations__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#l00260">constraint_solver.h:260</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="astructoperations__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#l00249">constraint_solver.h:249</a></div></div>
<div class="ttc" id="aclassoperations__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#l01724">constraint_solveri.h:1724</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03578">constraint_solver.h:3578</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00786">constraint_solver.h:786</a></div></div>
<div class="ttc" id="astructoperations__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="aclassoperations__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#l03346">constraint_solver.h:3346</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03293">constraint_solver.h:3293</a></div></div>
<div class="ttc" id="aclassoperations__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#l03741">constraint_solver.h:3741</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03574">constraint_solver.h:3574</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l05109">constraint_solver.h:5109</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04791">constraint_solver.h:4791</a></div></div>
<div class="ttc" id="aclassoperations__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#l04734">constraint_solver.h:4734</a></div></div>
<div class="ttc" id="aclassoperations__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#l00156">constraint_solver.h:156</a></div></div>
<div class="ttc" id="aclassoperations__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#l00274">constraint_solver.h:274</a></div></div>
<div class="ttc" id="aclassoperations__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#l04536">constraint_solver.h:4536</a></div></div>
<div class="ttc" id="aclassoperations__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#l03443">constraint_solver.h:3443</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00413">constraint_solver.h:413</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00347">constraint_solver.h:347</a></div></div>
<div class="ttc" id="astructoperations__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#l04123">constraint_solver.h:4123</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03416">constraint_solver.h:3416</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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">Lin-Kernighan local search.</div><div class="ttdef"><b>Definition:</b> <a href="constraint__solver_8h_source.html#l00567">constraint_solver.h:567</a></div></div>
<div class="ttc" id="astructoperations__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#l00215">constraint_solver.h:215</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00331">constraint_solver.h:331</a></div></div>
<div class="ttc" id="aclassoperations__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#l04551">constraint_solver.h:4551</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__research_1_1IntervalVarAssignment_html"><div class="ttname"><a href="classoperations__research_1_1IntervalVarAssignment.html">operations_research::IntervalVarAssignment</a></div><div class="ttdef"><b>Definition:</b> <a href="assignment_8pb_8h_source.html#l00253">assignment.pb.h:253</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03335">constraint_solver.h:3335</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04253">constraint_solver.h:4253</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__research_1_1RegularLimit_html_a551f7fd189fedf3c4b6078e72ba8313d"><div class="ttname"><a href="classoperations__research_1_1RegularLimit.html#a551f7fd189fedf3c4b6078e72ba8313d">operations_research::RegularLimit::RegularLimit</a></div><div class="ttdeci">RegularLimit(Solver *const s, absl::Duration time, int64 branches, int64 failures, int64 solutions, bool smart_time_check, bool cumulative)</div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00326">constraint_solver.h:326</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00650">constraint_solver.h:650</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03182">constraint_solver.h:3182</a></div></div>
<div class="ttc" id="aclassoperations__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#l03431">constraint_solver.h:3431</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l02832">constraint_solver.h:2832</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="anamespaceoperations__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#l03099">constraint_solver.h:3099</a></div></div>
<div class="ttc" id="aclassoperations__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#l04950">constraint_solver.h:4950</a></div></div>
<div class="ttc" id="aclassoperations__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#l04636">constraint_solver.h:4636</a></div></div>
<div class="ttc" id="aclassoperations__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#l04954">constraint_solver.h:4954</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03308">constraint_solver.h:3308</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00685">constraint_solver.h:685</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03317">constraint_solver.h:3317</a></div></div>
<div class="ttc" id="aclassoperations__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#l03325">constraint_solver.h:3325</a></div></div>
<div class="ttc" id="aclassoperations__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="astructoperations__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#l00176">constraint_solver.h:176</a></div></div>
<div class="ttc" id="aclassoperations__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#l03714">constraint_solver.h:3714</a></div></div>
<div class="ttc" id="aclassoperations__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#l04647">constraint_solver.h:4647</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00977">constraint_solver.h:977</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00730">constraint_solver.h:730</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03342">constraint_solver.h:3342</a></div></div>
<div class="ttc" id="aclassoperations__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#l03689">constraint_solver.h:3689</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03592">constraint_solver.h:3592</a></div></div>
<div class="ttc" id="aclassoperations__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#l04635">constraint_solver.h:4635</a></div></div>
<div class="ttc" id="aclassoperations__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#l00947">constraint_solver.h:947</a></div></div>
<div class="ttc" id="aclassoperations__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#l03311">constraint_solver.h:3311</a></div></div>
<div class="ttc" id="aclassoperations__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#l03204">constraint_solver.h:3204</a></div></div>
<div class="ttc" id="aclassoperations__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#l00450">constraint_solver.h:450</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04604">constraint_solver.h:4604</a></div></div>
<div class="ttc" id="aclassoperations__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#l04311">constraint_solver.h:4311</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04156">constraint_solver.h:4156</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l02826">constraint_solver.h:2826</a></div></div>
<div class="ttc" id="aclassoperations__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#l04991">constraint_solver.h:4991</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00390">constraint_solver.h:390</a></div></div>
<div class="ttc" id="aclassoperations__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#l00243">constraint_solver.h:243</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04556">constraint_solver.h:4556</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03660">constraint_solver.h:3660</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03768">constraint_solver.h:3768</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03336">constraint_solver.h:3336</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03340">constraint_solver.h:3340</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04727">constraint_solver.h:4727</a></div></div>
<div class="ttc" id="aclassoperations__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#l03290">constraint_solver.h:3290</a></div></div>
<div class="ttc" id="aclassoperations__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#l04368">constraint_solver.h:4368</a></div></div>
<div class="ttc" id="aclassoperations__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="astructoperations__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#l03922">constraint_solver.h:3922</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03309">constraint_solver.h:3309</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04688">constraint_solver.h:4688</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00612">constraint_solver.h:612</a></div></div>
<div class="ttc" id="aclassoperations__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#l00769">constraint_solver.h:769</a></div></div>
<div class="ttc" id="aclassoperations__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#l00385">constraint_solver.h:385</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04563">constraint_solver.h:4563</a></div></div>
<div class="ttc" id="aclassoperations__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#l04652">constraint_solver.h:4652</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04415">constraint_solver.h:4415</a></div></div>
<div class="ttc" id="aclassoperations__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#l03306">constraint_solver.h:3306</a></div></div>
<div class="ttc" id="aclassoperations__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>
<div class="ttc" id="aclassoperations__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#l03451">constraint_solver.h:3451</a></div></div>
<div class="ttc" id="aclassoperations__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#l04355">constraint_solver.h:4355</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04359">constraint_solver.h:4359</a></div></div>
<div class="ttc" id="aclassoperations__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#l04840">constraint_solver.h:4840</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04328">constraint_solver.h:4328</a></div></div>
<div class="ttc" id="aclassoperations__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#l04859">constraint_solver.h:4859</a></div></div>
<div class="ttc" id="aclassoperations__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#l03345">constraint_solver.h:3345</a></div></div>
<div class="ttc" id="aclassoperations__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#l03424">constraint_solver.h:3424</a></div></div>
<div class="ttc" id="aclassoperations__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#l04364">constraint_solver.h:4364</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04773">constraint_solver.h:4773</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00711">constraint_solver.h:711</a></div></div>
<div class="ttc" id="aclassoperations__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#l00462">constraint_solver.h:462</a></div></div>
<div class="ttc" id="astructoperations__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#l04124">constraint_solver.h:4124</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l02822">constraint_solver.h:2822</a></div></div>
<div class="ttc" id="aclassoperations__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#l03326">constraint_solver.h:3326</a></div></div>
<div class="ttc" id="aclassoperations__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#l00716">constraint_solver.h:716</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00734">constraint_solver.h:734</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03334">constraint_solver.h:3334</a></div></div>
<div class="ttc" id="aclassoperations__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#l00655">constraint_solver.h:655</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00400">constraint_solver.h:400</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00396">constraint_solver.h:396</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03831">constraint_solver.h:3831</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04587">constraint_solver.h:4587</a></div></div>
<div class="ttc" id="aclassoperations__research_1_1ModelVisitor_html_af3de64bc71699e2e3dc32e15b30a98fa"><div class="ttname"><a href="classoperations__research_1_1ModelVisitor.html#af3de64bc71699e2e3dc32e15b30a98fa">operations_research::ModelVisitor::EndVisitModel</a></div><div class="ttdeci">virtual void EndVisitModel(const std::string &amp;type_name)</div></div>
<div class="ttc" id="aclassoperations__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="astructoperations__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#l00196">constraint_solver.h:196</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03454">constraint_solver.h:3454</a></div></div>
<div class="ttc" id="aclassoperations__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#l00702">constraint_solver.h:702</a></div></div>
<div class="ttc" id="aclassoperations__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#l03253">constraint_solver.h:3253</a></div></div>
<div class="ttc" id="aclassoperations__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#l03720">constraint_solver.h:3720</a></div></div>
<div class="ttc" id="aclassoperations__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#l04306">constraint_solver.h:4306</a></div></div>
<div class="ttc" id="aclassoperations__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#l03408">constraint_solver.h:3408</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03145">constraint_solver.h:3145</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="astructoperations__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#l02281">constraint_solver.h:2281</a></div></div>
<div class="ttc" id="astructoperations__research_1_1InitAndGetValues_1_1Iterator_html_abd6c93c8bd057130883324d687725508"><div class="ttname"><a href="structoperations__research_1_1InitAndGetValues_1_1Iterator.html#abd6c93c8bd057130883324d687725508">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#l03918">constraint_solver.h:3918</a></div></div>
<div class="ttc" id="aclassoperations__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#l03353">constraint_solver.h:3353</a></div></div>
<div class="ttc" id="aclassoperations__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="astructoperations__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#l02270">constraint_solver.h:2270</a></div></div>
<div class="ttc" id="aclassoperations__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#l03135">constraint_solver.h:3135</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l02836">constraint_solver.h:2836</a></div></div>
<div class="ttc" id="aclassoperations__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#l04405">constraint_solver.h:4405</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04640">constraint_solver.h:4640</a></div></div>
<div class="ttc" id="aclassoperations__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#l00733">constraint_solver.h:733</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00592">constraint_solver.h:592</a></div></div>
<div class="ttc" id="aclassoperations__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#l00672">constraint_solver.h:672</a></div></div>
<div class="ttc" id="aclassoperations__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#l02769">constraint_solver.h:2769</a></div></div>
<div class="ttc" id="aclassoperations__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#l04956">constraint_solver.h:4956</a></div></div>
<div class="ttc" id="aclassoperations__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#l00622">constraint_solver.h:622</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03455">constraint_solver.h:3455</a></div></div>
<div class="ttc" id="aclassoperations__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#l03434">constraint_solver.h:3434</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00625">constraint_solver.h:625</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03331">constraint_solver.h:3331</a></div></div>
<div class="ttc" id="aclassoperations__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#l03907">constraint_solver.h:3907</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04870">constraint_solver.h:4870</a></div></div>
<div class="ttc" id="aclassoperations__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#l03791">constraint_solver.h:3791</a></div></div>
<div class="ttc" id="aclassoperations__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#l00711">constraint_solver.h:711</a></div></div>
<div class="ttc" id="aclassoperations__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#l03307">constraint_solver.h:3307</a></div></div>
<div class="ttc" id="aclassoperations__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#l00496">constraint_solver.h:496</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03316">constraint_solver.h:3316</a></div></div>
<div class="ttc" id="aclassoperations__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#l03305">constraint_solver.h:3305</a></div></div>
<div class="ttc" id="aclassoperations__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#l04630">constraint_solver.h:4630</a></div></div>
<div class="ttc" id="aclassoperations__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#l04182">constraint_solver.h:4182</a></div></div>
<div class="ttc" id="aclassoperations__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#l03414">constraint_solver.h:3414</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04846">constraint_solver.h:4846</a></div></div>
<div class="ttc" id="aclassoperations__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#l03201">constraint_solver.h:3201</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04341">constraint_solver.h:4341</a></div></div>
<div class="ttc" id="aclassoperations__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#l04184">constraint_solver.h:4184</a></div></div>
<div class="ttc" id="aclassoperations__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#l03390">constraint_solver.h:3390</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l00640">constraint_solver.h:640</a></div></div>
<div class="ttc" id="aclassoperations__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#l00720">constraint_solver.h:720</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03687">constraint_solver.h:3687</a></div></div>
<div class="ttc" id="aclassoperations__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#l03396">constraint_solver.h:3396</a></div></div>
<div class="ttc" id="aclassoperations__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#l02904">constraint_solver.h:2904</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04593">constraint_solver.h:4593</a></div></div>
<div class="ttc" id="aclassoperations__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#l05112">constraint_solver.h:5112</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04795">constraint_solver.h:4795</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l04629">constraint_solver.h:4629</a></div></div>
<div class="ttc" id="aclassoperations__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#l02900">constraint_solver.h:2900</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03731">constraint_solver.h:3731</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l05085">constraint_solver.h:5085</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04654">constraint_solver.h:4654</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l04570">constraint_solver.h:4570</a></div></div>
<div class="ttc" id="aclassoperations__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#l00737">constraint_solver.h:737</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="astructoperations__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#l00201">constraint_solver.h:201</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00706">constraint_solver.h:706</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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="aclassoperations__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#l00730">constraint_solver.h:730</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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="aclassoperations__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#l03300">constraint_solver.h:3300</a></div></div>
<div class="ttc" id="aclassoperations__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#l00747">constraint_solver.h:747</a></div></div>
<div class="ttc" id="aclassoperations__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="aclassoperations__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#l03437">constraint_solver.h:3437</a></div></div>
<div class="ttc" id="aclassoperations__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#l03379">constraint_solver.h:3379</a></div></div>
<div class="ttc" id="asolver__parameters_8pb_8h_html"><div class="ttname"><a href="solver__parameters_8pb_8h.html">solver_parameters.pb.h</a></div></div>
<div class="ttc" id="aclassoperations__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#l04316">constraint_solver.h:4316</a></div></div>
<div class="ttc" id="aclassoperations__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#l03257">constraint_solver.h:3257</a></div></div>
</div>
</div>
<div id="footer-container">
<div id="footer">
</div>
</div>
</body>
</html>