[jboss-svn-commits] JBL Code SVN: r26336 - in labs/jbossrules/trunk/drools-solver/drools-solver-examples: src/main/java/org/drools/solver/examples/manners2009/app and 7 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat May 2 07:19:01 EDT 2009


Author: ge0ffrey
Date: 2009-05-02 07:19:01 -0400 (Sat, 02 May 2009)
New Revision: 26336

Added:
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/app/Manners2009App.java
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/solver/move/
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/solver/move/SeatDesignationSwitchMove.java
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/solver/solution/
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/solver/solution/initializer/
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/swingui/Manners2009Panel.java
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/manners2009/solver/manners2009ScoreRules.drl
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/manners2009/solver/manners2009SolverConfig.xml
Modified:
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/manners2009/unsolved/james1.xml
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/domain/Manners2009.java
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/domain/SeatDesignation.java
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/domain/Table.java
   labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/persistence/Manners2009InputConvertor.java
Log:
manners2009: swingui

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/manners2009/unsolved/james1.xml
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/manners2009/unsolved/james1.xml	2009-05-02 06:29:46 UTC (rev 26335)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/data/manners2009/unsolved/james1.xml	2009-05-02 11:19:01 UTC (rev 26336)
@@ -3124,1065 +3124,1206 @@
     <org.drools.solver.examples.manners2009.domain.Table id="600">
       <id>0</id>
       <tableIndex>0</tableIndex>
-      <size>12</size>
-    </org.drools.solver.examples.manners2009.domain.Table>
-    <org.drools.solver.examples.manners2009.domain.Table id="601">
-      <id>1</id>
-      <tableIndex>1</tableIndex>
-      <size>12</size>
-    </org.drools.solver.examples.manners2009.domain.Table>
-    <org.drools.solver.examples.manners2009.domain.Table id="602">
-      <id>2</id>
-      <tableIndex>2</tableIndex>
-      <size>12</size>
-    </org.drools.solver.examples.manners2009.domain.Table>
-    <org.drools.solver.examples.manners2009.domain.Table id="603">
-      <id>3</id>
-      <tableIndex>3</tableIndex>
-      <size>12</size>
-    </org.drools.solver.examples.manners2009.domain.Table>
-    <org.drools.solver.examples.manners2009.domain.Table id="604">
-      <id>4</id>
-      <tableIndex>4</tableIndex>
-      <size>12</size>
-    </org.drools.solver.examples.manners2009.domain.Table>
-    <org.drools.solver.examples.manners2009.domain.Table id="605">
-      <id>5</id>
-      <tableIndex>5</tableIndex>
-      <size>12</size>
-    </org.drools.solver.examples.manners2009.domain.Table>
-    <org.drools.solver.examples.manners2009.domain.Table id="606">
-      <id>6</id>
-      <tableIndex>6</tableIndex>
-      <size>12</size>
-    </org.drools.solver.examples.manners2009.domain.Table>
-    <org.drools.solver.examples.manners2009.domain.Table id="607">
-      <id>7</id>
-      <tableIndex>7</tableIndex>
-      <size>12</size>
-    </org.drools.solver.examples.manners2009.domain.Table>
-    <org.drools.solver.examples.manners2009.domain.Table id="608">
-      <id>8</id>
-      <tableIndex>8</tableIndex>
-      <size>12</size>
-    </org.drools.solver.examples.manners2009.domain.Table>
-    <org.drools.solver.examples.manners2009.domain.Table id="609">
-      <id>9</id>
-      <tableIndex>9</tableIndex>
-      <size>12</size>
-    </org.drools.solver.examples.manners2009.domain.Table>
-    <org.drools.solver.examples.manners2009.domain.Table id="610">
-      <id>10</id>
-      <tableIndex>10</tableIndex>
-      <size>12</size>
-    </org.drools.solver.examples.manners2009.domain.Table>
-    <org.drools.solver.examples.manners2009.domain.Table id="611">
-      <id>11</id>
-      <tableIndex>11</tableIndex>
-      <size>12</size>
-    </org.drools.solver.examples.manners2009.domain.Table>
-  </tableList>
-  <seatList id="612">
-    <org.drools.solver.examples.manners2009.domain.Seat id="613">
-      <id>0</id>
-      <table reference="600"/>
-      <seatIndexInTable>0</seatIndexInTable>
-      <leftSeat id="614">
-        <id>11</id>
-        <table reference="600"/>
-        <seatIndexInTable>11</seatIndexInTable>
-        <leftSeat id="615">
-          <id>10</id>
+      <seatList id="601">
+        <org.drools.solver.examples.manners2009.domain.Seat id="602">
+          <id>0</id>
           <table reference="600"/>
-          <seatIndexInTable>10</seatIndexInTable>
-          <leftSeat id="616">
-            <id>9</id>
+          <seatIndexInTable>0</seatIndexInTable>
+          <leftSeat id="603">
+            <id>11</id>
             <table reference="600"/>
-            <seatIndexInTable>9</seatIndexInTable>
-            <leftSeat id="617">
-              <id>8</id>
+            <seatIndexInTable>11</seatIndexInTable>
+            <leftSeat id="604">
+              <id>10</id>
               <table reference="600"/>
-              <seatIndexInTable>8</seatIndexInTable>
-              <leftSeat id="618">
-                <id>7</id>
+              <seatIndexInTable>10</seatIndexInTable>
+              <leftSeat id="605">
+                <id>9</id>
                 <table reference="600"/>
-                <seatIndexInTable>7</seatIndexInTable>
-                <leftSeat id="619">
-                  <id>6</id>
+                <seatIndexInTable>9</seatIndexInTable>
+                <leftSeat id="606">
+                  <id>8</id>
                   <table reference="600"/>
-                  <seatIndexInTable>6</seatIndexInTable>
-                  <leftSeat id="620">
-                    <id>5</id>
+                  <seatIndexInTable>8</seatIndexInTable>
+                  <leftSeat id="607">
+                    <id>7</id>
                     <table reference="600"/>
-                    <seatIndexInTable>5</seatIndexInTable>
-                    <leftSeat id="621">
-                      <id>4</id>
+                    <seatIndexInTable>7</seatIndexInTable>
+                    <leftSeat id="608">
+                      <id>6</id>
                       <table reference="600"/>
-                      <seatIndexInTable>4</seatIndexInTable>
-                      <leftSeat id="622">
-                        <id>3</id>
+                      <seatIndexInTable>6</seatIndexInTable>
+                      <leftSeat id="609">
+                        <id>5</id>
                         <table reference="600"/>
-                        <seatIndexInTable>3</seatIndexInTable>
-                        <leftSeat id="623">
-                          <id>2</id>
+                        <seatIndexInTable>5</seatIndexInTable>
+                        <leftSeat id="610">
+                          <id>4</id>
                           <table reference="600"/>
-                          <seatIndexInTable>2</seatIndexInTable>
-                          <leftSeat id="624">
-                            <id>1</id>
+                          <seatIndexInTable>4</seatIndexInTable>
+                          <leftSeat id="611">
+                            <id>3</id>
                             <table reference="600"/>
-                            <seatIndexInTable>1</seatIndexInTable>
-                            <leftSeat reference="613"/>
-                            <rightSeat reference="623"/>
+                            <seatIndexInTable>3</seatIndexInTable>
+                            <leftSeat id="612">
+                              <id>2</id>
+                              <table reference="600"/>
+                              <seatIndexInTable>2</seatIndexInTable>
+                              <leftSeat id="613">
+                                <id>1</id>
+                                <table reference="600"/>
+                                <seatIndexInTable>1</seatIndexInTable>
+                                <leftSeat reference="602"/>
+                                <rightSeat reference="612"/>
+                              </leftSeat>
+                              <rightSeat reference="611"/>
+                            </leftSeat>
+                            <rightSeat reference="610"/>
                           </leftSeat>
-                          <rightSeat reference="622"/>
+                          <rightSeat reference="609"/>
                         </leftSeat>
-                        <rightSeat reference="621"/>
+                        <rightSeat reference="608"/>
                       </leftSeat>
-                      <rightSeat reference="620"/>
+                      <rightSeat reference="607"/>
                     </leftSeat>
-                    <rightSeat reference="619"/>
+                    <rightSeat reference="606"/>
                   </leftSeat>
-                  <rightSeat reference="618"/>
+                  <rightSeat reference="605"/>
                 </leftSeat>
-                <rightSeat reference="617"/>
+                <rightSeat reference="604"/>
               </leftSeat>
-              <rightSeat reference="616"/>
+              <rightSeat reference="603"/>
             </leftSeat>
-            <rightSeat reference="615"/>
+            <rightSeat reference="602"/>
           </leftSeat>
-          <rightSeat reference="614"/>
-        </leftSeat>
-        <rightSeat reference="613"/>
-      </leftSeat>
-      <rightSeat reference="624"/>
-    </org.drools.solver.examples.manners2009.domain.Seat>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="624"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="623"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="622"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="621"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="620"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="619"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="618"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="617"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="616"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="615"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="614"/>
-    <org.drools.solver.examples.manners2009.domain.Seat id="625">
-      <id>12</id>
-      <table reference="601"/>
-      <seatIndexInTable>0</seatIndexInTable>
-      <leftSeat id="626">
-        <id>23</id>
-        <table reference="601"/>
-        <seatIndexInTable>11</seatIndexInTable>
-        <leftSeat id="627">
-          <id>22</id>
-          <table reference="601"/>
-          <seatIndexInTable>10</seatIndexInTable>
-          <leftSeat id="628">
-            <id>21</id>
-            <table reference="601"/>
-            <seatIndexInTable>9</seatIndexInTable>
-            <leftSeat id="629">
-              <id>20</id>
-              <table reference="601"/>
-              <seatIndexInTable>8</seatIndexInTable>
-              <leftSeat id="630">
-                <id>19</id>
-                <table reference="601"/>
-                <seatIndexInTable>7</seatIndexInTable>
-                <leftSeat id="631">
-                  <id>18</id>
-                  <table reference="601"/>
-                  <seatIndexInTable>6</seatIndexInTable>
-                  <leftSeat id="632">
-                    <id>17</id>
-                    <table reference="601"/>
-                    <seatIndexInTable>5</seatIndexInTable>
-                    <leftSeat id="633">
-                      <id>16</id>
-                      <table reference="601"/>
-                      <seatIndexInTable>4</seatIndexInTable>
-                      <leftSeat id="634">
-                        <id>15</id>
-                        <table reference="601"/>
-                        <seatIndexInTable>3</seatIndexInTable>
-                        <leftSeat id="635">
-                          <id>14</id>
-                          <table reference="601"/>
-                          <seatIndexInTable>2</seatIndexInTable>
-                          <leftSeat id="636">
-                            <id>13</id>
-                            <table reference="601"/>
-                            <seatIndexInTable>1</seatIndexInTable>
-                            <leftSeat reference="625"/>
-                            <rightSeat reference="635"/>
+          <rightSeat reference="613"/>
+        </org.drools.solver.examples.manners2009.domain.Seat>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="613"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="612"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="611"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="610"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="609"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="608"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="607"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="606"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="605"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="604"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="603"/>
+      </seatList>
+    </org.drools.solver.examples.manners2009.domain.Table>
+    <org.drools.solver.examples.manners2009.domain.Table id="614">
+      <id>1</id>
+      <tableIndex>1</tableIndex>
+      <seatList id="615">
+        <org.drools.solver.examples.manners2009.domain.Seat id="616">
+          <id>12</id>
+          <table reference="614"/>
+          <seatIndexInTable>0</seatIndexInTable>
+          <leftSeat id="617">
+            <id>23</id>
+            <table reference="614"/>
+            <seatIndexInTable>11</seatIndexInTable>
+            <leftSeat id="618">
+              <id>22</id>
+              <table reference="614"/>
+              <seatIndexInTable>10</seatIndexInTable>
+              <leftSeat id="619">
+                <id>21</id>
+                <table reference="614"/>
+                <seatIndexInTable>9</seatIndexInTable>
+                <leftSeat id="620">
+                  <id>20</id>
+                  <table reference="614"/>
+                  <seatIndexInTable>8</seatIndexInTable>
+                  <leftSeat id="621">
+                    <id>19</id>
+                    <table reference="614"/>
+                    <seatIndexInTable>7</seatIndexInTable>
+                    <leftSeat id="622">
+                      <id>18</id>
+                      <table reference="614"/>
+                      <seatIndexInTable>6</seatIndexInTable>
+                      <leftSeat id="623">
+                        <id>17</id>
+                        <table reference="614"/>
+                        <seatIndexInTable>5</seatIndexInTable>
+                        <leftSeat id="624">
+                          <id>16</id>
+                          <table reference="614"/>
+                          <seatIndexInTable>4</seatIndexInTable>
+                          <leftSeat id="625">
+                            <id>15</id>
+                            <table reference="614"/>
+                            <seatIndexInTable>3</seatIndexInTable>
+                            <leftSeat id="626">
+                              <id>14</id>
+                              <table reference="614"/>
+                              <seatIndexInTable>2</seatIndexInTable>
+                              <leftSeat id="627">
+                                <id>13</id>
+                                <table reference="614"/>
+                                <seatIndexInTable>1</seatIndexInTable>
+                                <leftSeat reference="616"/>
+                                <rightSeat reference="626"/>
+                              </leftSeat>
+                              <rightSeat reference="625"/>
+                            </leftSeat>
+                            <rightSeat reference="624"/>
                           </leftSeat>
