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

1ЭМММ-Линейное программирование

.pdf
Скачиваний:
33
Добавлен:
17.04.2015
Размер:
495.87 Кб
Скачать

переменную x3 переводим в свободные, а свободную переменную x1 - в базисные.

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

Базисные

Свободные

 

 

 

Свободные

 

 

 

 

 

 

 

 

переменные

 

переменные

члены

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x3

 

 

 

 

x5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

4

10

 

 

 

 

4

 

 

 

 

 

 

1

 

 

 

 

 

 

 

11

 

 

 

 

11

 

 

11

 

 

 

 

 

 

 

 

 

x4

23

 

 

 

1

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2

5

8

 

 

 

 

1

 

 

 

 

 

 

3

 

 

 

 

 

 

11

 

 

 

 

11

 

 

11

 

 

 

 

 

 

 

 

 

Z

35

2

 

 

− 2

3

 

 

 

 

 

9

 

 

 

 

 

11

 

 

 

 

11

 

 

11

 

 

 

 

 

 

 

 

 

Базисное

решение

X = (4

10

; 5

 

8

; 0; 23; 0)

-

11

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

Тогда разрешающей строкой будет строка x4 , т.к. min{231 } = 23 .

В результате преобразований получим следующую симплекс-таблицу:

31

PDF создан испытательной версией pdfFactory Pro www.pdffactory.com

Таб.3. Симплекс-таблица оптимального решения

 

 

 

 

 

 

Базисные

Свободные

 

 

 

Свободные

 

 

 

 

переменные

 

переменные

члены

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x4

 

 

 

 

x5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

13

 

3

 

 

 

 

4

 

 

 

 

 

 

 

 

 

3

 

 

 

 

11

 

11

 

 

 

 

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x3

23

 

 

 

 

1

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2

7

9

 

 

 

 

1

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

11

 

 

 

 

 

11

 

 

11

 

 

 

 

 

 

 

 

 

Z

87

 

5

 

2

 

3

 

 

 

 

 

1

5

 

 

 

11

11

 

 

 

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Базисное

решение

X = (13

3

; 7

 

9

; 23; 0; 0)

-

 

11

 

 

 

 

 

 

 

 

11

 

 

 

 

 

 

 

 

 

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

Таким образом, наибольшее

значение Z max

= 87

 

5

11

 

3

 

 

9

 

 

целевая функция имеет при X* = (13

; 7

; 23; 0; 0) .

 

 

 

11

11

 

 

 

 

 

 

 

 

 

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

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

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

32

PDF создан испытательной версией pdfFactory Pro www.pdffactory.com

1. С и м м ет р и ч н а я

п а р а

в з а и м н о

д в о й с т в ен н ы х з а д а ч :

 

 

Рассматривается

стандартная задача

линейного

программирования (СЗЛП):

 

 

ì

 

n

x j ® max

 

 

ïZ

= å c j

 

 

ï

 

j=1

 

 

 

 

 

ï n

 

 

 

 

 

 

 

 

 

 

 

 

СЗЛП : í å aij x j £ bi , i = 1, m

 

 

ï j=1

 

 

 

 

 

ïx

j

³ 0

 

 

 

 

 

ï

 

 

 

 

 

 

ï

 

 

 

 

 

 

 

î

 

 

 

 

 

 

 

Тогда двойственная ей задача (ДЗЛП) будет иметь вид:

 

m

 

® min

 

 

 

ìF = å b y

i

 

 

 

ï

i

 

 

 

 

 

 

 

ï

i=1

 

 

 

 

 

 

 

 

ï m

 

 

 

 

 

 

 

 

 

ДЗЛП : íå aij yi ³ c j , j = 1, n

 

 

 

ïi=1

 

 

 

 

 

 

 

 

 

ï

 

 

 

 

 

 

 

 

 

³ 0, i = 1, m

 

 

 

ïyi

 

 

 

î

 

 

 

 

 

 

 

 

 

Э к о н о м и ч е с к а я и н т е р п р е т а ц и я в з а и м н о

д в о й с т в ен н ы х з а д а ч .

 

 

 

СЗЛП:

Составить

такой

план

продукции

X = {x1, x2,..., xn},

при

 

котором выручка

(прибыль) от

реализации продукции будет максимальной при условии, что

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

ДЗЛП: Найти такой набор цен (оценок) ресурсов Y = {y1, y2,..., ym}, при которых общие затраты на ресурсы будут

