<!doctype html>

<html lang="en">
  <head>
    <meta charset="iso-8859-1" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />

    <title>docplex.mp.constr module &#8212; DOcplex.MP: Mathematical Programming Modeling for Python V2.30 documentation</title>
    <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
    <link rel="stylesheet" type="text/css" href="_static/bizstyle.css?v=c92c1228" />
    
    <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=dd09d6e6"></script>
    <script src="_static/doctools.js?v=888ff710"></script>
    <script src="_static/sphinx_highlight.js?v=4825356b"></script>
    <script src="_static/bizstyle.js"></script>
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
    <link rel="next" title="docplex.mp.context module" href="docplex.mp.context.html" />
    <link rel="prev" title="docplex.mp.constants module" href="docplex.mp.constants.html" />
    <meta name="viewport" content="width=device-width,initial-scale=1.0" />
    <!--[if lt IE 9]>
    <script src="_static/css3-mediaqueries.js"></script>
    <![endif]-->
  </head><body>
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="docplex.mp.context.html" title="docplex.mp.context module"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="docplex.mp.constants.html" title="docplex.mp.constants module"
             accesskey="P">previous</a> |</li>
        <li class="nav-item nav-item-0"><a href="index.html">DOcplex.MP: Mathematical Programming Modeling for Python V2.30 documentation</a> &#187;</li>
          <li class="nav-item nav-item-1"><a href="refman.html" accesskey="U"><strong>docplex.mp</strong> reference manual</a> &#187;</li>
        <li class="nav-item nav-item-this"><a href="">docplex.mp.constr module</a></li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <section id="docplex-mp-constr-module">
<h1>docplex.mp.constr module<a class="headerlink" href="#docplex-mp-constr-module" title="Permalink to this heading">&para;</a></h1>
<div class="toctree-wrapper compound">
</div>
<span class="target" id="module-docplex.mp.constr"></span><dl class="py class">
<dt class="sig sig-object py" id="docplex.mp.constr.AbstractConstraint">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">docplex.mp.constr.</span></span><span class="sig-name descname"><span class="pre">AbstractConstraint</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#AbstractConstraint"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.AbstractConstraint" title="Permalink to this definition">&para;</a></dt>
<dd><p>Bases: <a class="reference internal" href="docplex.mp.basic.html#docplex.mp.basic.IndexableObject" title="docplex.mp.basic.IndexableObject"><code class="xref py py-class docutils literal notranslate"><span class="pre">IndexableObject</span></code></a>, <code class="xref py py-class docutils literal notranslate"><span class="pre">_AbstractBendersAnnotated</span></code></p>
<dl class="py method">
<dt class="sig sig-object py" id="docplex.mp.constr.AbstractConstraint.is_added">
<span class="sig-name descname"><span class="pre">is_added</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#AbstractConstraint.is_added"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.AbstractConstraint.is_added" title="Permalink to this definition">&para;</a></dt>
<dd><p>Returns True if the constraint has been added to its model.</p>
<p class="rubric">Example</p>
<p>c = (x+y == 1)
m.add(c)
c.is_added()
&gt;&gt;&gt; True
c2 = (x + 2*y) &gt;= 3
c2.is_added()
&gt;&gt;&gt; False</p>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="docplex.mp.constr.AbstractConstraint.set_mandatory">
<span class="sig-name descname"><span class="pre">set_mandatory</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#AbstractConstraint.set_mandatory"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.AbstractConstraint.set_mandatory" title="Permalink to this definition">&para;</a></dt>
<dd><p>Sets the constraint as mandatory.</p>
<p>This prevents relaxation from relaxing this constraint.
To revert this, set the priority to any non-mandatory priority, or None.</p>
</dd></dl>

</dd></dl>