-                          <rightSeat reference="634"/>
+                          <rightSeat reference="623"/>
                         </leftSeat>
-                        <rightSeat reference="633"/>
+                        <rightSeat reference="622"/>
                       </leftSeat>
-                      <rightSeat reference="632"/>
+                      <rightSeat reference="621"/>
                     </leftSeat>
-                    <rightSeat reference="631"/>
+                    <rightSeat reference="620"/>
                   </leftSeat>
-                  <rightSeat reference="630"/>
+                  <rightSeat reference="619"/>
                 </leftSeat>
-                <rightSeat reference="629"/>
+                <rightSeat reference="618"/>
               </leftSeat>
-              <rightSeat reference="628"/>
+              <rightSeat reference="617"/>
             </leftSeat>
-            <rightSeat reference="627"/>
+            <rightSeat reference="616"/>
           </leftSeat>
-          <rightSeat reference="626"/>
-        </leftSeat>
-        <rightSeat reference="625"/>
-      </leftSeat>
-      <rightSeat reference="636"/>
-    </org.drools.solver.examples.manners2009.domain.Seat>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="636"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="635"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="634"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="633"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="632"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="631"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="630"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="629"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="628"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="627"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="626"/>
-    <org.drools.solver.examples.manners2009.domain.Seat id="637">
-      <id>24</id>
-      <table reference="602"/>
-      <seatIndexInTable>0</seatIndexInTable>
-      <leftSeat id="638">
-        <id>35</id>
-        <table reference="602"/>
-        <seatIndexInTable>11</seatIndexInTable>
-        <leftSeat id="639">
-          <id>34</id>
-          <table reference="602"/>
-          <seatIndexInTable>10</seatIndexInTable>
-          <leftSeat id="640">
-            <id>33</id>
-            <table reference="602"/>
-            <seatIndexInTable>9</seatIndexInTable>
-            <leftSeat id="641">
-              <id>32</id>
-              <table reference="602"/>
-              <seatIndexInTable>8</seatIndexInTable>
-              <leftSeat id="642">
-                <id>31</id>
-                <table reference="602"/>
-                <seatIndexInTable>7</seatIndexInTable>
-                <leftSeat id="643">
-                  <id>30</id>
-                  <table reference="602"/>
-                  <seatIndexInTable>6</seatIndexInTable>
-                  <leftSeat id="644">
-                    <id>29</id>
-                    <table reference="602"/>
-                    <seatIndexInTable>5</seatIndexInTable>
-                    <leftSeat id="645">
-                      <id>28</id>
-                      <table reference="602"/>
-                      <seatIndexInTable>4</seatIndexInTable>
-                      <leftSeat id="646">
-                        <id>27</id>
-                        <table reference="602"/>
-                        <seatIndexInTable>3</seatIndexInTable>
-                        <leftSeat id="647">
-                          <id>26</id>
-                          <table reference="602"/>
-                          <seatIndexInTable>2</seatIndexInTable>
-                          <leftSeat id="648">
-                            <id>25</id>
-                            <table reference="602"/>
-                            <seatIndexInTable>1</seatIndexInTable>
-                            <leftSeat reference="637"/>
-                            <rightSeat reference="647"/>
+          <rightSeat reference="627"/>
+        </org.drools.solver.examples.manners2009.domain.Seat>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="627"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="626"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="625"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="624"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="623"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="622"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="621"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="620"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="619"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="618"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="617"/>
+      </seatList>
+    </org.drools.solver.examples.manners2009.domain.Table>
+    <org.drools.solver.examples.manners2009.domain.Table id="628">
+      <id>2</id>
+      <tableIndex>2</tableIndex>
+      <seatList id="629">
+        <org.drools.solver.examples.manners2009.domain.Seat id="630">
+          <id>24</id>
+          <table reference="628"/>
+          <seatIndexInTable>0</seatIndexInTable>
+          <leftSeat id="631">
+            <id>35</id>
+            <table reference="628"/>
+            <seatIndexInTable>11</seatIndexInTable>
+            <leftSeat id="632">
+              <id>34</id>
+              <table reference="628"/>
+              <seatIndexInTable>10</seatIndexInTable>
+              <leftSeat id="633">
+                <id>33</id>
+                <table reference="628"/>
+                <seatIndexInTable>9</seatIndexInTable>
+                <leftSeat id="634">
+                  <id>32</id>
+                  <table reference="628"/>
+                  <seatIndexInTable>8</seatIndexInTable>
+                  <leftSeat id="635">
+                    <id>31</id>
+                    <table reference="628"/>
+                    <seatIndexInTable>7</seatIndexInTable>
+                    <leftSeat id="636">
+                      <id>30</id>
+                      <table reference="628"/>
+                      <seatIndexInTable>6</seatIndexInTable>
+                      <leftSeat id="637">
+                        <id>29</id>
+                        <table reference="628"/>
+                        <seatIndexInTable>5</seatIndexInTable>
+                        <leftSeat id="638">
+                          <id>28</id>
+                          <table reference="628"/>
+                          <seatIndexInTable>4</seatIndexInTable>
+                          <leftSeat id="639">
+                            <id>27</id>
+                            <table reference="628"/>
+                            <seatIndexInTable>3</seatIndexInTable>
+                            <leftSeat id="640">
+                              <id>26</id>
+                              <table reference="628"/>
+                              <seatIndexInTable>2</seatIndexInTable>
+                              <leftSeat id="641">
+                                <id>25</id>
+                                <table reference="628"/>
+                                <seatIndexInTable>1</seatIndexInTable>
+                                <leftSeat reference="630"/>
+                                <rightSeat reference="640"/>
+                              </leftSeat>
+                              <rightSeat reference="639"/>
+                            </leftSeat>
+                            <rightSeat reference="638"/>
                           </leftSeat>
-                          <rightSeat reference="646"/>
+                          <rightSeat reference="637"/>
                         </leftSeat>
-                        <rightSeat reference="645"/>
+                        <rightSeat reference="636"/>
                       </leftSeat>
-                      <rightSeat reference="644"/>
+                      <rightSeat reference="635"/>
                     </leftSeat>
-                    <rightSeat reference="643"/>
+                    <rightSeat reference="634"/>
                   </leftSeat>
-                  <rightSeat reference="642"/>
+                  <rightSeat reference="633"/>
                 </leftSeat>
-                <rightSeat reference="641"/>
+                <rightSeat reference="632"/>
               </leftSeat>
-              <rightSeat reference="640"/>
+              <rightSeat reference="631"/>
             </leftSeat>
-            <rightSeat reference="639"/>
+            <rightSeat reference="630"/>
           </leftSeat>
-          <rightSeat reference="638"/>
-        </leftSeat>
-        <rightSeat reference="637"/>
-      </leftSeat>
-      <rightSeat reference="648"/>
-    </org.drools.solver.examples.manners2009.domain.Seat>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="648"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="647"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="646"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="645"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="644"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="643"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="642"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="641"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="640"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="639"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="638"/>
-    <org.drools.solver.examples.manners2009.domain.Seat id="649">
-      <id>36</id>
-      <table reference="603"/>
-      <seatIndexInTable>0</seatIndexInTable>
-      <leftSeat id="650">
-        <id>47</id>
-        <table reference="603"/>
-        <seatIndexInTable>11</seatIndexInTable>
-        <leftSeat id="651">
-          <id>46</id>
-          <table reference="603"/>
-          <seatIndexInTable>10</seatIndexInTable>
-          <leftSeat id="652">
-            <id>45</id>
-            <table reference="603"/>
-            <seatIndexInTable>9</seatIndexInTable>
-            <leftSeat id="653">
-              <id>44</id>
-              <table reference="603"/>
-              <seatIndexInTable>8</seatIndexInTable>
-              <leftSeat id="654">
-                <id>43</id>
-                <table reference="603"/>
-                <seatIndexInTable>7</seatIndexInTable>
-                <leftSeat id="655">
-                  <id>42</id>
-                  <table reference="603"/>
-                  <seatIndexInTable>6</seatIndexInTable>
-                  <leftSeat id="656">
-                    <id>41</id>
-                    <table reference="603"/>
-                    <seatIndexInTable>5</seatIndexInTable>
-                    <leftSeat id="657">
-                      <id>40</id>
-                      <table reference="603"/>
-                      <seatIndexInTable>4</seatIndexInTable>
-                      <leftSeat id="658">
-                        <id>39</id>
-                        <table reference="603"/>
-                        <seatIndexInTable>3</seatIndexInTable>
-                        <leftSeat id="659">
-                          <id>38</id>
-                          <table reference="603"/>
-                          <seatIndexInTable>2</seatIndexInTable>
-                          <leftSeat id="660">
-                            <id>37</id>
-                            <table reference="603"/>
-                            <seatIndexInTable>1</seatIndexInTable>
-                            <leftSeat reference="649"/>
-                            <rightSeat reference="659"/>
+          <rightSeat reference="641"/>
+        </org.drools.solver.examples.manners2009.domain.Seat>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="641"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="640"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="639"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="638"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="637"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="636"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="635"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="634"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="633"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="632"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="631"/>
+      </seatList>
+    </org.drools.solver.examples.manners2009.domain.Table>
+    <org.drools.solver.examples.manners2009.domain.Table id="642">
+      <id>3</id>
+      <tableIndex>3</tableIndex>
+      <seatList id="643">
+        <org.drools.solver.examples.manners2009.domain.Seat id="644">
+          <id>36</id>
+          <table reference="642"/>
+          <seatIndexInTable>0</seatIndexInTable>
+          <leftSeat id="645">
+            <id>47</id>
+            <table reference="642"/>
+            <seatIndexInTable>11</seatIndexInTable>
+            <leftSeat id="646">
+              <id>46</id>
+              <table reference="642"/>
+              <seatIndexInTable>10</seatIndexInTable>
+              <leftSeat id="647">
+                <id>45</id>
+                <table reference="642"/>
+                <seatIndexInTable>9</seatIndexInTable>
+                <leftSeat id="648">
+                  <id>44</id>
+                  <table reference="642"/>
+                  <seatIndexInTable>8</seatIndexInTable>
+                  <leftSeat id="649">
+                    <id>43</id>
+                    <table reference="642"/>
+                    <seatIndexInTable>7</seatIndexInTable>
+                    <leftSeat id="650">
+                      <id>42</id>
+                      <table reference="642"/>
+                      <seatIndexInTable>6</seatIndexInTable>
+                      <leftSeat id="651">
+                        <id>41</id>
+                        <table reference="642"/>
+                        <seatIndexInTable>5</seatIndexInTable>
+                        <leftSeat id="652">
+                          <id>40</id>
+                          <table reference="642"/>
+                          <seatIndexInTable>4</seatIndexInTable>
+                          <leftSeat id="653">
+                            <id>39</id>
+                            <table reference="642"/>
+                            <seatIndexInTable>3</seatIndexInTable>
+                            <leftSeat id="654">
+                              <id>38</id>
+                              <table reference="642"/>
+                              <seatIndexInTable>2</seatIndexInTable>
+                              <leftSeat id="655">
+                                <id>37</id>
+                                <table reference="642"/>
+                                <seatIndexInTable>1</seatIndexInTable>
+                                <leftSeat reference="644"/>
+                                <rightSeat reference="654"/>
+                              </leftSeat>
+                              <rightSeat reference="653"/>
+                            </leftSeat>
+                            <rightSeat reference="652"/>
                           </leftSeat>
