Симплекс метод алгоритм решения c. Решение производственной задачи табличным симплекс-методом

Краткая теория

Решение задачи

Построение модели

Через обозначим товарооборот 1-го, 2-го и третьего вида товаров соответственно.

Тогда целевая функция, выражающая получаемую прибыль:

Ограничения по материально-денежным ресурсам:

Кроме того, по смыслу задачи

Получаем следующую задачу линейного программирования:

Заполняем симплексную таблицу 0-й итерации.

БП Симплексные
отношения
8 6 4 0 0 0 0 520 16 18 9 1 0 0 65/2 0 140 7 7 2 0 1 0 20 0 810 9 2 1 0 0 1 90 0 -8 -6 -4 0 0 0

Так как мы решаем задачу на максимум – наличие в индексной строке отрицательных чисел при решении задачи на максимум свидетельствует о том, что нами оптимальное решение не получено и что от таблицы 0-й итерации необходимо перейти к следующей.

Переход к следующей итерации осуществляем следующим образом:

Ведущий столбец соответствует .

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

На пересечении ключевого столбца и ключевой строки находим разрешающий элемент, т.е.7.

Теперь приступаем к составлению 1-й итерации. Вместо единичного вектора вводим вектор .

В новой таблице на месте разрешающего элемента пишем 1, все остальные элементы ключевого столбца –нули. Элементы ключевой строки делятся на разрешающий элемент. Все остальные элементы таблицы вычисляются по правилу прямоугольника.

Получаем таблицу 1-й итерации:

БП Симплексные
отношения
8 6 4 0 0 0 0 200 0 2 31/7 1 -16/7 0 1400/31 8 20 1 1 2/7 0 1/7 0 70 0 630 0 -7 -11/7 0 -9/7 1 - 160 0 2 -12/7 0 8/7 0

Ключевой столбец для 1-й итерации соответствует .

Находим ключевую строку, для этого определяем:

На пересечении ключевого столбца и ключевой строки находим разрешающий элемент, т.е. 31/7.

Вектор выводим из базиса и вводим вектор .

Получаем таблицу 2-й итерации:

БП Симплексные
отношения
8 6 4 0 0 0 4 1400/31 0 14/31 1 7/31 -16/31 0 8 220/31 1 27/31 0 -2/31 9/31 0 0 21730/31 0 -195/31 0 11/31 -65/31 1 7360/31 0 86/31 0 12/31 8/31 0

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

Таким образом, необходимо продавать 7,1 тыс.р. товара 1-го вида и 45,2 тыс.р. товара 3-го вида. Товар 2-го вида продавать невыгодно. При этом прибыль будет максимальна и составит 237,4 тыс.р. При реализации оптимального плана остаток ресурса 3-го вида составит 701 ед.

Если вам сейчас не требуется помощь, но может потребоваться в дальнейшем, то, чтобы не потерять контакт,

Здесь приведено ручное (не апплетом) решение двух задач симплекс-методом (аналогичным решению апплетом) с подробными объяснениями для того, чтобы понять алгоритм решения задач симплекс-методом. Первая задача содержит знаки неравенства только " ≤ " (задача с начальным базисом), вторая может содержить знаки " ≥ ", " ≤ " или " = " (задача с искусственным базисом), они решаются по разному.

Симплекс-метод, решение задачи с начальным базисом

1)Симплекс-метод для задачи с начальным базисом (все знаки неравенств-ограничений " ≤ ").

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

Эта система является системой с базисом (базис s 1 , s 2 , s 3 , каждая из них входит только в одно уравнение системы с коэффициентом 1), x 1 и x 2 - свободные переменные. Задачи, при решении которых применяется симплекс-метод, должны обладать следующими двумя свойствами: -система ограничений должна быть системой уравнений с базисом; -свободные члены всех уравнений в системе должны быть неотрицательны.

Полученная система - система с базисом и ее свободные члены неотрицательны, поэтому можно применить симплекс-метод . Составим первую симплекс-таблицу (Итерация 0) для решения задачи на симплекс-метод , т.е. таблицу коэффициентов целевой функции и системы уравнений при соответствующих переменных. Здесь "БП" означает столбец базисных переменных, «Решение» - столбец правых частей уравнений системы. Решение не является оптимальным, т.к. в z – строке есть отрицательные коэффициенты.

симплекс-метод итерация 0

Отношение

Для улучшения решения перейдем к следующей итерации симплекс-метода , получим следующую симплекс-таблицу. Для этого надо выбрать разрешающий столбец , т.е. переменную, которая войдет в базис на следующей итерации симплекс-метода. Он выбирается по наибольшему по модулю отрицательному коэффициенту в z-строке (в задаче на максимум) – в начальной итерации симплекс-метода это столбец x 2 (коэффициент -6).

