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

книги из ГПНТБ / Егоров С.В. Элементы идентификации и оптимизации управляемых систем учеб. пособие

.pdf
Скачиваний:
5
Добавлен:
24.10.2023
Размер:
9.47 Mб
Скачать

Рассмотрим геометрическую интерпретацию задачи АП.

Рассмотрим (п + 1)-мерное пространство переменных Mi, .... м„, L. Уравнение для целевой функции является урав­

нением плоскости,

проходящей

через

начало

координат

(рис. 4-1). Система

неравенств или равенств

определяет в

этом пространстве выпуклую призму,

гранями которой слу-

жат гиперплоскости

П

0, 1 =

1,

...,

tn,

параллель-

2 а,;М,—6( =

 

 

/-1

 

 

 

 

 

 

о

ные оси OL. Эти гиперплоскости ограничивают

выпуклый

многогранник £2Ц(на рис. 4-1 — многоугольник)

— допусти­

мую область изменения переменных.

Срез

призмы

плос-

П

 

 

 

 

вершину

много-

костью L— 2

CjUj—Q позволяет найти ту

/

1

(заштрихован), в которой

L

прини­

угольника «среза»

мает минимальное значение. Координаты этой

вершины в

пространстве и\, ...,

ип дают оптимальное

решение

(опти­

мальный план). Как видно из рис.

4-1,

 

задача ЛП имеет ре-

Рис. 4-1. Геометрическая интерпретация задачи линейного программирования

шение U* для ограничений, приводящих к замкнутой обла­

сти Qu. Для случая Q„' задача ЛП не имеет решения из-за неограниченности линейной формы. Аналогичная ситуация возникает при противоречивых ограничениях ((/е£2,/'= 0 ) .

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

9*

131

координаты всех вершин, и для каждой из них вычислить значения целевой функции L(U ). Однако, если количество

переменных и ограничений велико, то число вершин огром­ но. Так, при п = 50, т 25 число вершин равно 10й. При

скорости вычисления целевой функции в одной вершине т= 10~6 сек, просмотр всех вершин займет время Лт=2000 лет.

Заметим, что производя оптимизацию классическим мето­ дом с использованием множителей Лагранжа, получим коли­ чество решений, совпадающее с количеством вершин, так как в каждой вершине функция Лагранжа

тп

+—2 ciijiij)

( = i

/'=i

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

Основным методом решения задачи ЛП является симп­ лекс-метод Д. Данцига (1947 г.). Идея его в следующем: отыскивается какая-либо 'вершина Uk многогранника Qu и

соответствующее «вершинное» решение, которое называется опорным, вычисляется значение L(Uh) в этой вершине, пос­

ле чего переходят к другой

вершине

Uh+1, в

которой

L(Uh+i) < L (U k) ,

и повторяют этот процесс до тех пор, пока

не достигнут минимума L(U).

 

операций)

значи­

Такой алгоритм

