Sophie

Sophie

distrib > * > cooker > x86_64 > by-pkgid > 6821ecc3db154939da2f564d5e6d1885 > files > 79

ppl-docs-0.11.2-1.x86_64.rpm

<!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>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>PPL: Parma_Polyhedra_Library::PIP_Solution_Node Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespaceParma__Polyhedra__Library.html">Parma_Polyhedra_Library</a>::<a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html">PIP_Solution_Node</a>
  </div>
</div>
<div class="contents">
<h1>Parma_Polyhedra_Library::PIP_Solution_Node Class Reference</h1><!-- doxytag: class="Parma_Polyhedra_Library::PIP_Solution_Node" --><!-- doxytag: inherits="Parma_Polyhedra_Library::PIP_Tree_Node" -->
<p>A tree node representing part of the space of solutions.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;ppl.hh&gt;</code></p>

<p>Inherits <a class="el" href="classParma__Polyhedra__Library_1_1PIP__Tree__Node.html">Parma_Polyhedra_Library::PIP_Tree_Node</a>.</p>

<p><a href="classParma__Polyhedra__Library_1_1PIP__Solution__Node-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structParma__Polyhedra__Library_1_1PIP__Solution__Node_1_1No__Constraints.html">No_Constraints</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A tag type to select the alternative copy constructor.  <a href="structParma__Polyhedra__Library_1_1PIP__Solution__Node_1_1No__Constraints.html#_details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8db329a321108295b995b5af1058ff37"></a><!-- doxytag: member="Parma_Polyhedra_Library::PIP_Solution_Node::PIP_Solution_Node" ref="a8db329a321108295b995b5af1058ff37" args="(const PIP_Problem *owner)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html#a8db329a321108295b995b5af1058ff37">PIP_Solution_Node</a> (const <a class="el" href="classParma__Polyhedra__Library_1_1PIP__Problem.html">PIP_Problem</a> *owner)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor: builds a solution node owned by <code>*owner</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a996dc24a90ed7bf0e7231563f3c78975"></a><!-- doxytag: member="Parma_Polyhedra_Library::PIP_Solution_Node::clone" ref="a996dc24a90ed7bf0e7231563f3c78975" args="() const " -->
virtual <a class="el" href="classParma__Polyhedra__Library_1_1PIP__Tree__Node.html">PIP_Tree_Node</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html#a996dc24a90ed7bf0e7231563f3c78975">clone</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a pointer to a dynamically-allocated copy of <code>*this</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6c1045d83957e66a37f4b9605431945c"></a><!-- doxytag: member="Parma_Polyhedra_Library::PIP_Solution_Node::~PIP_Solution_Node" ref="a6c1045d83957e66a37f4b9605431945c" args="()" -->
virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html#a6c1045d83957e66a37f4b9605431945c">~PIP_Solution_Node</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb1b3eeef8a1a793899d9b66f1200fb0"></a><!-- doxytag: member="Parma_Polyhedra_Library::PIP_Solution_Node::OK" ref="abb1b3eeef8a1a793899d9b66f1200fb0" args="() const " -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html#abb1b3eeef8a1a793899d9b66f1200fb0">OK</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns <code>true</code> if and only if <code>*this</code> is well formed. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a49e1548e93467d9fd12ba992f8712c56"></a><!-- doxytag: member="Parma_Polyhedra_Library::PIP_Solution_Node::as_solution" ref="a49e1548e93467d9fd12ba992f8712c56" args="() const " -->
virtual const <a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html">PIP_Solution_Node</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html#a49e1548e93467d9fd12ba992f8712c56">as_solution</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns <code>this</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classParma__Polyhedra__Library_1_1Linear__Expression.html">Linear_Expression</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html#a4ec7c4c8093efb70675c35a17d6a7e28">parametric_values</a> (<a class="el" href="classParma__Polyhedra__Library_1_1Variable.html">Variable</a> var) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a parametric expression for the values of problem variable <code>var</code>.  <a href="#a4ec7c4c8093efb70675c35a17d6a7e28"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a35a36fe85a7865e86d210e8db5e26a04"></a><!-- doxytag: member="Parma_Polyhedra_Library::PIP_Solution_Node::ascii_dump" ref="a35a36fe85a7865e86d210e8db5e26a04" args="(std::ostream &amp;s) const " -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html#a35a36fe85a7865e86d210e8db5e26a04">ascii_dump</a> (std::ostream &amp;s) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dumps to <code>s</code> an ASCII representation of <code>*this</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2890d075ea848067ec261a99518ba12d"></a><!-- doxytag: member="Parma_Polyhedra_Library::PIP_Solution_Node::ascii_load" ref="a2890d075ea848067ec261a99518ba12d" args="(std::istream &amp;s)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html#a2890d075ea848067ec261a99518ba12d">ascii_load</a> (std::istream &amp;s)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loads from <code>s</code> an ASCII representation (as produced by <a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html#a35a36fe85a7865e86d210e8db5e26a04" title="Dumps to s an ASCII representation of *this.">ascii_dump(std::ostream&amp;) const</a>) and sets <code>*this</code> accordingly. Returns <code>true</code> if successful, <code>false</code> otherwise. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a082a2f74f2c88339b84f233dc45e3370"></a><!-- doxytag: member="Parma_Polyhedra_Library::PIP_Solution_Node::total_memory_in_bytes" ref="a082a2f74f2c88339b84f233dc45e3370" args="() const " -->
virtual <a class="el" href="group__PPL__CXX__interface.html#ga760aa1f95d13e389ec6eb33fdbf88783">memory_size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html#a082a2f74f2c88339b84f233dc45e3370">total_memory_in_bytes</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the total size in bytes of the memory occupied by <code>*this</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab41e16bb175c436813472be1b131f853"></a><!-- doxytag: member="Parma_Polyhedra_Library::PIP_Solution_Node::external_memory_in_bytes" ref="ab41e16bb175c436813472be1b131f853" args="() const " -->
virtual <a class="el" href="group__PPL__CXX__interface.html#ga760aa1f95d13e389ec6eb33fdbf88783">memory_size_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html#ab41e16bb175c436813472be1b131f853">external_memory_in_bytes</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the size in bytes of the memory managed by <code>*this</code>. <br/></td></tr>
<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7ef6a6a1d69f65fd28e518f0de795ffa"></a><!-- doxytag: member="Parma_Polyhedra_Library::PIP_Solution_Node::PIP_Solution_Node" ref="a7ef6a6a1d69f65fd28e518f0de795ffa" args="(const PIP_Solution_Node &amp;y)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html#a7ef6a6a1d69f65fd28e518f0de795ffa">PIP_Solution_Node</a> (const <a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html">PIP_Solution_Node</a> &amp;y)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html#a02d378f2284277bd0cf98f4f5e9daa37">PIP_Solution_Node</a> (const <a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html">PIP_Solution_Node</a> &amp;y, <a class="el" href="structParma__Polyhedra__Library_1_1PIP__Solution__Node_1_1No__Constraints.html">No_Constraints</a>)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Alternative copy constructor.  <a href="#a02d378f2284277bd0cf98f4f5e9daa37"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4f54448c4e6823e33a0f5121e5d27d4c"></a><!-- doxytag: member="Parma_Polyhedra_Library::PIP_Solution_Node::set_owner" ref="a4f54448c4e6823e33a0f5121e5d27d4c" args="(const PIP_Problem *owner)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html#a4f54448c4e6823e33a0f5121e5d27d4c">set_owner</a> (const <a class="el" href="classParma__Polyhedra__Library_1_1PIP__Problem.html">PIP_Problem</a> *owner)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the pointer to the <a class="el" href="classParma__Polyhedra__Library_1_1PIP__Problem.html" title="A Parametric Integer (linear) Programming problem.">PIP_Problem</a> owning object. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac3cf88993e63370f39ad5ea8915ba2af"></a><!-- doxytag: member="Parma_Polyhedra_Library::PIP_Solution_Node::check_ownership" ref="ac3cf88993e63370f39ad5ea8915ba2af" args="(const PIP_Problem *owner) const " -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html#ac3cf88993e63370f39ad5ea8915ba2af">check_ownership</a> (const <a class="el" href="classParma__Polyhedra__Library_1_1PIP__Problem.html">PIP_Problem</a> *owner) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns <code>true</code> if and only if all the nodes in the subtree rooted in <code>*this</code> is owned by <code>*pip</code>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad5d38b578c833abb397e67cacce7f54d"></a><!-- doxytag: member="Parma_Polyhedra_Library::PIP_Solution_Node::update_tableau" ref="ad5d38b578c833abb397e67cacce7f54d" args="(const PIP_Problem &amp;pip, dimension_type external_space_dim, dimension_type first_pending_constraint, const Constraint_Sequence &amp;input_cs, const Variables_Set &amp;parameters)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html#ad5d38b578c833abb397e67cacce7f54d">update_tableau</a> (const <a class="el" href="classParma__Polyhedra__Library_1_1PIP__Problem.html">PIP_Problem</a> &amp;pip, <a class="el" href="group__PPL__CXX__interface.html#ga853432469169b07e42c557e1d6d144de">dimension_type</a> external_space_dim, <a class="el" href="group__PPL__CXX__interface.html#ga853432469169b07e42c557e1d6d144de">dimension_type</a> first_pending_constraint, const <a class="el" href="classParma__Polyhedra__Library_1_1PIP__Tree__Node.html#afe89a5e748cfb2fabd6c6d46458f0d4e">Constraint_Sequence</a> &amp;input_cs, const <a class="el" href="classParma__Polyhedra__Library_1_1Variables__Set.html">Variables_Set</a> &amp;parameters)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implements pure virtual method <a class="el" href="classParma__Polyhedra__Library_1_1PIP__Tree__Node.html#a263d8e40807241816cef0286661553e1" title="Populates the parametric simplex tableau using external data.">PIP_Tree_Node::update_tableau</a>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html#a727cd68e90dd481583b6a2bd5fdfb492">update_solution</a> (const std::vector&lt; bool &gt; &amp;pip_dim_is_param) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Update the solution values.  <a href="#a727cd68e90dd481583b6a2bd5fdfb492"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6c2621d99e009a3c99558671ab046b9b"></a><!-- doxytag: member="Parma_Polyhedra_Library::PIP_Solution_Node::update_solution" ref="a6c2621d99e009a3c99558671ab046b9b" args="() const " -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html#a6c2621d99e009a3c99558671ab046b9b">update_solution</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper method. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab7bee7241acd10a165a5dcaaa15d40e4"></a><!-- doxytag: member="Parma_Polyhedra_Library::PIP_Solution_Node::solve" ref="ab7bee7241acd10a165a5dcaaa15d40e4" args="(const PIP_Problem &amp;pip, bool check_feasible_context, const Matrix &amp;context, const Variables_Set &amp;params, dimension_type space_dim, unsigned indent_level)" -->
virtual <a class="el" href="classParma__Polyhedra__Library_1_1PIP__Tree__Node.html">PIP_Tree_Node</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html#ab7bee7241acd10a165a5dcaaa15d40e4">solve</a> (const <a class="el" href="classParma__Polyhedra__Library_1_1PIP__Problem.html">PIP_Problem</a> &amp;pip, bool check_feasible_context, const Matrix &amp;context, const <a class="el" href="classParma__Polyhedra__Library_1_1Variables__Set.html">Variables_Set</a> &amp;params, <a class="el" href="group__PPL__CXX__interface.html#ga853432469169b07e42c557e1d6d144de">dimension_type</a> space_dim, unsigned indent_level)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implements pure virtual method <a class="el" href="classParma__Polyhedra__Library_1_1PIP__Tree__Node.html#a5f0557451b4e3556d65bb5bb703e9b46" title="Executes a parametric simplex on the tableau, under specified context.">PIP_Tree_Node::solve</a>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html#a91a8e2ea09adb555ec9808380d95446e">generate_cut</a> (<a class="el" href="group__PPL__CXX__interface.html#ga853432469169b07e42c557e1d6d144de">dimension_type</a> i, <a class="el" href="classParma__Polyhedra__Library_1_1Variables__Set.html">Variables_Set</a> &amp;parameters, Matrix &amp;context, <a class="el" href="group__PPL__CXX__interface.html#ga853432469169b07e42c557e1d6d144de">dimension_type</a> &amp;space_dimension, unsigned indent_level)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate a Gomory cut using non-integer tableau row <code>i</code>.  <a href="#a91a8e2ea09adb555ec9808380d95446e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a330d5c424c32abef2330e921ed0743c7"></a><!-- doxytag: member="Parma_Polyhedra_Library::PIP_Solution_Node::print_tree" ref="a330d5c424c32abef2330e921ed0743c7" args="(std::ostream &amp;s, unsigned indent, const std::vector&lt; bool &gt; &amp;pip_dim_is_param, dimension_type first_art_dim) const " -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html#a330d5c424c32abef2330e921ed0743c7">print_tree</a> (std::ostream &amp;s, unsigned indent, const std::vector&lt; bool &gt; &amp;pip_dim_is_param, <a class="el" href="group__PPL__CXX__interface.html#ga853432469169b07e42c557e1d6d144de">dimension_type</a> first_art_dim) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prints on <code>s</code> the tree rooted in <code>*this</code>. <br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A tree node representing part of the space of solutions. </p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a02d378f2284277bd0cf98f4f5e9daa37"></a><!-- doxytag: member="Parma_Polyhedra_Library::PIP_Solution_Node::PIP_Solution_Node" ref="a02d378f2284277bd0cf98f4f5e9daa37" args="(const PIP_Solution_Node &amp;y, No_Constraints)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Parma_Polyhedra_Library::PIP_Solution_Node::PIP_Solution_Node </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classParma__Polyhedra__Library_1_1PIP__Solution__Node.html">PIP_Solution_Node</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structParma__Polyhedra__Library_1_1PIP__Solution__Node_1_1No__Constraints.html">No_Constraints</a>&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Alternative copy constructor. </p>
<p>This constructor differs from the default copy constructor in that it will not copy the constraint system, nor the artificial parameters. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a4ec7c4c8093efb70675c35a17d6a7e28"></a><!-- doxytag: member="Parma_Polyhedra_Library::PIP_Solution_Node::parametric_values" ref="a4ec7c4c8093efb70675c35a17d6a7e28" args="(Variable var) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classParma__Polyhedra__Library_1_1Linear__Expression.html">Linear_Expression</a>&amp; Parma_Polyhedra_Library::PIP_Solution_Node::parametric_values </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classParma__Polyhedra__Library_1_1Variable.html">Variable</a>&nbsp;</td>
          <td class="paramname"> <em>var</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a parametric expression for the values of problem variable <code>var</code>. </p>
