Running Dinner Planner

Penalties

The information banner

As with all screens, a context-dependent information banner is located at the top of the screen. It features a “back to previous screen” button on the left, and a button for context-dependent help on the right

General

The Planner app uses various mathematical techniques to find the most optimal Seating Arrangement within the constraints provided by the user. These constraints come in the form of, for example, the number of Courses to be served, preferences for certain Houses to cater certain Courses, the number of Hosts required to be present when a House serves a Course, the maximum capacity of any given House in terms of room and number of Courses it’s willing to cater, the existence of so-called “Special Relations” between certain individuals (e.g., living at the same address). Moreover, it’s possible to force the Planner to only seek solutions where specific Houses are catering  specific Courses, and where specific Participants are “pinned” to a specific Table in a specific Course


The ‘most optimal’ seating arrangement (aka ‘solution’, aka ‘configuration’) is defined in terms of the overall penalty it receives due to, for example, Participants meeting more than once, Houses not serving their preferred Course, unbalanced male/female ratio at Tables, etc. In this screen, the value of these individual penalties can be changed by the user so as to steer the operation of the Planner in a desired direction. It should be noted that this is an advanced feature that should be handled with care. 


The Penalty structure screen consists of two screens: 

  • The bottom part lists the individual penalty factors, all of which can be changed by the user
  • The top part features a number of sliders that, when changed, affect various multi-meet penalties listed in the bottom section

The number of penalty categories in the bottom part, as well as the number of sliders in the top part, depend on how many Special Relations, Courses, and Timeframes have been defined. For example, 


Penalties generally fall into 4 categories, all of which have their separate section (demarcated by red lines) in the bottom part of the screen:

  • Penalties associated with Courses (e.g., unbalanced number of Participants-per-Table)
  • Penalties associated with Tables (e.g., unbalanced gender ratio)
  • Penalties associated with Houses (e.g, Houses not serving their preferred Course)
  • Penalties associated with “multi-meets”

Typically, the last category is considered to be the most important, and hence have the largest values. Note that the Penalty viewer offers an instantaneous evaluation of how “good” a configuration is, i.e., how large the total penalty is.


There are, as stated, two ways for adjusting the penalty values:

  • by using the sliders to affect multiple penalty values at once
  • by inputting individual numbers for each penalty, either in the screen’s input boxes, or by CSV



Top part: penalty base-sliders

Since the number of possible ‘multi-meet’ penalty values increases with the number of Courses, Special Relations, and Timeframes, the top part of this screen offers so-called ‘base-sliders’ that can be used to change the values of the various multi-meets. After all, for the case of 3 Courses the Participants could meet up to 3 times, and the penalty for each of those meetings should be different (it might seem unnecessary to define a penalty for a ‘single-meet’, but it should be realised that even a single-meet between couples with a certain Special Relation might be undesirable, and should hence carry a penalty). If different Timeframes are allowed, such single-, double- or triple-meets should be subdivided into when all or some of them take place - warranting different penalty values for each combination. 


The effect these sliders have on the values of the penalties can be inspected by scrolling to the relevant penalty values in the bottom of the screen, and then adjusting the relevant slider in the top part.vThe topmost of these base-sliders concerns the ‘simplest multimeet’ (no Special Relation, no differing Timeframes). 


Below the multi-meet slider, various sliders for Special Relation penalties are shown - one for each Special Relation. These are the same sliders that are shown in the  Special Relations.

Finally, the top part of the screen displays a  slider for each Timeframe involved in the planning. These are the same sliders that can be accessed in the  Courses definition screen.

For all sliders a colour coding designates what the effect of the slider is, and a description of this effect is shown under the slider - the chosen position of the slider dictates to what extent these descriptions are mixed.

Bottom part: individual penalty values

The first controls in the bottom part of the screen are a button with which to populate the various penalty fields with values by way of CSV. The second is a button that resets all the penalty values to their default as well as the slider values in the top part.

Up next are the penalty values associate with Courses, Tables, and Houses. At the app’s first release there is only one type of penalty associated with each of those - their description is visible in this part of the screen. Since (avoiding) Participants meeting multiple times is typically the most important factor in determining what constitutes a ‘good’ seating arrangement, the values for these penalties are lower than the penalty values for Participants meeting more than once.

Arguably the most important penalties - those for multi-meets - are listed at the bottom the screen. There is one set of penalties for multi-meets involving any of the Special Relations defined in step 3. When multiple Timeframes are involved, each of these sets is subdivided in when these multi-meets take place. For example, with 3 Courses and 2 Timeframes involved (2 Courses to be served ‘now’, and 1 Course served ‘last year’), there are 9 ways in which two Participants can meet each other: 

  • Meeting once:  now, or last year
  • Meeting twice: 2 times now, 2 times last year, 1 time now & 1  time last year
  • Meeting three times: 3 times now, 2 times now & 1 time last year, 1 time now & 2 times last year, or 3 times last year

Each possibility can carry its own penalty.

Note that penalty viewer on the Planning screen can be used to inspect the contribution of each of these penalties to the overall penalty a configuration receives, by clicking on the relevant blue fields.


It should be clear that the number of penalties increases with each extra Special Relation and each additional Course, but can really explode when more Timeframes are involved. This not only increases computation times, but can in fact cause crashes - this is one of the reasons the Timeframe functionality is considered Beta-functionality, and should be handled with care.