Automatic assignment

<< Click to Display Table of Contents >>

Navigation:  PerfectTablePlan 5.3.4 > Reference > Seat assignment >

Automatic assignment

PerfectTablePlan will do an automatic seat assignment if you select File>wand_16Auto Assign Seats or the equivalent Main tool bar button.

Unless you have set it to assign seats randomly (in the prefs_16Preferences window) the automatic assignment will attempt to:

put people near to or not near to each other, according to your settings in the heart_16Proximity pane

not leave people on their own

alternate males and females (unless you have unselected this in the prefs_16Preferences window)

seat guests opposite each other on narrow (e.g. banquet and E-shaped) tables (unless you have chosen to place them left/right of each other in the prefs_16Preferences window)

assign VIP guests to VIP tables

prioritise VIP guests

It does this by assigning a score to each plan and using a genetic algorithm to try to find the highest scoring plan. The higher the score, the better the seating fulfils the proximities you have defined.

You can run File>wand_16Auto Assign Seats as often as you like. Each new run will attempt to improve on the previous one. Click on the Stop button at any time during calculation to keep the best (highest scoring) plan so far. Select Edit>undo_16Undo to go back to the previous plan.

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

Professional edition only

You can also set proximity using custom fields. For example, you can set all guests (not) to sit next to other people in the same company.

You can check you have enough seats by looking at the Status bar.

Note The automatic assignment may try to put 2 'near to' proximity guests next to each other if no 'next to' proximity guests are available.

Scoring

A plan is scored as follows:

Criterion

Score

heart_16 Next to proximity guests on adjacent seats* to each other

+20**

smile_16 Near to proximity guests on adjacent seats* to each other

+5**

sad_16 Not Next to proximity guests on adjacent seats* to each other

-10**

skull_16 Not Near to proximity guests on adjacent seats* to each other

-40**

heart_16 Next to proximity guests on same table (or same section of an E-shaped table)

+10

smile_16 Near to proximity guests on same table (or same section of an E-shaped table)

+2

sad_16 Not Next to proximity guests on same table (or same section of an E-shaped table)

-5

skull_16 Not Near to proximity guests on same table (or same section of an E-shaped table)

-20

heart_16 Next to proximity guests on adjacent tables***

+2

smile_16 Near to proximity guests on adjacent tables***

+1

sad_16 Not Next to proximity guests on adjacent tables***

-2

skull_16 Not Near to proximity guests on adjacent tables***

-4

Guest with at least one heart_16 or smile_16 proximity, but none next to

-10

Guest with at least one heart_16 or smile_16 proximity, but none on the same table (or same section of an E-shaped table)

-20

Male next to female

+2****

star_16 VIP guest assigned to VIP table

+10

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

-10

Guest with no-one sat next to them

-9

Guest next to one empty seat

-3

Guest not assigned a seat (apart from locked guests and guests who aren't seated due to their RSVP status)

-100

* 2 seats are considered adjacent if they next to (left/right) of each other or if they are directly opposite each other and less than 2 metres (approx 6 feet) apart.

** May be only 75% of this on narrow tables depending on the setting of On narrow tables prefer near to/next to guests seated in the prefs_16Preferences window.

*** 2 tables are considered adjacent if their centres are within 5m/15ft of each other.

**** 0 if you have unchecked alternate males and females in the prefs_16Preferences window.

In addition star_16 VIP guests have their scores multiplied by 3.

Once all the scores have been totalled a 'smoothing' function is applied to moderate the more extreme guest scores. The smoothing function spreads the happiness around - avoiding the situation where the best score is one with a few deliriously happy guests and lots of slightly miserable ones!

The scoring only takes account of whether guests are seated next to each other, on the same table (or the same section of an E-shaped table) or on adjacent tables. It doesn't allow for whether the guests might be able to see each other or are 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 assignment 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 assignment 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 assignment in the prefs_16Preferences window. The automatic assignment time goes up rapidly with the number of guests. This is in the nature of combinatorial problems.

The longer the automatic assignment is run, generally the better it will be. Select Edit>prefs_16Preferences and on the Auto assignment tab click on seconds and set an appropriate number of seconds (1 hour = 3600 seconds). Then select File>wand_16Auto Assign Seats.

Note If you have a single core/processor PC you won't be able to do much else on your computer while the automatic assignment is running, as it will try to use all the power of the processor.

See also:

Improve the auto seat assignment