<p>The returned linear expression may involve problem parameters as well as artificial parameters.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>The problem variable which is queried about.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>std::invalid_argument</em>&nbsp;</td><td>Thrown if <code>var</code> is dimension-incompatible with the <a class="el" href="classParma__Polyhedra__Library_1_1PIP__Problem.html" title="A Parametric Integer (linear) Programming problem.">PIP_Problem</a> owning this solution node, or if <code>var</code> is a problem parameter. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a727cd68e90dd481583b6a2bd5fdfb492"></a><!-- doxytag: member="Parma_Polyhedra_Library::PIP_Solution_Node::update_solution" ref="a727cd68e90dd481583b6a2bd5fdfb492" args="(const std::vector&lt; bool &gt; &amp;pip_dim_is_param) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Parma_Polyhedra_Library::PIP_Solution_Node::update_solution </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; bool &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>pip_dim_is_param</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Update the solution values. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pip_dim_is_param</em>&nbsp;</td><td>A vector of Boolean flags telling which PIP problem dimensions are problem parameters. The size of the vector is equal to the PIP problem internal space dimension (i.e., no artificial parameters). </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a91a8e2ea09adb555ec9808380d95446e"></a><!-- doxytag: member="Parma_Polyhedra_Library::PIP_Solution_Node::generate_cut" ref="a91a8e2ea09adb555ec9808380d95446e" args="(dimension_type i, Variables_Set &amp;parameters, Matrix &amp;context, dimension_type &amp;space_dimension, unsigned indent_level)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Parma_Polyhedra_Library::PIP_Solution_Node::generate_cut </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__PPL__CXX__interface.html#ga853432469169b07e42c557e1d6d144de">dimension_type</a>&nbsp;</td>
          <td class="paramname"> <em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classParma__Polyhedra__Library_1_1Variables__Set.html">Variables_Set</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>parameters</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Matrix &amp;&nbsp;</td>
          <td class="paramname"> <em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__PPL__CXX__interface.html#ga853432469169b07e42c557e1d6d144de">dimension_type</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>space_dimension</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&nbsp;</td>
          <td class="paramname"> <em>indent_level</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Generate a Gomory cut using non-integer tableau row <code>i</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>i</em>&nbsp;</td><td>Row index in simplex tableau from which the cut is generated</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>parameters</em>&nbsp;</td><td>A std::set of the current parameter dimensions (including artificials); to be updated if a new artificial parameter is to be created</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>context</em>&nbsp;</td><td>A set of linear inequalities on the parameters, in matrix form; to be updated if a new artificial parameter is to be created</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>space_dimension</em>&nbsp;</td><td>The current space dimension, including variables and all parameters; to be updated if an extra parameter is to be created</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>indent_level</em>&nbsp;</td><td>The indentation level (for debugging output only). </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>ppl.hh</li>
</ul>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Sun Feb 27 10:10:57 2011 for PPL by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>