Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > df736a3bc446df5b16150bebb7296274 > files > 246

DSDP-devel-5.8-2.fc14.i686.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>DSDP: Bounds</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.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">DSDP</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Bounds</div>  </div>
</div>
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Bounds.html#gade1222d9b36e71a1b9a97fb7ffc07e76">BConeAllocateBounds</a> (<a class="el" href="dsdp5_8h.html#a266598a85e3c9c12e8706e21cf7f0f45">BCone</a> bcone, int nnz)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a surplus variable in constraint in (P).  <a href="#gade1222d9b36e71a1b9a97fb7ffc07e76"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Bounds.html#ga07bca4d64dd4dfd3f7a77d59c7694c87">BConeCopyX</a> (<a class="el" href="dsdp5_8h.html#a266598a85e3c9c12e8706e21cf7f0f45">BCone</a> bcone, double xl[], double xu[], int m)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy the variables into arrays.  <a href="#ga07bca4d64dd4dfd3f7a77d59c7694c87"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Bounds.html#ga297f00a5e6f5879e63d12eca63dbc715">BConeSetLowerBound</a> (<a class="el" href="dsdp5_8h.html#a266598a85e3c9c12e8706e21cf7f0f45">BCone</a> bcone, int vari, double lbound)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a lower bound on a variable y.  <a href="#ga297f00a5e6f5879e63d12eca63dbc715"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Bounds.html#gae139bf5bb64763263a3605f97d4f5526">BConeSetPSlackVariable</a> (<a class="el" href="dsdp5_8h.html#a266598a85e3c9c12e8706e21cf7f0f45">BCone</a> bcone, int vari)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a slack variable to a constraint in (P).  <a href="#gae139bf5bb64763263a3605f97d4f5526"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Bounds.html#gaa135107aae25d342c061838ca7690036">BConeSetPSurplusVariable</a> (<a class="el" href="dsdp5_8h.html#a266598a85e3c9c12e8706e21cf7f0f45">BCone</a> bcone, int vari)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a surplus variable in constraint in (P).  <a href="#gaa135107aae25d342c061838ca7690036"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Bounds.html#ga28c140fa13c908eaae22fb4c087ea2ea">BConeSetUpperBound</a> (<a class="el" href="dsdp5_8h.html#a266598a85e3c9c12e8706e21cf7f0f45">BCone</a> bcone, int vari, double ubound)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set an upper bound on a variable y.  <a href="#ga28c140fa13c908eaae22fb4c087ea2ea"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Bounds.html#ga66c37f394d6efb45e686aed600015d09">DSDPCreateBCone</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, <a class="el" href="dsdp5_8h.html#a266598a85e3c9c12e8706e21cf7f0f45">BCone</a> *dspcone)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new cone that represents bounds on the y variables.  <a href="#ga66c37f394d6efb45e686aed600015d09"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>Bounds on the variables y are a special type of semidefinite and LP cone. Corresponding to lower and upper bounds on the y variables are surplus and slack variables in (P) with an a cost.</p>
<p>Variables y are numbered 1 through m.</p>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#include dsdp5.h </span>
</pre></div><dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>if successful </td></tr>
  </table>
  </dd>
</dl>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gade1222d9b36e71a1b9a97fb7ffc07e76"></a><!-- doxytag: member="dbounds.c::BConeAllocateBounds" ref="gade1222d9b36e71a1b9a97fb7ffc07e76" args="(BCone bcone, int nnz)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int BConeAllocateBounds </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdp5_8h.html#a266598a85e3c9c12e8706e21cf7f0f45">BCone</a>&#160;</td>
          <td class="paramname"><em>bcone</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nnz</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set a surplus variable in constraint in (P). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">bcone</td><td>bounds </td></tr>
    <tr><td class="paramname">nnz</td><td>number of bounds that will be set.</td></tr>
  </table>
  </dd>
</dl>
<p>This optional routine allows for efficient allocation of memory for this object. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Bounds.html#ga297f00a5e6f5879e63d12eca63dbc715" title="Set a lower bound on a variable y.">BConeSetLowerBound()</a> </dd>
<dd>
<a class="el" href="group__Bounds.html#ga28c140fa13c908eaae22fb4c087ea2ea" title="Set an upper bound on a variable y.">BConeSetUpperBound()</a> </dd></dl>

<p>Definition at line <a class="el" href="dbounds_8c_source.html#l00645">645</a> of file <a class="el" href="dbounds_8c_source.html">dbounds.c</a>.</p>

