Планирование классов для булевой выполнимости [Сокращение полиномиального времени] Заключительная часть
Я работаю уже несколько недель над проектом, действительно интересным, но, к сожалению, с очень сложным фоном.
Я уже задавал 3 вопроса:
Планирование классов для булевой выполнимости [Сокращение полиномиального времени] Заключительная часть (Вот)Планирование классов для булевой выполнимости [сокращение за полиномиальное время] часть 2Планирование классов для булевой выполнимости [сокращение за полиномиальное время]в обоих из них я получаю свой ответ (еще раз спасибо @Amit), но теперь прибыл заключительная часть, которая сделает этот проект пригодным для использования :)
Я пока могу управлять:
N временных интервалов.С курсами.Т учителей.S комнаты.Мои ограничения следующие:
2 учителя не могут находиться в одной комнате одновременно.2 курса не могут быть в одной комнате в одно и то же время.Учителя могут преподавать только конкретные курсы.Некоторые курсы могут проходить только в определенные промежутки времени.Итак, это мой результат:
Но вот последняя часть, которую я хочу добавить: я хочу управлять группой студентов со следующими ограничениями:
У группы есть только несколько курсов.Группы 2+ могут находиться в одной комнате в одно и то же время только для определенных курсов (например, для курса магистратуры)Опять же, мне удается изолировать ограничение, но я понятия не имею, как преобразовать это ограничение в ограничение «интервалы времени не должны перекрываться».
Спасибо заранее, С наилучшими пожеланиями,