Live data from Hacker News

Show HN: Better Seater – Wedding seating chart optimizer

seater.steam-oven.net

11–20 of 108 posts

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

#13
Clever idea! I'm planning mine for April, but having trouble understanding how to use this tool. In your default data, Liam is listed as a couple but when you drag to a table it says "1/4". Should that be 2/4? How do I change number of tables and how many at each table? How do I create the "tags"?

The other thing not intuitive is that I was dragging people over to the tables instead of using the 'optimize' button. Which kinda defeats the point. But I figured that out eventually.

I will say, my family lacks drama so it's not so much I need to keep certain people away from each other as I just want to figure out who might want to talk the most to who.

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

#14
post #12

A fun problem to attempt. I bet there are a lot more parameters! Isn't there usually "head table". Maybe its obvious who would sit there?

Good point! Yea, I'm putting that on the roadmap as part of "table ranking" and "prioritizing guests". So maybe the head table is "rank 1", and "parents" get "min rank 1".

Also, for now, you can lock certain people to certain tables and then Optimize again.

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

#15
post #13

Clever idea! I'm planning mine for April, but having trouble understanding how to use this tool. In your default data, Liam is listed as a couple but when you drag to a table it says "1/4". Should that be 2/4? How do I change number of tables and how many at each table? How do I create the "tags"? The other thing not intuitive is that I was dragging people over to the tables instead of using the 'optimize' button. Wh…

Congrats elicash!

Sorry for the lack of docs. Try the "Import Guestlist" button. There's a template there as an example.

There's no UI right now for adjusting the guest list. You can only import from the template, saved as an Excel file.

If there's any features you need, please feel free to write either here or to my email.

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

#16
post #6
post #4

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

Finding solutions that are not necessarily optimal but good in practice is often a tractable problem.

For sure: a traveling salesman route under length L, for instance. But what is good enough when combining incompatible people? Less than three vendettas per table? :)

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

#17
post #4

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

Solving this problem to optimality (for whatever constraints and objective function one is interested in -- a precise formulation was not given by the O.P.) is presumably NP-hard indeed, meaning that the computational cost grows exponentially with the size of the problem (in practice: the number of invitees).

However,

1. This is only an asymptotic argument. For "small" size, these problems can be tackled. People routinely solve this type of problem (namely: mixed-integer optimization problems), with up to hundreds of thousands of variables, to proven optimality, in a matter of minutes (see [1]). In this case, it looks like an assignment problem in which the number of variables would be (number of invitees) times (number of tables), so for up to 1000 invitees and 100 tables, there is a chance the problem can be solved optimally.

2. The O.P. is most likely looking heuristically for good solutions, not optimal ones. And I can't really blame them for that. Do we really care about optimality here?

[1] https://plato.asu.edu/ftp/milp.html

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

#18
post #4

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

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 of solutions in the thousands or whether we expect just a handful. I'd guess its the former, as many people on the "cheap tables" are really interchangeable and not subject to many constraints. So usually you'd looking at just a handful of tables and guests that are difficult to place. That begs the question whether the problem OP's trying to solve is really a problem people have difficulties solving (or isn't easily solved by adding a table or two).

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

#19
post #18
post #4

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

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 have a friend who had 400+ guests and 50+ tables. But they paid by the table, so saving whole tables would have saved lots of money. And friend stayed up all night before wedding stressing about who to put where.

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

#20
Requirements for the Seating Chart Optimizer I made for planning my wedding party:

* 120 guests: 49 couples and 22 singles

* To be seated at 11-ish tables of 8, 10, 12 people each (by combining 4- and 6-person tables)

* Couples must be seated at the same table

* Plan only needs to say which guests sit at which tables - individual placement at the table will be decided just-in-time by the people putting the name cards down on the day

* It's hard for me to give labels to the guests to give you an idea of who can form a nice table and who can't. It's like, complicated, but I know a good table when I see one.

I made a spreadsheet-based app [1] where I first entered couples and singles into rows and then left blank rows as table separators. On the blank rows I put a "table capacity" number (8, 10 or 12), and on the guest rows I put a formula to compute "remaining table capacity", using conditional formatting to highlight tables where there are too many guests and tables where there are still seats available. By dragging rows around I can quickly rearrange the plan, and the spreadsheet doesn't do much except tell me where the plan is currently "broken" due to overfull tables.

If I compare my requirements with the Better Seater interface, what I'm missing is a way to keep couples together always - I don't want to make a new "group" name for each couple and I don't want to drag twice to move a couple. I haven't tried it with 120 guests, but I'm curious what sort of guestlist size you're aiming for.

[1] https://docs.google.com/spreadsheets/d/1ciib95VBI1YE9KFfPZAp...

Post reply on HN