Эта программа решает задачи линейного программирования с помощью симплекс-метода. Программа автоматически приводит задачу к канонической форме и выполняет пошаговое решение с подробным выводом всех промежуточных вычислений.
- Автоматическое приведение к канонической форме - добавление свободных переменных и обработка отрицательных правых частей
- Пошаговые симплекс-таблицы - красивый вывод в табличном формате "как на листе"
- Подробные вычисления - показ выбора ведущего столбца, строки, отношений θ
- Точные вычисления - использование рациональных чисел (дроби) для избежания ошибок округления
- Понятный вывод - форматированный результат с финальным оптимальным планом
- Откройте файл
simplex.py - Измените блок
INPUT_DATAпод свою задачу:c = [1, -1] # коэффициенты целевой функции A = [ # матрица ограничений [-2, 1], [1, -2], [1, 1], ] b = [2, 2, 5] # правые части ограничений
- Запустите программу:
python3 simplex.py
Программа решает задачи вида:
max Z = c₁x₁ + c₂x₂ + ... + cₙxₙ
при ограничениях:
a₁₁x₁ + a₁₂x₂ + ... + a₁ₙxₙ ≤ b₁
a₂₁x₁ + a₂₂x₂ + ... + a₂ₙxₙ ≤ b₂
...
aₘ₁x₁ + aₘ₂x₂ + ... + aₘₙxₙ ≤ bₘ
xᵢ ≥ 0 для всех i
Программа выводит:
- Исходную задачу в математической записи
- Каноническую форму
- Пошаговые симплекс-таблицы с объяснениями
- Выбор опорного элемента и вычисления
- Итоговый оптимальный план
- Python 3.6+
- Стандартная библиотека (fractions, typing)