Automatic layout

PerfectTablePlan will do an automatic seat assignment if you select File| Automatic layout or the equivalent Main tool bar button.

The automatic layout will attempt to:

Note that the automatic layout may try to put 2 'near to' proximity guests next to each other if no 'next to' proximity guests are available.

It does this by assigning a score to each layout and using a genetic algorithm to try to find the highest scoring layout. you can check you have enough seats by looking at the Status bar.

You can run File| Automatic layout as often as you like. Click on the Stop button at any time during calculation to keep the best (highest scoring) layout so far. Select Edit| Undo to go back to the previous layout.

Note Guests who have been locked by you will not be (re)assigned by the automatic layout.

Scoring

A layout is scored as follows:

Criterion

Score

Next to proximity guests next to each other

+20

Near to proximity guests next to each other

+5

Not next to proximity guests next to each other

-10

Not near to proximity guests next to each other

-40

Next to proximity guests on same table

+10

Near to proximity guests on same table

+2

Not next to proximity guests on same table

-5

Not near to proximity guests on same table

-20

Male next to female

+2 (0 if you have disabled this in the Preferences window)

VIP guest assigned to VIP table

+10

VIP guest not assigned to VIP table (if there is one)

-10

Guest with no-one sat next to them

-9

In addition VIP scores are multiplied by 3.

The scoring simply takes account of whether guests are sat next to or on the same table as other guests. It doesn't allow for whether the guests might be able to see each other or be within talking distance. This simplification allows the genetic algorithm to search the vast space of possible solutions reasonably quickly. You may have to tweak the automatic layout a little 'by hand' to get the best possible result. For example you might have to move/rotate tables so that people who don't like each other aren't sat back to back. However you should find that the automatic layout will be quite close to ideal, and this will save you a great deal of time.

Time

You can set the stopping criteria for the automatic layout in the Preferences window. The following are example automatic layout times on a 2GHz Pentium PC where the layout stopped after 10 attempts without improvement.

Number of guests

Automatic layout time

50

3 seconds

100

10 seconds

200

21 seconds

400

97 seconds

The automatic layout time goes up rapidly with the number of guests. This is in the nature of combinatorial problems.

The longer the automatic layout is run, generally the better it will be. If you have 200+ guests or a very slow computer it might be worth running it for an hour, or even overnight, to get the best layout. Select Edit| Preferences and on the Auto layout tab click on seconds and set an appropriate number of seconds (1 hour = 3600 seconds). Then select File| Automatic layout.

Note You won't be able to do much else on your computer while the automatic layout is running, as it will try to use all the power of the processor.

Next: Genetic algorithm >>