<ahref="linear__solver_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 "<aclass="code"href="linear__solver_8h.html">ortools/linear_solver/linear_solver.h</a>"</span></div><divclass="line"><aname="l00017"></a><spanclass="lineno"> 17</span> </div><divclass="line"><aname="l00018"></a><spanclass="lineno"> 18</span> <spanclass="preprocessor">#if !defined(_MSC_VER)</span></div><divclass="line"><aname="l00019"></a><spanclass="lineno"> 19</span> <spanclass="preprocessor">#include <unistd.h></span></div><divclass="line"><aname="l00020"></a><spanclass="lineno"> 20</span> <spanclass="preprocessor">#endif</span></div><divclass="line"><aname="l00021"></a><spanclass="lineno"> 21</span> </div><divclass="line"><aname="l00022"></a><spanclass="lineno"> 22</span> <spanclass="preprocessor">#include <atomic></span></div><divclass="line"><aname="l00023"></a><spanclass="lineno"> 23</span> <spanclass="preprocessor">#include <cmath></span></div><divclass="line"><aname="l00024"></a><spanclass="lineno"> 24</span> <spanclass="preprocessor">#include <cstddef></span></div><divclass="line"><aname="l00025"></a><spanclass="lineno"> 25</span> <spanclass="preprocessor">#include <cstdint></span></div><divclass="line"><aname="l00026"></a><spanclass="lineno"> 26</span> <spanclass="preprocessor">#include <utility></span></div><divclass="line"><aname="l00027"></a><spanclass="lineno"> 27</span> </div><divclass="line"><aname="l00028"></a><spanclass="lineno"> 28</span> <spanclass="preprocessor">#include "absl/status/status.h"</span></div><divclass=
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a573d479910e373f5d771d303e440587d"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a573d479910e373f5d771d303e440587d">operations_research::MPSolver::ResultStatus</a></div><divclass="ttdeci">ResultStatus</div><divclass="ttdoc">The status of solving the problem.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00439">linear_solver.h:439</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_aee8250cf90d66d569534338248924469"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#aee8250cf90d66d569534338248924469">operations_research::MPSolver::ProblemType</a></div><divclass="ttdeci">virtual OptimizationProblemType ProblemType() const</div><divclass="ttdoc">Returns the optimization problem type set at construction.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00288">linear_solver.h:288</a></div></div>
<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_html_ac75b700ead5ff5d0944b5161e6dac9e8"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#ac75b700ead5ff5d0944b5161e6dac9e8">operations_research::MPSolver::InterruptSolve</a></div><divclass="ttdeci">bool InterruptSolve()</div><divclass="ttdoc">Interrupts the Solve() execution to terminate processing if possible.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01243">linear_solver.cc:1243</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#l01420">linear_solver.h:1420</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_model_proto_html_ac25215d204acbcae9cbaf127f97ba1ee"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_model_proto.html#ac25215d204acbcae9cbaf127f97ba1ee">operations_research::MPModelProto::general_constraint</a></div><divclass="ttdeci">const ::operations_research::MPGeneralConstraintProto & general_constraint(int index) const</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8pb_8h_source.html#l07108">linear_solver.pb.h:7108</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a487ab8f764e55a258fdeeace99ba2f00"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a487ab8f764e55a258fdeeace99ba2f00">operations_research::MPSolver::CreateSolver</a></div><divclass="ttdeci">static MPSolver * CreateSolver(const std::string &solver_id)</div><divclass="ttdoc">Recommended factory method to create a MPSolver instance, especially in non C++ languages.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00609">linear_solver.cc:609</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_parameters_html_a1816929ef3ed29e5884291472b1b8739"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html#a1816929ef3ed29e5884291472b1b8739">operations_research::MPSolverParameters::SetDoubleParam</a></div><divclass="ttdeci">void SetDoubleParam(MPSolverParameters::DoubleParam param, double value)</div><divclass="ttdoc">Sets a double parameter to a specific value.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l02006">linear_solver.cc:2006</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_objective_html_a8554e97d98d05016f16300cedf2be9f6"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_objective.html#a8554e97d98d05016f16300cedf2be9f6">operations_research::MPObjective::Value</a></div><divclass="ttdeci">double Value() const</div><divclass="ttdoc">Returns the objective value of the best solution found so far.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00254">linear_solver.cc:254</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#l01430">linear_solver.h:1430</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="namespaceoperations__research_html_a5209f68ceef830f109310dc549479a9b"><divclass="ttname"><ahref="namespaceoperations__research.html#a5209f68ceef830f109310dc549479a9b">operations_research::MPModelRequest_SolverType_Name</a></div><divclass="ttdeci">const std::string & MPModelRequest_SolverType_Name(T enum_t_value)</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8pb_8h_source.html#l00223">linear_solver.pb.h:223</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a102b847e8034d765338f17041aa09468"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a102b847e8034d765338f17041aa09468">operations_research::MPSolver::ParseSolverTypeOrDie</a></div><divclass="ttdeci">static OptimizationProblemType ParseSolverTypeOrDie(const std::string &solver_id)</div><divclass="ttdoc">Parses the name of the solver and returns the correct optimization type or dies.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00601">linear_solver.cc:601</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_aa71d36872f416feaa853788a7a7a7ef8"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#aa71d36872f416feaa853788a7a7a7ef8">operations_research::MPSolver::Clear</a></div><divclass="ttdeci">void Clear()</div><divclass="ttdoc">Clears the objective (including the optimization direction), all variables and constraints.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01220">linear_solver.cc:1220</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_objective_html_a3d269786b0c64ba034e7e8a8a09213fc"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_objective.html#a3d269786b0c64ba034e7e8a8a09213fc">operations_research::MPObjective::SetOffset</a></div><divclass="ttdeci">void SetOffset(double value)</div><divclass="ttdoc">Sets the constant term in the objective.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00197">linear_solver.cc:197</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_constraint_html_ad8227ba86a01f26e4f173cd5e219d5d1"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_constraint.html#ad8227ba86a01f26e4f173cd5e219d5d1">operations_research::MPConstraint::name</a></div><divclass="ttdeci">const std::string & name() const</div><divclass="ttdoc">Returns the name of the constraint.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01215">linear_solver.h:1215</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#l00428">linear_solver.h:428</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_parameters_html_aeeef6511f130ba8a9db2c308dbeada5c"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html#aeeef6511f130ba8a9db2c308dbeada5c">operations_research::MPSolverParameters::MPSolverParameters</a></div><divclass="ttdeci">MPSolverParameters()</div><divclass="ttdoc">The constructor sets all parameters to their default value.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01996">linear_solver.cc:1996</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_constraint_html_a570e7e2c973cc96bedb0db08f5e062e3"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_constraint.html#a570e7e2c973cc96bedb0db08f5e062e3">operations_research::MPConstraint::ub</a></div><divclass="ttdeci">double ub() const</div><divclass="ttdoc">Returns the upper bound.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01247">linear_solver.h:1247</a></div></div>
<divclass="ttc"id="log__severity_8h_html_ac9bcbe19995a8140cd4ec61773cd6e67"><divclass="ttname"><ahref="log__severity_8h.html#ac9bcbe19995a8140cd4ec61773cd6e67">ERROR</a></div><divclass="ttdeci">const int ERROR</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_objective_html_a2def997791a2a5119c3502aa68c34181"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_objective.html#a2def997791a2a5119c3502aa68c34181">operations_research::MPObjective::SetCoefficient</a></div><divclass="ttdeci">void SetCoefficient(const MPVariable *const var, double coeff)</div><divclass="ttdoc">Sets the coefficient of the variable in the objective.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00182">linear_solver.cc:182</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_parameters_html_af89ed33216d227599a7752bc0dc97ce3"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html#af89ed33216d227599a7752bc0dc97ce3">operations_research::MPSolverParameters::ResetDoubleParam</a></div><divclass="ttdeci">void ResetDoubleParam(MPSolverParameters::DoubleParam param)</div><divclass="ttdoc">Sets a double parameter to its default value (default value defined in MPSolverParameters if it exist...</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l02069">linear_solver.cc:2069</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_constraint_html_aa71d36872f416feaa853788a7a7a7ef8"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_constraint.html#aa71d36872f416feaa853788a7a7a7ef8">operations_research::MPConstraint::Clear</a></div><divclass="ttdeci">void Clear()</div><divclass="ttdoc">Clears all variables and coefficients. Does not clear the bounds.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00127">linear_solver.cc:127</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_objective_html_a9ec8e5b1017d35c4ce048c67330b0a10"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_objective.html#a9ec8e5b1017d35c4ce048c67330b0a10">operations_research::MPObjective::BestBound</a></div><divclass="ttdeci">double BestBound() const</div><divclass="ttdoc">Returns the best objective bound.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00261">linear_solver.cc:261</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a9d3beb2afe4ae647674b054bf29290e2"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a9d3beb2afe4ae647674b054bf29290e2">operations_research::MPSolver::NumVariables</a></div><divclass="ttdeci">int NumVariables() const</div><divclass="ttdoc">Returns the number of variables.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00300">linear_solver.h:300</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a45c44ca4a082621f3057280d40333ed0"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a45c44ca4a082621f3057280d40333ed0">operations_research::MPSolver::SupportsProblemType</a></div><divclass="ttdeci">static bool SupportsProblemType(OptimizationProblemType problem_type)</div><divclass="ttdoc">Whether the given problem type is supported (this will depend on the targets that you linked).</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00467">linear_solver.cc:467</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_variable_html_abc6bcaac179c603ad3386fa7449c86a7"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_variable.html#abc6bcaac179c603ad3386fa7449c86a7">operations_research::MPVariable::integer</a></div><divclass="ttdeci">bool integer() const</div><divclass="ttdoc">Returns the integrality requirement of the variable.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01096">linear_solver.h:1096</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_objective_html_aa3d71b1d66352ee439fdcdf8f3b93067"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_objective.html#aa3d71b1d66352ee439fdcdf8f3b93067">operations_research::MPObjective::minimization</a></div><divclass="ttdeci">bool minimization() const</div><divclass="ttdoc">Is the optimization direction set to minimize?</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00252">linear_solver.cc:252</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a76c87990aabadd148304b95332a60ff8"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a76c87990aabadd148304b95332a60ff8">operations_research::MPSolver::OptimizationProblemType</a></div><divclass="ttdeci">OptimizationProblemType</div><divclass="ttdoc">The type of problems (LP or MIP) that will be solved and the underlying solver (GLOP,...</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00191">linear_solver.h:191</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_objective_html_ac187b2ba08422f3a06b8d1e1502ceea6"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_objective.html#ac187b2ba08422f3a06b8d1e1502ceea6">operations_research::MPObjective::SetMinimization</a></div><divclass="ttdeci">void SetMinimization()</div><divclass="ttdoc">Sets the optimization direction to minimize.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01020">linear_solver.h:1020</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_constraint_html_a02bfb5cd5deeb2d5149f6976ee0456d6"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_constraint.html#a02bfb5cd5deeb2d5149f6976ee0456d6">operations_research::MPConstraint::SetBounds</a></div><divclass="ttdeci">void SetBounds(double lb, double ub)</div><divclass="ttdoc">Sets both the lower and upper bounds.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00132">linear_solver.cc:132</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_objective_html"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_objective.html">operations_research::MPObjective</a></div><divclass="ttdoc">A class to express a linear objective.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00960">linear_solver.h:960</a></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#l00673">linear_solver.h:673</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_parameters_html_a7319655592ea63d50ef2a6645e309784"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html#a7319655592ea63d50ef2a6645e309784">operations_research::MPSolverParameters::IntegerParam</a></div><divclass="ttdeci">IntegerParam</div><divclass="ttdoc">Enumeration of parameters that take integer or categorical values.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01414">linear_solver.h:1414</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a226456dfb15300dd4e59d0bf80d0ce07"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a226456dfb15300dd4e59d0bf80d0ce07">operations_research::MPSolver::MutableObjective</a></div><divclass="ttdeci">MPObjective * MutableObjective()</div><divclass="ttdoc">Returns the mutable objective object.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00431">linear_solver.h:431</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a372de693ad40b3f42839c8ec6ac845f4"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a372de693ad40b3f42839c8ec6ac845f4">operations_research::MPSolver::Reset</a></div><divclass="ttdeci">void Reset()</div><divclass="ttdoc">Advanced usage: resets extracted model to solve from scratch.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01241">linear_solver.cc:1241</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_model_proto_html_a1a8302446f7835e502a5aced4f29b3bf"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_model_proto.html#a1a8302446f7835e502a5aced4f29b3bf">operations_research::MPModelProto::constraint</a></div><divclass="ttdeci">const ::operations_research::MPConstraintProto & constraint(int index) const</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8pb_8h_source.html#l07068">linear_solver.pb.h:7068</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_constraint_html_a356d08f701ec7c64a00c19818bb72886"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_constraint.html#a356d08f701ec7c64a00c19818bb72886">operations_research::MPConstraint::GetCoefficient</a></div><divclass="ttdeci">double GetCoefficient(const MPVariable *const var) const</div><divclass="ttdoc">Gets the coefficient of a given variable on the constraint (which is 0 if the variable does not appea...</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00095">linear_solver.cc:95</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a4a790b8c94fdaa097e7ad19bb5acaf45"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a4a790b8c94fdaa097e7ad19bb5acaf45">operations_research::MPSolver::MakeBoolVar</a></div><divclass="ttdeci">MPVariable * MakeBoolVar(const std::string &name)</div><divclass="ttdoc">Creates a boolean variable.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01275">linear_solver.cc:1275</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_parameters_html_a09343ed6dde3059443fe6f4caa16e986"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html#a09343ed6dde3059443fe6f4caa16e986">operations_research::MPSolverParameters::ResetIntegerParam</a></div><divclass="ttdeci">void ResetIntegerParam(MPSolverParameters::IntegerParam param)</div><divclass="ttdoc">Sets an integer parameter to its default value (default value defined in MPSolverParameters if it exi...</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l02090">linear_solver.cc:2090</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#l02144">linear_solver.cc:2144</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_parameters_html_ae189b253817210ee7e605b089ccf47e4"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html#ae189b253817210ee7e605b089ccf47e4">operations_research::MPSolverParameters::SetIntegerParam</a></div><divclass="ttdeci">void SetIntegerParam(MPSolverParameters::IntegerParam param, int value)</div><divclass="ttdoc">Sets a integer parameter to a specific value.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l02027">linear_solver.cc:2027</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a9df947ed3bb70075e234f8f0f78bc8ee"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a9df947ed3bb70075e234f8f0f78bc8ee">operations_research::MPSolver::ClampSolutionWithinBounds</a></div><divclass="ttdeci">absl::Status ClampSolutionWithinBounds()</div><divclass="ttdoc">Resets values of out of bound variables to the corresponding bound and returns an error if any of the...</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01487">linear_solver.cc:1487</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a4bf4b01cb836a567c90aeeea374ca2a2"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a4bf4b01cb836a567c90aeeea374ca2a2">operations_research::MPSolver::SetHint</a></div><divclass="ttdeci">void SetHint(std::vector< std::pair< const MPVariable *, double >> hint)</div><divclass="ttdoc">Sets a hint for solution.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01712">linear_solver.cc:1712</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_aa964b4fd4cba1119c722a85bea947d05"><divclass="ttname"><ahref="namespaceoperations__research.html#aa964b4fd4cba1119c722a85bea947d05">operations_research::FindErrorInMPModelProto</a></div><divclass="ttdeci">std::string FindErrorInMPModelProto(const MPModelProto &model, double abs_value_threshold, const bool accept_trivially_infeasible_bounds)</div><divclass="ttdoc">Returns an empty string iff the model is valid and not trivially infeasible.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_2model__validator_8cc_source.html#l00423">linear_solver/model_validator.cc:423</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_acdb0e5753d20e4d3ece49a0451d24c4f"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#acdb0e5753d20e4d3ece49a0451d24c4f">operations_research::MPSolver::MPSolver</a></div><divclass="ttdeci">MPSolver(const std::string &name, OptimizationProblemType problem_type)</div><divclass="ttdoc">Create a solver with the given name and underlying solver backend.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00450">linear_solver.cc:450</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#l01087">linear_solver.h:1087</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_variable_html_aecd5fee61b6013b1207c2ea622c849b5"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_variable.html#aecd5fee61b6013b1207c2ea622c849b5">operations_research::MPVariable::basis_status</a></div><divclass="ttdeci">MPSolver::BasisStatus basis_status() const</div><divclass="ttdoc">Advanced usage: returns the basis status of the variable in the current solution (only available for ...</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00292">linear_solver.cc:292</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a77083241e8bdb93b619c7b9feaf82dec"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a77083241e8bdb93b619c7b9feaf82dec">operations_research::MPSolver::SetSolverSpecificParametersAsString</a></div><divclass="ttdeci">bool SetSolverSpecificParametersAsString(const std::string &parameters)</div><divclass="ttdoc">Advanced usage: pass solver specific parameters in text format.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00351">linear_solver.cc:351</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_parameters_html_a397e8c8da87415d5408e2dd5ec3e9932af5546ac8a26f50d8798bf634598a7eba"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html#a397e8c8da87415d5408e2dd5ec3e9932af5546ac8a26f50d8798bf634598a7eba">operations_research::MPSolverParameters::RELATIVE_MIP_GAP</a></div><divclass="ttdoc">Limit for relative MIP gap.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01400">linear_solver.h:1400</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_objective_html_a3eee00e1029a4006afbd791f78d91657"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_objective.html#a3eee00e1029a4006afbd791f78d91657">operations_research::MPObjective::OptimizeLinearExpr</a></div><divclass="ttdeci">void OptimizeLinearExpr(const LinearExpr &linear_expr, bool is_maximization)</div><divclass="ttdoc">Resets the current objective to take the value of linear_expr, and sets the objective direction to ma...</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00212">linear_solver.cc:212</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a573d479910e373f5d771d303e440587dae071e79c23f061c9dd00ee09519a0031"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a573d479910e373f5d771d303e440587dae071e79c23f061c9dd00ee09519a0031">operations_research::MPSolver::MODEL_INVALID</a></div><divclass="ttdoc">the model is trivially invalid (NaN coefficients, etc).</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00451">linear_solver.h:451</a></div></div>
<divclass="ttc"id="log__severity_8h_html_a50e5762f38854b37ee3e2851bc1bb0e7"><divclass="ttname"><ahref="log__severity_8h.html#a50e5762f38854b37ee3e2851bc1bb0e7">WARNING</a></div><divclass="ttdeci">const int WARNING</div><divclass="ttdef"><b>Definition:</b><ahref="log__severity_8h_source.html#l00031">log_severity.h:31</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_parameters_html_a397e8c8da87415d5408e2dd5ec3e9932"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html#a397e8c8da87415d5408e2dd5ec3e9932">operations_research::MPSolverParameters::DoubleParam</a></div><divclass="ttdeci">DoubleParam</div><divclass="ttdoc">Enumeration of parameters that take continuous values.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01398">linear_solver.h:1398</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_interface_html_a2cb8082675772ca81d04e87b6f4b1c8b"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_interface.html#a2cb8082675772ca81d04e87b6f4b1c8b">operations_research::MPSolverInterface::kDummyVariableIndex</a></div><divclass="ttdeci">static const int kDummyVariableIndex</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01780">linear_solver.h:1780</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_model_request_html_aa4db5bd76c35e7da5bee4757cbec91ec"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_model_request.html#aa4db5bd76c35e7da5bee4757cbec91ec">operations_research::MPModelRequest::model</a></div><divclass="ttdeci">const ::operations_research::MPModelProto & model() const</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8pb_8h_source.html#l07981">linear_solver.pb.h:7981</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_variable_html_a570e7e2c973cc96bedb0db08f5e062e3"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_variable.html#a570e7e2c973cc96bedb0db08f5e062e3">operations_research::MPVariable::ub</a></div><divclass="ttdeci">double ub() const</div><divclass="ttdoc">Returns the upper bound.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01114">linear_solver.h:1114</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_model_proto_html_a39eeefb1884c54ecb292df0d83f9b267"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_model_proto.html#a39eeefb1884c54ecb292df0d83f9b267">operations_research::MPModelProto::variable</a></div><divclass="ttdeci">const ::operations_research::MPVariableProto & variable(int index) const</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8pb_8h_source.html#l07028">linear_solver.pb.h:7028</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_variable_html_a02bfb5cd5deeb2d5149f6976ee0456d6"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_variable.html#a02bfb5cd5deeb2d5149f6976ee0456d6">operations_research::MPVariable::SetBounds</a></div><divclass="ttdeci">void SetBounds(double lb, double ub)</div><divclass="ttdoc">Sets both the lower and upper bounds.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00304">linear_solver.cc:304</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a849bf49baad56df58c018e8ab09456fb"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a849bf49baad56df58c018e8ab09456fb">operations_research::MPSolver::SetNumThreads</a></div><divclass="ttdeci">absl::Status SetNumThreads(int num_threads)</div><divclass="ttdoc">Sets the number of threads to use by the underlying solver.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00340">linear_solver.cc:340</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_solver_interface_html_a12cee0b1a4374aaa9962daa50be5bded"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_interface.html#a12cee0b1a4374aaa9962daa50be5bded">operations_research::MPSolverInterface::SetIntegerParamToUnsupportedValue</a></div><divclass="ttdeci">virtual void SetIntegerParamToUnsupportedValue(MPSolverParameters::IntegerParam param, int value)</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01955">linear_solver.cc:1955</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_parameters_html_ad7c866ce738bfb6ac5fcee91fed998ed"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html#ad7c866ce738bfb6ac5fcee91fed998ed">operations_research::MPSolverParameters::kDefaultIntegerParamValue</a></div><divclass="ttdeci">static const int kDefaultIntegerParamValue</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01466">linear_solver.h:1466</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a942431e14468f0267cd417fabc48f829"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a942431e14468f0267cd417fabc48f829">operations_research::MPSolver::ComputeConstraintActivities</a></div><divclass="ttdeci">std::vector< double > ComputeConstraintActivities() const</div><divclass="ttdoc">Advanced usage: compute the "activities" of all constraints, which are the sums of their linear terms...</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01505">linear_solver.cc:1505</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a4eef77bb51bde41e69bed87ea44b86e1"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a4eef77bb51bde41e69bed87ea44b86e1">operations_research::MPSolver::ComputeExactConditionNumber</a></div><divclass="ttdeci">double ComputeExactConditionNumber() const</div><divclass="ttdoc">Advanced usage: computes the exact condition number of the current scaled basis: L1norm(B) * L1norm(i...</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01675">linear_solver.cc:1675</a></div></div>
<divclass="ttc"id="linear__solver_8cc_html_ac5be9926d9754d7c813277a5fe759589"><divclass="ttname"><ahref="linear__solver_8cc.html#ac5be9926d9754d7c813277a5fe759589">ABSL_FLAG</a></div><divclass="ttdeci">ABSL_FLAG(bool, verify_solution, false, "Systematically verify the solution when calling Solve()"", and change the return value of Solve() to ABNORMAL if"" an error was detected.")</div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a2c50b77c283c82d632f0dc605ceca3c3"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a2c50b77c283c82d632f0dc605ceca3c3">operations_research::MPSolver::VerifySolution</a></div><divclass="ttdeci">bool VerifySolution(double tolerance, bool log_errors) const</div><divclass="ttdoc">Advanced usage: Verifies the correctness of the solution.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01521">linear_solver.cc:1521</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a4198b9880783bbbea8b517cc8ce868b3"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a4198b9880783bbbea8b517cc8ce868b3">operations_research::MPSolver::iterations</a></div><divclass="ttdeci">int64_t iterations() const</div><divclass="ttdoc">Returns the number of simplex iterations.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01671">linear_solver.cc:1671</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_abc0dba97ca1c7e5cabcbe0e13adabca7"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#abc0dba97ca1c7e5cabcbe0e13adabca7">operations_research::MPSolver::MakeVar</a></div><divclass="ttdeci">MPVariable * MakeVar(double lb, double ub, bool integer, const std::string &name)</div><divclass="ttdoc">Creates a variable with the given bounds, integrality requirement and name.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01251">linear_solver.cc:1251</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_aaa766a9aa802903bf7a6e5b8fb82c70c"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#aaa766a9aa802903bf7a6e5b8fb82c70c">operations_research::MPSolver::Write</a></div><divclass="ttdeci">void Write(const std::string &file_name)</div><divclass="ttdoc">Writes the model using the solver internal write function.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01422">linear_solver.cc:1422</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_acc00ba1bc76286e8c84346133d407bd7"><divclass="ttname"><ahref="namespaceoperations__research.html#acc00ba1bc76286e8c84346133d407bd7">operations_research::ExportModelAsLpFormat</a></div><divclass="ttdeci">absl::StatusOr< std::string > ExportModelAsLpFormat(const MPModelProto &model, const MPModelExportOptions &options)</div><divclass="ttdoc">Outputs the current model (variables, constraints, objective) as a string encoded in the so-called "C...</div><divclass="ttdef"><b>Definition:</b><ahref="model__exporter_8cc_source.html#l00213">model_exporter.cc:213</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_variable_html_ad8227ba86a01f26e4f173cd5e219d5d1"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_variable.html#ad8227ba86a01f26e4f173cd5e219d5d1">operations_research::MPVariable::name</a></div><divclass="ttdeci">const std::string & name() const</div><divclass="ttdoc">Returns the name of the variable.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01090">linear_solver.h:1090</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_parameters_html_a372de693ad40b3f42839c8ec6ac845f4"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html#a372de693ad40b3f42839c8ec6ac845f4">operations_research::MPSolverParameters::Reset</a></div><divclass="ttdeci">void Reset()</div><divclass="ttdoc">Sets all parameters to their default value.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l02115">linear_solver.cc:2115</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_variable_html_adf1a0cc6a3736f3db9880392efe02f0e"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_variable.html#adf1a0cc6a3736f3db9880392efe02f0e">operations_research::MPVariable::solution_value</a></div><divclass="ttdeci">double solution_value() const</div><divclass="ttdoc">Returns the value of the variable in the current solution.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00269">linear_solver.cc:269</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_model_proto_html_a24dcbf29c0d6cd766009a182a6484e3b"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_model_proto.html#a24dcbf29c0d6cd766009a182a6484e3b">operations_research::MPModelProto::name</a></div><divclass="ttdeci">const std::string & name() const</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8pb_8h_source.html#l07284">linear_solver.pb.h:7284</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_model_request_html_a4da21bb496ca0b83d6e10939a1bd65d1"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_model_request.html#a4da21bb496ca0b83d6e10939a1bd65d1">operations_research::MPModelRequest::solver_specific_parameters</a></div><divclass="ttdeci">const std::string & solver_specific_parameters() const</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8pb_8h_source.html#l08150">linear_solver.pb.h:8150</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#l01212">linear_solver.h:1212</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#l00443">linear_solver.h:443</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#l01408">linear_solver.h:1408</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_parameters_html_a25a1112e410b183f49ef4ce8da1bdc74a62fd26c37f80b6aabec3b463c55a1c85"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html#a25a1112e410b183f49ef4ce8da1bdc74a62fd26c37f80b6aabec3b463c55a1c85">operations_research::MPSolverParameters::SCALING_ON</a></div><divclass="ttdoc">Scaling is on.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01460">linear_solver.h:1460</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_constraint_html_aeec48f5c4d2d1cc79926734f9b586ad5"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_constraint.html#aeec48f5c4d2d1cc79926734f9b586ad5">operations_research::MPConstraint::dual_value</a></div><divclass="ttdeci">double dual_value() const</div><divclass="ttdoc">Advanced usage: returns the dual value of the constraint in the current solution (only available for ...</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00141">linear_solver.cc:141</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_parameters_html_ad01b184e1c49d8aabd15a268ff976ac8a9d70aea1ff48f145644d82953fd4322a"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html#ad01b184e1c49d8aabd15a268ff976ac8a9d70aea1ff48f145644d82953fd4322a">operations_research::MPSolverParameters::PRESOLVE_OFF</a></div><divclass="ttdoc">Presolve is off.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01428">linear_solver.h:1428</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_ab32654406932f9a6afcf44c4d5a143d2"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#ab32654406932f9a6afcf44c4d5a143d2">operations_research::MPSolver::OutputIsEnabled</a></div><divclass="ttdeci">bool OutputIsEnabled() const</div><divclass="ttdoc">Controls (or queries) the amount of output produced by the underlying solver.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01665">linear_solver.cc:1665</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a03666f2e70e42a9560aa9ce7416d2644"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a03666f2e70e42a9560aa9ce7416d2644">operations_research::MPSolver::NumConstraints</a></div><divclass="ttdeci">int NumConstraints() const</div><divclass="ttdoc">Returns the number of constraints.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00370">linear_solver.h:370</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a648a61e30b62b1c17ab1f49fe6c9ed8d"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a648a61e30b62b1c17ab1f49fe6c9ed8d">operations_research::MPSolver::MakeNumVarArray</a></div><divclass="ttdeci">void MakeNumVarArray(int nb, double lb, double ub, const std::string &name, std::vector< MPVariable * > *vars)</div><divclass="ttdoc">Creates an array of continuous variables.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01296">linear_solver.cc:1296</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_variable_html_acca41811e8aaab0112b987749c0ecb93"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_variable.html#acca41811e8aaab0112b987749c0ecb93">operations_research::MPVariable::index</a></div><divclass="ttdeci">int index() const</div><divclass="ttdoc">Returns the index of the variable in the MPSolver::variables_.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01108">linear_solver.h:1108</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_model_proto_html_a9592d7e820a118458aed953cbd635645"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_model_proto.html#a9592d7e820a118458aed953cbd635645">operations_research::MPModelProto::solution_hint</a></div><divclass="ttdeci">const ::operations_research::PartialVariableAssignment & solution_hint() const</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8pb_8h_source.html#l07359">linear_solver.pb.h:7359</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_constraint_html_aecd5fee61b6013b1207c2ea622c849b5"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_constraint.html#aecd5fee61b6013b1207c2ea622c849b5">operations_research::MPConstraint::basis_status</a></div><divclass="ttdeci">MPSolver::BasisStatus basis_status() const</div><divclass="ttdoc">Advanced usage: returns the basis status of the constraint.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00150">linear_solver.cc:150</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_parameters_html_a692014f815d7927760762b046675f658"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html#a692014f815d7927760762b046675f658">operations_research::MPSolverParameters::GetDoubleParam</a></div><divclass="ttdeci">double GetDoubleParam(MPSolverParameters::DoubleParam param) const</div><divclass="ttdoc">Returns the value of a double parameter.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l02125">linear_solver.cc:2125</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#l01410">linear_solver.h:1410</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_objective_html_a615d9bd9c0c88aa56d31fdf95fbb5749"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_objective.html#a615d9bd9c0c88aa56d31fdf95fbb5749">operations_research::MPObjective::AddLinearExpr</a></div><divclass="ttdeci">void AddLinearExpr(const LinearExpr &linear_expr)</div><divclass="ttdoc">Adds linear_expr to the current objective, does not change the direction.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00224">linear_solver.cc:224</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_ab0f83070e72cee887e874382ee6d6958"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#ab0f83070e72cee887e874382ee6d6958">operations_research::MPSolver::LoadModelFromProto</a></div><divclass="ttdeci">MPSolverResponseStatus LoadModelFromProto(const MPModelProto &input_model, std::string *error_message)</div><divclass="ttdoc">Loads model from protocol buffer.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00644">linear_solver.cc:644</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_a4175e34e3e7f573a9dd0187b199afc24"><divclass="ttname"><ahref="namespaceoperations__research.html#a4175e34e3e7f573a9dd0187b199afc24">operations_research::AreWithinAbsoluteOrRelativeTolerances</a></div><divclass="ttdeci">bool AreWithinAbsoluteOrRelativeTolerances(FloatType x, FloatType y, FloatType relative_tolerance, FloatType absolute_tolerance)</div><divclass="ttdef"><b>Definition:</b><ahref="fp__utils_8h_source.html#l00124">fp_utils.h:124</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_objective_html_a3df780d69d67985929c76e750f913e21"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_objective.html#a3df780d69d67985929c76e750f913e21">operations_research::MPObjective::maximization</a></div><divclass="ttdeci">bool maximization() const</div><divclass="ttdoc">Is the optimization direction set to maximize?</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00250">linear_solver.cc:250</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_constraint_html_accc4f1882f13ad57ef6bbe8fbe5d365d"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_constraint.html#accc4f1882f13ad57ef6bbe8fbe5d365d">operations_research::MPConstraint::lb</a></div><divclass="ttdeci">double lb() const</div><divclass="ttdoc">Returns the lower bound.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01244">linear_solver.h:1244</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_acd4056eff31d3008809b2e0b8a823373"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#acd4056eff31d3008809b2e0b8a823373">operations_research::MPSolver::variable</a></div><divclass="ttdeci">MPVariable * variable(int index) const</div><divclass="ttdoc">Returns the variable at position index.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00311">linear_solver.h:311</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_constraint_html_a2def997791a2a5119c3502aa68c34181"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_constraint.html#a2def997791a2a5119c3502aa68c34181">operations_research::MPConstraint::SetCoefficient</a></div><divclass="ttdeci">void SetCoefficient(const MPVariable *const var, double coeff)</div><divclass="ttdoc">Sets the coefficient of the variable on the constraint.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00101">linear_solver.cc:101</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_aa38b5851203ddc9f64f01b87ad346ea1"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#aa38b5851203ddc9f64f01b87ad346ea1">operations_research::MPSolver::nodes</a></div><divclass="ttdeci">int64_t nodes() const</div><divclass="ttdoc">Returns the number of branch-and-bound nodes evaluated during the solve.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01673">linear_solver.cc:1673</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#l00453">linear_solver.h:453</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_variable_html_accc4f1882f13ad57ef6bbe8fbe5d365d"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_variable.html#accc4f1882f13ad57ef6bbe8fbe5d365d">operations_research::MPVariable::lb</a></div><divclass="ttdeci">double lb() const</div><divclass="ttdoc">Returns the lower bound.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01111">linear_solver.h:1111</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_parameters_html_a215b66c2ff063ffbf5b538ee402304cba34d17de87fc7339e07256ca5319dfa67"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html#a215b66c2ff063ffbf5b538ee402304cba34d17de87fc7339e07256ca5319dfa67">operations_research::MPSolverParameters::INCREMENTALITY_ON</a></div><divclass="ttdoc">Reuse results from previous solve as much as the underlying solver allows.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01452">linear_solver.h:1452</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_acede9075c58cb2f506c99a9fe6f20303"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#acede9075c58cb2f506c99a9fe6f20303">operations_research::MPSolver::Solve</a></div><divclass="ttdeci">ResultStatus Solve()</div><divclass="ttdoc">Solves the problem using the default parameter values.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01390">linear_solver.cc:1390</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#l00183">linear_solver.h:183</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_linear_expr_html"><divclass="ttname"><ahref="classoperations__research_1_1_linear_expr.html">operations_research::LinearExpr</a></div><divclass="ttdoc">LinearExpr models a quantity that is linear in the decision variables (MPVariable) of an optimization...</div><divclass="ttdef"><b>Definition:</b><ahref="linear__expr_8h_source.html#l00114">linear_expr.h:114</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_parameters_html_a0623b9007b18f0e4bb078fb6eb4dadaa"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html#a0623b9007b18f0e4bb078fb6eb4dadaa">operations_research::MPSolverParameters::kUnknownIntegerParamValue</a></div><divclass="ttdeci">static const int kUnknownIntegerParamValue</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01470">linear_solver.h:1470</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#l00449">linear_solver.h:449</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_a8511ded0dd137bb52026b223ba0669b3"><divclass="ttname"><ahref="namespaceoperations__research.html#a8511ded0dd137bb52026b223ba0669b3">operations_research::ExportModelAsMpsFormat</a></div><divclass="ttdeci">absl::StatusOr< std::string > ExportModelAsMpsFormat(const MPModelProto &model, const MPModelExportOptions &options)</div><divclass="ttdoc">Outputs the current model (variables, constraints, objective) as a string encoded in MPS file format,...</div><divclass="ttdef"><b>Definition:</b><ahref="model__exporter_8cc_source.html#l00230">model_exporter.cc:230</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#l01446">linear_solver.h:1446</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_aadcc43314d8f7efc8021b3946a792735"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#aadcc43314d8f7efc8021b3946a792735">operations_research::MPSolver::MakeRowConstraint</a></div><divclass="ttdeci">MPConstraint * MakeRowConstraint()</div><divclass="ttdoc">Creates a constraint with -infinity and +infinity bounds.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01317">linear_solver.cc:1317</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_a9719cad5eece9b747a6332dd39126f0c"><divclass="ttname"><ahref="namespaceoperations__research.html#a9719cad5eece9b747a6332dd39126f0c">operations_research::ExtractValidMPModelOrPopulateResponseStatus</a></div><divclass="ttdeci">absl::optional< LazyMutableCopy< MPModelProto >> ExtractValidMPModelOrPopulateResponseStatus(const MPModelRequest &request, MPSolutionResponse *response)</div><divclass="ttdoc">If the model is valid and non-empty, returns it (possibly after extracting the model_delta).</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_2model__validator_8cc_source.html#l00541">linear_solver/model_validator.cc:541</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_constraint_html_ab0c809243bacbba99e083bddd16ebcaa"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_constraint.html#ab0c809243bacbba99e083bddd16ebcaa">operations_research::MPConstraint::is_lazy</a></div><divclass="ttdeci">bool is_lazy() const</div><divclass="ttdoc">Advanced usage: returns true if the constraint is "lazy" (see below).</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01259">linear_solver.h:1259</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a858f72e8c0c03339c8d797d41a6fd4b8"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a858f72e8c0c03339c8d797d41a6fd4b8">operations_research::MPSolver::SolverVersion</a></div><divclass="ttdeci">std::string SolverVersion() const</div><divclass="ttdoc">Returns a string describing the underlying solver and its version.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00332">linear_solver.cc:332</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a191cd9b1ba3e3c01a558a1f6c02a4429"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a191cd9b1ba3e3c01a558a1f6c02a4429">operations_research::MPSolver::Name</a></div><divclass="ttdeci">const std::string & Name() const</div><divclass="ttdoc">Returns the name of the model set at construction.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00283">linear_solver.h:283</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_linear_range_html_ac94f6b1a6cc64b35da3b2a250e0c606d"><divclass="ttname"><ahref="classoperations__research_1_1_linear_range.html#ac94f6b1a6cc64b35da3b2a250e0c606d">operations_research::LinearRange::linear_expr</a></div><divclass="ttdeci">const LinearExpr & linear_expr() const</div><divclass="ttdef"><b>Definition:</b><ahref="linear__expr_8h_source.html#l00206">linear_expr.h:206</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#l01395">linear_solver.h:1395</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_objective_html_aa71d36872f416feaa853788a7a7a7ef8"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_objective.html#aa71d36872f416feaa853788a7a7a7ef8">operations_research::MPObjective::Clear</a></div><divclass="ttdeci">void Clear()</div><divclass="ttdoc">Clears the offset, all variables and coefficients, and the optimization direction.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00232">linear_solver.cc:232</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a77ad9d38d3dfbc7580cd810761dc1df4"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a77ad9d38d3dfbc7580cd810761dc1df4">operations_research::MPSolver::LoadSolutionFromProto</a></div><divclass="ttdeci">absl::Status LoadSolutionFromProto(const MPSolutionResponse &response, double tolerance=std::numeric_limits< double >::infinity())</div><divclass="ttdoc">Load a solution encoded in a protocol buffer onto this solver for easy access via the MPSolver interf...</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01132">linear_solver.cc:1132</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_ae74ce5ecb0dd3b4bcddb31bd59da7089"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#ae74ce5ecb0dd3b4bcddb31bd59da7089">operations_research::MPSolver::LoadModelFromProtoWithUniqueNamesOrDie</a></div><divclass="ttdeci">MPSolverResponseStatus LoadModelFromProtoWithUniqueNamesOrDie(const MPModelProto &input_model, std::string *error_message)</div><divclass="ttdoc">Loads model from protocol buffer.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00657">linear_solver.cc:657</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_aa9a00625dd56e64b32c97b95445a1b9c"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#aa9a00625dd56e64b32c97b95445a1b9c">operations_research::MPSolver::ExportModelAsLpFormat</a></div><divclass="ttdeci">bool ExportModelAsLpFormat(bool obfuscate, std::string *model_str) const</div><divclass="ttdoc">Shortcuts to the homonymous MPModelProtoExporter methods, via exporting to a MPModelProto with Export...</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01688">linear_solver.cc:1688</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#l01418">linear_solver.h:1418</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_parameters_html_ad01b184e1c49d8aabd15a268ff976ac8"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html#ad01b184e1c49d8aabd15a268ff976ac8">operations_research::MPSolverParameters::PresolveValues</a></div><divclass="ttdeci">PresolveValues</div><divclass="ttdoc">For each categorical parameter, enumeration of possible values.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01426">linear_solver.h:1426</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_linear_range_html"><divclass="ttname"><ahref="classoperations__research_1_1_linear_range.html">operations_research::LinearRange</a></div><divclass="ttdoc">An expression of the form:</div><divclass="ttdef"><b>Definition:</b><ahref="linear__expr_8h_source.html#l00192">linear_expr.h:192</a></div></div>
<divclass="ttc"id="structoperations__research_1_1_m_p_model_export_options_html_a838f4806313e963115cf7e9a8f7ab7e7"><divclass="ttname"><ahref="structoperations__research_1_1_m_p_model_export_options.html#a838f4806313e963115cf7e9a8f7ab7e7">operations_research::MPModelExportOptions::obfuscate</a></div><divclass="ttdeci">bool obfuscate</div><divclass="ttdoc">Obfuscates variable and constraint names.</div><divclass="ttdef"><b>Definition:</b><ahref="model__exporter_8h_source.html#l00033">model_exporter.h:33</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a880227c1bbe5a1a2a21796a947804615"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a880227c1bbe5a1a2a21796a947804615">operations_research::MPSolver::ExportModelToProto</a></div><divclass="ttdeci">void ExportModelToProto(MPModelProto *output_model) const</div><divclass="ttdoc">Exports model to protocol buffer.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01043">linear_solver.cc:1043</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_variable_html_a94743823a7ad3c565902fcf7956d4ae2"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_variable.html#a94743823a7ad3c565902fcf7956d4ae2">operations_research::MPVariable::SetInteger</a></div><divclass="ttdeci">void SetInteger(bool integer)</div><divclass="ttdoc">Sets the integrality requirement of the variable.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00313">linear_solver.cc:313</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a19476a1c421b9ee05231ee9af2387057"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a19476a1c421b9ee05231ee9af2387057">operations_research::MPSolver::constraint</a></div><divclass="ttdeci">MPConstraint * constraint(int index) const</div><divclass="ttdoc">Returns the constraint at the given index.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00380">linear_solver.h:380</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_aad8e8f47697c2149ae4ee449bcc3142c"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#aad8e8f47697c2149ae4ee449bcc3142c">operations_research::MPSolver::SolveWithProto</a></div><divclass="ttdeci">static void SolveWithProto(const MPModelRequest &model_request, MPSolutionResponse *response, std::atomic< bool > *interrupt=nullptr)</div><divclass="ttdoc">Solves the model encoded by a MPModelRequest protocol buffer and fills the solution encoded as a MPSo...</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00860">linear_solver.cc:860</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a018794097e44ee8189380eef2b0f267f"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a018794097e44ee8189380eef2b0f267f">operations_research::MPSolver::FillSolutionResponseProto</a></div><divclass="ttdeci">void FillSolutionResponseProto(MPSolutionResponse *response) const</div><divclass="ttdoc">Encodes the current solution in a solution response protocol buffer.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00818">linear_solver.cc:818</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#l00996">linear_solver.h:996</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_variable_html_a7a302239fbb1f938a513636a6c7a3e2d"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_variable.html#a7a302239fbb1f938a513636a6c7a3e2d">operations_research::MPVariable::reduced_cost</a></div><divclass="ttdeci">double reduced_cost() const</div><divclass="ttdoc">Advanced usage: returns the reduced cost of the variable in the current solution (only available for ...</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00283">linear_solver.cc:283</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_objective_html_addbc1b5c5e43ec84e2ffc8ec3ab9d830"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_objective.html#addbc1b5c5e43ec84e2ffc8ec3ab9d830">operations_research::MPObjective::SetOptimizationDirection</a></div><divclass="ttdeci">void SetOptimizationDirection(bool maximize)</div><divclass="ttdoc">Sets the optimization direction (maximize: true or minimize: false).</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00239">linear_solver.cc:239</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_ab9b8c3ea993ee19fd9cb68fb3240e09f"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#ab9b8c3ea993ee19fd9cb68fb3240e09f">operations_research::MPSolver::NextSolution</a></div><divclass="ttdeci">ABSL_MUST_USE_RESULT bool NextSolution()</div><divclass="ttdoc">Some solvers (MIP only, not LP) can produce multiple solutions to the problem.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l01736">linear_solver.cc:1736</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_html_a99d93314680536172186038b12cf2d85"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver.html#a99d93314680536172186038b12cf2d85">operations_research::MPSolver::ParseSolverType</a></div><divclass="ttdeci">static bool ParseSolverType(absl::string_view solver_id, OptimizationProblemType *type)</div><divclass="ttdoc">Parses the name of the solver.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8cc_source.html#l00539">linear_solver.cc:539</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>
<divclass="ttc"id="classoperations__research_1_1_m_p_constraint_html_ac7502afa7413b2969adcfe572accefde"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_constraint.html#ac7502afa7413b2969adcfe572accefde">operations_research::MPConstraint::set_is_lazy</a></div><divclass="ttdeci">void set_is_lazy(bool laziness)</div><divclass="ttdoc">Advanced usage: sets the constraint "laziness".</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01274">linear_solver.h:1274</a></div></div>
<divclass="ttc"id="classoperations__research_1_1_m_p_solver_parameters_html_a25a1112e410b183f49ef4ce8da1bdc74ab3f9de74d2d20c2eebcec60b7273d485"><divclass="ttname"><ahref="classoperations__research_1_1_m_p_solver_parameters.html#a25a1112e410b183f49ef4ce8da1bdc74ab3f9de74d2d20c2eebcec60b7273d485">operations_research::MPSolverParameters::SCALING_OFF</a></div><divclass="ttdoc">Scaling is off.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01458">linear_solver.h:1458</a></div></div>