книги / Математические методы принятия решений
..pdfограничениях hj(x\, х2, ... , х п) = 0, j = |
1 , 2 , . . . , р. По условию за |
дачи составляется функция Лагранжа |
|
|
V |
F(jX\y Х2, • • •, З'п) fip^ 1? ®2> • • • у %п) “Ь |
Xjhjixi, X2, • • •, Хп). |
|
i =1 |
Здесь Xj — неизвестные постоянные множители, подлежащие опре делению (множители Лагранжа), т. е. требуется найти п неизвест ных х \, Х2, ■■■, х п и р множителей Лагранжа X], Х2, ..., Хр.
Для рассматриваемого в начале параграфа примера, когда мини мизируется функция f{ x 1,жг) при условии ср(хь х2) = 0, функция Лагранжа имеет вид
F{x 1, яг) = f i x u х2) + Хср(хь х2).
Точки, в которых возможен экстремум, находятся как решение системы алгебраических уравнений, полученной приравниванием нулю частных производных функции Лагранжа по искомым пере менным (п уравнений) и включением в эту систему р ограниченийравенств. Метод Лагранжа сводит задачу нахождения условного экс тремума функции f i x ) к задаче нахождения безусловного экстре мума функции Fix, X).
Ограничения-неравенства еще более усложняют задачу. Они за дают область допустимых значений переменных. Например, пусть требуется оптимизировать некоторую функцию fix ) при ограниче ниях
<7i(х) = xi - х \ ^ 0, g2ix) = 1 - х, - х \ ^ 0.
Область допустимых значений переменных xi и х2 в этой зада че есть пересечение области, лежащей «внутри» параболы xi = х\, с кругом единичного радиуса, уравнение окружности которого име ет вид х, + х\ = 1 (рис. 1.4).
Пересечение цилиндра, направляющей которого является грани ца полученной области D, с поверхностью z = fix ) может привести к самым разнообразным вариантам положения точки экстремума. На рис. 1.5, a-в показаны поверхности, полученные в результате
пересечения цилиндра, направляющей ко |
|
|||
торого служит граница области допу |
|
|||
стимых |
значений переменных х\ и Х2, |
|
||
и поверхности, соответствующей целевой |
|
|||
функции z = f ( x 1, Х2). |
|
|
||
На рис. 1.5, а точка М безусловного |
|
|||
экстремума функции г = f ( x 1, £ 2) являет |
|
|||
ся и точкой условного экстремума задачи. |
Рис. 1.4. Область допу |
|||
На рис. |
1.5, б точка М |
является уже |
||
|
стимых значений х\ и Х2
граничной и в ней целевая функция до стигает своего наибольшего значения. На рис. 1.5, в точка М не
принадлежит области допустимых значений переменных, а целе вая функция имеет равные наибольшие значения по линиям A L B и А К Б (т. е. не ясно, что же брать за решение задачи). Эти неод нозначные результаты получены даже в случае, когда поверхность целевой функции г = f(x) достаточно проста и обладает единствен ным (глобальным) максимумом.
Z |
|
|
nL М |
|
|
М |
|
|
к / |
1 |
\ |
1 |
\ |
|
|
1 |
\ |
|
1 |
\ |
|
1 |
|
|
1 |
|
|
1 |
^ |
|
_1 |
|
|
i |
*2 |
Z
|
|
Рис. 1.5. Точка М: |
|
х 2 |
а —является точкой экстремума функ |
|
|
ции f(x\,X 2) и задачи; б —является |
*\ |
б |
граничной; в —не принадлежит обла |
сти допустимых значений xi и Х2 |
||
2 — 4077 |
|
|
Наиболее полные результаты в задачах математического про граммирования получены для выпуклых целевых функций, когда об ласть допустимых значений является выпуклым множеством. Мно жество точек D называют выпуклым, если для любых точек М, и М 2, принадлежащих области D, отрезок М ,М 2 принадлежит мно жеству (области) D (рис. 1.6, а). Другими словами, любая точка ХМ, + (1 —Х)М2 принадлежит области D для любого X, 0 ^ X
и для любых точек М\ и М 2, принадлежащих области D. Пересе чение конечного числа выпуклых множеств выпукло. На рис. 1.6, б показаны невыпуклые множества.
Рис. 1.6. Выпуклые (а) и невыпуклые (б) области (множества)
Функцию /(М ) называют выпуклой на непустом выпуклом мно жестве D, если для любых двух точек М\ и М 2, принадлежащих области D, и любого числа X, 0 ^ X ^ 1, справедливо неравенство
/(ХМ, + (1 - Х)М2) ^ Х /(М ,) + (1 - Х)/(М 2).
Функцию /(М ) называют строго выпуклой, если для 0 < X <; 1 и М , # М 2 выполнено строгое неравенство
/(ХМ , + (1 - Х)М2) < Х /(М ,) + (1 - Х)/(М 2).
Геометрически выпуклая функция лежит над своими касательными. Примером выпуклой функции является парабола.
Сумма выпуклых на множестве D функций есть также выпуклая на D функция.
Функцию /(х ) называют вогнутой на выпуклом множестве D, если функция - / ( х ) выпукла на D.
Ограничения gi(x) ^ 0, i = 1, 2 , . . . , т, образуют выпуклое мно жество D (выпуклую область D), если все функции gi(x) вогнуты.
В математическом программировании выделяют важный класс задач — задачи выпуклого программирования: минимизировать функ
цию /(ж) при ограничениях gi(x) ^ 0, г = 1, 2, . . . , т, где f(x ) - вы пуклая функция, а все функции gt(x) вогнуты, т. е. рассматривают выпуклые функции на выпуклых множествах.
Задачи выпуклого программирования обладают важным поло жительным свойством: локальные минимумы целевых функций яв ляются одновременно глобальными (единственными).
Очевидно, что решить подобную задачу проще (но не просто), чем в случае, когда целевая функция f(x) и область D будут общего вида.
§1.5. Необходимые и достаточные условия экстремума
взадачах математического программирования
Вобщем случае в задачах математического программирова ния необходимо найти локальный минимум (максимум) целевой функции, т. е. такое значение х*, что для х, принадлежащих неко торой окрестности точки х*, выполнены неравенства /(ж*) ^ fix ) для строгого минимума/максимума и /(ж*) = /(ж) для нестрогого
минимума/максимума. Как и для функций одной переменной, в задачах математического программирования требуется сформу лировать необходимые и достаточные условия существования оп тимума. Если в задаче математи ческого программирования множе
ство D выпукло, а функция /(ж)
дифференцируема в точке ж* 6 D,
то градиент V /( ж*), если он от личен от нуля, составляет нетупой
угол ф с вектором, направленным из ж* в любую точку х\ € D. Други ми словами, скалярное произведение (У/(ж*), Ж1 - ж * ) ^ 0 (рис. 1.7). Для точки ж, не являющейся решением за дачи, всегда найдется такая точка жг, что угол ф1 будет больше тч/2.
В тех случаях, когда решение ж* находится внутри области D, гради ент У/(ж*) равен нулю.
Рис. 1.7. Положение гради ента Vfix*) в точке реше ния ж* и в точке ж, не яв ляющейся решением задачи математического программи рования (знаками + и —ука зано направление возраста ния значений линий уровня)
Сформулированное условие является необходимым условием в задаче минимизации дифференцируемой функции на выпуклом множестве (для выпуклой задачи оно является и достаточным условием глобальной оптимальности).
Для области D, имеющей вид параллелепипеда, когда а* ^ х* ^
^ Ь{, —оо < a i< b i < +оо, |
г = 1, 2, |
данное (необходимое) |
|
условие записывается следующим образом: |
|||
df(x*) |
|
если ai<Xi < bit |
|
—г-----= 0, |
|||
df(x*) Л |
если |
* |
|
|
> 0, |
х ’ = ai ф -о о , |
|
ОХ\ |
< 0, |
если |
х£ = bi ф +оо. |
|
|
|
Здесь градиент направлен внутрь области D.
Чтобы определить координаты возможной оптимальной точки, составим из необходимых условий соответствующие системы уравнении и решим их.
В общем случае для задачи вида |
|
|
/(х ) -» min, |
(1.4) |
|
g i ( x ) ^ 0 , |
г = 1, 2, . . . ,m , |
(1.5) |
hj(x) = 0, |
j = 1, 2, ...,p, |
( 1.6) |
вводится функция Лагранжа
|
т |
р |
|
|
L(x, и, X) = /(х ) - 2 |
iiipi(x) + 2 ljhj(x), |
(1.7) |
||
|
г - 1 |
j=l |
|
|
где щ, г = 1, 2, |
Xj, j = |
1, 2, |
—множители |
Лагранжа, |
подлежащие определению наряду с координатами вектора х. Множители Лагранжа \j для ограничений-равенств могут иметь любой знак, множители Лагранжа щ для ограничений-неравенств — неотрицательны. Если в задаче математического программирова
ния (1.4)—(1.6) множество P, |
x e P c R " , |
выпукло, функции /(ж), |
|
<7i(x), г = 1,2, |
выпуклы на Р и дифференцируемы в точке |
||
х* е D, |
|
|
|
D = {х6 Р | gi(x) ^ 0, г = |
1,2, |
hj = 0, j = 1,2, ... ,р ) , |
функции hj(x), j = 1, 2 , |
р, |
линейны и |
при |
некоторых и *, X* |
|
выполнены условия (VxL(x*, и*, X*), х - |
х*) ^ |
0 для всех |
х е Р |
||
и u*gi(x*) = 0, г = 1, 2, . . . , т, |
то х* —(глобальное) решение |
этой |
|||
задачи. |
|
|
|
|
|
Соотношения |
|
|
|
|
|
(VxL(x*, и*, X*), ж - х*) > 0 |
|
(1.8) |
|||
при всех х е Р, |
|
|
|
|
|
u*9i(x*) = 0, |
г = 1 , 2 , . . . , т , |
|
(1.9) |
для задачи выпуклого программирования являются не только необ ходимыми, но и достаточными условиями существования решения
(условия Куна—Таккера):
а) если х* является внутренней точкой области P, х* е int Р, то условие ( 1.8) эквивалентно равенству V xL(x*, и*, X*) = 0;
б) если область Р имеет вид параллелепипеда, т. е.
P = { x e R n \ak ^ x k ^ b k, k = l , 2 , . . . , n } ,
где —оо < а к <Ьк < +оо, то соотношение (1.8) эквивалентно следу ющему условию: для любого к = 1, 2, . . . , п
dL |
(х*, и*, X*) = 0, |
если |
ак < х к < Ьк, |
|
■=— |
||||
охк |
|
|
|
|
^ ( х * , и * , Х * ) > |
0, |
если |
х*к = ак Ф - оо, |
|
ОХк |
|
|
|
|
-г— (х*, и*, X*) ^ |
0, |
если |
х*к = Ьк Ф+ оо; |
|
дхк |
|
|
|
|
в) если в области Р выполнено условие неотрицательности только s переменных и Р имеет вид
P = { x e R n | х к ^ 0, к = 1,2,..., s}, O ^ s ^ n ,
то условие ( 1.8) эквивалентно совокупности условий
х*к ^ - ( х * , и * , \ * ) = 0, |
к = 1,2, |
( 1.10) |
■j— (х*, и*, X*) = 0, |
fc = s + l , . . . , n . |
|
охк |
|
|
В задачах, имеющих ограничения-неравенства, появляется до полнительное условие (1.9), которое называют условием дополня ющей нежесткости. Это условие разделяет ограничения-неравен ства на активные, которые в точке оптимума обращаются в нуль
(gi(x*) = Q, i = 1, 2, . 1\; Ц ^ т), и пассивные (gi(x*) Ф 0, г = = /i + 1,..., т). Для пассивных ограничений коэффициенты Лагран жа и* должны быть равны нулю, при этом пассивные ограничения не оказывают влияния на выбор решения х*
Рассмотрим случай, когда условиями задачи являются только ограничения-неравенства:
fix ) —*• min, g i(x)^ 0, г = 1, 2,
Тогда в точке минимума имеем
7 1
Vx/(®*) + 2 ] < V ^ i(x*) = 0,
г= 1
т. е. антиградиент целевой функции является неотрицательной ли нейной комбинацией градиентов функций, образующих активные
ограничения в точке х* (рис. 1.8). На рис. |
1.8 показано множест |
|||||||||
во, образованное |
неравенствами |
д \ ( х ) ^ 0 , |
520*0 ^ 0, |
д з ( х ) ^ 0 . |
||||||
Ух9з(х) |
|
Здесь |
же |
в |
точках |
х* |
и х |
|||
|
указаны |
направления |
градиен |
|||||||
|
|
|||||||||
|
|
тов активных ограничений и ан |
||||||||
|
|
тиградиента |
целевой |
функции. |
||||||
|
|
Отсюда следует, что точкой экс |
||||||||
|
|
тремума не может быть точка гг, |
||||||||
|
|
так как в ней не выполнено |
||||||||
|
|
условие того, что антиградиент |
||||||||
|
|
функции /(я ) есть положитель |
||||||||
|
|
ная линейная комбинация |
гра |
|||||||
|
|
диентов активных ограничений. |
||||||||
|
|
Решением является точка я*, где |
||||||||
Рис. 1.8. Связь направлений гра |
данное условие выполнено. |
|
||||||||
Мы |
рассмотрели |
некоторые |
||||||||
диентов активных |
ограничений |
|||||||||
условия |
существования |
реше- |
||||||||
и антиградиента целевой функции |
||||||||||
в точке решения я* |
и в точке я, |
ния, используя только производ |
||||||||
ив являющейся точкой решения |
ные |
первого |
порядка. |
Однако |
сформулированы и доказаны условия оптимальности второго по рядка, в которых применяют вторые частные производные функции Лагранжа. Здесь мы их рассматривать не будем.
В общем случае задачу математического программирования можно было бы решать по следующей схеме.
1.Записать задачу в каноническом виде (1.4)—(1.6) и составить функцию Лагранжа (1.7).
2.Выписать систему условий, которые характеризуют решение (определяют точки, где возможно существование оптимального ре шения, — стационарные точки): в развернутой форме записать усло вия (1.8), (1.9), а также условия, налагаемые задачей на допустимые значения и на множители Лагранжа. Например, для условия (1.10) полная система для определения стационарных точек имеет вид
ÔL |
0, |
dL |
|
к = 1, 2, . . . , s, |
Xfc^O, -т— (х, и, X) ^ |
х к -г— {х, и, X) = 0, |
|||
OXk |
|
OXk |
|
|
dL |
|
|
1,..., п, |
|
- — (x , и, X) = 0, к = s + |
||||
OXk |
|
|
|
|
Uî ^ 0, gi(x) ^ |
0, |
UiQiipc) 0, |
% |
1 ) 2) •. ■) |
gi(x) = 0, |
г = / + |
|
|
3.Решить полученную систему необходимых условий. Сделать это в аналитическом виде возможно лишь в редких случаях.
4.Если удалось найти решение системы необходимых усло вий — получить стационарные точки, необходимо провести исследо вание этих точек для отбора среди них решений. Это тоже сделать непросто. Иногда проще провести непосредственное исследование поведения целевой функции в стационарной точке.
На последних двух этапах полезно привлечение физических и геометрических соображений о возможном решении задачи мате матического программирования.
§ 1.6. Теория двойственности и недифференциальные условия оптимальности в задаче выпуклого программирования
В задачах математического программирования (1.4)—(1.6) можно указать условия оптимальности, не прибегая к понятиям производ ных и градиентов, с помощью так называемой теории двойствен
ности. Особенно эффективен этот подход к решению задач выпук лого программирования.
Рассмотрим функцию Лагранжа (1.7). Обозначим через /* точ ную нижнюю грань целевой функции задачи (1.4)—(1.6), определен ной на допустимом множестве D :
/* = inf f(x). xeD
Точка х* е D является решением задачи (1.4)—(1.6) в том и толь
ко в том случае, если /* |
= fix*). |
|
Введем вектор у с |
координатами щ, i = 1,2, |
и Xj, j = |
= 1,2,... ,р. Вектор у* называется вектором Куна—Танкера задачи (1.4)—(1.6), если при всех х е D
ТП |
р |
f* ^ fix) - 2 u*gi(x) + 2 \*hj(x) = L(x, у*). |
|
i - 1 |
j = 1 |
Любой задаче математического программирования можно по ставить в соответствие так называемую двойственную задачу оп тимизации. Между прямой и двойственной задачами существуют связи, позволяющие в некоторых случаях упростить решение.
Двойственной к задаче (1.4)-(1.6) называют задачу
где |
|
(р(у)-м пах, |
y e Y , |
|
||
|
|
( |
|
ТП |
р |
|
|
|
|
|
|||
|
|
|
fix) - 2 иг9г(х) + 2 W*) |
|||
|
|
|
|
|
i=l |
i =1 |
Y |
= { y e Q \( f( y ) > - o o } , |
Q = { y e R n \ y i ^ 0 , |
i = l , 2,...,fc}. |
|||
Рассмотрим |
подробнее задачу |
линейного программирования |
||||
|
|
п |
|
|
|
|
|
|
2 ci xi; —> min |
|
|||
при |
|
j =i |
|
|
|
|
п |
|
2 = 1, 2, . . . , |
/с, |
п |
|
|
У! |
aijxj ^ |
/ |
, a>ijXj = Ьь |
г = k -h 1, . . . , m, |
||
3=1 |
|
|
j=i |
|
||
|
|
Xj> 0, |
J |
= |
1, 2,...» s. |
|
Переменные Xj = s + 1,..., п могут иметь любые значения. Функ ция Лагранжа этой задачи имеет вид
|
71 |
7 1 |
/ |
|
71 |
|
|
ч |
|
|
|
|
|
|
L ( x , y ) = Y i |
сзхз + Y i yi[ bi~ Y i ач хз ) = |
|
|
|
|
|
||||||||
|
j = \ |
1=1 |
' |
|
j = |
1 |
|
' |
|
|
|
|
|
|
|
|
|
|
|
|
71 |
/ |
|
7 1 |
Ч |
7 1 |
|
|
|
|
|
|
|
|
|
= |
|
( c j |
“ |
O'ijVi J |
“b ^ |
biVi* |
||
где |
|
|
|
|
|
j = |
1 |
' |
|
1=1 |
' |
i= l |
|
|
|
Г |
|
|
|
|
|
|
|
|
|
|
|
|
|
x e P , P = |
71 |
aijXj |
|
i = 1,2,..., fc, |
|
|
|
|||||||
< x e Rn |
^ |
|
|
|
|
|||||||||
|
|
^ |
i = i |
|
|
n |
|
|
|
|
|
|
|
ч |
|
|
|
|
|
|
^ |
dij Xj |
bî) |
г = fc H-15 • • • 5m |
i , |
||||
|
|
|
|
|
|
j=i |
|
|
|
|
|
|
|
|
|
y e Q , Q = { у е Е п | у ^ |
0, i = 1, 2, |
k}. |
|
|
|
||||||||
|
Тогда |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inf L(x, y) = |
|
£ biyu |
|
если |
|
y e У, |
|
|
|
|||
|
|
< i=i |
|
|
|
|
|
|
|
|
|
|||
|
|
xeP |
|
k—oo, |
если |
|
y e Q \Y , |
|
|
|
||||
где |
|
|
|
|
|
|
|
|||||||
/ |
7 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
У |
I У ^ g |
dijyi |
Cj9 |
j |
1> 2>• • • ) 5, |
|
|
|
|
|
|
|||
|
^ |
1=1 |
|
|
|
|
1 |
|
|
|
|
|
|
4 |
|
|
|
|
|
|
^ |
|
d'ijUi |
= cj » |
J = 5 |
"b 1 , . . •, |
n |
?. |
|
|
|
|
|
|
|
1=1 |
|
|
|
|
|
|
J |
|
|
Согласно определению двойственности, двойственной задачей |
|||||||||||||
к исходной задаче является следующая: |
|
|
|
|
|
|
||||||||
|
|
|
|
7 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
Ыу{ —►шах |
|
|
|
|
|
|
|||
при |
|
|
1=1 |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
aijyi ^ |
Cj9 |
3 |
|
1, 2, |
..., 5, |
|
|
|
|
||
|
|
1=1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dijyi |
|
dj9 |
j |
S -f" 1, |
..., 72, |
|
|
|
||||
|
|
t=l |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
yi ^ |
0, |
i |
1 >2 , ... , |
k. |
|
|
|
|