(последовательность

тельно лучше метода перебора,

так как из любой вершины

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

монотонными.

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

Многолетний опыт применения симплекс-метода показы­ вает, что число шагов, требуемое для отыскания оптималь­ ного плана, обычно колеблется между 1,5 m и 2 т , где т —

число равенств (4-1).

§ 4-2. Симплекс-метод решения задач линейного программирования

Алгебраической основой симплекс-метода является аппа­ рат «жордановых исключений», когда исходная система ог­

132

раничений (4-1) приводится к предпочитаемой форме

П

- f2 а«м*==р,'> г'= 1 >•••> т < х

(4‘4)

l = m + 1

 

где pi^O. Неизвестные (иг) в уравнениях (4-4),

входящие

в них с коэффициентами 1, называются опорными,

а {не­

свободными. Выражение опорных неизвестных через свобод­

ные

П

и(= р (—

'==1,

т

(4-5)

/= т +1

 

 

 

называют общим решением системы (4-1). Среди бесчислен­ ного множества частных решений, получаемых из (4-5) при

подстановке

каких-либо конкретных значений

/}, особо

надо выделить решение

 

(

м(=р,-, г = 1, ..., т ,

 

\

и}—0,

/ = т + 1, ..., п,

(4-6)

называемое опорным. Поскольку Pi2>0, то найденное опор­

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

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

Приведение канонической формы (4-1) к предпочитае­ мой (4-4), или, иными словами, исключение неизвестной ut

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

Опишем процедуру решения уравнений (4-1) по методу исключений Жордана, поскольку на нем основан симплекс-

метод.

Предположим, в системе (4-1) мы решили исключить не­ известную ukиз всех уравнений, кроме /-го. Без потери общ­ ности считаем а1кф0. Назовем ик разрешающей переменной,

а /-е уравнение — разрешающим и перепишем (4-1)

я виде

П

 

aihuh + 2 a,JUj=bi, i= 1, ..., m; i ф l,

 

i+k

 

n

(4-7)

alhuk+2aijUj=bi.

i+k

 

133

Исключим uk из i-го уравнения, для чего умножим 1-е

I aik \

уравнение на число ^ —— J и сложим е i-м уравнением.

При этом в новом i-м уравнении коэффициент при ик, оче­ видно, станет равным нулю (неизвестная ик исключается из i-го уравнения). Повторяя эту процедуру для всех i + I, исключим ик из всех уравнений, кроме I-го. После этого, чтобы получить '1-е уравнение в форме (4-4), разделим его

на а,к. Тогда система (4-7) примет вид

П

V а ' , < = 1 ,

. . . , т ; 1 + 1,

1'*к

(4-8)

и* + V a'ljUi = Ь,\

 

i+k

 

где новые коэффициенты (со штрихом) находятся из оче­ видных соотношений

а и = а,

Gjk

uti, bt' = br Яik bt, l + l,

 

aIk

alk

a tj = аЦ , Ь{

(4-9)

_ _ b t_

 

а1к

b,k '

Выражения (4-9) называют формулами исключения. За­ мечаем, что в уравнениях. (4-8) переменная ик стала опор­ ной. Повторяя эту процедуру исключения для другой пере­

менной, получим еще одну опорную переменную. Макси­ мальное число опорных переменных будет всегда равно т , а свободных — (п—т ). Число опорных решений поэтому,

очевидно, равно числу сочетаний из п по ЦП, т. е. (”!) .

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

До сих пор мы считали, что все р;^0. Однако при про­ извольных жордановых преобразованиях от формы (4-1) с можно прийти к форме (4-4) с произвольными р„ в том числе и отрицательными. Чтобы избежать такой возмож­

ности и получить все р<^0, надо выбирать разрешающие не­ известные и разрешающие уравнения по определенным пра­ вилам, которые очевидны из (4-9):

1) чтобы получить V^O , достаточно выбрать такую раз­ решающую переменную ик, чтобы при ней хотя бы в одном

уравнении был коэффициент

(4-10)

а1к> 0;

134

2) чтобы получить

 

 

 

 

 

 

V =

Ъ ,-

&ik

•t>t >0.

/=^=l,

(4-11)

 

 

aik

 

 

 

 

надо выбрать такое разрешающее уравнение, у которого

bi

m in ( —

)

(4-12)

aik

i

\

<*ik >° /

 

где минимум берется

по

всем

индексам /, для

которых

aik> 0, так как справедливость

(4-11)

при условии (4-10)

и aik<i0 ие вызывает сомнений.

 

 

 

 

Будем говорить, что система (4-1) подвергается симплекс­ ному преобразованию, если процесс выбора разрешающей неизвестной (щ) и разрешающего уравнения (/-го) проис­

ходит по правилам (4-10), (4-12).

" П р и м е р 4-1. Дана система уравнений

Ul

3и,

 

7ц4

—2иь

-f 2и,

= 4

 

u t

 

+2%

3«5

+%

= 6

— Ul

4*2ма

-f %

+ и«

—5«5

 

= 15

Подвергаем эту систему симплексному преобразованию, взяв за раз­ решающую переменную иг. Разрешающим уравнением при этом оказы­ вается второе, так как по (4-12)

_15_\

_6_

min

1 '

2 /

Исключая переменную иг из первого и третьего уравнений, получаем вместо них новые с коэффициентами, найденными по формулам исклю­ чения (4-9)

U%

+ 13%

-1 1 %

: 5%

= 22

и г

+2 u t

—3%

+%

= 6

иг

—3%

+ %

- 2 и.

= 3

135

Исключая переменную щ , взяв за разрешающее уравнение первое (так как коэффициент в третьем уравнении отрицателен), получаем уравнения в форме (4-4)

и1

 

— Пщ

и,

:2и.

—3«:,

Чз

+ Ющ

— Юп5

Ч-5и,

т “ в

« СО

=22

=6

=25

Опорное решение имеет вид (22, 6, 25, 0, 0, 0).

 

 

Итак, мы .научились находить опорные

решения

(4-6)

вида (Pi,

р„„ 0,

0). Зная его, легко найти неопорные

неотрицательные решения, которые в общем случае

могут

быть лучше найденного опорного.

придавать раз­

Рассмотрим общее решение (4-5). Будем

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

ные переменные оставались неотрицательными, т. е.

Wi=Pi—Ui»Ms^ 0 , /= 1, ..., m,

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

ния в пределах

 

 

0< « s < mi n( —

^ = Р/,

(4-1 За)

где минимум находится среди всех

/, для которых

а(<> 0,

при этом значение р; называется

крайним. Если

же все

Uf.<C0, то диапазон изменения свободной переменной неог­ раничен:

0^ м .< э с

(4-136)

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

Является ли опорное решение (4-6) оптимальным? Линейная форма для такого решения равна

т

 

L0=I2Ic (Pi

(4-14)

и выражается только через опорные переменные.

Рассмотрим неопорное .неотрицательное решение со сво­ бодными переменными, которые могут изменяться в диапа­

136

зонах (4-13). Чтобы удобнее было следить за линейной фор­ мой, выразим ее через свободные неизвестные подстановкой

(4-5) в (4-3).

Тогда получаем

т п п

L ( U ) = L q

Q £ ct.jMj+S

£/ И/»

£ = 1

i = m + 1

j - m + l

 

И Л И

 

 

 

1 = 1 0-2Д,к,,

 

(4-15)

 

j - - m + 1

 

 

где величины

 

 

 

m

 

..., n,

(4-16)

Aj=Eciaij—Cj, j= m + 1,

;=i

 

 

 

называются маргинальными значениями.

Исследуем (4-15) на оптимальность. Из (4-15) видно, что опорное решение (4-6) является оптимальным тогда и только тогда, если в уравнении (4-15) все маргинальные значения неположительны. Таким образом, необходимым и достаточ­ ным условием оптимальности опорного решения является

Ajг$0, j —m + 1, ..., п.

(4-17)

Покажем, что оптимальным решением является опорное.

Пусть хотя бы одна величина (4-16), например, А,>0. Тогда, дав свободной переменной и, любое неотрицательное

значение из диапазона (4-13а) и оставляя другие свободные переменные нулевыми, получим значение целевой функции, меньшее L0. Ясно, что наименьшей величины L можно до­ стичь, дав переменной и, крайнее значение. Но когда сво­

бодная переменная иа принимает свое крайнее значение Pi, одна из опорных переменных, именно \1-я, обращается в нуль,

т. е. найденное улучшенное

решение

снова

принадлежит

опорному и имеет вид ( р / , ...,

р / = 0, . . . ,

р ,/ , 0, . . . ,

р / = :р , , . . . . 0).

Это решение соответствует новой предпочитаемой форме с опорной переменной и. вместо м( в /чм разрешающем урав­

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

Рассмотрим теперь случай, когда свободная переменная может изменяться в диапазоне (4-136). В этом случае, как

137

нетрудно видеть из (4-15), значение линейной формы неог­ раниченно убывает при и3-»-ос, и задача неразрешима. Та­ ким образом, задача неразрешима в силу неограниченности линейной формы, если для какого-либо Aj>»0 все щ < 0 .

Пусть сразу две или более величин Aj>0. Какую из пе­ ременных в этом случае .выбрать за опорную? Обычно берут

ту, для которой величина

Aj>0 максимальна

(критерий

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

убывает

наиболее быстро. Это видно из

(4-15), поскольку

скорость

убывания

линейной формы

при

изменении

переменной щ

равна

d L

■—А}. Выбор же разрешающего

уравнения на

duj

этом

шаге симплексного преобразования производится, как

и ранее, из условия (4-12).

Переход от старого

опорного

решения к новому осуществляется при этом по формулам ис­ ключения (4-9). Таким образом, на каждом шаге симплекс­ ных преобразований устанавливается либо оптимальность опорного решения, либо неразрешимость задачи, либо воз­ можность перехода к новому, лучшему опорному решению. Блок-схема программы решения задачи линейного програм­ мирования показана на рис. 4-2.

Может случиться, что минимальное отношение (4-12) достигается сразу для нескольких индексов i. Этот случай

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

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

на 6, + Ei, где е,- некоторые малые величины).

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

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

П р и м е р 4-2. Минимизировать

L ( U ) = 3mi —4и, + 5«з —17«i + и .

138

сНачало j

\ ВШ п , т ; {ац\,1

\ { В; } системы(4.1) /

( Z K D _ \ _ 3 _ _ y

Симплексные <преобразования

. . . ~.ч- - - - - -

Опарте решение

I

Вычисление йj

J'm+i, . щ п

Определение S

> SmT,-> p

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

/ етп{п ( ф в )

обработка

Л о ги ч еск а я

операция

П ечат ь

оптимального

решения

f~"

^Конец ^

Рис. 4-2. Блок-схема алгоритма симплекс-метода

139

п р и о г р а н и ч е н и я х

ц,+ us — 2«4+ 4us=6,

'U%U3 -f“ 3W4 "f- Ub — If

 

til

>0,

 

 

 

/ = 1 ,2 ,

3, 4,

5.

 

Непосредственно имеем

опорное решение U „= (5, 1, 0, 0, 0),

цри этом

соответствующая целевая

функция

равна

£ „= 3 -5 —4 • 1 = 11.

Величины

Л / равны

 

 

 

 

Лз=3-1 + (—4) (— 1)—5=2,

Л4=3 (—2) + (—4) • 3+17==—1,

Л5=3• 4+(—4)• 1 —1 = т,

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

 

Опорн,

С/

3

- 4

5

- 1 7

1

ч

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

Р/

 

U\

и а

и»

«4

«5

 

 

 

 

 

 

 

 

 

 

3

и,

5

 

1

0

1

- 2

4

- 4

И2

1

 

0

1

- 1

3

1

 

£„ = П

 

 

V

2

—1

7

Поскольку шах (Д />0) — As,

то разрешающей

переменной в

следую-

 

/

 

 

 

 

 

 

 

щей преобразованной системе будет из,

а разрешающим

уравнением —

второе, так

как

 

 

 

 

 

 

 

 

min

Р/

= min

ъ_

 

1.

 

 

 

а,» >0

4 ’

 

 

 

 

i

i

 

 

 

 

140

Соседние файлы в папке книги из ГПНТБ