<dl class="py class">
<dt class="sig sig-object py" id="docplex.mp.constr.BinaryConstraint">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">docplex.mp.constr.</span></span><span class="sig-name descname"><span class="pre">BinaryConstraint</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">left_expr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ctsense</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">right_expr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#BinaryConstraint"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.BinaryConstraint" title="Permalink to this definition">&para;</a></dt>
<dd><p>Bases: <a class="reference internal" href="#docplex.mp.constr.AbstractConstraint" title="docplex.mp.constr.AbstractConstraint"><code class="xref py py-class docutils literal notranslate"><span class="pre">AbstractConstraint</span></code></a></p>
<dl class="py method">
<dt class="sig sig-object py" id="docplex.mp.constr.BinaryConstraint.get_left_expr">
<span class="sig-name descname"><span class="pre">get_left_expr</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#BinaryConstraint.get_left_expr"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.BinaryConstraint.get_left_expr" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property returns the left expression in the constraint.</p>
<p class="rubric">Example</p>
<p>(X+Y &lt;= Z+1) has left expression (X+Y).</p>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="docplex.mp.constr.BinaryConstraint.get_right_expr">
<span class="sig-name descname"><span class="pre">get_right_expr</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#BinaryConstraint.get_right_expr"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.BinaryConstraint.get_right_expr" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property returns the right expression in the constraint.</p>
<p class="rubric">Example</p>
<p>(X+Y &lt;= Z+1) has right expression (Z+1).</p>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="docplex.mp.constr.BinaryConstraint.iter_variables">
<span class="sig-name descname"><span class="pre">iter_variables</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#BinaryConstraint.iter_variables"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.BinaryConstraint.iter_variables" title="Permalink to this definition">&para;</a></dt>
<dd><p>Iterates over all variables mentioned in the constraint.</p>
<p><em>Note:</em> This includes variables that are mentioned with a zero coefficient. For example,
the iterator on the following constraint:</p>
<blockquote>
<div><p>X &lt;= X+Y + 1</p>
</div></blockquote>
<p>will return X and Y, although X is mentioned with a zero coefficient.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>An iterator object.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="docplex.mp.constr.BinaryConstraint.to_string">
<span class="sig-name descname"><span class="pre">to_string</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">use_space</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#BinaryConstraint.to_string"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.BinaryConstraint.to_string" title="Permalink to this definition">&para;</a></dt>
<dd><p>Returns a string representation of the constraint.</p>
<p>The operators in this representation are the usual operators &lt;=, ==, and &gt;=.</p>
<p class="rubric">Example</p>
<p>The constraint (X+Y &lt;= Z+1) is represented as &#8220;X+Y &lt;= Z+1&#8221;.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>A string.</p>
</dd>
</dl>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.BinaryConstraint.type">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">type</span></span><a class="headerlink" href="#docplex.mp.constr.BinaryConstraint.type" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property returns the type of the constraint; type is an enumerated value
of type <code class="xref py py-class docutils literal notranslate"><span class="pre">ComparisonType</span></code>, with three possible values:</p>
<ul class="simple">
<li><p>LE for e1 &lt;= e2 constraints</p></li>
<li><p>EQ for e1 == e2 constraints</p></li>
<li><p>GE for e1 &gt;= e2 constraints</p></li>
</ul>
<p>where e1 and e2 denote linear expressions.</p>
</dd></dl>

</dd></dl>

<dl class="py class">
<dt class="sig sig-object py" id="docplex.mp.constr.EquivalenceConstraint">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">docplex.mp.constr.</span></span><span class="sig-name descname"><span class="pre">EquivalenceConstraint</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">binary_var</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linear_ct</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">truth_value</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#EquivalenceConstraint"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.EquivalenceConstraint" title="Permalink to this definition">&para;</a></dt>
<dd><p>Bases: <a class="reference internal" href="#docplex.mp.constr.LogicalConstraint" title="docplex.mp.constr.LogicalConstraint"><code class="xref py py-class docutils literal notranslate"><span class="pre">LogicalConstraint</span></code></a></p>
<p>This class models equivalence constraints.</p>
<p>An equivalence constraint links (both ways) the value of a binary variable
to the satisfaction of a linear constraint.</p>
<p>If the binary variable equals the truth value (default is 1),
then the constraint is satisfied, conversely if the constraint
is satisfied, the value of the variable is set to the truth value.</p>
<p>This class is not meant to be instantiated by the user.</p>
</dd></dl>

<dl class="py class">
<dt class="sig sig-object py" id="docplex.mp.constr.IfThenConstraint">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">docplex.mp.constr.</span></span><span class="sig-name descname"><span class="pre">IfThenConstraint</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">if_ct</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">then_ct</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">negate</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#IfThenConstraint"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.IfThenConstraint" title="Permalink to this definition">&para;</a></dt>
<dd><p>Bases: <a class="reference internal" href="#docplex.mp.constr.IndicatorConstraint" title="docplex.mp.constr.IndicatorConstraint"><code class="xref py py-class docutils literal notranslate"><span class="pre">IndicatorConstraint</span></code></a></p>
<dl class="py method">
<dt class="sig sig-object py" id="docplex.mp.constr.IfThenConstraint.to_string">
<span class="sig-name descname"><span class="pre">to_string</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">use_space</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#IfThenConstraint.to_string"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.IfThenConstraint.to_string" title="Permalink to this definition">&para;</a></dt>
<dd><p>Displays the equivalence constraint in a (shortened) LP style:
z &lt;-&gt; x+y+z == 2</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>A string.</p>
</dd>
</dl>
</dd></dl>

</dd></dl>