минимальными, а созданная стоимость единицы продукции

каждого вида будет не менее выручки от реализации единицы продукции. Оценки Y = {y1, y2,..., ym} называются учетными или

теневыми.

Положительную двойственную оценку имеют лишь те виды ресурсов, которые полностью используются при

оптимальном плане производства продукции и увеличить этот

33

PDF создан испытательной версией pdfFactory Pro www.pdffactory.com

доход можно только при увеличении этих ресурсов. Поэтому

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

2. Н е с и м м е т р и ч н а я

п а р а

в з а и м н о

д в о й с т в ен н ы х з а д а ч .

 

 

Рассматривается

 

 

каноническая задача

линейного

программирования (КЗЛП):

 

 

ì

n

 

 

® max

 

 

ïZ = å c j x j

 

 

ï

j=1

 

 

 

 

 

 

 

 

 

 

ï

n

 

 

 

 

 

 

 

 

 

 

 

 

, i = 1, m

 

 

КЗЛП : í

å aij x j = bi

 

 

ï j=1

 

 

 

 

 

 

 

 

 

 

ï

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ïx j ³ 0, j = 1, n

 

 

ï

 

 

 

 

 

 

 

 

 

 

 

î

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

m

 

® min

 

 

ìF = å b y

i

 

 

ï

i

 

 

 

 

 

 

 

 

 

ï

i=1

 

 

 

 

 

 

 

 

 

 

ДЗЛП : í

 

 

 

 

 

 

 

 

 

 

 

ï m

 

 

 

 

 

 

 

 

 

 

 

 

, j =1, m

 

 

ï

å aij yi ³ c j

 

 

îi=1

 

 

 

 

 

 

 

 

 

 

3. О б щ а я

 

 

 

 

 

п о с т а н о в к а

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

 

 

Рассматривается

общая

задача

линейного

программирования (ОЗЛП):

 

 

ì

 

=

 

n

 

 

® max

 

 

ïZ

å c j x j

 

 

ï

 

 

j=1

 

 

 

 

ï n

 

 

x

 

= b , i Î I, I Í M = {1...m}

 

ï å a

 

 

 

ОЗЛП : í j=1

ij

 

j

i

 

 

 

ï n

 

 

 

 

 

 

 

 

ï å aij x j £ bi

, i Î M \ I

 

 

ï j=1

 

 

 

 

 

 

 

ï

 

³ 0, j Î J

Í N = {1...n}

 

 

ïx

j

 

 

î

 

 

 

 

 

 

 

 

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

34

PDF создан испытательной версией pdfFactory Pro www.pdffactory.com

 

m

 

® min

ìF = å b y

i

ï

i

 

ï

i=1

 

 

ï m

 

 

ï

å aij yi = c j , j Î N \ J

ДЗЛП : íi=1

 

 

ï m

 

 

ï

å aij yi ³ c j , j Î J

ïi=1

 

 

ïîyi ³ 0, i Î M \ I

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

Двойственная задача по отношению к исходной составляется согласно следующим правилам:

1.Одна задача является задачей максимизации с ограничениями £ , другая является задачей минимизации с ограничениями ³ .

2.Каждому ограничению одной задачи соответствует переменная другой задачи. Номер переменной совпадает с номером ограничения.

3.Ограничению, записанному в виде неравенства,

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

4.Матрица условий одной задачи получается транспонированием матрицы условий другой задачи:

 

 

æ a

a

...

a

ö

 

 

 

ç 11

 

12

 

 

1n

÷

 

для исходной задачи

A =

ç a21

a22

...

a2n ÷

,

ç ...

 

...

... ...

÷

 

 

ç

am2

...

 

 

÷

 

 

 

èam1

amn ø

 

 

 

æ a

a

 

...

a

 

ö

 

для двойственной задачи

A =

ça11

a

21

...

am1

÷

 

ç ...

...

... ...

÷ .

 

 

ç 12

 

22

 

m2

÷

 

 

 

ça

a

2n

...

a

mn

÷

 

 

 

è 1n

 

 

 

ø

 

5. Коэффициенты целевой функции одной задачи

соответствуют свободным членам системы ограничений другой задачи.

35

PDF создан испытательной версией pdfFactory Pro www.pdffactory.com

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

1.Привести все неравенства системы ограничений исходной задачи к одному смыслу: если в исходной задаче ищут максимум линейной функции, то все неравенства системы ог- раничений привести к виду " £ ", а если минимум к виду " ³ ",. Для этого неравенства, в которых данное требование не выполняется, умножить на (-1).

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