Затем выбирается разрешающая строка , т.е. переменная, которая выйдет из базиса на следующей итерации симплекс-метода. Она выбирается по наименьшему отношению столбца "Решение" к соответствующим положительным элементам разрешающего столбца (столбец «Отношение») – в начальной итерации это строка s 3 (коэффициент 20).

Разрешающий элемент находится на пересечении разрешающего столбца и разрешающей строки, его ячейка выделена цветом, он равен 1. Следовательно, на следующей итерации симплекс-метода переменная x 2 заменит в базисе s 1 . Заметим, что в z-строке отношение не ищется, там ставится прочерк " - ". В случае если есть одинаковые минимальные отношения, то выбирается любое из них. Если в разрешающем столбце все коэффициенты меньше или равны 0, то решение задачи бесконечно.

Заполним следующую таблицу «Итерация 1». Её мы получим из таблицы «Итерация 0». Цель дальнейших преобразований - превратить разрешающий столбец х 2 в единичный (с единицей вместо разрешающего элемента и нулями вместо остальных элементов).

1)Вычисление строки х 2 таблицы "Итерация 1". Сначала делим все члены разрешающей строки s 3 таблицы "Итерация 0" на разрешающий элемент (он равен 1 в данном случае) этой таблицы, получим строку x 2 в таблице «Итерации 1». Т.к. разрешающий элемент в данном случае равен 1, то строка s 3 таблицы "Итерация 0" будет совпадать со строкой х 2 таблицы "Итерация 1". Строку x 2 таблицы "Итерации 1" мы получили 0 1 0 0 1 20, остальные строки таблицы "Итерация 1" будут получены из этой строки и строк таблицы "Итерация 0" следующим образом:

2) Вычисление z-строки таблицы "Итерация 1". На месте -6 в первой строке (z-строке) в столбце х 2 таблицы "Итерация 0" должен быть 0 в первой строке таблицы "Итерация 1". Для этого все элементы строки х 2 таблицы "Итерация 1" 0 1 0 0 1 20 умножим на 6, получим 0 6 0 0 6 120 и сложим эту строку с первой строкой (z - строкой) таблицы "Итерация 0" -4 -6 0 0 0 0, получим -4 0 0 0 6 120. В столбце x 2 появился ноль 0, цель достигнута. Элементы разрешающего столбца х 2 выделены красным цветом.

3) Вычисление строки s 1 таблицы "Итерация 1". На месте 1 в s 1 строке таблицы "Итерация 0" должен быть 0 в таблице "Итерация 1". Для этого все элементы строки х 2 таблицы "Итерация 1" 0 1 0 0 1 20 умножим на -1, получим 0 -1 0 0 -1 -20 и сложим эту строку с s 1 - строкой таблицы "Итерация 0" 2 1 1 0 0 64, получим строку 2 0 1 0 -1 44. В столбце х 2 получен необходимый 0.

4) Вычисление строки s 2 таблицы "Итерация 1". На месте 3 в s 2 строке таблицы "Итерация 0" должен быть 0 в таблице "Итерация 1". Для этого все элементы строки х 2 таблицы "Итерация 1" 0 1 0 0 1 20 умножим на -3, получим 0 -3 0 0 -3 -60 и сложим эту строку с s 1 - строкой таблицы "Итерация 0" 1 3 0 1 0 72, получим строку 1 0 0 1 -3 12. В столбце х 2 получен нужный 0. Столбец х 2 в таблице "Итерация 1" стал единичным, он содержит одну 1 и остальные 0.

Строки таблицы «Итерация 1» получаем по следующему правилу:

Новая строка = Старая строка – (Коэффициент разрешающего столбца старой строки)*(Новая разрешающая строка).

Например для z-строки имеем:

Старая z-строка (-4 -6 0 0 0 0) -(-6)*Новая разрешающая строка -(0 -6 0 0 -6 -120) =Новая z-строка (-4 0 0 0 6 120).

Для следующих таблиц пересчет элементов таблицы делается аналогично, поэтому мы его опускаем.

симплекс-метод итерация 1

Отношение

Разрешающий столбец х 1 , разрешающая строка s 2 , s 2 выходит из базиса, х 1 входит в базис. Совершенно аналогично получим остальные симплекс-таблицы, пока не будет получена таблица со всеми положительными коэффициентами в z-строке. Это признак оптимальной таблицы.

симплекс-метод итерация 2

Отношение

Разрешающий столбец s 3 , разрешающая строка s 1 , s 1 выходит из базиса, s 3 входит в базис.

симплекс-метод итерация 3

Отношение

В z-строке все коэффициенты неотрицательны, следовательно, получено оптимальное решение x 1 = 24, x 2 = 16, z max = 192.

