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

Вайбер на компьютер 23.07.2019
Вайбер на компьютер

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

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

Описание алгоритма . Задача ЛП должна быть задана в канонической форме (1.1), (1.2) или сведена к ней. Отыскивают сопряженный базис двойственной задачи и обозначают его . Разложим А 0 по векторам базиса А і1 ,.,А іm в соответствии с (1.9) и найдем псевдоплан прямой задачи.

Исследуем знаки {х i0 } . Если имеет место случай , то начальный псевдоплан является оптимальным планом прямой задачи. При наличии отрицательных компонент {х i0 } вычисляем коэффициенты разложения векторов A j по векторами сопряженного базиса {х ij } в соответствии с (1.8).

Если для некоторого r такого, что х r0 <0 , все то задача не разрешима (второй случай), и на этом процесс вычислений заканчивается.

Если имеет место третий случай (то есть для каждого r такого, что х r0 <0 , по крайней мере одна из компонент х rj <0 ), то переходим к второму этапу. С этой целью составляют таблицу k -й итерации (аналогичную симплекс-таблице ), которая состоит (m+2) строк и (n+1) -го столбца (табл. 6.1).

Столбец В x таблицы, как обычно, содержит векторы {A i } базиса псевдоплана хk , а столбец А 0 - базисные компоненти псевдоплана {х i0 (k)} . Строка (m+1) -индексная, ее заполняют параметрами , являющимися оценками векторов А j :

величина - значение целевой функции при псевдоплане

Итерацию k завершают заполнением главной части таблицы (от первой до (m+1) -й строк).

Таблица 6.1.
C C 1 C 2 . C j . C n
B x A 0 A 1 A 2 . A j . A n
C 1 X 1 X 10 X 11 X 12 . X 1j . X 1n
C 2 X 2 X 20 X 21 X 22 . X 2j . X 2n
. . . . . . . . .
C i X i X i0 X i1 X i2 . X ij . X in
. . . . . . . . .
C m X m X m0 X m1 X m2 . X mj . X mn
. .
. .

На первом этапе (k+1) -и итерации выясняют, имеет ли место первый, второй или третий случай.

В третьем случае переходим ко второму этапу. Сначала определяют вектор А r , который необходимо вывести из базиса. Его индекс r определяют из условия

В строке заполняют лишь те позиции, для которых x rj <0 . Вектор А l , который должен быть введен в базис, находят из условия

Определив направляющую строку r и столбец l , вычисляют элементы главной части таблицы (k+1) -й итерации по рекуррентным соотношениям

(1.15)

Где x ri - направляющий элемент преобразования.

Вычислительная схема алгоритма двойственного симплекс-метода похожа на вычислительную схему симплекс-метода . Аналогичны и формы таблиц.

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

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

Отметим некоторые важные свойства двойственного симплекс-метода .

В отличие от прямого

Cтраница 1


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

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

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

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

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

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

Используя двойственный симплекс-метод, находят решение задачи, получающейся из задачи (32) - (34) в результате присоединения дополнительного ограничения.  

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

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

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

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

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

Если используется двойственный симплекс-метод, то нам надо, имея двойственное допустимое у, получить неравенство, которому текущее у не удовлетворяет. Таким образом, вычисления состоят из двух частей. Вторая часть - вспомогательные вычисления (порожденных) неравенств, используемых в первой части. Если воспользоваться текущим Y в графе Н (G, т), у), можно найти кратчайший путь от 0 до g0 длины yt Yo - Тогда неравенство yt То не выполняется. Это неравенство-добавляется к неравенствам первой части. Неравенство необходимо видоизменить, прежде чем записать его в конец двойственной симплексной таблицы.  

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

(54)

при условиях

(55)

(56)

где


и среди чисел имеются отрицательные .

В данном случае есть решение системы линейных уравнений (55). Однако это решение не является планом задачи (54) – (56), так как среди его компонент имеются отрицательные числа.

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

Определение 14.

Решение системы линейных уравнений (55), определяемое базисом , называется псевдопланом задачи (54) – (56), если для любого

Теорема 11.

Если в псевдоплане , определяемом базисом , есть хотя бы одно отрицательное число такое, что все , то задача (54) – (56) вообще не имеет планов.

Теорема 12.

Если в псевдоплане , определяемом базисом , имеются отрицательные числа такие, что для любого из них существуют числа a ij <0, то можно перейти к новому псевдоплану , при котором значение целевой функции задачи (54) – (56) не уменьшится.

Сформулированные теоремы дают основание для построения алгоритма двойственного симплекс-метода.

Итак, продолжим рассмотрение задачи (54) – (56). Пусть – псевдоплан этой задачи. На основе исходных данных составляют симплекс-таблицу (табл. 15), в которой некоторые элементы столбца вектора являются отрицательными числами. Если таких чисел нет, то в симплекс-таблице записан оптимальный план задачи (54) – (56), поскольку, по предположению, все . Поэтому для определения оптимального плана задачи при условии, что он существует, следует произвести упорядоченный переход от одной симплекс–таблицы к другой до тех пор, пока из столбца вектора не будут исключены отрицательные элементы. При этом все время должны оставаться неотрицательными все элементы (т +1)–й строки, т.е. для любого

