Files
ortools-clone/docs/cpp_linear/namespaceoperations__research.html
Laurent Perron b599320137 regenerate doc
2019-09-12 09:22:44 +02:00

911 lines
55 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OR-Tools</title>
<meta http-equiv="Content-Type" content="text/html;"/>
<meta charset="utf-8"/>
<!--<link rel='stylesheet' type='text/css' href="https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/>-->
<link rel="stylesheet" type="text/css" href="ortools.css" title="default" media="screen,print" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
</head>
<body>
<div id="banner-container">
<div id="banner">
<span id="sfml">Google OR-Tools 7.4</span>
</div>
</div>
<div id="content" style="width: 100%; overflow: hidden;">
<div style="margin-left: 15px; margin-top: 5px; float: left; color: #145A32;">
<h2>C++ Reference</h2>
<ul>
<li><a href="../cpp_algorithms/annotated.html">Algorithms</a></li>
<li><a href="../cpp_sat/annotated.html">CP-SAT</a></li>
<li><a href="../cpp_graph/annotated.html">Graph</a></li>
<li><a href="../cpp_routing/annotated.html">Routing</a></li>
<li><a href="../cpp_linear/annotated.html">Linear solver</a></li>
</ul>
</div>
<div id="content">
<div align="center">
<h1 style="color: #145A32;">C++ Reference: Linear solver</h1>
</div>
<!-- Generated by Doxygen 1.8.15 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">operations_research Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classoperations__research_1_1LinearExpr.html" title="LinearExpr models a quantity that is linear in the decision variables (MPVariable) of an optimization...">LinearExpr</a> models a quantity that is linear in the decision variables (<a class="el" href="classoperations__research_1_1MPVariable.html" title="The class for variables of a Mathematical Programming (MP) model.">MPVariable</a>) of an optimization problem, i.e. <a href="classoperations__research_1_1LinearExpr.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1LinearRange.html">LinearRange</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An expression of the form: <a href="classoperations__research_1_1LinearRange.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPConstraint.html">MPConstraint</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The class for constraints of a Mathematical Programming (MP) model. <a href="classoperations__research_1_1MPConstraint.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structoperations__research_1_1MPModelExportOptions.html">MPModelExportOptions</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Export options. <a href="structoperations__research_1_1MPModelExportOptions.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPObjective.html">MPObjective</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A class to express a linear objective. <a href="classoperations__research_1_1MPObjective.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPSolver.html">MPSolver</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This mathematical programming (MP) solver class is the main class though which users build and solve problems. <a href="classoperations__research_1_1MPSolver.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPSolverInterface.html">MPSolverInterface</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPSolverParameters.html">MPSolverParameters</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This class stores parameter settings for LP and MIP solvers. <a href="classoperations__research_1_1MPSolverParameters.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPVariable.html">MPVariable</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The class for variables of a Mathematical Programming (MP) model. <a href="classoperations__research_1_1MPVariable.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ad3390eca60a1042a3d81452cea3863aa"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#ad3390eca60a1042a3d81452cea3863aa">operator&lt;&lt;</a> (std::ostream &amp;stream, const <a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> &amp;linear_expr)</td></tr>
<tr class="separator:ad3390eca60a1042a3d81452cea3863aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97f9b83239285f5fdfcac1b8e8b4f162"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a97f9b83239285f5fdfcac1b8e8b4f162">operator+</a> (<a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> lhs, const <a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> &amp;rhs)</td></tr>
<tr class="separator:a97f9b83239285f5fdfcac1b8e8b4f162"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a515cdaf4f9c4000bb3482a0c450e23c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a515cdaf4f9c4000bb3482a0c450e23c3">operator-</a> (<a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> lhs, const <a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> &amp;rhs)</td></tr>
<tr class="separator:a515cdaf4f9c4000bb3482a0c450e23c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a741104fe08089fe3520676487f7a685d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a741104fe08089fe3520676487f7a685d">operator *</a> (<a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> lhs, double rhs)</td></tr>
<tr class="separator:a741104fe08089fe3520676487f7a685d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abebdd7f40e90df8dc7d557b6e26da942"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#abebdd7f40e90df8dc7d557b6e26da942">operator/</a> (<a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> lhs, double rhs)</td></tr>
<tr class="separator:abebdd7f40e90df8dc7d557b6e26da942"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99590470c6ad2d59331b6fcc56609877"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a99590470c6ad2d59331b6fcc56609877">operator *</a> (double lhs, <a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> rhs)</td></tr>
<tr class="separator:a99590470c6ad2d59331b6fcc56609877"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d1fa20f9c9faf7027c0b16f97139e80"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1LinearRange.html">LinearRange</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a6d1fa20f9c9faf7027c0b16f97139e80">operator&lt;=</a> (const <a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> &amp;lhs, const <a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> &amp;rhs)</td></tr>
<tr class="separator:a6d1fa20f9c9faf7027c0b16f97139e80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08146f196bd9c3f492ee108732449ced"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1LinearRange.html">LinearRange</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a08146f196bd9c3f492ee108732449ced">operator==</a> (const <a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> &amp;lhs, const <a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> &amp;rhs)</td></tr>
<tr class="separator:a08146f196bd9c3f492ee108732449ced"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4052f92af6a7fbb1d45e17befcb68e0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1LinearRange.html">LinearRange</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#ac4052f92af6a7fbb1d45e17befcb68e0">operator&gt;=</a> (const <a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> &amp;lhs, const <a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> &amp;rhs)</td></tr>
<tr class="separator:ac4052f92af6a7fbb1d45e17befcb68e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc3e3b80841b587c6fbfd9e9f3ec9c59"><td class="memItemLeft" align="right" valign="top">const absl::string_view&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#afc3e3b80841b587c6fbfd9e9f3ec9c59">ToString</a> (<a class="el" href="classoperations__research_1_1MPSolver.html#a76c87990aabadd148304b95332a60ff8">MPSolver::OptimizationProblemType</a> optimization_problem_type)</td></tr>
<tr class="separator:afc3e3b80841b587c6fbfd9e9f3ec9c59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2610f938f233d0adcd3142693f4a2683"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a2610f938f233d0adcd3142693f4a2683">operator&lt;&lt;</a> (std::ostream &amp;os, <a class="el" href="classoperations__research_1_1MPSolver.html#a76c87990aabadd148304b95332a60ff8">MPSolver::OptimizationProblemType</a> optimization_problem_type)</td></tr>
<tr class="separator:a2610f938f233d0adcd3142693f4a2683"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e3ed7b755e2b756ef48c9b3bad4a780"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a6e3ed7b755e2b756ef48c9b3bad4a780">operator&lt;&lt;</a> (std::ostream &amp;os, <a class="el" href="classoperations__research_1_1MPSolver.html#a573d479910e373f5d771d303e440587d">MPSolver::ResultStatus</a> status)</td></tr>
<tr class="separator:a6e3ed7b755e2b756ef48c9b3bad4a780"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61dc18a85425d0a7cf6aa3e7ce3199f6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a61dc18a85425d0a7cf6aa3e7ce3199f6">AbslParseFlag</a> (absl::string_view text, <a class="el" href="classoperations__research_1_1MPSolver.html#a76c87990aabadd148304b95332a60ff8">MPSolver::OptimizationProblemType</a> *solver_type, std::string *error)</td></tr>
<tr class="separator:a61dc18a85425d0a7cf6aa3e7ce3199f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af04d1dfc591c35038a974202e50e541f"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#af04d1dfc591c35038a974202e50e541f">AbslUnparseFlag</a> (<a class="el" href="classoperations__research_1_1MPSolver.html#a76c87990aabadd148304b95332a60ff8">MPSolver::OptimizationProblemType</a> solver_type)</td></tr>
<tr class="separator:af04d1dfc591c35038a974202e50e541f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a689d3552f87e89456c0c9a43847c964a"><td class="memItemLeft" align="right" valign="top">util::StatusOr&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a689d3552f87e89456c0c9a43847c964a">ExportModelAsLpFormat</a> (const MPModelProto &amp;model, const <a class="el" href="structoperations__research_1_1MPModelExportOptions.html">MPModelExportOptions</a> &amp;options=<a class="el" href="structoperations__research_1_1MPModelExportOptions.html">MPModelExportOptions</a>())</td></tr>
<tr class="memdesc:a689d3552f87e89456c0c9a43847c964a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs the current model (variables, constraints, objective) as a std::string encoded in the so-called "CPLEX LP file format" as generated by SCIP. <a href="#a689d3552f87e89456c0c9a43847c964a">More...</a><br /></td></tr>
<tr class="separator:a689d3552f87e89456c0c9a43847c964a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef684073daca7460490db8d881f886e0"><td class="memItemLeft" align="right" valign="top">util::StatusOr&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#aef684073daca7460490db8d881f886e0">ExportModelAsMpsFormat</a> (const MPModelProto &amp;model, const <a class="el" href="structoperations__research_1_1MPModelExportOptions.html">MPModelExportOptions</a> &amp;options=<a class="el" href="structoperations__research_1_1MPModelExportOptions.html">MPModelExportOptions</a>())</td></tr>
<tr class="memdesc:aef684073daca7460490db8d881f886e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outputs the current model (variables, constraints, objective) as a std::string encoded in MPS file format, using the "free" MPS format. <a href="#aef684073daca7460490db8d881f886e0">More...</a><br /></td></tr>
<tr class="separator:aef684073daca7460490db8d881f886e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d319c19b685fe608fe013b573081351"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a4d319c19b685fe608fe013b573081351">ExportModelAsLpFormatReturnString</a> (const MPModelProto &amp;input_model, const <a class="el" href="structoperations__research_1_1MPModelExportOptions.html">MPModelExportOptions</a> &amp;options=<a class="el" href="structoperations__research_1_1MPModelExportOptions.html">MPModelExportOptions</a>())</td></tr>
<tr class="separator:a4d319c19b685fe608fe013b573081351"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37abd61c0d982af79257814b6d3a733e"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a37abd61c0d982af79257814b6d3a733e">ExportModelAsMpsFormatReturnString</a> (const MPModelProto &amp;input_model, const <a class="el" href="structoperations__research_1_1MPModelExportOptions.html">MPModelExportOptions</a> &amp;options=<a class="el" href="structoperations__research_1_1MPModelExportOptions.html">MPModelExportOptions</a>())</td></tr>
<tr class="separator:a37abd61c0d982af79257814b6d3a733e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a27bb74d09b7ba6ea0e97bb572d2755"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a7a27bb74d09b7ba6ea0e97bb572d2755">FindErrorInMPModelProto</a> (const MPModelProto &amp;model)</td></tr>
<tr class="memdesc:a7a27bb74d09b7ba6ea0e97bb572d2755"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an empty std::string iff the model is valid and not trivially infeasible. <a href="#a7a27bb74d09b7ba6ea0e97bb572d2755">More...</a><br /></td></tr>
<tr class="separator:a7a27bb74d09b7ba6ea0e97bb572d2755"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2506c50d4eb5505613003f685fd1af9f"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a2506c50d4eb5505613003f685fd1af9f">FindErrorInMPModelDeltaProto</a> (const MPModelDeltaProto &amp;delta, const MPModelProto &amp;model)</td></tr>
<tr class="memdesc:a2506c50d4eb5505613003f685fd1af9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Like FindErrorInMPModelProto, but for a MPModelDeltaProto applied to a given baseline model (assumed valid, eg. <a href="#a2506c50d4eb5505613003f685fd1af9f">More...</a><br /></td></tr>
<tr class="separator:a2506c50d4eb5505613003f685fd1af9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ea9cebfb356f7781724405eea08e7f4"><td class="memItemLeft" align="right" valign="top">absl::optional&lt; LazyMutableCopy&lt; MPModelProto &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a9ea9cebfb356f7781724405eea08e7f4">ExtractValidMPModelOrPopulateResponseStatus</a> (const MPModelRequest &amp;request, MPSolutionResponse *response)</td></tr>
<tr class="memdesc:a9ea9cebfb356f7781724405eea08e7f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the model is valid and non-empty, returns it (possibly after extracting the model_delta). <a href="#a9ea9cebfb356f7781724405eea08e7f4">More...</a><br /></td></tr>
<tr class="separator:a9ea9cebfb356f7781724405eea08e7f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a518848a6b3e172d127121637ab5c608d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a518848a6b3e172d127121637ab5c608d">ExtractValidMPModelInPlaceOrPopulateResponseStatus</a> (MPModelRequest *request, MPSolutionResponse *response)</td></tr>
<tr class="memdesc:a518848a6b3e172d127121637ab5c608d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Like <a class="el" href="namespaceoperations__research.html#a9ea9cebfb356f7781724405eea08e7f4" title="If the model is valid and non-empty, returns it (possibly after extracting the model_delta).">ExtractValidMPModelOrPopulateResponseStatus()</a>, but works in-place: if the MPModel needed extraction, it will be populated in the request, and it returns the success boolean. <a href="#a518848a6b3e172d127121637ab5c608d">More...</a><br /></td></tr>
<tr class="separator:a518848a6b3e172d127121637ab5c608d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4ee4d82cf625670cdc1f52197454654"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#ae4ee4d82cf625670cdc1f52197454654">FindFeasibilityErrorInSolutionHint</a> (const MPModelProto &amp;model, double tolerance)</td></tr>
<tr class="memdesc:ae4ee4d82cf625670cdc1f52197454654"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns an empty std::string if the solution hint given in the model is a feasible solution. <a href="#ae4ee4d82cf625670cdc1f52197454654">More...</a><br /></td></tr>
<tr class="separator:ae4ee4d82cf625670cdc1f52197454654"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6841e1b78c89cf9139fc1b9ba1ae8cb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#ae6841e1b78c89cf9139fc1b9ba1ae8cb">MergeMPConstraintProtoExceptTerms</a> (const MPConstraintProto &amp;from, MPConstraintProto *to)</td></tr>
<tr class="separator:ae6841e1b78c89cf9139fc1b9ba1ae8cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ed9bad79131000a00e7f01a5f5b824c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a3ed9bad79131000a00e7f01a5f5b824c">ApplyVerifiedMPModelDelta</a> (const MPModelDeltaProto &amp;delta, MPModelProto *model)</td></tr>
<tr class="separator:a3ed9bad79131000a00e7f01a5f5b824c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a221d711fbd5a16db9dc92a3c5095cbf5"><td class="memItemLeft" align="right" valign="top">constexpr double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceoperations__research.html#a221d711fbd5a16db9dc92a3c5095cbf5">kDefaultPrimalTolerance</a> = 1e-07</td></tr>
<tr class="separator:a221d711fbd5a16db9dc92a3c5095cbf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="a61dc18a85425d0a7cf6aa3e7ce3199f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61dc18a85425d0a7cf6aa3e7ce3199f6">&#9670;&nbsp;</a></span>AbslParseFlag()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool operations_research::AbslParseFlag </td>
<td>(</td>
<td class="paramtype">absl::string_view&#160;</td>
<td class="paramname"><em>text</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1MPSolver.html#a76c87990aabadd148304b95332a60ff8">MPSolver::OptimizationProblemType</a> *&#160;</td>
<td class="paramname"><em>solver_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::string *&#160;</td>
<td class="paramname"><em>error</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af04d1dfc591c35038a974202e50e541f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af04d1dfc591c35038a974202e50e541f">&#9670;&nbsp;</a></span>AbslUnparseFlag()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string operations_research::AbslUnparseFlag </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1MPSolver.html#a76c87990aabadd148304b95332a60ff8">MPSolver::OptimizationProblemType</a>&#160;</td>
<td class="paramname"><em>solver_type</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="linear__solver_8h_source.html#l00867">867</a> of file <a class="el" href="linear__solver_8h_source.html">linear_solver.h</a>.</p>
</div>
</div>
<a id="a3ed9bad79131000a00e7f01a5f5b824c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ed9bad79131000a00e7f01a5f5b824c">&#9670;&nbsp;</a></span>ApplyVerifiedMPModelDelta()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void operations_research::ApplyVerifiedMPModelDelta </td>
<td>(</td>
<td class="paramtype">const MPModelDeltaProto &amp;&#160;</td>
<td class="paramname"><em>delta</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">MPModelProto *&#160;</td>
<td class="paramname"><em>model</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a689d3552f87e89456c0c9a43847c964a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a689d3552f87e89456c0c9a43847c964a">&#9670;&nbsp;</a></span>ExportModelAsLpFormat()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">util::StatusOr&lt;std::string&gt; operations_research::ExportModelAsLpFormat </td>
<td>(</td>
<td class="paramtype">const MPModelProto &amp;&#160;</td>
<td class="paramname"><em>model</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structoperations__research_1_1MPModelExportOptions.html">MPModelExportOptions</a> &amp;&#160;</td>
<td class="paramname"><em>options</em> = <code><a class="el" href="structoperations__research_1_1MPModelExportOptions.html">MPModelExportOptions</a>()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Outputs the current model (variables, constraints, objective) as a std::string encoded in the so-called "CPLEX LP file format" as generated by SCIP. </p>
<p>The LP file format is easily readable by a human.</p>
<p>Returns false if some error has occurred during execution. The validity of names is automatically checked. If a variable name or a constraint name is invalid or non-existent, a new valid name is automatically generated.</p>
<p>If 'obfuscated' is true, the variable and constraint names of proto_ are not used. Variable and constraint names of the form "V12345" and "C12345" are used instead.</p>
<p>For more information about the different LP file formats: <a href="http://lpsolve.sourceforge.net/5.5/lp-format.htm">http://lpsolve.sourceforge.net/5.5/lp-format.htm</a> The following give a reasonable idea of the CPLEX LP file format: <a href="http://lpsolve.sourceforge.net/5.5/CPLEX-format.htm">http://lpsolve.sourceforge.net/5.5/CPLEX-format.htm</a> <a href="http://tinyurl.com/cplex-lp-format">http://tinyurl.com/cplex-lp-format</a> <a href="http://www.gurobi.com/documentation/5.1/reference-manual/node871">http://www.gurobi.com/documentation/5.1/reference-manual/node871</a> </p>
</div>
</div>
<a id="a4d319c19b685fe608fe013b573081351"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d319c19b685fe608fe013b573081351">&#9670;&nbsp;</a></span>ExportModelAsLpFormatReturnString()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string operations_research::ExportModelAsLpFormatReturnString </td>
<td>(</td>
<td class="paramtype">const MPModelProto &amp;&#160;</td>
<td class="paramname"><em>input_model</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structoperations__research_1_1MPModelExportOptions.html">MPModelExportOptions</a> &amp;&#160;</td>
<td class="paramname"><em>options</em> = <code><a class="el" href="structoperations__research_1_1MPModelExportOptions.html">MPModelExportOptions</a>()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="model__exporter__swig__helper_8h_source.html#l00024">24</a> of file <a class="el" href="model__exporter__swig__helper_8h_source.html">model_exporter_swig_helper.h</a>.</p>
</div>
</div>
<a id="aef684073daca7460490db8d881f886e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef684073daca7460490db8d881f886e0">&#9670;&nbsp;</a></span>ExportModelAsMpsFormat()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">util::StatusOr&lt;std::string&gt; operations_research::ExportModelAsMpsFormat </td>
<td>(</td>
<td class="paramtype">const MPModelProto &amp;&#160;</td>
<td class="paramname"><em>model</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structoperations__research_1_1MPModelExportOptions.html">MPModelExportOptions</a> &amp;&#160;</td>
<td class="paramname"><em>options</em> = <code><a class="el" href="structoperations__research_1_1MPModelExportOptions.html">MPModelExportOptions</a>()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Outputs the current model (variables, constraints, objective) as a std::string encoded in MPS file format, using the "free" MPS format. </p>
<p>Returns false if some error has occurred during execution. Models with maximization objectives trigger an error, because MPS can encode only minimization problems.</p>
<p>The validity of names is automatically checked. If a variable name or a constraint name is invalid or non-existent, a new valid name is automatically generated.</p>
<p>Name validity and obfuscation works exactly as in <a class="el" href="namespaceoperations__research.html#a689d3552f87e89456c0c9a43847c964a" title="Outputs the current model (variables, constraints, objective) as a std::string encoded in the so-call...">ExportModelAsLpFormat()</a>.</p>
<p>For more information about the MPS format: <a href="http://en.wikipedia.org/wiki/MPS_(format)">http://en.wikipedia.org/wiki/MPS_(format)</a> A close-to-original description coming from OSL: <a href="http://tinyurl.com/mps-format-by-osl">http://tinyurl.com/mps-format-by-osl</a> A recent description from CPLEX: <a href="http://tinyurl.com/mps-format-by-cplex">http://tinyurl.com/mps-format-by-cplex</a> CPLEX extensions: <a href="http://tinyurl.com/mps-extensions-by-cplex">http://tinyurl.com/mps-extensions-by-cplex</a> Gurobi's description: <a href="http://www.gurobi.com/documentation/5.1/reference-manual/node869">http://www.gurobi.com/documentation/5.1/reference-manual/node869</a> </p>
</div>
</div>
<a id="a37abd61c0d982af79257814b6d3a733e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37abd61c0d982af79257814b6d3a733e">&#9670;&nbsp;</a></span>ExportModelAsMpsFormatReturnString()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string operations_research::ExportModelAsMpsFormatReturnString </td>
<td>(</td>
<td class="paramtype">const MPModelProto &amp;&#160;</td>
<td class="paramname"><em>input_model</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structoperations__research_1_1MPModelExportOptions.html">MPModelExportOptions</a> &amp;&#160;</td>
<td class="paramname"><em>options</em> = <code><a class="el" href="structoperations__research_1_1MPModelExportOptions.html">MPModelExportOptions</a>()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="model__exporter__swig__helper_8h_source.html#l00031">31</a> of file <a class="el" href="model__exporter__swig__helper_8h_source.html">model_exporter_swig_helper.h</a>.</p>
</div>
</div>
<a id="a518848a6b3e172d127121637ab5c608d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a518848a6b3e172d127121637ab5c608d">&#9670;&nbsp;</a></span>ExtractValidMPModelInPlaceOrPopulateResponseStatus()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool operations_research::ExtractValidMPModelInPlaceOrPopulateResponseStatus </td>
<td>(</td>
<td class="paramtype">MPModelRequest *&#160;</td>
<td class="paramname"><em>request</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">MPSolutionResponse *&#160;</td>
<td class="paramname"><em>response</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Like <a class="el" href="namespaceoperations__research.html#a9ea9cebfb356f7781724405eea08e7f4" title="If the model is valid and non-empty, returns it (possibly after extracting the model_delta).">ExtractValidMPModelOrPopulateResponseStatus()</a>, but works in-place: if the MPModel needed extraction, it will be populated in the request, and it returns the success boolean. </p>
</div>
</div>
<a id="a9ea9cebfb356f7781724405eea08e7f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ea9cebfb356f7781724405eea08e7f4">&#9670;&nbsp;</a></span>ExtractValidMPModelOrPopulateResponseStatus()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">absl::optional&lt;LazyMutableCopy&lt;MPModelProto&gt; &gt; operations_research::ExtractValidMPModelOrPopulateResponseStatus </td>
<td>(</td>
<td class="paramtype">const MPModelRequest &amp;&#160;</td>
<td class="paramname"><em>request</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">MPSolutionResponse *&#160;</td>
<td class="paramname"><em>response</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If the model is valid and non-empty, returns it (possibly after extracting the model_delta). </p>
<p>If invalid or empty, updates <code>response</code> and returns null. </p>
</div>
</div>
<a id="a2506c50d4eb5505613003f685fd1af9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2506c50d4eb5505613003f685fd1af9f">&#9670;&nbsp;</a></span>FindErrorInMPModelDeltaProto()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string operations_research::FindErrorInMPModelDeltaProto </td>
<td>(</td>
<td class="paramtype">const MPModelDeltaProto &amp;&#160;</td>
<td class="paramname"><em>delta</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const MPModelProto &amp;&#160;</td>
<td class="paramname"><em>model</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Like FindErrorInMPModelProto, but for a MPModelDeltaProto applied to a given baseline model (assumed valid, eg. </p>
<p>FindErrorInMPModelProto(model)=""). Works in O(|model_delta|) + O(num_vars in model), but the latter term has a very small constant factor. </p>
</div>
</div>
<a id="a7a27bb74d09b7ba6ea0e97bb572d2755"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a27bb74d09b7ba6ea0e97bb572d2755">&#9670;&nbsp;</a></span>FindErrorInMPModelProto()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string operations_research::FindErrorInMPModelProto </td>
<td>(</td>
<td class="paramtype">const MPModelProto &amp;&#160;</td>
<td class="paramname"><em>model</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns an empty std::string iff the model is valid and not trivially infeasible. </p>
<p>Otherwise, returns a description of the first error or trivial infeasibility encountered.</p>
<p>NOTE(user): the code of this method (and the client code too!) is considerably simplified by this std::string-based, simple API. If clients require it, we could add a formal error status enum. </p>
</div>
</div>
<a id="ae4ee4d82cf625670cdc1f52197454654"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae4ee4d82cf625670cdc1f52197454654">&#9670;&nbsp;</a></span>FindFeasibilityErrorInSolutionHint()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string operations_research::FindFeasibilityErrorInSolutionHint </td>
<td>(</td>
<td class="paramtype">const MPModelProto &amp;&#160;</td>
<td class="paramname"><em>model</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>tolerance</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns an empty std::string if the solution hint given in the model is a feasible solution. </p>
<p>Otherwise, returns a description of the first reason for infeasibility.</p>
<p>This function can be useful for debugging/checking that the given solution hint is feasible when it is expected to be the case. The feasibility is checked up to the given tolerance using the ::operations_research::IsLowerWithinTolerance() function. </p>
</div>
</div>
<a id="ae6841e1b78c89cf9139fc1b9ba1ae8cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6841e1b78c89cf9139fc1b9ba1ae8cb">&#9670;&nbsp;</a></span>MergeMPConstraintProtoExceptTerms()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void operations_research::MergeMPConstraintProtoExceptTerms </td>
<td>(</td>
<td class="paramtype">const MPConstraintProto &amp;&#160;</td>
<td class="paramname"><em>from</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">MPConstraintProto *&#160;</td>
<td class="paramname"><em>to</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a741104fe08089fe3520676487f7a685d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a741104fe08089fe3520676487f7a685d">&#9670;&nbsp;</a></span>operator *() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> operations_research::operator * </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a>&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a99590470c6ad2d59331b6fcc56609877"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99590470c6ad2d59331b6fcc56609877">&#9670;&nbsp;</a></span>operator *() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> operations_research::operator * </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a>&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a97f9b83239285f5fdfcac1b8e8b4f162"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a97f9b83239285f5fdfcac1b8e8b4f162">&#9670;&nbsp;</a></span>operator+()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> operations_research::operator+ </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a>&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a515cdaf4f9c4000bb3482a0c450e23c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a515cdaf4f9c4000bb3482a0c450e23c3">&#9670;&nbsp;</a></span>operator-()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> operations_research::operator- </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a>&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="abebdd7f40e90df8dc7d557b6e26da942"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abebdd7f40e90df8dc7d557b6e26da942">&#9670;&nbsp;</a></span>operator/()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> operations_research::operator/ </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a>&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad3390eca60a1042a3d81452cea3863aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad3390eca60a1042a3d81452cea3863aa">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::ostream&amp; operations_research::operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">std::ostream &amp;&#160;</td>
<td class="paramname"><em>stream</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>linear_expr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2610f938f233d0adcd3142693f4a2683"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2610f938f233d0adcd3142693f4a2683">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::ostream&amp; operations_research::operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">std::ostream &amp;&#160;</td>
<td class="paramname"><em>os</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1MPSolver.html#a76c87990aabadd148304b95332a60ff8">MPSolver::OptimizationProblemType</a>&#160;</td>
<td class="paramname"><em>optimization_problem_type</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="linear__solver_8h_source.html#l00851">851</a> of file <a class="el" href="linear__solver_8h_source.html">linear_solver.h</a>.</p>
</div>
</div>
<a id="a6e3ed7b755e2b756ef48c9b3bad4a780"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e3ed7b755e2b756ef48c9b3bad4a780">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::ostream&amp; operations_research::operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">std::ostream &amp;&#160;</td>
<td class="paramname"><em>os</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1MPSolver.html#a573d479910e373f5d771d303e440587d">MPSolver::ResultStatus</a>&#160;</td>
<td class="paramname"><em>status</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="linear__solver_8h_source.html#l00857">857</a> of file <a class="el" href="linear__solver_8h_source.html">linear_solver.h</a>.</p>
</div>
</div>
<a id="a6d1fa20f9c9faf7027c0b16f97139e80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d1fa20f9c9faf7027c0b16f97139e80">&#9670;&nbsp;</a></span>operator&lt;=()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1LinearRange.html">LinearRange</a> operations_research::operator&lt;= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a08146f196bd9c3f492ee108732449ced"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08146f196bd9c3f492ee108732449ced">&#9670;&nbsp;</a></span>operator==()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1LinearRange.html">LinearRange</a> operations_research::operator== </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ac4052f92af6a7fbb1d45e17befcb68e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4052f92af6a7fbb1d45e17befcb68e0">&#9670;&nbsp;</a></span>operator&gt;=()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1LinearRange.html">LinearRange</a> operations_research::operator&gt;= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1LinearExpr.html">LinearExpr</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="afc3e3b80841b587c6fbfd9e9f3ec9c59"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc3e3b80841b587c6fbfd9e9f3ec9c59">&#9670;&nbsp;</a></span>ToString()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const absl::string_view operations_research::ToString </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1MPSolver.html#a76c87990aabadd148304b95332a60ff8">MPSolver::OptimizationProblemType</a>&#160;</td>
<td class="paramname"><em>optimization_problem_type</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a221d711fbd5a16db9dc92a3c5095cbf5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a221d711fbd5a16db9dc92a3c5095cbf5">&#9670;&nbsp;</a></span>kDefaultPrimalTolerance</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">constexpr double kDefaultPrimalTolerance = 1e-07</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="linear__solver_8h_source.html#l00161">161</a> of file <a class="el" href="linear__solver_8h_source.html">linear_solver.h</a>.</p>
</div>
</div>
</div><!-- contents -->
</div>
</div>
<div id="footer-container">
<div id="footer">
</div>
</div>
</body>
</html>