<ahref="linear__solver_8h.html">Go to the documentation of this file.</a><divclass="fragment"><divclass="line"><aname="l00001"></a><spanclass="lineno"> 1</span> <spanclass="comment">// Copyright 2010-2018 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="l00134"></a><spanclass="lineno"> 134</span> <spanclass="preprocessor">#ifndef OR_TOOLS_LINEAR_SOLVER_LINEAR_SOLVER_H_</span></div><divclass="line"><aname="l00135"></a><spanclass="lineno"> 135</span> <spanclass="preprocessor">#define OR_TOOLS_LINEAR_SOLVER_LINEAR_SOLVER_H_</span></div><divclass="line"><aname="l00136"></a><spanclass="lineno"> 136</span> </div><divclass="line"><aname="l00137"></a><spanclass="lineno"> 137</span> <spanclass="preprocessor">#include <functional></span></div><divclass="line"><aname="l00138"></a><spanclass="lineno"> 138</span> <spanclass="preprocessor">#include <limits></span></div><divclass="line"><aname="l00139"></a><spanclass="lineno"> 139</span> <spanclass="preprocessor">#include <map></span></div><divclass="line"><aname="l00140"></a><spanclass="lineno"> 140</span> <spanclass="preprocessor">#include <memory></span></div><divclass="line"><aname="l00141"></a><spanclass="lineno"> 141</span> <spanclass="preprocessor">#include <string></span></div><divclass="line"><aname="l00142"></a><spanclass="lineno"> 142</span> <spanclass="preprocessor">#include <utility></span></div><divclass="line"><aname="l00143"></a><spanclass="lineno"> 143</span> <spanclass="preprocessor">#include <vector></span></div><divclass="line"><aname="l00144"></a><spanclass="lineno"> 144</span> </div><divclass="line"><aname="l00145"></a><spanclass="lineno"> 145</span> <spanclass="preprocessor">#include "absl/container/flat_hash_map.h"</span></div><divclass="line"><aname="l00146"></a><spanclass="lineno"> 146</span> <spanclass="preprocessor">#include "absl/strings/match.h"</span></div><divclass="line"><aname="l00147"></a><spanclass="lineno"> 147</span> <spanclass="preprocessor">#include "absl/strings/str_format.h&q
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_ac8f18a88f586c725cfffc613499926a0a0ea983a7a805bc98c2cf9a1000c1ef95"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#ac8f18a88f586c725cfffc613499926a0a0ea983a7a805bc98c2cf9a1000c1ef95">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#l01329">linear_solver.h:1329</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPConstraint_html_a5c083b37243075a00bf909840dc7c933"><divclass="ttname"><ahref="classoperations__research_1_1MPConstraint.html#a5c083b37243075a00bf909840dc7c933">operations_research::MPConstraint::SLMInterface</a></div><divclass="ttdeci">friend class SLMInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01219">linear_solver.h:1219</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_aba6c839cf1c09f5d48ff6072cd6b28c5"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#aba6c839cf1c09f5d48ff6072cd6b28c5">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></div>
<divclass="ttc"id="classoperations__research_1_1MPConstraint_html_a7f5fd19dabe1dbb767fc544fd6e95f26"><divclass="ttname"><ahref="classoperations__research_1_1MPConstraint.html#a7f5fd19dabe1dbb767fc544fd6e95f26">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></div>
<divclass="ttc"id="classoperations__research_1_1MPVariable_html_a044841d06c6de76db6f4978bf57898ec"><divclass="ttname"><ahref="classoperations__research_1_1MPVariable.html#a044841d06c6de76db6f4978bf57898ec">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#l01007">linear_solver.h:1007</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_afcfb05b6d356807556f65f1b845897a8"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#afcfb05b6d356807556f65f1b845897a8">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></div>
<divclass="ttc"id="classoperations__research_1_1MPVariable_html_aee1ddf25e86286c16face31551751bda"><divclass="ttname"><ahref="classoperations__research_1_1MPVariable.html#aee1ddf25e86286c16face31551751bda">operations_research::MPVariable::KnapsackInterface</a></div><divclass="ttdeci">friend class KnapsackInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01085">linear_solver.h:1085</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPConstraint_html_acbd4413b1370baca9c45aecb0cb8ebd2"><divclass="ttname"><ahref="classoperations__research_1_1MPConstraint.html#acbd4413b1370baca9c45aecb0cb8ebd2">operations_research::MPConstraint::SatInterface</a></div><divclass="ttdeci">friend class SatInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01224">linear_solver.h:1224</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a236f9752f4df4c5134617330a040ec8a"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a236f9752f4df4c5134617330a040ec8a">operations_research::MPSolver::SCIPInterface</a></div><divclass="ttdeci">friend class SCIPInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00761">linear_solver.h:761</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_ae7cbd08108e1636184f28c1a71c42393"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#ae7cbd08108e1636184f28c1a71c42393">operations_research::MPSolver::CplexInterface</a></div><divclass="ttdeci">friend class CplexInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00763">linear_solver.h:763</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPVariable_html_a6d0e4798441493244b31f29ee5ac26ad"><divclass="ttname"><ahref="classoperations__research_1_1MPVariable.html#a6d0e4798441493244b31f29ee5ac26ad">operations_research::MPVariable::branching_priority</a></div><divclass="ttdeci">int branching_priority() const</div><divclass="ttdoc">Advanced usage: Certain MIP solvers (e.g.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01068">linear_solver.h:1068</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_a2131c9028ff6d7047c8272c3ea3e62e3"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#a2131c9028ff6d7047c8272c3ea3e62e3">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></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a16bca30fdb1b048d987631b757c63192a5c14184aabfffdb489347ab0486c8492"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a16bca30fdb1b048d987631b757c63192a5c14184aabfffdb489347ab0486c8492">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#l00413">linear_solver.h:413</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_ac8f18a88f586c725cfffc613499926a0"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#ac8f18a88f586c725cfffc613499926a0">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#l01323">linear_solver.h:1323</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.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#l00174">linear_solver.h:174</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPVariable_html_af5a7cf0c655f37c0b388a2ddcf32ac3e"><divclass="ttname"><ahref="classoperations__research_1_1MPVariable.html#af5a7cf0c655f37c0b388a2ddcf32ac3e">operations_research::MPVariable::CBCInterface</a></div><divclass="ttdeci">friend class CBCInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01074">linear_solver.h:1074</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a1593ede4c9cd1da430f606127dc9a642"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a1593ede4c9cd1da430f606127dc9a642">operations_research::MPSolver::variables</a></div><divclass="ttdeci">const std::vector< MPVariable * >& variables() const</div><divclass="ttdoc">Returns the array of variables handled by the MPSolver.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00274">linear_solver.h:274</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPConstraint_html_a85c6d75f990f000e5863b83bd56e0e98"><divclass="ttname"><ahref="classoperations__research_1_1MPConstraint.html#a85c6d75f990f000e5863b83bd56e0e98">operations_research::MPConstraint::SetLB</a></div><divclass="ttdeci">void SetLB(double lb)</div><divclass="ttdoc">Sets the lower bound.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01160">linear_solver.h:1160</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPVariable_html_a0001ce8a3240bd00b49557594a809cdb"><divclass="ttname"><ahref="classoperations__research_1_1MPVariable.html#a0001ce8a3240bd00b49557594a809cdb">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></div>
<divclass="ttc"id="classoperations__research_1_1MPVariable_html_a5608a23aad7a48ea52ba3869b557d036"><divclass="ttname"><ahref="classoperations__research_1_1MPVariable.html#a5608a23aad7a48ea52ba3869b557d036">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></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a15001c5a8f5c0086dddcc4626a5a5ad7"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a15001c5a8f5c0086dddcc4626a5a5ad7">operations_research::MPSolver::iterations</a></div><divclass="ttdeci">int64 iterations() const</div><divclass="ttdoc">Returns the number of simplex iterations.</div></div>
<divclass="ttc"id="classoperations__research_1_1MPConstraint_html_a2d5d7e32b11a7edb4d810f2f10900b17"><divclass="ttname"><ahref="classoperations__research_1_1MPConstraint.html#a2d5d7e32b11a7edb4d810f2f10900b17">operations_research::MPConstraint::terms</a></div><divclass="ttdeci">const absl::flat_hash_map< const MPVariable *, double >& terms() const</div><divclass="ttdoc">Returns a map from variables to their coefficients in the constraint.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01149">linear_solver.h:1149</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_ae384aa3d9095f883a93f5e2e830e0077"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#ae384aa3d9095f883a93f5e2e830e0077">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></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_a9bac90a88459ac4dd9629beeada24a66"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#a9bac90a88459ac4dd9629beeada24a66">operations_research::MPSolverParameters::kDefaultIntegerParamValue</a></div><divclass="ttdeci">static const int kDefaultIntegerParamValue</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01375">linear_solver.h:1375</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_abf4255929ea45766c51cf6138758b277"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#abf4255929ea45766c51cf6138758b277">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></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a16bca30fdb1b048d987631b757c63192a0ce4e033c6bca973cb026780cdb7daa2"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a16bca30fdb1b048d987631b757c63192a0ce4e033c6bca973cb026780cdb7daa2">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#l00411">linear_solver.h:411</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_ac28a56eeedb62d070578a9231f1875ea"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#ac28a56eeedb62d070578a9231f1875ea">operations_research::MPObjective::GurobiInterface</a></div><divclass="ttdeci">friend class GurobiInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00972">linear_solver.h:972</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPVariable_html_acbd4413b1370baca9c45aecb0cb8ebd2"><divclass="ttname"><ahref="classoperations__research_1_1MPVariable.html#acbd4413b1370baca9c45aecb0cb8ebd2">operations_research::MPVariable::SatInterface</a></div><divclass="ttdeci">friend class SatInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01084">linear_solver.h:1084</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_ab6a8a6c57eefce8c07c8a52e053b035b"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#ab6a8a6c57eefce8c07c8a52e053b035b">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></div>
<divclass="ttc"id="classoperations__research_1_1LinearRange_html"><divclass="ttname"><ahref="classoperations__research_1_1LinearRange.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#l00180">linear_expr.h:180</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_af5a7cf0c655f37c0b388a2ddcf32ac3e"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#af5a7cf0c655f37c0b388a2ddcf32ac3e">operations_research::MPSolver::CBCInterface</a></div><divclass="ttdeci">friend class CBCInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00760">linear_solver.h:760</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPVariable_html_a1d74db2a526fd2d8b4e11a4ed4ebf07d"><divclass="ttname"><ahref="classoperations__research_1_1MPVariable.html#a1d74db2a526fd2d8b4e11a4ed4ebf07d">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#l01001">linear_solver.h:1001</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPConstraint_html_a1341c1b4cf65970cc414b18dfc7b7a52"><divclass="ttname"><ahref="classoperations__research_1_1MPConstraint.html#a1341c1b4cf65970cc414b18dfc7b7a52">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#l01169">linear_solver.h:1169</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a650dd472cb06be9f9abcf5bc0833437d"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a650dd472cb06be9f9abcf5bc0833437d">operations_research::MPSolver::ParseSolverType</a></div><divclass="ttdeci">static bool ParseSolverType(absl::string_view solver, OptimizationProblemType *type)</div><divclass="ttdoc">Parses the name of the solver.</div></div>
<divclass="ttc"id="classoperations__research_1_1MPConstraint_html_a7383308e6b9b63b18196798db342ce8a"><divclass="ttname"><ahref="classoperations__research_1_1MPConstraint.html#a7383308e6b9b63b18196798db342ce8a">operations_research::MPConstraint::BopInterface</a></div><divclass="ttdeci">friend class BopInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01223">linear_solver.h:1223</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_a8d6bb2249af13a783033763d292763d4"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#a8d6bb2249af13a783033763d292763d4">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#l00908">linear_solver.h:908</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_ae77fef975a893d6118d955ef2eb72ac9a41abc3f52f70490cd997aa8debace24b"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#ae77fef975a893d6118d955ef2eb72ac9a41abc3f52f70490cd997aa8debace24b">operations_research::MPSolverParameters::SCALING_OFF</a></div><divclass="ttdoc">Scaling is off.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01367">linear_solver.h:1367</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a4834a6747544a7053110a0b20d79dac2"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a4834a6747544a7053110a0b20d79dac2">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#l00388">linear_solver.h:388</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_ae7cbd08108e1636184f28c1a71c42393"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#ae7cbd08108e1636184f28c1a71c42393">operations_research::MPObjective::CplexInterface</a></div><divclass="ttdeci">friend class CplexInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00973">linear_solver.h:973</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_aad1b0ca33b3a2c45d91e2875feb98c66"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#aad1b0ca33b3a2c45d91e2875feb98c66">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></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_add0f9517dc64b1f768952fc490f7be00"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#add0f9517dc64b1f768952fc490f7be00">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></div>
<divclass="ttc"id="classoperations__research_1_1MPConstraint_html_ac28a56eeedb62d070578a9231f1875ea"><divclass="ttname"><ahref="classoperations__research_1_1MPConstraint.html#ac28a56eeedb62d070578a9231f1875ea">operations_research::MPConstraint::GurobiInterface</a></div><divclass="ttdeci">friend class GurobiInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01220">linear_solver.h:1220</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPVariable_html_a5c083b37243075a00bf909840dc7c933"><divclass="ttname"><ahref="classoperations__research_1_1MPVariable.html#a5c083b37243075a00bf909840dc7c933">operations_research::MPVariable::SLMInterface</a></div><divclass="ttdeci">friend class SLMInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01078">linear_solver.h:1078</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPConstraint_html_abdf2c9c953fd4d118e7871a716445600"><divclass="ttname"><ahref="classoperations__research_1_1MPConstraint.html#abdf2c9c953fd4d118e7871a716445600">operations_research::MPConstraint::index</a></div><divclass="ttdeci">int index() const</div><divclass="ttdoc">Returns the index of the constraint in the MPSolver::constraints_.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01190">linear_solver.h:1190</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPVariable_html_a236f9752f4df4c5134617330a040ec8a"><divclass="ttname"><ahref="classoperations__research_1_1MPVariable.html#a236f9752f4df4c5134617330a040ec8a">operations_research::MPVariable::SCIPInterface</a></div><divclass="ttdeci">friend class SCIPInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01077">linear_solver.h:1077</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPVariable_html_ac28a56eeedb62d070578a9231f1875ea"><divclass="ttname"><ahref="classoperations__research_1_1MPVariable.html#ac28a56eeedb62d070578a9231f1875ea">operations_research::MPVariable::GurobiInterface</a></div><divclass="ttdeci">friend class GurobiInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01079">linear_solver.h:1079</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPConstraint_html_ae1a3e0a695903c8e6effd524a7f92784"><divclass="ttname"><ahref="classoperations__research_1_1MPConstraint.html#ae1a3e0a695903c8e6effd524a7f92784">operations_research::MPConstraint::GLPKInterface</a></div><divclass="ttdeci">friend class GLPKInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01217">linear_solver.h:1217</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_ad58cb8cf98c288843ab0d1fd644f6116aef000bbd88ef3ff2715d53a0e1dfbd37"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#ad58cb8cf98c288843ab0d1fd644f6116aef000bbd88ef3ff2715d53a0e1dfbd37">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#l01361">linear_solver.h:1361</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_aee1ddf25e86286c16face31551751bda"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#aee1ddf25e86286c16face31551751bda">operations_research::MPObjective::KnapsackInterface</a></div><divclass="ttdeci">friend class KnapsackInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00977">linear_solver.h:977</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a4fb5381d2f4a764660365168622e4955"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a4fb5381d2f4a764660365168622e4955">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></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_a236f9752f4df4c5134617330a040ec8a"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#a236f9752f4df4c5134617330a040ec8a">operations_research::MPObjective::SCIPInterface</a></div><divclass="ttdeci">friend class SCIPInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00970">linear_solver.h:970</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPConstraint_html_a60944ecdcad88cfb4d4d32feea70c9b5"><divclass="ttname"><ahref="classoperations__research_1_1MPConstraint.html#a60944ecdcad88cfb4d4d32feea70c9b5">operations_research::MPConstraint::CLPInterface</a></div><divclass="ttdeci">friend class CLPInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01216">linear_solver.h:1216</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_a7383308e6b9b63b18196798db342ce8a"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#a7383308e6b9b63b18196798db342ce8a">operations_research::MPObjective::BopInterface</a></div><divclass="ttdeci">friend class BopInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00975">linear_solver.h:975</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPVariable_html_a7383308e6b9b63b18196798db342ce8a"><divclass="ttname"><ahref="classoperations__research_1_1MPVariable.html#a7383308e6b9b63b18196798db342ce8a">operations_research::MPVariable::BopInterface</a></div><divclass="ttdeci">friend class BopInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01083">linear_solver.h:1083</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPConstraint_html_a236f9752f4df4c5134617330a040ec8a"><divclass="ttname"><ahref="classoperations__research_1_1MPConstraint.html#a236f9752f4df4c5134617330a040ec8a">operations_research::MPConstraint::SCIPInterface</a></div><divclass="ttdeci">friend class SCIPInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01218">linear_solver.h:1218</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a0ba0685c817d5c5910c80492dd1a7050"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a0ba0685c817d5c5910c80492dd1a7050">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#l00268">linear_solver.h:268</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_af5a7cf0c655f37c0b388a2ddcf32ac3e"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#af5a7cf0c655f37c0b388a2ddcf32ac3e">operations_research::MPObjective::CBCInterface</a></div><divclass="ttdeci">friend class CBCInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00967">linear_solver.h:967</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPConstraint_html_ad1ee565a0efc50e3a515aeca73553493"><divclass="ttname"><ahref="classoperations__research_1_1MPConstraint.html#ad1ee565a0efc50e3a515aeca73553493">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></div>
<divclass="ttc"id="classoperations__research_1_1MPConstraint_html_a7e9afe55140b2392a99e0e5ad3eab531"><divclass="ttname"><ahref="classoperations__research_1_1MPConstraint.html#a7e9afe55140b2392a99e0e5ad3eab531">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></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a3aaa8bdb57173a9d933ed5f62bb60f42"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a3aaa8bdb57173a9d933ed5f62bb60f42">operations_research::MPSolver::SolveWithProto</a></div><divclass="ttdeci">static void SolveWithProto(const MPModelRequest &model_request, MPSolutionResponse *response)</div><divclass="ttdoc">Solves the model encoded by a MPModelRequest protocol buffer and fills the solution encoded as a MPSo...</div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_a45d822ac67d10cc80b2f70fe6ec555a4"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#a45d822ac67d10cc80b2f70fe6ec555a4">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#l01335">linear_solver.h:1335</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPVariable_html_a8844020cc1376123531cd53c831acdef"><divclass="ttname"><ahref="classoperations__research_1_1MPVariable.html#a8844020cc1376123531cd53c831acdef">operations_research::MPVariable::MPVariableSolutionValueTest</a></div><divclass="ttdeci">friend class MPVariableSolutionValueTest</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01082">linear_solver.h:1082</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a9c8cc8b3c36fe9c08d8e0eefbc98b774"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a9c8cc8b3c36fe9c08d8e0eefbc98b774">operations_research::MPSolver::ExportModelToProto</a></div><divclass="ttdeci">void ExportModelToProto(MPModelProto *output_model) const</div><divclass="ttdoc">Exports model to protocol buffer.</div></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_ab1829576c2533e5de48b38447d9f6823"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#ab1829576c2533e5de48b38447d9f6823">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></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_ae9e67424e09a35840b4fda2942b94c6f"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#ae9e67424e09a35840b4fda2942b94c6f">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></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_a7f1396f72628328fd85ac852191fcc70"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#a7f1396f72628328fd85ac852191fcc70">operations_research::MPObjective::SetMaximization</a></div><divclass="ttdeci">void SetMaximization()</div><divclass="ttdoc">Sets the optimization direction to maximize.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00935">linear_solver.h:935</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_ae1a3e0a695903c8e6effd524a7f92784"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#ae1a3e0a695903c8e6effd524a7f92784">operations_research::MPObjective::GLPKInterface</a></div><divclass="ttdeci">friend class GLPKInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00969">linear_solver.h:969</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPVariable_html_ae1a3e0a695903c8e6effd524a7f92784"><divclass="ttname"><ahref="classoperations__research_1_1MPVariable.html#ae1a3e0a695903c8e6effd524a7f92784">operations_research::MPVariable::GLPKInterface</a></div><divclass="ttdeci">friend class GLPKInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01076">linear_solver.h:1076</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a532d2fb86e5cdc4710e1a168acbbe7f6"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a532d2fb86e5cdc4710e1a168acbbe7f6">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></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a4b11747bf657bf074d1e710121810d13"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a4b11747bf657bf074d1e710121810d13">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></div>
<divclass="ttc"id="classoperations__research_1_1MPConstraint_html_ae7cbd08108e1636184f28c1a71c42393"><divclass="ttname"><ahref="classoperations__research_1_1MPConstraint.html#ae7cbd08108e1636184f28c1a71c42393">operations_research::MPConstraint::CplexInterface</a></div><divclass="ttdeci">friend class CplexInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01221">linear_solver.h:1221</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_ad40ba327269cfff827f23ac4d94414d9"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#ad40ba327269cfff827f23ac4d94414d9">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></div>
<divclass="ttc"id="classoperations__research_1_1MPVariable_html_abb491e237ace37cb5240cde3c3ff2958"><divclass="ttname"><ahref="classoperations__research_1_1MPVariable.html#abb491e237ace37cb5240cde3c3ff2958">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></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_ae77fef975a893d6118d955ef2eb72ac9a33cf90a88928c32c5b56c9375d7dfd18"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#ae77fef975a893d6118d955ef2eb72ac9a33cf90a88928c32c5b56c9375d7dfd18">operations_research::MPSolverParameters::SCALING_ON</a></div><divclass="ttdoc">Scaling is on.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01369">linear_solver.h:1369</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a54e8b352edd37540f788c3fc473fa875"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a54e8b352edd37540f788c3fc473fa875">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#l00256">linear_solver.h:256</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a5c083b37243075a00bf909840dc7c933"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a5c083b37243075a00bf909840dc7c933">operations_research::MPSolver::SLMInterface</a></div><divclass="ttdeci">friend class SLMInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00764">linear_solver.h:764</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPConstraint_html_a2ac836dbebc688c3ac5559fc33c20eb7"><divclass="ttname"><ahref="classoperations__research_1_1MPConstraint.html#a2ac836dbebc688c3ac5559fc33c20eb7">operations_research::MPConstraint::Clear</a></div><divclass="ttdeci">void Clear()</div><divclass="ttdoc">Clears all variables and coefficients. Does not clear the bounds.</div></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_acbd4413b1370baca9c45aecb0cb8ebd2"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#acbd4413b1370baca9c45aecb0cb8ebd2">operations_research::MPObjective::SatInterface</a></div><divclass="ttdeci">friend class SatInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00976">linear_solver.h:976</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a51b5d57f310db13d800e4440ca3c0d0b"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a51b5d57f310db13d800e4440ca3c0d0b">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></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_a45d822ac67d10cc80b2f70fe6ec555a4ac8e04ac3295af6c505a22757490bb018"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#a45d822ac67d10cc80b2f70fe6ec555a4ac8e04ac3295af6c505a22757490bb018">operations_research::MPSolverParameters::PRESOLVE_ON</a></div><divclass="ttdoc">Presolve is on.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01339">linear_solver.h:1339</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPVariable_html_a6c754b527a347994b06eeb49a09ac222"><divclass="ttname"><ahref="classoperations__research_1_1MPVariable.html#a6c754b527a347994b06eeb49a09ac222">operations_research::MPVariable::GLOPInterface</a></div><divclass="ttdeci">friend class GLOPInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01081">linear_solver.h:1081</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPConstraint_html_a6c754b527a347994b06eeb49a09ac222"><divclass="ttname"><ahref="classoperations__research_1_1MPConstraint.html#a6c754b527a347994b06eeb49a09ac222">operations_research::MPConstraint::GLOPInterface</a></div><divclass="ttdeci">friend class GLOPInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01222">linear_solver.h:1222</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_ae96df0f02a46493eba93d2e70709911a"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#ae96df0f02a46493eba93d2e70709911a">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></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a6390f93d9c4e88775d98ec8353ef0979"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a6390f93d9c4e88775d98ec8353ef0979">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></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_a700788b8583ef4c69730be08a1a3ac28"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#a700788b8583ef4c69730be08a1a3ac28">operations_research::MPObjective::minimization</a></div><divclass="ttdeci">bool minimization() const</div><divclass="ttdoc">Is the optimization direction set to minimize?</div></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_a60944ecdcad88cfb4d4d32feea70c9b5"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#a60944ecdcad88cfb4d4d32feea70c9b5">operations_research::MPObjective::CLPInterface</a></div><divclass="ttdeci">friend class CLPInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00968">linear_solver.h:968</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_a9e03dec6fb0099d48a119dd525879dd7"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#a9e03dec6fb0099d48a119dd525879dd7">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></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_af9eea25e667a52dcad270495025e1202"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#af9eea25e667a52dcad270495025e1202">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#l00932">linear_solver.h:932</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_a19a354c154bf034196d7a273feeff737"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#a19a354c154bf034196d7a273feeff737">operations_research::MPObjective::MinimizeLinearExpr</a></div><divclass="ttdeci">void MinimizeLinearExpr(const LinearExpr &linear_expr)</div><divclass="ttdoc">Resets the current objective to minimize linear_expr.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00921">linear_solver.h:921</a></div></div>
<divclass="ttc"id="namespaceoperations__research_html_a2610f938f233d0adcd3142693f4a2683"><divclass="ttname"><ahref="namespaceoperations__research.html#a2610f938f233d0adcd3142693f4a2683">operations_research::operator<<</a></div><divclass="ttdeci">std::ostream & operator<<(std::ostream &os, MPSolver::OptimizationProblemType optimization_problem_type)</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00850">linear_solver.h:850</a></div></div>
<divclass="ttc"id="classoperations__research_1_1LinearExpr_html"><divclass="ttname"><ahref="classoperations__research_1_1LinearExpr.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#l00110">linear_expr.h:110</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a2a4a0234b5830d4ea82d549b3b6b5baf"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a2a4a0234b5830d4ea82d549b3b6b5baf">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></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_a100330795edeb8c1b12c7b8ff74611df"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#a100330795edeb8c1b12c7b8ff74611df">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></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_ad58cb8cf98c288843ab0d1fd644f6116a27013e436bfe1d34ebb6da476c590eee"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#ad58cb8cf98c288843ab0d1fd644f6116a27013e436bfe1d34ebb6da476c590eee">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#l01355">linear_solver.h:1355</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a6837e7545ac2c5cfe95ca9a1c0f013e3"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a6837e7545ac2c5cfe95ca9a1c0f013e3">operations_research::MPSolver::nodes</a></div><divclass="ttdeci">int64 nodes() const</div><divclass="ttdoc">Returns the number of branch-and-bound nodes evaluated during the solve.</div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a42c406c7e6fba381aa2bb41aae4b44f2a32049e26d1ea6f68624fc478b88d98c9"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a42c406c7e6fba381aa2bb41aae4b44f2a32049e26d1ea6f68624fc478b88d98c9">operations_research::MPSolver::GLOP_LINEAR_PROGRAMMING</a></div><divclass="ttdoc">Linear Programming solver using GLOP (Recommended solver).</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00193">linear_solver.h:193</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPVariable_html_a60944ecdcad88cfb4d4d32feea70c9b5"><divclass="ttname"><ahref="classoperations__research_1_1MPVariable.html#a60944ecdcad88cfb4d4d32feea70c9b5">operations_research::MPVariable::CLPInterface</a></div><divclass="ttdeci">friend class CLPInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01075">linear_solver.h:1075</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPVariable_html_a0d23a28f31a3b667f21034551666430e"><divclass="ttname"><ahref="classoperations__research_1_1MPVariable.html#a0d23a28f31a3b667f21034551666430e">operations_research::MPVariable::SetLB</a></div><divclass="ttdeci">void SetLB(double lb)</div><divclass="ttdoc">Sets the lower bound.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01028">linear_solver.h:1028</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPConstraint_html_af5a7cf0c655f37c0b388a2ddcf32ac3e"><divclass="ttname"><ahref="classoperations__research_1_1MPConstraint.html#af5a7cf0c655f37c0b388a2ddcf32ac3e">operations_research::MPConstraint::CBCInterface</a></div><divclass="ttdeci">friend class CBCInterface</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_1MPVariable_html_a02131c51847247fc3f620e4ccb439470"><divclass="ttname"><ahref="classoperations__research_1_1MPVariable.html#a02131c51847247fc3f620e4ccb439470">operations_research::MPVariable::SetInteger</a></div><divclass="ttdeci">void SetInteger(bool integer)</div><divclass="ttdoc">Sets the integrality requirement of the variable.</div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a60944ecdcad88cfb4d4d32feea70c9b5"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a60944ecdcad88cfb4d4d32feea70c9b5">operations_research::MPSolver::CLPInterface</a></div><divclass="ttdeci">friend class CLPInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00759">linear_solver.h:759</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a1535b2a46d5cff6f9727c08085cfbb1f"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a1535b2a46d5cff6f9727c08085cfbb1f">operations_research::MPSolver::Solve</a></div><divclass="ttdeci">ResultStatus Solve()</div><divclass="ttdoc">Solves the problem using default parameter values.</div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a9ef93893d198901ce104d74794dde123"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a9ef93893d198901ce104d74794dde123">operations_research::MPSolver::MakeRowConstraint</a></div><divclass="ttdeci">MPConstraint * MakeRowConstraint()</div><divclass="ttdoc">Creates a constraint with -infinity and +infinity bounds.</div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_ab297ed394e3996ebb0cc43d931deaa16"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#ab297ed394e3996ebb0cc43d931deaa16">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></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a42c406c7e6fba381aa2bb41aae4b44f2"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a42c406c7e6fba381aa2bb41aae4b44f2">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#l00182">linear_solver.h:182</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a1d6101b365c33fb1f73a4c953abeb0ed"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a1d6101b365c33fb1f73a4c953abeb0ed">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#l00251">linear_solver.h:251</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_accb1cea31a73bd0b09bb75882baa9e5f"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#accb1cea31a73bd0b09bb75882baa9e5f">operations_research::MPSolverParameters::MPSolverParameters</a></div><divclass="ttdeci">MPSolverParameters()</div><divclass="ttdoc">The constructor sets all parameters to their default value.</div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_ac8f18a88f586c725cfffc613499926a0a28abd1bbac3e861d5a74f841f8263e05"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#ac8f18a88f586c725cfffc613499926a0a28abd1bbac3e861d5a74f841f8263e05">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#l01327">linear_solver.h:1327</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a7e2a34816b22749e70e23d26f49cf743"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a7e2a34816b22749e70e23d26f49cf743">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#l00612">linear_solver.h:612</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPConstraint_html_a8695f6bddabcff5af750918b919cab7a"><divclass="ttname"><ahref="classoperations__research_1_1MPConstraint.html#a8695f6bddabcff5af750918b919cab7a">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></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a16bca30fdb1b048d987631b757c63192"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a16bca30fdb1b048d987631b757c63192">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#l00399">linear_solver.h:399</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_a3834b74a8764c1c971e10ce9ba2f265ea57e959f9c5ede1f3e683169609fb0488"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#a3834b74a8764c1c971e10ce9ba2f265ea57e959f9c5ede1f3e683169609fb0488">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#l01317">linear_solver.h:1317</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_a1ab47aaf7b73ae8a2664dd262227e3a9"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#a1ab47aaf7b73ae8a2664dd262227e3a9">operations_research::MPObjective::BestBound</a></div><divclass="ttdeci">double BestBound() const</div><divclass="ttdoc">Returns the best objective bound.</div></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_abb79604f28fb7ddada23f4df67e28e32"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#abb79604f28fb7ddada23f4df67e28e32">operations_research::MPObjective::terms</a></div><divclass="ttdeci">const absl::flat_hash_map< const MPVariable *, double >& terms() const</div><divclass="ttdoc">Returns a map from variables to their coefficients in the objective.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00900">linear_solver.h:900</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_a45d822ac67d10cc80b2f70fe6ec555a4a6e658228fc28195fb00675d3dfec2c85"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#a45d822ac67d10cc80b2f70fe6ec555a4a6e658228fc28195fb00675d3dfec2c85">operations_research::MPSolverParameters::PRESOLVE_OFF</a></div><divclass="ttdoc">Presolve is off.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01337">linear_solver.h:1337</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_a6c81985cecabbd5f054974d362db551a"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#a6c81985cecabbd5f054974d362db551a">operations_research::MPSolverParameters::kUnknownIntegerParamValue</a></div><divclass="ttdeci">static const int kUnknownIntegerParamValue</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01379">linear_solver.h:1379</a></div></div>
<divclass="ttc"id="linear__expr_8h_html"><divclass="ttname"><ahref="linear__expr_8h.html">linear_expr.h</a></div><divclass="ttdoc">This file allows you to write natural code (like a mathematical equation) to model optimization probl...</div></div>
<divclass="ttc"id="classoperations__research_1_1MPVariable_html_a1eeda5bea30b1e1f354c2919110e2ff9"><divclass="ttname"><ahref="classoperations__research_1_1MPVariable.html#a1eeda5bea30b1e1f354c2919110e2ff9">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#l01025">linear_solver.h:1025</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.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#l01304">linear_solver.h:1304</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPConstraint_html_a1cc4ca29f46883ebff5bdb2b624318a0"><divclass="ttname"><ahref="classoperations__research_1_1MPConstraint.html#a1cc4ca29f46883ebff5bdb2b624318a0">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#l01125">linear_solver.h:1125</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_acbd4413b1370baca9c45aecb0cb8ebd2"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#acbd4413b1370baca9c45aecb0cb8ebd2">operations_research::MPSolver::SatInterface</a></div><divclass="ttdeci">friend class SatInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00768">linear_solver.h:768</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_ab297405e6084c08a9058012361376762"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#ab297405e6084c08a9058012361376762">operations_research::MPSolverParameters::LpAlgorithmValues</a></div><divclass="ttdeci">LpAlgorithmValues</div><divclass="ttdoc">LP algorithm to use.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01343">linear_solver.h:1343</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPConstraint_html"><divclass="ttname"><ahref="classoperations__research_1_1MPConstraint.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#l01122">linear_solver.h:1122</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a16a3cee848c033e365ebb1cf50bb97cd"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a16a3cee848c033e365ebb1cf50bb97cd">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#l00333">linear_solver.h:333</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_aee1ddf25e86286c16face31551751bda"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#aee1ddf25e86286c16face31551751bda">operations_research::MPSolver::KnapsackInterface</a></div><divclass="ttdeci">friend class KnapsackInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00769">linear_solver.h:769</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_ac28a56eeedb62d070578a9231f1875ea"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#ac28a56eeedb62d070578a9231f1875ea">operations_research::MPSolver::GurobiInterface</a></div><divclass="ttdeci">friend class GurobiInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00762">linear_solver.h:762</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_ad07e28e347a4b2d94d53ca96ae201d70"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#ad07e28e347a4b2d94d53ca96ae201d70">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></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a6394f5b0c08af038bfd9610d2bc4be90"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a6394f5b0c08af038bfd9610d2bc4be90">operations_research::MPSolver::SetNumThreads</a></div><divclass="ttdeci">util::Status SetNumThreads(int num_threads)</div><divclass="ttdoc">Sets the number of threads to use by the underlying solver.</div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a16bca30fdb1b048d987631b757c63192ae7c84444803ea46da465b68fb6e974fa"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a16bca30fdb1b048d987631b757c63192ae7c84444803ea46da465b68fb6e974fa">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#l00409">linear_solver.h:409</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a393a84863fe633baa3c7af4e71c8b147"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a393a84863fe633baa3c7af4e71c8b147">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></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_ada3cdf5254959f2807c3d27bb7e18e27"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#ada3cdf5254959f2807c3d27bb7e18e27">operations_research::MPSolverParameters::Reset</a></div><divclass="ttdeci">void Reset()</div><divclass="ttdoc">Sets all parameters to their default value.</div></div>
<divclass="ttc"id="classoperations__research_1_1MPVariable_html_ae7cbd08108e1636184f28c1a71c42393"><divclass="ttname"><ahref="classoperations__research_1_1MPVariable.html#ae7cbd08108e1636184f28c1a71c42393">operations_research::MPVariable::CplexInterface</a></div><divclass="ttdeci">friend class CplexInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01080">linear_solver.h:1080</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_a7bc16e5febd0604a3400572c0e35c490"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#a7bc16e5febd0604a3400572c0e35c490">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></div>
<divclass="ttc"id="classoperations__research_1_1MPConstraint_html_aee1ddf25e86286c16face31551751bda"><divclass="ttname"><ahref="classoperations__research_1_1MPConstraint.html#aee1ddf25e86286c16face31551751bda">operations_research::MPConstraint::KnapsackInterface</a></div><divclass="ttdeci">friend class KnapsackInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01225">linear_solver.h:1225</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_af9eb46d78f04fa12da7ac27c14becb7d"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#af9eb46d78f04fa12da7ac27c14becb7d">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></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a42c406c7e6fba381aa2bb41aae4b44f2a91bb43cabe6c49465bd7138189f3ea84"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a42c406c7e6fba381aa2bb41aae4b44f2a91bb43cabe6c49465bd7138189f3ea84">operations_research::MPSolver::CLP_LINEAR_PROGRAMMING</a></div><divclass="ttdoc">Linear Programming solver using Coin CBC.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00185">linear_solver.h:185</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_aee22680c23e591329e9ac50ff78f572d"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#aee22680c23e591329e9ac50ff78f572d">operations_research::MPSolver::SolverVersion</a></div><divclass="ttdeci">std::string SolverVersion() const</div><divclass="ttdoc">Returns a std::string describing the underlying solver and its version.</div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a6c754b527a347994b06eeb49a09ac222"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a6c754b527a347994b06eeb49a09ac222">operations_research::MPSolver::GLOPInterface</a></div><divclass="ttdeci">friend class GLOPInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00766">linear_solver.h:766</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_a883fc7ee2a166fc6ff257296f78e9565"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#a883fc7ee2a166fc6ff257296f78e9565">operations_research::MPObjective::maximization</a></div><divclass="ttdeci">bool maximization() const</div><divclass="ttdoc">Is the optimization direction set to maximize?</div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a88ddf26ba2c9524de319f6f307cfde60"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a88ddf26ba2c9524de319f6f307cfde60">operations_research::MPSolver::GetNumThreads</a></div><divclass="ttdeci">int GetNumThreads() const</div><divclass="ttdoc">Returns the number of threads to be used during solve.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00576">linear_solver.h:576</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a299502e4b0e4e6608330fdbe4fb86c94"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a299502e4b0e4e6608330fdbe4fb86c94">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></div>
<divclass="ttc"id="classoperations__research_1_1MPVariable_html"><divclass="ttname"><ahref="classoperations__research_1_1MPVariable.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#l00998">linear_solver.h:998</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPConstraint_html_abf8bbda7b4d608d011f88d2df83db881"><divclass="ttname"><ahref="classoperations__research_1_1MPConstraint.html#abf8bbda7b4d608d011f88d2df83db881">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></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_a3834b74a8764c1c971e10ce9ba2f265ea313eaed42edf309599e71ca7563cce22"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#a3834b74a8764c1c971e10ce9ba2f265ea313eaed42edf309599e71ca7563cce22">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#l01319">linear_solver.h:1319</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverInterface_html_a693c6f125a85b70fe94057be1cfd0819"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverInterface.html#a693c6f125a85b70fe94057be1cfd0819">operations_research::MPSolverInterface::kDummyVariableIndex</a></div><divclass="ttdeci">static const int kDummyVariableIndex</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l01664">linear_solver.h:1664</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_ae1a3e0a695903c8e6effd524a7f92784"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#ae1a3e0a695903c8e6effd524a7f92784">operations_research::MPSolver::GLPKInterface</a></div><divclass="ttdeci">friend class GLPKInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00758">linear_solver.h:758</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPConstraint_html_a7e655031d93cbf4efbe827e3bd662ae7"><divclass="ttname"><ahref="classoperations__research_1_1MPConstraint.html#a7e655031d93cbf4efbe827e3bd662ae7">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#l01157">linear_solver.h:1157</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_ad6bb7605c749ba485b040b02a37f6728"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#ad6bb7605c749ba485b040b02a37f6728">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></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_a6927f7e28f694c55d72496c94a9a6b01"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#a6927f7e28f694c55d72496c94a9a6b01">operations_research::MPObjective::MaximizeLinearExpr</a></div><divclass="ttdeci">void MaximizeLinearExpr(const LinearExpr &linear_expr)</div><divclass="ttdoc">Resets the current objective to maximize linear_expr.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00917">linear_solver.h:917</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a27312cbf1394d779305d016e2ea2753e"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a27312cbf1394d779305d016e2ea2753e">operations_research::MPSolver::ClampSolutionWithinBounds</a></div><divclass="ttdeci">util::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></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a16bca30fdb1b048d987631b757c63192a5930d45ccc1bc78ad06bcd15cbca6a29"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a16bca30fdb1b048d987631b757c63192a5930d45ccc1bc78ad06bcd15cbca6a29">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#l00403">linear_solver.h:403</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a4413905b5839d17823e756cff10d0ffe"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a4413905b5839d17823e756cff10d0ffe">operations_research::MPSolver::InterruptSolve</a></div><divclass="ttdeci">bool InterruptSolve()</div><divclass="ttdoc">Interrupts the Solve() execution to terminate processing if possible.</div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_a4423dd8b21b413522d8b91e4536cfa08"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#a4423dd8b21b413522d8b91e4536cfa08">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></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a91c69a1b2e9098f3835b9fe1c4fead59"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a91c69a1b2e9098f3835b9fe1c4fead59">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></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_aebc45909b1f377ab86295578ec417a17"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#aebc45909b1f377ab86295578ec417a17">operations_research::MPSolver::constraints</a></div><divclass="ttdeci">const std::vector< MPConstraint * >& constraints() const</div><divclass="ttdoc">Returns the array of constraints handled by the MPSolver.</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00340">linear_solver.h:340</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_a3834b74a8764c1c971e10ce9ba2f265eaca78b129ceb19e286889b3274bb8cab3"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#a3834b74a8764c1c971e10ce9ba2f265eaca78b129ceb19e286889b3274bb8cab3">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#l01309">linear_solver.h:1309</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolverParameters_html_a3834b74a8764c1c971e10ce9ba2f265e"><divclass="ttname"><ahref="classoperations__research_1_1MPSolverParameters.html#a3834b74a8764c1c971e10ce9ba2f265e">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#l01307">linear_solver.h:1307</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_aa90a00b370b9abc4a43bfefd7f6a895b"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#aa90a00b370b9abc4a43bfefd7f6a895b">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></div>
<divclass="ttc"id="classoperations__research_1_1MPVariable_html_a9c7aabb1c218e733e719ce2966939586"><divclass="ttname"><ahref="classoperations__research_1_1MPVariable.html#a9c7aabb1c218e733e719ce2966939586">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></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_a24611f7b12b571fe1e73b629a8a6c17b"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#a24611f7b12b571fe1e73b629a8a6c17b">operations_research::MPObjective::SetOffset</a></div><divclass="ttdeci">void SetOffset(double value)</div><divclass="ttdoc">Sets the constant term in the objective.</div></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_a5c083b37243075a00bf909840dc7c933"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#a5c083b37243075a00bf909840dc7c933">operations_research::MPObjective::SLMInterface</a></div><divclass="ttdeci">friend class SLMInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00971">linear_solver.h:971</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPVariable_html_ac9676264a15bac7aae8db95344903b1f"><divclass="ttname"><ahref="classoperations__research_1_1MPVariable.html#ac9676264a15bac7aae8db95344903b1f">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#l01019">linear_solver.h:1019</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.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#l00872">linear_solver.h:872</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_a6c754b527a347994b06eeb49a09ac222"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#a6c754b527a347994b06eeb49a09ac222">operations_research::MPObjective::GLOPInterface</a></div><divclass="ttdeci">friend class GLOPInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00974">linear_solver.h:974</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a7383308e6b9b63b18196798db342ce8a"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a7383308e6b9b63b18196798db342ce8a">operations_research::MPSolver::BopInterface</a></div><divclass="ttdeci">friend class BopInterface</div><divclass="ttdef"><b>Definition:</b><ahref="linear__solver_8h_source.html#l00767">linear_solver.h:767</a></div></div>
<divclass="ttc"id="classoperations__research_1_1MPSolver_html_a0bade4bbf46f4e35513650d38a0a3208"><divclass="ttname"><ahref="classoperations__research_1_1MPSolver.html#a0bade4bbf46f4e35513650d38a0a3208">operations_research::MPSolver::Reset</a></div><divclass="ttdeci">void Reset()</div><divclass="ttdoc">Advanced usage: resets extracted model to solve from scratch.</div></div>
<divclass="ttc"id="classoperations__research_1_1MPObjective_html_a43fd3a9687cfef2591b22c96cbe02477"><divclass="ttname"><ahref="classoperations__research_1_1MPObjective.html#a43fd3a9687cfef2591b22c96cbe02477">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></div>