Таким образом, после составления симплекс-таблицы проверяют, имеются ли в столбце вектора отрицательные числа. Если их нет, то найден оптимальный план исходной задачи. Если же они имеются (что мы и предполагаем), то выбирают наибольшее по абсолютной величине отрицательное число. В том случае, когда таких чисел несколько, берут какое–нибудь одно из них: пусть это число b l . Выбор этого числа определяет , исключаемый из базиса, т. е. в данном случае из базиса выводится вектор P l . Чтобы определить, какой вектор следует ввести в базис, находим , где

Пусть это минимальное значение принимается при тогда в базис вводят вектор Р r . Число является разрешающим элементов. Переход к новой симплекс–таблице производят по обычным правилам симплексного метода. Итерационный процесс продолжают до тех пор, пока в столбце вектора Р 0 не будет больше отрицательных чисел. При этом находят оптимальный план исходной задачи, а следовательно, и двойственной. Если на некотором шаге окажется, что в i –й строке симплекс–таблицы (табл. 15) в столбце вектора Р 0 стоит отрицательное число b i , а среди остальных элементов этой строки нет отрицательных, то исходная задача не имеет решения.

Таким образом, отыскание решения задачи (54) – (56) двойственным симплекс-методом включает следующие этапы:

1. Находят псевдоплан задачи.

2. Проверяют этот псевдоплан на оптимальность. Если псевдоплан оптимален , то найдено решение задачи. В противном случае либо устанавливают неразрешимость задачи, либо переходят к новому псевдоплану .

3. Выбирают разрешающую строку с помощью определения наибольшего по абсолютной величине отрицательного числа столбца вектора Р 0 и разрешающий столбец с помощью нахождения наименьшего по абсолютной величине отношения элементов (m +1)–и строки к соответствующим отрицательным элементам разрешающей строки.

4. Находят новый псевдоплан и повторяют все действия начиная с этапа 2.

Таблица 15


Пример 17.

Найти максимальное значение функции при условиях

Решение. Запишем исходную задачу линейного программирования в форме основной задачи: найти максимум функции при условиях

Умножим второе и третье уравнения системы ограничений последней задачи на –1 и перейдем к следующей задаче: найти максимум функции

(57)

при условиях

(58)

(59)

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

(60)

при условиях

(61)

(62)

Выбрав в качестве базиса векторы и , составим симплексную таблицу (табл. 16) для исходной задачи (57) – (59).

Таблица 16

i

Базис

С б

Р 0

P 1

P 2

P 3

p 4

p 5

p 3

P 4

p 5

–4

–6

–1

–1

–2

