Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
105
Добавлен:
12.03.2015
Размер:
392.7 Кб
Скачать

2.1.4. Симплексный метод решения задачи

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

  1. вначале исходная ЗЛП записывается в канонической форме;

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

  3. полученный вариант проверяется на оптимальность с помощью критерия оптимальности;

  4. если решение не оптимальное, переходят к следующему опорному решению (плану) на основе применения метода Жордана-Гаусса для системы линейных уравнений; на­правление перехода от одного опорного решения к другому выбирается на основе критерия оптимальности исходной задачи;

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

Симплекс-метод осно­ван на следующих свойствах ЗЛП:

1. Не существует локального экстремума, отличного от глобального. Другими словами, если экстремум есть, то он единственный.

2. Множество всех планов задачи линейного программиро­вания выпукло.

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

4. Каждой угловой точке многогранника решений отвечает опорный план ЗЛП.

Рассмотрим две разновидности симплексного метода: симплекс-метод с естественным базисом и симплекс-метод с искусственным базисом (или М-метод).

СИМПЛЕКС-МЕТОД С ЕСТЕСТВЕННЫМ БАЗИСОМ.

Для примене­ния этого метода ЗЛП должна быть сформулирована в кано­нической форме (2.12) - (2.14). Решение ведется в симплекс-таблицах:

Таблица 1

симплекс-таблицы

Базис

Сб

План В

с1

с2

сm

сj

сk

сn

Q

A1

A2

Am

Aj

Ak

An

0

A1

с1

b1

a11

a12

a1m

a1j

a1k

a1n

A2

с2

b2

a21

a22

a2m

a2j

a2k

a2n

Ai

сi

bi

ai1

ai2

aim

aij

aik

ain

Ar

сr

br

ar1

ar2

arm

arj

ark

arn

Am

сm

bm

am1

am2

amm

amj

amk

amn

L

Δj

Матрица системы уравнений должна содержать единичную подматрицу раз­мерностьютхт.В этом случае очевиден начальный опор­ный план (неотрицательное базисное решение).

Для определенности предположим, что первыетвек­торов матрицы системы составляют единичную матрицу. Тогда очевиден первоначальный опорный план: (b1, b2, ..., bm,0, ...,0). Т.е.основные переменные являются свободными и равными нулю, а дополнительные переменные являются базисными и равны правым частям СЛУ.

Признак оптимальности заключается в следующих двух теоремах.

Теорема 1.Если для некоторого вектора, не входящего в базис, выполняется условие

<0,где,j =,(т.е.- скалярное произведение векторов столбцовСбиAj ),

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

а) если все координаты вектора, подлежащего вводу в базис, неположительны, то ЗЛП не имеет решения;

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

мы будем называть оценкой столбцаj.

Теорема 2.Если для всех векторов выполняется условие ,то полученный план является оптимальным.

На основании признака оптимальности в базис вводится векторAk,давший минимальную отрицательную величину симплекс-разности:

= zk - ck = min(zj - cj), j =,(т.е. имеющий минимальную отрицательную оценку)

Чтобы выполнялось условие неотрицательности значений опорного плана, выводится из базиса вектор Аr,который дает минимальное положительное отношение

Q=, aik>0, i= .

СтрокаAr называетсянаправляющей,столбецАkи эле­ментark — направляющими(последний называют такжеразрешающимили ведущим элементом).

Элементы вводимой строки, соответствующей направ­ляющей строке, в новой симплекс-таблице вычисляются по формулам (они – есть следствие (формализация) метода Жордана-Гаусса).

,,

а элементы любой другой i-oй строки пересчитываются по формулам:

, i= ,

Значения базисных переменных нового опорного плана (показатели графы «план») рассчитываются по формулам:

дляi=r; , i=для .

Число L в симплексной таблице –это текущее значение целевой функции.

, т.е. скалярное произведение векторов столбцов Сб и В.

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

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

Для использования приведенной выше процедуры сим­плекс-метода к минимизации линейной формыf() следует искать максимум функцииf1() = - f(),затем получен­ный максимум взять с противоположным знаком. Это и бу­дет искомый минимум исходной ЗЛП.

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

Пример.Для производства продукции типаП1иП2предприятие использует два вида сырья:С1иС2. Данные об условиях приведены в таблице.

Таблица 2

Сырье

Расход сырья на единицу продукции, кг/ед.

Количество сырья, кг

П1

П2

С1

1

3

300

С2

1

1

150

Прибыль, тыс.руб/ед.прод.

2

3

Составить план производства по критерию «максимум прибыли».

Решение. Обозначим объем производства продук­цииП1черезx1,продукцииП2 - черезx2. С учетом этих обозначений математическая модель задачи имеет вид:

maxf() = 2 x1 +3 x2

при ограничениях x1+ 3x2 300,

x1+ x2 150,

x10; x2 0.

Приведем эту задачу к каноническому виду, введя допол­нительные переменныех3их4.

max f() = 2 x1 +3 x2+ 0 х3+0 х4

A1 A2 A3 A4 B

,

или x1+ 3x2+ х3 =300,

x1+ x24 =150,

xj0; j =.

Задача обладает исходным опорным планом (0,0,300,150), и ее можно решить симплекс-методом; решение ведется в симплекс-таблицах (табл. 3).

Таблица 3

симплекс-таблицы

Базис

Сб

План В

2

3

0

0

Q

A1

A2

A3

A4

0

A3

0

300

1

3

1

0

100

A4

0

150

1

1

0

1

150

0

-2

-3

0

0

1

A2

3

100

1/3

1

1/3

0

300

A4

0

50

2/3

0

-1/3

1

75

300

-1

0

1

0

2

A2

3

75

0

1

1/2

-1/2

A1

2

75

1

0

-1/2

3/2

