For our wedding, I asked my now wife and a few friends and relatives to fill a “guests’ distance matrix”, where 0 equaled superclose friends and 5 complete strangers, and from a random initial layout, it bruteforced random swaps between guests untill reaching minimum distance configurations. It was a pretty dumb algorithm, but it took into consideration table capacity, party size and closedness of tables.
Of course, the wife rejected most of the outcomes, but it did decide some of the tables, spitted out interesting sittings and it helped us doing the global layout.
At the end, the overall feeling was that everyone was close to their loved ones. The energy was fantastic and everybody had a great time.