Учи Кванты!Курс → Квант против классики

Расписание: запрет против штрафа

Школьное расписание — задача про жёсткие правила. Констрейнт-решатель понимает запрет как запрет, а языку QUBO приходится переводить запреты в штрафы, и этот перевод хрупок с обеих сторон: слабый штраф разрешает нарушать, сильный прячет разницу между хорошими и плохими расписаниями.

Задача из жёстких правил

Расписание — это в первую очередь ограничения: преподаватель не может вести два урока одновременно, у класса не может идти два предмета сразу, аудиторий должно хватать. Правила жёсткие: их нельзя «почти выполнить», они либо соблюдены, либо нет. А поверх правил есть мягкие пожелания — каждому уроку удобнее свой слот.

Наша сетка нарочно маленькая: четыре урока, три слота, и один узел напряжения — Иванов ведёт физику и в 7А, и в 7Б, причём оба урока удобнее всего ставить в первый слот. Верхняя панель показывает, как с этим обращается язык QUBO, знакомый по всей линии оптимизации; ниже — классический констрейнт-решатель CP-SAT, живущий на нашем сервере. Пройдём по очереди.

Это платный урок курса. Дальше — интерактив: виджеты, схемы и контрольные вопросы. Продолжение — в полном курсе «Учи Кванты!»: открыть полный курс.

Состояние

Измерение

Нажмите «Выполнить» — появится гистограмма исходов.

Сфера Блоха