-                          <rightSeat reference="658"/>
+                          <rightSeat reference="651"/>
                         </leftSeat>
-                        <rightSeat reference="657"/>
+                        <rightSeat reference="650"/>
                       </leftSeat>
-                      <rightSeat reference="656"/>
+                      <rightSeat reference="649"/>
                     </leftSeat>
-                    <rightSeat reference="655"/>
+                    <rightSeat reference="648"/>
                   </leftSeat>
-                  <rightSeat reference="654"/>
+                  <rightSeat reference="647"/>
                 </leftSeat>
-                <rightSeat reference="653"/>
+                <rightSeat reference="646"/>
               </leftSeat>
-              <rightSeat reference="652"/>
+              <rightSeat reference="645"/>
             </leftSeat>
-            <rightSeat reference="651"/>
+            <rightSeat reference="644"/>
           </leftSeat>
-          <rightSeat reference="650"/>
-        </leftSeat>
-        <rightSeat reference="649"/>
-      </leftSeat>
-      <rightSeat reference="660"/>
-    </org.drools.solver.examples.manners2009.domain.Seat>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="660"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="659"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="658"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="657"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="656"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="655"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="654"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="653"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="652"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="651"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="650"/>
-    <org.drools.solver.examples.manners2009.domain.Seat id="661">
-      <id>48</id>
-      <table reference="604"/>
-      <seatIndexInTable>0</seatIndexInTable>
-      <leftSeat id="662">
-        <id>59</id>
-        <table reference="604"/>
-        <seatIndexInTable>11</seatIndexInTable>
-        <leftSeat id="663">
-          <id>58</id>
-          <table reference="604"/>
-          <seatIndexInTable>10</seatIndexInTable>
-          <leftSeat id="664">
-            <id>57</id>
-            <table reference="604"/>
-            <seatIndexInTable>9</seatIndexInTable>
-            <leftSeat id="665">
-              <id>56</id>
-              <table reference="604"/>
-              <seatIndexInTable>8</seatIndexInTable>
-              <leftSeat id="666">
-                <id>55</id>
-                <table reference="604"/>
-                <seatIndexInTable>7</seatIndexInTable>
-                <leftSeat id="667">
-                  <id>54</id>
-                  <table reference="604"/>
-                  <seatIndexInTable>6</seatIndexInTable>
-                  <leftSeat id="668">
-                    <id>53</id>
-                    <table reference="604"/>
-                    <seatIndexInTable>5</seatIndexInTable>
-                    <leftSeat id="669">
-                      <id>52</id>
-                      <table reference="604"/>
-                      <seatIndexInTable>4</seatIndexInTable>
-                      <leftSeat id="670">
-                        <id>51</id>
-                        <table reference="604"/>
-                        <seatIndexInTable>3</seatIndexInTable>
-                        <leftSeat id="671">
-                          <id>50</id>
-                          <table reference="604"/>
-                          <seatIndexInTable>2</seatIndexInTable>
-                          <leftSeat id="672">
-                            <id>49</id>
-                            <table reference="604"/>
-                            <seatIndexInTable>1</seatIndexInTable>
-                            <leftSeat reference="661"/>
-                            <rightSeat reference="671"/>
+          <rightSeat reference="655"/>
+        </org.drools.solver.examples.manners2009.domain.Seat>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="655"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="654"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="653"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="652"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="651"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="650"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="649"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="648"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="647"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="646"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="645"/>
+      </seatList>
+    </org.drools.solver.examples.manners2009.domain.Table>
+    <org.drools.solver.examples.manners2009.domain.Table id="656">
+      <id>4</id>
+      <tableIndex>4</tableIndex>
+      <seatList id="657">
+        <org.drools.solver.examples.manners2009.domain.Seat id="658">
+          <id>48</id>
+          <table reference="656"/>
+          <seatIndexInTable>0</seatIndexInTable>
+          <leftSeat id="659">
+            <id>59</id>
+            <table reference="656"/>
+            <seatIndexInTable>11</seatIndexInTable>
+            <leftSeat id="660">
+              <id>58</id>
+              <table reference="656"/>
+              <seatIndexInTable>10</seatIndexInTable>
+              <leftSeat id="661">
+                <id>57</id>
+                <table reference="656"/>
+                <seatIndexInTable>9</seatIndexInTable>
+                <leftSeat id="662">
+                  <id>56</id>
+                  <table reference="656"/>
+                  <seatIndexInTable>8</seatIndexInTable>
+                  <leftSeat id="663">
+                    <id>55</id>
+                    <table reference="656"/>
+                    <seatIndexInTable>7</seatIndexInTable>
+                    <leftSeat id="664">
+                      <id>54</id>
+                      <table reference="656"/>
+                      <seatIndexInTable>6</seatIndexInTable>
+                      <leftSeat id="665">
+                        <id>53</id>
+                        <table reference="656"/>
+                        <seatIndexInTable>5</seatIndexInTable>
+                        <leftSeat id="666">
+                          <id>52</id>
+                          <table reference="656"/>
+                          <seatIndexInTable>4</seatIndexInTable>
+                          <leftSeat id="667">
+                            <id>51</id>
+                            <table reference="656"/>
+                            <seatIndexInTable>3</seatIndexInTable>
+                            <leftSeat id="668">
+                              <id>50</id>
+                              <table reference="656"/>
+                              <seatIndexInTable>2</seatIndexInTable>
+                              <leftSeat id="669">
+                                <id>49</id>
+                                <table reference="656"/>
+                                <seatIndexInTable>1</seatIndexInTable>
+                                <leftSeat reference="658"/>
+                                <rightSeat reference="668"/>
+                              </leftSeat>
+                              <rightSeat reference="667"/>
+                            </leftSeat>
+                            <rightSeat reference="666"/>
                           </leftSeat>
-                          <rightSeat reference="670"/>
+                          <rightSeat reference="665"/>
                         </leftSeat>
-                        <rightSeat reference="669"/>
+                        <rightSeat reference="664"/>
                       </leftSeat>
-                      <rightSeat reference="668"/>
+                      <rightSeat reference="663"/>
                     </leftSeat>
-                    <rightSeat reference="667"/>
+                    <rightSeat reference="662"/>
                   </leftSeat>
-                  <rightSeat reference="666"/>
+                  <rightSeat reference="661"/>
                 </leftSeat>
-                <rightSeat reference="665"/>
+                <rightSeat reference="660"/>
               </leftSeat>
-              <rightSeat reference="664"/>
+              <rightSeat reference="659"/>
             </leftSeat>
-            <rightSeat reference="663"/>
+            <rightSeat reference="658"/>
           </leftSeat>
-          <rightSeat reference="662"/>
-        </leftSeat>
-        <rightSeat reference="661"/>
-      </leftSeat>
-      <rightSeat reference="672"/>
-    </org.drools.solver.examples.manners2009.domain.Seat>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="672"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="671"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="670"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="669"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="668"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="667"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="666"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="665"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="664"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="663"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="662"/>
-    <org.drools.solver.examples.manners2009.domain.Seat id="673">
-      <id>60</id>
-      <table reference="605"/>
-      <seatIndexInTable>0</seatIndexInTable>
-      <leftSeat id="674">
-        <id>71</id>
-        <table reference="605"/>
-        <seatIndexInTable>11</seatIndexInTable>
-        <leftSeat id="675">
-          <id>70</id>
-          <table reference="605"/>
-          <seatIndexInTable>10</seatIndexInTable>
-          <leftSeat id="676">
-            <id>69</id>
-            <table reference="605"/>
-            <seatIndexInTable>9</seatIndexInTable>
-            <leftSeat id="677">
-              <id>68</id>
-              <table reference="605"/>
-              <seatIndexInTable>8</seatIndexInTable>
-              <leftSeat id="678">
-                <id>67</id>
-                <table reference="605"/>
-                <seatIndexInTable>7</seatIndexInTable>
-                <leftSeat id="679">
-                  <id>66</id>
-                  <table reference="605"/>
-                  <seatIndexInTable>6</seatIndexInTable>
-                  <leftSeat id="680">
-                    <id>65</id>
-                    <table reference="605"/>
-                    <seatIndexInTable>5</seatIndexInTable>
-                    <leftSeat id="681">
-                      <id>64</id>
-                      <table reference="605"/>
-                      <seatIndexInTable>4</seatIndexInTable>
-                      <leftSeat id="682">
-                        <id>63</id>
-                        <table reference="605"/>
-                        <seatIndexInTable>3</seatIndexInTable>
-                        <leftSeat id="683">
-                          <id>62</id>
-                          <table reference="605"/>
-                          <seatIndexInTable>2</seatIndexInTable>
-                          <leftSeat id="684">
-                            <id>61</id>
-                            <table reference="605"/>
-                            <seatIndexInTable>1</seatIndexInTable>
-                            <leftSeat reference="673"/>
-                            <rightSeat reference="683"/>
+          <rightSeat reference="669"/>
+        </org.drools.solver.examples.manners2009.domain.Seat>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="669"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="668"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="667"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="666"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="665"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="664"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="663"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="662"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="661"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="660"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="659"/>
+      </seatList>
+    </org.drools.solver.examples.manners2009.domain.Table>
+    <org.drools.solver.examples.manners2009.domain.Table id="670">
+      <id>5</id>
+      <tableIndex>5</tableIndex>
+      <seatList id="671">
+        <org.drools.solver.examples.manners2009.domain.Seat id="672">
+          <id>60</id>
+          <table reference="670"/>
+          <seatIndexInTable>0</seatIndexInTable>
+          <leftSeat id="673">
+            <id>71</id>
+            <table reference="670"/>
+            <seatIndexInTable>11</seatIndexInTable>
+            <leftSeat id="674">
+              <id>70</id>
+              <table reference="670"/>
+              <seatIndexInTable>10</seatIndexInTable>
+              <leftSeat id="675">
+                <id>69</id>
+                <table reference="670"/>
+                <seatIndexInTable>9</seatIndexInTable>
+                <leftSeat id="676">
+                  <id>68</id>
+                  <table reference="670"/>
+                  <seatIndexInTable>8</seatIndexInTable>
+                  <leftSeat id="677">
+                    <id>67</id>
+                    <table reference="670"/>
+                    <seatIndexInTable>7</seatIndexInTable>
+                    <leftSeat id="678">
+                      <id>66</id>
+                      <table reference="670"/>
+                      <seatIndexInTable>6</seatIndexInTable>
+                      <leftSeat id="679">
+                        <id>65</id>
+                        <table reference="670"/>
+                        <seatIndexInTable>5</seatIndexInTable>
+                        <leftSeat id="680">
+                          <id>64</id>
+                          <table reference="670"/>
+                          <seatIndexInTable>4</seatIndexInTable>
+                          <leftSeat id="681">
+                            <id>63</id>
+                            <table reference="670"/>
+                            <seatIndexInTable>3</seatIndexInTable>
+                            <leftSeat id="682">
+                              <id>62</id>
+                              <table reference="670"/>
+                              <seatIndexInTable>2</seatIndexInTable>
+                              <leftSeat id="683">
+                                <id>61</id>
+                                <table reference="670"/>
+                                <seatIndexInTable>1</seatIndexInTable>
+                                <leftSeat reference="672"/>
+                                <rightSeat reference="682"/>
+                              </leftSeat>
+                              <rightSeat reference="681"/>
+                            </leftSeat>
+                            <rightSeat reference="680"/>
                           </leftSeat>