Основная идея симплексного метода решения ЗЛП состоит в последовательном улучшении опорных решений ЗЛП.

Существуют несколько форм записи симплексного метода.

  1. Базовая форма записи симплекс-метода;
  2. Симплекс-метод в виде симплексной таблицы;
  3. Модифицированный симплекс-метод;
  4. Симплекс-метод в столбцовой форме;
  5. Симплексный метод в строчечной форме.

Определим максимальное значение целевой функции F(X) = 3x 1 +5x 2 +4x 3 при следующих условиях-ограничений.
0.1x 1 +0.2x 2 +0.4x 3 ≤1100
0.05x 1 +0.02x 2 +0.02x 3 ≤120
3x 1 +x 2 +2x 3 ≤8000

Для построения первого опорного плана систему неравенств приведем к системе уравнений путем введения дополнительных переменных (переход к канонической форме).
0.1x 1 + 0.2x 2 + 0.4x 3 + 1x 4 + 0x 5 + 0x 6 = 1100
0.05x 1 + 0.02x 2 + 0.02x 3 + 0x 4 + 1x 5 + 0x 6 = 120
3x 1 + 1x 2 + 2x 3 + 0x 4 + 0x 5 + 1x 6 = 8000

Базовая форма записи симплекс-метода

Решение ведется путем выражения базисных переменных через небазисные:
x 0 = 3x 1 +5x 2 +4x 3
x 4 = 1100-0.1x 1 -0.2x 2 -0.4x 3
x 5 = 120-0.05x 1 -0.02x 2 -0.02x 3
x 6 = 8000-3x 1 -x 2 -2x 3

Симплекс-метод в виде симплексной таблицы

Решение ведется в виде симплексной таблицы. Форма разработана для вычислений на ЭВМ. При использовании искусственного базиса используется специальное число М (обычно 10000).
План Базис В x 1 x 2 x 3 x 4 x 5 x 6 min
1 x4 1100 0.1 0.2 0.4 1 0 0 5500
x5 120 0.05 0.02 0.02 0 1 0 6000
x6 8000 3 1 2 0 0 1 8000
Индексная строка F(X1) 0 -3 -5 -4 0 0 0 0
2 x2 5500 0.5 1 2 5 0 0 11000
x5 10 0.04 0 -0.02 -0.1 1 0 250
x6 2500 2.5 0 0 -5 0 1 1000
Индексная строка F(X2) 27500 -0.5 0 6 25 0 0 0
3 x2 5375 0 1 2.25 6.25 -12.5 0 11000
x1 250 1 0 -0.5 -2.5 25 0 250
x6 1875 0 0 1.25 1.25 -62.5 1 1000
Индексная строка F(X3) 27625 0 0 5.75 23.75 12.5 0 0

Модифицированный симплекс-метод

Матрица коэффициентов A = a ij

Матрица b.

Итерация №1 .
= (4, 5, 6)

Матрица c.
c = (-3, -5, -4, 0, 0, 0)
c B = (0, 0, 0)
c N = (-3, -5, -4)

Вычисляем:
Матрицу B -1 вычисляем через алгебраические дополнения.

u = c B B -1 = (0, 0, 0)

Симплекс-метод в столбцовой форме

Переходим к столбцовой форме симплекс-метода. Выразим каждую переменную через небазисные.
x 0 = 0-3(-x 1)-5(-x 2)-4(-x 3)+0(-x 4)+0(-x 5)+0(-x 6)
x 1 = 0-1(-x 1)+0(-x 2)+0(-x 3)+0(-x 4)+0(-x 5)+0(-x 6)
x 2 = 0+0(-x 1)-1(-x 2)+0(-x 3)+0(-x 4)+0(-x 5)+0(-x 6)
x 3 = 0+0(-x 1)+0(-x 2)-1(-x 3)+0(-x 4)+0(-x 5)+0(-x 6)
x 4 = 1100+0.1(-x 1)+0.2(-x 2)+0.4(-x 3)+1(-x 4)+0(-x 5)+0(-x 6)
x 5 = 120+0.05(-x 1)+0.02(-x 2)+0.02(-x 3)+0(-x 4)+1(-x 5)+0(-x 6)
x 6 = 8000+3(-x 1)+1(-x 2)+2(-x 3)+0(-x 4)+0(-x 5)+1(-x 6)

Данной системе соответствует таблица T 0 .

0 -1 0 0
0 0 -1 0
0 0 0 -1
1100 0.1 0.2 0.4
120 0.05 0.02 0.02
8000 3 1 2
0 -3 -5 -4

Симплексный метод в строчечной форме

