Professional Documents
Culture Documents
Metod Elipsoidiv Dlia Minimizatsii Opukloi Funktsii
Metod Elipsoidiv Dlia Minimizatsii Opukloi Funktsii
85
DOI: 10.18523/2617-3808.2019.2.16-21
Ключові слова: метод еліпсоїдів, перетворення простору, коефіцієнт розтягу простору, опукла
функція, субградієнт, яружна негладка функція.
α
нями x0 , r 0 , H 0 . знаменник прогресії реалізується в класичному
Ітераційний процес. Нехай на k-й ітерації методі еліпсоїдів Юдіна–Немировського–Шора.
знайдені xk ∈ R , rk і симетрична n × n -матриця Hk.
n
n +1
Для переходу до (k +1)-ї ітерації виконуємо Йому відповідає коефіцієнт розтягу α1 = n − 1 ,
такі дії. і досягається він у точці мінімуму функції qn (α)
Крок 1. Обчислюємо g k = g ( xk ) . Якщо g k = 0, по α.
то ОСТАНОВ(x* = xk). Узагальнений метод еліпсоїдів можна засто-
Крок 2. Обчислюємо наступну точку сувати для знаходження розв’язку безумовної
H k gk 1 1 задачі мінімізації опуклої функції f (x), де x Rn.
xk +1 := xk − hk , де hk = 1 − rk . Мінімальне значення f (x) будемо позначати як
g kT H k g k 2 α2
f *= f (x*) і, не обмежуючи загальності, вважати-
Крок 3. Перерахуємо матрицю H k +1 і ра- мемо, що точка x* – єдина точка мінімуму. Нехай
діус rk +1 є апріорна інформація, що точка x* розташована
111 HH kH
T TT
gkkkggkkggH
kkHkHkk 1 11 1 11 в кулі S ( x0 , R ). Тоді, якщо векторне поле визна-
HHHk +kk1= :1=:: HHH
++1= k k+
k+ 2 2−2 −1−11 T TT
+ , ,,rk +r1= αα++ rk.rrkk
rkk:++1=1=:: α+
ααα g kggH kkHkHgkkggkk 2 22 α αα чити за формулою g ( x) = g f ( x), де g f ( x) – суб-
градієнт функції f (x) в точці x, то для нього буде
Крок 4. Переходимо до (k +1)-ї ітерації з xk +1,
виконуватися нерівність
rk +1 і H k +1 .
Теорема 2 [3]. Послідовність точок { xk }k =0 , ( ∞
) ( )
x − x* , g ( x) = x − x* , g f ( x) ≥ f ( x) − f ( x* )= f ( x) − f * ≥ 0, ∀x ∈ E n
що генеруються H-формою ( ) (
x − x* , g (узагальненого )
x) = x − x* , g f мето- ( x) ≥ f ( x) − f ( x* )= f ( x) − f * ≥ 0, ∀x ∈ E n . (5)
ду еліпсоїдів, задовольняє нерівностям Отже, для знаходження точки x* можна вико-
( xk − x* )T H k−1 ( xk − x* ) ≤ rk2 , k =
0,1,2, , (3) ристовувати метод еліпсоїдів, вказавши стартову
18 ISSN 2617-3808. Наукові записки НаУКМА. Комп’ютерні науки. 2019. Том 2
# Вхідні параметри:
# calcfg – ім'я функції для обчислення f та g
# x0 – стартова точка, x0(1:n)
# rad – радіус кулі, що локалізує точку мінімуму
# epsf, maxitn – параметри зупинки (точн., макс. iтер.)
# intp – інтервал друку (через кожні intp ітерацій)
# Вихідні параметри:
# x – знайдене наближення до точки мінімуму, x(1:n)
# f – значення функції f в точці x
# itn – кількість виконаних ітерацій
# ist – код завершення (1 = epsf, 4 = maxitn)
function [x,f,itn,ist] = emshor(calcfg,x0,rad, #row01
epsf,maxitn,intp);
dn=double(length(x0)); beta=sqrt((dn-1.d0)/(dn+1.d0)); #row02
x=x0; radn=rad; B=eye(length(x)); #row03
for (itn = 0:maxitn) #row04
[f, g1] = calcfg(x); g=B'*g1; dg=norm(g); #row05
if(radn*dg < epsf) ist = 1; return; endif #row06
xi=(1.d0/dg)*g; dx = B * xi; #row07
hs=radn/(dn+1.d0); x -= hs * dx; #row08
B += (beta - 1) * B * xi * xi'; #row09
radn=radn/sqrt(1.d0-1.d0/dn)/sqrt(1.d0+1.d0/dn); #row10
if(mod(itn,intp)==0) #row11
# ist – код завершення (1 = epsf, 4 = maxitn)
function [x,f,itn,ist] = emshor(calcfg,x0,rad, #row01
epsf,maxitn,intp);
dn=double(length(x0)); beta=sqrt((dn-1.d0)/(dn+1.d0)); #row02
x=x0; radn=rad; B=eye(length(x)); #row03
for (itn = 0:maxitn) #row04
[f, А.,
Стецюк П. І., Фішер g1] = В.calcfg(x);
Ляшко І. Метод еліпсоїдівg=B'*g1; опуклої функції
для мінімізаціїdg=norm(g); #row05 19
if(radn*dg < epsf) ist = 1; return; endif #row06
xi=(1.d0/dg)*g; dx = B * xi; #row07
hs=radn/(dn+1.d0); x -= hs * dx; #row08
B += (beta - 1) * B * xi * xi'; #row09
radn=radn/sqrt(1.d0-1.d0/dn)/sqrt(1.d0+1.d0/dn); #row10
if(mod(itn,intp)==0) #row11
printf("itn %4d f %14.6e\n",itn,f); #row12
endif #row13
endfor #row14
ist = 4; #row15
endfunction #row16
Програма emshor завершується виконанням тягнутості поверхонь рівня) для функції (6) ви-
однієї з двох умов: 1) знайдена точка xε* – така, значається відношенням максимального коефі-
що f ( xε* ) − f * ≤ ε f (ist=1), 2) maxitn ітерацій ви цієнта за xi − 1 до мінімального. Якщо n = 20, то
явилося недостатньо (ist=4). мінімальний коефіцієнт дорівнює (2)0=1 , а мак-
Роботу програми emshor продемонструємо симальний – (2)19 ≈ 5.24288e+05.
на тестовому прикладі, який полягає у мініміза- У таблиці наведено результати роботи програ-
ції яружної кусочно-лінійної функції вигляду ми emshor для трьох значень радіусів кулі, в якій
n локалізована точка мінімуму, r0 = 5, 500, 50000.
f ( x) =∑ 2i −1 xi − 1, f * =f ( x* ) =0, x* =(1,1,Як ,1) ,
T
стартова точка вибиралась точка x0 =(0,0,...,0)T.
i =1
(6) Були проведені розрахунки –3для n = 5, 10, 15, 20
n
) =∑ 2i −1 xi − 1, f * =f ( x* ) =0, x* =(1,1,,1) ,
T
i =1
при трьох значеннях εf = 10 , 10–6, 10–9. Обчис
де a – абсолютна величина числа a, а коефі- лення проводили на комп’ютері Pentium 2.5GHz
цієнти за xi − 1 утворюють геометричну прогре- у системі Windows ХР за допомогою GNU Octa
сію з показником q = 2. Яружність (ступінь ви- ve версії 3.0.0.
Таблиця
r0 = 5
εf =10 −3
εf =10−6 εf =10−9
n itn f ( xitn ) time itn f ( xitn ) time itn f ( xitn ) time
5 519 6.1e-06 0.18 873 1.1e-07 0.28 1201 1.2e-10 0.40
10 2484 8.7e-05 0.79 3829 7.2e-08 1.26 5246 7.9e-11 1.76
15 6561 6.5e-06 2.10 9667 6.0e-08 3.23 12786 1.5e-11 4.36
20 13101 4.8e-05 4.28 18714 3.5e-09 6.34 23416 2.0e-11 8.11
r0 = 500
εf = 10 −3
εf = 10−6 εf = 10−9
n itn f ( xitn ) time itn f ( xitn ) time itn f ( xitn ) time
5 747 1.1e-05 0.25 1080 1.6e-07 0.35 1392 1.7e-10 0.46
10 3429 9.0e-05 1.08 4810 9.3e-08 1.58 6185 6.3e-11 2.06
15 8615 5.6e-05 2.78 11704 6.5e-08 3.90 14805 2.4e-11 5.02
20 16729 1.8e-06 5.49 22404 4.4e-08 7.64 27161 1.4e-11 9.38
r0 = 50000
εf =10−3 εf =10−6 εf = 10−9
n itn f ( xitn ) time itn f ( xitn ) time itn f ( xitn ) time
5 951 1.7e-04 0.32 1323 1.9e-08 0.42 1658 1.4e-10 0.55
10 4323 8.4e-05 1.38 5736 6.4e-08 1.88 7093 7.2e-11 2.36
15 10663 6.0e-05 3.45 13772 1.8e-08 4.60 16860 3.6e-11 5.70
20 20417 4.7e-05 6.75 26039 3.5e-08 8.80 30772 1.6e-11 10.54
алгоритму emshor майже не залежить від яруж- реалізації методів декомпозиції для блочних за
ності (ступеня витягнутості поверхонь рівня) опук- дач лінійного програмування з малою кількістю
лої функції. зв’язуючих змінних або обмежень.
Алгоритм emshor та його програмну реаліза-
Висновки цію планується використати для розробки дво-
їстого методу розв’язання двоетапної транспорт-
У роботі розглянуто узагальнений метод ної задачі [3], коли кількість проміжних пунктів
еліпсоїдів та властивості його двох алгоритміч- не більша, ніж двадцять. Обчислювальна склад-
них реалізацій. Перша базується на корекції не- ність двоїстого методу визначається складністю
симетричної матриці B, як у методі еліпсоїдів обчислення значення двоїстої функції та її су-
Шора, а друга – на корекції симетричної мат перградієнта, для чого потрібно знайти міні-
риці H = BBT, як у методі еліпсоїдів Юдіна – мальні елементи в двох одновимірних масивах,
Немировського. На основі класичного мето- довжини яких m та n відповідають кількостям
ду еліпсоїдів у B-формі побудовано алгоритм постачальників та споживачів. Це означає, що
emshor (ellipsoid method of Shor) та його про- двоїстий метод може бути зорієнтований на ви-
грамну реалізацію мовою Octave для знаходжен- падок великих m та n (тисячі, десятки тисяч),
ня розв’язку задачі безумовної мінімізації опук для яких розв’язання відповідних двоетапній
лої функції. Показано, що алгоритм emshor дає транспортній задачі задач лінійного програму-
змогу знаходити досить точні наближення до вання за допомогою програм загального призна-
точки мінімуму яружної опуклої функції та для чення є неможливим або вимагає значних обчис-
функцій від двадцяти змінних витрачає на це лювальних ресурсів.
декілька секунд на сучасних ПЕОМ. Ці влас Робота виконана за фінансової підтримки
тивості алгоритму дають змогу використовувати Volkswagen Foundation (грант No 90 306 – пер-
його для розв’язання негладких підзадач при ший та другий автори).
Список літератури
1. Стецюк П. И. Обобщенный метод эллипсоидов / П. И. Сте- Мазютинець // Наукові записки НаУКМА. Комп’ютерні
цюк, А. В. Фесюк, О. Н. Хомяк // Кибернетика и систем- науки. – 2018.– Т. 1. – С. 14–20.
ный анализ. – 2018. – № 4. – С. 70–80. 4. Шор Н. З. Метод отсечения с растяжением пространст-
2. Стецюк П. І. Метод еліпсоїдів та Octave-програма ems ва для решения задач выпуклого программирования /
hor / П. І. Стецюк, А. В. Івлічев // Міжнародний науко- Н. З. Шор // Кибернетика. – 1977. – № 1. – С. 94–95.
вий симпозіум «ІНТЕЛЕКТУАЛЬНІ РІШЕННЯ». Тео- 5. Юдин Д. Б. Информационная сложность и эффективные ме
рія прийняття рішень: праці міжнар. школи-семінару, тоды решения выпуклых экстремальных задач / Д. Б. Юдин,
15–20 квітня 2019 р. – Ужгород : УНУ, 2019. – С. 119– А. С. Немировский // Экономика и математические ме
120. тоды. – 1976. – Вып. 2. – С. 357–369.
3. Стецюк П. І. Двоетапна транспортна задача та її 6. Octave [Електронний ресурс]. – Режим доступу: http://
AMPL-реалізація / П. І. Стецюк, В. І. Ляшко, Г. В. www.octave.org.
References
Judin, D. B., & Nemirovskij, A. S. (1976). Informacionnaja slozhnost’ i Stetsyuk, P. I., & Ivlichev, A. V. (2019). Metod elipsoidiv ta Oc-
jeffektivnye metody reshenija vypuklyh jekstremal’nyh zadach. tave-prohrama emshor. Mizhnarodnyi naukovyi sympozium
Jekonomika i matematicheskie metody, 13 (3), 25–45 [in Russian]. “INTELEKTUALNI RISHENNIA”. Teoriia pryiniattia rish-
Octave. Retrieved from http://www.octave.org. en: pratsi mizhnar. shkoly-seminaru, 15–20 kvitnia 2019 r.,
Shor, N. Z. (1977). Metod otsechenija s rastjazheniem prostranstva Uzhhorod, 119–120 [in Ukrainain].
dlja reshenija zadach vypuklogo programmirovanija. Kiberne Stetsyuk, P. I., Liashko, V. I., & Maziutynets, H. V. (2018).
tika, 13, 94–96 [in Russian]. Dvoetapna transportna zadacha ta yii AMPL-realizatsiia. Nau-
Stecjuk, P. I., Fesjuk, A. V., & Homjak, O. N. (2018). Obobshhennyj metod kovi zapysky NaUKMA. Kompiuterni nauky, 1, 14–20 [in Uk
jellipsoidov. Kibernetika i sistemnyj analiz, 4, 70–80 [in Russian]. rainain].
The first algorithm is based on updating nonsymmetric matrix B, as in the Shor ellipsoid method, and
the second is based on updating symmetric matrix H = BB T, as in the Yudin-Nemirovski ellipsoid
method.
We present the Emshor algorithm (Ellipsoid Method of Shor) for computing a solution of the problem
of unconstrained minimization of a convex function. It updates nonsymmetric matrix B and uses a stopping
criterion that, for a convex function, guarantees to find a point at which the function value does not deviate
more than a specified tolerance from the optimal function value. It is shown that the Emshor algorithm finds
sufficiently accurate approximations to the minimum point of a ravine convex function, and for functions of
twenty variables it takes no longer than a few seconds on a usual PC. Hence, the algorithm can be useful
for solving small optimization problems.
The Emshor algorithm is planned to be used to develop a dual method for solving a two-stage
transportation problem, when the number of intermediate points is not greater than twenty. The com-
putational complexity of the dual method is determined by the complexity of calculating the value of
the dual function and its supergradient, for which we need not more than twenty times to find the mini-
mum elements in two one-dimensional arrays whose lengths m and n correspond to the numbers of
suppliers and consumers. This means that the dual method can be oriented to the case of large m and
n (thousands, tens of thousands), for which solving linear programming problems corresponding to the
two-stage transportation problem by general-purpose programs is impossible or requires significant
computational resources.
Keywords: ellipsoid method, space transformation, coefficient of space dilation, convex function, sub
gradient, ravine non-smooth function.