<!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 algorithm</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='selflink' href='Solver.html'>Solver algorithm</a></span> </p> <p class='vspace'>Different solvers and algorithms can be used with the frePPle models. </p> <p class='vspace'>FrePPLe comes with a default solver that is documented in this chapter.<br />It is based on a heuristic algorithm, structured in a clear ask-reply pattern between the different entities. </p> <p class='vspace'>The algorithm can create different types of plans. With the following three flags, a total of 8 combinations are possible: </p><ul><li>Material constrained or not: <br />Supply of raw material can be treated as finite or infinite. </li><li>Capacity constrained or not: <br />Production capacity can be treated as finite or infinite. </li><li>Lead time constrained or not: <br />Allow or disallow plans to be created in the past. </li></ul><p class='vspace'>It is possible to build create extensions to the solver, or to create a completely new solver altogether. The solvers can be loaded as plugin modules without touching or recompiling the main application. </p> <div class='vspace'></div><ol><li><a class='wikilink' href='Solverfeatures.html'>Solver features</a> </li><li><a class='wikilink' href='Solverimpl.html'>Implementation details</a> <ol><li><a class='wikilink' href='Solverimplplan.html'>Top level loop</a> </li><li><a class='wikilink' href='Solverimpldemand.html'>Demand solver</a> </li><li><a class='wikilink' href='Solverimplbuffer.html'>Buffer solver</a> </li><li><a class='wikilink' href='Solverimploperation.html'>Operation solver</a> </li><li><a class='wikilink' href='Solverimplflow.html'>Flow solver</a> </li><li><a class='wikilink' href='Solverimplload.html'>Load solver</a> </li><li><a class='wikilink' href='Solverimplresource.html'>Resource solver</a> </li></ol></li><li><a class='wikilink' href='Solvercluster.html'>Cluster and level algorithm</a> </li></ol><div class='vspace'></div> </div> <!--PageFooterFmt--> <!--HTMLFooter--> </div></div> </body> </html>