<dl class="py class">
<dt class="sig sig-object py" id="docplex.mp.constr.IndicatorConstraint">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">docplex.mp.constr.</span></span><span class="sig-name descname"><span class="pre">IndicatorConstraint</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">binary_var</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linear_ct</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">active_value</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#IndicatorConstraint"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.IndicatorConstraint" title="Permalink to this definition">&para;</a></dt>
<dd><p>Bases: <a class="reference internal" href="#docplex.mp.constr.LogicalConstraint" title="docplex.mp.constr.LogicalConstraint"><code class="xref py py-class docutils literal notranslate"><span class="pre">LogicalConstraint</span></code></a></p>
<p>This class models indicator constraints.</p>
<p>An indicator constraint links (one-way) the value of a binary variable to the satisfaction of a linear constraint.
If the binary variable equals the active value, then the constraint is satisfied, but otherwise the constraint
may or may not be satisfied.</p>
<p>This class is not meant to be instantiated by the user.</p>
<p>To create an indicator constraint, use the factory method <a class="reference internal" href="docplex.mp.model.html#docplex.mp.model.Model.add_indicator" title="docplex.mp.model.Model.add_indicator"><code class="xref py py-func docutils literal notranslate"><span class="pre">docplex.mp.model.Model.add_indicator()</span></code></a>
defined on <a class="reference internal" href="docplex.mp.model.html#docplex.mp.model.Model" title="docplex.mp.model.Model"><code class="xref py py-class docutils literal notranslate"><span class="pre">docplex.mp.model.Model</span></code></a>.</p>
<dl class="py method">
<dt class="sig sig-object py" id="docplex.mp.constr.IndicatorConstraint.invalidate">
<span class="sig-name descname"><span class="pre">invalidate</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#IndicatorConstraint.invalidate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.IndicatorConstraint.invalidate" title="Permalink to this definition">&para;</a></dt>
<dd><p>Sets the binary variable to the opposite of its active value.
Typically used by indicator constraints with a trivial infeasible linear part.
For example, z=1 -&gt; 4 &lt;= 3 sets z to 0 and
z=0 -&gt; 4 &lt;= 3 sets z to 1.
This is equivalent to if z=a =&gt; False, then z <em>cannot</em> be equal to a.</p>
</dd></dl>

</dd></dl>

<dl class="py class">
<dt class="sig sig-object py" id="docplex.mp.constr.LinearConstraint">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">docplex.mp.constr.</span></span><span class="sig-name descname"><span class="pre">LinearConstraint</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">left_expr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ctsense</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">right_expr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#LinearConstraint"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.LinearConstraint" title="Permalink to this definition">&para;</a></dt>
<dd><p>Bases: <a class="reference internal" href="#docplex.mp.constr.BinaryConstraint" title="docplex.mp.constr.BinaryConstraint"><code class="xref py py-class docutils literal notranslate"><span class="pre">BinaryConstraint</span></code></a>, <code class="xref py py-class docutils literal notranslate"><span class="pre">LinearOperand</span></code></p>
<p>The class that models all constraints of the form <cite>&lt;expr1&gt; &lt;OP&gt; &lt;expr2&gt;</cite>,
where &lt;expr1&gt; and &lt;expr2&gt; are linear expressions.</p>
<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.LinearConstraint.basis_status">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">basis_status</span></span><a class="headerlink" href="#docplex.mp.constr.LinearConstraint.basis_status" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property returns the basis status of the slack variable of the constraint, if any.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>An enumerated value from the enumerated type <cite>docplex.constants.BasisStatus</cite>.</p>
</dd>
</dl>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>for the model to hold basis information, the model must have been solved as a LP problem.
In some cases, a model which failed to solve may still have a basis available. Use
<cite>Model.has_basis()</cite> to check whether the model has basis information or not.</p>
</div>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference internal" href="docplex.mp.model.html#docplex.mp.model.Model.has_basis" title="docplex.mp.model.Model.has_basis"><code class="xref py py-func docutils literal notranslate"><span class="pre">docplex.mp.model.Model.has_basis()</span></code></a>
<a class="reference internal" href="docplex.mp.constants.html#docplex.mp.constants.BasisStatus" title="docplex.mp.constants.BasisStatus"><code class="xref py py-class docutils literal notranslate"><span class="pre">docplex.mp.constants.BasisStatus</span></code></a></p>
</div>
<p><em>New in version 2.10</em></p>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.LinearConstraint.benders_annotation">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">benders_annotation</span></span><a class="headerlink" href="#docplex.mp.constr.LinearConstraint.benders_annotation" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property is used to get or set the Benders annotation of a constraint.
The value of the annotation must be a positive integer</p>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.LinearConstraint.dual_value">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">dual_value</span></span><a class="headerlink" href="#docplex.mp.constr.LinearConstraint.dual_value" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property returns the dual value of the constraint.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>This method will raise an exception if the model has not been solved successfully.
This method is OK with small numbers of constraints. For large numbers of constraints (&gt;100),
consider using Model.dual_values() with a sequence of constraints.</p>
</div>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><cite>func:docplex.mp.model.Model.dual_values()</cite></p>
</div>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="docplex.mp.constr.LinearConstraint.eq">
<span class="sig-name descname"><span class="pre">eq</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rhs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#LinearConstraint.eq"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.LinearConstraint.eq" title="Permalink to this definition">&para;</a></dt>
<dd><p>Return self==value.</p>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="docplex.mp.constr.LinearConstraint.ge">
<span class="sig-name descname"><span class="pre">ge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rhs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#LinearConstraint.ge"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.LinearConstraint.ge" title="Permalink to this definition">&para;</a></dt>
<dd><p>Return self&gt;=value.</p>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="docplex.mp.constr.LinearConstraint.le">
<span class="sig-name descname"><span class="pre">le</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rhs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#LinearConstraint.le"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.LinearConstraint.le" title="Permalink to this definition">&para;</a></dt>
<dd><p>Return self&lt;=value.</p>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.LinearConstraint.left_expr">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">left_expr</span></span><a class="headerlink" href="#docplex.mp.constr.LinearConstraint.left_expr" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property returns the left expression in the constraint.</p>
<p class="rubric">Example</p>
<p>(X+Y &lt;= Z+1) has left expression (X+Y).</p>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.LinearConstraint.lhs">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">lhs</span></span><a class="headerlink" href="#docplex.mp.constr.LinearConstraint.lhs" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property returns the left expression in the constraint.</p>
<p class="rubric">Example</p>
<p>(X+Y &lt;= Z+1) has left expression (X+Y).</p>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.LinearConstraint.rhs">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">rhs</span></span><a class="headerlink" href="#docplex.mp.constr.LinearConstraint.rhs" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property returns the right expression in the constraint.</p>
<p class="rubric">Example</p>
<p>(X+Y &lt;= Z+1) has right expression (Z+1).</p>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.LinearConstraint.right_expr">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">right_expr</span></span><a class="headerlink" href="#docplex.mp.constr.LinearConstraint.right_expr" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property returns the right expression in the constraint.</p>
<p class="rubric">Example</p>
<p>(X+Y &lt;= Z+1) has right expression (Z+1).</p>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.LinearConstraint.sense">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">sense</span></span><a class="headerlink" href="#docplex.mp.constr.LinearConstraint.sense" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property is used to get or set the sense of the constraint; sense is an enumerated value
of type <code class="xref py py-class docutils literal notranslate"><span class="pre">ComparisonType</span></code>, with three possible values:</p>
<ul class="simple">
<li><p>LE for e1 &lt;= e2 constraints</p></li>
<li><p>EQ for e1 == e2 constraints</p></li>
<li><p>GE for e1 &gt;= e2 constraints</p></li>
</ul>
<p>where e1 and e2 denote linear expressions.</p>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.LinearConstraint.slack_value">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">slack_value</span></span><a class="headerlink" href="#docplex.mp.constr.LinearConstraint.slack_value" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property returns the slack value of the constraint.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>This method will raise an exception if the model has not been solved successfully.</p>
<p>This method is OK with small numbers of constraints. For large numbers of constraints (&gt;100),
consider using Model.slack_values() with a sequence of constraints.</p>
</div>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><cite>func:docplex.mp.model.Model.slack_values()</cite></p>
</div>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="docplex.mp.constr.LinearConstraint.to_string">
<span class="sig-name descname"><span class="pre">to_string</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">use_space</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#LinearConstraint.to_string"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.LinearConstraint.to_string" title="Permalink to this definition">&para;</a></dt>
<dd><p>Returns a string representation of the constraint.</p>
<p>The operators in this representation are the usual operators &lt;=, ==, and &gt;=.</p>
<p class="rubric">Example</p>
<p>The constraint (X+Y &lt;= Z+1) is represented as &#8220;X+Y &lt;= Z+1&#8221;.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>A string.</p>
</dd>
</dl>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.LinearConstraint.type">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">type</span></span><a class="headerlink" href="#docplex.mp.constr.LinearConstraint.type" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property returns the type of the constraint; type is an enumerated value
of type <code class="xref py py-class docutils literal notranslate"><span class="pre">ComparisonType</span></code>, with three possible values:</p>
<ul class="simple">
<li><p>LE for e1 &lt;= e2 constraints</p></li>
<li><p>EQ for e1 == e2 constraints</p></li>
<li><p>GE for e1 &gt;= e2 constraints</p></li>
</ul>
<p>where e1 and e2 denote linear expressions.</p>
</dd></dl>