-                          <rightSeat reference="682"/>
+                          <rightSeat reference="679"/>
                         </leftSeat>
-                        <rightSeat reference="681"/>
+                        <rightSeat reference="678"/>
                       </leftSeat>
-                      <rightSeat reference="680"/>
+                      <rightSeat reference="677"/>
                     </leftSeat>
-                    <rightSeat reference="679"/>
+                    <rightSeat reference="676"/>
                   </leftSeat>
-                  <rightSeat reference="678"/>
+                  <rightSeat reference="675"/>
                 </leftSeat>
-                <rightSeat reference="677"/>
+                <rightSeat reference="674"/>
               </leftSeat>
-              <rightSeat reference="676"/>
+              <rightSeat reference="673"/>
             </leftSeat>
-            <rightSeat reference="675"/>
+            <rightSeat reference="672"/>
           </leftSeat>
-          <rightSeat reference="674"/>
-        </leftSeat>
-        <rightSeat reference="673"/>
-      </leftSeat>
-      <rightSeat reference="684"/>
-    </org.drools.solver.examples.manners2009.domain.Seat>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="684"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="683"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="682"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="681"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="680"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="679"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="678"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="677"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="676"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="675"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="674"/>
-    <org.drools.solver.examples.manners2009.domain.Seat id="685">
-      <id>72</id>
-      <table reference="606"/>
-      <seatIndexInTable>0</seatIndexInTable>
-      <leftSeat id="686">
-        <id>83</id>
-        <table reference="606"/>
-        <seatIndexInTable>11</seatIndexInTable>
-        <leftSeat id="687">
-          <id>82</id>
-          <table reference="606"/>
-          <seatIndexInTable>10</seatIndexInTable>
-          <leftSeat id="688">
-            <id>81</id>
-            <table reference="606"/>
-            <seatIndexInTable>9</seatIndexInTable>
-            <leftSeat id="689">
-              <id>80</id>
-              <table reference="606"/>
-              <seatIndexInTable>8</seatIndexInTable>
-              <leftSeat id="690">
-                <id>79</id>
-                <table reference="606"/>
-                <seatIndexInTable>7</seatIndexInTable>
-                <leftSeat id="691">
-                  <id>78</id>
-                  <table reference="606"/>
-                  <seatIndexInTable>6</seatIndexInTable>
-                  <leftSeat id="692">
-                    <id>77</id>
-                    <table reference="606"/>
-                    <seatIndexInTable>5</seatIndexInTable>
-                    <leftSeat id="693">
-                      <id>76</id>
-                      <table reference="606"/>
-                      <seatIndexInTable>4</seatIndexInTable>
-                      <leftSeat id="694">
-                        <id>75</id>
-                        <table reference="606"/>
-                        <seatIndexInTable>3</seatIndexInTable>
-                        <leftSeat id="695">
-                          <id>74</id>
-                          <table reference="606"/>
-                          <seatIndexInTable>2</seatIndexInTable>
-                          <leftSeat id="696">
-                            <id>73</id>
-                            <table reference="606"/>
-                            <seatIndexInTable>1</seatIndexInTable>
-                            <leftSeat reference="685"/>
-                            <rightSeat reference="695"/>
+          <rightSeat reference="683"/>
+        </org.drools.solver.examples.manners2009.domain.Seat>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="683"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="682"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="681"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="680"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="679"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="678"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="677"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="676"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="675"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="674"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="673"/>
+      </seatList>
+    </org.drools.solver.examples.manners2009.domain.Table>
+    <org.drools.solver.examples.manners2009.domain.Table id="684">
+      <id>6</id>
+      <tableIndex>6</tableIndex>
+      <seatList id="685">
+        <org.drools.solver.examples.manners2009.domain.Seat id="686">
+          <id>72</id>
+          <table reference="684"/>
+          <seatIndexInTable>0</seatIndexInTable>
+          <leftSeat id="687">
+            <id>83</id>
+            <table reference="684"/>
+            <seatIndexInTable>11</seatIndexInTable>
+            <leftSeat id="688">
+              <id>82</id>
+              <table reference="684"/>
+              <seatIndexInTable>10</seatIndexInTable>
+              <leftSeat id="689">
+                <id>81</id>
+                <table reference="684"/>
+                <seatIndexInTable>9</seatIndexInTable>
+                <leftSeat id="690">
+                  <id>80</id>
+                  <table reference="684"/>
+                  <seatIndexInTable>8</seatIndexInTable>
+                  <leftSeat id="691">
+                    <id>79</id>
+                    <table reference="684"/>
+                    <seatIndexInTable>7</seatIndexInTable>
+                    <leftSeat id="692">
+                      <id>78</id>
+                      <table reference="684"/>
+                      <seatIndexInTable>6</seatIndexInTable>
+                      <leftSeat id="693">
+                        <id>77</id>
+                        <table reference="684"/>
+                        <seatIndexInTable>5</seatIndexInTable>
+                        <leftSeat id="694">
+                          <id>76</id>
+                          <table reference="684"/>
+                          <seatIndexInTable>4</seatIndexInTable>
+                          <leftSeat id="695">
+                            <id>75</id>
+                            <table reference="684"/>
+                            <seatIndexInTable>3</seatIndexInTable>
+                            <leftSeat id="696">
+                              <id>74</id>
+                              <table reference="684"/>
+                              <seatIndexInTable>2</seatIndexInTable>
+                              <leftSeat id="697">
+                                <id>73</id>
+                                <table reference="684"/>
+                                <seatIndexInTable>1</seatIndexInTable>
+                                <leftSeat reference="686"/>
+                                <rightSeat reference="696"/>
+                              </leftSeat>
+                              <rightSeat reference="695"/>
+                            </leftSeat>
+                            <rightSeat reference="694"/>
                           </leftSeat>
-                          <rightSeat reference="694"/>
+                          <rightSeat reference="693"/>
                         </leftSeat>
-                        <rightSeat reference="693"/>
+                        <rightSeat reference="692"/>
                       </leftSeat>
-                      <rightSeat reference="692"/>
+                      <rightSeat reference="691"/>
                     </leftSeat>
-                    <rightSeat reference="691"/>
+                    <rightSeat reference="690"/>
                   </leftSeat>
-                  <rightSeat reference="690"/>
+                  <rightSeat reference="689"/>
                 </leftSeat>
-                <rightSeat reference="689"/>
+                <rightSeat reference="688"/>
               </leftSeat>
-              <rightSeat reference="688"/>
+              <rightSeat reference="687"/>
             </leftSeat>
-            <rightSeat reference="687"/>
+            <rightSeat reference="686"/>
           </leftSeat>
-          <rightSeat reference="686"/>
-        </leftSeat>
-        <rightSeat reference="685"/>
-      </leftSeat>
-      <rightSeat reference="696"/>
-    </org.drools.solver.examples.manners2009.domain.Seat>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="696"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="695"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="694"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="693"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="692"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="691"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="690"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="689"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="688"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="687"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="686"/>
-    <org.drools.solver.examples.manners2009.domain.Seat id="697">
-      <id>84</id>
-      <table reference="607"/>
-      <seatIndexInTable>0</seatIndexInTable>
-      <leftSeat id="698">
-        <id>95</id>
-        <table reference="607"/>
-        <seatIndexInTable>11</seatIndexInTable>
-        <leftSeat id="699">
-          <id>94</id>
-          <table reference="607"/>
-          <seatIndexInTable>10</seatIndexInTable>
-          <leftSeat id="700">
-            <id>93</id>
-            <table reference="607"/>
-            <seatIndexInTable>9</seatIndexInTable>
-            <leftSeat id="701">
-              <id>92</id>
-              <table reference="607"/>
-              <seatIndexInTable>8</seatIndexInTable>
-              <leftSeat id="702">
-                <id>91</id>
-                <table reference="607"/>
-                <seatIndexInTable>7</seatIndexInTable>
-                <leftSeat id="703">
-                  <id>90</id>
-                  <table reference="607"/>
-                  <seatIndexInTable>6</seatIndexInTable>
-                  <leftSeat id="704">
-                    <id>89</id>
-                    <table reference="607"/>
-                    <seatIndexInTable>5</seatIndexInTable>
-                    <leftSeat id="705">
-                      <id>88</id>
-                      <table reference="607"/>
-                      <seatIndexInTable>4</seatIndexInTable>
-                      <leftSeat id="706">
-                        <id>87</id>
-                        <table reference="607"/>
-                        <seatIndexInTable>3</seatIndexInTable>
-                        <leftSeat id="707">
-                          <id>86</id>
-                          <table reference="607"/>
-                          <seatIndexInTable>2</seatIndexInTable>
-                          <leftSeat id="708">
-                            <id>85</id>
-                            <table reference="607"/>
-                            <seatIndexInTable>1</seatIndexInTable>
-                            <leftSeat reference="697"/>
-                            <rightSeat reference="707"/>
+          <rightSeat reference="697"/>
+        </org.drools.solver.examples.manners2009.domain.Seat>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="697"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="696"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="695"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="694"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="693"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="692"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="691"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="690"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="689"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="688"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="687"/>
+      </seatList>
+    </org.drools.solver.examples.manners2009.domain.Table>
+    <org.drools.solver.examples.manners2009.domain.Table id="698">
+      <id>7</id>
+      <tableIndex>7</tableIndex>
+      <seatList id="699">
+        <org.drools.solver.examples.manners2009.domain.Seat id="700">
+          <id>84</id>
+          <table reference="698"/>
+          <seatIndexInTable>0</seatIndexInTable>
+          <leftSeat id="701">
+            <id>95</id>
+            <table reference="698"/>
+            <seatIndexInTable>11</seatIndexInTable>
+            <leftSeat id="702">
+              <id>94</id>
+              <table reference="698"/>
+              <seatIndexInTable>10</seatIndexInTable>
+              <leftSeat id="703">
+                <id>93</id>
+                <table reference="698"/>
+                <seatIndexInTable>9</seatIndexInTable>
+                <leftSeat id="704">
+                  <id>92</id>
+                  <table reference="698"/>
+                  <seatIndexInTable>8</seatIndexInTable>
+                  <leftSeat id="705">
+                    <id>91</id>
+                    <table reference="698"/>
+                    <seatIndexInTable>7</seatIndexInTable>
+                    <leftSeat id="706">
+                      <id>90</id>
+                      <table reference="698"/>
+                      <seatIndexInTable>6</seatIndexInTable>
+                      <leftSeat id="707">
+                        <id>89</id>
+                        <table reference="698"/>
+                        <seatIndexInTable>5</seatIndexInTable>
+                        <leftSeat id="708">
+                          <id>88</id>
+                          <table reference="698"/>
+                          <seatIndexInTable>4</seatIndexInTable>
+                          <leftSeat id="709">
+                            <id>87</id>
+                            <table reference="698"/>
+                            <seatIndexInTable>3</seatIndexInTable>
+                            <leftSeat id="710">
+                              <id>86</id>
+                              <table reference="698"/>
+                              <seatIndexInTable>2</seatIndexInTable>
+                              <leftSeat id="711">
+                                <id>85</id>
+                                <table reference="698"/>
+                                <seatIndexInTable>1</seatIndexInTable>
+                                <leftSeat reference="700"/>
+                                <rightSeat reference="710"/>
+                              </leftSeat>
+                              <rightSeat reference="709"/>
+                            </leftSeat>
+                            <rightSeat reference="708"/>
                           </leftSeat>
-                          <rightSeat reference="706"/>
+                          <rightSeat reference="707"/>
                         </leftSeat>
