<!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>C++ API frePPLe: frepple::ProblemMaterialShortage Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="../styles.css" rel="stylesheet" type="text/css"> </head> <body> <div id="container"> <div id="menubar"> <div id="logo" align="center"> <br/><img src='../frepple.bmp' alt="frepple" /><br/> <a href='http://www.frepple.com/'> <strong>a Free<br/>Production Planning<br/>Library</strong> </a> </div> <div id="menu"> <br/> <h3><a href='../Main/HomePage.html'>Main</a></h3> <h3><a href='../UI/Main.html'>User Manual</a></h3> <h3><a href='../Tutorial/Main.html'>Tutorial</a></h3> <h3><a href='../Frepple/Main.html'>Reference Manual</a></h3> <h3><a href='../Main/FAQ.html'>FAQ</a></h3> <h3><a href='index.html'>C++ API</a></h3> <br/> </div> </div> <div id="content"> <br/> <!-- Generated by Doxygen 1.6.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</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> <li><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="a00256.html">frepple</a>::<a class="el" href="a00146.html">ProblemMaterialShortage</a> </div> </div> <div class="contents"> <h1>frepple::ProblemMaterialShortage Class Reference</h1><!-- doxytag: class="frepple::ProblemMaterialShortage" --><!-- doxytag: inherits="frepple::Problem" --> <p>A problem of this class is created when a buffer is having a material shortage during a certain period of time. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="a00218_source.html">model.h</a>></code></p> <div class="dynheader"> Inheritance diagram for frepple::ProblemMaterialShortage:</div> <div class="dynsection"> <div class="center"><img src="a00509.png" border="0" usemap="#frepple_1_1_problem_material_shortage_inherit__map" alt="Inheritance graph"/></div> <map name="frepple_1_1_problem_material_shortage_inherit__map" id="frepple_1_1_problem_material_shortage_inherit__map"> <area shape="rect" id="node2" href="a00134.html" title="A problem represents infeasibilities, alerts and warnings in the plan." alt="" coords="125,161,240,189"/> <area shape="rect" id="node4" href="a00119.html" title="Class NonCopyable is a base class. Derive your own class from it when you want to..." alt="" coords="5,83,181,111"/> <area shape="rect" id="node6" href="a00120.html" title="Object is the abstract base class for the main entities." alt="" coords="205,83,341,111"/> <area shape="rect" id="node8" href="a00151.html" title="This is a base class for all Python extension types." alt="" coords="160,6,387,34"/> </map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="a00510.html">List of all members.</a></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00008.html">Buffer</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#a4743cc2be75c3158769bb7afe10d327d">getBuffer</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00050.html">DateRange</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#a027667dec2675ca7db769bfde15bd93e">getDates</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">string </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#ac3d8341677c055e80576121579494893">getDescription</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">string </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#a52d9d36cadc8481c9936fb3a79487d73">getEntity</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00120.html">Object</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#a62f5d8f941f6f7e954426401809478f1">getOwner</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#a5c998d9baf684a9ac098b002c5a1011d">getSize</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00115.html">MetaClass</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#a281677189c571b7ab43e936203a6c0d6">getType</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#a683218c246b9700737eea06cb9c85d3f">getWeight</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#af95f2b12cb2cb5160f21e506af31bb36">isFeasible</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#a3f2a23f6baa8ab0f19381380a17859de">ProblemMaterialShortage</a> (<a class="el" href="a00008.html">Buffer</a> *b, <a class="el" href="a00049.html">Date</a> st, <a class="el" href="a00049.html">Date</a> nd, double q, bool add=true)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#a5ace0942a94cbbabbf803bd9c674fa7e">~ProblemMaterialShortage</a> ()</td></tr> <tr><td colspan="2"><h2>Static Public Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="a00115.html">MetaClass</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#aabbcfbf928d9353d5be6097a1d05942c">metadata</a></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>A problem of this class is created when a buffer is having a material shortage during a certain period of time. </p> <p>Definition at line <a class="el" href="a00218_source.html#l05367">5367</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a3f2a23f6baa8ab0f19381380a17859de"></a><!-- doxytag: member="frepple::ProblemMaterialShortage::ProblemMaterialShortage" ref="a3f2a23f6baa8ab0f19381380a17859de" args="(Buffer *b, Date st, Date nd, double q, bool add=true)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">frepple::ProblemMaterialShortage::ProblemMaterialShortage </td> <td>(</td> <td class="paramtype"><a class="el" href="a00008.html">Buffer</a> * </td> <td class="paramname"> <em>b</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00049.html">Date</a> </td> <td class="paramname"> <em>st</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00049.html">Date</a> </td> <td class="paramname"> <em>nd</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>q</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>add</em> = <code>true</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="a00218_source.html#l05373">5373</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> </div> </div> <a class="anchor" id="a5ace0942a94cbbabbf803bd9c674fa7e"></a><!-- doxytag: member="frepple::ProblemMaterialShortage::~ProblemMaterialShortage" ref="a5ace0942a94cbbabbf803bd9c674fa7e" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">frepple::ProblemMaterialShortage::~ProblemMaterialShortage </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="a00218_source.html#l05377">5377</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a4743cc2be75c3158769bb7afe10d327d"></a><!-- doxytag: member="frepple::ProblemMaterialShortage::getBuffer" ref="a4743cc2be75c3158769bb7afe10d327d" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00008.html">Buffer</a>* frepple::ProblemMaterialShortage::getBuffer </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="a00218_source.html#l05379">5379</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> </div> </div> <a class="anchor" id="a027667dec2675ca7db769bfde15bd93e"></a><!-- doxytag: member="frepple::ProblemMaterialShortage::getDates" ref="a027667dec2675ca7db769bfde15bd93e" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a00050.html">DateRange</a> frepple::ProblemMaterialShortage::getDates </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the duration of this problem. </p> <p>Implements <a class="el" href="a00134.html#af283f4815d85c0b33d112efe4435737b">frepple::Problem</a>.</p> <p>Definition at line <a class="el" href="a00218_source.html#l05378">5378</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> </div> </div> <a class="anchor" id="ac3d8341677c055e80576121579494893"></a><!-- doxytag: member="frepple::ProblemMaterialShortage::getDescription" ref="ac3d8341677c055e80576121579494893" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">string frepple::ProblemMaterialShortage::getDescription </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns a text description of this problem. </p> <p>Implements <a class="el" href="a00134.html#a37253df6ba9ebdbea97e9f789dfb8bb2">frepple::Problem</a>.</p> <p>Definition at line <a class="el" href="a00228_source.html#l00145">145</a> of file <a class="el" href="a00228_source.html">problems_buffer.cpp</a>.</p> </div> </div> <a class="anchor" id="a52d9d36cadc8481c9936fb3a79487d73"></a><!-- doxytag: member="frepple::ProblemMaterialShortage::getEntity" ref="a52d9d36cadc8481c9936fb3a79487d73" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">string frepple::ProblemMaterialShortage::getEntity </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the object type having this problem. </p> <p>Implements <a class="el" href="a00134.html#a393e211b1d4da9fbc4cb1b1284248c1b">frepple::Problem</a>.</p> <p>Definition at line <a class="el" href="a00218_source.html#l05375">5375</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> </div> </div> <a class="anchor" id="a62f5d8f941f6f7e954426401809478f1"></a><!-- doxytag: member="frepple::ProblemMaterialShortage::getOwner" ref="a62f5d8f941f6f7e954426401809478f1" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00120.html">Object</a>* frepple::ProblemMaterialShortage::getOwner </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns a pointer to the object that owns this problem. </p> <p>Implements <a class="el" href="a00134.html#a66e1a9cb011d009afffb32f428c06fdf">frepple::Problem</a>.</p> <p>Definition at line <a class="el" href="a00218_source.html#l05376">5376</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> </div> </div> <a class="anchor" id="a5c998d9baf684a9ac098b002c5a1011d"></a><!-- doxytag: member="frepple::ProblemMaterialShortage::getSize" ref="a5c998d9baf684a9ac098b002c5a1011d" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">size_t frepple::ProblemMaterialShortage::getSize </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Return the memory size of the object in bytes. </p> <p>Implements <a class="el" href="a00120.html#ae381655a0e700d1e0d9ef72379792872">frepple::utils::Object</a>.</p> <p>Definition at line <a class="el" href="a00218_source.html#l05380">5380</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> </div> </div> <a class="anchor" id="a281677189c571b7ab43e936203a6c0d6"></a><!-- doxytag: member="frepple::ProblemMaterialShortage::getType" ref="a281677189c571b7ab43e936203a6c0d6" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a00115.html">MetaClass</a>& frepple::ProblemMaterialShortage::getType </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Return a reference to the metadata structure. </p> <p>Reimplemented from <a class="el" href="a00134.html#a8a73cf77f0bed3a807e65f9844d9baf4">frepple::Problem</a>.</p> <p>Definition at line <a class="el" href="a00218_source.html#l05383">5383</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> </div> </div> <a class="anchor" id="a683218c246b9700737eea06cb9c85d3f"></a><!-- doxytag: member="frepple::ProblemMaterialShortage::getWeight" ref="a683218c246b9700737eea06cb9c85d3f" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double frepple::ProblemMaterialShortage::getWeight </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns a double number reflecting the magnitude of the problem. This allows us to focus on the significant problems and filter out the small ones. </p> <p>Implements <a class="el" href="a00134.html#aeac2c097edda9dee786247f8cd69bb4b">frepple::Problem</a>.</p> <p>Definition at line <a class="el" href="a00218_source.html#l05372">5372</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> </div> </div> <a class="anchor" id="af95f2b12cb2cb5160f21e506af31bb36"></a><!-- doxytag: member="frepple::ProblemMaterialShortage::isFeasible" ref="af95f2b12cb2cb5160f21e506af31bb36" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool frepple::ProblemMaterialShortage::isFeasible </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns true if the plan remains feasible even if it contains this problem, i.e. if the problems flags only a warning. Returns false if a certain problem points at an infeasibility of the plan. </p> <p>Implements <a class="el" href="a00134.html#a3ce24ef75c043698afa411a6f9eeca61">frepple::Problem</a>.</p> <p>Definition at line <a class="el" href="a00218_source.html#l05371">5371</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="aabbcfbf928d9353d5be6097a1d05942c"></a><!-- doxytag: member="frepple::ProblemMaterialShortage::metadata" ref="aabbcfbf928d9353d5be6097a1d05942c" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a00115.html">MetaClass</a> * <a class="el" href="a00146.html#aabbcfbf928d9353d5be6097a1d05942c">frepple::ProblemMaterialShortage::metadata</a><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Storing metadata on this class. </p> <p>Reimplemented from <a class="el" href="a00134.html#a9e707be88274a5c5d7bc4c71f2ea1338">frepple::Problem</a>.</p> <p>Definition at line <a class="el" href="a00218_source.html#l05386">5386</a> of file <a class="el" href="a00218_source.html">model.h</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="a00218_source.html">model.h</a></li> <li><a class="el" href="a00227_source.html">problem.cpp</a></li> <li><a class="el" href="a00228_source.html">problems_buffer.cpp</a></li> </ul> </div> <hr size="1"/><address style="align: right;"><small>Documentation generated for frePPLe by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"/></a></small></address> </div> </div> </body> </html>