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

Учебное пособие 1053

.pdf
Скачиваний:
4
Добавлен:
30.04.2022
Размер:
733.85 Кб
Скачать

Окончание табл. 2.6

B

cв

xв

0

0

0

0

0

Ө

 

 

 

A1

A2

A3

A4

A5

 

x4

0

3

-2

1

0

1

-1

-

z2

-1

4

0

0

1

0

-32

-

z3

-1

6

13

13

-1

0

53

18

 

 

-10

-13

-13

0

0

-16

 

x4

0

39

0

3

-6

1

9

-

z2

-1

4

0

0

1

0

-32

4

x1

0

18

1

1

-3

0

5

-

 

 

-4

0

0

-1

0

32

 

x4

0

63

0

3

0

1

0

 

x3

0

4

0

0

1

0

-32

 

x1

0

30

1

1

0

0

12

 

 

 

0

0

0

0

0

0

 

Так как все оценки i 0 и

fˆ(x, z) = 0 , то первый этап закончен и пере-

ходим ко второму этапу.

 

 

 

 

коэффициент c j и в столбец

В верхнюю

строку

вновь

заносим

cв - коэффициенты ci при базисных переменных (табл. 2.7).

 

 

 

 

 

 

 

 

 

Таблица 2.7

 

B

 

cв

xв

 

1

-1

1

0

-3

 

 

 

 

 

 

 

А1

А2

А3

А4

А5

 

 

x4

 

0

63

 

0

3

0

1

0

 

 

x3

 

1

4

 

0

0

1

0

-32

 

 

x1

 

1

30

 

1

1

0

0

12

 

 

 

 

 

34

 

0

2

0

0

2

 

Так как все оценки больше или равны нулю, следовательно, получено оптимальное решение:

 

 

x* = (30, 0, 4, 63, 0) ,

 

 

 

f (x* ) = 34 .

 

Лабораторная работа №4

Дана ЗЛП

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2x1 + x2 +

 

x4 x5 a

 

2x

x

 

+ x

x

 

 

b

 

x

=1

 

 

 

 

 

 

1

 

2

3

 

 

4

 

 

b +1 5

 

x

+ x

 

x

+

 

c

 

 

x

 

 

+ x

= 8

 

c

+1

 

 

1

 

2

3

 

 

4

5

 

 

x j 0,

 

j =

 

,

 

 

 

1,5

 

f (x) = x1 x2 + x3 3x5

max .

В табл. 2.8 приведены значения параметров a, b, c.

21

Таблица 2.8

Номер

a

b

c

Номер

a

b

c

Номер

a

b

c

Номер

a

b

c

варианта

 

 

 

варианта

 

 

 

варианта

 

 

 

варианта

 

 

 

1

1

1

2

6

6

2

2

11

2

2

3

16

3

2

4

2

2

1

2

7

7

2

2

12

4

2

3

17

6

2

4

3

3

1

2

8

2

1

3

13

6

2

3

18

3

3

4

4

4

1

2

9

4

1

3

14

3

1

4

19

6

3

4

5

5

2

2

10

6

1

3

15

6

1

4

20

3

4

4

1.Привести ЗЛП к канонической форме.

2.Решить ЗЛП с помощью симплекс-метода с искусственным базисом.

3.Найти оптимальное решение и вычислить значение целевой функции.

3.Двойственность в ЗЛП

3.1. Основные понятия и определения

Рассмотрим ЗЛП в канонической форме:

Ax = b,

x 0,

(3.1.1)

f (x) = cT x max,

и ЗЛП в симметричной форме:

Ax b,

x 0,

(3.1.2)

f (x) = cT x max,

b 0.

Заметим, что если в канонической форме b 0 , то при записи ЗЛП в симметричной форме условие неотрицательности правых частей не требуется.

Определение 1: Задача

yT A cT ,

(3.1.3)

g(y) = yT b min

 

называется задачей двойственной к задаче (3.1.1).

 

Определение 2. Задача

 

yT A cT ,

 

y 0,

(3.1.4)

g(y) = yT b min

 

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

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

Как следует из вида двойственных задач (3.1.3) и (3.1.4):

22

1.Количество переменных двойственной задачи совпадает с количеством ограничений исходной задачи;

2.Количество ограничений двойственной задачи совпадает с количеством переменных исходной задачи;

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

4.Количество переменных исходной задачи соответствует ограничение двойственной задачи;

