УДК 004.023+519.712
© Ф.В. Хандаров, Т.Г. Дармаев
ГИБРИДНЫЙ МЕТОД ГЛОБАЛЬНОЙ ОПТИМИЗАЦИИ НА ОСНОВЕ ПОИСКА С ЗАПРЕТАМИ И ДИФФЕРЕНЦИАЛЬНОЙ ЭВОЛЮЦИИ
Работа выполнена при финансовой поддержке Бурятского государственного университета
В работе излагается описание нового прямого метода глобальной оптимизации, созданного на основе поиска с запретами и дифференциальной эволюции.
Ключевые слова: глобальная оптимизация, поиск с запретами, дифференциальная эволюция.
F. V. Khandarov, T. G. Darmaev
A HYBRID METHOD OF GLOBAL OPTIMIZATION BASED ON TABOO SEARCH AND DIFFERENTIAL EVOLUTION
The paper deals with description of a new direct method of global optimization, designed on the basis of tabu search and differential evolution.
Keywords: global optimization, tabu search, differential evolution.
Введение
При решении оптимизационных задач большой размерности с «нехорошим» поведением целевой функции на практике часто используются прямые методы глобальной оптимизации, в некоторых случаях показывающие более высокую скорость сходимости по сравнению с традиционными градиентными методами. В данной работе излагается новый прямой гибридный метод на основе методов поиска с запретами и дифференциальной эволюции.
1. Поиск с запретами и дифференциальная эволюция
Поиск с запретами [1-7] представляет собой эвристический метод глобальной безусловной оптимизации. Как и для всех подобных методов, целью поиска с запретами является построение последовательности jwtj ^ wmin при t ^ да. Заметим, что при этом в общем случае не требуется выполнения
условия wt < wt+1, но требуется |wk j^ wmin при t ^да, где |wk j - некоторая подпоследовательность jwt j . Очевидно, что возможны случаи перехода к точке, ухудшающей текущее состояние, поэтому на протяжении всей работы метода требуется хранить информацию о рекорде w*- лучшей по значению ЦФ точки, посещенной во время работы метода.
Основная идея итерационного механизма поиска с запретами основывается на выборе новой точки последовательности из конечного подмножества точек окрестности - «соседей» - предыдущей точки и ведении списка запретов tabut, представляющего собой набор подмножеств поискового пространства, содержащих просмотренные ранее точки вместе со своими окрестностями. Тогда при попадании поиска в локальный минимум запреты «выталкивают» текущую точку из его окрестности, и поиск продолжает спуск к следующему локальному минимуму.
«Соседние» точки выбираются в окрестности равновероятно. В ситуации, когда не удается сформировать множество соседей (в силу покрытия запретами допустимой на t -й итерации для формирования соседей области пространства поиска), как правило, производится рестарт метода из новой начальной точки (с сохранением данных о точке w* и значении ЦФ в ней у*) [1; 7].
Дифференциальная эволюция [8] относится к классу популяционных методов, которые на каждой
итерации оперируют популяцией - множеством точек: p = Jwkt:i|_=j(w^,w^,...,wf^),w^] eD, j_,
l >k=\,np U , , , ! , 1 ]>k=\,nP
где np - размер популяции (фиксированный или изменяющийся по определенным правилам на протяжении всей работы алгоритма), D1 х... х Dn = D с Mn - пространство поиска.
Схема популяционных методов является достаточно общей и отличается от одноточечной схемы лишь тем, что оперирует не с одной точкой, а с некоторым множеством, а также способом генерации пробных точек. Для каждой точки популяции, т.е. для любого k е [1, р] случайным и равновероятным
образом выбираем три различных точки ak,Ь.,ck = uniform^Wt / м^) |, далее генерируем так называемый мутантный вектор т. = ак + а(Ь. - ск ), где а - задана; затем, заменяя в т. некоторые координаты координатами точки предыдущей итерации w() с некоторой заданной вероятностью / , получаем точку wt . Затем определяем точки следующей популяции:
Ук е[1, p]: =
~ (к) - (к) (к) wt если yt < yt '
(к) (к \ ~(к) wt ' если yt ' < yt
Метод отличается небольшим числом настраиваемых параметров: р - размер популяции, а - коэффициент взвешивания, /3 - вероятность замены координаты при скрещивании.
Одной из проблем, возникающих при использовании метода на практике, может стать выход поиска за границы при решении задачи с ограничениями. Впрочем, проблема легко разрешается, в простейшем случае - приравниванием вышедшей за пределы координаты ближайшему граничному значению.
2. Набор тестовых функций
В качестве минимального тестового набора будем работать со следующими функциями [9]:
Таблица 2
Описание тестовых функций
Функция Область определения
n f1. Sphere: f (w) = ^ w' ¿=1 -5,12; 5,12
n-1 / 2 \ f2. Rosenbrock: f (w) = ^l100-(wi+1 - wf ) +(wi -1)2) ¿=1 ^ ' -2,048; 2,048
n f3. Rastrigin: f (w) = 10• n + ^(wf -10 • cos(2nwt)) i=1 -5,12; 5,12
f4. Schwefel: f (w) = 418,9829 • n + (-wi • sin(yfwi)) i =1 -500;500
n ( w2 Л n ( w Л f5. Griewank: f (w) = 1+ Y i Пcos 1 1 1 ' tr 14000 J A=f U J -600;600
h n 2 i n f6. Ackley: f (w) = 20 + e - 20 • e~0,2 ' '= - e ''=1 -30; 30
Для всех функций f * = 0, кроме Rasrtigin, где f * = 10, а также w* = 0.0, кроме Rosenbrock, где
w* = 1.0 , и Schwefel, где w* = 420,9687 .
Графики функций (при N=2), приведенные на рисунке 1, дают представление о характере тестовых функций: как видно, представлены различные классы: одно- и многоэкстремальные, с различными окрестностями локальных минимумов.
Рис. 1. Графики тестовых функций (при N=2)
3. Гибридный метод
Далее будем обозначать поиск с запретами как TS, дифференциальную эволюцию как DE, гибридный метод как TS_DE.
Работа TS подразделяется на этапы спуска к локальным минимумам и подъема из окрестностей уже посещенных локальных минимумов. Если на этапе спуска метод действует сравнительно эффективно, достаточно быстро спускаясь в направлении поиска, то на этапах подъема эффективность поиска заметно снижается. Таким образом, желательным улучшением представляется более быстрый переход в окрестность другого локального минимума, минующий продолжительный процесс подъема. В настоящей работе попробуем для организации подобного перехода использовать механизм DE. Будем различать шаги глобального поиска по правилам Т8 (/\-шаг) и по правилам БЕ (¿/б'-шаг) (рис. 2).
15-шаг
1 йс-шаг 1
% =Ш V У*-У/:
щ щ =
Л у) * -У г У,=У, '
О
у
т
Рис. 2. Схема выбора шага
~ (de) ~(ts)
Будем далее обозначать точки w и w , полученные в результате совершения ts-шага и de-
~ (de) ~ (ts) тт_.
шага, как ts-точки и de-точки соответственно; y и y - значения ЦФ в этих точках.
Заметим, что совершение de-шага имеет смысл производить лишь в случаях, когда последовательность ts-шагов привела поиск на дно окрестности локального минимума, показателем чего является
либо невозможность формирования ts-точки w( ), либо ухудшение значения y ) по сравнению
~ (tS)
с текущей точкой yt < y (рис.2).
Очевидно, структура списка запретов в таком случае будет иметь сегментированный вид, где переход к каждому новому сегменту будет означать совершение de-шага, а сам сегмент - последовательность точек, полученных произведенными подряд ts-шагами. Таким образом, список запретов
S
будет иметь вид: tabut = ^ tabut j, где S - число его сегментов.
j=0
В качестве точек популяции для совершения de-шага будем брать точки, принадлежащие различным сегментам списка запретов - по одной от каждого сегмента. Случайным и равновероятным образом будем выбирать три различных номера сегментов v0, v1, v2 е [0, S -1], в каждом из которых также
равновероятно выберем по одной точке: Pj = choise jtabutv j ( j е[0,2]). Далее из координат выбранных точек сгенерируем мутантный вектор: t = p0 + а(p1 - p2) . Некоторые координаты полученного мутантного вектора заместим координатами точки, выбираемой из последнего сегмента списка запретов x = choiselast jtabut S j .
Описанный способ совершения de-шага возможен при S > 4 (поскольку нам необходимо не менее 4-х точек и, соответственно, 4-х сегментов), а при S < 4 будем выбирать точку начала нового сегмента случайным образом равновероятно по всему пространству поиска, за исключением уже запрещенных к этому моменту областей.
Заметим, что возможна потеря хороших решений в результате резких «скачков» на de-шаге. Попробуем исправить ситуацию, предложив способ, сохраняющий координаты рекордного решения. Для этого воспользуемся необходимостью определения действия в случае выхода за границы парал-лелепипедных ограничений, которые часто возникают в задаче обучения ИНС в качестве ограничений на изменение весов связей.
Будем считать, что на веса связей ИНС и, следовательно, на координаты точек в оптимизационной
задаче наложены параллелепипедные ограничения вида Vt: bl < wt j, wt, j < br.
В случае применения de-шага возможна ситуация, когда какие-либо координаты полученной точки выходят за указанные границы w t, j < bt или wt, j > br. Воспользуемся ситуацией и будем изменять эти координаты на случайные значения, полученные моделированием нормального распределения в окрестности соответствующих координат рекордной точки: wt, j = normal(w*,т) . Если же j -тая координата и после этого «выскакивает» за границы, то приравняем wt,j ближайшему граничному значению.
Параметр т > 0 в данном случае можно выбирать достаточно небольшим. В работе использовалось значение т = (br - bl) /103.
Далее требуется определить choiselast и choise - процедуры выбора точек из сегментов. Очевидно, следует различать следующие варианты:
0) выбирается последняя точка сегмента (предполагаемое дно исследованной окрестности локального минимума);
1) выбирается первая точка сегмента (одна из наиболее удаленных от предполагаемого локального минимума точек в его окрестности);
2) из сегмента равновероятно выбирается случайная точка.
Также нас интересует использование параметра а при генерации мутантного вектора - мы располагаем двумя вариантами:
0) новое значение а для каждого мутантного вектора (а );
1) новое значение а для каждой координаты мутантного вектора.
Далее произведем вычислительный эксперимент, с помощью которого определим оптимальный набор трех параметров. Для каждой ЦФ многократно выберем стартовую точку случайным образом, равновероятно по всему пространству поиска и произведем запуск метода на каждой комбинации (наборе) параметров, затем по каждой функции и набору параметров подсчитаем простейшую статистику: минимальное, максимальное, среднее значения и стандартное отклонение. Полученные результаты сведены в таблице 1.
Таблица 1
Результаты выбора процедур choiselast, choise и значения а
P1 P2 а f1 f2 f3 f4 f5 f6
0 0 0 4,05 354,78 467,37 12954,8 16,75 18,21
0 1 1 1,20 247,20 447,85 12788,7 5,51 18,25
0 2 0 4,56 390,88 458,45 12914,6 18,36 17,90
0 0 1 1,60 285,18 467,99 12907 6,20 17,80
0 1 0 4,41 375,59 471,96 12627,6 17,19 18,06
0 2 1 1,34 255,69 450,69 12436,4 6,33 17,89
1 0 0 59,51 1776,66 563,33 16131,7 199,62 18,74
1 1 1 48,28 1466,05 551,16 15626,8 164,34 18,36
1 2 0 89,60 2492,44 593,75 17240,7 316,28 18,45
1 0 1 87,32 2410,02 593,44 16667,9 296,29 18,16
1 1 0 64,35 1885,19 588,83 16329,9 212,06 18,62
1 2 1 55,01 1665,89 563,57 15982,8 202,74 18,27
2 0 0 10,48 563,23 471,75 13393,6 38,68 18,31
2 1 1 4,30 416,50 470,64 13154,8 17,02 18,32
2 2 0 11,63 586,00 488,82 13679,3 45,91 18,19
2 0 1 5,07 422,57 453,58 13352,2 20,46 17,95
2 1 0 9,95 565,05 467,74 13423,6 36,20 18,39
2 2 1 4,97 451,66 460,16 13051,2 19,56 18,19
Проведенные эксперименты показывают, что лучшие показатели среднего значения получаются при выборе в процедуре choiselast последней точки сегмента. Наилучшие результаты получены при коде 0-2-1, т. е. когда в процедуре choiselast выбирается последняя точка сегмента, в процедуре choise - случайная точка сегмента, а а выбирается для каждого нового мутантного вектора (одинаково для каждой координаты).
4. Тестирование разработанного метода
Теперь, когда мы определили различные параметры разработанного алгоритма, проведем его сравнение с базовыми методами. Усредненные по 100 запускам результаты представлены на рисунке 3. Как видно из графиков, во всех задачах показано улучшение по сравнению с родительскими методами.
Рис. 3. Сравнение методов TS, DE и TS_DE (при N=100)
Полученный таким образом гибридный алгоритм сочетает в себе «исследовательские» способности метода дифференциальной эволюции и скорость сходимости поиска с запретами при спуске в окрестности локального минимума.
Заключение
Разработан новый прямой метод глобального поиска на основе методов поиска с запретами и дифференциальной эволюции. На представительном наборе тестовых функций показано преимущество разработанного метода по сравнению с базовыми.
Литература
1. Chelouah R., Siarry P. Tabu search applied to global optimization // European journal of operational research. 2000. Vol. 123, № 2. P. 256 270.
2. Glover F., Taillard E. A user's guide to tabu search //Annals of operations research. 1993. Vol. 41, № 1. P. 1
28.
3. Glover F. Future paths for integer programming and links to artificial intelligence // Computers & operations research. 1986. Vol. 13, № 5. P. 533 549.
4. Glover F., Laguna M. Tabu Search / F. Glover. Springer New York, 2013. 3359 p.
5. Glover F. Tabu search: part I // ORSA Journal on computing. 1989. Vol. 1, № 3. P. 190 206.
6. Glover F. Tabu search: part II // ORSA Journal on computing. 1990. Vol. 2, № 1. P. 4 32.
7. Siarry P., Berthiau G. Fitting of tabu search to optimize functions of continuous variables // International journal for numerical methods in engineering. 1997. Vol. 40, № 13. P. 2449-2457.
8. Storn R., Price K.V. Differential evolution - a simple and efficient adaptive scheme for global optimization over continuous spaces: technical report TR-95-012. Berkeley, ICSI, 1995. 15 p.
9. Adorio E.P., & Diliman U.P. MVF - Multivariate Test Functions Library in C for Unconstrained Global Optimization (2005) http://www.geocities.ws/eadorio/mvf.pdf
Хандаров Фёдор Владимирович, научный сотрудник Научно-образовательного инновационного центра системных исследований и автоматизации Института математики и информатики Бурятского госуниверситета, тел. (+79244) 563112, [email protected]
Дармаев Тумэн Гомбоцыренович, кандидат физико-математических наук, доцент, заведующий лабораторией вычислительных и геоинформационных технологий Научно-образовательного инновационного центра системных исследований и автоматизации Института математики и информатики Бурятского госуниверситета, тел. (+73012) 221215, [email protected]
Khandarov Fedor Vladimirovich, research associate, scientific and educational innovation center of system research and automation, Institute of Mathematics and Computer Science, Buryat State University.
Darmaev Tumen Gombotsyrenovich, candidate of physical and mathematical sciences, associate professor, head of laboratory of calculation and geoinformational technologies, scientific and educational innovation center of system research and automation, Institute of Mathematics and Computer Science, Buryat State University.
УДК 004.942
© Т.В. Якубайлик
АДАПТАЦИЯ И ВЕРИФИКАЦИЯ ТРЕХМЕРНОГО ЧИСЛЕННОГО АЛГОРИТМА ДЛЯ РАСЧЕТА ТЕЧЕНИЙ В НЕГЛУБОКИХ ЗАМКНУТЫХ СТРАТИФИЦИРОВАННЫХ ВОДОЕМАХ
Работа выполнена при финансовой поддержке междисциплинарного интеграционного проекта №56,
грант РФФИ №13-05-00853
Проведена адаптация известной модели GETM [1] для расчета течений в неглубоких замкнутых стратифицированных водоемах. Данная программа была написана для моделирования течений в морях и заливах, но в силу универсальности позволяет рассчитывать течения практически в любых водоемах. Для этого требуется соответствующая настройка модели, так как процесс моделирования конкретного объекта подразумевает выбор из большого набора параметров. При помощи GETM проводились расчеты для Северного моря [2], Балтийского моря [3], озера Альпах (Швейцария) [4], водоемов-охладителей Шатурской ГРЭС [5] и многих других водоемов [6].
Ключевые слова: численный алгоритм, неглубокий водоем, стратифицированная жидкость.
T.V. Yakubaylik
ADAPTATION AND VERIFICATION OF THREE-DIMENSIONAL NUMERICAL ALGORITHM FOR CALCULATION OF FLOWS IN SHALLOW CLOSED STRATIFIED RESERVOIRS
The model GETM [1] has been adapted for calculation of flows in shallow closed stratified reservoirs. This program has been written for simulation of flows in seas and bays, but because of its versatility it allows to calculate the flow in various basins. It requires a corresponding adjustment of the model, as the simulation of specific object implies a choice of large set ofparameters. GETM was used for the calculations in the North Sea [2], in the Baltic Sea [3], in Lake Alpnach (Switzerland) [4], for cooling ponds of Shaturskaya power station [5] and in many other water bodies [6].
Keywords: numerical algorithm, shallow water body, stratified fluid.
Введение
Для моделирования течений в неглубоких соленых замкнутых стратифицированных озерах использовалась модель GETM. Сейчас это наиболее динамично развивающаяся модель, специализированная для расчета течений в различных водоемах (в отличие, например, от универсальной MITgsm, которая позволяет наряду с водоемами рассчитывать и движение в атмосфере и за счет этого имеет некоторые ограничения в вариативности). В GETM возможен выбор из четырех вариантов сетки для дискретизации по вертикали, достаточно большой выбор разностных аппроксимаций для расчета адвекции (по сравнению, например, с POM). Также она позволяет подключать много разных моделей вертикального турбулентного перемешивания (для расчета коэффициента вертикального турбулентного обмена).
1. Описание алгоритма
Система уравнений, используемая в этой программе, является модификацией хорошо известной и часто используемой для расчетов российскими и зарубежными учеными, системой уравнений гидро-