Симплекс-метод: основные этапы

Что такое симплекс-метод и зачем он нужен?

Симплекс-метод — это математический алгоритм для решения задач линейного программирования 📈. Представь, что у тебя есть ограниченные ресурсы (например, время, деньги, материалы), и ты хочешь максимизировать прибыль или минимизировать затраты. Симплекс-метод помогает найти оптимальное решение среди множества возможных вариантов!

💡 Запомни: Симплекс-метод работает только для линейных задач, где целевая функция и ограничения выражаются линейными уравнениями или неравенствами.

Основные этапы метода включают: преобразование задачи в стандартную форму, построение начальной симплекс-таблицы, итеративное улучшение решения и проверку на оптимальность. Давай разберем каждый шаг подробно! 🚀


Этап 1: Приведение задачи к стандартной форме

Прежде чем применять симплекс-метод, задачу нужно записать в стандартной форме. Вот ключевые требования:

  • Целевая функция должна быть на максимизацию (если на минимизацию — умножь на -1).
  • Все ограничения должны быть равенствами (не неравенствами).
  • Все переменные неотрицательные (x₁ ≥ 0, x₂ ≥ 0, ..., xₙ ≥ 0).

Как преобразовать ограничения-неравенства? Добавляем дополнительные переменные (slack variables)!

  • Если ограничение типа , добавляем переменную со знаком +.
  • Если ограничение типа , добавляем переменную со знаком -.

Пример преобразования:

Исходная задача:
Максимизировать: Z = 3x₁ + 5x₂
При ограничениях:
  2x₁ + 4x₂ ≤ 8
  6x₁ + 2x₂ ≤ 12
  x₁ ≥ 0, x₂ ≥ 0

Стандартная форма:
Максимизировать: Z = 3x₁ + 5x₂ + 0s₁ + 0s₂
При ограничениях:
  2x₁ + 4x₂ + s₁ = 8
  6x₁ + 2x₂ + s₂ = 12
  x₁ ≥ 0, x₂ ≥ 0, s₁ ≥ 0, s₂ ≥ 0

Этап 2: Построение начальной симплекс-таблицы

Симплекс-таблица — это удобный способ организовать данные задачи. Она содержит коэффициенты целевой функции и ограничений.

Структура таблицы:

Базисные переменные Коэффициенты x₁ x₂ s₁ s₂ Решение (RHS)
s₁ 0 2 4 1 0 8
s₂ 0 6 2 0 1 12
Z 1 -3 -5 0 0 0
🎯 Совет: Обрати внимание на строку Z — в ней записаны коэффициенты целевой функции с противоположным знаком. Это нужно для вычислений!

Этап 3: Итеративное улучшение решения

Симплекс-метод работает итеративно: на каждом шаге мы улучшаем значение целевой функции, пока не достигнем optimum.

  1. Выбор ведущего столбца: Найди столбец с наибольшим по модулю отрицательным числом в строке Z (для максимизации). Это будет переменная, которую мы введем в базис.
  2. Выбор ведущей строки: Для каждого ограничения вычисли отношение RHS к коэффициенту в ведущем столбце (только положительные значения). Выбери строку с наименьшим отношением.
  3. Пересчет таблицы: Используя элемент на пересечении ведущих строки и столбца (ведущий элемент), преобразуй таблицу методом Жордана-Гаусса.

Пример для нашей таблицы:

  • Ведущий столбец: x₂ (наибольшее отрицательное число в Z: -5).
  • Отношения для строк: s₁: 8/4 = 2; s₂: 12/2 = 6 → min = 2, ведущая строка s₁.
  • Ведущий элемент = 4.

После пересчета получим новую таблицу:

Базис C x₁ x₂ s₁ s₂ RHS
x₂ 5 0.5 1 0.25 0 2
s₂ 0 5 0 -0.5 1 8
Z 1 -0.5 0 1.25 0 10

Этап 4: Проверка на оптимальность

Решение оптимально, если в строке Z нет отрицательных коэффициентов (для задачи максимизации). В нашем примере в строке Z еще есть отрицательное число (-0.5 при x₁), значит, нужно продолжать итерации.

Повторяем шаги:

  • Ведущий столбец: x₁.
  • Отношения: x₂: 2/0.5 = 4; s₂: 8/5 = 1.6 → min = 1.6, ведущая строка s₂.
  • Ведущий элемент = 5.

После пересчета:

Базис C x₁ x₂ s₁ s₂ RHS
x₂ 5 0 1 0.3 -0.1 1.2
Скрыть рекламу навсегда

🧠 Учёба без воды и зубрёжки

Закрытый Boosty с наработками опытного преподавателя.

Объясняю сложное так, чтобы щелкнуло.

🚀 Забрать доступ к Boosty