Running Dinner Planner

Workflow

The Running Dinner Planner uses various mathematical techniques to create a balanced seating arrangement where both Houses and Participants are divided as equally as possible between the various Courses and Tables. The primary target is to avoid people meeting each other more than once. This often turns out to be a difficult and time-consuming task. In fact, it is mathematically known that it is sometimes impossible (see FAQ). The app searches the solution space in a pseudo-random manner, starting both from a situation where no Houses and no Participants have been assigned, as well as from a point where enough pseudo-Participants and pseudo-Houses have been added such as to make an ‘ideal’ solution possible where no two people meet each other twice. In both approaches, the app calculates solutions honouring any preset input the user cares to give - these are called ‘current’ solutions and are, marked with an asterisk (*). It however also creates solutions where no user input is taken into account - these are dubbed ‘virgin’ solutions.


The problem becomes even more involved when demands such as a balanced M/F ratio at any Table, Houses being assigned their preferred Course to serve, and the need for certain individuals to not be seated together are taken into the equation.


In its search for the best solution, the app assigns a Penalty to any arrangement it finds, based on which of these (often conflicting) demands are met and to what extent. The arrangement with the lowest penalty is often the most desirable one ( though the ultimate choice as to which is the best is of course left to the user). The penalties associated with each demand are crucial in steering the app towards the desired result. These can be adjusted manually but, in a typical case, the default values work fine. The user is therefore not encouraged to change these values - but it is possible to do so.


In order to accomplish its task the Planner app needs, at a minimum, the names of the Participants and the addresses of the Houses where they live. This data can be inputted into the system by way of the dark-blue buttons shown in the main workflow. Use of the  light-blue buttons is optional, and can be used to change default values such as the number of Courses involved, any preferences certain Houses have to cater a certain Course, any ‘should not be seated next to each other’ relations between Participants, etc. 


In summary: almost all parameters can be inputted by the user, but for most cases only the dark-blue buttons need to be used to provide the minimum input.

Mandatory: start your planning here. 

Press this button to start with an empty dataset. 

Optional. Default: 25 Persons, 25 Houses, 5 Courses. 

Use this button to load 1 of 3 available demo datasets. By force-pressing the button, the user can choose between: 

    1) 25 persons, 25 houses, 5 courses, 1 SpecialRelation

    2) 50 persons, 25 houses, 3 courses, 2 SpecialRelations

    3) 35 persons, 19 houses, 3 courses, 1 SpecialRelation

Mandatory: this data is required.

Use this button to define which Participants and which Houses take part in the Running Dinner.  At minimum, unique names and unique addresses should be input. Every House can have multiple Participants. Although not required, it is possible to input Gender, e-mail, dietary requirements, and short Names and Addresses.

Click the button for more info.

Optional. Default: Course 1, 2 & 3.

Use this button to define how many Courses should be served and what they should be called, and how many Hosts should ideally be present (default: 1) when serving a Course.

Click the button for more info.

Optional. Default: Housemate.

Use this button to define what kind of “Special Relations” can exist between Participants, such as “Avoid meeting…”, etc. 

Further down in the workflow, these Relations can be used to define which Participant-couples the Planner should try to avoid (or promote) putting together at the same table.

Click the button for more info.

Optional. Default: all Courses & Participants.

Use this button to specify any maximum seating capacity and or how any Courses a particular House is willing to serve.

Click the button for more info.

Optional. Default: any House can serve any Course

Use this button to specify any preferences any of the Houses have to serve, or not serve, a specific Course.

Click the button for more info.

Optional. Default: every occupant is a host

Use this button to specify which of the Participants living at an Address should be considered to be a Host who must be present when that House serves a Course.

Click the button for more info.

Optional. Default: no comment

Use this button to specify any Comments that should be passed to the Hosts (e.g., dietary requirements.

Click the button for more info.

Optional. Default: no participants have any Special Relation

Use this button to specify whether any Special Relation exists between any two participants.

Click the button for more info.

Mandatory: freeze input and plan,
                     or change input

When all required data has been entered into the system (at minimum: Participants and Houses), a seating arrangement can be created. To this end, press the Go button to freeze the input and enable the Graphical Planning functionality accessible through the buttons at the bottom of the screen.

When the input needs to be changed, for example because some Participants, Houses and/or Courses need to be added or removed, the Change input needs to be pressed. Note that this will void all results calculated thus far.

Click the button for more info.

Optional. Default: default penalties

The Planner uses a ‘penalty’ system to gauge the quality of a seating arrangement. Found arrangements are evaluated based on the penalties associated with, for example, participants that meet more than once, houses not serving their preferred dish, unbalanced male/female ratio at tables, etc. The value of these penalties can be changed by the user so as to steer the operation of the Planner in a desired direction. This is an advanced feature that should be handled with care.

Click the button for more info.

Mandatory. Plan a seating arrangement

After finalising the input, use this button to go into the graphical planning module. Here, Houses can assigned to Courses and Participants to Houses (all represented by circles)  in an intuitive, interactive and graphical manner.

Make your own plan, or select one of the ten seating arrangement solutions as optimised by our algorithms.

Click the button for more info.

Optional. Default: template guest/host invitations

When a suitable seating arrangement has been found, press this button to start generating custom-designed and personalised invitations for both Participants as well as Hosts. This functionality also creates a plain-text description of the seating arrangement.

Click the button for more info.

Optional. Screen-specific info.

This button is present on every screen. Press it to find out more on how to operate the controls on the screen.

Click the button for more info.

Optional. Settings.

Press this button to enter the Settings screen, for advanced options.

Click the button for more info.