Из этой таблицы видим, что планом двойственной задачи (57) – (59) является . При этом плане Т ак как в столбце вектора Р 0 таблица 16 имеются два отрицательных числа (–4 и –6), а в 4–й строке отрицательных чисел нет, то в соответствии с алгоритмом двойственного симплекс–метода переходим к новой симплекс–таблице. (В данном случае это можно сделать, так как в строках векторов Р 4 и Р 5 имеются отрицательные числа. Если бы они отсутствовали, то задача была бы неразрешима. Вектор, исключаемый из базиса, определяется наибольшим по абсолютной величине отрицательным числом, стоящим в столбце вектора Р 0 . В данном случае это число –6. Следовательно, из базиса исключаем вектор Р 5 . Чтобы определить, какой вектор необходимо ввести в базис, находим где Имеем

Значит, в базис вводим вектор P 2 . Переходим к новой симп екс–таблице (табл. 17).

Таблица 17

i

Базис

С б

Р 0

P 1

P 2

P 3

p 4

p 5

p 3

P 4

p 2

–7

–3/2

–1/2

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

Так как в столбце вектора Р 0 таблицы 17 стоит отрицательное число –7, то рассмотрим элементы 2–й строки. Среди этих чисел есть одно отрицательное –3/2. Если бы такое число отсутствовало, то исходная задача была бы неразрешима. В данном случае переходим к новой симплекс-таблице (табл. 18).

Таблица 18

i

Базис

С б

Р 0

P 1

P 2

P 3

p 4

p 5

p 3

P 1

p 2

14/3

32/3

–2/3

–1/3

–1/3

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

Пример 18.

Найти максимальное значение функции при условиях

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

Взяв в качестве базиса векторы Р 3 , Р 4 и Р 5 , составляем симплекс-таблицу (табл. 19).

Таблица 19

i

Базис

С б

Р 0

P 1

P 2

P 3

p 4

p 5

p 3

P 4

p 5

–12

–18

–3

–1

В 4-й строке таблице 19 нет отрицательных чисел. Следовательно, если бы в столбце вектора Р 0 не было отрицательных чисел, то в таблице 19 был бы записан оптимальный план. Поскольку в указанном столбце отрицательные числа имеются и такие же числа содержатся в соответствующих строках, переходим к новой симплекс–таблице (таблица 20). Для этого исключим из базиса вектор Р 5 и введем в базис вектор Р 1 . В результате получим псевдоплан X=(6;0;-24;4)

Таблица 20

i

Базис

С б

Р 0

P 1

P 2

P 3

p 4

p 5

p 3

P 4

p 1

–24

–2/3

–1/3

Так как в строке вектора Р 3 нет отрицательных чисел, то исходная задача не имеет решения.

Так как есть три единичных вектора, то
можно сразу записать опорный план
Х=(0,0,0,360,192,180).
Составим нулевую симплекс-таблицу

Полученный опорный план проверяем
на оптимальность.
Вычисляем значение целевой функции и
симплекс-разности.
F0 c P0 0 360 0 192 0 180 0,
1 z1 c1 c P1 c1 9,
2 z2 c2 cP2 c2 10,...

Как видно из 0-й таблицы отличными от нуля
являются переменные x4 , x5 , x6 , а x , x , x
1
2
3
равны нулю, т.к. они небазисные, а свободные.
Дополнительные же переменные x4 , x5 , x6
принимают свои значения в соответствии с
ограничениями.
Эти значения переменных отвечают такому
«плану», при котором ничего не производится, сырье
не используется и значение целевой функции равно
нулю, т. е. стоимость произведенной продукции
отсутствует.
Такой план, конечно, не является оптимальным.
Это видно и из 4-й строки таблицы, в которой
имеется три отрицательных оценки -9, -16 и -10.

10.

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

11.

Если включить в план производства по
одному изделию В и С, то общая стоимость
изготовляемой продукции возрастет
соответственно на 10 и 16 д.е. Поэтому с
экономической точки зрения целесообразным
является включение в план изделий С.
Это же необходимо сделать и с той точки
зрения, что -16 является наименьшей
отрицательной оценкой. Значит, в базис
введем вектор P3 .

12.

Найдем число Q .
360 192 180
Q min
;
;
min 30; 24;60
3
12 8
Введем его в последний столбец таблицы.
Число 24 соответствует вектору P5 .
192/8=24 с экономической точки зрения
означает, какое количество изделий С
предприятие может изготовлять с учетом
норм расхода и имеющихся объемов сырья
каждого вида.

13.

Так как сырья каждого вида имеется
соответственно 360, 192 и 180 кг, а на одно
изделие С требуется затратить сырья каждого
вида 12, 8 и 3 кг, то максимальное число
изделий С, которое может быть изготовлено
предприятием равно
min{360/12,192/8,180/3}=192/8=24, т.е.
ограничивающим фактором для производства
изделий С является имеющийся объем сырья
2-го вида. С учетом его предприятие может
производить 24 изделия С.При этом сырье 2го вида будет полностью использовано и,
значит, вектор подлежит исключению из
P5
базиса.

14.

Составляем следующую таблицу. В ней
разрешающей является вторая строка,
а разрешающим столбцом –третий. На
их пересечении стоит элемент 8.
Разделим вторую строку на 8, а затем
обнулим по методу Жордана- Гаусса
или по формулам треугольника третий
столбец.

15.

16.

Подсчитаем симплекс-разности и заполним 4ю строку таблицы.
При данном плане производства
изготовляется 24 изделия С и остается
неиспользованным 72 кг сырья 1-го и 108 кг
сырья 3-го вида. 2-й вид сырья использован
полностью. Стоимость всей продукции при
этом плане составляет 384 д.е. Указанные
числа записаны в столбце План. Это опять
параметры задачи, но они претерпели
изменения. Изменились и данные других
столбцов. Их экономическое содержание
стало еще более сложным.

17.

Имеется одна отрицательная оценка -2.
План можно улучшить. Введем в базис
вектор P2 . Вычислим
72 24 108
Q min ;
;
min 8; 48;72 8.
9 1/ 2 3 / 2
.
Выводим из базиса P4 .

18.

Разрешающими будут 1-я строка и 2-й
столбец. Разрешающий элемент 9.
Разделим на 9 1-ю строку, заполним
1-ю строку новой таблицы, затем
обнулим 2-й столбец. Для этого
умножим 1-ю строку на (-1/2) и
прибавим ко 2-й, а затем умножим 1-ю
строку на (-3/2) и прибавим к 3-й строке.
Заполним таблицу 2.

19.

20.

В этом мы убеждаемся,
вычисляя симплекс-разности
1 cP1 c1 10 1 16 0.25 9 5,
2 cP2 c2 10 1 16 0 10 0,
3 cP3 c3 10 0 16 1 0 0 16 0,
4 cP4 c4 10 1/ 9 16 1/ 8 0 (1/ 6) 2 / 9,
5 cP5 -c5 =10 (-1/6)+16 5/24+0(-1/2)=5/3,
6 0.

21.

Оптимальным планом производства не
предусмотрен выпуск изделий А. Введение в
план выпуска продукции вида А привело бы к
уменьшению указанной общей стоимости.
Это видно из 4-й строки столбца, где число 5
показывает, что при данном плане включение
в него выпуска единицы изделия А приводит
лишь к уменьшению общей величины
стоимости на 5 д.е.
Итак, план предусматривает выпуск 8 изделий
В и 20 изделий С. Сырье видов 1 и 2
используется целиком, а вида 3неиспользованным остается 96 кг.

22. ДВОЙСТВЕННЫЕ ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ

Каждой ЗЛП можно поставить в соответствие
задачу, называемую двойственной к исходной
задаче.
Рассмотрим задачу об использовании
ресурсов. Предположим, что предприятие А
производит n видов продукции, величина
выпуска которых определяется переменными
x1 , x2 , ..., xn
.
В производстве используются m различных
видов ресурсов, объем которых ограничен
величинами b1 , b2 , ..., bn .

23.

Известны нормы затрат каждого ресурса на единицу
каждого вида продукции, образующие матрицу,
a11
a21
A
...
am1
a12
a22
...
am 2
... a1n
... a2 n
... ...
... amn
а также стоимость единицы продукции каждого вида
c1 , c2 , ..., cn
Требуется организовать производство так, чтобы
предприятию А была обеспечена максимальная
прибыль.

24.

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

25.

В математической форме задача
записывается следующем виде:
F c1 x1 c2 x2 ... c j x j ... cn xn max
при условиях
a11 x1 a12 x2 ... a1 j x j ... a1n xn b1 ,
a21 x2 a22 x2 ... a2 j x j ... a2 n xn b2 ,
.
...............................................................,
a x a x ... a x ... a x b
mj j
mn n
m
m1 1 m 2 2
x j 0, j 1, n.

26.

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

27.

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

28.

т.е.какова должна быть оценка единицы
каждого из ресурсов y1 , y2 , ..., yn ,
чтобы при заданных объемах
имеющихся ресурсов bi , при заданных
стоимостях c j (j 1, n) единицы
продукции и нормах расходов aij
минимизировать общую оценку затрат
на всю продукцию.

29. Мат. модель двойственной задачи

В математической форме задача
записывается в виде:
*
F b1 y1 b2 y2 ... bm ym min
при ограничениях
a11 y1 a21 y2 ... am1 ym c1 ,
a y a y ... a y c ,
m2 m
2
12 1 22 2
..................................................
a y a y ... a y c ,
mn m
n
1n 1 2 n 2
yi 0, i 1, 2,..., m.

30. Экономический смысл переменных двойственной задачи

Переменные yi двойственной задачи в литературе
могут иметь различные названия:учетные, неявные,
теневые, объективно обусловленные оценки,
двойственные оценки или «цены» ресурсов.
Эти две задачи образуют пару взаимно
двойственных задач, любая из которых может
рассматриваться как исходная. Решение одной
задачи дает оптимальный план производства
продукции, а решение другой – оптимальную
систему оценок сырья, используемого для
производства этой продукции.

31.

Двойственные задачи линейного
программирования называют
симметричными, если они удовлетворяют
следующим свойствам:
число переменных в двойственной задаче
равно числу ограничений исходной задачи, а
число ограничений двойственной задачи
равно числу равно числу переменных в
исходной;
в одной задаче ищется максимум целевой
функции, в другой – минимум;
коэффициенты при переменных в целевой
функции одной задачи являются свободными
членами системы ограничений другой задачи;

32.

в каждой задаче система ограничений задается в
виде неравенств, причем, в задаче на отыскание
максимума, все неравенства вида «≤», а в задаче на
отыскание минимума, все неравенства вида «≥»;
матрица коэффициентов системы ограничений
получается одна из другой путем транспонирования;
каждому ограничению одной задачи соответствует
переменная другой задачи, номер переменной
совпадает с номером ограничения;
условия не отрицательности переменных
сохраняются в обеих задачах;

33. Решение симметричных двойственных задач

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

34. Экономическое содержание первой теоремы двойственности

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

35. Метод одновременного решения пары двойственных задач

Исходная задача: Двойственная задача:
F c1x1 c2 x2 ... c j x j ... F * b1 y1 b2 y2 ...
cn xn max
a11 x1 a12 x2 ... a1n xn xn 1 b1 ,
a21 x1 a22 x2 ... a2 n xn xn 2 b2 ,
..........................................................
a x a x ... a x x b ,
mn n
n m
m
m1 1 m 2 2
x j 0, j 1, 2,..., n m.
bm ym min,
a11 y1 a21 y2 ... am1 ym ym 1 c1 ,
a y a y ... a y y c ,
m2 m
m 2
2
12 1 22 2
.............................................................
a y a y ... a y y c ,
mn m
m n
n
1n 1 2 n 2
yi 0, i 1, 2,..., m n.

36.

Число переменных в задачах одинаково
и равно m + n. В исходной задаче
базисными переменными являются

переменные xn 1 , xn 2 , ..., xn m
,
а в двойственной задаче –
вспомогательные неотрицательные
переменные yn 1 , yn 2 , ..., yn m .
Базисным переменным одной задачи
соответствуют свободные переменные
другой задачи, и наоборот.

37.

38.

При решении ЗЛП табличным симплексметодом решение двойственной задачи
содержится в последней строке таблицы.
Это j.
Причем основные переменные двойственной

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

39. Пример.

Сформулируем модель задачи, двойственной
к задаче из примера 2 (начало лекции):
Найти максимум функции

40.

41.

Переменные исходной задачи x1 , x2 , x3 это количество изделий А,В и С. Введем
переменные двойственной задачи y1 , y2 , y3
Найти минимум функции
F * 360 y1 192 y2 180 y3 min
при ограничениях
18 y1 6 y2 5 y3 9,
15 y1 4 y2 3 y3 10,
12 y 8 y 3 y 16,
2
3
1
y1 , y2 , y3 0.

42. Рассмотрим последнюю таблицу исходной задачи

43.

Значение y1 в последней строке столбца P4 ,
т.е. y1 2 ;
9y 5
значение 2 3 в последней строке столбца P5,
значение y3 0 в последней строке столбца P6 .
Остальные значения находим в столбцах 1,2,3.
2 5
Y (; ;0;5;0;0)
9 3
При этом
2
5
F 360 192 180 0 0 5 0 0 0 0 400
9
3
*
-это минимальные затраты на всю продукцию.
2/9 и 5/3 –это теневые цены сырья 1-го и 2-го
видов соответственно.

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

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

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

Решение задач симплекс-методом: примеры онлайн

Задача 1. Компания производит полки для ванных комнат двух размеров — А и В. Агенты по продаже считают, что в неделю на рынке может быть реализовано до 550 полок. Для каждой полки типа А требуется 2 м2 материала, а для полки типа В — 3 м2 материала. Компания может получить до 1200 м2 материала в неделю. Для изготовления одной полки типа А требуется 12 мин машинного времени, а для изготовления одной полки типа В — 30 мин; машину можно использовать 160 час в неделю. Если прибыль от продажи полок типа А составляет 3 денежных единицы, а от полок типа В — 4 ден. ед., то сколько полок каждого типа следует выпускать в неделю?

Составление математической модели и решение ЗЛП симплекс-методом (pdf, 33 Кб)

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

Решение симплекс-методом с искусственным базисом (pdf, 45 Кб)

Задача 3. Предприятие производит 3 вида продукции: А1, А2, А3, используя сырьё двух типов. Известны затраты сырья каждого типа на единицу продукции, запасы сырья на планируемый период, а также прибыль от единицы продукции каждого вида.

  1. Сколько изделий каждого вида необходимо произвести, чтобы получить максимум прибыли?
  2. Определить статус каждого вида сырья и его удельную ценность.
  3. Определить максимальный интервал изменения запасов каждого вида сырья, в пределах которого структура оптимального плана, т.е. номенклатура выпуска, не изменится.
  4. Определить количество выпускаемой продукции и прибыль от выпуска при увеличении запаса одного из дефицитных видов сырья до максимально возможной (в пределах данной номенклатуры выпуска) величины.
  5. Определить интервалы изменения прибыли от единицы продукции каждого вида, при которых полученный оптимальный план не изменится.

Решение задачи линейного программирования с экономическим анализом (pdf, 163 Кб)

Задача 4. Решить задачу линейного программирования симплексным методом:

Решение табличным симплекс-методом с поиском опорного плана (pdf, 44 Кб)

Задача 5. Решить задачу линейного программирования симплекс-методом:

Решение табличным симплекс-методом (pdf, 47 Кб)

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

Решение ручным симплекс-методом (pdf, 60 Кб)

Задача 7. Решить задачу модифицированным симплекс-методом.
Для производства двух видов изделий А и Б используется три типа технологического оборудования. На производство единицы изделия А оборудование первого типа используется а1=4 часов, оборудование второго типа а2=8 часов, а оборудование третьего типа а3=9 часов. На производство единицы изделия Б оборудование первого типа используется б1=7 часов, оборудование второго типа б2=3 часов, а оборудование третьего типа б3=5 часов.
На изготовление этих изделий оборудование первого типа может работать не более чем t1=49 часов, оборудование второго типа не более чем t2=51 часов, оборудование третьего типа не более чем t3=45 часов.
Прибыль от реализации единицы готового изделия А составляет АЛЬФА=6 рублей, а изделия Б – БЕТТА=5 рублей.
Составить план производства изделий А и Б, обеспечивающий максимальную прибыль от их реализации.

Решение модифицированным симплекс-методом (pdf, 67 Кб)

Задача 8. Найти оптимальное решение двойственным симплекс-методом

Решение двойственным симплекс-методом (pdf, 43 Кб)

Примеры решений задач по линейному программированию

Методы решения задачи линейного программирования

Опорные решения задачи линейного программирования

Пусть дана задача линейного программирования в канонической форме записи

при условиях

Будем обозначать через множество решений системы (2) – (3). Предположим, что , где – ранг матрицы , – количество уравнений в системе (2).

Из системы векторов-столбцов матрицы выберем некоторую линейно независимую подсистему из векторов . Она существует, так как . Эта система образует базис в . Обозначим через , . Назовем множеством базисных значений индекса , – базиснойподматрицей матрицы . Координаты вектора будем называть базисными , если , и небазисными в противном случае.

Запишем систему (2) в виде . Разобьем слагаемые левой части на базисные и небазисные, то есть

Определим частное решение этой системы следующим образом. Положим в (4) все небазисные переменные равными нулю . Тогда система (4) примет вид

Назовем (5) базисной подсистемой системы уравнений (2). Обозначим через вектор, составленный из базисных координат вектора . Тогда систему (2) можно переписать в векторно-матричном виде

Так как подматрица является базисной, она

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

Для данного базиса определим также и опорное решение двойственной задачи линейного программирования. Напомним, что задача двойственная к канонической имеет вид

при условиях

Запишем систему (8) в виде

Напомним, что множество решений системы (8) обозначается через .

Определим вектор двойственных переменных из условия выполнения базисных ограничений в системе (9) как равенств. Получим следующую систему линейных уравнений:

Обозначим через вектор, составленный из ба-

зисных координат вектора . Тогда систему (10) можно переписать в векторно-матричном виде

Система (11) также имеет единственное решение .

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

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

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

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

ние называется псевдопланом прямой задачи.

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

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

Пример решения прямой и двойственной задачи симплекс методом

Поэтому достаточно убедиться в выполнении неравенств для всех .

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

Доказательство . Из определений опорных решений легко получить равенства

откуда и следует справедливость теоремы.

Теорема 2. (Критерий оптимальности опор-ных решений) Если базис одновременно допустим и двойственно допустим, то соответствующие ему опорные решения и являются решениями, соответственно, прямой и двойственной задач линейного программирования.

Доказательство. Справедливость этого утверждения следует из теории двойственности в линейном программировании и теоремы 1.

Теорема 3. Допустимое решение задачи (1) – (3) является опорным планом задачи тогда и только тогда, когда оно является вершиной выпуклого многогранного множества .

Доказательство. Пусть – опорный план задачи (1) – (3). Докажем, что – вершина множества . По определению опорный план допустимое опорное решение, соответствующее некоторому базису , то есть решениесистемы линейных уравнений относительно переменных

Легко увидеть, что эта система имеет единственное решение. Значит, несущая плоскость грани, содержащей точку , имеет размерность 0. Следовательно, – вершина множества .

Обратно. Пусть – вершина множества . Докажем, что – опорный план задачи (1) – (3). Так как – вершина, то она является гранью множества , размерность которой равна нулю. Следовательно, у вектора найдется не менее нулевых компонент, множество номеров которых обозначим . Таким образом, единственное решение системы

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

Это означает, что система (12) имеет решение, отличное от , что противоречит единственности ее решения. Таким образом, – базис, а вектор – соответствующий ему опорный план задачи (1) – (3). Что и требовалось.

Заметим, что допустимое решение задачи (7), (8) (двойственной задаче (1) – (3)) также является опорным планом тогда и только тогда, когда оно является вершиной допустимого множества .

Дата публикования: 2015-01-10; Прочитано: 695 | Нарушение авторского права страницы

Studopedia.org — Студопедия.Орг — 2014-2018 год.(0.005 с)…

Для определенности считаем, что решается задача на отыскание минимума.

1. Задачу линейного программирования привести к каноническому виду.

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

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

2. Определить базисные и свободные переменные.

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

4. Определить возможность решения задачи по значениям согласно теоремам 6.7,…, 6.9.

5. Выбрать разрешающий (опорный) элемент .

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

Если критерий оптимальности не выполнен (не выполнены условия теоремы 6.7 или 6.8), то наибольший по модулю отрицательный коэффициент в последней строке определяет разрешающий (опорный) столбец .

Составляем оценочные отношения каждой строки по следующим правилам:

1 0) , если все и имеют разные знаки;