В качестве начальной допустимой базы можно взять B 0 = <4, 5, 6>. Ей будет соответствовать следующая таблица.
1100 0.1 0.2 0.4 1 0 0
120 0.05 0.02 0.02 0 1 0
8000 3 1 2 0 0 1
0 -3 -5 -4 0 0 0

Матрица Q, составленная из коэффициентов системы, называется симплекс-таблицей , соответствующей базе В. Симплекс-таблица называется допустимой , или прямо допустимой , если q i0 ≥ 0. Элементы q i0 последней строки симплекс-таблицы Q называются относительными оценками .

Формы решения методом искусственного базиса

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

Формы решения методом искусственного базиса:

  1. M-метод (симплекс-таблица);
  2. двухэтапный или двухфазный симплекс-метод (Базовая форма записи, Модифицированный симплекс-метод, Симплекс-метод в столбцовой форме, Симплексный метод в строчечной форме).
Двойственный симплексный метод основан на теории двойственности (см. решение двойственной задачи) и используется для решения задач линейного программирования, свободные члены которых b i могут принимать любые значения, а система ограничений задана неравенствами смысла «≤», «≥» или равенством «=».

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

Инструкция для решения задач двойственным симплекс-методом . Выберите количество переменных и количество строк (количество ограничений), нажмите Далее. Полученное решение сохраняется в файле Word . При этом ограничения типа x i ≥0 не учитывайте.

Вместе с этим калькулятором также используют следующие:
Графический метод решения ЗЛП
Решение транспортной задачи
Решение матричной игры
С помощью сервиса в онлайн режиме можно определить цену матричной игры (нижнюю и верхнюю границы), проверить наличие седловой точки, найти решение смешанной стратегии методами: минимакс, симплекс-метод, графический (геометрический) метод, методом Брауна.
Экстремум функции двух переменных

Задачи динамического программирования
Распределить 5 однородных партий товара между тремя рынками так, чтобы получить максимальный доход от их продажи. Доход от продажи на каждом рынке G(X) зависит от количества реализованных партий товара Х и представлен в таблице.

Объем товара Х (в партиях) Доход G(X)
1 2 3
0 0 0 0
1 28 30 32
2 41 42 45
3 50 55 48
4 62 64 60
5 76 76 72

В P-методе оптимальный план получается в результате движения по псевдопланам. Псевдоплан - план, в котором условия оптимальности удовлетворяются, а среди значений базисных переменных x i имеются отрицательные числа. Алгоритм двойственного симплекс-метода включает следующие этапы:

  1. Составление псевдоплана . Систему ограничений исходной задачи приводят к системе неравенств смысла «≤».
  2. Проверка плана на оптимальность . Если в полученном опорном плане не выполняется условие оптимальности, то задача решается симплексным методом .
  3. Выбор ведущих строки и столбца . Среди отрицательных значений базисных переменных выбираются наибольшие по абсолютной величине. Строка, соответствующая этому значению, является ведущей.
  4. Расчет нового опорного плана . Новый план получается в результате пересчета симплексной таблицы методом Жордана-Гаусса . Далее переход к этапу 2.
Двойственный симплекс-метод заключается в построении оптимального недопустимого плана с последующим преобразованием его в допустимый, не нарушая оптимальности.

Алгоритм двойственного симплекс-метода

1) выбирают разрешающую строку по наибольшему по абсолютной величине отрицательному элементу столбца свободных членов;
2) выбирают разрешающий столбец по наименьшему по абсолютной величине отношению элементов L строки к отрицательным элементам разрешающей строки;
3) пересчитывают симплексную таблицу по правилам обычного симплекс-метода;
4) решение проверяют на оптимальность. Признаком получения допустимого оптимального решения является отсутствие в столбце свободных членов отрицательных элементов.
Замечания
1. Если в разрешающей строке нет ни одного отрицательного элемента, задача неразрешима.
2. Если ограничения задачи заданы неравенствами типа «≥», двойственный симплекс-метод позволяет избавиться от необходимости введения искусственных переменных.

Особенности двойственного симплекс-метода Используются при решении методом Гомори .

Пример №1 . Решить задачу, используя алгоритм двойственного симплекс-метода

L = x 1 + 4x 2 → min
2х 1 +3х 2 +4х 3 ≥ 20
5х 1 -х 2 +2х 3 ≥ 12
х 1 +2х 2 -х 3 ≤ 2
х 1 +4х 2 -2х 3 ≤ 1
х 1 , х 2 , х 3 ≥ 0

Составляем исходную симплексную таблицу.

Баз. x 1 x 2 x 3 x 4 x 5 x 6 x 7 Св.
x 4 -2 -3 -4 1 0 0 0 -20
x 5 -5 1 -2 0 1 0 0 -12
x 6 1 2 -1 0 0 1 0 2
x 7 -1 4 -2 0 0 0 1 1
L -1 -4 -1 0 0 0 0 0

