Files
ortools-clone/docs/cpp_linear/classoperations__research_1_1MPConstraint.html
Laurent Perron faf982ce5d regenerate doc
2019-11-14 13:52:51 -08:00

681 lines
36 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.16 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespaceoperations__research.html">operations_research</a></li><li class="navelem"><a class="el" href="classoperations__research_1_1MPConstraint.html">MPConstraint</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classoperations__research_1_1MPConstraint-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">MPConstraint</div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The class for constraints of a Mathematical Programming (MP) model. </p>
<p>A constraint is represented as a linear equation or inequality. </p>
<p class="definition">Definition at line <a class="el" href="linear__solver_8h_source.html#l01125">1125</a> of file <a class="el" href="linear__solver_8h_source.html">linear_solver.h</a>.</p>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad8227ba86a01f26e4f173cd5e219d5d1"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPConstraint.html#ad8227ba86a01f26e4f173cd5e219d5d1">name</a> () const</td></tr>
<tr class="memdesc:ad8227ba86a01f26e4f173cd5e219d5d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the constraint. <a href="classoperations__research_1_1MPConstraint.html#ad8227ba86a01f26e4f173cd5e219d5d1">More...</a><br /></td></tr>
<tr class="separator:ad8227ba86a01f26e4f173cd5e219d5d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa71d36872f416feaa853788a7a7a7ef8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPConstraint.html#aa71d36872f416feaa853788a7a7a7ef8">Clear</a> ()</td></tr>
<tr class="memdesc:aa71d36872f416feaa853788a7a7a7ef8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears all variables and coefficients. Does not clear the bounds. <a href="classoperations__research_1_1MPConstraint.html#aa71d36872f416feaa853788a7a7a7ef8">More...</a><br /></td></tr>
<tr class="separator:aa71d36872f416feaa853788a7a7a7ef8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2def997791a2a5119c3502aa68c34181"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPConstraint.html#a2def997791a2a5119c3502aa68c34181">SetCoefficient</a> (const <a class="el" href="classoperations__research_1_1MPVariable.html">MPVariable</a> *const var, double coeff)</td></tr>
<tr class="memdesc:a2def997791a2a5119c3502aa68c34181"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the coefficient of the variable on the constraint. <a href="classoperations__research_1_1MPConstraint.html#a2def997791a2a5119c3502aa68c34181">More...</a><br /></td></tr>
<tr class="separator:a2def997791a2a5119c3502aa68c34181"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a356d08f701ec7c64a00c19818bb72886"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPConstraint.html#a356d08f701ec7c64a00c19818bb72886">GetCoefficient</a> (const <a class="el" href="classoperations__research_1_1MPVariable.html">MPVariable</a> *const var) const</td></tr>
<tr class="memdesc:a356d08f701ec7c64a00c19818bb72886"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the coefficient of a given variable on the constraint (which is 0 if the variable does not appear in the constraint). <a href="classoperations__research_1_1MPConstraint.html#a356d08f701ec7c64a00c19818bb72886">More...</a><br /></td></tr>
<tr class="separator:a356d08f701ec7c64a00c19818bb72886"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a665001590f89bb9446d0030e2ef8047b"><td class="memItemLeft" align="right" valign="top">const absl::flat_hash_map&lt; const <a class="el" href="classoperations__research_1_1MPVariable.html">MPVariable</a> *, double &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPConstraint.html#a665001590f89bb9446d0030e2ef8047b">terms</a> () const</td></tr>
<tr class="memdesc:a665001590f89bb9446d0030e2ef8047b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a map from variables to their coefficients in the constraint. <a href="classoperations__research_1_1MPConstraint.html#a665001590f89bb9446d0030e2ef8047b">More...</a><br /></td></tr>
<tr class="separator:a665001590f89bb9446d0030e2ef8047b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accc4f1882f13ad57ef6bbe8fbe5d365d"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPConstraint.html#accc4f1882f13ad57ef6bbe8fbe5d365d">lb</a> () const</td></tr>
<tr class="memdesc:accc4f1882f13ad57ef6bbe8fbe5d365d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the lower bound. <a href="classoperations__research_1_1MPConstraint.html#accc4f1882f13ad57ef6bbe8fbe5d365d">More...</a><br /></td></tr>
<tr class="separator:accc4f1882f13ad57ef6bbe8fbe5d365d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a570e7e2c973cc96bedb0db08f5e062e3"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPConstraint.html#a570e7e2c973cc96bedb0db08f5e062e3">ub</a> () const</td></tr>
<tr class="memdesc:a570e7e2c973cc96bedb0db08f5e062e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the upper bound. <a href="classoperations__research_1_1MPConstraint.html#a570e7e2c973cc96bedb0db08f5e062e3">More...</a><br /></td></tr>
<tr class="separator:a570e7e2c973cc96bedb0db08f5e062e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad90797a6c268fa29b515bdb5972c7bfb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPConstraint.html#ad90797a6c268fa29b515bdb5972c7bfb">SetLB</a> (double <a class="el" href="classoperations__research_1_1MPConstraint.html#accc4f1882f13ad57ef6bbe8fbe5d365d">lb</a>)</td></tr>
<tr class="memdesc:ad90797a6c268fa29b515bdb5972c7bfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the lower bound. <a href="classoperations__research_1_1MPConstraint.html#ad90797a6c268fa29b515bdb5972c7bfb">More...</a><br /></td></tr>
<tr class="separator:ad90797a6c268fa29b515bdb5972c7bfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4584733ca3a135bb0e29e7b29988901d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPConstraint.html#a4584733ca3a135bb0e29e7b29988901d">SetUB</a> (double <a class="el" href="classoperations__research_1_1MPConstraint.html#a570e7e2c973cc96bedb0db08f5e062e3">ub</a>)</td></tr>
<tr class="memdesc:a4584733ca3a135bb0e29e7b29988901d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the upper bound. <a href="classoperations__research_1_1MPConstraint.html#a4584733ca3a135bb0e29e7b29988901d">More...</a><br /></td></tr>
<tr class="separator:a4584733ca3a135bb0e29e7b29988901d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02bfb5cd5deeb2d5149f6976ee0456d6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPConstraint.html#a02bfb5cd5deeb2d5149f6976ee0456d6">SetBounds</a> (double <a class="el" href="classoperations__research_1_1MPConstraint.html#accc4f1882f13ad57ef6bbe8fbe5d365d">lb</a>, double <a class="el" href="classoperations__research_1_1MPConstraint.html#a570e7e2c973cc96bedb0db08f5e062e3">ub</a>)</td></tr>
<tr class="memdesc:a02bfb5cd5deeb2d5149f6976ee0456d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets both the lower and upper bounds. <a href="classoperations__research_1_1MPConstraint.html#a02bfb5cd5deeb2d5149f6976ee0456d6">More...</a><br /></td></tr>
<tr class="separator:a02bfb5cd5deeb2d5149f6976ee0456d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0c809243bacbba99e083bddd16ebcaa"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPConstraint.html#ab0c809243bacbba99e083bddd16ebcaa">is_lazy</a> () const</td></tr>
<tr class="memdesc:ab0c809243bacbba99e083bddd16ebcaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advanced usage: returns true if the constraint is "lazy" (see below). <a href="classoperations__research_1_1MPConstraint.html#ab0c809243bacbba99e083bddd16ebcaa">More...</a><br /></td></tr>
<tr class="separator:ab0c809243bacbba99e083bddd16ebcaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7502afa7413b2969adcfe572accefde"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPConstraint.html#ac7502afa7413b2969adcfe572accefde">set_is_lazy</a> (bool laziness)</td></tr>
<tr class="memdesc:ac7502afa7413b2969adcfe572accefde"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advanced usage: sets the constraint "laziness". <a href="classoperations__research_1_1MPConstraint.html#ac7502afa7413b2969adcfe572accefde">More...</a><br /></td></tr>
<tr class="separator:ac7502afa7413b2969adcfe572accefde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5afd87c4abc02aea7fedd93f12a16b60"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classoperations__research_1_1MPVariable.html">MPVariable</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPConstraint.html#a5afd87c4abc02aea7fedd93f12a16b60">indicator_variable</a> () const</td></tr>
<tr class="separator:a5afd87c4abc02aea7fedd93f12a16b60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87e458487b8f14804b579be6228ea78f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPConstraint.html#a87e458487b8f14804b579be6228ea78f">indicator_value</a> () const</td></tr>
<tr class="separator:a87e458487b8f14804b579be6228ea78f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acca41811e8aaab0112b987749c0ecb93"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPConstraint.html#acca41811e8aaab0112b987749c0ecb93">index</a> () const</td></tr>
<tr class="memdesc:acca41811e8aaab0112b987749c0ecb93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the index of the constraint in the MPSolver::constraints_. <a href="classoperations__research_1_1MPConstraint.html#acca41811e8aaab0112b987749c0ecb93">More...</a><br /></td></tr>
<tr class="separator:acca41811e8aaab0112b987749c0ecb93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeec48f5c4d2d1cc79926734f9b586ad5"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPConstraint.html#aeec48f5c4d2d1cc79926734f9b586ad5">dual_value</a> () const</td></tr>
<tr class="memdesc:aeec48f5c4d2d1cc79926734f9b586ad5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advanced usage: returns the dual value of the constraint in the current solution (only available for continuous problems). <a href="classoperations__research_1_1MPConstraint.html#aeec48f5c4d2d1cc79926734f9b586ad5">More...</a><br /></td></tr>
<tr class="separator:aeec48f5c4d2d1cc79926734f9b586ad5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecd5fee61b6013b1207c2ea622c849b5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1MPSolver.html#afd922eb2bef96597c426557a8056f76d">MPSolver::BasisStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPConstraint.html#aecd5fee61b6013b1207c2ea622c849b5">basis_status</a> () const</td></tr>
<tr class="memdesc:aecd5fee61b6013b1207c2ea622c849b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advanced usage: returns the basis status of the constraint. <a href="classoperations__research_1_1MPConstraint.html#aecd5fee61b6013b1207c2ea622c849b5">More...</a><br /></td></tr>
<tr class="separator:aecd5fee61b6013b1207c2ea622c849b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a69c93714d214fac7e1ae59646525aecb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPConstraint.html#a69c93714d214fac7e1ae59646525aecb">MPConstraint</a> (int <a class="el" href="classoperations__research_1_1MPConstraint.html#acca41811e8aaab0112b987749c0ecb93">index</a>, double <a class="el" href="classoperations__research_1_1MPConstraint.html#accc4f1882f13ad57ef6bbe8fbe5d365d">lb</a>, double <a class="el" href="classoperations__research_1_1MPConstraint.html#a570e7e2c973cc96bedb0db08f5e062e3">ub</a>, const std::string &amp;<a class="el" href="classoperations__research_1_1MPConstraint.html#ad8227ba86a01f26e4f173cd5e219d5d1">name</a>, <a class="el" href="classoperations__research_1_1MPSolverInterface.html">MPSolverInterface</a> *const interface_in)</td></tr>
<tr class="separator:a69c93714d214fac7e1ae59646525aecb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad042c8697c2a8b1467135984182318b6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1MPConstraint.html#ad042c8697c2a8b1467135984182318b6">set_dual_value</a> (double <a class="el" href="classoperations__research_1_1MPConstraint.html#aeec48f5c4d2d1cc79926734f9b586ad5">dual_value</a>)</td></tr>
<tr class="separator:ad042c8697c2a8b1467135984182318b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a69c93714d214fac7e1ae59646525aecb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69c93714d214fac7e1ae59646525aecb">&#9670;&nbsp;</a></span>MPConstraint()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1MPConstraint.html">MPConstraint</a> </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>lb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>ub</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1MPSolverInterface.html">MPSolverInterface</a> *const&#160;</td>
<td class="paramname"><em>interface_in</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 class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="linear__solver_8h_source.html#l01234">1234</a> of file <a class="el" href="linear__solver_8h_source.html">linear_solver.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aecd5fee61b6013b1207c2ea622c849b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aecd5fee61b6013b1207c2ea622c849b5">&#9670;&nbsp;</a></span>basis_status()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1MPSolver.html#afd922eb2bef96597c426557a8056f76d">MPSolver::BasisStatus</a> basis_status </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Advanced usage: returns the basis status of the constraint. </p>
<p>It is only available for continuous problems).</p>
<p>Note that if a constraint "linear_expression in [lb, ub]" is transformed into "linear_expression + slack = 0" with slack in [-ub, -lb], then this status is the same as the status of the slack variable with AT_UPPER_BOUND and AT_LOWER_BOUND swapped.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classoperations__research_1_1MPSolver.html#afd922eb2bef96597c426557a8056f76d" title="Advanced usage: possible basis status values for a variable and the slack variable of a linear constr...">MPSolver::BasisStatus</a>. </dd></dl>
</div>
</div>
<a id="aa71d36872f416feaa853788a7a7a7ef8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa71d36872f416feaa853788a7a7a7ef8">&#9670;&nbsp;</a></span>Clear()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Clear </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Clears all variables and coefficients. Does not clear the bounds. </p>
</div>
</div>
<a id="aeec48f5c4d2d1cc79926734f9b586ad5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeec48f5c4d2d1cc79926734f9b586ad5">&#9670;&nbsp;</a></span>dual_value()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double dual_value </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Advanced usage: returns the dual value of the constraint in the current solution (only available for continuous problems). </p>
</div>
</div>
<a id="a356d08f701ec7c64a00c19818bb72886"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a356d08f701ec7c64a00c19818bb72886">&#9670;&nbsp;</a></span>GetCoefficient()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double GetCoefficient </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1MPVariable.html">MPVariable</a> *const&#160;</td>
<td class="paramname"><em>var</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the coefficient of a given variable on the constraint (which is 0 if the variable does not appear in the constraint). </p>
</div>
</div>
<a id="acca41811e8aaab0112b987749c0ecb93"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acca41811e8aaab0112b987749c0ecb93">&#9670;&nbsp;</a></span>index()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int index </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</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>Returns the index of the constraint in the MPSolver::constraints_. </p>
<p class="definition">Definition at line <a class="el" href="linear__solver_8h_source.html#l01193">1193</a> of file <a class="el" href="linear__solver_8h_source.html">linear_solver.h</a>.</p>
</div>
</div>
<a id="a87e458487b8f14804b579be6228ea78f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a87e458487b8f14804b579be6228ea78f">&#9670;&nbsp;</a></span>indicator_value()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool indicator_value </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</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#l01190">1190</a> of file <a class="el" href="linear__solver_8h_source.html">linear_solver.h</a>.</p>
</div>
</div>
<a id="a5afd87c4abc02aea7fedd93f12a16b60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5afd87c4abc02aea7fedd93f12a16b60">&#9670;&nbsp;</a></span>indicator_variable()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classoperations__research_1_1MPVariable.html">MPVariable</a>* indicator_variable </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</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#l01189">1189</a> of file <a class="el" href="linear__solver_8h_source.html">linear_solver.h</a>.</p>
</div>
</div>
<a id="ab0c809243bacbba99e083bddd16ebcaa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0c809243bacbba99e083bddd16ebcaa">&#9670;&nbsp;</a></span>is_lazy()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool is_lazy </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</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>Advanced usage: returns true if the constraint is "lazy" (see below). </p>
<p class="definition">Definition at line <a class="el" href="linear__solver_8h_source.html#l01172">1172</a> of file <a class="el" href="linear__solver_8h_source.html">linear_solver.h</a>.</p>
</div>
</div>
<a id="accc4f1882f13ad57ef6bbe8fbe5d365d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#accc4f1882f13ad57ef6bbe8fbe5d365d">&#9670;&nbsp;</a></span>lb()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double lb </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</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>Returns the lower bound. </p>
<p class="definition">Definition at line <a class="el" href="linear__solver_8h_source.html#l01157">1157</a> of file <a class="el" href="linear__solver_8h_source.html">linear_solver.h</a>.</p>
</div>
</div>
<a id="ad8227ba86a01f26e4f173cd5e219d5d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8227ba86a01f26e4f173cd5e219d5d1">&#9670;&nbsp;</a></span>name()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::string&amp; name </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</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>Returns the name of the constraint. </p>
<p class="definition">Definition at line <a class="el" href="linear__solver_8h_source.html#l01128">1128</a> of file <a class="el" href="linear__solver_8h_source.html">linear_solver.h</a>.</p>
</div>
</div>
<a id="ad042c8697c2a8b1467135984182318b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad042c8697c2a8b1467135984182318b6">&#9670;&nbsp;</a></span>set_dual_value()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void set_dual_value </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>dual_value</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="linear__solver_8h_source.html#l01246">1246</a> of file <a class="el" href="linear__solver_8h_source.html">linear_solver.h</a>.</p>
</div>
</div>
<a id="ac7502afa7413b2969adcfe572accefde"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7502afa7413b2969adcfe572accefde">&#9670;&nbsp;</a></span>set_is_lazy()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void set_is_lazy </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>laziness</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>Advanced usage: sets the constraint "laziness". </p>
<p><em>This is only supported for SCIP and has no effect on other solvers.</em></p>
<p>When <b>laziness</b> is true, the constraint is only considered by the Linear Programming solver if its current solution violates the constraint. In this case, the constraint is definitively added to the problem. This may be useful in some MIP problems, and may have a dramatic impact on performance.</p>
<p>For more info see: <a href="http://tinyurl.com/lazy-constraints">http://tinyurl.com/lazy-constraints</a>. </p>
<p class="definition">Definition at line <a class="el" href="linear__solver_8h_source.html#l01187">1187</a> of file <a class="el" href="linear__solver_8h_source.html">linear_solver.h</a>.</p>
</div>
</div>
<a id="a02bfb5cd5deeb2d5149f6976ee0456d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a02bfb5cd5deeb2d5149f6976ee0456d6">&#9670;&nbsp;</a></span>SetBounds()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SetBounds </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>lb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>ub</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets both the lower and upper bounds. </p>
</div>
</div>
<a id="a2def997791a2a5119c3502aa68c34181"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2def997791a2a5119c3502aa68c34181">&#9670;&nbsp;</a></span>SetCoefficient()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SetCoefficient </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1MPVariable.html">MPVariable</a> *const&#160;</td>
<td class="paramname"><em>var</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>coeff</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the coefficient of the variable on the constraint. </p>
<p>If the variable does not belong to the solver, the function just returns, or crashes in non-opt mode. </p>
</div>
</div>
<a id="ad90797a6c268fa29b515bdb5972c7bfb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad90797a6c268fa29b515bdb5972c7bfb">&#9670;&nbsp;</a></span>SetLB()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void SetLB </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>lb</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>Sets the lower bound. </p>
<p class="definition">Definition at line <a class="el" href="linear__solver_8h_source.html#l01163">1163</a> of file <a class="el" href="linear__solver_8h_source.html">linear_solver.h</a>.</p>
</div>
</div>
<a id="a4584733ca3a135bb0e29e7b29988901d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4584733ca3a135bb0e29e7b29988901d">&#9670;&nbsp;</a></span>SetUB()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void SetUB </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>ub</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>Sets the upper bound. </p>
<p class="definition">Definition at line <a class="el" href="linear__solver_8h_source.html#l01166">1166</a> of file <a class="el" href="linear__solver_8h_source.html">linear_solver.h</a>.</p>
</div>
</div>
<a id="a665001590f89bb9446d0030e2ef8047b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a665001590f89bb9446d0030e2ef8047b">&#9670;&nbsp;</a></span>terms()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const absl::flat_hash_map&lt;const <a class="el" href="classoperations__research_1_1MPVariable.html">MPVariable</a>*, double&gt;&amp; terms </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</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>Returns a map from variables to their coefficients in the constraint. </p>
<p>If a variable is not present in the map, then its coefficient is zero. </p>
<p class="definition">Definition at line <a class="el" href="linear__solver_8h_source.html#l01152">1152</a> of file <a class="el" href="linear__solver_8h_source.html">linear_solver.h</a>.</p>
</div>
</div>
<a id="a570e7e2c973cc96bedb0db08f5e062e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a570e7e2c973cc96bedb0db08f5e062e3">&#9670;&nbsp;</a></span>ub()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double ub </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</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>Returns the upper bound. </p>
<p class="definition">Definition at line <a class="el" href="linear__solver_8h_source.html#l01160">1160</a> of file <a class="el" href="linear__solver_8h_source.html">linear_solver.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="linear__solver_8h_source.html">linear_solver.h</a></li>
</ul>
</div><!-- contents -->
</div>
</div>
<div id="footer-container">
<div id="footer">
</div>
</div>
</body>
</html>