Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник Методы оптимизации.pdf
Скачиваний:
522
Добавлен:
29.05.2015
Размер:
1.33 Mб
Скачать

граммирования зацикливание явлеется довольно редким, возможность его не исключена.

Один из приемов борьбы с вырожденностью состоит в преобразовании задачи путем «незначительного» изменения вектора правых частей системы ограничений на величины εi таким образом, чтобы задача стала невырожденной, и, в

то же время, чтобы это изменение не повлияло реально на оптимальный план задачи.

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

Пусть переменную xj необходимо сделать базисной. Рассмотрим множество индексов E0 , состоящее из тех i , для которых достигается

 

 

 

 

 

 

b

 

 

 

 

 

 

 

 

 

 

 

 

b

 

 

 

 

 

θ0

= min

i

 

 

i

> 0

. Множество индексов

i , для к оторых выполняется данное

 

ail

 

i

ail

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

условие обозначим через E0 . Если E0 состоит из одного элемента, то из базиса

исключается вектор условий Ai

(переменная xi делается небазисной).

 

 

 

 

Если E0 состоит более чем из одного элемента, то составляется множество

E ,

которое состоит из i E ,

на которых достигается θ = min

ai1

 

. Если

E

1

0

1

i E0

 

 

 

1

 

 

 

ail

 

 

 

состоит из одного индекса k , то из базиса выводится переменная xk . В противном случае составляется множество E2 и т.д.

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

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

Рассмотрим задачу (7.1) максимизации линейной формы и, одновременно, задачу (7.2) минимизации:

 

 

 

 

 

 

 

 

 

 

 

 

 

Τ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Q (x)= p

 

 

 

 

 

 

 

 

x max,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(7.1)

 

 

 

 

 

 

A

x

 

b

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 0,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Τ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

W (u)= b

u min,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

(7.2)

 

 

 

 

AΤ

x

p

,

 

 

 

 

 

 

 

0.

 

 

 

 

 

 

 

 

 

 

 

 

u

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задача (7.2) называется двойственной по отношению к прямой (7.1) (и наоборот).

82

Пример: Предприятие выпускает три вида продукции. Каждая продукция требует обработки на трех различных типах установок. Ресурс времени каждого типа установок ограничен. Известна прибыль от единицы каждого вида продукции: p1, p2 , p3 . Если количество выпускаемой продукции каждого вида есть

x1, x2 , x3 , то прибыль определяется по формуле

Q(x)= p1 x1 + p2 x2 + p3 x3 max

при ограничениях следующего вида:

a11 x1 + a12 x2 + a13 x3 b1 , a21 x1 + a22 x2 + a23 x3 b2 , a31 x1 + a32 x2 + a33 x3 b3 ,

x 0 ,

где b1,b2 ,b3 – ресурсы времени установок первого, второго и третьего типов. Величины aij определяют количество ресурса времени установки i -го типа, которое необходимо для выпуска одной единицы продукции j -го вида.

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

W(u)= b1 u1 +b2 u2 +b3 u3 min

сограничениями:

a11 u1 + a21 u2 + a31 u3 p1,

a12 u1 + a22 u2 + a32 u3 p2,.a13 u1 + a23 u2 + a33 u3 p3,

u 0.

Здесь u1 – это оценка (цена), соответствующая одной единице ограничен-

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

полученной из-за нехватки единицы ограниченного ресурса b1 . Аналогичным образом можно интерпретировать смысл величин u2 и u3 .

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

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

Прямая задача:

Представим ограничения в виде:

Q(

 

 

)=

 

 

T

 

 

 

 

 

= −A

 

+

 

 

 

 

 

 

 

 

max,

 

y

x

b

0,

x

 

p

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

0.

 

A x b,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

83

 

 

 

 

 

 

 

 

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

 

 

 

 

= AT

 

 

0,

 

v

u

p

W (

 

 

 

)=

 

 

T

 

min,

 

 

 

 

 

 

 

 

 

 

 

u