2 0) , если все и ;

3 0) , если ;

4 0) 0, если и ;

5 0) , если и имеют одинаковые знаки.

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

6 0) Переход к следующей таблице по правилам:

а) в левом столбце записываем новый базис: вместо основной переменной – переменную , т.е. поменяем местами переменные и ;

б) на место опорного элемента поставить 1;

в) на остальных местах опорной строки в новой таблице оставить элементы исходной таблицы;

г) на остальные места в опорном столбце поставить соответствующие элементы исходной таблицы, умноженные на –1;

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

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

е) все полученные элементы новой таблицы разделить на опорный элемент .

7 0) По значению элемента определить, найдено ли оптимальное значение целевой функции. В случае отрицательного ответа продолжить решение (возврат к пункту 6).

Рис. 6.8. Правило прямоугольника для определения чисел:

а − , б − , в − .

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

Пример 6.8. Решить задачу, приведенную в примере 6.7, симплекс методом.

⇐ Предыдущая45678910111213Следующая ⇒

Дата публикования: 2015-01-23; Прочитано: 174 | Нарушение авторского права страницы

Studopedia.org — Студопедия.Орг — 2014-2018 год.(0.002 с)…

Главная >> Пример №3. Симплекс метод. Нахождение наибольшего значения функции (искусственный базис)

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

