Серия «Математика»
Том 2 (2009), №1, С. 245-256
Онлайн-доступ к журналу: http://isu.ru/izvestia
УДК 519.853.4
Современные методы решения невыпуклых задач оптимизации и оптимального управления
А. С. Стрекаловский
Институт динамики систем и теории управления СО РАН
Аннотация. В статье дан обзор результатов, полученных автором и его учениками в последние годы в области невыпуклой оптимизации и невыпуклых задач оптимального управления. Приведены постановки решаемых прикладных задач и результаты.
Ключевые слова: невыпуклая оптимизация, разность двух выпуклых функций, локальный поиск, глобальный поиск.
В последние три десятилетия внимание специалистов по экстремальным задачам все чаще обращается к невыпуклым задачам оптимизации [1, 2], в которых может существовать достаточно большое число локальных решений и стационарных (критических, скажем, в смысле условий Ферма или Лагранжа) точек, весьма далеких даже по значению целевой функции от глобального решения, так необходимого с практической точки зрения. Выпуклые же задачи, как известно [3]—[5], обладают тем свойством, что каждое локальное решение оказывается и глобальным.
При этом на практике выпуклые задачи встречаются крайне редко, хотя в учебниках примеров выпуклых задач предостаточно [1]-[5]. К тому же, в прикладных задачах невыпуклые структуры чаще всего присутствуют в скрытой форме. Как следствие, специалисты не всегда обращают внимание на их присутствие и природу возникновения, как, например, в задачах иерархической оптимизации и оптимального управления нелинейными системами. А без знания структуры невы-пуклости трудно рассчитывать на успех. Заметим, что довольно часто невыпуклые структуры порождены выпуклыми (дополнение выпуклого множества, максимизация выпуклой функции и т.п.) [1, 2, 6].
1. Введение
С другой стороны, прикладники часто не задумываются о корректности прямого применения классических методов оптимизации в невыпуклых задачах, а численные результаты интерпретируются лишь с содержательной стороны, забывая о том, что все классические методы оптимизации (ньютоновские, сопряженных градиентов, допустимых направлений, барьерные и т.д.) сходятся к глобальному решению только в выпуклых задачах [7]-[6].
В невыпуклых же задачах прямое применение стандартных методов может иметь непредсказуемые последствия [1]-[5], а порою и уводить от искомого решения. Поэтому достаточно естественна (но необоснованна) реакция людей, пропагандирующих методы прямого перебора типа ветвей и границ (и отсечений), которые, как известно, страдают от проклятия размерности, когда объем вычислений возрастает экспоненциально с ростом размерности задачи [1, 2]. Думается, что существует и другой путь к решению невыпуклых задач высокой размерности [6]—[12].
За последние два десятилетия нам удалось построить теорию глобального поиска, гармоничную с точки зрения теории оптимизации и неожиданно оказавшуюся весьма эффективной с вычислительной точки зрения, особенно для задач высокой размерности. Ядром этой теории являются необходимые и достаточные Условия Глобальной Оптимальности (УГО) для основных классов невыпуклых задач (см. ниже)[6].
С другой стороны, предложено целое семейство методов локального поиска (МЛокП), которые с одной стороны, в некоторых случаях развивают ранее известные для специальных задач, с другой, это семейство МЛокП представляет единый гармоничный с точки зрения УГО ансамбль методов [6, 7, 10, 11].
Процедуры же выхода из стационарных или локальных решений, основанные на УГО, являются уникальными и необычайно эффективными даже при простейшей реализации [6, 7].
Разработанный подход протестирован на широком поле невыпуклых задач (часть из них представлена ниже) и продемонстрировал неожиданную эффективность во время численного решения задач высокой размерности. Заметим, что методы выпуклой оптимизации успешно используются «внутри» предложенных процедур локального и глобального поисков [6]—[11].
2. Классификация
На современном этапе достаточно широким для рассмотрения представляется класс ё.е. функций ОС(Шп), представимых в виде разности двух выпуклых функций
/(х) = д(х) - Н(х), х € Мп, д,Н € СОНУ(Шп). (2.1)
Этот класс обладает несколькими замечательными свойствами.
a) Множество ОС (Шп) порождено хорошо изученным классом — конусом выпуклых функций и является линейным пространством [1, 6].
b) ОС(Шп) включает в себя хорошо известные классы, такие как дважды дифференцируемые функции, степенные и тригонометрические полиномы, функции И.И. Еремина и т.д. и т.п. [1, 6].
c) Произвольная непрерывная функция на компакте К С Шп может быть сколь угодно точно приближена (в топологии равномерной сходимости) функцией из ОС (К) [1]—[6]. Как следствие, любая непрерывная задача оптимизации на компакте может быть аппроксимирована задачей оптимизации с ё.с. функциями. Заметим только, что, если / является ё.с. функцией, то существует бесконечное число ё.с. представлений типа (2.1), например, в виде разности сильно выпуклых функций.
Не менее важным для оптимизации свойством класса ОС является его замкнутость относительно большинства операций, используемых в оптимизации. Так, например, сумма, разность, модуль, максимум, минимум и т.д. от ё.с. функций оказываются также в классе ОС(Мп).
В то же время, количество задач с ё.с. функциями настолько велико, что большинство специалистов, имеющих долгий опыт решения задач ё.с. программирования считают [1, 2], что все (или почти все) невыпуклые задачи оптимизации являются ё.с. задачами. В этой связи естественной выглядит следующая классификация задач ё.с. программирования.
1. Ю.С. минимизация
(Р) /(х) = д(х) — Н(х) | шш, х € О, (2.2)
где д(-), Н(-) — выпуклые функции, а О — выпуклое множество, которое может быть задано неравенствами и равенствами.
2. Задачи с ^е. ограничениями, которые сводятся к следующей задаче
/о(х) I шш, х € 5, 1 ( )
/(х) = д(х) — Н(х) < 0 Л (23)
где д(-), Н(-) — выпуклые функции, 5 С Шп, /о(') — непрерывная функция.
Частными случаями этих задач являются
3. Выпуклая максимизация
/(х) = Н(х) Т шах, х € О, (2.4)
(когда д = 0 в (2.2)).
4. Задачи с обратно-выпуклыми ограничениями
/о(х) | шш, х € 5, 1 ( )
/(х) = Н(х) > 0^] (25)
(g = 0 в (2.3)).
Заметим, что, любая квадратичная задача оптимизации со знаконеопределенными матрицами попадает в эту классификацию.
В отличие от известных процедур типа «ветвей и границ» отсечений и т.д., «позабывших», как известно, современные методы выпуклой оптимизации, мы настаиваем на непременном, но «непрямом» использовании этих методов в глобальной оптимизации [3, 5]. Так, например, для задачи ё.с. минимизации (Р)—(2.2) базовым элементом, «кирпичом» является, на наш взгляд, решение (линеаризованной в текущей точке хя € О) выпуклой задачи
В зависимости от выбора метода решения этой задачи («кирпича»), глобальный поиск (все здание) может оказаться удачным или нет: эффективным или нет, «устойчивым» к выбору начального приближения или получать в лучшем случае просто допустимую точку.
Сам же локальный поиск (Local Search Procedure, LSP) может состоять, например, из последовательного (как в методе простой итерации) решения задач (VCs) — (3.1). Зная xs € D, находим xs+1 € D как приближенное решение (VCs). Удивительно, что процесс в этом случае сходится (по функции f = g — h) [6] к решению линеаризованной задачи
(х* — критическая точка относительно метода локального поиска). При дополнительных предположениях сильно выпуклого разложения f = д — Н можно обеспечить сходимость Xя ^ X*.
На небольших размерностях (п < 7 — 10) довольно часто этот метод доставляет глобальное решение, что добавляет трудностей в построении хороших («плохих») начальных приближений для тестирования глобального поиска.
Для задач с ё.с. ограничением разработаны специальные методы локального поиска [11, 12], также основанные на рассмотрении линеаризованных задач вида:
З. Локальный поиск
(PLs)
g(x) — {Vh(xs),x) і min x Є D.
(З.І)
(PL,)
g(x) — {Vh(x,),x) і min x Є D,
(З.2)
4. Глобальный поиск
Общая процедура глобального поиска состоит из двух частей:
a) локального поиска;
b) процедуры выхода из критической точки, основанной на условиях глобальной оптимальности (УГО, С0С)[6, 7], с последующим включением локального поиска.
Все дело в том, что УГО обладает так называемым алгоритмическим (конструктивным) свойством, позволяющим в случае нарушения этих УГО строить допустимую точку, лучшую, чем исследуемая.
Действительно, например, для задачи (Р) — (2.2) УГО имеют следующий вид [6, 7]:
г € Бо1(Р) ^ У (у, в) € Мп х Ж :
Н(у) = в — С, С := /(г), (4.1)
д(х) — в > (УН(у),х — у) Ух € О. (4.2)
Если при некоторых (у, в) из (4.1) и х € О (4.2) нарушено:
д(х) <(3 + {УН(у),х — у), то из выпуклости Н вытекает
/(х) = д(х) — Н(х) < Н(у) + ( — Н(у) = /(г)
или /(х) < /(г). Так что х € О «лучше», чем г. Поэтому, перебирая в
(4.1) «параметры возмущения» (у, в) и решая линеаризованные задачи (см. (4.2))
д(х) — (ЧН(у),х) I шт, х € О (4.3)
(где у не обязательно допустима (!!!)), получаем целое семейство начальных точек х(у, в) для ЬЯР. При этом на каждом уровне ( не обязательно перебирать все (у, в) — достаточно получить нарушение (4.2) только для одной пары (у, в). После этого нужно переходить на новый уровень гк+1 := х, ^+1 := /(гк+1), и начинать все сначала.
Широкое поле вычислительных экспериментов подтвердило неожиданно высокую эффективность предложенного подхода в особенности для задач высокой размерности даже в случае программных реализаций, проведенных студентами и аспирантами [7], [6]—[12].
5. Прикладные задачи
5.1. Биматричные игры и билинейное программирование
Биматричные игры отражают конфликт двух сторон, каждая из которых имеет конечное число стратегий. Ряд задач экономики, техники и экологии может быть представлен в виде биматричной игры, где общепринятым понятием решения является равновесие по Нэшу. Разработан новый метод поиска ситуации равновесия по Нэшу в биматричных играх, который базируется на так называемом вариационном подходе к решению игровых задач [7]. Это означает, что поиск ситуации Нэша (х*,у*) € Бт х Бп, где Бт, Бп — канонические симплексы,сводится к решению следующей невыпуклой задачи математического программирования:
Е(х, у, а, в) =(х, (А + В)у) — а — в Т шах хТВ — веп < 0п, х € Бт, Ау — ает < 0т, у € Бп
где ер = (1,1,..., 1)Т € Жр, Бр — канонический симплекс, р = т,п.
Для решения этой задачи были разработаны и обоснованы специальные алгоритмы локального и глобального поисков. Построенные алгоритмы были протестированы на случайно сгенерированных биматрич-ных играх высокой размерности (до 1000 х 1000).
Кроме того, была разработана параллельная версия алгоритма глобального поиска равновесий по Нэшу в биматричных играх, которая позволила получить почти линейное параллельное ускорение (в 5-6 раз на 8 процессорах).
Далее, методика глобального поиска в биматричных играх был обобщена на задачи билинейного программирования [7] вида:
Е(х, у) = (с, х) + (х, Су) + (б, у) Т шах
(х,у)
х € X = {х € Жт | Ах < а, х > 0}, у € У = {у € Жп I Ву < Ь, у > 0}.
5.2. Иерархические задачи и вариационные неравенства
Иерархические задачи возникают на практике из-за невозможности аккумуляции всей доступной информации на верхнем уровне при исследовании сложноорганизованных систем управления (социальных, экономических, эколого-экономических и т.д.) и обладают скрытой невыпук-лостью. В частности, задачи двухуровневого программирования представляют собой экстремальные задачи, в которые, наряду со стандартными ограничениями типа равенств и неравенств, входит ограничение,
(ВЬЕ)
(5.1)
описываемое с помощью оптимизационной подзадачи, представляющей нижний уровень двухуровневой задачи.
а) Линейные двухуровневые задачи
Рассматривается задача вида:
Р(х, у) = (о, х) + (й, у) і ШІП,
(х,у) Є Х = {х Є Шт | Ах < Ь},
У Є У* (х) =
= А^ шіп | (й1, у) І у Є У(х) = {у Є Шп I А1х + Б1у < Ь1} |
► (ВР)
Для решения этой задачи предложены и протестированы два подхода к решению: основанный на применении метода штрафов в совокупности со стратегией глобального поиска (СГП) в задачах ё.е. минимизации и СГП для задач с ё.с. ограничением.
б) Нелинейные двухуровневые задачи
Рассматривается квадратично-линейная задача двухуровневого программирования в следующей постановке:
Р (х,у) = 1 (х,Сх) + (о,х) + 1 (у, Сі у) + (оі,у) і ішіп,
2 2 х,у
(х, у) Є Х = {(х, у) Є шт х Шп I Ах + Бу < а, х > 0}, у Є У* (х) = Ащ шіп{ (й,у) І у Є У(х)},
У(х) = {у Є шп I А1х + Б1 у < Ь, у > 0}
► (ВР)
Исследуются два типа решений в такой задаче: оптимистический и пессимистический (гарантированный).
Разработан комплекс программ, предназначенный для поиска оптимистических решений в квадратично-линейных задачах двухуровневого программирования на основе предложенной ранее методики, базирующейся на сведении двухуровневых задач к семейству задач математического программирования с ё.с. целевой функцией. Проведено тестирование разработанного программного комплекса на большом спектре случайно сгенерированных задач различной сложности и размерности (до 150 х 150), продемонстрировавшее эффективность предложенных методов. Отметим, что результаты решения квадратично-линейных задач такой размерности в доступной литературе обнаружить не удалось.
5.3. Линейная задача дополнительности
Подобным же вариационным подходом была решена известная задача дополнительности (ЛЗД), которая состоит в нахождении пары векторов (х,-ю), удовлетворяющих следующим условиям:
Мх + ц = т, (х,т) = 0,1 (52)
х > 0, т > 0, } ( )
где х,т Є Шп, а вектор ц Є Шп и вещественная знаконеопределенная (п х п)-матрица М заданы. К задачам линейной дополнительности часто сводятся многие физические, инженерные и экономические задачи (задача торможения, контактная задача, задача упругопластического кручения, задача об оптимальном постоянном основном капитале, задача рыночного равновесия, задачи вычислительной геометрии и т.д). Для решения этой задачи применялся вариационный подход, позволяющий свести ЛЗД к задаче ё.с. минимизации. Результаты тестирования алгоритма глобального поиска в поставленной задаче демонстрируют эффективность предложенной методики на достаточно широком поле тестовых примеров высокой размерности. Решены невыпуклые задачи до размерности 400 [13].
5.4. Задачи молекулярной Биологии и нанофизики
Рассматривается задача минимизации функционала полной энергии в модели переноса заряда в молекуле ДНК:
1 п
Р (х) = {х,Их)--^2 кг (хг)4 і ШІП
і=1 Х Г (Р)
х Є X = {х Є шп І ф) = 0} , где И — трехдиагональная матрица размера (пхп) с неотрицательными
компонентами, кг > 0 і = 1,...п, а функция <^(х) = (х, х) — 1. Для решения данной задачи используется стратегия глобального поиска в задачах ё.с. минимизации.
5.5. Задачи финансовой и медицинской диагностики
Подобные задачи весьма распространены в приложениях и часто трактуются как задачи обобщенной отделимости. Например, если два множества точек А и В характеризуются матрицами А = [а1,..., ам], Б = [Ь1,...,ЬМ ], аі ,Ь Є Шп, то задачу о полиэдральной отделимости можно свести к минимизации невыпуклой недифференцируемой функции ошибки
Е(У, Г) = ВД Г) + ад Г), (5.3)
1м
Р1(^ Г) = м£ шах{0, ({ai, ъР) — ъ +
і=1 < <
1 М
р2 Г) = — ^шах{0; 1ШІПР (—{Ь ,^]Р) + ъ + 1)}-
N —; 1<р<р
і=1
(5.4)
Обобщение теории глобального поиска на негладкий случай позволило разработать программный комплекс по решению негладких задач d.c. минимизации, доказавший свою эффективность на серии тестовых примеров высокой размерности из литературы, а также построенной с помощью случайной генерации [10].
5.6. Дискретное программирование
а) Задачи о максимальной и максимальной взвешенной клике
Задача о максимальной клике (ЗМК) заключается в поиске максимального полного подграфа в заданном неориентированном графе. В 1993 был проведен DIMACS Challenge по этой задаче, были опубликованы тестовые примеры и результаты работы различных алгоритмов.
На основе непрерывной постановки Моцкина-Штрауса и регуляризации И. Бомзе ЗМК может быть представлена как задача максимизации знаконеопределенной квадратичной формы на каноническом симплексе
где А — матрица смежности дополнительного графа, и доказана эквивалентность этой постановки и ЗМК.
С использованием представленных постановок разработаны алгоритмы по решению ЗМК и проведены вычислительные эксперименты, которые позволяют сделать вывод, что предложенный нами подход является конкурентоспособным на многих классах тестовых примеров, и дальнейшее его развитие и параллелизация позволят закрепить достигнутый успех [12].
Произведено обобщение результатов, полученных для ЗМК, на задачу о максимальной взвешенной клике (ЗМВК). Проведен вычислительный эксперимент по решению ЗМВК в непрерывных постановках на взвешенных графах из библиотеки Б1МЛС8, который показал высокую эффективность предложенного подхода.
б) Задача о р-медиане и задача размещения с предпочтениями
Задача о р-медиане - это известная NP-сложная задача, которая заключается в поиске р вершин (медиан)взвешенного ориентирован-
где Е — множество ребер графа, А — его матрица смежности. Нами предложена другая непрерывная постановка ЗМК
ного графа с целью минимизации общего расстояния до немедианных вершин графа от ближайших медиан.
Вводя бинарные переменные yi и Xij), соответствующие вершинам i € V и дугам ij € A, получаем задачу целочисленного линейного программирования:
Е WijXij I min, ij&A x’y
E Xij + yi = 1 yi € V, Xij < yi Vij € A, i € V, (5.5)
j&V,i=j
E yi = p, yi, Xij € {0,1} Vij € A, i € V.
i€V
Данная задача является базовой для многих задач размещения и используется в кластерном анализе, где множество объектов должны быть разделены на p подмножеств схожих объектов и схожесть объектов выражена, как вес соответствующего ребра графа. Для задачи «оптимального замещения» из автомобилестроения высокой размерности разработан алгоритм, способный решать задачи, определенные на графах с более 5 ■ 104 вершин и 5 ■ 106 дуг.
Помимо простейшей задачи о p-медиане рассматривалась также более общая модель — задача о p-медиане с предпочтениями клиентов. Данная задача обладает естественной двухуровневой структурой, когда на верхнем уровне выбирается множество медианных вершин с целью минимизации расстояния до немедианных, в то время как на нижнем уровне происходит прикрепление немедианных вершины к выбранным на верхнем уровне медианам, минимизируя функцию предпочтений. Представленные дискретные модели могут применяться в системах машинного зрения, предназначенных для контроля качества выпускаемой продукции.
в) Задачи о многомерном рюкзаке
В известной комбинаторной задаче о многомерном рюкзаке, которая сводится к непрерывной обратно-выпуклой задаче следующего вида
(c,x) t max, (a,X) < в, Л
e ||9 n ,
II X - - У2 - - > ^(5.6)
X € П = {х € lRn | 0 < xi < 1}.
разработаны новые методы локального поиска, алгоритмы глобального поиска, являющиеся комбинацией известных в дискретной оптимизации подходов и процедур, вытекающих из УГО. Эти методы продемонстрировали свою сравнительную эффективность на известных в дискретной оптимизации задачах из библиотеки DIMACS.
6. Оптимальное управление (ОУ)
Для невыпуклых задач ОУ, например, следующего вида (P1) : J(u) I min, u €U, (6.1)
J(u) = gl(x(tl)) — hl(x(tl)) + j[g(x(t),t) — h(x(t),t) + f (u(t), t)]dt,
T
U = {u(-) € Lr00(T) | u(t) € U С lRr Vt € T}, (6.2)
где функции gl(x),hl(x) и х ^ g(x,t),h(x,t),t € T выпуклы и дифференцируемы, над, скажем, линейной системой управления
X(t) = A(t)x(t) + B(u(t),t), x(t0) = x0, (6.3)
также предложены необходимые и достаточные УГО [8], на основе которых разрабатывается теория глобального поиска, в частности методы локального и глобального поисков [9]. Проведена серия численных экспериментов на тестовых задачах ОУ высокой размерности, в которых может быть, например, 60000 процессов, удовлетворяющих принципу максимума Понтрягина, и лишь одно глобальное решение. Во всех сгенерированных задачах разработанный подход продемонстрировал уверенную эффективность, всегда отыскивая глобально оптимальный процесс, при этом проходя лишь ограниченное количество стационарных процессов.
Список литературы
1. Horst R. Global Optimization. Deterministic Approaches / R. Horst, H. Tuy. — Berlin: Springer-Verlag, 1993.
2. Frontiers in Global Optimization / ed. by C. A. Floudas, P. M. Pardalos. — New York: Kluwer Academic Publishers, 2004.
3. Васильев Ф. П. Методы оптимизации / Ф. П. Васильев. — М.: Факториал-пресс, 2002.
4. Nocedal J. Numerical Optimization / J. Nocedal, S. J. Wright. — Berlin: New York, 2006.
5. Hiriart-Urruty J. B. Convex Analysis and Minimization Algorithms / J. B. Hiriart-Urruty, C. Lemarshal. — Berlin: Springer Verlag, 1993.
6. Стрекаловский А. С. Элементы невыпуклой оптимизации / А. С. Стрекалов-ский. — Новосибирск: Наука, 2003.
7. Стрекаловский А. С. Биматричные игры и билинейное программирование / А. С. Стрекаловский, А. В. Орлов. — М.: ФИЗМАЛИТ, 2007.
8. Стрекаловский А. С. Задачи оптимального управления с терминальными функционалами, представимыми в виде разности двух выпуклых функций / А. С. Стрекаловский // Журн. вычисл. матем. и матем. физ. — 2007. — Т. 47, № 11. — С. 1865-1879.
9. Стрекаловский А. С. Глобальный поиск в задаче оптимального управления с целевым терминальным функционалом, представленным разностью двух выпуклых функций / А. С. Стрекаловский, М. В. Янулевич // Журн. вычисл. матем. и матем. физ. — 2008. — Т. 48, № 7. — C. 1187-1201.
10. Strekalovsky A. S. A new approach to nonconvex optimization / A. S. Strekalovsky, A. V. Orlov // Вычислительные методы и программирование. — 2007. — Т. 8, № 2. — С. 11-27.
11. Стрекаловский А. С. Локальный поиск в задачах с невыпуклыми ограничениями / А. С. Стрекаловский, Т. В. Груздева // Журн. вычисл. матем. и матем. физ. — 2007. — Т. 47, № 3. — С. 397-413.
12. Strekalovsky A. S. On solving the Maximum Clique Problem / A. S. Strekalovsky, A. A. Kuznetsova // Journal of Global Optimization. — 2001. — Vol. 21 (3). — P. 265-288.
13. Стрекаловский А. С. О численном решении линейной задачи дополнительности / А.С. Стрекаловский, Е.Г. Петрова, Е.О. Мазуркевич //Журн. вычисл. матем. и матем. физ. — 2009. — Т. 49, № 8 (в печати).
A. S. Strekalovsky
Advanced methods for solving nonconvex problems of optimization and optimal control
Abstract. This paper contains the review of the results obtained in the last years in the theory and numeric methods of the solution of nonconvex optimization problems and optimal control problems.
Keywords: nonconvex optimization, d.c. function, local search, global search.
Стрекаловский Александр Сергеевич, доктор физико-математических наук, профессор, Институт динамики систем и теории управления СО РАН, 644033, Иркутск, ул. Лермонтова 134, тел. (3952) 45-30-31, факс (3952) 51-16-16, ([email protected])
Strekalovsky Alexander, Institute for system dynamics and control theory SB RAS, 134, Lermontov St., Irkutsk, 664033, professor, Phone:(3952) 45-30-31, Fax: (3952) 51-16-16, ([email protected])