3.Найти матрицу A' , транспонированную к матрице А.

4.Сформулировать двойственную задачу на основании

полученной матрицы A' и условия неотрицательности переменных.

П р и м е р . 1 . Дана

исходная

задача

линейного

программирования:

 

 

 

 

 

 

Z = 5× x1 - x2 ® max

 

ì3× x1 + x2 ³ 7

 

 

ï

× x1 + 7

× x2 £ 15

 

 

ï5

 

 

í

 

 

 

 

 

 

ïx2 £ 14

 

 

 

 

ïx

 

³ 0, x

2

³ 0

 

 

î 1

 

 

 

 

Составить задачу, двойственную исходной задаче.

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

Z = 5× x1 - x2 ® max

ì-3× x1 - x2 £ -7

Получим ïï5× x1 + 7× x2 £ 15 .

í

£ 14

 

 

ïx2

 

 

ïx

³ 0, x

2

³ 0

î 1

 

 

36

PDF создан испытательной версией pdfFactory Pro www.pdffactory.com

 

 

2.

Составим расширенную

матрицу

системы

А:

æ-3

-1

 

- 7ö

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ç

 

5

7

 

15

÷

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A = ç

0

1

 

14

÷ .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ç

 

 

÷

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

-1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

è

 

 

ø

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.

Найдем

матрицу

 

A ' , транспонированную к

А:

æ

- 3

5

0

 

 

5 ö

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A ' = ç

-1 7

1

 

 

-1÷ .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ç

 

 

 

 

 

 

 

÷

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- 7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

è

15

14

 

 

0 ø

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.

Сформулируем двойственную задачу:

 

 

 

 

 

 

 

 

 

 

F = -7× y1 +15× y2 +14× y3 ® min

 

 

 

 

 

 

 

 

 

 

ì-3× y1 + 5× y2 ³ 5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ï

 

 

 

× y2 + y3 ³ -1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

í- y1 + 7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ïy

³ 0, y

2

³ 0, y

3

³ 0

 

 

 

 

 

 

 

 

 

 

 

 

î 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П р и м е р . 2 . Дана

 

 

исходная

 

 

задача

линейного

программирования:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Z = 5× x1 - x2 + 8× x3 - x4 ® max

 

 

 

 

 

 

 

 

 

 

ì2× x1 + 5× x2 - x3 + 7× x4 = 2

 

 

 

 

 

 

 

 

 

 

 

 

 

ïx - x

2

+ 5× x

3

- x

4

£ 3

 

 

 

 

 

 

 

 

 

 

 

ï 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íx - x

2

+ 3× x

3

+ 7× x

4

= 5

 

 

 

 

 

 

 

 

 

 

 

ï 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ïx

³ 0, x

3

³ 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

î 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тогда двойственная задача будет иметь вид:

 

 

 

 

 

 

 

 

 

F = 2× y1 + 3× y2 + 5× y3 ® min

 

 

 

 

 

 

 

 

 

 

 

 

 

ì2× y1 + y2 +y3 ³ 5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ï

 

× y1 - y2 - y3 = -1

 

 

 

 

 

 

 

 

 

 

 

 

ï5

 

.

 

 

 

 

 

 

 

 

 

 

ï

 

 

 

5× y2 + 3×y3 ³ 8

 

 

 

 

 

 

 

 

 

 

 

 

í- y1 +

 

 

 

 

 

 

 

 

 

 

 

 

 

ï7× y - y

2

+ 7 ×y

3

= -1

 

 

 

 

 

 

 

 

 

 

 

ï

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ï

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

îy2 ³ 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

О с н о в н о е

 

 

 

 

 

 

н е р а в ен с т в о

 

 

 

т е о р и и

д в о й с т в ен н о с т и .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Имеется пара взаимно двойственных задач. Для любых

допустимых

 

решений

 

 

 

= {x1, x2,...xn} и

 

={y1, y2,..., ym}

 

 

 

X

Y

37

PDF создан испытательной версией pdfFactory Pro www.pdffactory.com

исходной и

двойственной

задач

справедливо неравенство

 

 

 

 

 

 

n

c j x j £

m

 

Z(X ) £ F(Y )

или

å

å bi yi .

 

 

 

 

 

 

 

j=1

i =1

 

 

 