x 1 + x 2 1
x 1 + 3 x 2 15
2 x 1 + x 2 4
Переменная называется базисной для данного уравнения, если она входит в данное уравнение с коэффициентом один и не входит в оставшиеся уравнения (при условии, что в правой части уравнения стоит положительное число).

Если в каждом уравнении присутствует базисная переменная, тогда говорят, что в системе присутствует базис.
Переменные, которые не являются базисными, называются свободными. (см. систему ниже)

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

Как осуществляется переход от одного базиса к другому?
Запись решения удобнее вести в виде таблиц. Каждая строка эквивалентна уравнению системы. Выделенная строка состоит из коэффициентов функции (сравните сами). Это позволяет не переписывать переменные каждый раз, что существенно экономит время.
B выделенной строке выбираем наибольший положительный коэффициент. Это необходимо для того, чтобы получить значение функции, как минимум, не меньше имеющегося.
Выбран столбец.
Для положительных коэффициентов выбранного столбца считаем отношение Θ и выбираем наименьшее значение. Это необходимо для того, чтобы после преобразования столбец свободных членов остался положительным.
Выбрана строка.
Следовательно, определен элемент, который будет базисным. Далее считаем.

x 1 = 0 x 2 = 0 S 1 = 0
S 2 = 15 S 3 = 4 R 1 = 1
=> W = 1
x 1 x 2 S 1 S 2 S 3 R 1 св. член Θ
-1 1 -1 0 0 1 1 1: 1 = 1
1 3 0 1 0 0 15 15: 3 = 5
-2 1 0 0 1 0 4 4: 1 = 4
1 -1 1 0 0 0 W — 1
-1 1 -1 0 0 1 1
4 0 3 1 0 -3 12
-1 0 1 0 1 -1 3
0 0 0 0 0 1 W — 0
x 1 x 2 S 1 S 2 S 3 св. член Θ
-1 1 -1 0 0 1
4 0 3 1 0 12 12: 4 = 3
-1 0 1 0 1 3
4 0 1 0 0 F — 1
-1 1 -1 0 0 1
1 0 3/4 1/4 0 3
-1 0 1 0 1 3
4 0 1 0 0 F — 1
0 1 -1/4 1/4 0 4
1 0 3/4 1/4 0 3
0 0 7/4 1/4 1 6
0 0 -2 -1 0 F — 13
S 1 = 0 S 2 = 0
x 1 = 3 x 2 = 4 S 3 = 6
=> F — 13 = 0 => F = 13