</dd></dl>

<dl class="py class">
<dt class="sig sig-object py" id="docplex.mp.constr.LogicalConstraint">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">docplex.mp.constr.</span></span><span class="sig-name descname"><span class="pre">LogicalConstraint</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">binary_var</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linear_ct</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">active_value</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#LogicalConstraint"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.LogicalConstraint" title="Permalink to this definition">&para;</a></dt>
<dd><p>Bases: <a class="reference internal" href="#docplex.mp.constr.AbstractConstraint" title="docplex.mp.constr.AbstractConstraint"><code class="xref py py-class docutils literal notranslate"><span class="pre">AbstractConstraint</span></code></a></p>
<p>This class models logical constraints.</p>
<p>An equivalence constraint links (both ways) the value of a binary variable
to the satisfaction of a linear constraint.</p>
<p>If the binary variable equals the truth value (default is 1),
then the constraint is satisfied, conversely if the constraint
is satisfied, the value of the variable is set to the truth value.</p>
<p>This class is not meant to be instantiated by the user.</p>
<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.LogicalConstraint.benders_annotation">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">benders_annotation</span></span><a class="headerlink" href="#docplex.mp.constr.LogicalConstraint.benders_annotation" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property is used to get or set the Benders annotation of a constraint.
The value of the annotation must be a positive integer</p>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="docplex.mp.constr.LogicalConstraint.to_string">
<span class="sig-name descname"><span class="pre">to_string</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">use_space</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#LogicalConstraint.to_string"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.LogicalConstraint.to_string" title="Permalink to this definition">&para;</a></dt>
<dd><p>Displays the equivalence constraint in a (shortened) LP style:
z &lt;-&gt; x+y+z == 2</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>A string.</p>
</dd>
</dl>
</dd></dl>