-                        <rightSeat reference="705"/>
+                        <rightSeat reference="706"/>
                       </leftSeat>
-                      <rightSeat reference="704"/>
+                      <rightSeat reference="705"/>
                     </leftSeat>
-                    <rightSeat reference="703"/>
+                    <rightSeat reference="704"/>
                   </leftSeat>
-                  <rightSeat reference="702"/>
+                  <rightSeat reference="703"/>
                 </leftSeat>
-                <rightSeat reference="701"/>
+                <rightSeat reference="702"/>
               </leftSeat>
-              <rightSeat reference="700"/>
+              <rightSeat reference="701"/>
             </leftSeat>
-            <rightSeat reference="699"/>
+            <rightSeat reference="700"/>
           </leftSeat>
-          <rightSeat reference="698"/>
-        </leftSeat>
-        <rightSeat reference="697"/>
-      </leftSeat>
-      <rightSeat reference="708"/>
-    </org.drools.solver.examples.manners2009.domain.Seat>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="708"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="707"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="706"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="705"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="704"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="703"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="702"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="701"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="700"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="699"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="698"/>
-    <org.drools.solver.examples.manners2009.domain.Seat id="709">
-      <id>96</id>
-      <table reference="608"/>
-      <seatIndexInTable>0</seatIndexInTable>
-      <leftSeat id="710">
-        <id>107</id>
-        <table reference="608"/>
-        <seatIndexInTable>11</seatIndexInTable>
-        <leftSeat id="711">
-          <id>106</id>
-          <table reference="608"/>
-          <seatIndexInTable>10</seatIndexInTable>
-          <leftSeat id="712">
-            <id>105</id>
-            <table reference="608"/>
-            <seatIndexInTable>9</seatIndexInTable>
-            <leftSeat id="713">
-              <id>104</id>
-              <table reference="608"/>
-              <seatIndexInTable>8</seatIndexInTable>
-              <leftSeat id="714">
-                <id>103</id>
-                <table reference="608"/>
-                <seatIndexInTable>7</seatIndexInTable>
-                <leftSeat id="715">
-                  <id>102</id>
-                  <table reference="608"/>
-                  <seatIndexInTable>6</seatIndexInTable>
-                  <leftSeat id="716">
-                    <id>101</id>
-                    <table reference="608"/>
-                    <seatIndexInTable>5</seatIndexInTable>
-                    <leftSeat id="717">
-                      <id>100</id>
-                      <table reference="608"/>
-                      <seatIndexInTable>4</seatIndexInTable>
-                      <leftSeat id="718">
-                        <id>99</id>
-                        <table reference="608"/>
-                        <seatIndexInTable>3</seatIndexInTable>
-                        <leftSeat id="719">
-                          <id>98</id>
-                          <table reference="608"/>
-                          <seatIndexInTable>2</seatIndexInTable>
-                          <leftSeat id="720">
-                            <id>97</id>
-                            <table reference="608"/>
-                            <seatIndexInTable>1</seatIndexInTable>
-                            <leftSeat reference="709"/>
-                            <rightSeat reference="719"/>
+          <rightSeat reference="711"/>
+        </org.drools.solver.examples.manners2009.domain.Seat>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="711"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="710"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="709"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="708"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="707"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="706"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="705"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="704"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="703"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="702"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="701"/>
+      </seatList>
+    </org.drools.solver.examples.manners2009.domain.Table>
+    <org.drools.solver.examples.manners2009.domain.Table id="712">
+      <id>8</id>
+      <tableIndex>8</tableIndex>
+      <seatList id="713">
+        <org.drools.solver.examples.manners2009.domain.Seat id="714">
+          <id>96</id>
+          <table reference="712"/>
+          <seatIndexInTable>0</seatIndexInTable>
+          <leftSeat id="715">
+            <id>107</id>
+            <table reference="712"/>
+            <seatIndexInTable>11</seatIndexInTable>
+            <leftSeat id="716">
+              <id>106</id>
+              <table reference="712"/>
+              <seatIndexInTable>10</seatIndexInTable>
+              <leftSeat id="717">
+                <id>105</id>
+                <table reference="712"/>
+                <seatIndexInTable>9</seatIndexInTable>
+                <leftSeat id="718">
+                  <id>104</id>
+                  <table reference="712"/>
+                  <seatIndexInTable>8</seatIndexInTable>
+                  <leftSeat id="719">
+                    <id>103</id>
+                    <table reference="712"/>
+                    <seatIndexInTable>7</seatIndexInTable>
+                    <leftSeat id="720">
+                      <id>102</id>
+                      <table reference="712"/>
+                      <seatIndexInTable>6</seatIndexInTable>
+                      <leftSeat id="721">
+                        <id>101</id>
+                        <table reference="712"/>
+                        <seatIndexInTable>5</seatIndexInTable>
+                        <leftSeat id="722">
+                          <id>100</id>
+                          <table reference="712"/>
+                          <seatIndexInTable>4</seatIndexInTable>
+                          <leftSeat id="723">
+                            <id>99</id>
+                            <table reference="712"/>
+                            <seatIndexInTable>3</seatIndexInTable>
+                            <leftSeat id="724">
+                              <id>98</id>
+                              <table reference="712"/>
+                              <seatIndexInTable>2</seatIndexInTable>
+                              <leftSeat id="725">
+                                <id>97</id>
+                                <table reference="712"/>
+                                <seatIndexInTable>1</seatIndexInTable>
+                                <leftSeat reference="714"/>
+                                <rightSeat reference="724"/>
+                              </leftSeat>
+                              <rightSeat reference="723"/>
+                            </leftSeat>
+                            <rightSeat reference="722"/>
                           </leftSeat>
-                          <rightSeat reference="718"/>
+                          <rightSeat reference="721"/>
                         </leftSeat>
-                        <rightSeat reference="717"/>
+                        <rightSeat reference="720"/>
                       </leftSeat>
-                      <rightSeat reference="716"/>
+                      <rightSeat reference="719"/>
                     </leftSeat>
-                    <rightSeat reference="715"/>
+                    <rightSeat reference="718"/>
                   </leftSeat>
-                  <rightSeat reference="714"/>
+                  <rightSeat reference="717"/>
                 </leftSeat>
-                <rightSeat reference="713"/>
+                <rightSeat reference="716"/>
               </leftSeat>
-              <rightSeat reference="712"/>
+              <rightSeat reference="715"/>
             </leftSeat>
-            <rightSeat reference="711"/>
+            <rightSeat reference="714"/>
           </leftSeat>
-          <rightSeat reference="710"/>
-        </leftSeat>
-        <rightSeat reference="709"/>
-      </leftSeat>
-      <rightSeat reference="720"/>
-    </org.drools.solver.examples.manners2009.domain.Seat>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="720"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="719"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="718"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="717"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="716"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="715"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="714"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="713"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="712"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="711"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="710"/>
-    <org.drools.solver.examples.manners2009.domain.Seat id="721">
-      <id>108</id>
-      <table reference="609"/>
-      <seatIndexInTable>0</seatIndexInTable>
-      <leftSeat id="722">
-        <id>119</id>
-        <table reference="609"/>
-        <seatIndexInTable>11</seatIndexInTable>
-        <leftSeat id="723">
-          <id>118</id>
-          <table reference="609"/>
-          <seatIndexInTable>10</seatIndexInTable>
-          <leftSeat id="724">
-            <id>117</id>
-            <table reference="609"/>
-            <seatIndexInTable>9</seatIndexInTable>
-            <leftSeat id="725">
-              <id>116</id>
-              <table reference="609"/>
-              <seatIndexInTable>8</seatIndexInTable>
-              <leftSeat id="726">
-                <id>115</id>
-                <table reference="609"/>
-                <seatIndexInTable>7</seatIndexInTable>
-                <leftSeat id="727">
-                  <id>114</id>
-                  <table reference="609"/>
-                  <seatIndexInTable>6</seatIndexInTable>
-                  <leftSeat id="728">
-                    <id>113</id>
-                    <table reference="609"/>
-                    <seatIndexInTable>5</seatIndexInTable>
-                    <leftSeat id="729">
-                      <id>112</id>
-                      <table reference="609"/>
-                      <seatIndexInTable>4</seatIndexInTable>
-                      <leftSeat id="730">
-                        <id>111</id>
-                        <table reference="609"/>
-                        <seatIndexInTable>3</seatIndexInTable>
-                        <leftSeat id="731">
-                          <id>110</id>
-                          <table reference="609"/>
-                          <seatIndexInTable>2</seatIndexInTable>
-                          <leftSeat id="732">
-                            <id>109</id>
-                            <table reference="609"/>
-                            <seatIndexInTable>1</seatIndexInTable>
-                            <leftSeat reference="721"/>
-                            <rightSeat reference="731"/>
+          <rightSeat reference="725"/>
+        </org.drools.solver.examples.manners2009.domain.Seat>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="725"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="724"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="723"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="722"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="721"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="720"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="719"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="718"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="717"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="716"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="715"/>
+      </seatList>
+    </org.drools.solver.examples.manners2009.domain.Table>
+    <org.drools.solver.examples.manners2009.domain.Table id="726">
+      <id>9</id>
+      <tableIndex>9</tableIndex>
+      <seatList id="727">
+        <org.drools.solver.examples.manners2009.domain.Seat id="728">
+          <id>108</id>
+          <table reference="726"/>
+          <seatIndexInTable>0</seatIndexInTable>
+          <leftSeat id="729">
+            <id>119</id>
+            <table reference="726"/>
+            <seatIndexInTable>11</seatIndexInTable>
+            <leftSeat id="730">
+              <id>118</id>
+              <table reference="726"/>
+              <seatIndexInTable>10</seatIndexInTable>
+              <leftSeat id="731">
+                <id>117</id>
+                <table reference="726"/>
+                <seatIndexInTable>9</seatIndexInTable>
+                <leftSeat id="732">
+                  <id>116</id>
+                  <table reference="726"/>
+                  <seatIndexInTable>8</seatIndexInTable>
+                  <leftSeat id="733">
+                    <id>115</id>
+                    <table reference="726"/>
+                    <seatIndexInTable>7</seatIndexInTable>
+                    <leftSeat id="734">
+                      <id>114</id>
+                      <table reference="726"/>
+                      <seatIndexInTable>6</seatIndexInTable>
+                      <leftSeat id="735">
+                        <id>113</id>
+                        <table reference="726"/>
+                        <seatIndexInTable>5</seatIndexInTable>
+                        <leftSeat id="736">
+                          <id>112</id>
+                          <table reference="726"/>
+                          <seatIndexInTable>4</seatIndexInTable>
+                          <leftSeat id="737">
+                            <id>111</id>
+                            <table reference="726"/>
+                            <seatIndexInTable>3</seatIndexInTable>
+                            <leftSeat id="738">
+                              <id>110</id>
+                              <table reference="726"/>
+                              <seatIndexInTable>2</seatIndexInTable>
+                              <leftSeat id="739">
+                                <id>109</id>
+                                <table reference="726"/>
+                                <seatIndexInTable>1</seatIndexInTable>
+                                <leftSeat reference="728"/>
+                                <rightSeat reference="738"/>
+                              </leftSeat>
+                              <rightSeat reference="737"/>
+                            </leftSeat>
+                            <rightSeat reference="736"/>
                           </leftSeat>
-                          <rightSeat reference="730"/>
+                          <rightSeat reference="735"/>
                         </leftSeat>
-                        <rightSeat reference="729"/>
+                        <rightSeat reference="734"/>
                       </leftSeat>
-                      <rightSeat reference="728"/>
+                      <rightSeat reference="733"/>
                     </leftSeat>
-                    <rightSeat reference="727"/>
+                    <rightSeat reference="732"/>
                   </leftSeat>
-                  <rightSeat reference="726"/>
+                  <rightSeat reference="731"/>
                 </leftSeat>
-                <rightSeat reference="725"/>
+                <rightSeat reference="730"/>
               </leftSeat>