Среди коэффициентов выделенной строки нет положительных. Следовательно, найдено наибольшее значение функции F.

Ответ:

x 1 = 3 x 2 = 4

F max = 13

Перейти к решению своей задачи

© 2010-2018, по всем вопросам пишите по адресу [email protected]

Условие задачи

Для реализации трех групп товаров коммерческое предприятие располагает тремя видами ограниченных материально-денежных ресурсов в количестве b 1 = 240, b 2 = 200, b 3 = 160 единиц. При этом для продажи 1 группы товаров на 1 тыс. руб. товарооборота расходуется ресурса первого вида в количестве a 11 = 2 единицы, ресурса второго вида в количестве a 21 = 4 единицы, ресурса третьего вида в количестве a 31 = 4 единицы. Для продажи 2 и 3 групп товаров на 1 тыс. руб. товарооборота расходуется соответственно ресурса первого вида в количестве a 12 = 3, a 13 = 6 единицы, ресурса второго вида в количестве a 22 = 2, a 23 = 4 единицы, ресурса третьего вида в количестве a 32 = 6, a 33 = 8 единиц. Прибыль от продажи трех групп товаров на 1 тыс.

Симплексный метод решения ЗЛП

руб. товарооборота составляет соответственно c 1 = 4, c 2 = 5, c 3 = 4 (тыс. руб.). Определить плановый объем и структуру товарооборота так, чтобы прибыль торгового предприятия была максимальной.

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