</dd></dl>

<dl class="py class">
<dt class="sig sig-object py" id="docplex.mp.constr.NotEqualConstraint">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">docplex.mp.constr.</span></span><span class="sig-name descname"><span class="pre">NotEqualConstraint</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">negated_eqct</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#NotEqualConstraint"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.NotEqualConstraint" title="Permalink to this definition">&para;</a></dt>
<dd><p>Bases: <a class="reference internal" href="#docplex.mp.constr.LinearConstraint" title="docplex.mp.constr.LinearConstraint"><code class="xref py py-class docutils literal notranslate"><span class="pre">LinearConstraint</span></code></a></p>
<dl class="py method">
<dt class="sig sig-object py" id="docplex.mp.constr.NotEqualConstraint.to_string">
<span class="sig-name descname"><span class="pre">to_string</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">use_space</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#NotEqualConstraint.to_string"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.NotEqualConstraint.to_string" title="Permalink to this definition">&para;</a></dt>
<dd><p>Returns a string representation of the constraint.</p>
<p>The operators in this representation are the usual operators &lt;=, ==, and &gt;=.</p>
<p class="rubric">Example</p>
<p>The constraint (X+Y &lt;= Z+1) is represented as &#8220;X+Y &lt;= Z+1&#8221;.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>A string.</p>
</dd>
</dl>
</dd></dl>

</dd></dl>

<dl class="py class">
<dt class="sig sig-object py" id="docplex.mp.constr.PwlConstraint">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">docplex.mp.constr.</span></span><span class="sig-name descname"><span class="pre">PwlConstraint</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pwl_expr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#PwlConstraint"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.PwlConstraint" title="Permalink to this definition">&para;</a></dt>
<dd><p>Bases: <a class="reference internal" href="#docplex.mp.constr.AbstractConstraint" title="docplex.mp.constr.AbstractConstraint"><code class="xref py py-class docutils literal notranslate"><span class="pre">AbstractConstraint</span></code></a></p>
<p>This class models piecewise linear constraints.</p>
<p>This class is not meant to be instantiated by the user.
To create a piecewise constraint, use the factory method <a class="reference internal" href="docplex.mp.model.html#docplex.mp.model.Model.piecewise" title="docplex.mp.model.Model.piecewise"><code class="xref py py-func docutils literal notranslate"><span class="pre">docplex.mp.model.Model.piecewise()</span></code></a>
defined on <a class="reference internal" href="docplex.mp.model.html#docplex.mp.model.Model" title="docplex.mp.model.Model"><code class="xref py py-class docutils literal notranslate"><span class="pre">docplex.mp.model.Model</span></code></a>.</p>
<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.PwlConstraint.expr">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">expr</span></span><a class="headerlink" href="#docplex.mp.constr.PwlConstraint.expr" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property returns the linear expression of the piecewise linear constraint.</p>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="docplex.mp.constr.PwlConstraint.iter_variables">
<span class="sig-name descname"><span class="pre">iter_variables</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#PwlConstraint.iter_variables"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.PwlConstraint.iter_variables" title="Permalink to this definition">&para;</a></dt>
<dd><p>Iterates over all the variables of the piecewise linear constraint.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>An iterator object.</p>
</dd>
</dl>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.PwlConstraint.pwl_func">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">pwl_func</span></span><a class="headerlink" href="#docplex.mp.constr.PwlConstraint.pwl_func" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property returns the piecewise linear function of the piecewise linear constraint.</p>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.PwlConstraint.y">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">y</span></span><a class="headerlink" href="#docplex.mp.constr.PwlConstraint.y" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property returns the output variable associated with the piecewise linear constraint.</p>
</dd></dl>

</dd></dl>

<dl class="py class">
<dt class="sig sig-object py" id="docplex.mp.constr.QuadraticConstraint">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">docplex.mp.constr.</span></span><span class="sig-name descname"><span class="pre">QuadraticConstraint</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">left_expr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ctsense</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">right_expr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#QuadraticConstraint"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.QuadraticConstraint" title="Permalink to this definition">&para;</a></dt>
<dd><p>Bases: <a class="reference internal" href="#docplex.mp.constr.BinaryConstraint" title="docplex.mp.constr.BinaryConstraint"><code class="xref py py-class docutils literal notranslate"><span class="pre">BinaryConstraint</span></code></a></p>
<p>The class models quadratic constraints.</p>
<p>Quadratic constraints are of the form <cite>&lt;qexpr1&gt; &lt;OP&gt; &lt;qexpr2&gt;</cite>,
where at least one of &lt;qexpr1&gt; or &lt;qexpr2&gt; is a quadratic expression.</p>
<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.QuadraticConstraint.benders_annotation">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">benders_annotation</span></span><a class="headerlink" href="#docplex.mp.constr.QuadraticConstraint.benders_annotation" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property is used to get or set the Benders annotation of a constraint.
The value of the annotation must be a positive integer</p>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.QuadraticConstraint.sense">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">sense</span></span><a class="headerlink" href="#docplex.mp.constr.QuadraticConstraint.sense" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property is used to get or set the sense of the constraint; sense is an enumerated value
of type <code class="xref py py-class docutils literal notranslate"><span class="pre">ComparisonType</span></code>, with three possible values:</p>
<ul class="simple">
<li><p>LE for e1 &lt;= e2 constraints</p></li>
<li><p>EQ for e1 == e2 constraints</p></li>
<li><p>GE for e1 &gt;= e2 constraints</p></li>
</ul>
<p>where e1 and e2 denote quadratic expressions.</p>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.QuadraticConstraint.slack_value">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">slack_value</span></span><a class="headerlink" href="#docplex.mp.constr.QuadraticConstraint.slack_value" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property returns the slack value of the constraint.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>This method will raise an exception if the model has not been solved successfully.</p>
</div>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.QuadraticConstraint.type">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">type</span></span><a class="headerlink" href="#docplex.mp.constr.QuadraticConstraint.type" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property returns the type of the constraint; type is an enumerated value
of type <code class="xref py py-class docutils literal notranslate"><span class="pre">ComparisonType</span></code>, with three possible values:</p>
<ul class="simple">
<li><p>LE for e1 &lt;= e2 constraints</p></li>
<li><p>EQ for e1 == e2 constraints</p></li>
<li><p>GE for e1 &gt;= e2 constraints</p></li>
</ul>
<p>where e1 and e2 denote linear expressions.</p>
</dd></dl>

