Live data from Hacker News

Show HN: Better Seater – Wedding seating chart optimizer

seater.steam-oven.net

31–40 of 108 posts

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

#31
This is really cool!

Some ideas:

- Let me drag out guests to tables and then optimize around what I've done so far. It looks like optimize wipes the slate clean each time.

- You might consider letting people pick how many seats should be at each table with a +- tolerance.

- People really like seeing seat numbers, whether globally or local to a table.

- If you clean up the UI a bit this could also be something people print out for a reference chart at events.

Automatic seating has been one of the more common feature requests of my own seating chart app, seatpuzzle.com, but I haven't quite gotten around to modeling the right parameters and prioritized a different set of things instead.

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

#32
post #23
post #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…

Thanks for trying it out! With the spreadsheet, you can just put couples as single guest (+1 = 2 party size). So you can put a whole family as (Person+3) or something. See the template. The "couple" was really the wedding couple as example. I'm optimizing for probably 100+ guests. Hope that makes sense!

Ah cool, somehow I didn't notice that! I've made an anonymized version of my guest list to try it out. Another thing that I noticed is that I put notes with some of my guests, and also some couples are in two groups - does your app work with multiple groups, or does that not make sense with the optimization?

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

#33
post #31

This is really cool! Some ideas: - Let me drag out guests to tables and then optimize around what I've done so far. It looks like optimize wipes the slate clean each time. - You might consider letting people pick how many seats should be at each table with a +- tolerance. - People really like seeing seat numbers, whether globally or local to a table. - If you clean up the UI a bit this could also be something people…

Ooh cool!

FYI you can lock people to the tables and it optimizes around it already. Just click on the lock icon.

Interesting idea on the tolerances.

Right now I'm not putting in specific seat numbers yet. You just mean number them for UX purposes?

How's seatpuzzle.com doing? Looks like a cool app!

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

#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.

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

#35
post #32
post #23

Earlier quoted context omitted.

Thanks for trying it out! With the spreadsheet, you can just put couples as single guest (+1 = 2 party size). So you can put a whole family as (Person+3) or something. See the template. The "couple" was really the wedding couple as example. I'm optimizing for probably 100+ guests. Hope that makes sense!

Ah cool, somehow I didn't notice that! I've made an anonymized version of my guest list to try it out. Another thing that I noticed is that I put notes with some of my guests, and also some couples are in two groups - does your app work with multiple groups, or does that not make sense with the optimization?

Right now I don't support multiple groups. That was on the roadmap, but I haven't put it in yet.

I figured most people didn't need multiple groups immediately, but if I hear it's important, I'll definitely prioritize it!

Thanks for trying it out with a more "realistic" data set. I have some friends' lists, but would love for others to try it with their own data.

Let me know what you think! Is this a show stopper?

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

#36
post #25
post #7

Earlier quoted context omitted.

Yep, NP-hard! This is using an optimization engine. It's not brute forcing. But hopefully it's getting pretty good approximate results. You can keep trying harder from the state, just click again on the Optimize buttons. I admit, I haven't optimized the optimizer yet.

What do you mean by optimization engine? Did you write a solver yourself, or did you use something off-the-shelf? In either case, what are the algorithms involved?

I'm using Optaplanner as the engine under the covers, which is open source and off the shelf.

https://www.optaplanner.org/

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

#37
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.

This is precisely what optaplanner was designed to do. Note the optaplanner has been forked by its original author and main contributor when they left RedHat/IBM. The fork is called "TimeFold", most development happens there now.

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

#38

Simply contemplating having to do this is one of the reasons I'm very happy that the local standard for weddings (even big, expensive, nighttime ones) in my hometown was buffet service with available but unassigned seating. People hang out with who they want to, as much as they want to, and can just avoid those who bother them.

Wife and I were broke college students when we got married. Reception consisted of cake and refreshments (no meal) in the basement of the church after the ceremony -- no assigned seating. Then a few nights in a local (though pretty nice) B&B for the 'honeymoon.'

Still spent too much on everything, should have just blown off the fancy ceremony and drove to Vegas :)

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

#39
post #29
post #9

Earlier quoted context omitted.

Yep, I'm targeting an optimization engine at a more specific problem that might be useful to lots of consumers.

Would you make that open source? I'm interested in this problem. I'm sure there are some OS bin packing algorithms but I not familiar with ones that have separation and linking rules.

I'm using Optaplanner underneath, which is already open source.

https://www.optaplanner.org/

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

#40
post #37
post #34

Earlier quoted context omitted.

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.

This is precisely what optaplanner was designed to do. Note the optaplanner has been forked by its original author and main contributor when they left RedHat/IBM. The fork is called "TimeFold", most development happens there now.

> The fork is called "TimeFold", most development happens there now.

Thanks. Last time I used optaplanner was several years ago on an aerospace project - if I need a constraint solver again I'll definitely look at TimeFold.

Post reply on HN