Балансировка учебного расписания

Учесть преподавателей, кабинеты и обязательные часы, объяснить невыполнимые ограничения.

Рабочая область

Обработка на устройстве. Файлы и текст не отправляются в аналитику. Ctrl/Cmd+Enter — запуск.

Загрузка локальной обработки…

Настройки

Настройки содержат параметры, без исходных файлов. Автоматического сохранения нет.

Метод и ограничения

Размещает заданное число занятий в допустимых комнатах, проверяет вместимость, занятость преподавателя/группы и исключённые интервалы. Неразмещённые часы остаются видимыми.

Локальная обработка: до2 млн символов или20 000 записей на источник; до50 000 строк результата. Тяжёлые операции имеют отдельные ограничения и отмену. Измеренный спрос и внешние данные не подставляются.

Методика и примеры

Балансировка учебного расписания

Размещает заданное число занятий в допустимых комнатах, проверяет вместимость, занятость преподавателя/группы и исключённые интервалы. Неразмещённые часы остаются видимыми.

Входные данные примера

Основной источник

[
  {
    "id": "Math",
    "teacher": "T1",
    "group": "G1",
    "roomType": "class",
    "people": 10,
    "minutes": 60,
    "sessions": 2
  }
]

Второй источник

[
  {
    "room": "R1",
    "type": "class",
    "capacity": 15,
    "start": "2026-01-01T10:00:00Z",
    "end": "2026-01-01T11:00:00Z"
  },
  {
    "room": "R1",
    "type": "class",
    "capacity": 15,
    "start": "2026-01-01T11:00:00Z",
    "end": "2026-01-01T12:00:00Z"
  }
]

Третий источник

[
  {
    "person": "T1",
    "start": "2026-01-01T10:00:00Z",
    "end": "2026-01-01T10:30:00Z"
  }
]

Результат примера

ЗанятиеПовторПреподавательГруппаКабинетНачалоКонецСтатус
Math1T1G1R12026-01-01T11:00:00.000Z2026-01-01T12:00:00.000Zназначено
Math2T1G1нет совместимого слота

Показано строк: 2 из 2.

Локальная обработка: до2 млн символов или20 000 записей на источник; до50 000 строк результата. Тяжёлые операции имеют отдельные ограничения и отмену. Измеренный спрос и внешние данные не подставляются.

Источники метода

Следующая задача