5.Матрица ограничений двойственной задачи является транспонированной по отношению к матрице ограничений исходной задачи;

6.Ограничения двойственной задачи являются неравенствами типа «больше или равно»;

7.Целевые коэффициенты исходной задачи являются правыми частями ограничений двойственной задачи;

8.Правые части ограничений исходной задачи являются целевыми коэффициентами двойственной задачи;

9.Если в исходной задаче отыскивается максимум целевой функции, то в двойственной – минимум;

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

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

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

Таким образом, алгоритм построения двойственной задачи состоит из двух этапов. На первом этапе задача приводится к виду, соответствующему (3.1.1) или (3.1.2), а на втором этапе строится двойственная задача.

Алгоритм построения двойственной задачи Этап 1

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

Шаг 2: Рассматривается целевая функция. Если в исходной задаче требуется найти ее минимум, то все коэффициенты умножаются на минус единицу, а функцию переориентируют на максимум.

Этап 2

Шаг 1: Каждому ограничению исходной задачи приписывается yi , номер

которого соответствует номеру ограничения.

Шаг 2: Выписываются в столбик все переменные исходной задачи.

23

Шаг 3: К каждой переменной x j приписывается ограничение двойствен-

m

ной задачи вида (y, Aj ) c j ((y, Aj ) = yi aij ).

i=1

Шаг 4: Если ограничение с номером i исходной задачи является неравенством, то в двойственной задаче записывается ограничение вида yi 0.

Замечание 1. Если i-е ограничение является неравенством, то условие неотрицательности на соответствующую двойственную переменную не накладывается.

Шаг 5: Выписывается целевая функция двойственной задачи g(y) = (y,b) min.

Пример 3.1. Дана ЗЛП:

 

 

(3.1.5)

3x1 2x2 + x3 x4

5,

x1 +3x2

+ x3 + 2x4

4,

(3.1.6)

x1 + 2x2

x3 3x4

= 6,

(3.1.7)

x j 0, j =1,4,

fˆ(x) = 5x1 +3x2 4x3 min .

Этап 1. Ограничение задачи (3.1.6) является ограничением типа «больше или равно», и в соответствии с алгоритмом его необходимо заменить ограничением «меньше или равно».

Целевая функция ориентирована на минимум, в соответствии с алгоритмом ее необходимо заменить функцией, ориентированной на максимум.

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

следующий:

 

 

3x1 2x2 + x3 x4

 

5

(3.1.5)

 

 

 

 

 

x1 3x2 x3 2x4 ≤ −4