Решение задачи симплекс методом

Пусть x 1 , x 2 , x 3 — количество реализованных товаров, в тыс. руб., 1, 2, 3 — ей групп, соответственно. Тогда математическая модель задачи имеет вид:

F = 4·x 1 + 5·x 2 + 4·x 3 ->max

Решаем симплекс методом.

Вводим дополнительные переменные x 4 ≥ 0, x 5 ≥ 0, x 6 ≥ 0, чтобы неравенства преобразовать в равенства.

В качестве базиса возьмем x 4 = 240; x 5 = 200; x 6 = 160.

Данные заносим в симплекс таблицу

Симплекс таблица № 1

Целевая функция:

0 · 240 + 0 · 200 + 0 · 160 = 0

Вычисляем оценки по формуле:

Δ 1 = 0 · 2 + 0 · 4 + 0 · 4 - 4 = - 4
Δ 2 = 0 · 3 + 0 · 2 + 0 · 6 - 5 = - 5
Δ 3 = 0 · 6 + 0 · 4 + 0 · 8 - 4 = - 4
Δ 4 = 0 · 1 + 0 · 0 + 0 · 0 - 0 = 0
Δ 5 = 0 · 0 + 0 · 1 + 0 · 0 - 0 = 0
Δ 6 = 0 · 0 + 0 · 0 + 0 · 1 - 0 = 0

Поскольку есть отрицательные оценки, то план не оптимален. Наименьшая оценка:

Вводим переменную x 2 в базис.

Определяем переменную, выходящую из базиса. Для этого находим наименьшее неотрицательное отношение для столбца x 2 .

= 26.667

Наименьшее неотрицательное: Q 3 = 26.667. Выводим переменную x 6 из базиса

3-ю строку делим на 6.
Из 1-й строки вычитаем 3-ю строку, умноженную на 3
Из 2-й строки вычитаем 3-ю строку, умноженную на 2

Вычисляем:

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

Симплекс таблица № 2

Целевая функция:

0 · 160 + 0 · 440/3 + 5 · 80/3 = 400/3

Вычисляем оценки по формуле:

Δ 1 = 0 · 0 + 0 · 8/3 + 5 · 2/3 - 4 = - 2/3
Δ 2 = 0 · 0 + 0 · 0 + 5 · 1 - 5 = 0
Δ 3 = 0 · 2 + 0 · 4/3 + 5 · 4/3 - 4 = 8/3
Δ 4 = 0 · 1 + 0 · 0 + 5 · 0 - 0 = 0
Δ 5 = 0 · 0 + 0 · 1 + 5 · 0 - 0 = 0
Δ 6 = 0 · (-1)/2 + 0 · (-1)/3 + 5 · 1/6 - 0 = 5/6

