<ahref="cbc__interface_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="comment">//</span></div><divclass="line"><aname="l00015"></a><spanclass="lineno"> 15</span> </div><divclass="line"><aname="l00016"></a><spanclass="lineno"> 16</span> <spanclass="preprocessor">#include <cstdint></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/status/status.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="hash_8h.html">ortools/base/hash.h</a>"</span></div><divclass="line"><aname="l00027"></a><spanclass="lineno"> 27</span> <spancla
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a39f8d704429d775e3e73a53898c99712"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a39f8d704429d775e3e73a53898c99712">operations_research::MPSolver::LookupVariableOrNull</a></div><divclass="ttdeci">MPVariable * LookupVariableOrNull(const std::string &var_name) const</div><divclass="ttdoc">Looks up a variable by name, and returns nullptr if it does not exist.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00624">linear_solver.cc:624</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_parameters_html_a7319655592ea63d50ef2a6645e309784adabd0cf2fcb5726b7fc2aa3d54d5f3ff"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html#a7319655592ea63d50ef2a6645e309784adabd0cf2fcb5726b7fc2aa3d54d5f3ff">operations_research::MPSolverParameters::INCREMENTALITY</a></div><divclass="ttdoc">Advanced usage: incrementality from one solve to the next.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01404">linear_solver.h:1404</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_parameters_html_ad01b184e1c49d8aabd15a268ff976ac8a3b48e7f264e3228b1494312657fd611a"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html#ad01b184e1c49d8aabd15a268ff976ac8a3b48e7f264e3228b1494312657fd611a">operations_research::MPSolverParameters::PRESOLVE_ON</a></div><divclass="ttdoc">Presolve is on.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01414">linear_solver.h:1414</a></div></div>
<divclass="ttc"id="log__severity_8h_html_acdd38e3c9f22f127d7776920e3079eda"><divclass="ttname"><ahref="log__severity_8h.html#acdd38e3c9f22f127d7776920e3079eda">FATAL</a></div><divclass="ttdeci">const int FATAL</div><divclass="ttdef"><b>Definition:</b><ahref="log__severity_8h_source.html#l00032">log_severity.h:32</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a5004489a36bc1393efa043044a63732f"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a5004489a36bc1393efa043044a63732f">operations_research::MPSolver::Objective</a></div><divclass="ttdeci">const MPObjective & Objective() const</div><divclass="ttdoc">Returns the objective object.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00427">linear_solver.h:427</a></div></div>
<divclass="ttc"id="linear__solver_8h_html"><divclass="ttname"><ahref="linear__solver_8h.html">linear_solver.h</a></div><divclass="ttdoc">A C++ wrapper that provides a simple and unified interface to several linear programming and mixed in...</div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_afd922eb2bef96597c426557a8056f76d"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#afd922eb2bef96597c426557a8056f76d">operations_research::MPSolver::BasisStatus</a></div><divclass="ttdeci">BasisStatus</div><divclass="ttdoc">Advanced usage: possible basis status values for a variable and the slack variable of a linear constr...</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00669">linear_solver.h:669</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_parameters_html_aeae0a6e1e84d015690573b08d62b1395"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html#aeae0a6e1e84d015690573b08d62b1395">operations_research::MPSolverParameters::GetIntegerParam</a></div><divclass="ttdeci">int GetIntegerParam(MPSolverParameters::IntegerParam param) const</div><divclass="ttdoc">Returns the value of an integer parameter.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l02124">linear_solver.cc:2124</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_variable_html"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_variable.html">operations_research::MPVariable</a></div><divclass="ttdoc">The class for variables of a Mathematical Programming (MP) model.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01071">linear_solver.h:1071</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_abdb0854fa090b30b7bdad88bc610d18a"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#abdb0854fa090b30b7bdad88bc610d18a">operations_research::MPSolver::LookupConstraintOrNull</a></div><divclass="ttdeci">MPConstraint * LookupConstraintOrNull(const std::string &constraint_name) const</div><divclass="ttdoc">Looks up a constraint by name, and returns nullptr if it does not exist.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00633">linear_solver.cc:633</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_constraint_html"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_constraint.html">operations_research::MPConstraint</a></div><divclass="ttdoc">The class for constraints of a Mathematical Programming (MP) model.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01196">linear_solver.h:1196</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a573d479910e373f5d771d303e440587da03f919221217f95d21a593a7120165e1"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a573d479910e373f5d771d303e440587da03f919221217f95d21a593a7120165e1">operations_research::MPSolver::FEASIBLE</a></div><divclass="ttdoc">feasible, or stopped by limit.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00442">linear_solver.h:442</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_objective_html_a356d08f701ec7c64a00c19818bb72886"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_objective.html#a356d08f701ec7c64a00c19818bb72886">operations_research::MPObjective::GetCoefficient</a></div><divclass="ttdeci">double GetCoefficient(const MPVariable *const var) const</div><divclass="ttdoc">Gets the coefficient of a given variable in the objective.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00176">linear_solver.cc:176</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_parameters_html_a397e8c8da87415d5408e2dd5ec3e9932a8c7c9aed0dcd36fc9a9af2fab295caf3"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html#a397e8c8da87415d5408e2dd5ec3e9932a8c7c9aed0dcd36fc9a9af2fab295caf3">operations_research::MPSolverParameters::PRIMAL_TOLERANCE</a></div><divclass="ttdoc">Advanced usage: tolerance for primal feasibility of basic solutions.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01392">linear_solver.h:1392</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_parameters_html_a397e8c8da87415d5408e2dd5ec3e9932a184546f243ecb7d9be48659f8be82992"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html#a397e8c8da87415d5408e2dd5ec3e9932a184546f243ecb7d9be48659f8be82992">operations_research::MPSolverParameters::DUAL_TOLERANCE</a></div><divclass="ttdoc">Advanced usage: tolerance for dual feasibility of basic solutions.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01394">linear_solver.h:1394</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a573d479910e373f5d771d303e440587da0e6873a155f86a4695f463bf8601d05f"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a573d479910e373f5d771d303e440587da0e6873a155f86a4695f463bf8601d05f">operations_research::MPSolver::NOT_SOLVED</a></div><divclass="ttdoc">not been solved yet.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00452">linear_solver.h:452</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html">operations_research::MPSolver</a></div><divclass="ttdoc">This mathematical programming (MP) solver class is the main class though which users build and solve ...</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00182">linear_solver.h:182</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="classoperations__research_1_1_m_p_solver_html_a573d479910e373f5d771d303e440587dadd7ccc352d727224d39519584ed37cd7"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a573d479910e373f5d771d303e440587dadd7ccc352d727224d39519584ed37cd7">operations_research::MPSolver::ABNORMAL</a></div><divclass="ttdoc">abnormal, i.e., error of some kind.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00448">linear_solver.h:448</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_parameters_html_a215b66c2ff063ffbf5b538ee402304cba01f385fe2acfe85efe038aa62b31edfb"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html#a215b66c2ff063ffbf5b538ee402304cba01f385fe2acfe85efe038aa62b31edfb">operations_research::MPSolverParameters::INCREMENTALITY_OFF</a></div><divclass="ttdoc">Start solve from scratch.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01430">linear_solver.h:1430</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_parameters_html"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html">operations_research::MPSolverParameters</a></div><divclass="ttdoc">This class stores parameter settings for LP and MIP solvers.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01379">linear_solver.h:1379</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_parameters_html_a7319655592ea63d50ef2a6645e309784a420e8170e7ec327dd847b9610fc4565b"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html#a7319655592ea63d50ef2a6645e309784a420e8170e7ec327dd847b9610fc4565b">operations_research::MPSolverParameters::LP_ALGORITHM</a></div><divclass="ttdoc">Algorithm to solve linear programs.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01402">linear_solver.h:1402</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_objective_html_a96ffc785b7b2135c7980c985883ffdd3"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_objective.html#a96ffc785b7b2135c7980c985883ffdd3">operations_research::MPObjective::offset</a></div><divclass="ttdeci">double offset() const</div><divclass="ttdoc">Gets the constant term in the objective.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00980">linear_solver.h:980</a></div></div>