-              <rightSeat reference="724"/>
+              <rightSeat reference="729"/>
             </leftSeat>
-            <rightSeat reference="723"/>
+            <rightSeat reference="728"/>
           </leftSeat>
-          <rightSeat reference="722"/>
-        </leftSeat>
-        <rightSeat reference="721"/>
-      </leftSeat>
-      <rightSeat reference="732"/>
-    </org.drools.solver.examples.manners2009.domain.Seat>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="732"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="731"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="730"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="729"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="728"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="727"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="726"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="725"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="724"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="723"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="722"/>
-    <org.drools.solver.examples.manners2009.domain.Seat id="733">
-      <id>120</id>
-      <table reference="610"/>
-      <seatIndexInTable>0</seatIndexInTable>
-      <leftSeat id="734">
-        <id>131</id>
-        <table reference="610"/>
-        <seatIndexInTable>11</seatIndexInTable>
-        <leftSeat id="735">
-          <id>130</id>
-          <table reference="610"/>
-          <seatIndexInTable>10</seatIndexInTable>
-          <leftSeat id="736">
-            <id>129</id>
-            <table reference="610"/>
-            <seatIndexInTable>9</seatIndexInTable>
-            <leftSeat id="737">
-              <id>128</id>
-              <table reference="610"/>
-              <seatIndexInTable>8</seatIndexInTable>
-              <leftSeat id="738">
-                <id>127</id>
-                <table reference="610"/>
-                <seatIndexInTable>7</seatIndexInTable>
-                <leftSeat id="739">
-                  <id>126</id>
-                  <table reference="610"/>
-                  <seatIndexInTable>6</seatIndexInTable>
-                  <leftSeat id="740">
-                    <id>125</id>
-                    <table reference="610"/>
-                    <seatIndexInTable>5</seatIndexInTable>
-                    <leftSeat id="741">
-                      <id>124</id>
-                      <table reference="610"/>
-                      <seatIndexInTable>4</seatIndexInTable>
-                      <leftSeat id="742">
-                        <id>123</id>
-                        <table reference="610"/>
-                        <seatIndexInTable>3</seatIndexInTable>
-                        <leftSeat id="743">
-                          <id>122</id>
-                          <table reference="610"/>
-                          <seatIndexInTable>2</seatIndexInTable>
-                          <leftSeat id="744">
-                            <id>121</id>
-                            <table reference="610"/>
-                            <seatIndexInTable>1</seatIndexInTable>
-                            <leftSeat reference="733"/>
-                            <rightSeat reference="743"/>
+          <rightSeat reference="739"/>
+        </org.drools.solver.examples.manners2009.domain.Seat>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="739"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="738"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="737"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="736"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="735"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="734"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="733"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="732"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="731"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="730"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="729"/>
+      </seatList>
+    </org.drools.solver.examples.manners2009.domain.Table>
+    <org.drools.solver.examples.manners2009.domain.Table id="740">
+      <id>10</id>
+      <tableIndex>10</tableIndex>
+      <seatList id="741">
+        <org.drools.solver.examples.manners2009.domain.Seat id="742">
+          <id>120</id>
+          <table reference="740"/>
+          <seatIndexInTable>0</seatIndexInTable>
+          <leftSeat id="743">
+            <id>131</id>
+            <table reference="740"/>
+            <seatIndexInTable>11</seatIndexInTable>
+            <leftSeat id="744">
+              <id>130</id>
+              <table reference="740"/>
+              <seatIndexInTable>10</seatIndexInTable>
+              <leftSeat id="745">
+                <id>129</id>
+                <table reference="740"/>
+                <seatIndexInTable>9</seatIndexInTable>
+                <leftSeat id="746">
+                  <id>128</id>
+                  <table reference="740"/>
+                  <seatIndexInTable>8</seatIndexInTable>
+                  <leftSeat id="747">
+                    <id>127</id>
+                    <table reference="740"/>
+                    <seatIndexInTable>7</seatIndexInTable>
+                    <leftSeat id="748">
+                      <id>126</id>
+                      <table reference="740"/>
+                      <seatIndexInTable>6</seatIndexInTable>
+                      <leftSeat id="749">
+                        <id>125</id>
+                        <table reference="740"/>
+                        <seatIndexInTable>5</seatIndexInTable>
+                        <leftSeat id="750">
+                          <id>124</id>
+                          <table reference="740"/>
+                          <seatIndexInTable>4</seatIndexInTable>
+                          <leftSeat id="751">
+                            <id>123</id>
+                            <table reference="740"/>
+                            <seatIndexInTable>3</seatIndexInTable>
+                            <leftSeat id="752">
+                              <id>122</id>
+                              <table reference="740"/>
+                              <seatIndexInTable>2</seatIndexInTable>
+                              <leftSeat id="753">
+                                <id>121</id>
+                                <table reference="740"/>
+                                <seatIndexInTable>1</seatIndexInTable>
+                                <leftSeat reference="742"/>
+                                <rightSeat reference="752"/>
+                              </leftSeat>
+                              <rightSeat reference="751"/>
+                            </leftSeat>
+                            <rightSeat reference="750"/>
                           </leftSeat>
-                          <rightSeat reference="742"/>
+                          <rightSeat reference="749"/>
                         </leftSeat>
-                        <rightSeat reference="741"/>
+                        <rightSeat reference="748"/>
                       </leftSeat>
-                      <rightSeat reference="740"/>
+                      <rightSeat reference="747"/>
                     </leftSeat>
-                    <rightSeat reference="739"/>
+                    <rightSeat reference="746"/>
                   </leftSeat>
-                  <rightSeat reference="738"/>
+                  <rightSeat reference="745"/>
                 </leftSeat>
-                <rightSeat reference="737"/>
+                <rightSeat reference="744"/>
               </leftSeat>
-              <rightSeat reference="736"/>
+              <rightSeat reference="743"/>
             </leftSeat>
-            <rightSeat reference="735"/>
+            <rightSeat reference="742"/>
           </leftSeat>
-          <rightSeat reference="734"/>
-        </leftSeat>
-        <rightSeat reference="733"/>
-      </leftSeat>
-      <rightSeat reference="744"/>
-    </org.drools.solver.examples.manners2009.domain.Seat>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="744"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="743"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="742"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="741"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="740"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="739"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="738"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="737"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="736"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="735"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="734"/>
-    <org.drools.solver.examples.manners2009.domain.Seat id="745">
-      <id>132</id>
-      <table reference="611"/>
-      <seatIndexInTable>0</seatIndexInTable>
-      <leftSeat id="746">
-        <id>143</id>
-        <table reference="611"/>
-        <seatIndexInTable>11</seatIndexInTable>
-        <leftSeat id="747">
-          <id>142</id>
-          <table reference="611"/>
-          <seatIndexInTable>10</seatIndexInTable>
-          <leftSeat id="748">
-            <id>141</id>
-            <table reference="611"/>
-            <seatIndexInTable>9</seatIndexInTable>
-            <leftSeat id="749">
-              <id>140</id>
-              <table reference="611"/>
-              <seatIndexInTable>8</seatIndexInTable>
-              <leftSeat id="750">
-                <id>139</id>
-                <table reference="611"/>
-                <seatIndexInTable>7</seatIndexInTable>
-                <leftSeat id="751">
-                  <id>138</id>
-                  <table reference="611"/>
-                  <seatIndexInTable>6</seatIndexInTable>
-                  <leftSeat id="752">
-                    <id>137</id>
-                    <table reference="611"/>
-                    <seatIndexInTable>5</seatIndexInTable>
-                    <leftSeat id="753">
-                      <id>136</id>
-                      <table reference="611"/>
-                      <seatIndexInTable>4</seatIndexInTable>
-                      <leftSeat id="754">
-                        <id>135</id>
-                        <table reference="611"/>
-                        <seatIndexInTable>3</seatIndexInTable>
-                        <leftSeat id="755">
-                          <id>134</id>
-                          <table reference="611"/>
-                          <seatIndexInTable>2</seatIndexInTable>
-                          <leftSeat id="756">
-                            <id>133</id>
-                            <table reference="611"/>
-                            <seatIndexInTable>1</seatIndexInTable>
-                            <leftSeat reference="745"/>
-                            <rightSeat reference="755"/>
+          <rightSeat reference="753"/>
+        </org.drools.solver.examples.manners2009.domain.Seat>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="753"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="752"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="751"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="750"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="749"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="748"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="747"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="746"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="745"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="744"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="743"/>
+      </seatList>
+    </org.drools.solver.examples.manners2009.domain.Table>
+    <org.drools.solver.examples.manners2009.domain.Table id="754">
+      <id>11</id>
+      <tableIndex>11</tableIndex>
+      <seatList id="755">
+        <org.drools.solver.examples.manners2009.domain.Seat id="756">
+          <id>132</id>
+          <table reference="754"/>
+          <seatIndexInTable>0</seatIndexInTable>
+          <leftSeat id="757">
+            <id>143</id>
+            <table reference="754"/>
+            <seatIndexInTable>11</seatIndexInTable>
+            <leftSeat id="758">
+              <id>142</id>
+              <table reference="754"/>
+              <seatIndexInTable>10</seatIndexInTable>
+              <leftSeat id="759">
+                <id>141</id>
+                <table reference="754"/>
+                <seatIndexInTable>9</seatIndexInTable>
+                <leftSeat id="760">
+                  <id>140</id>
+                  <table reference="754"/>
+                  <seatIndexInTable>8</seatIndexInTable>
+                  <leftSeat id="761">
+                    <id>139</id>
+                    <table reference="754"/>
+                    <seatIndexInTable>7</seatIndexInTable>
+                    <leftSeat id="762">
+                      <id>138</id>
+                      <table reference="754"/>
+                      <seatIndexInTable>6</seatIndexInTable>
+                      <leftSeat id="763">
+                        <id>137</id>
+                        <table reference="754"/>
+                        <seatIndexInTable>5</seatIndexInTable>
+                        <leftSeat id="764">
+                          <id>136</id>
+                          <table reference="754"/>
+                          <seatIndexInTable>4</seatIndexInTable>
+                          <leftSeat id="765">
+                            <id>135</id>
+                            <table reference="754"/>
+                            <seatIndexInTable>3</seatIndexInTable>
+                            <leftSeat id="766">
+                              <id>134</id>
+                              <table reference="754"/>
+                              <seatIndexInTable>2</seatIndexInTable>
+                              <leftSeat id="767">
+                                <id>133</id>
+                                <table reference="754"/>
+                                <seatIndexInTable>1</seatIndexInTable>
+                                <leftSeat reference="756"/>
+                                <rightSeat reference="766"/>
+                              </leftSeat>
+                              <rightSeat reference="765"/>
+                            </leftSeat>
+                            <rightSeat reference="764"/>
                           </leftSeat>
-                          <rightSeat reference="754"/>
+                          <rightSeat reference="763"/>
                         </leftSeat>
-                        <rightSeat reference="753"/>
+                        <rightSeat reference="762"/>
                       </leftSeat>
-                      <rightSeat reference="752"/>
+                      <rightSeat reference="761"/>
                     </leftSeat>
-                    <rightSeat reference="751"/>
+                    <rightSeat reference="760"/>
                   </leftSeat>
-                  <rightSeat reference="750"/>
+                  <rightSeat reference="759"/>
                 </leftSeat>
-                <rightSeat reference="749"/>
+                <rightSeat reference="758"/>
               </leftSeat>
-              <rightSeat reference="748"/>
+              <rightSeat reference="757"/>
             </leftSeat>
-            <rightSeat reference="747"/>
+            <rightSeat reference="756"/>
           </leftSeat>