</dd></dl>

<dl class="py class">
<dt class="sig sig-object py" id="docplex.mp.constr.RangeConstraint">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">docplex.mp.constr.</span></span><span class="sig-name descname"><span class="pre">RangeConstraint</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">model</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">expr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lb</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ub</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#RangeConstraint"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.RangeConstraint" title="Permalink to this definition">&para;</a></dt>
<dd><p>Bases: <a class="reference internal" href="#docplex.mp.constr.AbstractConstraint" title="docplex.mp.constr.AbstractConstraint"><code class="xref py py-class docutils literal notranslate"><span class="pre">AbstractConstraint</span></code></a></p>
<p>This class models range constraints.</p>
<p>A range constraint states that an expression must stay between two
values, <cite>lb</cite> and <cite>ub</cite>.</p>
<p>This class is not meant to be instantiated by the user.
To create a range constraint, use the factory method <a class="reference internal" href="docplex.mp.model.html#docplex.mp.model.Model.add_range" title="docplex.mp.model.Model.add_range"><code class="xref py py-func docutils literal notranslate"><span class="pre">docplex.mp.model.Model.add_range()</span></code></a>
defined on <a class="reference internal" href="docplex.mp.model.html#docplex.mp.model.Model" title="docplex.mp.model.Model"><code class="xref py py-class docutils literal notranslate"><span class="pre">docplex.mp.model.Model</span></code></a>.</p>
<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.RangeConstraint.basis_status">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">basis_status</span></span><a class="headerlink" href="#docplex.mp.constr.RangeConstraint.basis_status" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property returns the basis status of the slack variable of the constraint, if any.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>An enumerated value from the enumerated type <cite>docplex.constants.BasisStatus</cite>.</p>
</dd>
</dl>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>for the model to hold basis information, the model must have been solved as a LP problem.
In some cases, a model which failed to solve may still have a basis available. Use
<cite>Model.has_basis()</cite> to check whether the model has basis information or not.</p>
</div>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference internal" href="docplex.mp.model.html#docplex.mp.model.Model.has_basis" title="docplex.mp.model.Model.has_basis"><code class="xref py py-func docutils literal notranslate"><span class="pre">docplex.mp.model.Model.has_basis()</span></code></a>
<a class="reference internal" href="docplex.mp.constants.html#docplex.mp.constants.BasisStatus" title="docplex.mp.constants.BasisStatus"><code class="xref py py-class docutils literal notranslate"><span class="pre">docplex.mp.constants.BasisStatus</span></code></a></p>
</div>
<p><em>New in version 2.10</em></p>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.RangeConstraint.benders_annotation">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">benders_annotation</span></span><a class="headerlink" href="#docplex.mp.constr.RangeConstraint.benders_annotation" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property is used to get or set the Benders annotation of a constraint.
The value of the annotation must be a positive integer</p>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.RangeConstraint.bounds">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">bounds</span></span><a class="headerlink" href="#docplex.mp.constr.RangeConstraint.bounds" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property is used to get or set the (lower, upper) bounds of a range constraint.</p>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.RangeConstraint.dual_value">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">dual_value</span></span><a class="headerlink" href="#docplex.mp.constr.RangeConstraint.dual_value" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property returns the dual value of the constraint.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>This method will raise an exception if the model has not been solved successfully.</p>
</div>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.RangeConstraint.expr">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">expr</span></span><a class="headerlink" href="#docplex.mp.constr.RangeConstraint.expr" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property returns the linear expression of the range constraint.</p>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="docplex.mp.constr.RangeConstraint.iter_variables">
<span class="sig-name descname"><span class="pre">iter_variables</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/docplex/mp/constr.html#RangeConstraint.iter_variables"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#docplex.mp.constr.RangeConstraint.iter_variables" title="Permalink to this definition">&para;</a></dt>
<dd><p>Iterates over all the variables of the range constraint.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>An iterator object.</p>
</dd>
</dl>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.RangeConstraint.lb">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">lb</span></span><a class="headerlink" href="#docplex.mp.constr.RangeConstraint.lb" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property is used to get or set the lower bound of the range constraint.</p>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.RangeConstraint.slack_value">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">slack_value</span></span><a class="headerlink" href="#docplex.mp.constr.RangeConstraint.slack_value" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property returns the slack value of the constraint.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>This method will raise an exception if the model has not been solved successfully.</p>
</div>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="docplex.mp.constr.RangeConstraint.ub">
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">ub</span></span><a class="headerlink" href="#docplex.mp.constr.RangeConstraint.ub" title="Permalink to this definition">&para;</a></dt>
<dd><p>This property is used to get or set the upper bound of the range constraint.</p>
</dd></dl>

