[jboss-svn-commits] JBL Code SVN: r30874 - labs/jbossrules/trunk/drools-planner/src/website.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jan 1 06:58:33 EST 2010


Author: ge0ffrey
Date: 2010-01-01 06:58:33 -0500 (Fri, 01 Jan 2010)
New Revision: 30874

Added:
   labs/jbossrules/trunk/drools-planner/src/website/binPackagingUseCase.png
   labs/jbossrules/trunk/drools-planner/src/website/drools-planner.html
   labs/jbossrules/trunk/drools-planner/src/website/employeeShiftRosteringUseCase.png
   labs/jbossrules/trunk/drools-planner/src/website/examinationTimetablingUseCase.png
   labs/jbossrules/trunk/drools-planner/src/website/travelingTournamentUseCase.png
Removed:
   labs/jbossrules/trunk/drools-planner/src/website/drools-solver-screenshot.png
Modified:
   labs/jbossrules/trunk/drools-planner/src/website/drools-solver.html
Log:
drools planner: new website

Copied: labs/jbossrules/trunk/drools-planner/src/website/binPackagingUseCase.png (from rev 30831, labs/jbossrules/trunk/drools-docs/drools-docs-planner/src/main/docbook/images/Chapter-Use_cases_and_examples/binPackagingUseCase.png)
===================================================================
(Binary files differ)

Added: labs/jbossrules/trunk/drools-planner/src/website/drools-planner.html
===================================================================
--- labs/jbossrules/trunk/drools-planner/src/website/drools-planner.html	                        (rev 0)
+++ labs/jbossrules/trunk/drools-planner/src/website/drools-planner.html	2010-01-01 11:58:33 UTC (rev 30874)
@@ -0,0 +1,161 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+    <head>
+        <title>Drools Planner</title>
+        <meta name="description" content="Drools Planner is an open source automated planning framework for scheduling, timetabling, bin packaging, vehicle routing and more."/>
+        <meta name="keywords" content="automated planning, planning, scheduling, timetabling, rostering, bin packaging, vehicle routing, drools planner, tabu search, metaheuristic"/>
+    </head>
+    <body>
+        <h1>Drools Planner</h1>
+        <ul>
+            <li><a href="drools-planner.html#WhatIsDroolsPlanner">What is Drools Planner?</a></li>
+            <li><a href="drools-planner.html#UseCases">Use cases</a></li>
+            <li><a href="drools-planner.html#Features">Features</a></li>
+            <li><a href="drools-planner.html#LearnMore">Learn more</a></li>
+        </ul>
+        <!-- ############################################################## -->
+        <h2><a name="WhatIsDroolsPlanner">What is Drools Planner?</a></h2>
+        <p>
+            Drools Planner does automated planning.
+            It solves a planning problem while respecting the constraints as much as possible.
+        </p>
+        <p>
+            Drools Planner can be used on all kinds of planning problems.
+            Let's take a look at some use cases.
+        </p>
+        <!-- ############################################################## -->
+        <h2><a name="UseCases">Use cases</a></h2>
+        <h3>Bin packaging</h3>
+        <img src="binPackagingUseCase.png" alt="Bin packaging use case"/>
+        <p>
+            Whether you are filling shipping containers, a moving truck
+            or even just your suitcase, you are doing bin packaging.
+            Some of the constraints can include:
+        </p>
+        <ul>
+            <li>Each container type has a maximum weight.</li>
+            <li>The weight in a container should be spread as evenly as possible.</li>
+            <li>Different container types have different prices: minimize the overall cost.</li>
+            <li>Not all items are added or removed from the container at the same time: minimize loading and unloading times.</li>
+        </ul>
+        <h3>Employee shift rostering</h3>
+        <img src="employeeShiftRosteringUseCase.png" alt="Employee shift rostering use case"/>
+        <p>
+            Ensuring continuous customer service in a hospital, a store or a call center isn't easy.
+            Some of the constraints can include:
+        </p>
+        <ul>
+            <li>Each shift has for each specialism a minimal staff size.</li>
+            <li>Labor regulations: Minimal 11 hours rest between shifts, minimal 35 hours rest each week, ...</li>
+            <li>Shift preferences: Young nurses dislike Saturday night shifts, mothers dislike Wednesday afternoon shifts, ...</li>
+        </ul>
+        <p>
+            Drools Planner improves the quality of service, minimizes staff size and maximizes staff contentment.
+        </p>
+        <h3>Educational timetabling</h3>
+        <img src="examinationTimetablingUseCase.png" alt="Examination timetabling use case"/>
+        <p>
+            When you create a timetable for lessons, courses, exams, meetings or even conference presentations,
+            you 'll not only pick a time, but also a room.
+            Some of the constraints can include:
+        </p>
+        <ul>
+            <li>Each room has a maximum seating capacity.</li>
+            <li>No student can have 2 exams at the same time.</li>
+            <li>No student likes 2 exams on the same day.</li>
+            <li>Large exams should be scheduled early.</li>
+        </ul>
+        <p>
+            Drools Planner creates a better timetable then a human planner, in less time,
+            while considering more constraints (especially individual teacher or student preferences).
+        </p>
+        <h3>Sport scheduling</h3>
+        <img src="travelingTournamentUseCase.png" alt="Traveling tournament use case"/>
+        <p>
+            Whether you are scheduling the olympics, major league baseball or a regional soccer competition,
+            you 'll want an efficient and competitive schedule that respects all stakeholders,
+            such as stadium owners, players, coaches, sponsors and of course the fans. 
+            Some of the constraints can include:
+        </p>
+        <ul>
+            <li>No team must have more than 3 consecutive home or 3 consecutive away matches.</li>
+            <li>No repeaters: no 2 consecutive matches of the same 2 opposing teams.</li>
+            <li>Minimize the total distance traveled by all teams.</li>
+        </ul>
+        <h3>Other use cases</h3>
+        <p>
+            Other planning problems include:
+        </p>
+        <ul>
+            <li>Vehicle routing and freight routing</li>
+            <li>The traveling salesman problem</li>
+            <li>Appointment and resource scheduling</li>
+            <li>Storage organizing</li>
+            <li>Machine queue planning</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 hospital patient prefers specific equipment, try to assign him/her a hospital room with such equipment.
+rule "preferredPatientEquipment"
+    when
+        // If a patient prefers specific equipment
+        PreferredPatientEquipment($patient : patient, $equipment : equipment);
+
+        // and that patient is assigned a room
+        BedDesignation(patient == $patient, $room : room);
+
+        // and that room doesn't have that equipment
+        not RoomEquipment(room == $room, equipment == $equipment);
+    then
+        ... // lower the score with a certain weight
+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 planner algorithm 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>Other implemented metaheuristic algorithms include plain local search (hill climbing), simulated annealing and great deluge.</li>
+                    <li>It is easy to switch the planner 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 Planner is part of the Drools community.
+                </p>
+                <ul>
+                    <li>Drools Planner, like Drools, is (business friendly) 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>
+        <!-- #################################################### -->
+        <h2><a name="LearnMore">Learn more</a></h2>
+        <p>Continue to learn more about Drools Planner:</p>
+        <ul>
+            <li><a href="http://www.jboss.org/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/planner">Read the blog (filtered on Drools Planner).</a></li>
+            <li><a href="http://www.jboss.org/drools/lists.html">Questions? Ask us on the user mailing list (with the nabble web interface).</a></li>
+        </ul>
+    </body>
+</html>