<p>Referenced by <a class="el" href="dsdp_8c_source.html#l00035">mexFunction()</a>, <a class="el" href="color_8c_source.html#l00039">MinColoring()</a>, and <a class="el" href="readsdpa_8c_source.html#l00080">ReadSDPAFile()</a>.</p>

</div>
</div>
<a class="anchor" id="ga07bca4d64dd4dfd3f7a77d59c7694c87"></a><!-- doxytag: member="dbounds.c::BConeCopyX" ref="ga07bca4d64dd4dfd3f7a77d59c7694c87" args="(BCone bcone, double xl[], double xu[], int m)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int BConeCopyX </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdp5_8h.html#a266598a85e3c9c12e8706e21cf7f0f45">BCone</a>&#160;</td>
          <td class="paramname"><em>bcone</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>xl</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>xu</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>m</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy the variables into arrays. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">bcone</td><td>Bounds </td></tr>
    <tr><td class="paramname">xl</td><td>array </td></tr>
    <tr><td class="paramname">xu</td><td>array </td></tr>
    <tr><td class="paramname">m</td><td>length of the arrays</td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__DSDPBasic.html#gacd271769549030ce365597101946220b" title="Compute the X variables.">DSDPComputeX()</a></dd></dl>
<p>This routine will set the values of this array to the value of the corresponding variable. When no bound is present, the variable will equal zero. </p>

<p>Definition at line <a class="el" href="dbounds_8c_source.html#l00517">517</a> of file <a class="el" href="dbounds_8c_source.html">dbounds.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga297f00a5e6f5879e63d12eca63dbc715"></a><!-- doxytag: member="dbounds.c::BConeSetLowerBound" ref="ga297f00a5e6f5879e63d12eca63dbc715" args="(BCone bcone, int vari, double lbound)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int BConeSetLowerBound </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdp5_8h.html#a266598a85e3c9c12e8706e21cf7f0f45">BCone</a>&#160;</td>
          <td class="paramname"><em>bcone</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>vari</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>lbound</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set a lower bound on a variable y. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">bcone</td><td>bounds </td></tr>
    <tr><td class="paramname">vari</td><td>y variable number </td></tr>
    <tr><td class="paramname">lbound</td><td>lower bound </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dbounds_8c_source.html#l00566">566</a> of file <a class="el" href="dbounds_8c_source.html">dbounds.c</a>.</p>

<p>Referenced by <a class="el" href="dbounds_8c_source.html#l00624">BConeSetPSurplusVariable()</a>, <a class="el" href="dsdp_8c_source.html#l00035">mexFunction()</a>, and <a class="el" href="readsdpa_8c_source.html#l00080">ReadSDPAFile()</a>.</p>

</div>
</div>
<a class="anchor" id="gae139bf5bb64763263a3605f97d4f5526"></a><!-- doxytag: member="dbounds.c::BConeSetPSlackVariable" ref="gae139bf5bb64763263a3605f97d4f5526" args="(BCone bcone, int vari)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int BConeSetPSlackVariable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdp5_8h.html#a266598a85e3c9c12e8706e21cf7f0f45">BCone</a>&#160;</td>
          <td class="paramname"><em>bcone</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>vari</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set a slack variable to a constraint in (P). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">bcone</td><td>bounds </td></tr>
    <tr><td class="paramname">vari</td><td>y variable number </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Bounds.html#ga28c140fa13c908eaae22fb4c087ea2ea" title="Set an upper bound on a variable y.">BConeSetUpperBound()</a> </dd>
<dd>
<a class="el" href="group__Bounds.html#gaa135107aae25d342c061838ca7690036" title="Set a surplus variable in constraint in (P).">BConeSetPSurplusVariable()</a></dd></dl>
<p>When a constraint in (P) is best expressed with an inequality constraint, a slack variable may be added.</p>
<p>This command is equivalent to setting an upper bound on variable $y_i$ to zero. </p>

<p>Definition at line <a class="el" href="dbounds_8c_source.html#l00607">607</a> of file <a class="el" href="dbounds_8c_source.html">dbounds.c</a>.</p>

<p>Referenced by <a class="el" href="color_8c_source.html#l00039">MinColoring()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa135107aae25d342c061838ca7690036"></a><!-- doxytag: member="dbounds.c::BConeSetPSurplusVariable" ref="gaa135107aae25d342c061838ca7690036" args="(BCone bcone, int vari)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int BConeSetPSurplusVariable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdp5_8h.html#a266598a85e3c9c12e8706e21cf7f0f45">BCone</a>&#160;</td>
          <td class="paramname"><em>bcone</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>vari</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set a surplus variable in constraint in (P). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">bcone</td><td>bounds </td></tr>
    <tr><td class="paramname">vari</td><td>y variable number </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Bounds.html#ga297f00a5e6f5879e63d12eca63dbc715" title="Set a lower bound on a variable y.">BConeSetLowerBound()</a> </dd></dl>

