книги / Математические методы в системах поддержки принятия решений
..pdf6. Вычислить х { = х0 + ОоЛ), где а 0 = aigmin f ( x 0 + а Р0) или OCQ берется из априори |
|
последовательности 0 < ак й 1, |
а>0 |
|
|
£ « * =“ • |
< «о и перейти к оп. 4. |
*«о |
*-о |
Метод возможных направлений. Сущность метода заключается в рас пространении идеи метода градиентного спуска на задачи минимизации линеаризованной критериальной функции при ограничениях, в резуль тате чего становится возможным отыскивать направление спуска по средством решения задачи линейного программирования с меньшим числом ограничений. Рассмотрим этот метод для поиска
х = aigminf(x ), X с R",
х е Х
где/(х) — выпуклая дифференцируемая функция, заданная на допусти мом компактном множестве
|
|
Г |
. |
_ |
|
X |
= х е R n Y j atfx j ^ bi > 1 = |
*j * 0. J = 1,я |
|
|
|
< |
> 1 |
J |
А л г о р и т м |
[21; 92] |
|
|
|
1. |
Выбрать некоторое начальное приближение х0 е X. |
|||
2. |
Если точка xQе intX, то выбрать направление sQперемещения из точки х0 к точке х 1 |
по антиградиенту критериальной функции, т.е. s0 = - /'( * 0) и перейти к операции 3. Если х0 вышла на границу X, то перейти к оп. 5.
3. Задать OQ > 0 — величину шага перемещения по направлению д0 или определить OQ из решения задачи
oto = argm in/(x0 - о /'( х 0))(||/'(х 0)|| 1)
так, чтобы не нарушались в точке х { все ограничения и значение функции y(*i) было бы наименьшим.
4. |
Вычислить точку Xj = JC0 -cco/'U oX II/'fcoJir1) и перейти к операции 2. |
5. |
Установить множество индексов ограничений, обращающихся в точке Х\ в ра |
венства |
|
|
|
- е 0 s Jo “ |
\JVJO ~ 0}> |
|
у=1 |
|
где £Q — параметр повышения чувствительности к ограничениям в точке х0, ек 0, к «>. |
||
6. |
Выбрать SQ — направление перемещения из точки х0 в точку х {. Предварительно |
|
исходную задачу записать в линеаризованной форме: |
|
|
|
Ах) =Лхо) + /'(*о)(* - *о) |
niin, |
|
|
х е Х |
XaV*J ~ bi тX °ij(X~ Xjo)* °’
мм
181
или, подставив вместо х выражение * = x(k+V = |
переписать в виде |
f ( x w ) + « f '( x (k)))T,Xs(k))-> min , (в*, АлЮ) < О,
{*{к))
гдеЛ *^) — какая-то константа; если далее ее не учитывать, то исходная задача преобразу ется к виду
M f'(x (/г) |
)-> min , X(ah s<*>) й О, |
|
is<*>} |
и искомое направление перемещения из точки х0 в точку х { определится в результате ре шения следующей задачи линейного программирования:
|
/'(*о)>*о -> min, (я„ SQ) й 0, / е |
/ 0>*/ = (*/, |
2 |
|||||
|
|
|
|
|
|
|
|
У=1 |
где |
|
|
|
|
|
|
|
|
|
|
УбУ0 |
|
№ о |
|
|
|
|
(e(,i»)= |
|
+ Х Л0(5Уо _ , Л)’-/е у#’ |
|
|
||||
|
/бУ0 |
yWo |
|
|
|
|
|
|
Х |
М = 2 |
/ А + X (i)o “ 'A )S1SA *0- ' 6 ^ |
|
|||||
у«1 |
УвУо |
У«Уо |
|
|
|
|
|
|
j+ |
Гвл, |
если |
*Л >0, |
я _ |
= ГО, |
если |
s |
О, |
Л |
|0, |
если |
5Уо<0, |
Л |
Г 4у0> если |
s >o<0- |
Запись вектора $Уо в виде 5у0 = s* - 5 , у g / 0>позволяет находить sjQ как решение
задачи линейного программирования с неотрицательными переменными, т.е. при этом задача линейного программирования приобретает стандартную форму (п. 6.4).
7.Условие завершения работы алгоритма:
х* = *<*>, если (|]Г(*(*))11 £ е) v (||х<*> - |
< е), |
где е > 0 определяет требуемую точность вычисления х* е X, к — индекс итерации.
Проиллюстрируем применение метода на следующей задаче.
Задача. Требуется найти решение х° =(х^ ,х2\ доставляющее минимум функции
/ ( * ) - < * , - 8)2 + 2(х2 - 5 ) 2
при ограничениях
X: 2х| + 5 х 2 £ 40, х,,х2>0.
2х1 + х2 < 16,
182
Р е ш е н и е . 1. Зададим начальное приближение: пусть
х1<#)=6,х<0>=3, (Х<0>€ X).
Ограничения выполняются как строгие неравенства 27 < 40, 15 < 16. Множество активных ограничений - пустое, Дх<0)) = 0 .
2.Вычислим antigrad/(J C 0>) в точке л^0):
е<°) = antigrad/(*<0)) = -{2(6 - 8); 2 х 2 (3 - 5)} = {4; 8}.
3.Вычислим длину шага в направлении antigrad/(х<°>); предварительно отметим, что
(а(0, е(*>) > 0, / - 1,2; а <!>= (2; 5), л<2>= (2; 1).
|
2 х 4 + 5 х 8 = 48> 0 , |
|
|
|
2 x 4 + 1 x 8 = 16 >0. |
|
|
Поэтому учтем только |
|
|
|
- _ б ,- (о< У 8>)_ |
4 0 -(2 - 6+ 5-3) __ 13 |
||
48 |
48 |
||
Ао/' |
(*<'>,е(0>) |
16 -(2 -6+ 1-3) _ 1 * |
|
|
|
16 |
“ 16 |
|
а 01 = «02 =^вв»так как eKj(0).> 0, |
|
а 0 = d\)(a0)= т т Ф 0(а )= min f( x ° |
+ a*°) = min{(6 + a - 4 - 8 ) 2 + 2(3 + а - 8 - 5 ) 2}- |
||
|
а>0 |
а>0 |
а>0 |
|
|
-»2(4а-2)+2-2(8а-2) =0-»а0=±; |
|
итак, ао = min{13/48,1/16,3/5} - 1/16. |
|
||
4. |
Вычислим |
= *<°> + ао*0 = |
|
5. |
Проверим выполнение ограничений |
||
|
|
2*j(1) + 5JC<!) =35< 40, 2х<1) + *<!) = 16 = 16. |
Второе ограничение выполняется как равенство, поэтому оно является активным ограни
чением и /i(x W) = 0 , так как X j 0, / = |
{2}. |
|
|
6. Составим задачу линейного программирования для вычисления е^1\ Для этого за |
|||
пишем выражение критериальной функции - |
линейной формы |
||
/(«(,,)-(gmd/(*<'>),<<'>)= £ Э |
^ |
ео>+ |
|
>€/, |
J |
j€Ji |
j |
183
|
-7 |
1 |
|
|
|
1 |
' 5й |
- |
|
m . |
|
|
|
|
|
> i-"*' |
|
|
2 |
1 |
2 |
1 |
|
+6е<0- |
,?,in . |
|
|
|
|
|
|
|
|
2 |
|
Запишем ограничение |
|
|
|
|
|
|
(««"..(О |
|
|
|
|
|
|
|
|
||
(a(,>.e(l>)= |
|
|
|
|
|
|
||
|
|
J * J I |
|
У«У, V 2 |
еУ |
JS °. / S /, = {2}, |
||
в котором первое слагаемое не учитывается |
|
|
|
|||||
|
|
|
|
|
,ТаККак ^ ' ) ) = 0 , т . е. имеем |
|||
|
|
2е<')+ _ 2еО)-+ |
(|)+ |
- е '1' |
SO |
|||
|
|
|
1 |
|
1 |
е2 |
||
Y l e ^ U |
Y f e (l)+ - e (l>-W i |
c Учетом/|(^ )) = 0 „меем |
||||||
2,1 у |
I |
2 ( |
J |
eJ |
)S1’ |
|||
J-1 |
|
У€Уj |
|
|
|
|
|
|
e<'>+ |
e<'>+ - |
e<' >-Sl, |
e<‘>+, *< » -*„, *<'>+.,<■>- = 0 , = 1 2 |
симплекс-
м е т о ^ Й - Г ^ ш Г С ч Т в ^
- 2 ( 0 ^ 7
2 |
2 |
2 |
<.;•>,«<»,’ |
2e<')+ - 2 e <‘>- + ,<•>+ _ e0>- + ,<■>♦ _ o. *<•>- = 0)
e,(,)+ + e<‘>- + e<‘>+ + e<'>’ + 0- *<l)+ + e<'>- = 1,
e f \ e f - > 0 , |
= 1 ,2 ,3 , |
где e<1>+ и e<1)_ - дополнительные переменные, и составим исходную симплекс-таб лицу 1 (в табл. 1, 2, 3/(е(1)) — линейная форма).
|
|
|
|
|
|
|
Т а б л и ц а 1 |
Базисные |
Свободные |
вО)+ |
• Г |
М ) + |
• г |
*0)+ |
• г |
неизвестные |
члены |
*1 |
е1 |
*3 |
|||
-> е<»+ |
0 |
2 |
- 2 |
ш |
-1 |
1 |
0 |
• ? Ь |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
|
|
||||||
|
0 |
|
|
6 |
- 6 |
0 |
0 |
|
|
7/2 |
-7 /2 _ |
Т |
|
|
|
184
В последней строке табл. 1 имеются положительные элементы; выберем из них макси мальный, т.е. 6. Это означает, что е*1)+ должен быть введен в базис, а какой-то из е*1)+,
е ^ ~ — выведен. Для этого определим разрешающий элемент; он находится согласно
min свободн.член |
= 0. |
Отсюда следует, что разрешающий элемент содержится в первой строке, указанной гори зонтальной стрелкой. Этот элемент обведен квадратом. Разрешающий элемент равен еди нице, поэтому соответствующая ему строка табл. 1 переносится в новую симплекстаблицу 2 без изменений.
В таблицу 2 вместо базисной неизвестной |
(см. табл. 1) введем свободную неиз |
вестную *21)+- Вторую строку преобразуем так, чтобы в клетке столбца е*1)+ появился
ноль; это достигается сложением первой, умноженной на -1 , и второй строк. Последняя строка табл. 2 также должна содержать ноль вместо 6, такой ноль есть результат сложения первой строки, умноженной на -6 , и последней из табл. 1.
Итак, новая симплекс-таблица 2 имеет вид
|
|
|
|
|
|
|
Т а б л и ц а 2 |
Базисные |
Свободные |
e ( D + |
• Г |
М ) + |
« г |
,(« )+ |
• Г |
неизвестные |
члены |
|
е 1 |
е з |
|||
- 0 ) + |
0 |
2 |
- 2 |
1 |
- 1 |
1 |
0 |
• Г |
1 |
- 1 |
3 |
0 |
2 |
- 1 |
1 |
|
|
|
|
|
|
|
|
Л * 0>) |
0 |
- 1 7 / 2 |
M i l |
0 |
0 |
- 6 |
1 |
В последней строке в столбце е ^ ~ этой таблицы имеется положительный элемент
(17/2). Это значит, что табл. 2 необходимо преобразовать в симплекс-таблицу 3; но снача ла приведем табл. 2 в каноническую форму, так как разрешающий элемент равен 3. Для этого разделим все элементы второй строки на 3 и выполним преобразования в таком же порядке, как по табл. 1; получим табл. 3.
|
|
|
|
|
|
|
Т а б л и ц а 3 |
Базисные |
Свободные |
М ) + |
|
«<1>+ |
• г |
М ) + |
• Г |
неизвестные |
члены |
е \ |
|
е 1 |
е г |
||
- 0 ) + |
2 /3 |
4 /3 |
0 |
1 |
1 |
1/3 |
2 /3 |
е 2 |
|
|
|
|
|
|
|
|
1/3 |
- 1 / 3 |
1 |
0 |
1 |
- 3 |
3 |
|
- 1 7 /6 |
- 1 7 /3 |
0 |
0 |
- 1 7 /2 |
- 1 9 /6 |
- 1 1 / 6 |
В последней строке этой таблицы не содержатся положительные элементы. Это признак того, что найдено оптимальное решение
е<|>+ = 0, ,<•>-»!> «<’>+ Д Л0' = 0. е<’>+ = 0, «<•>- = 0;
185
оно удовлетворяет требованиям
е<'>+, *<'>-£ 0, |
1,2,3; |
отсюда е<'> = ^ |<1>+ - е<, >-)е<1>+ - е < ‘>-,е<,)+ - ,< ‘> ^ 0 - 1 , | - 0 , 0 - о ) ^ - 1 , 1 |
8. Вычислим длину шага в новом направлении е*1* = (-1/3, 2/3). Для этого предвари тельно определим
(*</>,е(|)) BM-S1
|
|
„ « ’> « - ( 2 Т * 5 j ) |
_ |
|
так как (аФ, е*1*) = О, |
||||||
5 |
, , - ^ |
7Г—- = |
=------- - = 1 |
а 12 |
|
||||||
«12 =>°°» |
|
|
|||||||||
|
|
~ |
,0> |
25 |
|
|
|
|
|
|
|
|
|
* ; _ |
4 - 7 5 |
|
|
|
|
|
|||
|
|
«п |
.0) |
1 |
|
4 , а 12 =>«», так как е*1) > 0; |
|
||||
|
|
|
|
’з |
|
|
|
|
|
|
|
|
|
аГ = Ф (а0) = min Ф(а) = min / ( JC(i) + а е <!)) = |
|
||||||||
|
|
|
( И |
а>0 |
|
а>0 |
|
|
|
||
|
|
а>0 |
- Ж |
|
Ж |
|
|
||||
|
|
= min |
|
|
|
|
|
|
|
|
|
В результате искомая длина шага |
|
|
|
|
|
|
|
|
|||
|
а, = пйп{а,,,а12 а,,,а12 «Г} = - min^l;*»;^;, |
|
5 |
||||||||
|
|
6 |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
9. |
Вычислим очередное приближение JC<2>: |
|
|
|
|
||||||
|
|
|
x f2* = х ^ |
+ а е ^ |
= — -- -- = 5 ,9 7 , |
|
|||||
|
|
|
1 |
1 |
|
1 |
4 |
6 |
3 |
|
|
*<2>=х<'>+«*<'> = 1 + 5 . 1 з 4,05.
2 2 2 2 6 3
10. Проверим условия останова процесса решения согласно заданной точности дос тижения оптимального решения х*.
В рассматриваемой задаче
И*<■> - *<2)Ин 0,75, |Л ^ " ) - Л ^ 2))И s 1.
186
Если эти результаты согласуются с заданными требованиями по точности вычисле ния аргументов, как альтернатив, и по критериальной функции, то решение задачи завер шено. В противном случае - выполняется очередная итерация.
Метод линеаризации. Этот метод основан на идее линеаризации критериальной функции и ограничений в окрестности каждой точки хь к = 0,1, 2 , приближения к искомому решению
х* = argmin/(* ), Х с Л ”, Х = {Х е ДЛ|gfyc) <0, i - 1 ,m},
хеХ
где X — выпуклый компакт, функции fix) и g(x), i = 1,/я, дифференци руемы, с последующим добавлением квадратичного члена к линейной
аппроксимации критериальной функции.
Таким образом, для отыскания искомого решения х* необходимо в каждой точке х*, к = 0 ,1 ,... решить вспомогательную задачу квадратич
ного программирования
m m [ ( / K ) , x - x , ) + i | | x - x J 2j,
V, (*) =&(**) + (£,'(**)> х - х к) й 0, i = 1,/я,
при исключении из разложения критериальной функции константы f i x k).
Ал г о р и т м
1.Задать начальное приближение х0 е Х\ х0 можно вычислить, применив, например, симплекс-метод.
2. |
Задать параметр чувствительности е* > 0, к = 0, 1, 2,... |
||||||
3. |
Установить множество индексов {/J, при которых - е 0 < \|// (хо)<0, и множество |
||||||
{<}, при которых v/*o) 2 -«о- |
|
|
|
|
|
||
4. |
Определить направление спуска s0 = (;|(),52о,...,дЯд) из точки хд в точку х, s X. |
||||||
Для этого найти решение задачи линейного программирования |
|||||||
|
m in«= m i n y |
Ьх, |
Л при Y |
js |
, S 0, v = 1, 2......v, |
||
|
i*«) |
<*o\* - i |
'• |
/=1 |
' |
yo |
|
|
|
/=1 |
J |
|
|
|
где g 'ij
_dgjji*o) dx,
5. Положить £| = £0, если ux < -CQ; если же -EQ < щ < 0, T O £J -
нужно проверить x0: не является ли оно решением х*. Здесь их= min и. Пусть у <(1(х0) = 0, ц - 1, 2,.... Ц„ YX*b) < 0, / = /2....../Ц|.
Тогда надо решить задачу линейного программирования
Е с л и # I = 0, T O
Я |
|
min и при £ g'i^jSjb ^ 0, ц = 1, 2, |
п. |
У=1
187
Если min и = и \ = 0, то дг0 = х*. Если же и'х < 0, то положить £j = 1/2е0 и продолжить по |
|
иск искомого решения |
на направлении 50, установленном из решения рассмотренной |
здесь задачи линейного |
программирования. |
6. |
Вычислить шаг по установленному направлению движения из точки х0 в точку |
* 1 = * 0 - |
<Vo- |
а0 = min{ao,ao'}, ag = fo* *°, ag = min |
Vi(*o) |
У»(*0> |
IMI |
П |
п |
|
|
|
|
7=1 |
>1 |
7.Вычислить приближение Xj = х0 - а ^ .
8.Перейти к выполнению оп. 3, считая et значением параметра чувствительности.
Алгоритм продолжает работу до получения приближения хк_ ь к = 1,2,..., при кото ром min и - и'к = 0; тогда, если и'к - 0, то x*_i = х*.
Метод штрафных функций. Метод основан на идее преобразования задачи минимизации критериальной функции Д х) с соответствующими ограничениями g,(х) <0, / = 1,т в задачу поиска решения
х* = argmin/(х ), Х = {х е Л^д(х) £ 0, i = 1 ,т)
путем минимизации штрафной функции
у(х, Q) =Д х) + P{g{x) < 0, / = 1 ,т, Ск),
где Ск -» °о, без ограничений. При этом видно, что Р(х, Ск) = 0 при х € X, а"если же х е X, то Р(х, Ск) > 0 и Р(х, Ск) —> «> при Ск —» «>; реше-
ние х = argmin\|/(x,C*) будет близким к х \
Заметим6/ что известны [21] различные конструкции функции Р(х, Ск). В общем случае Р(х, Ск) строится такой, чтобы она была диф ференцируемой и можно было бы применять для поиска х быстросхо-
дящийся алгоритм безусловной оптимизации п. 6.1.
Ал г о р и т м
1.Задать С - С0.
2. Вычислить x* = arg min у(х,С 0), пользуясь алгоритмом из п. 6.1, пусть при этом
|
Х€R ” |
|
т |
P(Si(x) , «= йт , Ск) |
[тах(0,*,(х))]*, д> 0. |
|
(=1 |
3. Если XQ = х", т о работа алгоритма завершена; в противном случае залать С/ > С0 и перейти к операции 2.
Проиллюстрируем сущность метода при аналитическом решении задачи выбора оптимального решения с использованием внешней и внутренней (барьерной) штрафных функций.
188
Задача. Пусть требуется найти решение (х°,х®), при котором достигается
|
|
max Д х ,,х 2), |
|
|
|
|
(х ,,х 2)€ДГ |
|
|
где Х = {*,, х2 е R2/x j + х2 £ 2я, - х { й 0, - х 2 < 0}, |
|
|
||
|
Дх,, х2) = siiucj + sinx2 - sin(xj + х2). |
|
|
|
Р е ш е н и е . |
1. Воспользуемся штрафной функцией вида |
|
|
|
\|/(Х|, х2, Ck) = sin*! + sinx2 - sin(JCj + х2) — —{min(0,2 п - х, - х2 )}2 - |
|
|||
|
|
с к |
|
|
|
--^-{min(0,x, )}2 --L {m in(0,x2)2}K Ск |
<*>. |
|
|
|
Сь |
Си |
|
|
2. Максимум этой функции найдем из решения системы уравнений |
|
|||
|
дхК^Л2А) = 0, d\K*l,*2A).Q |
|
|
|
|
Эх, |
Эх, |
|
|
или |
|
|
|
|
|
2 |
2 |
|
|
cosxj —cos(xj + х2) + — {min(0,2n-Xj - х 2)}----- {min(0,x,)}= 0, |
|
|||
|
с к |
с к |
|
|
|
2 |
2 |
|
|
cosx2 - cos(X| + х2) + — {min(0,2 я - х, - х2)}------{min(0,x2)} = 0, |
|
|||
min[cosXi - |
cos(xj + х2), cosxj - |
2 |
2 |
|
cos(xj + x2) + — {0,2 я -Xj |
- x2}------{0,X|}] = 0, |
|||
min[cosx2 - |
cos(xj + x2), cosx2 - |
1 |
2 |
|
cos(x, + x2) + — {0,2 я - Xj - x2}------{0, x2}] = 0, |
||||
|
|
Ck |
Ck |
|
или из систем |
|
|
|
|
|
COSXj - COS(X| + x2) = 0, COSX2 - COS(X] + x2) = 0 |
<*> |
||
и |
|
|
|
|
Qlcosxj - cos(X| + x2)] = X| + x2 - |
2я + xj, C*[cosx2 - cos(X] + x2)] = X! + x2 - |
2я + x2.(**) |
||
3. Из системы (*) получаем |
|
|
|
|
|
Xj = x2 = 0 или Xj = x2 = 2я/3, |
|
|
|
|
max/ (хь x2) = 0 или max/ (xlt x2) = 3Л |
/ 2 |
|
|
соответственно. |
|
|
|
|
Отсюда следует оптимальное решение: х® = х® =2 я / 3. |
|
|
189
4. Из системы (**) при Ск -> |
0 имеем |
|
|
|
|
|
|
||||
|
|
|
к-*- |
|
|
|
|
|
|
|
|
|
2xi = 2л — х2, 2х2 = 2л - Xj и х® = х2 = 2 л / 3. |
|
|||||||||
5. Воспользуемся теперь внутренней (барьерной) штрафной функцией |
|||||||||||
F(x, Q ) = sinxj + sinx2 - |
sin(xj + x2) + — |
|
(------- !---------+ — + — ) |
||||||||
|
|
|
|
|
|
C* |
2 л - Xj - |
x2 x, |
x2 |
||
и выпишем необходимые условия оптимальности решения |
|
|
|
||||||||
|
COSXj - |
cos(xj + х2) + — |
|
|
|
|
= 0, |
|
|||
|
|
|
|
|
с к |
(2 л - Х \ |
|
- х 2)2 |
х* ) |
|
|
|
COSX2 — COS(X| + х 2) + |
М |
— |
1 |
4 |
|
|
||||
|
|
|
|
|
Ск |
|
■*1 г |
|
|
||
|
|
|
|
|
|
(^(2 л -Х | |
|
|
|
|
|
или |
|
|
|
|
|
|
|
|
|
|
|
|
|
C*(cosx, - |
cosx2) = -L - -L , |
|
|
|
|||||
|
|
|
|
|
|
*1 |
|
*2 |
|
|
|
откуда при Ck |
0 получаем -L = -L или X| = x2. Тогда, например, из соотношения |
||||||||||
*->- |
|
х 2 |
х\ |
|
|
|
|
|
|
|
|
|
Q[cosx2 - |
COS(Xj + x 2)] = - |
|
|
|
|
|
||||
|
|
|
|
|
|
(2 я - х , - х 2)2 |
x{ |
|
|||
при C* -» 0 имеем — |
— = — и оптимальное решение x° = х ! = — . |
||||||||||
*— |
(27t-2X| )2 |
v 2 |
|
|
|
K |
|
1 |
3 |
||
xx |
|
|
|
|
|
|
|
Метод с модифицированной функцией Лагранжа. Метод также (см. метод штрафных функций) основан на преобразовании исходной зада чи: найти
х ’ = argminf(x), Х = (х е R*\gfa) < 0, / = 1 ,т) —
к задаче безусловной оптимизации: найти
х' = arg min<p(x, X),
1 "
где <р(х, А ) =Дх) + -^ [m a x (0 , g#(x)+A,)]2 — модифицированная функция
2 i=i
Лагранжа;
А = (А,, А з , А т) — вектор коэффициентов Лагранжа, A S0, А(*) = max(0, gi (xk_x) + A(/ _l*), к — индекс итерации,
Дх), gj(x), i = 1,/л — дифференцируемые выпуклые функции.
190