375

0

0

1/2

3/2

В исходной симплекс-таблице строка оценок Δj определяется по приведенной выше формуле

Δ1= z1-c1 =

Δ2= z2-c2 =

Исходный опорный план (0,0,300,150) не является опти­мальным, так как среди оценок Δjимеются отрицательные. Переход к новому опорному плану осуществим, введя в базис векторA2,имеющий минимальную отрицательную оценку. Определяем вектор, выходящий из базиса:

т.е. векторA3 следует вывести из базиса. Направ­ляющим или ведущим элементом являетсяa12 = 3(выделен). Переход к следующей симплекс-таблице осуществляем с по­мощью преобразований Жордана-Гаусса (первое уравнение делим на себя, затем из второго вычитаем первое).

Определим текущее значение функции и оценки. Среди оценок также имеется отрицательная, следовательно и второй опорный план (0,100,0,50) не оптимальный.

Определим ведущий (направляющий) элемент

,

следовательно, ведущий a21=2/3.

Переходим к следующему опорному плану вводя в базис векторA1 вместо вектораA4.

Рассчитаем оценки. Теперь они все неотрицательные. В результате получаем оптимальный план (75,75,0,0), т.е. предприятие получит максимум прибыли в размере 375,0 тыс. руб., если выпус­тит 75 единиц продукции первого вида и 75 единиц продук­ции второго вида.

СИМПЛЕКС-МЕТОД С ИСКУССТВЕННЫМ БАЗИСОМ (М-МЕТОД).Применяется в тех случаях, когда затруднительно найти первоначальный опорный план исходной задачи ЛП, запи­санной в канонической форме.

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

В полученной задаче первоначальный опорный план очевиден. При применении к этой задаче симплекс-метода оценки Δj, теперь будут зависеть от «буквыМ». Для сравне­ния оценок нужно помнить, чтоМ—достаточно большое по­ложительное число, поэтому из базиса будут выводиться в первую очередь искусственные переменные.

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

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

Пример.Найти максимум целевой функции:

max f() = 3 x1 + x2+ x3

при условиях 2 x1+ x2 =8,

x1+ x2 +x3=6,

x10; x2 0; x3 0

Решение.Матрица условий содержит только один единичный вектор, добавим еще один искусственный вектор (искусственную неотрицательную переменнуюy1в первое ограничение):

.

Получим следующуюМ-задачу: найти максимум целе­вой функции

max f() = 3 x1 + x2+ x3 - My1

при условиях 2 x1+ x2 + y1=8,

x1+ x2 +x3=6,

x10; x2 0; x3 0; y10.

М-задачу решаем симплекс-методом. Начальный опор­ный план (0,0,6,8), решение проводим в симплекс-таблицах (табл.4).

Таблица 4

симплекс-таблицы

Базис

Сб

План В

3

1

1

Q

A1

A2

A3

A4

0

A4

-M

8

2

1

0

1

4

A3

1

6

1

1

1

0

6

-8M+6

-2M-2

-M-1

0

0

1

A1

3

4

1

0.5

0

A3

1

2

0

0.5

1

14

0

0

0

В начальной таблице наименьшая оценка соответствует векто­руA1 — он вводится в базис, а искусственный вектор (строка)A4из базиса выводится, так как ему отвечает наименьшееQ. Ведущий элементa11 . Столбец, соответствующийA4,из дальнейших симплексных таблиц вычеркивается.

Полученный новый опорный план является опорным планом исходной задачи. Для него все > 0, поэтому он является и оптимальным. Таким образом, получен оптималь­ный план исходной задачи (4,0,2), и максимальное значение целевой функцииf()=14.

Пример.Решить ЗЛП: minf() = 10 x1 - 5x2

при условиях 2 x1 - x2 3,

x1+ x2 2,

x1+2x2 -1,

x10; x2 0;

Приведем ЗЛП к каноническому виду, перейдя к задаче «на максимум»:

mах f1() = -10 x1 + 5x2

при условиях 2 x1 - x2 - x3=3,

x1+ x2 – x4=2,

-x1 - 2x2 +x5=1,

xj0; j =.

Для нахождения опорного плана переходим кМ-задаче:

mах g(,) = -10 x1 + 5x2 M(y1+ y2)

при условиях 2 x1 - x2 - x3+ y1=3,

x1+ x2 – x4 + y2=2,

-x1 - 2x2 +x5=1,

xj0; j =, y1,20

Дальнейшее решение проводим в симплекс-таблицах (табл.5).

В симплекс-таблице2получен опорный план исходной ЗЛП; поскольку все оценки > 0, то этот план явля­ется и оптимальным, т.е.x1=5/3,x2= 1/3 (исходные перемен­ные),x5 =10/3,x3 = 0,x4 =0 (дополнительные переменные), при этом minf() = - mахf1() = -(-15) = 15.

Таблица 5

симплекс-таблицы

Базис

Сб

План В

-10

5

0

0

0

-M

-M

Q

A1

A2

A3

A4

A5

A6

A7

0

A6

-M

3

2

-1

-1

0

0

1

0

3/2

A7

-M

2

1

1

0

-1

0

0

1

2

A5

0

1

-1

-2

0

0

1

0

0

-

-5M

-3M+10

-5

M

M

0

0

0

1

A1

-10

3/2

1

-1/2

-1/2

0

0

0

A7

-M

1/2

0

3/2

1/2

-1

0

1

1/3

A5

0

5/2

0

-5/2

-1/2

0

1

0

-M/2-15

0

-3M/2

-M/2+5

M

0

0

2

A1

-10

5/3

1

0

-1/3

-1/3

0

A2

5

1/3

0

1

1/3

-2/3

0

A5

0

10/3

0

0

0

-5/3

1

-15

0

0

5

0

0

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