Deleted: labs/jbossrules/trunk/drools-planner/src/website/drools-solver-screenshot.png
===================================================================
(Binary files differ)

Modified: labs/jbossrules/trunk/drools-planner/src/website/drools-solver.html
===================================================================
--- labs/jbossrules/trunk/drools-planner/src/website/drools-solver.html	2009-12-31 10:13:03 UTC (rev 30873)
+++ labs/jbossrules/trunk/drools-planner/src/website/drools-solver.html	2010-01-01 11:58:33 UTC (rev 30874)
@@ -2,104 +2,10 @@
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html>
     <head>
-        <title>Drools Solver</title>
+        <title>Drools Solver has been renamed to Drools Planner</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>
+        <h1>Drools Solver has been renamed to Drools Planner</h1>
+        <p><a href="drools-planner.html">Click here to go to the Drools Planner website.</a></p>
     </body>
 </html>
\ No newline at end of file

Copied: labs/jbossrules/trunk/drools-planner/src/website/employeeShiftRosteringUseCase.png (from rev 30831, labs/jbossrules/trunk/drools-docs/drools-docs-planner/src/main/docbook/images/Chapter-Use_cases_and_examples/employeeShiftRosteringUseCase.png)
===================================================================
(Binary files differ)

Copied: labs/jbossrules/trunk/drools-planner/src/website/examinationTimetablingUseCase.png (from rev 30831, labs/jbossrules/trunk/drools-docs/drools-docs-planner/src/main/docbook/images/Chapter-Use_cases_and_examples/examinationTimetablingUseCase.png)
===================================================================
(Binary files differ)

Copied: labs/jbossrules/trunk/drools-planner/src/website/travelingTournamentUseCase.png (from rev 30831, labs/jbossrules/trunk/drools-docs/drools-docs-planner/src/main/docbook/images/Chapter-Use_cases_and_examples/travelingTournamentUseCase.png)
===================================================================
(Binary files differ)



More information about the jboss-svn-commits mailing list