<!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>Frepple / Solver features</title> <link rel='stylesheet' href='../styles.css' type='text/css' /> <!--PageHeaderFmt--> </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='Main.html'>Reference Manual</a></h3> <h3><a href='../Main/FAQ.html'>FAQ</a></h3> <h3><a href='../reference/index.html'>C++ API</a></h3> <br/><div> </div> </div> </div> <div id="content"> <br/> <!--PageText--> <div id='wikitext'> <p><a class='wikilink' href='../Main/HomePage.html'>Main</a> > <span class='wikitrail'><a class='wikilink' href='Main.html'>Reference Manual</a> > <a class='wikilink' href='Solver.html'>Solver algorithm</a> > <a class='selflink' href='Solverfeatures.html'>Solver features</a></span> </p> <p class='vspace'>In brief, here are the main features of the solver: </p> <div class='vspace'></div><h3>Solver</h3> <ul><li>Ability to create a <strong>constrained plan</strong>, respect <strong>material supply, available capacity, lead time and release time fence constraints</strong>. </li><li>Ability to create <strong>unconstrained plans</strong>. </li><li>Ability to run in <strong>multi-threaded</strong> mode. Different threads are solving independent sub-problems. </li></ul><div class='vspace'></div><h3>Demand</h3> <ul><li><strong>Demand priorities</strong> are recognized, such that constraints impact the lowest ranking demands only.<br /> The default ranking is based on the priority attribute and the due date. </li><li>Ability to respect different <strong>demand policies</strong>: In case of a constraint a demand can be allowed to be satisfied late or not. Satisfying the demand in multiple parts can be allowed or not. </li></ul><div class='vspace'></div><h3>Operation</h3> <ul><li>Models <strong>multiple operation types</strong>. <ul><li>Operations with fixed duration. </li><li>Operations with variable duration, depending on quantity. </li><li>Alternate operations: When a demand can't be met from the primary operation the solver will plan on alternative operations. </li><li>Multi-step routings: An operation can have multiple sub-operations that need to be executed in sequence. </li></ul></li><li>Date-effectivity: Depending on the start date (or end date) different operations can be effective. </li><li>The operations can be planned with a <strong>minimum, multiple and maximum lot-size</strong>. </li><li><strong>Pre- and post-operation times</strong> used as soft constraints (ie they are respected when feasible but will be reduced when required to meet the demand in time). </li></ul><div class='vspace'></div><h3>Resource</h3> <ul><li>Resources loaded during the complete duration of an operation. </li><li>Resources with <strong>finite or infinite capacity</strong>. </li><li>Capacity shortages are solved by <strong>moving operations early</strong>. </li><li>Ability to model <strong>setup times</strong> and conversions between setups. </li></ul><div class='vspace'></div><h3>Buffer</h3> <ul><li>Material consumption or production happens at the start or at the end of operations. </li><li>Buffers with <strong>finite or infinite material supply</strong>. </li><li>Ability to specify a desired minimum inventory level, aka <strong>safety stock</strong>. The minimum level can be time dependent and is treated as a soft constraint (ie will be respected when feasible, but will be violated when constraints prevent meeting it). </li></ul><div class='vspace'></div><h3>Miscelaneous</h3> <ul><li>Ability to model <strong>working hours and holidays</strong>. </li></ul> </div> <!--PageFooterFmt--> <!--HTMLFooter--> </div></div> </body> </html>