These weeks we've been working on improving our tables optimization engine. Specifically, we've enabled the engine to add or remove tables as part of the optimization steps.

The previous version started with a random composition of tables (taking into account the availabilities) and swapped, shifted, or redistributed guests within that initial set of tables. That forced us to create several simulations, hoping that one will get the right number of tables and provide a good result (1/n)

#FOSS

In the new implementation, we consider add/remove tables as part of the optimization steps. As a result, no matter the initial number of tables, multiple independent simulations tend to converge to the same table setup.

This is the cornerstone of future improvements that will come: since we no longer need to launch multiple executions, we will be able to have just one (the!) simulation, and apply subsequent optimizations as guests fill the RSVP form.

#FOSS #OpenSource #WeddingPlanner