Отсутствие в L строке положительных оценок свидетельствует об оптимальности исходного решения, а наличие в столбце свободных членов отрицательных элементов – о его недопустимости. Согласно алгоритму двойственного симплекс-метода выбираем разрешающую строку по наибольшему по абсолютной величине отрицательному элементу столбца свободных элементов. В нашем примере разрешающая строка – первая. Разрешающий столбец выбирается в соответствии с правилом, изложенным в пункте 2 схемы алгоритма. Разрешающий элемент равен (-4). После пересчета получаем следующую таблицу

Баз. х 1 х 2 х 3 х 4 х 5 х 6 х 7 Св.
х 3 1/2 3/4 1 -1/4 0 0 0 5
х 5 -4 5/2 0 -1/2 1 0 0 -2
х 6 3/2 11/4 0 -1/4 0 1 0 7
х 7 0 11/2 0 -1/2 0 0 1 11
L -1/2 -13/4 0 -1/4 0 0 0 5

Аналогично рассуждая, получим еще одну таблицу

Баз. х 1 х 2 х 3 х 4 х 5 х 6 х 7 Св.
х 3 0 17/16 1 -5/16 1/8 0 0 19/4
х 1 1 -5/8 0 1/8 -1/4 0 0 1/2
х 6 0 59/16 0 -7/16 3/8 1 0 25/4
х 7 0 11/2 0 -1/2 0 0 1 11
L 0 -57/16 0 -3/16 -1/8 0 0 21/4

Отсутствие в столбце свободных членов отрицательных элементов свидетельствует о том, что получено оптимальное решение Lmin=21/4, X min(1/2; 0; 19/4; 0; 25/4; 11).
Замечание . Если решение ЗЛП и недопустимо и неоптимально, то сначала получаем допустимое решение, используя алгоритм двойственного симплекс-метода, а затем по правилам обычного симплекс-метода получаем оптимальное решение.

Пример .
L = 5x 1 – x 2 – x 3 → max
или

Составляем исходную симплекс-таблицу

x 1 x 2 x 3 x 4 x 5 x 6 x 7 Св.
x 4 0 -1 -2 1 0 0 0 -9
x 5 1 -1 0 0 1 0 0 -1
x 6 -1 -1 3 0 0 1 0 -8
x 7 1 0 -1 0 0 0 1 4
L -5 1 4 0 0 0 0 0

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

Баз. x 1 x 2 x 3 x 4 x 5 x 6 x 7 Св.
x 2 0 1 2 -1 0 0 0 9
x 5 1 0 2 -1 1 0 0 8
x 6 -1 0 5 -1 0 1 0 1
x 7 -1 0 -1 0 0 0 1 4
L -5 0 2 1 0 0 0 -9
В столбце свободных членов нет отрицательных элементов, но в строке L есть отрицательная оценка (-5), значит решение допустимо, неоптимально.
Используем обычный симплекс-метод и получаем следующие таблицы
Баз. x 1 x 2 x 3 x 4 x 5 x 6 x 7 Св.
x 2 0 1 2 -1 0 0 0 9
х 5 0 0 3 -1 1 0 -1 4
х 6 0 0 -4 -1 0 1 1 5
x 1 1 0 -1 0 0 0 1 4
L 0 0 -3 1 0 0 5 11
Баз. x 1 x 2 x 3 x 4 x 5 x 6 x 7 Св.
x 2 0 1 0 -1/2 0 -1/2 -1/2 13/2
x 5 1 0 0 -1/4 1 -3/4 -7/4 1/4
x 6 0 0 1 -1/4 0 1/4 1/4 5/4
x 1 0 0 0 -1/4 0 1/4 5/4 21/4
L 0 0 0 1/4 0 3/4 23/4 59/4

Отсутствие в строке L отрицательных оценок свидетельствует о том, что получено оптимальное решение.
Lmax=59/4, X max(21/4; 13/2; 5/4; 0; 1/4; 0; 0).

Пример . Предприятию необходимо выпустить по плану продукции А1 единиц, А2 единиц, А3 единиц. Каждый вид изделия может производиться на двух машинах.
Как распределить работу машин, чтобы общие затраты времени на выполнение плана были минимальны? Дана матрица затрат и ресурс времени каждой машины. Записать модель исследуемой операции в форме, допускающей использование P–метода.

Известно, что содержание n питательных веществ A, B и С в рационе должно быть не менее m1, m2, m3 единиц соответственно. Указанные питательные вещества содержат три вида продуктов. Содержание единиц питательных веществ в одном килограмме каждого из видов продукта приведено в таблице. определите дневной рацион, обеспечивающий получение необходимого количества питательных веществ при минимальных денежных затратах.