<p>Definition at line <a class="el" href="dbounds_8c_source.html#l00624">624</a> of file <a class="el" href="dbounds_8c_source.html">dbounds.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga28c140fa13c908eaae22fb4c087ea2ea"></a><!-- doxytag: member="dbounds.c::BConeSetUpperBound" ref="ga28c140fa13c908eaae22fb4c087ea2ea" args="(BCone bcone, int vari, double ubound)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int BConeSetUpperBound </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdp5_8h.html#a266598a85e3c9c12e8706e21cf7f0f45">BCone</a>&#160;</td>
          <td class="paramname"><em>bcone</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>vari</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>ubound</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set an upper bound on a variable y. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">bcone</td><td>bounds </td></tr>
    <tr><td class="paramname">vari</td><td>y variable number </td></tr>
    <tr><td class="paramname">ubound</td><td>upper bound </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dbounds_8c_source.html#l00583">583</a> of file <a class="el" href="dbounds_8c_source.html">dbounds.c</a>.</p>

<p>Referenced by <a class="el" href="dbounds_8c_source.html#l00607">BConeSetPSlackVariable()</a>, <a class="el" href="dsdp_8c_source.html#l00035">mexFunction()</a>, and <a class="el" href="readsdpa_8c_source.html#l00080">ReadSDPAFile()</a>.</p>

</div>
</div>
<a class="anchor" id="ga66c37f394d6efb45e686aed600015d09"></a><!-- doxytag: member="dbounds.c::DSDPCreateBCone" ref="ga66c37f394d6efb45e686aed600015d09" args="(DSDP dsdp, BCone *dspcone)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPCreateBCone </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsdp5_8h.html#a266598a85e3c9c12e8706e21cf7f0f45">BCone</a> *&#160;</td>
          <td class="paramname"><em>dspcone</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a new cone that represents bounds on the y variables. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>the solver </td></tr>
    <tr><td class="paramname">dspcone</td><td>new cone</td></tr>
  </table>
  </dd>
</dl>
<p>For example, to bound the first of three y variables below by 0 and 10, </p>
<div class="fragment"><pre class="fragment"><a class="code" href="structDSDP__C.html" title="Internal structures for the DSDP solver.">DSDP</a> dsdp;
<a class="code" href="dsdp5_8h.html#a266598a85e3c9c12e8706e21cf7f0f45" title="The BCone object points to lower and upper bounds on the variable y in (D).">BCone</a> bcone;
<span class="keywordtype">int</span> xl[3],xu[3];
<a class="code" href="group__DSDPBasic.html#gaa32509ded8359326d02782adb91c745a" title="Create a DSDP solver. FIRST DSDP routine!">DSDPCreate</a>(3,&amp;dsdp);
<a class="code" href="group__Bounds.html#ga66c37f394d6efb45e686aed600015d09" title="Create a new cone that represents bounds on the y variables.">DSDPCreateBCone</a>(dsdp,&amp;bcone);
<a class="code" href="group__Bounds.html#ga297f00a5e6f5879e63d12eca63dbc715" title="Set a lower bound on a variable y.">BConeSetLowerBound</a>(bcone,1,0.0);
<a class="code" href="group__Bounds.html#ga297f00a5e6f5879e63d12eca63dbc715" title="Set a lower bound on a variable y.">BConeSetLowerBound</a>(bcone,1,10.0);
...

DSDPComputeX(dsdp);
<a class="code" href="group__Bounds.html#ga07bca4d64dd4dfd3f7a77d59c7694c87" title="Copy the variables into arrays.">BConeCopyX</a>(bcone,xl,xu,3);
printf(<span class="stringliteral">&quot;The sensitivity of the solution to lower bound is %4.4f\n&quot;</span>,xl[0]);
</pre></div> 
<p>Definition at line <a class="el" href="dbounds_8c_source.html#l00467">467</a> of file <a class="el" href="dbounds_8c_source.html">dbounds.c</a>.</p>

<p>Referenced by <a class="el" href="dsdp_8c_source.html#l00035">mexFunction()</a>, <a class="el" href="color_8c_source.html#l00039">MinColoring()</a>, and <a class="el" href="readsdpa_8c_source.html#l00080">ReadSDPAFile()</a>.</p>

</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Wed Jun 8 2011 for DSDP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>