Планирование классов для булевой выполнимости [Сокращение полиномиального времени] Заключительная часть

Я работаю уже несколько недель над проектом, действительно интересным, но, к сожалению, с очень сложным фоном.

Я уже задавал 3 вопроса:

Планирование классов для булевой выполнимости [Сокращение полиномиального времени] Заключительная часть (Вот)Планирование классов для булевой выполнимости [сокращение за полиномиальное время] часть 2Планирование классов для булевой выполнимости [сокращение за полиномиальное время]

в обоих из них я получаю свой ответ (еще раз спасибо @Amit), но теперь прибыл заключительная часть, которая сделает этот проект пригодным для использования :)

Я пока могу управлять:

N временных интервалов.С курсами.Т учителей.S комнаты.

Мои ограничения следующие:

2 учителя не могут находиться в одной комнате одновременно.2 курса не могут быть в одной комнате в одно и то же время.Учителя могут преподавать только конкретные курсы.Некоторые курсы могут проходить только в определенные промежутки времени.

Итак, это мой результат:

Но вот последняя часть, которую я хочу добавить: я хочу управлять группой студентов со следующими ограничениями:

У группы есть только несколько курсов.Группы 2+ могут находиться в одной комнате в одно и то же время только для определенных курсов (например, для курса магистратуры)

Опять же, мне удается изолировать ограничение, но я понятия не имею, как преобразовать это ограничение в ограничение «интервалы времени не должны перекрываться».

Спасибо заранее, С наилучшими пожеланиями,

Ответы на вопрос(0)

Ваш ответ на вопрос