Skip to content

DIMFLIX-EDUCATION/simplex-method-solver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Практическая работа №1 - Симплекс-метод

Описание

Эта программа решает задачи линейного программирования с помощью симплекс-метода. Программа автоматически приводит задачу к канонической форме и выполняет пошаговое решение с подробным выводом всех промежуточных вычислений.

Возможности

  • Автоматическое приведение к канонической форме - добавление свободных переменных и обработка отрицательных правых частей
  • Пошаговые симплекс-таблицы - красивый вывод в табличном формате "как на листе"
  • Подробные вычисления - показ выбора ведущего столбца, строки, отношений θ
  • Точные вычисления - использование рациональных чисел (дроби) для избежания ошибок округления
  • Понятный вывод - форматированный результат с финальным оптимальным планом

Использование

  1. Откройте файл simplex.py
  2. Измените блок INPUT_DATA под свою задачу:
    c = [1, -1]  # коэффициенты целевой функции
    A = [         # матрица ограничений
        [-2, 1],
        [1, -2],
        [1, 1],
    ]
    b = [2, 2, 5]  # правые части ограничений
  3. Запустите программу:
    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)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages