Это проблема упаковки бункера , которая является NP-Hard (нелегко найти лучший ответ, и нелегко проверить, является ли ответ лучшим).
Группы людей представляют собой отдельные объекты, причем объем = количество людей в группе. Столы - это мусорные ведра размера 10.
Существует несколько алгоритмов аппроксимации, которые легко найти, зная, что вы должны погуглить для упаковки бина.
Однако ваша проблема смягчена (в некотором смысле), потому что у вас есть 10 столов, то есть вы не пытаетесь разместить людей на минимальном количестве столов. Если 10 таблиц является ОПТИМАЛЬНЫМ решением, у вас будут проблемы с поиском решения (если оно вообще существует), но если оптимальное значение действительно 7 или 8, найти решение будет легко. Все зависит от групповых распределений.