Техническое задание: Реализация венгерского метода на Python

Цель проекта

Разработать программный код на языке Python, который решает классическую транспортную задачу с помощью венгерского алгоритма (метода). Решение должно быть самодостаточным и не зависеть от внешних библиотек для оптимизации.

Ключевые требования

  • Использовать только стандартные возможности и простые функции Python.
  • Избегать подключения сторонних библиотек (например, NumPy, SciPy).
  • Алгоритм должен корректно находить оптимальное решение для сбалансированной транспортной задачи.
  • Код должен быть хорошо структурирован, содержать комментарии для ключевых блоков.
  • Реализация должна включать основные этапы венгерского метода: редукцию матрицы, поиск нулевых элементов, покрытие нулей минимальным числом линий.
  • Обеспечить обработку стандартных входных данных (матрица затрат).
  • Желательно предусмотреть вывод промежуточных шагов для наглядности работы алгоритма.

Ожидаемый результат

Предоставление рабочего файла с кодом (.py), который принимает входные данные (матрицу) и возвращает оптимальный план распределения и минимальные суммарные затраты.