Поскольку есть отрицательная оценка Δ 1 = - 2/3, то план не оптимален.

Вводим переменную x 1 в базис.

Определяем переменную, выходящую из базиса. Для этого находим наименьшее неотрицательное отношение для столбца x 1 .

Наименьшее неотрицательное: Q 3 = 40. Выводим переменную x 2 из базиса

3-ю строку делим на 2/3.
Из 2-й строки вычитаем 3-ю строку, умноженную на 8/3

Вычисляем:

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

Симплекс таблица № 3

Целевая функция:

0 · 160 + 0 · 40 + 4 · 40 = 160

Вычисляем оценки по формуле:

Δ 1 = 0 · 0 + 0 · 0 + 4 · 1 - 4 = 0
Δ 2 = 0 · 0 + 0 · (-4) + 4 · 3/2 - 5 = 1
Δ 3 = 0 · 2 + 0 · (-4) + 4 · 2 - 4 = 4
Δ 4 = 0 · 1 + 0 · 0 + 4 · 0 - 0 = 0
Δ 5 = 0 · 0 + 0 · 1 + 4 · 0 - 0 = 0
Δ 6 = 0 · (-1)/2 + 0 · (-1) + 4 · 1/4 - 0 = 1

Поскольку отрицательных оценок нет, то план оптимален.

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

Ответ

x 1 = 40; x 2 = 0; x 3 = 0; x 4 = 160; x 5 = 40; x 6 = 0; F max = 160

То есть необходимо реализовать товар первого вида в объеме 40 тыс.

руб. Товар 2-го и 3-го видов реализовывать не надо. При этом максимальная прибыль составит F max = 160 тыс. руб.

Решение двойственной задачи

Двойственная задача имеет вид:

Z = 240·y 1 + 200·y 2 + 160·y 3 ->min

Вводим дополнительные переменные y 4 ≥ 0, y 5 ≥ 0, y 6 ≥ 0, чтобы неравенства преобразовать в равенства.

Сопряженные пары переменных прямой и двойственной задач имеют вид:

Из последней симплекс таблицы № 3 прямой задачи, находим решение двойственной задачи:

Z min = F max = 160;
y 1 = Δ 4 = 0; y 2 = Δ 5 = 0; y 3 = Δ 6 = 1; y 4 = Δ 1 = 0; y 5 = Δ 2 = 1; y 6 = Δ 3 = 4;

Ответ

y 1 = 0; y 2 = 0; y 3 = 1; Z min = 160;

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

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

Симплекс – это выпуклый многоугольник в n-мерном пространстве с n+1 вершинами, не лежащими в одной гиперплоскости (гиперплоскость делит пространство на два полупространства).

Например, линия бюджетных ограничений делит блага на доступные и недоступные.

Доказано, что если оптимальное решение существует, то оно обязательно будет найдено через конечное число итераций (шагов), кроме случаев «зацикливания».

Алгоритм симплексного метода состоит из ряда этапов.

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

а) правые части условий (свободные члены bi) являются величинами неотрицательными;

б) сами условия являются равенствами;

в) матрица условий содержит полную единичную подматрицу.

Если свободные члены отрицательные, то обе части неравенства умножаются на — 1, а знак неравенства меняется на противоположный. Для преобразования неравенств в равенства вводятся дополнительные переменные, которые, обычно, обозначают объем недоиспользованных ресурсов. В этом их экономический смысл.

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

В оптимальном решении задачи все искусственные переменные (ИП) должны быть равными нулю. Для этого вводят искусственные переменные в целевую функцию задачи с большими отрицательными коэффициентами (-М) при решении задачи на max, и с большими положительными коэффициентами (+М), когда задача решается на min. В этом случае даже незначительное ненулевое значение искусственной переменной будет резко уменьшать (увеличивать) значение целевой функции. Обычно М в 1000 раз должно быть больше, чем значения коэффициентов при основных переменных.

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

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

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

Столбец симплексной таблицы с этим номером на данной итерации называется генеральным столбцом.

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

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

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

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

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

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

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

Пусть необходимо найти оптимальный план производства двух видов продукции (х1 и х2).

Исходные данные:

Построим оптимизационную модель

– ограничение по ресурсу А;

– ограничение по ресурсу В.

Приведем задачу к приведенной канонической форме. Для этого достаточно ввести дополнительные переменные Х3 и Х4. В результате неравенства преобразуются в строгие равенства.

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

1-я итерация. Находим генеральный столбец и генеральную строку:

Генеральный элемент равняется 5.

2-я итерация. Найденное базисное решение не является оптимальным, т.к. cтрока оценок (Fj-Cj) содержит один положительный элемент. Находим генеральный столбец и генеральную строку:

max (0,0.3,-1.4,0) = 0.2

Найденное решение оптимально, так как все специальные оценки целевой функции Fj – Cj равны нулю или отрицательны. F(x)=29 x1=2; x2=5.



Рекомендуем почитать

Наверх