b

u

 

 

 

 

 

u

0.

 

AT

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

u

p

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

0.

 

 

 

 

 

 

 

 

 

 

 

Для ограничений прямой задачи симплексная таблица имеет вид:

 

 

 

x1

xS

xn

1

 

 

 

 

 

 

 

y1=

a11

a1S

a1n

b1

… …

… …

yr =

ar1

arS

arn

br

… …

… …

ym =

am1

amS

amn

bm

Q(

 

)=

p1

pS

pn

0

x

Пусть arS – разрешающий элемент, сделаем шаг модифицированного жорданова исключения:

 

 

 

x1

yr

xn

1

y1=

b11

a1S

b1n

b1,n+1

xS =

ar1

… 1

arn

br

ym =

bm1

amS

bmn

bm,n+1

Q(

 

)=

bm+1,1

pS

bm+1,n

bm+1,n+1

x

Здесь bij = aij arS arj aiS и всю данную таблицу следует разделить еще на

arS .

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

 

v1 =

vs =

vn =

W =

u1

a11

a1S

a1n

b1

ur

ar1

arS

arn

br

um

am1

amS

amn

bm

1

p1

pS

pn

0

 

 

 

 

 

84

 

Пусть arS – направляющий элемент. Сделаем шаг обыкновенного жорда-

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

 

v1 =

ur =

vn =

W =

u1

b11

a1S

b1n

b1,n+1

vs

ar1

… 1

arn

br

um

bm1

amS

bmn

bm,n+1

1

bm+1,1

pS

bm+1,n

bm+1,n+1

Здесь bij = aij arS arj aiS и всю данную таблицу также следует разделить

еще на arS .

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

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

 

 

 

v1 =

vs = … vn = W =

 

 

 

x1

 

xS

 

xn

1

u1 y1=

a11

a1S

a1n

b1

ur yr =

ar1

arS

arn

br

um ym =

am1

amS

amn

bm

1 Q(

 

)=

p1

pS

pn

0

x

Можно показать, что, решая основную задачу линейного программирования, решаем и двойственную к ней. И наоборот. Причем, max Q = min W .

Теоремы двойственности

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

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

 

 

 

 

 

 

 

Τ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Q (x)= p x

 

max,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(7.1)

 

 

 

A

x

b

,

 

 

 

 

 

0,

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

85

 

 

 

 

 

 

 

Τ

 

 

 

 

 

 

 

W (u)= b u min,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

(7.2)

 

 

AΤ

x

p

,

 

 

 

 

 

0.

 

 

 

 

 

u

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если одна из этих задач обладает оптимальным решением, то и двойственная к ней задача также имеет оптимальное решение. Причем экстремальные значения соответствующих линейных форм равны: max Q = min W .

Если же у одной из этих задач линейная форма не ограничена, то двойственная к ней задача противоречива.

Доказательство: Пусть основная задача (7.1) имеет конечное решение и получена окончательная симплексная таблица:

 

 

u1=

….

us = vs+1 =

….

vn =

W =

 

 

y1

….

ys

xs+1

….

xn

1

v1

x1=

b1,1

….

b1,s

b1,s+1

….

b1,n

b1,n+1

….

….

….

….

….

….

….

….

….

vs

xs =

bs,1

….

bs,s

bs,s+1

….

bs,n

bs,n+1

us+1

ys+1 =

bs+1,1

….

bs+1,s

bs+1,s+1

….

bs+1,n

bs+1,n+1

….

….

….

….

….

….

….

….

….

um

ym =

bm,1

….

bm,s

bm,s+1

….

bm,n

bm,n+1

1

Q =

q1

….

qs

qs+1

….

qn

q0

Так как данная таблица, по предположению, соответствует оптимальному решению задачи (7.1), то b1,n+1 0, ..., bm,n+1 0 и q1 0, ..., qn 0. При этом maxQ = q0 достигается при y1 =...= ys = xs+1 =...= xn = 0.

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