</dd></dl>

</section>


            <div class="clearer"></div>
          </div>
        </div>
      </div>
      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
        <div class="sphinxsidebarwrapper">
  <div>
    <h3><a href="index.html">Table of Contents</a></h3>
    <ul>
<li><a class="reference internal" href="#">docplex.mp.constr module</a><ul>
<li><a class="reference internal" href="#docplex.mp.constr.AbstractConstraint"><code class="docutils literal notranslate"><span class="pre">AbstractConstraint</span></code></a><ul>
<li><a class="reference internal" href="#docplex.mp.constr.AbstractConstraint.is_added"><code class="docutils literal notranslate"><span class="pre">AbstractConstraint.is_added()</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.AbstractConstraint.set_mandatory"><code class="docutils literal notranslate"><span class="pre">AbstractConstraint.set_mandatory()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#docplex.mp.constr.BinaryConstraint"><code class="docutils literal notranslate"><span class="pre">BinaryConstraint</span></code></a><ul>
<li><a class="reference internal" href="#docplex.mp.constr.BinaryConstraint.get_left_expr"><code class="docutils literal notranslate"><span class="pre">BinaryConstraint.get_left_expr()</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.BinaryConstraint.get_right_expr"><code class="docutils literal notranslate"><span class="pre">BinaryConstraint.get_right_expr()</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.BinaryConstraint.iter_variables"><code class="docutils literal notranslate"><span class="pre">BinaryConstraint.iter_variables()</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.BinaryConstraint.to_string"><code class="docutils literal notranslate"><span class="pre">BinaryConstraint.to_string()</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.BinaryConstraint.type"><code class="docutils literal notranslate"><span class="pre">BinaryConstraint.type</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#docplex.mp.constr.EquivalenceConstraint"><code class="docutils literal notranslate"><span class="pre">EquivalenceConstraint</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.IfThenConstraint"><code class="docutils literal notranslate"><span class="pre">IfThenConstraint</span></code></a><ul>
<li><a class="reference internal" href="#docplex.mp.constr.IfThenConstraint.to_string"><code class="docutils literal notranslate"><span class="pre">IfThenConstraint.to_string()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#docplex.mp.constr.IndicatorConstraint"><code class="docutils literal notranslate"><span class="pre">IndicatorConstraint</span></code></a><ul>
<li><a class="reference internal" href="#docplex.mp.constr.IndicatorConstraint.invalidate"><code class="docutils literal notranslate"><span class="pre">IndicatorConstraint.invalidate()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#docplex.mp.constr.LinearConstraint"><code class="docutils literal notranslate"><span class="pre">LinearConstraint</span></code></a><ul>
<li><a class="reference internal" href="#docplex.mp.constr.LinearConstraint.basis_status"><code class="docutils literal notranslate"><span class="pre">LinearConstraint.basis_status</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.LinearConstraint.benders_annotation"><code class="docutils literal notranslate"><span class="pre">LinearConstraint.benders_annotation</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.LinearConstraint.dual_value"><code class="docutils literal notranslate"><span class="pre">LinearConstraint.dual_value</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.LinearConstraint.eq"><code class="docutils literal notranslate"><span class="pre">LinearConstraint.eq()</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.LinearConstraint.ge"><code class="docutils literal notranslate"><span class="pre">LinearConstraint.ge()</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.LinearConstraint.le"><code class="docutils literal notranslate"><span class="pre">LinearConstraint.le()</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.LinearConstraint.left_expr"><code class="docutils literal notranslate"><span class="pre">LinearConstraint.left_expr</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.LinearConstraint.lhs"><code class="docutils literal notranslate"><span class="pre">LinearConstraint.lhs</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.LinearConstraint.rhs"><code class="docutils literal notranslate"><span class="pre">LinearConstraint.rhs</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.LinearConstraint.right_expr"><code class="docutils literal notranslate"><span class="pre">LinearConstraint.right_expr</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.LinearConstraint.sense"><code class="docutils literal notranslate"><span class="pre">LinearConstraint.sense</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.LinearConstraint.slack_value"><code class="docutils literal notranslate"><span class="pre">LinearConstraint.slack_value</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.LinearConstraint.to_string"><code class="docutils literal notranslate"><span class="pre">LinearConstraint.to_string()</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.LinearConstraint.type"><code class="docutils literal notranslate"><span class="pre">LinearConstraint.type</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#docplex.mp.constr.LogicalConstraint"><code class="docutils literal notranslate"><span class="pre">LogicalConstraint</span></code></a><ul>
<li><a class="reference internal" href="#docplex.mp.constr.LogicalConstraint.benders_annotation"><code class="docutils literal notranslate"><span class="pre">LogicalConstraint.benders_annotation</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.LogicalConstraint.to_string"><code class="docutils literal notranslate"><span class="pre">LogicalConstraint.to_string()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#docplex.mp.constr.NotEqualConstraint"><code class="docutils literal notranslate"><span class="pre">NotEqualConstraint</span></code></a><ul>
<li><a class="reference internal" href="#docplex.mp.constr.NotEqualConstraint.to_string"><code class="docutils literal notranslate"><span class="pre">NotEqualConstraint.to_string()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#docplex.mp.constr.PwlConstraint"><code class="docutils literal notranslate"><span class="pre">PwlConstraint</span></code></a><ul>
<li><a class="reference internal" href="#docplex.mp.constr.PwlConstraint.expr"><code class="docutils literal notranslate"><span class="pre">PwlConstraint.expr</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.PwlConstraint.iter_variables"><code class="docutils literal notranslate"><span class="pre">PwlConstraint.iter_variables()</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.PwlConstraint.pwl_func"><code class="docutils literal notranslate"><span class="pre">PwlConstraint.pwl_func</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.PwlConstraint.y"><code class="docutils literal notranslate"><span class="pre">PwlConstraint.y</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#docplex.mp.constr.QuadraticConstraint"><code class="docutils literal notranslate"><span class="pre">QuadraticConstraint</span></code></a><ul>
<li><a class="reference internal" href="#docplex.mp.constr.QuadraticConstraint.benders_annotation"><code class="docutils literal notranslate"><span class="pre">QuadraticConstraint.benders_annotation</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.QuadraticConstraint.sense"><code class="docutils literal notranslate"><span class="pre">QuadraticConstraint.sense</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.QuadraticConstraint.slack_value"><code class="docutils literal notranslate"><span class="pre">QuadraticConstraint.slack_value</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.QuadraticConstraint.type"><code class="docutils literal notranslate"><span class="pre">QuadraticConstraint.type</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#docplex.mp.constr.RangeConstraint"><code class="docutils literal notranslate"><span class="pre">RangeConstraint</span></code></a><ul>
<li><a class="reference internal" href="#docplex.mp.constr.RangeConstraint.basis_status"><code class="docutils literal notranslate"><span class="pre">RangeConstraint.basis_status</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.RangeConstraint.benders_annotation"><code class="docutils literal notranslate"><span class="pre">RangeConstraint.benders_annotation</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.RangeConstraint.bounds"><code class="docutils literal notranslate"><span class="pre">RangeConstraint.bounds</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.RangeConstraint.dual_value"><code class="docutils literal notranslate"><span class="pre">RangeConstraint.dual_value</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.RangeConstraint.expr"><code class="docutils literal notranslate"><span class="pre">RangeConstraint.expr</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.RangeConstraint.iter_variables"><code class="docutils literal notranslate"><span class="pre">RangeConstraint.iter_variables()</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.RangeConstraint.lb"><code class="docutils literal notranslate"><span class="pre">RangeConstraint.lb</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.RangeConstraint.slack_value"><code class="docutils literal notranslate"><span class="pre">RangeConstraint.slack_value</span></code></a></li>
<li><a class="reference internal" href="#docplex.mp.constr.RangeConstraint.ub"><code class="docutils literal notranslate"><span class="pre">RangeConstraint.ub</span></code></a></li>
</ul>
</li>
</ul>
</li>
</ul>

  </div>
  <div>
    <h4>Previous topic</h4>
    <p class="topless"><a href="docplex.mp.constants.html"
                          title="previous chapter">docplex.mp.constants module</a></p>
  </div>
  <div>
    <h4>Next topic</h4>
    <p class="topless"><a href="docplex.mp.context.html"
                          title="next chapter">docplex.mp.context module</a></p>
  </div>
<div id="searchbox" style="display: none" role="search">
  <h3 id="searchlabel">Quick search</h3>
    <div class="searchformwrapper">
    <form class="search" action="search.html" method="get">
      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
      <input type="submit" value="Go" />
    </form>
    </div>
</div>
<script>document.getElementById('searchbox').style.display = "block"</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="docplex.mp.context.html" title="docplex.mp.context module"
             >next</a> |</li>
        <li class="right" >
          <a href="docplex.mp.constants.html" title="docplex.mp.constants module"
             >previous</a> |</li>
        <li class="nav-item nav-item-0"><a href="index.html">DOcplex.MP: Mathematical Programming Modeling for Python V2.30 documentation</a> &#187;</li>
          <li class="nav-item nav-item-1"><a href="refman.html" ><strong>docplex.mp</strong> reference manual</a> &#187;</li>
        <li class="nav-item nav-item-this"><a href="">docplex.mp.constr module</a></li> 
      </ul>
    </div>
    <div class="footer" role="contentinfo">
    &#169; Copyright 2016-2022, IBM&reg;.
    </div>
  </body>
</html>