(3.1.6`)

 

 

x1 + 2x2 x3 3x4

= 6

 

 

(3.1.7)

 

 

 

x j 0, j =

 

,

 

 

 

 

 

1,4

 

f (x) = −5x1 3x2 + 4x3 max .

 

Этап2. Каждомуограничениюприписываемдвойственнуюпеременную yi :

y

 

 

3x1 2x2 + x3 x4 5 ,

 

1

 

 

 

 

 

 

 

 

y2

 

 

x1 3x2 x3 2x4 ≤ −4 ,

 

y3

 

 

x1 + 2x2 x3 3x4 = 6,

 

 

 

 

x j 0,

 

j =

 

,

 

 

 

 

 

1,4

 

 

 

 

f (x) = −5x1 3x2 + 4x3 max .

 

Выписываются все переменные двойственной задачи и к ним приписы-

ваются ограничения двойственной:

 

 

 

 

 

 

x

 

 

3y1 + y2 + y3 ≥ −5,

 

1

 

 

 

 

 

 

 

 

x2

 

 

2y1 3y2 + 2y3 ≥ −3 ,

 

24

 

 

x

 

 

y1 y2 y3 0,

 

 

 

3

 

 

 

 

 

 

 

 

x4

 

 

y1 2y2 2y3 4,

 

В соответствии с алгоритмом условие типа yi 0 накладывается на пер-

вую и вторую двойственные переменные: y1 0, y2 0.

 

Целевая функция двойственной задачи имеет вид

 

 

 

g(y) = 5y1 4y2 + 6y3 min .

 

Окончательный вид двойственной задачи следующий:

 

 

 

 

 

 

3y1 + y2 + y3 ≥ −5,

 

 

 

 

 

 

2y1 3y2 + 2y3 ≥ −3 ,

 

 

 

 

 

 

y1 y2 y3 0,

 

 

 

 

 

 

y1 2y2 2y3 4,

 

 

 

 

 

 

 

 

 

y1 0, y2 0,

 

 

 

g(y) = 5y1 4y2 + 6y3 min .

 

3.2. Леммы и теоремы двойственности

 

Лемма 1. Пусть G - допустимое множество исходной задачи и~

~

G - до-

пустимое множество двойственной задачи. Тогда для всех x G и y G

выпол-

няется следующее неравенство:

 

f (x) g(y) .

 

 

 

 

 

 

 

 

 

 

Лемма 2. Если одна из задач двойственной пары неразрешима из-за неог-

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

 

 

 

 

~

, то обе задачи разрешимы.

 

Лемма 3. Если G и G

 

Лемма 4. Пусть x

*

G

и

 

y

*

~

 

 

 

 

G таковы, что

 

 

 

 

 

 

 

 

 

f (x* ) = g(y* ) ,

 

тогда x* и y* - оптимальные решения исходной и двойственной задач соответ-

ственно.

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

 

 

 

 

 

 

f (x* ) = g(y* ) ,

где x* и y*

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

 

 

 

 

 

 

~

 

 

 

Вторая теорема двойственности. Пусть G и G . Для того чтобы

x

*

G

и y

*

~

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

 

 

G

соответственно, необходимо и достаточно выполнение следующих условий:

(y* )T (Ax* b) = 0 ,

(3.2.8)

((y* )T A cT )x* = 0.

(3.2.9)

Следствие из второй теоремы двойственности. Пусть x* и y*

- опти-

мальные решения исходной и двойственной задач соответственно. Тогда, если

25

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

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

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

Рассмотрим пример, используя условие и решение примера 1.1.

Алгоритм решения двойственной задачи Шаг 1. Выписывается двойственная задача (см. алгоритм построения

двойственной задачи).

Шаг 2. Просматриваются переменные исходной задачи.

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

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

Шаг 4. Решается полученная система линейных уравнений относительно двойственных переменных yi . Решение этой системы есть оптимальное реше-

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

Шаг 5. Вычисляется значение целевой функции g(y* ). Оно должно получиться равным f (y* ).

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

Пример 3.2. Дана ЗЛП и ее оптимальное решение:

 

 

2x1 + 3x2

18 ,

(3.2.10)

 

 

x1 +3x2 9 ,

(3.2.11)

 

 

 

2x1 x2

10,

(3.2.12)

 

 

 

x1 0,

 

 

 

 

x2 0,

max ,

 

f (x) = 4x1 + 2x2

 

6

,

f (x )

= 24 + 4 = 28 .

x =

 

 

 

2

 

 

 

 

 

 

 

 

 

Требуется записать двойственную задачу и найти ее решение.

26

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

y1

 

2x1 +3x2 18 ,

y2

 

x1 +3x2 9 ,

y3

 

2x1 x2 10.

 

 

 

x1 0,

 

 

 

x2 0,

 

 

 

f (x) = 4x1 + 2x2 max.

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

 

 

x1

 

2y1 y2 + 2y3 4 ,

 

x2

 

3y1 +3y2 y3 2,

 

 

 

y1,2,3 0,

 

 

 

g(y) =18y1 +9y2 +10y3 .

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

Так как x1* = 6 > 0 и x2* = 2 > 0, следовательно, оба ограничения двойственной задачи записываются как строгие равенства:

2y1 y2 + 2y3 = 4 , 3y1 +3y2 y3 = 2 .

Подставим x* поочередно в каждое из неравенств исходной задачи:

2 6 +3 2 =18 =18 ,

1 6 +3 2 = 0 < 9 , следовательно, y2 = 0 ,

2 6 2 =10 =10.

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

2y

y

 

+ 2y

 

= 4,

y =1,

 

1

 

2

 

3

 

1

= 0,

3y1 +3y2 y3 = 2,

y2

 

= 0,

 

 

 

 

 

=1.

y2

 

 

 

 

y3

1

То есть y* = 0 .

1

Вычислим значение целевой функции g(y* ) =18 1+9 0 +10 1 = 28, из чего следует g(y* ) = f (x* ) .

27

Лабораторная работа № 5

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

1.Выписать двойственную задачу,

2.Найти ее решение.

4.Транспортная задача

4.1.Математическая модель транспортной задачи

Вербальная модель

Имеется m поставщиков некоторого продукта. Ai (i =1,m ё) – количество продукта у i-го поставщика.

Имеется n потребителей этого продукта. Bj ( j =1,n ) – потребность j-го

потребителя.

сij – затраты на перевозку единицы продукта (1т, 1кг, 1 банка и т.д.) от i-го поставщика к j-му потребителю.

Требуется составить план перевозки продукции от поставщиков к потребителям так, чтобы суммарные затраты на перевозку были минимальными (имеется в виду, что перевозки осуществляет одна фирма).

Предполагается выполнение условия баланса:

m

n

Ai = B j ,

i=1

j=1

то есть суммарное наличие продукта у всех поставщиков равно суммарной потребности всех потребителей.

Математическая модель

 

 

 

 

Пусть xij 0 – количество продукции, которое перевозят от i-го

постав-

щика к j–му потребителю.

 

 

 

 

Так как есть условие баланса

 

 

 

 

m

n

 

Ai = Bj ,

(4.1.1)

i =1

j =1

 

то возникают ограничения:

 

 

 

 

1) от каждого поставщика должна быть вывезена вся продукция

 

n

 

 

 

 

xij = Ai , i =

 

.

(4.1.2)

1,m

j=1

2)каждый потребитель должен быть удовлетворен, т.е. должно быть перевезено столько продукции, сколько нужно, ни больше, ни меньше.

m

 

 

 

 

xij = Bj , j =

1,n

.

(4.1.3)

i=1

 

 

 

 

Целевая функция будет выглядеть следующим образом:

 

m

n

 

∑ ∑cij xij min .

(4.1.4)

i=1

j=1

 

28

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

Транспортная задача задается таблицей размера ((m +1)×(n +1) ), где в первом блоке матрицы размером (m ×n ) выписывается матрица коэффициентов целевой функции C = cij . Справа выписывается столбец со значениями Ai ,

а внизу - Bj (рис. 4.1).

j

1

j

n

Ai

i

1

с

 

ñ1 j

 

ñ1n

A1

 

11

 

 

 

 

 

M

 

 

 

 

 

 

i

сi1

 

сij

 

сin

Ai

M

 

 

 

 

 

 

m

сm1

 

сmj

 

сmn

Am

Bj

B1

 

Bj

 

Bn

 

Рис. 4.1

Допустимое решение X ={xij }, также заносится в матрицу размером

(m ×n ). При этом i-я строка соответствует i-му ограничению (4.1.2), а j-й столбец – j-му ограничению (4.1.3), откуда следует, что сумма элементов i-й строки матрицы X равна Аi , сумма всех элементов j-го столбца равна Bj (рис. 4.2).

 

 

 

 

 

 

 

 

i

j

1

j

n

 

1

 

x11

 

x1 j

 

x1n

A1

M

 

 

 

 

 

 

i

 

xi1

 

xij

 

xin

Ai

M

 

 

 

 

 

 

m

xm1

 

xmj

 

xmn

Am

 

 

B1

 

Bj

 

Bn

 

Рис. 4.2

Теорема. Для того чтобы транспортная задача была разрешима, необходимо и достаточно выполнение условия баланса.

29

Замечание. К задаче вида (4.1.1)-(4.1.4) могут сводиться и другие вербальные модели, возможно не имеющие никакого отношения к перевозкам. Однако всегда ЗЛП (4.1.1)-(4.1.4) называется транспортной задачей.

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

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

1.Построение начального базисного решения,

2.Решение транспортной задачи.

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

4.2. Построение начального базисного решения

Начальное базисное решение строится в соответствии со следующей достаточно простой идей. Выбирается произвольная клетка xij таблицы Х и в нее

заносятся максимально возможный по значению элемент. Так как каждое xij Ai и xij Bj , то максимально возможное значение xij = min(Ai , Bj ) .

Допустимое решение заносится в матрицу Х, в которой будет заполнено (m + n 1) клеток, так как ранг матрицы C равен (m + n 1).

При этом должны выполняться условия:

1.Сумма по строкам равна Ai,

2.Сумма по столбцам равна Bj.

Алгоритм построения начального базисного решения Шаг 0. k=0.

Шаг 1. Выбирается произвольная свободная клетка (i, j). Шаг 2. Вычисляется xij = min(Ai , Bj ) .

Шаг 3. Если xij = Ai , то i-я строка вычеркивается, а Bíîâj = Bj xij . Шаг 4. Иначе вычеркивается j-й столбец, а Aiíîâ = Ai xij .

Шаг 5. k = k +1.

Шаг 6: Если k = m + n 1, то Конец.

Иначе переход к Шагу 1.

30