<ahref="default__search_8cc.html">Go to the documentation of this file.</a><divclass="fragment"><divclass="line"><aname="l00001"></a><spanclass="lineno"> 1</span> <spanclass="comment">// Copyright 2010-2021 Google LLC</span></div><divclass="line"><aname="l00002"></a><spanclass="lineno"> 2</span> <spanclass="comment">// Licensed under the Apache License, Version 2.0 (the "License");</span></div><divclass="line"><aname="l00003"></a><spanclass="lineno"> 3</span> <spanclass="comment">// you may not use this file except in compliance with the License.</span></div><divclass="line"><aname="l00004"></a><spanclass="lineno"> 4</span> <spanclass="comment">// You may obtain a copy of the License at</span></div><divclass="line"><aname="l00005"></a><spanclass="lineno"> 5</span> <spanclass="comment">//</span></div><divclass="line"><aname="l00006"></a><spanclass="lineno"> 6</span> <spanclass="comment">// http://www.apache.org/licenses/LICENSE-2.0</span></div><divclass="line"><aname="l00007"></a><spanclass="lineno"> 7</span> <spanclass="comment">//</span></div><divclass="line"><aname="l00008"></a><spanclass="lineno"> 8</span> <spanclass="comment">// Unless required by applicable law or agreed to in writing, software</span></div><divclass="line"><aname="l00009"></a><spanclass="lineno"> 9</span> <spanclass="comment">// distributed under the License is distributed on an "AS IS" BASIS,</span></div><divclass="line"><aname="l00010"></a><spanclass="lineno"> 10</span> <spanclass="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><divclass="line"><aname="l00011"></a><spanclass="lineno"> 11</span> <spanclass="comment">// See the License for the specific language governing permissions and</span></div><divclass="line"><aname="l00012"></a><spanclass="lineno"> 12</span> <spanclass="comment">// limitations under the License.</span></div><divclass="line"><aname="l00013"></a><spanclass="lineno"> 13</span> </div><divclass="line"><aname="l00014"></a><spanclass="lineno"> 14</span> <spanclass="preprocessor">#include <cstddef></span></div><divclass="line"><aname="l00015"></a><spanclass="lineno"> 15</span> <spanclass="preprocessor">#include <cstdint></span></div><divclass="line"><aname="l00016"></a><spanclass="lineno"> 16</span> <spanclass="preprocessor">#include <functional></span></div><divclass="line"><aname="l00017"></a><spanclass="lineno"> 17</span> <spanclass="preprocessor">#include <limits></span></div><divclass="line"><aname="l00018"></a><spanclass="lineno"> 18</span> <spanclass="preprocessor">#include <memory></span></div><divclass="line"><aname="l00019"></a><spanclass="lineno"> 19</span> <spanclass="preprocessor">#include <string></span></div><divclass="line"><aname="l00020"></a><spanclass="lineno"> 20</span> <spanclass="preprocessor">#include <utility></span></div><divclass="line"><aname="l00021"></a><spanclass="lineno"> 21</span> <spanclass="preprocessor">#include <vector></span></div><divclass="line"><aname="l00022"></a><spanclass="lineno"> 22</span> </div><divclass="line"><aname="l00023"></a><spanclass="lineno"> 23</span> <spanclass="preprocessor">#include "absl/container/flat_hash_set.h"</span></div><divclass="line"><aname="l00024"></a><spanclass="lineno"> 24</span> <spanclass="preprocessor">#include "absl/strings/str_format.h"</span></div><divclass="line"><aname="l00025"></a><spanclass="lineno"> 25</span> <spanclass="preprocessor">#include "<aclass="code"href="commandlineflags_8h.html">ortools/base/commandlineflags.h</a>"</span></div><divclass="line"><aname="l00026"></a><spanclass="lineno"> 26</span> <spanclass="preprocessor">#include "<aclass="code"href="integral__types_8h.html">ortools/base/integr
<divclass="ttc"id="classoperations__research_1_1_solver_html_a45c5a2dd0d47110ef5b00408854d8d84a26ee6f4132972f3880a16bf01faf5886"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a26ee6f4132972f3880a16bf01faf5886">operations_research::Solver::ASSIGN_MIN_VALUE</a></div><divclass="ttdoc">Selects the min value of the selected variable.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00353">constraint_solver.h:353</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a45c5a2dd0d47110ef5b00408854d8d84a18c9277012e856da1bf8fcdbe79b2173"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a18c9277012e856da1bf8fcdbe79b2173">operations_research::Solver::ASSIGN_CENTER_VALUE</a></div><divclass="ttdoc">Selects the first possible value which is the closest to the center of the domain of the selected var...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00364">constraint_solver.h:364</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_ab7ab23bc58ea40dc03a5418ddbce7601a0dd29a5b1114a3da001126046058304c"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a0dd29a5b1114a3da001126046058304c">operations_research::Solver::CHOOSE_RANDOM</a></div><divclass="ttdoc">Randomly select one of the remaining unbound variables.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00277">constraint_solver.h:277</a></div></div>
<divclass="ttc"id="default__search_8cc_html_aba93685cfc7625455dbc4c61f87e78c8"><divclass="ttname"><ahref="default__search_8cc.html#aba93685cfc7625455dbc4c61f87e78c8">kLogCacheSize</a></div><divclass="ttdeci">static const int kLogCacheSize</div><divclass="ttdef"><b>Definition:</b><ahref="default__search_8cc_source.html#l00362">default_search.cc:362</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_decision_builder_html"><divclass="ttname"><ahref="classoperations__research_1_1_decision_builder.html">operations_research::DecisionBuilder</a></div><divclass="ttdoc">A DecisionBuilder is responsible for creating the search tree.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l03270">constraint_solver.h:3270</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_ab7ab23bc58ea40dc03a5418ddbce7601a51ebcb4577d6f214dc22b869c9774448"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a51ebcb4577d6f214dc22b869c9774448">operations_research::Solver::CHOOSE_MIN_SIZE_LOWEST_MIN</a></div><divclass="ttdoc">Among unbound variables, select the variable with the smallest size, i.e., the smallest number of pos...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00285">constraint_solver.h:285</a></div></div>
<divclass="ttc"id="default__search_8cc_html_a29f7ae4ecca887a7b2778dfdce83700d"><divclass="ttname"><ahref="default__search_8cc.html#a29f7ae4ecca887a7b2778dfdce83700d">runs</a></div><divclass="ttdeci">const int runs</div><divclass="ttdef"><b>Definition:</b><ahref="default__search_8cc_source.html#l00817">default_search.cc:817</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_ab7ab23bc58ea40dc03a5418ddbce7601a67ae4822c2c057bc55386cab118bbd70"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a67ae4822c2c057bc55386cab118bbd70">operations_research::Solver::CHOOSE_MIN_SIZE_HIGHEST_MAX</a></div><divclass="ttdoc">Among unbound variables, select the variable with the smallest size, i.e., the smallest number of pos...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00309">constraint_solver.h:309</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a45c5a2dd0d47110ef5b00408854d8d84a6cc67468f22769f3bdfe3032b760b8c0"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a6cc67468f22769f3bdfe3032b760b8c0">operations_research::Solver::ASSIGN_MAX_VALUE</a></div><divclass="ttdoc">Selects the max value of the selected variable.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00356">constraint_solver.h:356</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a45c5a2dd0d47110ef5b00408854d8d84"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84">operations_research::Solver::IntValueStrategy</a></div><divclass="ttdeci">IntValueStrategy</div><divclass="ttdoc">This enum describes the strategy used to select the next variable value to set.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00345">constraint_solver.h:345</a></div></div>
<divclass="ttc"id="default__search_8cc_html_acd458c8d08db2d8b1bd2dce9a4307208"><divclass="ttname"><ahref="default__search_8cc.html#acd458c8d08db2d8b1bd2dce9a4307208">ABSL_FLAG</a></div><divclass="ttdeci">ABSL_FLAG(int, cp_impact_divider, 10, "Divider for continuous update.")</div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_ab7ab23bc58ea40dc03a5418ddbce7601"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601">operations_research::Solver::IntVarStrategy</a></div><divclass="ttdeci">IntVarStrategy</div><divclass="ttdoc">This enum describes the strategy used to select the next branching variable at each node during the s...</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00264">constraint_solver.h:264</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_ab741cb25dd32d1cbe02fbfb36337d9bb"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#ab741cb25dd32d1cbe02fbfb36337d9bb">operations_research::Solver::RevAlloc</a></div><divclass="ttdeci">T * RevAlloc(T *object)</div><divclass="ttdoc">Registers the given object as being reversible.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00789">constraint_solver.h:789</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_ab7ab23bc58ea40dc03a5418ddbce7601a1a148a0aaaad7f56eea42df9876e7ae9"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#ab7ab23bc58ea40dc03a5418ddbce7601a1a148a0aaaad7f56eea42df9876e7ae9">operations_research::Solver::CHOOSE_FIRST_UNBOUND</a></div><divclass="ttdoc">Select the first unbound variable.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00274">constraint_solver.h:274</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html"><divclass="ttname"><ahref="namespaceoperations__research.html">operations_research</a></div><divclass="ttdoc">Collection of objects used to extend the Constraint Solver library.</div><divclass="ttdef"><b>Definition:</b><ahref="dense__doubly__linked__list_8h_source.html#l00021">dense_doubly_linked_list.h:21</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_a9be76edcbd5ccb982d92c8d90421a73c"><divclass="ttname"><ahref="namespaceoperations__research.html#a9be76edcbd5ccb982d92c8d90421a73c">operations_research::JoinDebugStringPtr</a></div><divclass="ttdeci">std::string JoinDebugStringPtr(const std::vector< T >&v, const std::string &separator)</div><divclass="ttdef"><b>Definition:</b><ahref="string__array_8h_source.html#l00045">string_array.h:45</a></div></div>
<divclass="ttc"id="default__search_8cc_html_a894bdc68b09577c1504d2439c29c0890"><divclass="ttname"><ahref="default__search_8cc.html#a894bdc68b09577c1504d2439c29c0890">kUninitializedVarIndex</a></div><divclass="ttdeci">static const int kUninitializedVarIndex</div><divclass="ttdef"><b>Definition:</b><ahref="default__search_8cc_source.html#l00366">default_search.cc:366</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_solver_html_a45c5a2dd0d47110ef5b00408854d8d84a56859813749c27c6c20f8cdfec9eb9c2"><divclass="ttname"><ahref="classoperations__research_1_1_solver.html#a45c5a2dd0d47110ef5b00408854d8d84a56859813749c27c6c20f8cdfec9eb9c2">operations_research::Solver::ASSIGN_RANDOM_VALUE</a></div><divclass="ttdoc">Selects randomly one of the possible values of the selected variable.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00359">constraint_solver.h:359</a></div></div>
<divclass="ttc"id="structoperations__research_1_1_default_phase_parameters_html"><divclass="ttname"><ahref="structoperations__research_1_1_default_phase_parameters.html">operations_research::DefaultPhaseParameters</a></div><divclass="ttdoc">This struct holds all parameters for the default search.</div><divclass="ttdef"><b>Definition:</b><ahref="constraint__solver_8h_source.html#l00167">constraint_solver.h:167</a></div></div>
<divclass="ttc"id="log__severity_8h_html_ab4a2cbab234914b320b7fae11b6e8cb9"><divclass="ttname"><ahref="log__severity_8h.html#ab4a2cbab234914b320b7fae11b6e8cb9">INFO</a></div><divclass="ttdeci">const int INFO</div><divclass="ttdef"><b>Definition:</b><ahref="log__severity_8h_source.html#l00031">log_severity.h:31</a></div></div>