[jboss-svn-commits] JBL Code SVN: r30280 - in labs/jbossrules/trunk/drools-solver/src: presentations and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Nov 22 09:02:20 EST 2009
Author: ge0ffrey
Date: 2009-11-22 09:02:20 -0500 (Sun, 22 Nov 2009)
New Revision: 30280
Added:
labs/jbossrules/trunk/drools-solver/src/website/
labs/jbossrules/trunk/drools-solver/src/website/drools-solver-screenshot.png
labs/jbossrules/trunk/drools-solver/src/website/drools-solver.html
Removed:
labs/jbossrules/trunk/drools-solver/src/presentations/drools-solver-screenshot.png
labs/jbossrules/trunk/drools-solver/src/presentations/drools-solver.html
Log:
move website files into a seperate directory: src/website
Deleted: labs/jbossrules/trunk/drools-solver/src/presentations/drools-solver-screenshot.png
===================================================================
(Binary files differ)
Deleted: labs/jbossrules/trunk/drools-solver/src/presentations/drools-solver.html
===================================================================
--- labs/jbossrules/trunk/drools-solver/src/presentations/drools-solver.html 2009-11-22 10:32:55 UTC (rev 30279)
+++ labs/jbossrules/trunk/drools-solver/src/presentations/drools-solver.html 2009-11-22 14:02:20 UTC (rev 30280)
@@ -1,105 +0,0 @@
-<!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?</a></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</a></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 out several configurations against each other 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</a></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
Copied: labs/jbossrules/trunk/drools-solver/src/website/drools-solver-screenshot.png (from rev 29803, labs/jbossrules/trunk/drools-solver/src/presentations/drools-solver-screenshot.png)
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/trunk/drools-solver/src/website/drools-solver-screenshot.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Copied: labs/jbossrules/trunk/drools-solver/src/website/drools-solver.html (from rev 29803, labs/jbossrules/trunk/drools-solver/src/presentations/drools-solver.html)
===================================================================
--- labs/jbossrules/trunk/drools-solver/src/website/drools-solver.html (rev 0)
+++ labs/jbossrules/trunk/drools-solver/src/website/drools-solver.html 2009-11-22 14:02:20 UTC (rev 30280)
@@ -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="drools-solver.html#WhatIsDroolsSolver">What is Drools Solver?</a></li>
+ <li><a href="drools-solver.html#Features">Features</a></li>
+ <li><a href="drools-solver.html#LearnMore">Learn more</a></li>
+ </ul>
+ <!-- ############################################################## -->
+ <h2><a name="WhatIsDroolsSolver">What is Drools Solver?</a></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</a></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 out several configurations against each other 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</a></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