Д о с т а т о ч н ы й п р и з н а к о п т и м а л ь н о с т и .

 

 

 

Если

X* = {x1*, x2*,...xn*} ,

Y* = {y1*, y2*,..., ym*} -

допустимые решения взаимно двойственных задач, для которых выполняется равенство Z(X *) = F(Y*) , то X * и Y * являются оптимальными решениями соответствующих задач.

П ер в а я т е о р е м а д в о й с т в ен н о с т и .

Если одна из взаимно двойственных задач имеет оптимальное решение, то его имеет и другая задача, причем оптимальные значения их функций равны: Zmax = Fmin .

Если целевая функция одной задачи не ограничена, то условия другой задачи несовместны.

В т о р а я т е о р е м а д в о й с т в е н н о с т и . Предположим, дана симметричная пара взаимно

двойственных задач.

n

 

 

 

 

 

 

n

 

 

åaij x j £ bi

 

 

yi , i =

 

 

 

 

åaij x j + xn+i = bi

 

 

1, m

 

j=1

 

 

 

 

 

 

 

j=1

 

 

m

 

 

 

 

 

 

m

 

 

åaij yi ³ c j

 

x j , j =

 

 

åaij yi - ym+ j = cj

 

1, n

i=1

 

 

 

 

 

 

i=1

 

 

Отсюда можно установить соответствие между

первоначальными

 

переменными

одной

из

взаимно-

двойственных задач и дополнительными переменными другой задачи:

x1

x2

...

xn

xn+1

xn+m

ym+1

ym+2

...

ym+n

y1

ym

Для оптимальных значений переменных справедливы соотношения:

38

PDF создан испытательной версией pdfFactory Pro www.pdffactory.com

ì m

 

ï

å xn*+i × yi* = 0

ïi=1

 

í n

= 0

ï

å x* × y*

ï

j m+ j

 

î j=1

 

В силу условия неотрицательности переменных каждое из слагаемых должно равняться нулю:

x*n+i × yi* = 0, i = 1,2,...,m x*j × y*m+ j = 0, j = 1,2,...,n.

Отсюда вытекает вторая теорема двойственности.

Положительным компонентам оптимального решения одной из взаимно двойственных задач соответствуют нулевые компоненты решения другой задачи. То есть, если x j * ³ 0 ,то

yi* = 0 , а если yi* ³ 0 ,

то x j * = 0 .

Т р е т ь я т е о р е м а д в о й с т в ен н о с т и .

Компоненты

оптимального решения двойственной

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

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

Zmax (

 

) по соответствующим

аргументам

т.е.

Zmax

= yi и

b

 

 

 

 

 

 

 

bi

 

характеризуют

на

сколько

вырастут

доходы

если

соответствующий ресурс увеличить на одну единицу.

 

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

Для производства двух видов продукции T1,T2 используется три вида сырья. Предприятие имеет сырья R1, R2, R3 соответственно в количествах 50, 30, 60 единиц. От

реализации единицы каждого вида продукции предприятие получит прибыль соответственно 17 руб. ( c1 ), 25 руб. ( c2 ).

39

PDF создан испытательной версией pdfFactory Pro www.pdffactory.com

Нормы расхода сырья на производство товаров вместе с данными о прибыли и запасах сырья представлены в следующей таблице:

 

Нормы расхода сырья

 

 

 

для производства

 

 

Вид сырья

единицы товара

Запасы

 

 

T1

 

T2

 

 

R1

4

 

2

50

 

R2

2

 

5

30

 

R3

3

 

4

60

 

Прибыль

17

 

25

 

 

Пусть x1, x2

- объем

производства

товаров T1,T2 ,

обеспечивающий максимум прибыли.

Математическая модель исходной (прямой) задачи:

Z = 17× x1 + 25× x2 ® max

ì4× x1 + 2× x2 £ 50 ïï2× x1 + 5× x2 £ 30 íï3× x1 + 4× x2 £ 60

ïîx1 ³ 0, x2 ³ 0

Поставив в соответствие каждому ограничению-

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

F = 50× y1 + 30× y2 + 60× y3 ® min

ì4× y1 + 2×y 2 +3× y3 ³ 17 ïí2× y1 + 5× y2 + 4× y3 ³ 25 ïîy1 ³ 0, y2 ³ 0, y3 ³ 0

Решение взаимно двойственных задач представлено на следующих листа Mathcad:

40

PDF создан испытательной версией pdfFactory Pro www.pdffactory.com