Задание : Решить задачу, используя алгоритм двойственного симплекс-метода.
Приведем систему ограничений к системе неравенств смысла ≤, умножив соответствующие строки на (-1).
Определим минимальное значение целевой функции F(X) = 4x 1 + 2x 2 + x 3 при следующих условиях-ограничений.
- x 1 - x 2 ≤-10
2x 1 + x 2 - x 3 ≤8
переход к канонической форме).
В первом неравенстве смысла (≤) вводим базисную переменную x 4 . Во втором неравенстве смысла (≤) вводим базисную переменную x 5 .
-1x 1 -1x 2 + 0x 3 + 1x 4 + 0x 5 = -10
2x 1 + 1x 2 -1x 3 + 0x 4 + 1x 5 = 8

A =
-1 -1 0 1 0
2 1 -1 0 1
Решим систему уравнений относительно базисных переменных:
x 4 , x 5 ,
Полагая, что свободные переменные равны нулю, получим первый опорный план:
X1 = (0,0,0,-10,8)
Базис B x 1 x 2 x 3 x 4 x 5
x 4 -10 -1 -1 0 1 0
x 5 8 2 1 -1 0 1
F(X0) 0 -4 -2 -1 0 0

Итерация №1

План 0 в симплексной таблице является псевдопланом, поэтому определяем ведущие строку и столбец.


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

Базис B x 1 x 2 x 3 x 4 x 5
x 4 -10 -1 -1 0 1 0
x 5 8 2 1 -1 0 1
F(X0) 0 -4 -2 -1 0 0
θ 0 -4: (-1) = 4 -2: (-1) = 2 - - -

4. Пересчет симплекс-таблицы. Выполняем преобразования симплексной таблицы методом Жордано-Гаусса .
Базис B x 1 x 2 x 3 x 4 x 5
x 2 10 1 1 0 -1 0
x 5 -2 1 0 -1 1 1
F(X0) 20 -2 0 -1 -2 0

Представим расчет каждого элемента в виде таблицы:
B x 1 x 2 x 3 x 4 x 5
-10: -1 -1: -1 -1: -1 0: -1 1: -1 0: -1
8-(-10 1):-1 2-(-1 1):-1 1-(-1 1):-1 -1-(0 1):-1 0-(1 1):-1 1-(0 1):-1
0-(-10 -2):-1 -4-(-1 -2):-1 -2-(-1 -2):-1 -1-(0 -2):-1 0-(1 -2):-1 0-(0 -2):-1

Итерация №2
1. Проверка критерия оптимальности.
План 1 в симплексной таблице является псевдопланом, поэтому определяем ведущие строку и столбец.
2. Определение новой свободной переменной.
Среди отрицательных значений базисных переменных выбираем наибольший по модулю.
Ведущей будет вторая строка, а переменную x 5 следует вывести из базиса.
3. Определение новой базисной переменной. Минимальное значение θ соответствует третьему столбцу, т.е. переменную x 3 необходимо ввести в базис.
На пересечении ведущих строки и столбца находится разрешающий элемент (РЭ), равный (-1).

Базис B x 1 x 2 x 3 x 4 x 5
x 2 10 1 1 0 -1 0
x 5 -2 1 0 -1 1 1
F(X0) 20 -2 0 -1 -2 0
θ 0 - - -1: (-1) = 1 - -

4. Пересчет симплекс-таблицы. Выполняем преобразования.
Базис B x 1 x 2 x 3 x 4 x 5
x 2 10 1 1 0 -1 0
x 3 2 -1 0 1 -1 -1
F(X1) 22 -3 0 0 -3 -1
Или более подробно:
B x 1 x 2 x 3 x 4 x 5
10-(-2 0):-1 1-(1 0):-1 1-(0 0):-1 0-(-1 0):-1 -1-(1 0):-1 0-(1 0):-1
-2: -1 1: -1 0: -1 -1: -1 1: -1 1: -1
20-(-2 -1):-1 -2-(1 -1):-1 0-(0 -1):-1 -1-(-1 -1):-1 -2-(1 -1):-1 0-(1 -1):-1

В базисном столбце все элементы положительные. Переходим к основному алгоритму симплекс-метода.

Итерация №3
1. Проверка критерия оптимальности.
Среди значений индексной строки нет положительных. Поэтому эта таблица определяет оптимальный план задачи.

Базис B x 1 x 2 x 3 x 4 x 5
x 2 10 1 1 0 -1 0
x 3 2 -1 0 1 -1 -1
F(X1) 22 -3 0 0 -3 -1

Оптимальный план можно записать так: x 1 = 0, x 2 = 10, x 3 = 2
F(X) = 2 10 + 1 2 = 22

