Skip to content

Latest commit

 

History

History
53 lines (41 loc) · 2.92 KB

File metadata and controls

53 lines (41 loc) · 2.92 KB

Changelog

Все заметные изменения в этом проекте фиксируются в этом файле.

Формат основан на Keep a Changelog.

[Unreleased]

  • Улучшение жадного алгоритма составления расписания.
  • Добавление распределения по кабинетам и учителям.
  • Подключение OR-Tools/CP-SAT как второго варианта решателя.
  • Англоязычная документация и пример для международных школ.

[0.2.0] - 2025-11-19

Added

  • Жадное распределение уроков по учителям с учётом:
    • предметной специализации учителя,
    • ограничения уроков в день (max_lessons_per_day),
    • ограничения уроков в неделю (max_lessons_per_week),
    • запрета на «два класса в один и тот же слот».
  • Модуль экспорта расписания:
    • src/io/exporter.py — экспорт в timetable.csv и timetable.md.
  • Служебный скрипт генерации и экспорта:
    • scripts/export_timetable.py — вызов ядра планировщика + сохранение CSV/Markdown.
  • Отчёты по нагрузке:
    • scripts/teacher_load_report.py — отчёт по недельной и дневной нагрузке учителей с проверкой лимитов.
    • scripts/class_load_report.py — отчёт по суточным баллам классов (СанПиН) и подсветкой перегрузок по дням.
  • Обновлён README.md:
    • раздел «Отчёты и вспомогательные скрипты» с описанием экспортёра и отчётов.

[0.1.0] - 2025-11-18

Added

  • Базовая структура проекта SANPIN-Schedule:
    • data/*.yaml для описания предметов, классов, кабинетов, учителей и лимитов.
    • src/cli.py — CLI для генерации timetable.csv.
    • src/solvers/ortools_solver.py — жадный генератор расписания без OR-Tools.
  • Генерация наглядного расписания в Markdown:
    • tools/generate_timetable_md.pytimetable.md.
  • Скрипт проверки суточной нагрузки по баллам:
    • notebooks/01_check_daily_load.py.
  • Автотест:
    • tests/test_daily_load_limits.py — проверка ограничений по урокам и баллам.
  • Документация:
    • README.md — обзор проекта.
    • docs/Описание_проекта.md и docs/Краткое_описание_для_школы.md.