Магистратура

МагистратураНастройкаЛинейное программирование


Метод симплекс


Метод симплекс — это алгоритм, используемый для решения задач линейного программирования, который включает в себя поиск максимального или минимального значения линейной функции, удовлетворяющей линейным ограничениям. Линейное программирование является важным инструментом оптимизации в таких областях, как экономика, инженерия, военная сфера, бизнес и наука.

Введение в линейное программирование

Линейное программирование включает в себя набор уравнений и неравенств, представляющих математическую модель, оптимальное решение которой необходимо найти. Для задачи линейного программирования целью является оптимизация (максимизация или минимизация) линейной целевой функции при условии линейных равенств и/или неравенств. Общая форма задачи линейного программирования представлена следующим образом:

Максимум (или минимум): c 1 x 1 + c 2 x 2 + ... + c n x n

при условии:
a 11 x 1 + a 12 x 2 + ... + a 1n x n ≤ b 1
a 21 x 1 + a 22 x 2 + ... + a 2n x n ≤ b 2,
a m1 x 1 + a m2 x 2 + ... + a mn x n ≤ b m

x 1 , x 2 , ..., x n ≥ 0

Что такое метод симплекс?

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

Процедура метода симплекс

  1. Преобразование задачи в стандартную форму.
  2. Определение пригодного начального решения.
  3. Продолжать искать более лучшее решение, пока улучшение невозможно.
  4. Оценка и интерпретация решения.

Шаг 1: Преобразование в стандартную форму

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

  • Удовлетворение, чтобы все ограничения были в виде линейных уравнений.
  • Введение избыточных переменных для преобразования неравенств в равенства.
  • Обеспечение того, чтобы все переменные были неотрицательными.

Рассмотрим следующий пример:

Максимум: 3x 1 + 5x 2

при условии:
x 1 + 2x 2 ≤ 8
3x 1 + 2x 2 ≤ 12

x 1 , x 2 ≥ 0

Введение избыточных переменных:

x 1 + 2x 2 + s 1 = 8
3x 1 + 2x 2 + s 2 = 12

x 1 , x 2 , s 1 , s 2 ≥ 0

Избыточные переменные s 1 и s 2 представляют собой неиспользованные ресурсы из ограничений.

Шаг 2: Определение начального решения

При установке равным нулю переменных решения (в данном случае x 1 и x 2) и установке избыточных переменных равными значениям ограничений, определяется начальное базовое допустимое решение.

В нашем примере начальное решение:

x 1 = 0, x 2 = 0, s 1 = 8, s 2 = 12

Шаг 3: Повторение для улучшения решения

Чтобы выполнить рекурсию, создается таблица. Строка целей содержит отрицательные коэффициенты целевой функции. Рекурсия включает в себя:

  • Цель - выбрать входящую переменную, имеющую самый отрицательный коэффициент в строке.
  • Выбор выпадающих переменных с использованием теста минимальной пропорции.
  • Поворот для обновления решения.
Начальная таблица:
| базис | x 1 | x 2 | s 1 | s 2 | правая сторона |
| S 1 | 1 | 2 | 1 | 0 | 8 |
| S 2 | 3 | 2 | 0 | 1 | 12 |
| z | -3 | -5 | 0 | 0 | 0 |

Итерация 1:

Входящая переменная - x 2 (самый отрицательный коэффициент в z-строке: -5 ).

Для минимального соотношения: RHS / коэффициент x 2 = min(8/2, 12/2) = 4, следовательно, s 1 - выпадающая переменная.

Поворот для замены s 1 на x 2.

Панторная таблица:
| базис | x 1 | x 2 | s 1 | s 2 | правая сторона |
| x 2 | 0.5 | 1 | 0.5 | 0 | 4 |
| S2 | 2.0 | 0 | -1 | 1 | 4 |
| z | -0.5 | 0 | 2.5 | 0 | 20 |

Итерация 2:

Самый отрицательный коэффициент в новой z-строке: -0.5 (для x 1).

Используя минимальное соотношение: RHS / коэффициент x 1 = min(4/0.5, 4/2) = 2, так что s 2 - выпадающая переменная.

Поворот для замены s 2 на x 1.

Поворотная таблица:
| базис | x 1 | x 2 | s 1 | s 2 | правая сторона |
| x 2 | 0.5 | 1 | 0.5 | 0 | 4 |
| x1 | 1 | 0 | -0.5 | 0.5 | 2 |
| Z | 0 | 0 | 3 | 0.5 | 22 |

Значение целевой функции улучшилось до 22, и больше нет отрицательных коэффициентов, следовательно, текущее решение является оптимальным.

Визуальный пример

Затененная область на графике представляет собой допустимую область, где все ограничения пересекаются. Круг отмечает точку оптимального решения, в которой достигается максимальное значение целевой функции.

Шаг 4: Оценка и интерпретация решения

Метод симплекс предоставляет наилучшие возможные значения для переменных решения в пределах допустимой области. Из окончательной таблицы мы можем определить оптимальное решение:

x 1 = 2, x 2 = 4

Значение целевой функции: 22

Это означает, что максимальное значение целевой функции 3x 1 + 5x 2 равно 22 при x 1 = 2 и x 2 = 4.

Свойства метода симплекс

  • Метод симплекс движется по ребру допустимой области, обеспечивая улучшение или сохранение решения на каждом шаге, пока не будет найдено оптимальное решение.
  • Он эффективно обрабатывает линейные целевые функции с ограничениями, что делает его подходящим для крупномасштабных задач линейного программирования.
  • Хотя метод обычно начинается с нуля, все же требуется некоторая предварительная обработка для преобразования любой задачи в стандартную форму.
  • Алгоритм конечен; он либо сходится к оптимальному решению, либо распознает, что для заданных ограничений не существует решения.

Преимущества и ограничения

Преимущества метода симплекс включают его способность обеспечивать точные оптимальные решения задач линейного программирования и его применимость к широкому диапазону задач, выходящих за рамки только ограничений вида ≤. Тем не менее, у этого метода есть некоторые ограничения:

Преимущества

  • Обеспечивает точное решение.
  • Может эффективно обрабатывать сложные задачи.
  • Он широко понятен и используется, существуют множество библиотек и программного обеспечения для его поддержки.

Ограничения

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

Заключение

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


Магистратура → 9.1.1


U
username
0%
завершено в Магистратура


комментарии