Automatic assignment by guest proximity

<< Click to Display Table of Contents >>

Navigation:  Reference > Seat assignment >

Automatic assignment by guest proximity

If you have set Auto assign seats to according to guest proximity in the the Auto assign tab of the prefs_16Preferences window, then PerfectTablePlan will try to automatically assign guests to seats according to their proximities. This is useful when trying to seat particular groups of people together.

Assign guests

It will attempt to:

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

not leave empty seats between guests (depending on your choice for social distancing in the prefs_16Preferences window)

alternate males and females (depending on your choice for alternate males and females in the prefs_16Preferences window)

seat guests opposite or next to each other on narrow (e.g. banquet and E-shaped) tables (depending on your choice for On narrow tables prefer near to/next to guests seated in the prefs_16Preferences window)

seat males to the left/right of females (depending on your choice for Prefer next to guests seated 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 or have the wrong RSVP status (depending on the Allow seat assignment with RSVP settings in the prefs_16Preferences window) will not be (re)assigned by 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.

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.

Table assignment order

The order in which guests are assigned to tables/rows is set in the Auto assign tab of the prefs_16Preferences window:

Set in any order to try filling the tables in different orders. This gives the automatic seat assignment the best chance to maximize the score, so is usually recommended.

Set in the order shown in the Schematic pane to fill tables in the order shown in the schematic_16Schematic pane. You can change this order.

Scoring

A plan is scored as follows:

Criterion

Score

heart_16 Next to proximity guests on adjacent seats to each other [1]

+20 [2]

smile_16 Near to proximity guests on adjacent seats to each other [1]

+5 [2]

sad_16 Not Next to proximity guests on adjacent seats to each other [1]

-10 [2]

skull_16 Not Near to proximity guests on adjacent seats to each other [1]

-40 [2]

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 [3]

+2

smile_16 Near to proximity guests on adjacent tables [3]

+1

sad_16 Not Next to proximity guests on adjacent tables [3]

-2

skull_16 Not Near to proximity guests on adjacent tables [3]

-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 [4]

heart_16 Next to proximity male to right/left of female

+3 [5]

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

Guests from different groups on adjacent seats to each other [1]

-30 [6]

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

-100

[1] 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.

[2] 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.

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

[4] 0 if alternate males and females is unchecked in the prefs_16Preferences window.

[5] Depending on the setting of Prefer next to guests seated in the prefs_16Preferences window.

[6] 0 if social distancing is unchecked 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 The auto assignment will only run on 1 'core' of your computer CPU, so you should still be able to do other things while it is running.

Checking seat assignment by proximity

You can check how good your seat assignment by proximity is using the proximity buttons in the floor_plan_16Floor plan pane. For example:

Hold down the heart_16 button to show all guests that should be sitting next to each other.

Hold down the thunderbolt_16 and critical_issues_16 buttons to show potential and critical seating issues, e.g. guests that should be sitting next to each other that aren't.

automatic seat assignment

You can also see non-optimally seated guests in the Troubleshooting report in the stats_16Report pane.

See also:

videoAssign guests to seats (video with audio, 13:01 minutes)

Improve the auto seat assignment