Cool to see a project using optimisation <3
Show HN: Better Seater – Wedding seating chart optimizer
11–20 of 108 posts
Re: Show HN: Better Seater – Wedding seating chart optimizer
#12Re: Show HN: Better Seater – Wedding seating chart optimizer
#13The 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
#14A 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?
Also, for now, you can lock certain people to certain tables and then Optimize again.
Re: Show HN: Better Seater – Wedding seating chart optimizer
#15Clever 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…
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
#16Isn'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.
Re: Show HN: Better Seater – Wedding seating chart optimizer
#17Isn't "Keep people either together or apart" an NP-Hard problem, and basically unsolvable for more than a couple preferences?
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?
Re: Show HN: Better Seater – Wedding seating chart optimizer
#18Isn't "Keep people either together or apart" an NP-Hard problem, and basically unsolvable for more than a couple preferences?
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
#19Isn'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…
Re: Show HN: Better Seater – Wedding seating chart optimizer
#20* 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...