Пример №2 . Задание.
5x 1 + 6x 2 ≥1
15x 1 ≥1
7x 1 + 12x 2 ≥1
Приведем систему ограничений к системе неравенств смысла ≤, умножив соответствующие строки на (-1).
Определим минимальное значение целевой функции F(X) = x 1 + x 2 при следующих условиях-ограничений.
- 5x 1 - 6x 2 ≤-1
- 15x 1 ≤-1
- 7x 1 - 12x 2 ≤-1
Для построения первого опорного плана систему неравенств приведем к системе уравнений путем введения дополнительных переменных (переход к канонической форме ).
В 1-м неравенстве смысла (≤) вводим базисную переменную x 3 . В 2-м неравенстве смысла (≤) вводим базисную переменную x 4 . В 3-м неравенстве смысла (≤) вводим базисную переменную x 5 .
-5x 1 -6x 2 + 1x 3 + 0x 4 + 0x 5 = -1
-15x 1 + 0x 2 + 0x 3 + 1x 4 + 0x 5 = -1
-7x 1 -12x 2 + 0x 3 + 0x 4 + 1x 5 = -1
Матрица коэффициентов A = a(ij) этой системы уравнений имеет вид:

A= -5 -6 1 0 0
-15 0 0 1 0
-7 -12 0 0 1
Базисные переменные это переменные, которые входят только в одно уравнение системы ограничений и притом с единичным коэффициентом.

x 3 , x 4 , x 5 ,
Полагая, что свободные переменные равны 0, получим первый опорный план:
X1 = (0,0,-1,-1,-1)
Базисное решение называется допустимым, если оно неотрицательно.
Базис B x 1 x 2 x 3 x 4 x 5
x 3 -1 -5 -6 1 0 0
x 4 -1 -15 0 0 1 0
x 5 -1 -7 -12 0 0 1
F(X0) 0 -1 -1 0 0 0

Пример решения Р-методом

Условие задачи . Предприятию необходимо выпустить по плану продукции А 1 – 500 единиц, А 2 – 300 единиц, А 3 – 450 единиц. Каждый вид изделия может производиться на двух машинах.
Как распределить работу машин, чтобы общие затраты времени на выполнение плана были минимальны? Дана матрица затрат и ресурс времени каждой машины. Записать модель исследуемой операции в форме, допускающей использование P – метода.
Составим математическую модель задачи.
2x 11 + 3x 12 +3x 13 ≤ 1500
5x 21 + 4x 22 +x 23 ≤ 1000
x 11 + x 21 ≥ 500
x 12 + x 22 ≥ 300
x 13 + x 23 ≥ 450
Целевая функция:
2x 11 + 3x 12 +3x 13 + 5x 21 + 4x 22 +x 23 → min
Запишем в виде, решаемом Р-методом.
2x 11 + 3x 12 +3x 13 ≤ 1500
5x 21 + 4x 22 +x 23 ≤ 1000
-x 11 -x 21 ≤ -500
-x 12 -x 22 ≤ -300
-x 13 -x 23 ≤ -450
Определим минимальное значение целевой функции F(X) = 2x 1 +3x 2 +3x 3 +5x 4 +4x 5 +x 6 при следующих условиях-ограничений.
2x 1 +3x 2 +3x 3 ≤1500
5x 4 +4x 5 +x 6 ≤1000
-x 1 -x 4 ≤-500
-x 2 -x 5 ≤-300
-x 3 -x 6 ≤-450
Для построения первого опорного плана систему неравенств приведем к системе уравнений путем введения дополнительных переменных (переход к канонической форме).
2x 1 + 3x 2 + 3x 3 + 0x 4 + 0x 5 + 0x 6 + 1x 7 + 0x 8 + 0x 9 + 0x 10 + 0x 11 = 1500
0x 1 + 0x 2 + 0x 3 + 5x 4 + 4x 5 + 1x 6 + 0x 7 + 1x 8 + 0x 9 + 0x 10 + 0x 11 = 1000
-1x 1 + 0x 2 + 0x 3 -1x 4 + 0x 5 + 0x 6 + 0x 7 + 0x 8 + 1x 9 + 0x 10 + 0x 11 = -500
0x 1 -1x 2 + 0x 3 + 0x 4 -1x 5 + 0x 6 + 0x 7 + 0x 8 + 0x 9 + 1x 10 + 0x 11 = -300
0x 1 + 0x 2 -1x 3 + 0x 4 + 0x 5 -1x 6 + 0x 7 + 0x 8 + 0x 9 + 0x 10 + 1x 11 = -450
Матрица коэффициентов A = a(ij) этой системы уравнений имеет вид:

2

3

3

0

0

0

1

0

0

0

0

0

0

0

5

