Вопросы к Поиску с Алисой
Для оптимизации расписания кружков с ограниченным количеством мест можно использовать, например, следующие методы:
Также для оптимизации расписания могут использоваться генетические алгоритмы, эвристические методы, метод имитации отжига и динамическое программирование. habr.com