[jboss-svn-commits] JBL Code SVN: r18563 - labs/jbossrules/trunk/drools-docs/drools-docs-solver/en/Chapter-Solver.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Feb 22 11:37:38 EST 2008


Author: ge0ffrey
Date: 2008-02-22 11:37:38 -0500 (Fri, 22 Feb 2008)
New Revision: 18563

Modified:
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/en/Chapter-Solver/Section-Solver_examples.xml
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/en/Chapter-Solver/examination.jude
   labs/jbossrules/trunk/drools-docs/drools-docs-solver/en/Chapter-Solver/examinationDomainDiagram.png
Log:
examination constraints

Modified: labs/jbossrules/trunk/drools-docs/drools-docs-solver/en/Chapter-Solver/Section-Solver_examples.xml
===================================================================
--- labs/jbossrules/trunk/drools-docs/drools-docs-solver/en/Chapter-Solver/Section-Solver_examples.xml	2008-02-22 15:23:14 UTC (rev 18562)
+++ labs/jbossrules/trunk/drools-docs/drools-docs-solver/en/Chapter-Solver/Section-Solver_examples.xml	2008-02-22 16:37:38 UTC (rev 18563)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-]>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
 <section>
   <title>Solver examples</title>
 
@@ -223,14 +223,14 @@
     </section>
 
     <section>
-      <title>Class diagram</title>
+      <title>Domain class diagram</title>
 
       <para>Use a good domain model and it will be easier to understand and
       solve your problem with drools-solver. We 'll use this domain model for
       the n queens example:</para>
 
       <figure>
-        <title>NQueens domain diagram</title>
+        <title>NQueens domain class diagram</title>
 
         <mediaobject>
           <imageobject>
@@ -656,12 +656,102 @@
     <section>
       <title>Problem statement</title>
 
-      <para>Schedule exams with a number of hard and soft constraints. It uses
-      large data sets of real-life universities.</para>
+      <para>Schedule each exam into a period and into a room. Multiple exams
+      can share the same room during the same period.</para>
 
+      <para>There are a number of hard constraints that cannot be
+      broken:</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>Exam conflict: 2 exams that share students should not occur in
+          the same period.</para>
+        </listitem>
+
+        <listitem>
+          <para>Room capacity: A room's seating capacity should suffice at all
+          times</para>
+        </listitem>
+
+        <listitem>
+          <para>Period duration: A period's duration should suffice for all of
+          its exams.</para>
+        </listitem>
+
+        <listitem>
+          <para>Period related hard constraints should be fulfilled:</para>
+
+          <itemizedlist>
+            <listitem>
+              <para>Coincidence: 2 exams should use the same period (but
+              possible another room).</para>
+            </listitem>
+
+            <listitem>
+              <para>Exclusion: 2 exams should not use the same period.</para>
+            </listitem>
+
+            <listitem>
+              <para>After: 1 exam should occur in a period after another
+              exam's period.</para>
+            </listitem>
+          </itemizedlist>
+        </listitem>
+
+        <listitem>
+          <para>Room related hard constraints should be fulfilled:</para>
+
+          <itemizedlist>
+            <listitem>
+              <para>Exclusive: 1 exam should not have to share its room with
+              any other exam.</para>
+            </listitem>
+          </itemizedlist>
+        </listitem>
+      </itemizedlist>
+
+      <para>There are also a number of soft constraints that should be
+      minimized (each of which has parameterized penalty's):</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>2 exams in a row.</para>
+        </listitem>
+
+        <listitem>
+          <para>2 exams in a day.</para>
+        </listitem>
+
+        <listitem>
+          <para>Period spread: 2 exams that share students should have a
+          number of periods between them.</para>
+        </listitem>
+
+        <listitem>
+          <para>Mixed durations: 2 exams that share a room should not have
+          different durations.</para>
+        </listitem>
+
+        <listitem>
+          <para>Front load: large exams should be scheduled earlier in the
+          schedule.</para>
+        </listitem>
+
+        <listitem>
+          <para>Period penalty: some periods have penalty when used.</para>
+        </listitem>
+
+        <listitem>
+          <para>Room penalty: some rooms have a penalty when used.</para>
+        </listitem>
+      </itemizedlist>
+
+      <para>It uses large test data sets of real-life universities.</para>
+
       <para><ulink
       url="http://www.cs.qub.ac.uk/itc2007/examtrack/exam_track_index.htm">You
-      can find a detailed description of this problem here.</ulink></para>
+      can find a more detailed description of this problem
+      here.</ulink></para>
     </section>
 
     <section>
@@ -860,5 +950,28 @@
         </tgroup>
       </table>
     </section>
+
+    <section>
+      <title>Domain class diagram</title>
+
+      <para>Below you can see the main examination domain classes:</para>
+
+      <figure>
+        <title>Examination domain class diagram</title>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="examinationDomainDiagram.png" />
+          </imageobject>
+        </mediaobject>
+      </figure>
+
+      <para>Notice that we've split up the exam concept into an
+      <literal>Exam</literal> class and a <literal>Topic</literal> class. The
+      <literal>Exam</literal> instances change during solving, when they get
+      another period or room. The <literal>Topic</literal>,
+      <literal>Period</literal> and <literal>Room</literal> instances never
+      change during solving.</para>
+    </section>
   </section>
 </section>
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-docs/drools-docs-solver/en/Chapter-Solver/examination.jude
===================================================================
(Binary files differ)

Modified: labs/jbossrules/trunk/drools-docs/drools-docs-solver/en/Chapter-Solver/examinationDomainDiagram.png
===================================================================
(Binary files differ)




More information about the jboss-svn-commits mailing list