v1 =... = vs = us+1 =... = um = 0 ,

найдем

u1 = q1 0 , …, us = qs 0 , vs+1 = qs+1 0 , …, vn = qn 0.

Следовательно, получено опорное решение u1 = q1, …, us = qs , us+1 = 0 , …, um = 0 .

Из последнего столбца находим, что

W= b1,n+1 v1 +... +bs,n+1 vs +bs+1,n+1 us+1 +... +bm,n+1 um + q0

ив точке

v1 =... = vs = us+1 =... = um = 0

86

значение W будет минимальным в силу того, что bi,n+1 0, i =1,...,m . Следовательно, max Q = min W .

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

qs < 0, а все коэффициенты этого столбца симплексной таблицы неположительны: b1,s 0 , b2,s 0, …, bm,s 0. Тогда из таблицы для двойственной задачи:

us = b1,s v1 +... +bs,s vs +bs+1,s us+1 +... +bm,s um + qs qs < 0 ,

то есть система ограничений двойственной задачи противоречива. Так как из неотрицательности v1, ..., vs , us+1, ..., um следует неположительность us (нельзя сде-

лать ее положительной), то есть система несовместна. Теорема доказана.

Вторая теорема двойственности:

Если хотя бы одно оптимальное решение одной из двойственных задач обращает i -е ограничение этой задачи в строгое неравенство, то i -я компонента (т.е. xi или ui ) каждого оптимального решения второй двойственной задачи рав-

на нулю.

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

Иначе говоря, оптимальные решения удовлетворяют условиям

xj

m

 

 

 

 

 

= 0,

j =1,n,

aij ui pj

 

i=1

 

 

 

 

 

n

 

 

 

 

 

ui aij xj

bi

= 0,

i =1,m.

j=1

 

 

 

 

 

 

 

 

 

 

 

x* и u* пары двойственных задач

(7.3)

(7.4)

Доказательство:

Пусть x* и u* – оптимальные решения пары двойственных задач. Тогда

для

n

Q(x )= pj xj max ,

j=1

m

W (u )= biui min

i=1

они удовлетворяют следующим ограничениям:

87

ai1

x1 + ai2 x2 +... + ain xn bi ,

i =

 

 

,

1,m

x*j

 

 

 

 

 

 

 

 

 

 

 

 

0, j =1,n,

 

 

 

 

 

 

 

 

u1 + a2 ju2 +... + amjum

 

 

 

 

 

 

.

a1 j

pj ,

j =1,n,

 

u*

 

 

 

 

 

 

 

 

 

 

 

 

0, i =1,m.

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

Умножим (7.5) соответственно на u

и

 

 

 

 

 

 

 

 

 

 

i

 

выражения:

 

 

 

 

 

 

 

n

 

 

m n

m

 

 

 

 

 

 

pj xj ∑∑aij ui xj bi ui .

 

j=1

 

i=1 j=1

i=1

 

 

 

 

 

 

(7.5)

xj и просуммируем полученные

(7.6)

Из основной теоремы двойственности следует

n

 

 

m

 

pj xj

= bi ui .

(7.7)

j=1

 

 

i=1

 

И с учетом (7.6) получаем:

n

 

 

n m

 

pj xj = ∑∑aij ui xj ,

j=1

 

 

j=1 i=1

 

m

 

 

m n

 

bi ui = ∑∑aij xj ui .

i=1

 

 

i=1 j=1

 

Первое из этих выражений можем переписать в виде

n

 

m

 

,

xj

 

aij ui pj = 0

j=1

i=1

 

 

и так как все xj и выражения в скобках неотрицательны, то, опуская суммирование, получим:

xj

 

m

 

= 0,

j =1,...,n .

 

aij ui pj

 

i=1

 

 

 

Аналогично найдём:

 

 

n

 

= 0,

i =1,...,m .

u

a

x b

i

 

ij

j i

 

 

 

 

j=1

 

 

 

Что и требовалось доказать. Справедлива и обратная теорема.

88