[jboss-svn-commits] JBL Code SVN: r28948 - labs/jbossrules/trunk/drools-solver/src/presentations.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Aug 16 10:36:43 EDT 2009
Author: ge0ffrey
Date: 2009-08-16 10:36:43 -0400 (Sun, 16 Aug 2009)
New Revision: 28948
Added:
labs/jbossrules/trunk/drools-solver/src/presentations/drools-solver-screenshot.png
labs/jbossrules/trunk/drools-solver/src/presentations/drools-solver.html
Log:
Drools Solver homepage
Added: labs/jbossrules/trunk/drools-solver/src/presentations/drools-solver-screenshot.png
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/trunk/drools-solver/src/presentations/drools-solver-screenshot.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossrules/trunk/drools-solver/src/presentations/drools-solver.html
===================================================================
--- labs/jbossrules/trunk/drools-solver/src/presentations/drools-solver.html (rev 0)
+++ labs/jbossrules/trunk/drools-solver/src/presentations/drools-solver.html 2009-08-16 14:36:43 UTC (rev 28948)
@@ -0,0 +1,105 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+ <head>
+ <title>Drools Solver</title>
+ </head>
+ <body>
+ <h1>Drools Solver solves planning problems</h1>
+ <ul>
+ <li><a href="#WhatIsDroolsSolver">What is Drools Solver?</a></li>
+ <li><a href="#Features">Features</a></li>
+ <li><a href="#LearnMore">Learn more</a></li>
+ </ul>
+ <!-- ############################################################## -->
+ <h2><a name="WhatIsDroolsSolver"/>What is Drools Solver?</h2>
+ <p>
+ Drools Solver automatically assigns the resources of planning problems within a given amount of time.
+ Such planning problems include:
+ </p>
+ <ul>
+ <li>Employee shift rostering</li>
+ <li>Freight routing</li>
+ <li>Supply sorting</li>
+ <li>Lesson scheduling</li>
+ <li>Exam scheduling</li>
+ <li>Bin packaging</li>
+ <li>...</li>
+ </ul>
+ <p>
+ In the screenshot below, Drools Solver assigns beds to hospital patients.
+ </p>
+ <img src="drools-solver-screenshot.png" alt="Drools Solver screenshot"/>
+ <p>
+ Every planning problem has a bunch of custom constraints.
+ In the example above, these constraints include:
+ </p>
+ <ul>
+ <li>Do not assign a male patient to a female only room.</li>
+ <li>If a patient requires specific equipment, assign him/her a room with such equipment.</li>
+ <li>If a patient prefers specific equipment, try to assign him/her a room with such equipment.</li>
+ <li>If a patient prefers a single room, try to assign him/her a single room.</li>
+ <li>...</li>
+ </ul>
+ <!-- ############################################################## -->
+ <h2><a name="Features"/>Features</h2>
+ <ul>
+ <li>
+ <p>Constraints are defined as score rules in DRL (see Drools Expert). For example:</p>
+<pre>// If a patient prefers specific equipment, try to assign him/her a room with such equipment.
+rule "preferredPatientEquipment"
+ when
+ $preferredPatientEquipment : PreferredPatientEquipment($patient : patient, $equipment : equipment);
+ $bedDesignation : BedDesignation(patient == $patient, $room : room);
+ not RoomEquipment(room == $room, equipment == $equipment);
+ then
+ ...
+end</pre>
+ <p>Advantages include:</p>
+ <ul>
+ <li>Adding more constraints is easy and scalable.</li>
+ <li>The DRL syntax allows for powerful pattern matching.</li>
+ <li>Delta based score calculation and other performance optimizations come for free.</li>
+ <li>Each constraint is defined separately and independently.</li>
+ <li>Little or no changes to your domain objects: compatible with JPA, Bean Validation, ...</li>
+ <li>Constraints can be weighted. The weight can even depend on the domain objects involved.</li>
+ <li>You can use an out of the box Score implementation (SimpleScore, HardAndSoftScore) or implement a custom Score.</li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ The solver algorithms is configured.
+ It searches through the solutions within a given amount of time and return the best solution found.
+ </p>
+ <ul>
+ <li>The tabu search implementation supports solution tabu, move tabu and property tabu.</li>
+ <li>There is a simulated annealing and a great deluge implementation.</li>
+ <li>Plain local search (hill climbing) is also possible.</li>
+ <li>It is easy to switch the solver algorithm, by simply changing the configuration.</li>
+ <li>The Benchmarker class allows you to play other several configurations and pick the best one.</li>
+ </ul>
+ </li>
+ <li>
+ <p>
+ Drools Solver is part of the Drools community.
+ </p>
+ <ul>
+ <li>Drools Solver, like Drools, is open source software under the Apache Software License.</li>
+ <li>There are many examples included in the download, ranging from easy to advanced.</li>
+ <li>The reference manual explains everything in detail.</li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+
+ </p>
+ <!-- ############################################################## -->
+ <h2><a name="LearnMore"/>Learn more</h2>
+ <p>Continue to learn more about Drools Solver:</p>
+ <ul>
+ <li><a href="http://labs.jboss.com/drools/documentation.html">Read the reference manual.</a></li>
+ <li><a href="http://www.jboss.org/drools/downloads.html">Download it and try the examples yourself.</a></li>
+ <li><a href="http://blog.athico.com/search/label/solver">Read the blog (filtered on Drools Solver).</a></li>
+ </ul>
+ </body>
+</html>
\ No newline at end of file
More information about the jboss-svn-commits
mailing list