-          <rightSeat reference="746"/>
-        </leftSeat>
-        <rightSeat reference="745"/>
-      </leftSeat>
-      <rightSeat reference="756"/>
-    </org.drools.solver.examples.manners2009.domain.Seat>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="756"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="755"/>
-    <org.drools.solver.examples.manners2009.domain.Seat reference="754"/>
+          <rightSeat reference="767"/>
+        </org.drools.solver.examples.manners2009.domain.Seat>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="767"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="766"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="765"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="764"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="763"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="762"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="761"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="760"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="759"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="758"/>
+        <org.drools.solver.examples.manners2009.domain.Seat reference="757"/>
+      </seatList>
+    </org.drools.solver.examples.manners2009.domain.Table>
+  </tableList>
+  <seatList id="768">
+    <org.drools.solver.examples.manners2009.domain.Seat reference="602"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="613"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="612"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="611"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="610"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="609"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="608"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="607"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="606"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="605"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="604"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="603"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="616"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="627"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="626"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="625"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="624"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="623"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="622"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="621"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="620"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="619"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="618"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="617"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="630"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="641"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="640"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="639"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="638"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="637"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="636"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="635"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="634"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="633"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="632"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="631"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="644"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="655"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="654"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="653"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="652"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="651"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="650"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="649"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="648"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="647"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="646"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="645"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="658"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="669"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="668"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="667"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="666"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="665"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="664"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="663"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="662"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="661"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="660"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="659"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="672"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="683"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="682"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="681"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="680"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="679"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="678"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="677"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="676"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="675"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="674"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="673"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="686"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="697"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="696"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="695"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="694"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="693"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="692"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="691"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="690"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="689"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="688"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="687"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="700"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="711"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="710"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="709"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="708"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="707"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="706"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="705"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="704"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="703"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="702"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="701"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="714"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="725"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="724"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="723"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="722"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="721"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="720"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="719"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="718"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="717"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="716"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="715"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="728"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="739"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="738"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="737"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="736"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="735"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="734"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="733"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="732"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="731"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="730"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="729"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="742"/>
     <org.drools.solver.examples.manners2009.domain.Seat reference="753"/>
     <org.drools.solver.examples.manners2009.domain.Seat reference="752"/>
     <org.drools.solver.examples.manners2009.domain.Seat reference="751"/>
@@ -4191,5 +4332,20 @@
     <org.drools.solver.examples.manners2009.domain.Seat reference="748"/>
     <org.drools.solver.examples.manners2009.domain.Seat reference="747"/>
     <org.drools.solver.examples.manners2009.domain.Seat reference="746"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="745"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="744"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="743"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="756"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="767"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="766"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="765"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="764"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="763"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="762"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="761"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="760"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="759"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="758"/>
+    <org.drools.solver.examples.manners2009.domain.Seat reference="757"/>
   </seatList>
 </org.drools.solver.examples.manners2009.domain.Manners2009>
\ No newline at end of file

Copied: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/app/Manners2009App.java (from rev 26328, labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/app/ExaminationApp.java)
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/app/Manners2009App.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/app/Manners2009App.java	2009-05-02 11:19:01 UTC (rev 26336)
@@ -0,0 +1,40 @@
+package org.drools.solver.examples.manners2009.app;
+
+import org.drools.solver.config.XmlSolverConfigurer;
+import org.drools.solver.core.Solver;
+import org.drools.solver.examples.common.app.CommonApp;
+import org.drools.solver.examples.common.swingui.SolutionPanel;
+import org.drools.solver.examples.itc2007.examination.swingui.ExaminationPanel;
+import org.drools.solver.examples.itc2007.examination.app.ExaminationApp;
+import org.drools.solver.examples.manners2009.swingui.Manners2009Panel;
+
+/**
+ * @author Geoffrey De Smet
+ */
+public class Manners2009App extends CommonApp {
+
+    public static final String SOLVER_CONFIG
+            = "/org/drools/solver/examples/manners2009/solver/manners2009SolverConfig.xml";
+
+    public static void main(String[] args) {
+        new Manners2009App().init();
+    }
+
+    @Override
+    protected Solver createSolver() {
+        XmlSolverConfigurer configurer = new XmlSolverConfigurer();
+        configurer.configure(SOLVER_CONFIG);
+        return configurer.buildSolver();
+    }
+
+    @Override
+    protected String getExampleDirName() {
+        return "manners2009";
+    }
+
+    @Override
+    protected SolutionPanel createSolutionPanel() {
+        return new Manners2009Panel();
+    }
+
+}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/domain/Manners2009.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/domain/Manners2009.java	2009-05-02 06:29:46 UTC (rev 26335)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/domain/Manners2009.java	2009-05-02 11:19:01 UTC (rev 26336)
@@ -71,6 +71,10 @@
     }
 
 
+    public boolean isInitialized() {
+        return (seatDesignationList != null);
+    }
+
     public Collection<? extends Object> getFacts() {
         List<Object> facts = new ArrayList<Object>();
         facts.addAll(jobList);
@@ -78,7 +82,9 @@
         facts.addAll(hobbyPracticianList);
         facts.addAll(tableList);
         facts.addAll(seatList);
-        facts.addAll(seatDesignationList);
+        if (isInitialized()) {
+            facts.addAll(seatDesignationList);
+        }
         return facts;
     }
 

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/domain/SeatDesignation.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/domain/SeatDesignation.java	2009-05-02 06:29:46 UTC (rev 26335)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/domain/SeatDesignation.java	2009-05-02 11:19:01 UTC (rev 26336)
@@ -84,4 +84,12 @@
         return guest + " @ " + seat;
     }
 
+    public Job getGuestJob() {
+        return getGuest().getJob();
+    }
+
+    public Table getSeatTable() {
+        return getSeat().getTable();
+    }
+
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/domain/Table.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/domain/Table.java	2009-05-02 06:29:46 UTC (rev 26335)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/domain/Table.java	2009-05-02 11:19:01 UTC (rev 26336)
@@ -1,5 +1,7 @@
 package org.drools.solver.examples.manners2009.domain;
 
+import java.util.List;
+
 import org.apache.commons.lang.builder.CompareToBuilder;
 import org.drools.solver.examples.common.domain.AbstractPersistable;
 import org.drools.solver.examples.itc2007.examination.domain.Room;
@@ -10,8 +12,9 @@
 public class Table extends AbstractPersistable implements Comparable<Table> {
 
     private int tableIndex;
-    private int size;
 
+    private List<Seat> seatList;
+
     public int getTableIndex() {
         return tableIndex;
     }
@@ -20,12 +23,12 @@
         this.tableIndex = tableIndex;
     }
 
