Бакалавриат

БакалавриатЛинейное программирование и оптимизация


Понимание метода симплекс в линейном программировании и оптимизации


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

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

Целевая функция и ограничения

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

Максимум или минимум: Z = 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

Здесь x 1 , x 2 , ..., x n — переменные, c 1 , c 2 , ..., c n — коэффиценты целевой функции, a ij — коэффициенты ограничений и b i — константы в уравнениях ограничений.

Метод симплекс: Обзор

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

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

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

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

Предположим, у нас есть ограничение вида:
a 11 x 1 + a 12 x 2 ≤ b 1

Чтобы превратить это в равенство, мы вводим добавочную переменную s 1 :

a 11 x 1 + a 12 x 2 + s 1 = b 1

Поиск начального допустимого решения

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

Итерационный процесс

Основная цель метода симплекс — улучшение значения целевой функции за счет обработки допустимых решений для выявления оптимального решения. Это достигается путем опорных перестановок.

Пример

Рассмотрим пример задачи линейного программирования. Предположим, у нас есть следующая задача:

Максимум: Z = 3x 1 + 5x 2
при условии:
x 1 + 2x 2 ≤ 8
3x 1 + 2x 2 ≤ 12
x 1 , x 2 ≥ 0
x 1 x 2 x 1 + 2x 2 = 8 3x1 + 2x2 = 12

В приведенном выше примере ограничения x 1 + 2x 2 = 8 и 3x 1 + 2x 2 = 12 изображены в виде линий. Допустимая область, ограниченная зеленым многоугольником, показывает, где выполняются все условия.

Опорные перестановки в методе симплекс

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

Шаги, связанные с опорными перестановками

Процесс опорных перестановок включает в себя следующие основные шаги:

  1. Определите входящую переменную:
    • Смотрите на строку целевой функции (также называемую строкой издержек) в симплексной таблице. Выберите переменную, коэффициент которой наиболее положителен (для задач максимизации). Это наша входящая переменная.
  2. Определите выходную переменную:
    • Чтобы найти выходную переменную, вычислите минимальное соотношение правой части и положительных коэффициентов входящей переменной в каждой строке ограничения.
  3. Выполните операции с рядами:
    • Преобразуйте таблицу, чтобы отразить этот новый базис. Это включает в себя операцию с опорным элементом, чтобы установить другие элементы в столбце входящей переменной на ноль.

Продолжение примера

Применим эти шаги к нашему предыдущему примеру.

Симплексная таблица для начального базиса

Первоначальная таблица для преобразования неравенств в равенства составляется с расслабленными переменными s 1 и s 2 для каждого ограничения:

| x 1 | x 2 | s 1 | s 2 | правая часть | 
,
, 1 | 2 | 1 | 0 | 8 |
, 3 | 2 | 0 | 1 | 12 |
,
, -3 | -5 | 0 | 0 | 0 |

Давайте определим входящие и выходящие переменные:

Для максимизации наибольший отрицательный коэффициент в строке целевой функции — -5 (под x 2). Это означает, что x 2 — наша входящая переменная.

Чтобы найти выходную переменную, вычислим соотношение правой части и положительного коэффициента x 2:

8/2 = 4 (для первой строки)
12/2 = 6 (для второй строки)
Минимальное соотношение равно 4, что указывает на то, что первая строка будет выходить.

Выполните операции с рядами, чтобы создать исходную переменную x 2 в первой строке.

Соответствующим образом обновите остальную часть таблицы.

Оптимальное решение

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

Заключение

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


Бакалавриат → 9.1


U
username
0%
завершено в Бакалавриат


комментарии