Научная статья на тему 'Алгоритм глобального поиска гарантированных решений квадратично-линейной двухуровневой задачи и его Тестирование'

Алгоритм глобального поиска гарантированных решений квадратично-линейной двухуровневой задачи и его Тестирование Текст научной статьи по специальности «Математика»

CC BY
285
36
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДВУХУРОВНЕВЫЕ ЗАДАЧИ ОПТИМИЗАЦИИ / ГАРАНТИРОВАННОЕ РЕШЕНИЕ / ЛОКАЛЬНЫЙ И ГЛОБАЛЬНЫЙ ПОИСК / ГЕНЕРАЦИЯ ТЕСТОВЫХ ЗАДАЧ / ВЫЧИСЛИТЕЛЬНЫЙ ЭКСПЕРИМЕНТ / BILEVEL OPTIMIZATION PROBLEMS / GUARANTEED SOLUTION / LOCAL AND GLOBAL SEARCH / GENERATING TEST PROBLEMS / COMPUTATIONAL SIMULATION

Аннотация научной статьи по математике, автор научной работы — Малышев Антон Валентинович

Рассматривается квадратично-линейная задача двухуровневой оптимизации с гарантированным (пессимистическим) решением. С использованием ее редукции к серии невыпуклых задач оптимизации предложены алгоритмы глобального и локального поиска. Приведены и проанализированы результаты численного решения случайно сгенерированных тестовых задач.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

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.

Текст научной работы на тему «Алгоритм глобального поиска гарантированных решений квадратично-линейной двухуровневой задачи и его Тестирование»

УДК 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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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: [email protected].

Malyshev Anton Valentinovich, candidate of physical and mathematical sciences, programmer, Institute for system dynamics and control theory SB RAS.

i Надоели баннеры? Вы всегда можете отключить рекламу.