УДК 519.85
©А.В. Малышев
АЛГОРИТМ ГЛОБАЛЬНОГО ПОИСКА ГАРАНТИРОВАННЫХ РЕШЕНИЙ КВАДРАТИЧНО-ЛИНЕЙНОЙ ДВУХУРОВНЕВОЙ ЗАДАЧИ И ЕГО ТЕСТИРОВАНИЕ1
Рассматривается квадратично-линейная задача двухуровневой оптимизации с гарантированным (пессимистическим) решением. С использованием ее редукции к серии невыпуклых задач оптимизации предложены алгоритмы глобального и локального поиска. Приведены и проанализированы результаты численного решения случайно сгенерированных тестовых задач.
Ключевые слова: двухуровневые задачи оптимизации, гарантированное решение, локальный и глобальный поиск, генерация тестовых задач, вычислительный эксперимент.
А. V. Malyshev
ALGORITHM OF GLOBAL SEARCH FOR GUARANTEED SOLUTIONS TO QUADRATIC-LINEAR BILEVEL PROBLEM AND ITS TESTING
A quadratic-linear bilevel optimization problem with guaranteed (pessimistic) solution is considered. Using its reduction to a series of nonconvex optimization problems global and local search algorithms are proposed. The results of computational solving randomly generated test problems are given and analyzed.
Keywords: bilevel optimization problems, guaranteed solution, local and global search, generating test problems, computational simulation.
Введение
Задачи двухуровневой оптимизации представляют собой один из актуальных объектов исследования в современном математическом программировании [1-4]. Такие задачи зачастую возникают на практике при анализе (статических) иерархических систем управления в экономике, экологии и т.д. [2].
Для задач двухуровневой оптимизации не существует единого общепринятого понятия решения. Наиболее популярными являются оптимистическое и гарантированное решения. Подавляющее большинство работ, в которых исследуются задачи двухуровневой оптимизации, посвящено поиску в них оптимистических решений (например, обзор [5]). При этом нам удалось отыскать лишь несколько работ, посвященных поиску гарантированных решений в двухуровневых задачах [6, 7].
В настоящей статье развит новый подход к поиску гарантированных решений в двухуровневых задачах, в которых критерий эффективности игрока верхнего уровня - квадратичная функция, выпуклая по переменным игрока верхнего уровня и вогнутая по переменным игрока нижнего уровня, а критерий эффективности игрока нижнего уровня - линейная функция, ограничения на верхнем и нижнем уровнях иерархии также линейны. Этот подход основан на двухэтапной редукции [8, 9] рассматриваемой двухуровневой задачи к серии невыпуклых задач оптимизации и применении стратегии глобального поиска для численного решения последних [9, 10].
Статья организована следующим образом. В разд. 1 осуществляется постановка задачи и напоминается схема ее редукции. Далее, в разд. 2 предлагаются алгоритмы локального и глобального поиска в редуцированных задачах. Генерации тестовых двухуровневых задач с известными гарантированными решениями и численному их решению посвящен разд. 3.
1. Постановка задачи и ее редукция
В данной работе рассматривается задача поиска гарантированного решения квадратичнолинейной двухуровневой задачи:
1 Работа выполнена при финансовой поддержке РФФИ, проект №11-01-00270а.
sup{.F(x, y)\yeYt (х)} I min,
х е X,Y,(x) = Argmm{G(y) \у eY (х)},1 ^ ^
У
где Fix, у) = ^ (х, Сх) + (с, х) - ^ (у, Сху) + (сх, у), G(y) = (а?, >>),
X = {x&Rm\Ax<a,x>0}, Y(x) = {у & Rn \ А^х + Вгу <Ъ,у>0}, A&Rpym, Д е^хт, Д &R*xn,
С = СТ > 0,Q =Cjr >0.
В работе [8] при предположении ограниченности множеств X, Y(х) допустимых стратегий игроков осуществлено сведение задачи (ВР) к серии невыпуклых задач оптимизации вида:
F(x,y)i min,
№))
Ах<а,х> 0, Ах + Вгу <Ь,у> 0, d - uq + uCj у + уД > 0, v > 0, й(х, у, v) = (d- + uCjj, y) + (b- Д x, v) = 0,
где v - вектор множителей Лагранжа для задачи нижнего уровня, и > 0 - специальный параметр штрафа (и 0) [8].
На втором этапе редукции с использованием метода штрафов [2, 9] от задачи с нелинейным ог-раничением-равенством (Р( и)) можно перейти к серии задач с выпуклым допустимым множеством и целевой d.c. функцией (представимой в виде разности двух выпуклых функций):
Ф(*, У, v) = F(x, у) + цй(х, у, v) I min,
(x,j,v)eZ) = {(x,j,v)| Ax<a,x>0,Alx + Bly<b,y>0, d - + uCj у + vBx > 0, v > 0},
(Р(ц,и))
где ц > 0 - штрафной параметр.
В следующем разделе описаны алгоритмы локального и глобального поиска в задаче (Р( ц, и)) при фиксированных значениях параметров штрафа ц, и.
2. Локальный и глобальный поиск
Для осуществления локального поиска в задаче (Р( ц,и)) при выборе значений параметров штрафа так, чтобы имело место неравенство
(1)
в работе [9] было предложено использовать минимизацию по отдельным группам переменных. Возникающие при этом вспомогательные оптимизационные задачи оказываются выпуклыми и, следовательно, могут быть эффективно решены с помощью классических численных методов [11]. Один из вариантов такого метода локального поиска (Х7-процедуру) можно записать следующим образом.
Пусть задана точка (х0, у0, у0 ) е И и числовая последовательность р, -I 0.
Шаг 0. Положить 5 := 0, (х*, у") := (х0, у0).
Шаг 1. С помощью одного из методов линейного программирования найти приближенное ре-
5+1
шение V задачи:
ф(х*,у»^тт, (х*,у»ед
с точностью —.
2
Шаг 2. Одним из методов квадратичного программирования найти приближенное решение (х*+1,д/+1) задачи:
Ф(х,.у,04тіп, (х,Л/+1)єД
Ps
с точностью —.
2
Шаг 3. Положить s := s +1 и перейти на шаг 1.
Отметим, что для описанного выше варианта алгоритма локального поиска имеют место теорема сходимости к критической точке, являющейся (частично) глобальным решением задачи по переменным (х,у) и v, и критерии останова, аналогичные приведенным в [9] результатам для V-процедуры, в которой вспомогательные выпуклые задачи оптимизации решаются в другом порядке.
Далее, заметим, что целевую функцию задачи (Р(ц,и)) можно представить в виде разности двух выпуклых функций, например, следующим образом:
Ф(х,у, у) = g(x, у, у) - f(x,у, у), (2)
g(x,y,v) = (x,^Cx + cSj+2[lX^ 1
f(x,y,v) = {^yco-\)cl - \xil, _>’) + ~ ЦI *’ + Д Л'|2 - выпуклые функции (при выполнении неравенства (1)).
Следовательно, задача (Р( ц,и)) является задачей d.c. минимизации и для ее численного решения можно применить стратегию глобального поиска [9, 10], состоящую из двух основных этапов: а) локального поиска, позволяющего получить критическую точку; б) процедур выхода из текущей критической точки, основанных на условиях глобальной оптимальности. Алгоритм глобального поиска (АГП) в задаче (Р( ц, и)), основанный на данной стратегии, имеет следующий вид.
Пусть дана некоторая точка (х0, у0, v0) е Rm+n+q з числовые последовательности г;. i 0. д, i 0, множество направлений Dir (N - количество направлений в данном множестве), числа ;/_ = inf(g,/)) и ;/_ = sup(", /)) и параметры алгоритма М,
Шаг 0. Положить k :=0,l := 1, у:=у_, Ау:= (у+ -/_)/М.
Шаг 1. Построить точку (хк. ук. vk) е 1) как приближенное решение задачи
II(х-хк,у- ykv - vk)f 4 min, (x,у,v) e D,
x,y,v
с точностью тк одним из методов квадратичного программирования.
Шаг 2. Начиная из точки (хк, ук, vk ) , с помощью XY- или F-процсдуры построить приближенно критическую точку {хк, ук, vk ) е D с точностью тк; положить Ск := Ф(х ,ук ,vk) .
Шаг 3. По точке (zl,й1 ,wl) е.Dir построить точку (zl,ul,w‘) =/1^k(zl,й‘,w‘) из аппроксимации Ак поверхности уровня функции /(•): f(z , и1, и’/) = у — Ск.
Шаг 4. Если g(zl, й1, wl) > у + , то положить 1=1 +1 и перейти на шаг 3.
Шаг 5. Построить точку (zl, и1 ,wl) е D как приближенное решение частично линеаризованной задачи
g(x,У,v) - (V/(z1 ,ul,wl),(х,у, v)\ 4 min, (х,у,v) gD,
' » X,y,V
с точностью дк одним из методов квадратичного программирования.
Шаг 6. Начиная с точки (z1,и1 ,w^ , с помощью XY- или F-процсдуры построить приближенно критическую точку (хг, у1, vl) е D с точностью дк .
Шаг 7. Если Ф{х1 ,yl ,vl) <Ф{хк,ук,vk), то положить (хк+\yk+l,vk+l) :=(х‘,y‘,v‘), к := к + 1, / := 1, у := у_ и перейти на шаг 2.
Шаг 8. Если Ф(хг, у1, v‘) > Ф(х*, ук, vk ) и / < N, то положить 1=1 +1 и вернуться на шаг 3. Шаг 9. Если Ф(хг, у1, vl) > Ф(хк ,ук ,vk), l = N и у < у+, то положить у := у + А у, 1= 1 и вернуться на шаг 3.
Шаг 10. Если Ф(хг, y‘,v‘) > Ф{хк, yk,vk), l = N и ;к =/+, то стоп; (xk,yk,vk) - полученное решение задачи (Р( jj, и)).
Отметим, что на шагах 0 и 1 АГП осуществляется инициализация алгоритма и построение допустимой начальной точки, на шаге 2 - локальный поиск. Шаги 3-10 АГП соответствуют процедурам выхода из текущей критической точки, основанным на условиях глобальной оптимальности [9, 10]. Условием выхода из текущей критической точки является улучшение по целевой функции, проверяемое на шаге 7.
Отдельно отметим, что в настоящей работе один из ключевых моментов глобального поиска -выбор множества направлений Dir - осуществлялся точно так же, как и в [12], с использованием текущей критической точки и векторов евклидового базиса. При этом были выбраны следующие значения параметров М, Е,, отвечающих за точность и скорость работы алгоритма: М = 5, Е, = 0.
В следующем разделе перейдем к численному тестированию описанного алгоритма глобального поиска.
3. Тестирование алгоритма глобального поиска
Одним из важных вопросов при тестировании новых численных методов является выбор ПОЛЯ тестовых примеров. В данной работе с этой целью был предложен метод генерации тестовых задач, основанный на методике из [13], базирующийся на построении тестовых задач из задач-ядер небольшой размерности. В частности, были составлены и решены аналитически задачи-ядра следующего вида {т = \,п = 2):
sup{x2 - 8х + рух - 2у22 | у е 7, (х)} 4- min, х е [0; 6],
Y. (х) = Arg minf-jj | у + у2 < х, 3 > у > 0, j2 > 0},
(КР)
где р е {3,4,6} - параметр, влияющий на структуру локальных и глобальных решений задачи.
Предложение. При р = 3 задача (КР) имеет локальное решение в точке х = 2.5 и глобальное решение в точке х = 4 . При р = 4 задача (КР) имеет два глобальных решения в точках х = 2,4 и не имеет локальных решений, не являющихся глобальными. В случае р = 6 задача (КР) имеет глобальное решение в точке х = 1 и локальное решение в точке х = 4 .
Далее, согласно методике из [13] осуществляется построение задач произвольной размерности т = г,п = 2г объединением задач-ядер вида (КР) при различных значениях параметра р . Наконец, осуществляется невырожденное линейное преобразование координат, полученное с помощью генератора псевдослучайных чисел, чтобы избавиться от сепарабельности построенной таким образом задачи. Количество локальных решений, не являющихся глобальными, при этом известно и может достигать астрономических величин.
При проведении вычислительного эксперимента вышеописанным методом были сгенерированы серии двухуровневых задач размерности от т = 5, п = 10 до т = 35, п = 70 . На полученном поле тестовых примеров был протестирован алгоритм глобального поиска из разд. 2, запрограммированный на C++. При этом для решения вспомогательных выпуклых задач оптимизации использовался пакет FICO Xpress Optimization Suite, который считается специалистами одним из лучших средств в данной области. Использовался компьютер с процессором Intel Core 2 Duo 2.0GHz. Остальные условия вычислительного эксперимента по сравнению с [9] не изменились.
В таблице 1, где приведены результаты вычислительного эксперимента, использовались следующие обозначения:
т + п - суммарная размерность (по переменным х и у) каждой тестовой двухуровневой задачи в серии тестовых задач;
N - количество задач в серии;
LocSol - среднее количество локальных решений, не являющихся глобальными, в задачах серии; Loc - среднее число запусков алгоритма локального поиска при проведении глобального поиска в серии задач;
St - среднее количество итераций алгоритма глобального поиска;
Т - среднее время работы программы, реализующей алгоритм глобального поиска.
Прежде всего, отметим, что во всех сгенерированных тестовых задачах с помощью алгоритма глобального поиска удалось найти глобальные решения с точностью е = 1СГ3. При этом количество пройденных алгоритмом глобального поиска критических точек, позволивших улучшить значение целевой функции, невелико и достигло в среднем лишь 13.6 для задач размерности 105. Также среднее количество запусков процедуры локального поиска, достигающее 5863.4, несравнимо с огромным количеством локальных решений, не являющихся глобальными, достигающим значения 3.4-1010.
Таблица 1
__________Тестирование глобального поиска на сериях задач________
m + n N LocSol Loc St T
15 10 28.0 30.5 1.5 1.29
30 10 951.5 150.1 1.5 17.17
45 10 32680.0 447.7 2.7 1:43.16
60 10 932783.0 746.2 4.9 5:08.00
75 10 3.3-107 799.1 4.1 8:01.57
90 10 1.0-109 1462.9 5.9 20:46.09
105 10 3.4-1010 5863.4 13.6 1:51:21.80
В целом, по результатам вычислительного эксперимента заключаем, что использование более эффективного пакета для решения вспомогательных выпуклых задач оптимизации, возникающих при глобальном поиске, позволило существенно повысить размерность решаемых задач (по сравнению с [9]).
Заключение
В работе предложены алгоритмы локального и глобального поиска в квадратично-линейных двухуровневых задачах с гарантированным решением. В результате вычислительного эксперимента алгоритмом глобального поиска за приемлемое время были решены все сгенерированные тестовые задачи до рекордной (для данного класса задач) размерности 105.
Литература
1. Гермейер Ю.Б. Игры с непротивоположными интересами. - М.: Наука, 1976.
2. Bard J.F. Practical Bilevel Optimization. - Dordrecht, The Netherlands: Kluwer Academic Publishers, 1998.
3. Dempe S. Foundations of Bilevel Programming. - Dordrecht, The Netherlands: Kluwer Academic Publishers, 2002.
4. Pang J.-S. Three modeling paradigms in mathematical programming // Mathematical Programming. 2010. Vol. 124, №2. P. 297-323.
5. Colson B., Marcotte P., Savard G. An overview of bilevel optimization // Annals of operations research. 2007. Vol. 153, № 1. P. 235-256.
6. Молодцов Д.А. О решении одного класса неантагонистических игр // Журн. вычисл. матем. и матем. физики. 1976. Т. 16, № 6. С. 1451-1456.
7. Tsoukalas A., Wiesemann W., Rustem В. Global Optimisation of Pessimistic Bi-Level Problems // Lectures on global optimization / Ed. by P.M. Pardalos, T.F. Coleman. Toronto, Canada. 2009. Vol. 55. P. 215-243.
8. Малышев A.B., Стрекаловский A.C. О взаимосвязи некоторых задач двухуровневой и нелинейной оптимизации // Известия вузов. Математика. 2011. № 4. С. 99-103.
9. Малышев А.В., Стрекаловский А.С. Глобальный поиск гарантированных решений в квадратичнолинейных задачах двухуровневой оптимизации // Известия Иркутского государственного университета. Математика. 2011. Т. 4, № 1. С. 73-82.
10. Стрекаловский А.С. Элементы невыпуклой оптимизации. - Новосибирск: Наука, 2003.
11. Васильев Ф.П. Методы оптимизации. - М.: Факториал-пресс, 2002.
12. Стрекаловский А.С., Орлов А.В., Малышев А.В. Численное решение одного класса задач двухуровневого программирования // Сибирский журнал вычислительной математики. 2010. Т. 13, № 2. С. 201-212.
13. Calamai P., Vicente L. Generating Linear and Linear-Quadratic Bilevel Programming Problems // SIAM Journal on Scientific Computing. 1993. Vol. 14, № 4. P. 770-782.
Малышев Антон Валентинович, канд. физ.-мат. наук, программист, Институт динамики систем и теории управления СО РАН, 664033, Иркутск, ул. Лермонтова, 134, тел. (395-2) 453082, e-mail: anton@irk.ru.
Malyshev Anton Valentinovich, candidate of physical and mathematical sciences, programmer, Institute for system dynamics and control theory SB RAS.