Live data from Hacker News

Show HN: Better Seater – Wedding seating chart optimizer

seater.steam-oven.net

71–80 of 108 posts

Re: Show HN: Better Seater – Wedding seating chart optimizer

#71

Do you account for not putting right handed people to the right of left handed people? But then maybe you do, if you want to play match maker. So many (imagined) social conditions here. Like A likes B, but B hates A. C and D should meet. E and F are a couple, but F and G broke up in college so it's awkward. H and I are divorced but still on good terms so it's OK. etc.

>Do you account for not putting right handed people to the right of left handed people?

How do you do that on a circular table? Or are you suggesting some sort of handness aparatheid, with all the lefties on one table?

Re: Show HN: Better Seater – Wedding seating chart optimizer

#72
post #4

Isn't "Keep people either together or apart" an NP-Hard problem, and basically unsolvable for more than a couple preferences?

>Isn't "Keep people either together or apart" an NP-Hard problem,

Yes.

>and basically unsolvable for more than a couple preferences?

Our PerfectTablePlan table planner can optimize seating for thousands of guests with thousands of preference constraints (between individuals and groups) on a standard desktop PC/Mac. It uses a genetic algorithm to quickly produce a 'good enough' (but not guaranteed to be optimal) solution. For seating plans it isn't really clear what the optimum is anyway. It is more important that than Bob sits next to Jill or not next to Jack or not next to an empty seats? Debatable.

Re: Show HN: Better Seater – Wedding seating chart optimizer

#73
post #65

Pitching in as yet another dev who also thought of implementing this :) There were just too many constraints for it to be feasible as a web app in our case. Examples of some of those constraints that make it difficult: * different table sizes, each with a min. and max. seats * every table has a "head of table", which has to face the bridal couple * we preferred couples/genders were mixed at every table, not sitting n…

Thanks for the insights! At the moment, the app is targeted at "table level" rather than "seat level".

This already has different table sizes.

There's already a way to mark who should/not sit together

For location, I'm thinking of adding a draggable UI to put tables in relative places. But at first, I don't want to make this too complex for people to use.

Also, thinking of adding attributes to both groups and tables to get people to what they need (bathrooms, dance floor etc).

There's definitely already lots of apps/sites that let people do the pretty stuff, but they seem really manual at the moment.

Let me know if you have any more thoughts! Thanks for looking!

Re: Show HN: Better Seater – Wedding seating chart optimizer

#74
post #18

Earlier quoted context omitted.

It's probably an optimization problem with multiple parameters so you're never looking for an exact solution. But as the NP-hardness of that problem goes: Say you have 400 guests on 50 tables and you probably expect multiple solutions, you're looking at maybe 20K variables in a SAT encoding. That's an industrial scale SAT problem but very much not untractable. The question is, whether we would usually expect a number…

I had to write a piece of code to manage 200+ dogs at a kenneling facility, sorted by temperament, across a Gantt chart, with lists of friends and enemies which could stay together or must never be together - coming and going at different times. Additionally, dogs and kennels are both color-coded and certain types of dogs can only stay in certain types of kennels. Some dogs cannot share a kennel at all; kennels have…

That sounds amazingly high tech for a kenneling facility. How did you do the optimization - usign an off-the-shelf solver?

Re: Show HN: Better Seater – Wedding seating chart optimizer

#75
post #67
post #66

Super cool! Built something similar a few years back to assign kids to boats on a sailing camp using Google's OR Tools. Don't recommend OR Tools, solver was super slow vs cplex but didn't find any good OS solver. I used two objectives in my objective function to ensure someone didn't get left out, probably need to do something similar for the prioritization in the roadmap? https://github.com/jonasmalm/lakritsrot

Yea, I went with Optaplanner, which is definitely more "user friendly". Prioritization of parties is on the roadmap, related to table ranking. Were you thinking of prioritization in a different manner? How were you thinking about "someone getting left out"? Thanks for the thoughts!

Do any of you happen to have any thoughts wrgds to OR-tools vs optaplanner? I've been trying to use OR-tools for a vehicle routing problem (with lots of constraints) and found it is really bad at finding solutions in our case, and it has only auto-gen documentation more or less, very sparse set of examples and a single dev supporting on the forums it seems (still thankful for that it's open source and HAS some support!).

Re: Show HN: Better Seater – Wedding seating chart optimizer

#77
post #34
post #22

I tried writing one of these about 10 years ago and failed miserably. It was a generalized banquet hall/dinner/wedding seating chart. The one that I was looking to write involved the following specs: - friends and +1s sit together - guests could sign up as a "group" (Tom's group) and sit together - cluster people from the same area, or not even close to the same area - some guests need to be prioritized as close to t…

I'm wondering if a constraint solving library like optaplanner could help here - believe it uses simulated annealing. Hey, maybe a use case for Dwave? j/k.

Trivia: The first major public demonstration of D-Wave used a modified version of our PerfectTablePlan table planner software to show how D-Wave could solve a real world optimization problem. https://www.perfecttableplan.com/newsletters/newsletter10_we...

Re: Show HN: Better Seater – Wedding seating chart optimizer

#78
post #64
post #42

My wife and i just went through this for our wedding. A few remarks from that experience that might be helpful: 1. Versions matter - she'd often make a draft and want to tell me "ok tell me if you like this better than the previous version". Id just compare the cells above to the cells below. 2. We organized people based on common interests - these people are very into music, these are very into home renovations, the…

As someone who organized very popular parties back in my teenage years: Whatever you optimize for, don't overdo it. Good social events are all about the right mixture between familar/safe and the unknown/dangerous. Match people too closely and you will bore people, I am not saying you should seat people randomly, but also consider which interests might add to each other.

> I am not saying you should seat people randomly

With the exception of people who would throw hands at each other, this actually doesn't seem like an awful idea.

Re: Show HN: Better Seater – Wedding seating chart optimizer

#79
We had a few constraints based on table location:

Person notorious to get drunk was out of sight of the bar.

Person with medical problem close to the toilets.

Young nephew prone to pick candy from jar was diagonally seated to a candy jar, because the whole family loves to see al the strange ploys he came up with to 'randomly' pass the jar and take a candy. Yes we love him :-)

We also seated groups according to preferred language as a secondary constraint, so we had Dutch/French/German/English corners of the room.

Re: Show HN: Better Seater – Wedding seating chart optimizer

#80
Genuine question - why assign seats at all? In my country (weddings with 200+ people are the norm) people sit wherever they want. In the US, you wouldn't assign seating at a house party (right?), so why do that for a wedding, since a wedding is after all just a more expensive party?
Post reply on HN