-    public int getSize() {
-        return size;
+    public List<Seat> getSeatList() {
+        return seatList;
     }
 
-    public void setSize(int size) {
-        this.size = size;
+    public void setSeatList(List<Seat> seatList) {
+        this.seatList = seatList;
     }
 
     public int compareTo(Table other) {

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/persistence/Manners2009InputConvertor.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/persistence/Manners2009InputConvertor.java	2009-05-02 06:29:46 UTC (rev 26335)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/persistence/Manners2009InputConvertor.java	2009-05-02 11:19:01 UTC (rev 26336)
@@ -5,22 +5,22 @@
 import java.io.FileReader;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
-import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.commons.io.IOUtils;
 import org.drools.solver.examples.common.app.LoggingMain;
 import org.drools.solver.examples.common.persistence.XstreamSolutionDaoImpl;
-import org.drools.solver.examples.manners2009.domain.Manners2009;
-import org.drools.solver.examples.manners2009.domain.Job;
+import org.drools.solver.examples.manners2009.domain.Gender;
 import org.drools.solver.examples.manners2009.domain.Guest;
+import org.drools.solver.examples.manners2009.domain.Hobby;
 import org.drools.solver.examples.manners2009.domain.HobbyPractician;
+import org.drools.solver.examples.manners2009.domain.Job;
+import org.drools.solver.examples.manners2009.domain.JobType;
+import org.drools.solver.examples.manners2009.domain.Manners2009;
+import org.drools.solver.examples.manners2009.domain.Seat;
 import org.drools.solver.examples.manners2009.domain.Table;
-import org.drools.solver.examples.manners2009.domain.Seat;
-import org.drools.solver.examples.manners2009.domain.Gender;
-import org.drools.solver.examples.manners2009.domain.Hobby;
-import org.drools.solver.examples.manners2009.domain.JobType;
 
 /**
  * @author Geoffrey De Smet
@@ -96,7 +96,7 @@
             Table table = new Table();
             table.setId((long) i);
             table.setTableIndex(i);
-            table.setSize(seatsPerTable);
+            List<Seat> tableSeatList = new ArrayList<Seat>(seatsPerTable);
             Seat firstSeat = null;
             Seat previousSeat = null;
             for (int j = 0; j < seatsPerTable; j++) {
@@ -110,11 +110,13 @@
                 } else {
                     firstSeat = seat; 
                 }
+                tableSeatList.add(seat);
                 seatList.add(seat);
                 previousSeat = seat;
             }
             firstSeat.setLeftSeat(previousSeat);
             previousSeat.setRightSeat(firstSeat);
+            table.setSeatList(tableSeatList);
             tableList.add(table);
         }
         manners2009.setTableList(tableList);

Copied: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/solver/move/SeatDesignationSwitchMove.java (from rev 26328, labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/solver/move/ExamSwitchMove.java)
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/solver/move/SeatDesignationSwitchMove.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/solver/move/SeatDesignationSwitchMove.java	2009-05-02 11:19:01 UTC (rev 26336)
@@ -0,0 +1,84 @@
+package org.drools.solver.examples.manners2009.solver.move;
+
+import java.util.Arrays;
+import java.util.Collection;
+
+import org.apache.commons.lang.ObjectUtils;
+import org.apache.commons.lang.builder.EqualsBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.drools.WorkingMemory;
+import org.drools.runtime.rule.FactHandle;
+import org.drools.solver.core.localsearch.decider.accepter.tabu.TabuPropertyEnabled;
+import org.drools.solver.core.move.Move;
+import org.drools.solver.examples.itc2007.examination.domain.Exam;
+import org.drools.solver.examples.itc2007.examination.domain.Period;
+import org.drools.solver.examples.itc2007.examination.domain.Room;
+import org.drools.solver.examples.itc2007.examination.solver.move.ExaminationMoveHelper;
+import org.drools.solver.examples.manners2009.domain.SeatDesignation;
+import org.drools.solver.examples.manners2009.domain.Seat;
+
+/**
+ * @author Geoffrey De Smet
+ */
+public class SeatDesignationSwitchMove implements Move, TabuPropertyEnabled {
+
+    private SeatDesignation leftSeatDesignation;
+    private SeatDesignation rightSeatDesignation;
+
+    public SeatDesignationSwitchMove(SeatDesignation leftSeatDesignation, SeatDesignation rightSeatDesignation) {
+        this.leftSeatDesignation = leftSeatDesignation;
+        this.rightSeatDesignation = rightSeatDesignation;
+    }
+
+    public boolean isMoveDoable(WorkingMemory workingMemory) {
+        return !ObjectUtils.equals(leftSeatDesignation.getSeat(), rightSeatDesignation.getSeat());
+    }
+
+    public Move createUndoMove(WorkingMemory workingMemory) {
+        return new SeatDesignationSwitchMove(rightSeatDesignation, leftSeatDesignation);
+    }
+
+    public void doMove(WorkingMemory workingMemory) {
+        Seat oldLeftSeat = leftSeatDesignation.getSeat();
+        Seat oldRightSeat = rightSeatDesignation.getSeat();
+        moveSeat(workingMemory, leftSeatDesignation, oldRightSeat);
+        moveSeat(workingMemory, rightSeatDesignation, oldLeftSeat);
+    }
+
+    // Extract to helper class if other moves are created
+    private static void moveSeat(WorkingMemory workingMemory, SeatDesignation seatDesignation, Seat toSeat) {
+        FactHandle factHandle = workingMemory.getFactHandle(seatDesignation);
+        seatDesignation.setSeat(toSeat);
+        workingMemory.update(factHandle, seatDesignation);
+    }
+
+    public Collection<? extends Object> getTabuProperties() {
+        return Arrays.<SeatDesignation>asList(leftSeatDesignation, rightSeatDesignation);
+    }
+
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        } else if (o instanceof SeatDesignationSwitchMove) {
+            SeatDesignationSwitchMove other = (SeatDesignationSwitchMove) o;
+            return new EqualsBuilder()
+                    .append(leftSeatDesignation, other.leftSeatDesignation)
+                    .append(rightSeatDesignation, other.rightSeatDesignation)
+                    .isEquals();
+        } else {
+            return false;
+        }
+    }
+
+    public int hashCode() {
+        return new HashCodeBuilder()
+                .append(leftSeatDesignation)
+                .append(rightSeatDesignation)
+                .toHashCode();
+    }
+
+    public String toString() {
+        return leftSeatDesignation + " <=> " + rightSeatDesignation;
+    }
+
+}
\ No newline at end of file

Copied: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/swingui/Manners2009Panel.java (from rev 26328, labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/swingui/ExaminationPanel.java)
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/swingui/Manners2009Panel.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/manners2009/swingui/Manners2009Panel.java	2009-05-02 11:19:01 UTC (rev 26336)
@@ -0,0 +1,135 @@
+package org.drools.solver.examples.manners2009.swingui;
+
+import java.awt.Color;
+import java.awt.GridLayout;
+import java.awt.event.ActionEvent;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.swing.AbstractAction;
+import javax.swing.BorderFactory;
+import javax.swing.JButton;
+import javax.swing.JComboBox;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.SwingConstants;
+
+import org.drools.solver.examples.common.swingui.SolutionPanel;
+import org.drools.solver.examples.itc2007.examination.domain.Exam;
+import org.drools.solver.examples.itc2007.examination.domain.Period;
+import org.drools.solver.examples.itc2007.examination.domain.Room;
+import org.drools.solver.examples.itc2007.examination.solver.move.PeriodChangeMove;
+import org.drools.solver.examples.itc2007.examination.solver.move.RoomChangeMove;
+import org.drools.solver.examples.manners2009.domain.Manners2009;
+import org.drools.solver.examples.manners2009.domain.Table;
+import org.drools.solver.examples.manners2009.domain.Seat;
+import org.drools.solver.examples.manners2009.domain.SeatDesignation;
+import org.drools.solver.examples.manners2009.solver.move.SeatDesignationSwitchMove;
+
+/**
+ * @author Geoffrey De Smet
+ */
+public class Manners2009Panel extends SolutionPanel {
+
+    private GridLayout gridLayout;
+
+    public Manners2009Panel() {
+        gridLayout = new GridLayout(0, 1);
+        setLayout(gridLayout);
+    }
+
+    private Manners2009 getManners2009() {
+        return (Manners2009) solutionBusiness.getSolution();
+    }
+
+    public void resetPanel() {
+        removeAll();
+        Manners2009 manners2009 = getManners2009();
+        gridLayout.setColumns((int) Math.ceil(Math.sqrt(manners2009.getTableList().size())));
+        Map<Table, JPanel> tablePanelMap = new HashMap<Table, JPanel>(manners2009.getTableList().size());
+        Map<Seat, SeatPanel> seatPanelMap = new HashMap<Seat, SeatPanel>(manners2009.getSeatList().size());
+        for (Table table : manners2009.getTableList()) {
+            // Formula: 4(columns - 1) = tableSize
+            int edgeLength = (int) Math.ceil(((double) (table.getSeatList().size() + 4)) / 4.0);
+            JPanel tablePanel = new JPanel(new GridLayout(0, edgeLength));
+            tablePanel.setBorder(BorderFactory.createTitledBorder("Table " + table.getTableIndex()));
+            add(tablePanel);
+            tablePanelMap.put(table, tablePanel);
+            for (int y = 0; y < edgeLength; y++) {
+                for (int x = 0; x < edgeLength; x++) {
+                    int index;
+                    if (y == 0) {
+                        index = x;
+                    } else if (x == (edgeLength - 1)) {
+                        index = (edgeLength - 1) + y;
+                    } else if (y == (edgeLength - 1)) {
+                        index = 2 * (edgeLength - 1) + (edgeLength - 1 - x);
+                    } else if (x == 0) {
+                        index = 3 * (edgeLength - 1) + (edgeLength - 1 - y);
+                    } else {
+                        index = Integer.MAX_VALUE;
+                    }
+                    if (index < table.getSeatList().size()) {
+                        Seat seat = table.getSeatList().get(index);
+                        SeatPanel seatPanel = new SeatPanel(seat);
+                        tablePanel.add(seatPanel);
+                        seatPanelMap.put(seat, seatPanel);
+                    } else {
+                        tablePanel.add(new JPanel());
+                    }
+                }
+            }
+        }
+        if (manners2009.isInitialized()) {
+            for (SeatDesignation seatDesignation : manners2009.getSeatDesignationList()) {
+                SeatPanel seatPanel = seatPanelMap.get(seatDesignation.getSeat());
+                seatPanel.addSeatDesignation(seatDesignation);
+            }
+        }
+    }
+
+    private class SeatPanel extends JPanel {
+
+        public SeatPanel(Seat seat) {
+            super(new GridLayout(0, 1));
+            setBorder(BorderFactory.createCompoundBorder(
+                    BorderFactory.createLineBorder(Color.DARK_GRAY),
+                    BorderFactory.createEmptyBorder(2, 2, 2, 2)));
+            JLabel seatLabel = new JLabel(Integer.toString(seat.getSeatIndexInTable()), SwingConstants.CENTER);
+            add(seatLabel);
+        }
+
+        public void addSeatDesignation(SeatDesignation seatDesignation) {
+            JButton button = new JButton(new SeatDesignationAction(seatDesignation));
+            add(button);
+        }
+
+    }
+
+    private class SeatDesignationAction extends AbstractAction {
+
+        private SeatDesignation seatDesignation;
+
+        public SeatDesignationAction(SeatDesignation seatDesignation) {
+            super(seatDesignation.toString());
+            this.seatDesignation = seatDesignation;
+        }
+
+        public void actionPerformed(ActionEvent e) {
+            List<SeatDesignation> seatDesignationList = getManners2009().getSeatDesignationList();
+            JComboBox seatDesignationListField = new JComboBox(seatDesignationList.toArray());
+            seatDesignationListField.setSelectedItem(seatDesignation);
+            int result = JOptionPane.showConfirmDialog(Manners2009Panel.this.getRootPane(), seatDesignationListField,
+                    "Select seat designation to switch with", JOptionPane.OK_CANCEL_OPTION);
+            if (result == JOptionPane.OK_OPTION) {
+                SeatDesignation switchSeatDesignation = (SeatDesignation) seatDesignationListField.getSelectedItem();
+                solutionBusiness.doMove(new SeatDesignationSwitchMove(seatDesignation, switchSeatDesignation));
+                workflowFrame.updateScreen();
+            }
+        }
+
+    }
+
+}
\ No newline at end of file

Copied: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/manners2009/solver/manners2009ScoreRules.drl (from rev 26328, labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/nqueens/solver/nQueensScoreRules.drl)
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/manners2009/solver/manners2009ScoreRules.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/manners2009/solver/manners2009ScoreRules.drl	2009-05-02 11:19:01 UTC (rev 26336)
@@ -0,0 +1,79 @@
+package org.drools.solver.examples.nqueens.solver;
+
+import org.drools.solver.core.score.calculator.SimpleScoreCalculator;
+import org.drools.solver.core.score.constraint.UnweightedConstraintOccurrence;
+import org.drools.solver.core.score.constraint.ConstraintType;
+
+import org.drools.solver.examples.manners2009.domain.Gender;
+import org.drools.solver.examples.manners2009.domain.Guest;
+import org.drools.solver.examples.manners2009.domain.Hobby;
+import org.drools.solver.examples.manners2009.domain.HobbyPractician;
+import org.drools.solver.examples.manners2009.domain.Job;
+import org.drools.solver.examples.manners2009.domain.JobType;
+import org.drools.solver.examples.manners2009.domain.Manners2009;
+import org.drools.solver.examples.manners2009.domain.Seat;
+import org.drools.solver.examples.manners2009.domain.SeatDesignation;
+import org.drools.solver.examples.manners2009.domain.Table;
+
+global SimpleScoreCalculator scoreCalculator;
+
+// ############################################################################
+// Hard constraints
+// ############################################################################
+
+// Maintain a boy-girl-boy-girl seating arrangement is obsolete because it's build into the moves
+
+// 1 democrat
+rule "oneDemocratPoliticianPerTable"
+    when
+        $job : Job(jobType == JobType.POLITICIAN, name == "Democrat");
+        $table : Table();
+        not SeatDesignation(guestJob == $job, seatTable == $table);
+    then
+        insertLogical(new UnweightedConstraintOccurrence("oneDemocratPoliticianPerTable",
+                $table));
+end
+
+// 1 republican
+rule "oneRepublicanPoliticianPerTable"
+    when
+        $job : Job(jobType == JobType.POLITICIAN, name == "Republican");
+        $table : Table();
+        not SeatDesignation(guestJob == $job, seatTable == $table);
+    then
+        insertLogical(new UnweightedConstraintOccurrence("oneRepublicanPoliticianPerTable",
+                $table));
+end
+
+// 2 doctors at each table but NOT two of the same kind
+// 2 socialites at each table
+// 2 sports stars at each table but NOT two of the same kind
+// 2 teachers at each table
+// 2 programmers at each table but NOT two of the same kind
+
+
+// Each person MUST have someone (left or right) who has the same hobby.
+//rule "leftOrRightHasHobbyInCommon"
+//    when
+//        $leftSeat : Seat();
+//        $rightSeat : Seat(leftSeat == $leftSeat);
+//        $leftDesignation : SeatDesignation($leftGuest : guest, seat == $leftSeat);
+//        $rightDesignation : SeatDesignation($rightGuest : guest, seat == $rightSeat);
+//        HobbyPractician(guest == $leftGuest, $leftHobby : hobby);
+//        not HobbyPractician(guest == $rightGuest, hobby == leftHobby);
+// TODO this is bugged because they have to have every hobby in common and both and right seat have to
+//    then
+//        insertLogical(new UnweightedConstraintOccurrence("leftOrRightHasHobbyInCommon",
+//                $leftDesignation, $rightDesignation));
+//end
+
+
+rule "hardConstraintsBroken"
+    when
+        $occurrenceCount : Number() from accumulate(
+            $unweightedConstraintOccurrence : UnweightedConstraintOccurrence(),
+            count($unweightedConstraintOccurrence)
+        );
+    then
+        scoreCalculator.setScore(- $occurrenceCount.intValue());
+end

Copied: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/manners2009/solver/manners2009SolverConfig.xml (from rev 26328, labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/nqueens/solver/nqueensSolverConfig.xml)
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/manners2009/solver/manners2009SolverConfig.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/manners2009/solver/manners2009SolverConfig.xml	2009-05-02 11:19:01 UTC (rev 26336)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<localSearchSolver>
+    <scoreDrl>/org/drools/solver/examples/manners2009/solver/manners2009ScoreRules.drl</scoreDrl>
+    <scoreDefinition>
+        <scoreDefinitionType>SIMPLE</scoreDefinitionType>
+    </scoreDefinition>
+    <finish>
+        <finishCompositionStyle>OR</finishCompositionStyle>
+        <maximumMinutesSpend>5</maximumMinutesSpend>
+        <feasableScore>0</feasableScore>
+    </finish>
+    <selector>
+        <moveFactoryClass>org.drools.solver.examples.nqueens.solver.move.factory.NQueensMoveFactory</moveFactoryClass>
+    </selector>
+    <accepter>
+        <completeSolutionTabuSize>1000</completeSolutionTabuSize>
+    </accepter>
+    <forager>
+        <foragerType>MAX_SCORE_OF_ALL</foragerType>
+        <!--<foragerType>FIRST_BEST_SCORE_IMPROVING</foragerType>-->
+    </forager>
+</localSearchSolver>




More information about the jboss-svn-commits mailing list