I'm getting married, and arranging people at tables may get np-difficult!
OptaPlanner is an amazing piece of Open Source JBoss software that I wanted to try, and a wedding is obviously an optimization, np-complete problem ;-) In fact this' been a straightforward application.
You can set knows, love and hates relationships between your guests, and enter your table sizes.
Running WeddingTablesPlanner.plan()
with a custom DiningConfiguration
will return an optimized one, keeping loving people together,
hated people separated, and as many known people together as possible. It also minimizes the amount of tables used.
Fork the project and implement your own DiningConfigurationGenerator
with your guests and tables.
Grab Wedding Tables Planner web project, run it and enjoy its AngularJS web interface.