УДК 519.853.4
Вычислительная математика
DOI: 10.14529/cmse140409
ИСПОЛЬЗОВАНИЕ ПАРАЛЛЕЛЬНЫХ ХАРАКТЕРИСТИЧЕСКИХ АЛГОРИТМОВ ДЛЯ РЕШЕНИЯ МНОГОМЕРНЫХ ЗАДАЧ
ГЛОБАЛЬНОЙ оптимизации
К.А. Баркалов
1
В статье изложены результаты исследования многоуровневой схемы редукции размерности в задачах глобальной оптимизации. Предложенная схема позволяет свести решение многомерной задачи оптимизации к серии подзадач меньшей размерности, решение которых может быть выполнено параллельно. При этом для редукции размерности комбинируется использование кривых Пеано и схема вложенной (рекурсивной) оптимизации. Для решения редуцированных подзадач используется параллельный алгоритм глобального поиска, принадлежащий классу характеристических алгоритмов. Проведены вычислительные эксперименты на серии тестовых задач разной размерности. Результаты экспериментов показывают, что предложенная схема позволяет эффективно распараллелить процесс поиска и добиться значительного ускорения.
Ключевые слова: глобальная оптимизация, многоэкстремальные функции, редукция размерности, характеристические алгоритмы, параллельные алгоритмы.
Введение
Рассматриваются задачи многоэкстремальной (глобальной) оптимизации вида
Важный в прикладном отношении подкласс задач (1) характеризуется тем, что минимизируемая функция задана некоторым (программно реализуемым) алгоритмом вычисления значений ^(у) в точках области поиска В. В этом случае аналитические способы решения не применимы, а численное решение задачи сводится к построению оценки точного решения на основе некоторого числа к значений функций задачи, вычисленных в точках области В. Процесс вычисления значения функции в точке будем назвать испытанием.
В задачах многоэкстремальной оптимизации возможность достоверной оценки глобального оптимума принципиально основана на наличии априорной информации о функции, позволяющей связать возможные значения минимизируемой функции с известными значениями в точках осуществленных поисковых итераций. Весьма часто такая априорная информация о задаче (1) представляется в виде предположения, что целевая функция р удовлетворяет условию Липшица с константой Ь. Методам решения задач данного класса посвящена обширная литература (см. обзоры в [1-3]). Обзор прикладных проблем глобальной оптимизации приведен в [4].
1 Статья рекомендована к публикации программным комитетом Международной суперкомпьютерной конференции «Научный сервис в сети Интернет: многообразие суперкомпьютерных миров
(р(у*) = тт{^>(у): у е В}, 0 = {уейи:аг<у(<й(, 1<г<^}.
(1) (2)
2014».
Использование современных многопроцессорных вычислительных систем расширяет границы применения методов глобальной оптимизации и в то же время ставит задачу эффективного распараллеливания процесса поиска. Отметим, что распараллеливание процесса поиска можно проводить в нескольких направлениях. Во-первых, можно распараллеливать вычисление целевой функции, во-вторых, реализацию вычислительных правил алгоритма, обеспечивающих выбор точки проведения очередного испытания, и, в-третьих, можно изменить схему алгоритма с целью параллельного выполнения нескольких испытаний. Однако распараллеливание вычисления целевой функции, описывающей оптимизируемый объект, специфично для конкретной решаемой задачи. Распараллеливание правил алгоритма существенно зависит от конкретного класса алгоритмов и, кроме того, часто эти правила достаточно просты и распараллеливать их нецелесообразно. Поэтому перспективным является третий подход, который характеризуется эффективностью (распараллеливается именно та часть вычислительного процесса, в котором выполняется основной объем вычислений) и общностью (применим для широкого класса характеристических алгоритмов многоэкстремальной оптимизации).
Так, в работе [5] введен и исследован класс параллельных характеристических алгоритмов; установлена преемственность свойств сходимости параллельных характеристических алгоритмов по отношению к последовательным прототипам, оценена избыточность параллельных характеристических алгоритмов. Следуя этим оценкам, параллельные характеристические алгоритмы являются эффективными при небольшом числе (не более четырех) используемых процессоров. Использование же нескольких сотен параллельных вычислительных элементов не даст ускорения процесса поиска в несколько сотен раз. Причина состоит в том, что в этом случае параллельный алгоритм будет порождать значительное число избыточных точек испытаний (по сравнению с последовательным прототипом). В данной работе исследована новая схема использования параллельных характеристических алгоритмов, позволяющая обойти данную проблему и обеспечить значительное ускорение при решении многомерных многоэкстремальных задач.
1. Редукция размерности
Для снижения сложности алгоритмов глобальной оптимизации, формирующих эффективные покрытия области поиска, в многоэкстремальной оптимизации широко используются различные схемы редукции размерности, которые позволяют свести решение многомерных оптимизационных задач к семейству задач одномерной оптимизации. Редукция размерности позволяет существенно снизить сложность разрабатываемых алгоритмов глобального поиска. Кроме того, данный подход позволяет задействовать весь имеющийся аппарат одномерной многоэкстремальной оптимизации для построения эффективных многомерных методов глобального поиска.
Известно два общих метода редукции размерности. Один из них состоит в применении разверток единичного отрезка вещественной оси на гиперкуб. Роль таких разверток играют непрерывные однозначные отображения типа кривой Пеано, называемые также кривыми, заполняющими пространство. Использование развертки Пеано у(х), однозначно отображающей единичный отрезок вещественной оси на единичный гиперкуб, позволяет свести многомерную задачу минимизации в области D к одномерной задаче минимизации на отрезке [0,1]
<КУ*) = <Ку(**)) = mm{<Ky(x)): * е [0,1]}. (3)
Вопросы численного построения отображений типа кривой Пеано и соответствующая теория подробно рассмотрены в [1, 3].
Второй способ редукции размерности - схема вложенной оптимизации, или же многошаговая схема - основана на соотношении
min^(y) = min min ... min ^(y), (4)
yeD a1<y1<b1a2<y2<b2 aN<yN<bN
которое сводит решение исходной многомерной задачи к решению семейства рекурсивно связанных одномерных подзадач. При этом каждое вычисление целевой функции одномерной подзадачи есть решение новой одномерной подзадачи следующего уровня рекурсии, за исключением последнего уровня, где вычисляется значения исходной многомерной целевой функции. Различные модификации многошаговой схемы и соответствующая теория сходимости представлены в [3].
Для решения возникающих одномерных задач как в первом, так и во втором подходах могут быть использованы параллельные характеристические алгоритмы глобального поиска [5]. Способ распараллеливания в алгоритмах данного класса основан на следующем соображении: в характеристических алгоритме глобального поиска каждому поисковому интервалу сопоставляется некоторое число (характеристика интервала), которое может рассматриваться как мера важности данного интервала для последующего поиска решения в нем. Следуя данному пониманию, для организации параллельных вычислений после выбора точки вычисления значения функции для первого процессора в точном соответствии с последовательным алгоритмом, для второго процессора точку очередной итерации целесообразно выбирать из следующего по важности интервала (т.е. из интервала со следующей по порядку максимальной характеристикой) и т.д.
2. Многоуровневая схема редукции размерности
Для изложенной выше многошаговой схемы предложено обобщение (блочная многошаговая схема), которое комбинирует использование разверток типа кривой Пеано и многошаговой схемы с целью эффективного распараллеливания вычислений.
Рассмотрим вектор у как вектор «агрегированных» макро-переменных
У = (У1,Уг, --Ум) = (Ц1,и2,...,им), (5)
где г-я макропеременная представляет собой вектор размерности Ni из последовательно взятых компонент вектора у. С использованием макро-переменных основное соотношение многошаговой схемы (4) может быть переписано в виде
min^(y) = min min ... min ^(y), (6)
yeD u1eD1u2eD2 u^eD^
где подобласти D^ 1 < i < M, являются проекциями исходной области поиска D на подпространства, соответствующие макро-переменным щ, 1 < i < М.
Формулы, определяющие способ решения задачи (1) на основе соотношения (6) полностью совпадают с многошаговой схемой (4). Требуется лишь заменить исходные переменные yi,1<i<N, на макро-переменные щ, 1 < i < М. При этом принципиальным отличием от исходной схемы является тот факт, что в блочной многошаговой схеме вложенные подзадачи являются многомерными, и для их решения может быть применен способ редукции размерности на основе кривых Пеано. Число векторов и количество компонент в каждом векторе являются параметрами блочной многошаговой схемы и
могут быть использованы для формирования подзадач с нужными свойствами, и здесь возможны два диаметрально противоположных случая.
Если М = N, то блочная многошаговая схема идентична исходной многошаговой схеме; каждая из вложенных подзадач является одномерной.
Если М = 1, то решение задачи эквивалентно ее решению с использованием единственной кривой Пеано, отображающей [0,1] в D; вложенные подзадачи отсутствуют.
Нас же будет интересовать промежуточный вариант 1 < М « N, при котором исходная задача большой размерности разбивается на 2-3 вложенные подзадачи меньшей размерности. Тогда, применяя в многошаговой схеме для решения вложенных подзадач параллельные характеристические методы глобальной оптимизации, мы получим параллельный вариант блочной многошаговой схемы с широкой степенью вариативности. Например, можно варьировать количество процессоров на различных уровнях оптимизации (т.е. при решении подзадач по различным макро-переменным), применять различные параллельные методы поиска на разных уровнях и т.п.
Для описания процесса параллелизма многошаговой схемы (следуя [6]) введем вектор степеней распараллеливания п = (п1,п2,...,им), где я^, 1 < i < М, обозначает число параллельно решаемых подзадач (г+1)-го уровня вложенности, возникающих в результате выполнения параллельных итераций на г-м уровне.
В общем случае величины я^, 1 < i < М, могут зависеть от различных параметров и меняться в процессе оптимизации, но мы ограничимся случаем, когда все компоненты вектора п постоянны. Применение параллельных характеристических алгоритмов в соответствии с блочной многошаговой схемой позволяет использовать для решения исходной задачи
м
П = (7)
г=1
параллельно работающих процессоров. Например, при использовании = 8,1 < i < М, общее число подзадач, для которых возможно параллельное решение, будет увеличиваться на каждом уровне в 8 раз, что при использовании всего трех макропеременных составит 512. Таким образом, предложенный способ распараллеливания позволяет эффективно задействовать сотни и тысячи узлов современных вычислительных систем.
3. Результаты экспериментов
В данном разделе представлены результаты вычислительных экспериментов. Изложенный выше параллельный алгоритм глобальной оптимизации с использованием многоуровневой схемы редукции размерности был реализован в виде MPI-программы на языке C++. Все эксперименты были проведены на вычислительном кластере ННГУ. Формулировки и названия тестовых задач взяты из [7, 8].
Вначале проведем исследование эффективности последовательного алгоритма на четырехмерной задаче Shekel 10. В табл. 1 приведены результаты решения данной задачи: число выполненных испытаний K, время решения T в секундах, найденное значение оптимума р*. Во всех экспериментах использовались параметры метода г = 2.8, £ = 0.002 и параметр построения кривой Пеано т = 10; варьировалось лишь число М и размерность Ni макро-переменных .
Таблица 1
Результаты решения задачи Shekel 10
M Ni K T * V
1 4 64 604 0.65 -10.53
2 2,2 140 925 0.89 -10.53
2 3,1 639 780 3.08 -10.52
2 1,3 399 960 3.44 -10.52
3 1,1,2 1 405 598 8.87 -10.52
3 1,2,1 5 863 336 27.7 -10.51
3 2,1,1 3 045 636 14.56 -10.52
4 1,1,1,1 18 748 757 88.8 -10.52
Данные результаты подтверждают, что наименьшее число поисковых испытаний выполняет метод при М = 1. Однако в данном случае метод будет плохо распараллеливаться (см. обсуждение выше), поэтому эффективность распараллеливания будем исследовать при М = 2 и N-1 = N2 = 2. Так как значение функции вычисляется быстро, то вектор распараллеливания п будем выбирать в виде (р—1,1), где р — число процессов в MPI-программе (последовательный запуск программы обозначен (0,0)). Ниже приведены результаты решения нескольких задачи из [8]: в табл. 2 — время решения в секундах, в табл. 3 — число вычислений значений оптимизируемой функции. Также приведены используемые параметры метода г и £ и найденное значение оптимума р*.
Таблица 2
Результаты решения четырехмерных задач
Problem r s * V яЦ0,0) яЦ2,1) яЦ4,1) яЦ8,1)
Levy 1 2 0.002 0.0003 13.33 6.3 3.62 3.01
Neumaier 2 2 0.01 0.005 31.3 12.1 9.1 7.38
Neumaier 3 3.2 0.002 -15.998 27.5 21.2 15.54 11.63
Rastrigin 2.5 0.002 0.003 2.2 2.96 1.5 0.7
Rosenbrock 2.1 0.01 0.1 14.22 23.31 9.13 6.7
Shekel 5 2.5 0.002 -10.152 0.92 0.35 0.19 0.18
Shekel 7 2.5 0.002 -10.402 0.72 0.44 0.25 0.16
Shekel 10 2.5 0.002 -10.534 0.65 0.54 0.15 0.23
Таблица 3
Результаты решения четырехмерных задач
Problem r s * V яЦ0,0) яЦ2,1) яЦ4,1) яЦ8,1)
Levy 1 2 0.002 0.0003 1378380 2145661 2021384 2349743
Neumaier 2 2 0.01 0.005 3059379 4870091 6976209 6252963
Neumaier 3 3.2 0.002 -15.998 2763317 8636710 11466074 10176447
Rastrigin 2.5 0.002 0.003 235766 1275904 1286144 999423
Rosenbrock 2.1 0.01 0.1 1491435 9309296 7206413 9499122
Shekel 5 2.5 0.002 -10.152 95302 122831 105876 127946
Shekel 7 2.5 0.002 -10.402 75820 146677 135331 131481
Shekel 10 2.5 0.002 -10.534 64604 181132 71182 154927
Результаты экспериментов показывают, что последовательный алгоритм с использованием одной кривой Пеано выполняет значительно меньше поисковых испытаний, чем алгоритм с редукцией размерности по многоуровневой схеме. В силу этого в некоторых случаях получается, что параллельный алгоритм с использованием вектора распараллеливания (2,1) и, соответственно, 3 MPI-процессов работает примерно так же (или даже медленнее) чем последовательный. Однако уже использование вектора распараллеливания (4,1) дает значительное ускорение. При этом можно сказать, что по времени работы и по числу выполненных поисковых испытаний при решении данных задач предложенный алгоритм не уступает другим известным методам [8].
Следующую серию экспериментов проведем на задаче Rastrigin из [8] при N = 10, й = {-2.2 < у; < 1.8,1 < г < Глобально-оптимальное решение — У* = (0,...,0), (р(у*) = 0. В табл. 4 приведены результаты решения данной задачи: время решения Т в секундах и найденное значение оптимума р*. Во всех экспериментах использовались параметры метода г = 2.3, £ = 0.01, параметр построения кривой Пеано т = 10. Число макро-переменных и их размерность были выбраны М = 2, Л^ = 6, N2 = 4, т.е. решение исходной 10-мерной задачи сводится к решению 6-мерной, причем вычисление одного значения в ней подразумевает решение вложенной 4-мерной подзадачи. Варьировался вектор распараллеливания ж, в соответствии с которым изменялось число процессов в МР1-программе от 9 до 101 соответственно.
Таблица 4
Результаты решения десятимерной задачи
ж Т * Р
(8,1) 15 938 0.26
(20,1) 5 448 0.18
(40,1) 2 911 0.19
(70,1) 1 453 0.27
Во всех экспериментах число поисковых испытаний изменялось незначительно и составило порядка 109. Однако при этом произошло значительное сокращение времени решения задачи за счет увеличения числа используемых процессоров.
Заключение
В данной работе исследовалась многоуровневая схема редукции размерности в задачах глобальной оптимизации, комбинирующая использование кривых Пеано и многошаговую схему. Для решения редуцированных подзадач используется алгоритм глобального поиска, принадлежащий классу характеристических алгоритмов. Для предложенной многоуровневой схемы рассмотрены вопросы ее эффективного использования для задач с разным временем вычисления оптимизируемой функции.
Проведены вычислительные эксперименты на серии тестовых задач разной размерности с целью сравнения ускорения. Результаты экспериментов показывают, что предложенная схема позволяет эффективно распараллелить процесс поиска и добиться значительного ускорения. При этом разработанный алгоритм как минимум не уступает, а в некоторых случаях и превосходит известные методы аналогичного назначения.
Работа частично поддержана грантом МОН РФ (соглашение от 27 августа 2013 г. № 02.В.49.21.0003 между МОН РФ и ННГУ).
Литература
1. Strongin, R.G. Global Optimization with Non-convex Constraints. Sequential and Parallel Algorithms / R.G. Strongin, Ya.D. Sergeyev — Kluwer Academic Publishers, 2000.
— 704 p.
2. Floudas, C.A. A Review of Recent Advances in Global Optimization / C.A. Floudas, C.E. Gounaris // Journal of Global Optimization. — 2009. — Vol. 45, No. 1. — P. 3-38.
3. Стронгин, Р.Г. Параллельные вычисления в задачах глобальной оптимизации / Р.Г. Стронгин, В.П. Гергель, В.А. Гришагин, К.А. Баркалов — М.: Издательство Московского университета, 2013. — 280 с.
4. Pinter, J.D. Global Optimization: Scientific and Engineering Case Studies / J.D. Pinter
— Springer, 2006. — 546 p.
5. Grishagin, V.A. Parallel Characteristical Algorithms for Solving Problems of Global Optimization / V.A. Grishagin, Ya.D. Sergeyev, R.G. Strongin // Journal of Global Optimization. — 1997. — Vol. 10, No. 2. — P. 185-206.
6. Sergeyev, Ya.D. Parallel Asynchronous Global Search ant the Nested Optimization Scheme / Ya.D. Sergeyev, V.A. Grishagin / / Journal of Computational Analysis and Applications. — 2001. — Vol. 3, No. 2. — P. 123-245.
7. Ali, M. A Numerical Evaluation of Several Stochastic Algorithms on Selected Continuous Global Optimization Test Problems / M. Ali, Ch. Khompatraporn, Z.B. Zabinsky / / Journal of Global Optimization. — 2005. — Vol. 31, No. 4. — P. 635-672.
8. Paulavicius, R. Parallel Branch and Bound for Global Optimization with Combination of Lipschitz Bounds / R. Paulavicius, J. Zilinskas, A. Grothey / / Optimization Methods & Software. — 2011. — Vol. 26, No. 3. — P. 487-498.
Баркалов Константин Александрович, к.ф.-м.н., доцент кафедры математического обеспечения ЭВМ факультета ВМК, Нижегородский государственный университет им. Н.И. Лобачевского (Нижний Новгород, Российская Федерация), [email protected].
Поступила в редакцию 11 августа 2014 г.
K.A. BapKa.noB
Bulletin of the South Ural State University Series "Computational Mathematics and Software Engineering"
2014, vol. 3, no. 4, pp. 116-123
DOI: 10.14529/cmse140409
USE OF THE PARALLEL CHARACTERISTICAL ALGORITHMS FOR SOLVING MULTIVARIATE PROBLEMS OF GLOBAL OPTIMIZATION
K.A. Barkalov, N.I. Lobachevsky State University of Nizhni Novgorod (Nizhni Novgorod,
Russian Federation)
In this paper the problems of multidimensional multiextremal optimization and multilevel scheme of dimension reduction are considered. The proposed scheme allows to reduce solution of multidimensional problems to solution of a number of subproblems with less dimension, which can be solved in parallel. The multilevel scheme combines the ideas of Peano-type space filling curves and nested optimization. To solve the reduces subproblems the parallel characteristical algorithm is used. Results of numerical experiments confirm convergence and speedup of the parallel algorithm.
Keywords: global optimization, multiextremal functions, dimension reduction, characteristical algorithms, parallel algorithms.
References
1. Strongin R.G., Sergeyev Ya.D. Global Optimization with Non-convex Constraints. Sequential and Parallel Algorithms. Kluwer Academic Publishers, 2000. 704 p.
2. Floudas C.A., Gounaris C.E. A Review of Recent Advances in Global Optimization // Journal of Global Optimization. 2009. Vol. 45, No. 1. P. 3-38. DOI: 10.1007/s10898-008-9332-8.
3. Strongin R.G., Gergel V.P., Grishagin V.A., Barkalov K.A. Parallelnie vichisleniya v zadachah globalnoi optimizatsii [Parallel Computing for Global Optimization Problems]/ Moscow: Moscow University Press, 2013. 280 p.
4. Pinter J.D. Global Optimization: Scientific and Engineering Case Studies. Springer, 2006. 546 p.
5. Grishagin V.A., Sergeyev Ya.D., Strongin R.G. Parallel Characteristical Algorithms for Solving Problems of Global Optimization // Journal of Global Optimization. 1997. Vol. 10, No. 2. P. 185-206.
6. Sergeyev Ya.D., Grishagin V.A. Parallel Asynchronous Global Search ant the Nested Optimization Scheme // Journal of Computational Analysis and Applications. 2001. Vol. 3, No. 2. P. 123-245. DOI: 10.1023/A:1010185125012.
7. Ali M., Khompatraporn Z.B., Zabinsky Z.B. A Numerical Evaluation of Several Stochastic Algorithms on Selected Continuous Global Optimization Test Problems / / Journal of Global Optimization. 2005. Vol. 31, No. 4. P. 635-672. DOI: 10.1007/s10898-004-9972-2.
8. Paulavicius R., Zilinskas J., Grothey A. Parallel Branch and Bound for Global Optimization with Combination of Lipschitz Bounds / / Optimization Methods & Software. 2011. Vol. 26, No. 3. P. 487-498. DOI: 10.1007/978-0-387-09707-7_8.
Received August 11, 2014.