4

1

0

1

0

0

0

-1

0

0

-1

0

0

0

0

1

0

0

0

-1

0

0

-1

0

0

0

0

1

0

0

0

-1

0

0

-1

0

0

0

0

1
Базисные переменные это переменные, которые входят только в одно уравнение системы ограничений и притом с единичным коэффициентом.
Решим систему уравнений относительно базисных переменных:
x 7 , x 8 , x 9 , x 10 , x 11 ,
Полагая, что свободные переменные равны 0, получим первый опорный план:
X1 = (0,0,0,0,0,0,1500,1000,-500,-300,-450)

План

Базис

В

x 1

x 2

x 3

x 4

x 5

x 6

x 7

x 8

x 9

x 10

x 11

0

x 7

1500

2

3

3

0

0

0

1

0

0

0

0


x 8

1000

0

0

0

5

4

1

0

1

0

0

0


x 9

-500

-1

0

0

-1

0

0

0

0

1

0

0


x 10

-300

0

-1

0

0

-1

0

0

0

0

1

0


x 11

-450

0

0

-1

0

0

-1

0

0

0

0

1

Индексная строка

F(X0)

0

-2

-3

-3

-5

-4

-1

0

0

0

0

0

θ



2



5







Оптимальный план можно записать так: x 5 = 133.33, x 8 = 16.67, x 1 = 500, x 2 = 166.67, x 6 = 450
F(X) = 2*500 + 3*166.67 + 4*133.33 + 1*450 = 2483.33

Пример №1 . Предприятию необходимо выпустить по плану продукции, не менее, чем: А 1 - 500 единиц, А2 – 300 единиц, А 3 – 450 единиц. Каждый вид изделия может производиться на двух машинах. Как распределить работу машин, чтобы общие затраты времени на выполнение плана были минимальными, если задана матрица затрат. Ресурс времени каждой машины приведен справа от таблицы. Записать модель исследуемой операции в форме, допускающей использование Р-метода. Решить задачу Р-методом.

Пример №2 . Из 4 видов кормов необходимо составить рацион, в состав которого должно входить не менее в1 ед. вещества А, в 2 ед. вещества В и в 3 ед. вещества С. Количество единиц вещества, содержащегося в 1 кг корма каждого вида, указано в соответствующей таблице. В ней же приведена цена 1 кг корма каждого вида.
Составить рацион, содержащий не менее нужного количества указанных питательных веществ и имеющий минимальную стоимость.

11.4. ДВОЙСТВЕННЫЙ СИМПЛЕКС-МЕТОД

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

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

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

Рассматривая это условие с учетом двойственности, можно записать

.

Таким образом, если , то . Это означает, что, когда решение прямой задачи неоптимальное, решение двойственной задачи недопустимое. С другой стороны при . Отсюда следует, что оптимальному решению прямой задачи соответствует допустимое решение двойственной задачи.

Это позволило разработать новый метод решения задач линейного программирования, при использовании которого сначала получается недопустимое, но «лучшее, чем оптимальное» решение (в обычном симплекс-методе сначала находится допустимое , но неоптимальное решение). Новый метод, получивший название двойственного симплекс-метода , обеспечивает выполнение условия оптимальности решения и систематическое «приближение» его к области допустимых решений. Когда полученное решение оказывается допустимым, итерационный процесс вычислений заканчивается, так как это решение является и оптимальным.

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

Пример . Найти минимум функции

при ограничениях

.

Перейдем к канонической форме:

при ограничениях

Начальная симплекс-таблица имеет вид

Базисные

переменные

x 1

x 2

x 3

x 4

x 5

Решение

x 3

x 4

x 5

–3

–4

–1

–3

–3

–6

–2

–1

Начальное базисное решение оптимальное, но не допустимое.

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

Условие допустимости . В качестве исключаемой переменной выбирается наибольшая по абсолютной величине отрицательная базисная переменная (при наличии альтернатив выбор делается произвольно). Если все базисные переменные неотрицательные, процесс вычислений заканчивается, так как полученное решение допустимое и оптимальное.

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

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

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

Переменные

x 1

x 2

x 3

x 4

x 5

Уравнение

x 4 -уравнение

–2

–4

–1

–3

Отношение

В качестве включаемой переменной выбирается x 2 . Последующее преобразование строк приводит к новой симплекс-таблице:

Базисные

переменные

x 1

x 2

x 3

x 4

x 5

Решение

x 3

x 2

x 5

–1

–1

Новое решение также оптимальное, но все еще недопустимое. В качестве новой исключаемой переменной выберем (произвольно) x 3 . Определим включаемую переменную.

Переменные

x 1

x 2

x 3

x 4

x 5

Уравнение

x 4 -уравнение

отношение




Top