![](/user_photo/_userpic.png)
книги из ГПНТБ / Егоров С.В. Элементы идентификации и оптимизации управляемых систем учеб. пособие
.pdfРассмотрим геометрическую интерпретацию задачи АП.
Рассмотрим (п + 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