Выполнены этапы 2, 3, 4

Дополнен план работ этапом 7 (покрытие тестами)
This commit is contained in:
ki.sagidullin
2026-04-07 00:59:57 +05:00
parent a8f47d29f6
commit 5d2b665fa6
4 changed files with 293 additions and 82 deletions

15
main.py
View File

@@ -1,10 +1,9 @@
"""
main.py - Основ
ный скрипт для создания графика смен
main.py - Основной скрипт для создания графика смен
Использует модуль models.py для создания и решения модели
"""
from models import create_model, solve_model, get_solution, SHIFTS, OPERATORS
from models import create_model, solve_model, get_solution
from config import YEAR, MONTH, SHIFTS, OPERATORS
import csv
def generate_csv_report(schedule: dict, filename: str = 'shift_schedule.csv'):
@@ -46,25 +45,25 @@ def main():
print("=" * 60)
# Шаг 1: Создаем модель
print("\n[1] Создание модели...")
print("\n[1] Создание модели. ..")
model, variables, operators_set = create_model()
print(f" Модель создана с {len(variables)} переменными")
print(f" Операторы: {', '.join(operators_set)}")
# Шаг 2: Решаем модель
print("\n[2] Решение модели...")
print("\n[2] Решение модели. ..")
success = solve_model()
if success:
print(" ✅ Модель решена успешно!")
# Шаг 3: Получаем решение
print("\n[3] Получение решения...")
print("\n[3] Получение решения. ..")
schedule = get_solution()
print(f" Решение получено для {len(schedule)} дней")
# Шаг 4: Генерируем CSV-отчет
print("\n[4] Генерация CSV-отчета...")
print("\n[4] Генерация CSV-отчета. ..")
generate_csv_report(schedule, 'shift_schedule.csv')
else: