Масштабируемый биоинспирированный алгоритм для задач многомерной оптимизации

УДК 004.8+004.75 DOI 10.23683/2311-3103-2019-4-49-59

С.И. Родзин, И.Г. Данилов, К.С. Ковалева, О.Н. Родзина

МАСШТАБИРУЕМЫЙ БИОИНСПИРИРОВАННЫЙ АЛГОРИТМ ДЛЯ ЗАДАЧ МНОГОМЕРНОЙ ОПТИМИЗАЦИИ*

Биоинспирированные алгоритмы представляют собой математические преобразования, позволяющие трансформировать входной поток информации в выходной по правилам, основанным на имитации механизмов эволюции, а также на статистическом подходе к исследованию ситуаций и итерационном приближении к искомому решению. Биоинспири-рованные алгоритмы имеют определенные преимущества перед традиционными детерминированными методами оптимизации, лучше исследуя пространство поиска решений. Однако в эру больших данных пригодность биоинспирированных алгоритмов для их обработки, как и большинства других методов, находится под вопросом. Большие данные создают новые вычислительные проблемы, в том числе из-за их очень высокой размерности и разреженности. Многомерные задачи вносят дополнительную сложность в исследование пространства поиска решения. Актуальной является задача разработки масштабируемого биоинспирированного алгоритма, способного поддерживать разнообразие популяции решений и находить баланс между скоростью сходимости алгоритма и диверсификацией поиска в пространстве решений. В работе представлен масштабируемый биоинспириро-ванный алгоритм, способный решать многомерные оптимизационные задачи высокой размерности, используя иерархический мультипопуляционный подход. Масштабируемость алгоритма предполагает, что его вычислительные затраты растут прямо пропорционально увеличению объема обрабатываемых данных, а также способность при этом выдать наилучшее по его настоящим возможностям решение в любое время вычисления, даже если процесс вычислений не завершен естественным остановом. Масштабируемость также предполагает возможность проводить вычисления в пределах ограниченного объема памяти используемого компьютера. Алгоритм использует специальный оператор мутации для поддержки разнообразия популяции решений, расширения области поиска решений за счет менее перспективных решений. Оценка эффективности предложенного алгоритма производится на наборе многомерных оптимизационных функций-бенчмарок: Гри-ванка, Растригина, Розенброка, Швефеля. Показатели разработанного алгоритма сравниваются с показателями конкурирующих алгоритмов. Эксперименты свидетельствуют в пользу масштабируемого алгоритма, причем различия в значениях оптимизируемых функций для разработанного алгоритма являются статистически значимыми по сравнению с конкурирующими алгоритмами, в особенности с возрастанием размерности задачи.

Большие данные; масштабируемость; биоинспирированный алгоритм; многомерные задачи.

S.I. Rodzin, I.G. Danilov, K.S. Kovaleva, O.N. Rodzina

BIO-INSPIRED SCALABLE ALGORITHM IN PROBLEMS OF MULTIDIMENSIONAL OPTIMIZATION

Bioinspired algorithms are mathematical transformations that allow to transform the input flow of information into the output according to the rules based on the simulation of the mechanisms of evolution, as well as on the statistical approach to the study of situations and iterative approximation to the desired solution. Bioinspired algorithms have certain advantages over traditional deterministic optimization methods, better exploring the space of finding solutions. However, in the era of big data, the suitability of bioinspired algorithms for processing them, like most other methods, is questionable. Big data poses new computational challenges, including due to its very high dimensionality and sparsity. Multidimensional problems bring additional complexity to the study of the solution search space. An urgent task is to develop a scalable bioinspired algorithm that can support the diversity of the population of

*

Исследование выполнено при финансовой поддержке РФФИ в рамках научных проектов № 19-07-00570, № 19-01-00412.

solutions and find a balance between the rate of convergence of the algorithm and the diversification of the search in the space of solutions. The paper presents a scalable bioinspired algorithm capable of solving multidimensional optimization problems of high dimension using a hierarchical multipopulation approach. The scalability of the algorithm assumes that its computational cost increases in direct proportion to the increase in the amount ofdata processed, as well as the ability to give the best solution for its current capabilities at any time of calculation, even if the calculation process is not completed by a natural stop. Scalability also includes the ability to perform calculations within the limited memory of the computer being used. The algorithm uses a special mutation operator to support the diversity of the solution population, expanding the search for solutions at the expense of less promising solutions. Evaluation of the effectiveness of the proposed algorithm is performed on the set of multidimensional optimization functions benchmarks: Griewangk, Rastrigin, Rosenbrock, Schwefel. The indicators of the developed algorithm are compared with the indicators of competing algorithms. The experiments show in favor of a scalable algorithm, and the differences in the values of optimized functions for the developed algorithm are statistically significant compared to competing algorithms, especially with increasing dimension of the problem.

Big data; scalability; bioinspired algorithm; multidimensional problems.

Введение. Биоинспирированные алгоритмы являются одной из ветвей машинного обучения в искусственном интеллекте. С помощью биоинспирированных алгоритмов исследуется пространство поиска, синтезируются решения, являющиеся точками этого пространства, запрашивается оценка их качества или "приспособленности", которая затем используется для осуществления "естественного отбора". Тем самым, биоинспирированные алгоритмы обучаются тому, какие области пространства поиска содержат наилучшие решения [1].

С большой скоростью растет не только объем данных, но и сложность задач, которые требуется решить для этих данных с помощью информационных технологий. Следовательно, актуальной становится задача адаптации интеллектуальных информационных технологий на основе методов машинного обучения, к обработке все возрастающих объемов данных. Определенную научную и практическую значимость имеет вопрос о том могут или нет биоинспирированные алгоритмы адекватно ответить на современные вызовы в области обработки больших данных: эффективно масштабироваться и распараллеливаться для решения задач с миллиардами переменных, конкурировать с методами обучения глубоких нейросетей в решении задач высокой сложности при существенно лучшем качестве исследования пространства поиска.

В задачах с нелинейным, многомерным, многоэкстремальным пространством поиска биоинспирированные алгоритмы выполняют более исчерпывающее исследование этого пространства по сравнению с детерминированными методами поиска. Однако масштабируемость метода машинного обучения предполагает, что его вычислительные затраты растут прямо пропорционально увеличению объема обрабатываемых данных, что алгоритм способен выдать наилучшее на данный момент решение в любое время, даже если процесс вычислений не завершен естественным остановом, а также работать в пределах ограниченного объема памяти компьютера.

В этой связи требуется анализ масштабируемости биоинспирированных алгоритмов и улучшение следующих показателей их эффективности. Во-первых, для улучшения масштабируемости необходимо снижать число вычислений функции приспособленности. Во-вторых, необходимо снижать вычислительную сложность операций, не связанных с вычислением функции приспособленности, поскольку при обработке биоинспирированными алгоритмами больших данных требуется увеличивать размеры популяций и другие численные параметры, которые входят в оценки вычислительной алгоритмов. В-третьих, необходимо повышать эффективность использования биоинспирированными алгоритмами параллельных и распределенных вычислительных систем, поскольку несмотря на определенные возможности по распараллеливанию, большинство известных биоинспирированных алгоритмов вклю-

чают базовый цикл вычислений, включающий выполнение некоторых однопоточ-ных действий после получения результатов вычисления функции приспособленности для особей популяции [2]. Иными словами, для улучшения масштабируемости биоинспирированных алгоритмов целесообразно снижать как время ожидания других потоков, так и трудоемкость выполнения критических операций.

Предлагаемый подход направлен на обеспечение разнообразия популяций, чтобы повысить производительность биоинспирированных алгоритмов при решении оптимизационных задач большой размерности.

Существующие подходы. Бурный рост данных в таких областях как биомедицина, инженерия, финансы и социальные науки является результатом технологической революции. Источниками больших данных выступают данные с измерительных устройств, события от радиочастотных идентификаторов, потоки сообщений из социальных сетей, метеорологические данные, данные дистанционного зондирования Земли, потоки данных о местонахождении абонентов сетей сотовой связи, от устройств аудио- и видео регистрации. Однако традиционные технологии обработки больших данных при десятках тысяч объектов, извлеченных из документов и изображений, испытывают известные пространственно-временные проблемы. Разреженность данных - еще одна особенность, связанная с большими данными.

Как влияет рост размерности задач оптимизации на производительность, вычислительные затраты, устойчивость работы биоинспирированных алгоритмов? Какие из существующих подходов используются в биоинспирированных алгоритмах для преодоления указанных проблем?

В существующих биоинспирированных алгоритмах среднее значение функций приспособленности особей в популяции постепенно увеличивается, популяция теряет разнообразие, а поиск сходится к глобальному или локальному оптимуму. Поэтому в некоторых работах предлагается увеличить разнообразие популяций, генерируемых биоинспирированным алгоритмом [3]. Однако этого недостаточно. Более веская причина сходимости к субоптимальным решениям, заключается в увеличении среднего значения функции приспособленности при генерации новых популяций решений. Даже решения (особи в популяции) с конкурентным значением функции приспособленности, но расположенные в отдаленных окрестностях поискового пространства, из-за их редкого появления могут исчезнуть из популяции в результате дрейфа. Эта проблема на порядок выше в случае многомерных задач с многоэкстремальными функциями из-за огромного объема пространства поиска.

В других работах [4] предлагается контролировать количество особей в локальных поисковых пространствах, избегая избыточности и одновременно контролируя среднее значение функции приспособленности в популяции особей. В [5] предлагается генерировать несколько субпопуляций, контролируя миграцию особей из одной субпопуляции в другую. В [6] для решения проблемы масштабируемости предлагается использовать метод дифференциальной эволюции, в [7] - метод кооперативной коэволюции.

Однако эти подходы и предлагаемые в них биоинспирированные алгоритмы с точки зрения масштабируемости требуют использования нереалистично больших популяций или субпопуляций, чтобы эффективно справляться с "проклятием размерности". Например, в работе [8] использовалась популяция из 350 000 особей. При этом увеличение размеров популяции не гарантировало улучшение результатов.

Коэволюционный подход к сокращению размеров популяции в генетическом алгоритме предлагался в [9]. Его идея состоит в декомпозиции многомерной задачи на низкоразмерные задачи с последующей их оптимизацией и комбинированием. Однако попытки применения данного подхода к несепарабельным задачам оказались затруднительными.

Мы предлагаем более простой подход к решению проблемы высокой размерности при разумной поддержке разнообразия популяции. Гипотеза состоит в том, что вначале определяется тенденция к локальной сходимости биоинспирированного алгоритма, а затем поддерживается разнообразие популяции путем замены избыточных особей из локальных кластеров на особи из неисследованных областей пространства решений. При этом с увеличением размерности задачи не происходит существенного роста размеров популяции и поддерживается разнообразие популяции.

Биоинспирированный масштабируемый алгоритм для задачи многомерной оптимизации. Идея предлагаемого биоинспирированного масштабируемого алгоритма (БМА) заключается в объединении преимуществ иерархической структуры популяции и специализированного оператора мутации для поддержки разнообразия популяции и использованию перспективных областей поискового пространства. Псевдокод алгоритма БМА имеет следующий вид: Procedure БМА 1: begin 2: t=0

3: Инициализация популяции P(t) 4: Оценка особей популяции P(t) 5: while (проверка условия останова) 6: begin 7: t:= t + 1

8: Call Procedure (Построение иерархической структуры популяций) 9: Call Procedure (Выполнение когнитивного оператора мутации) 10: Создание новой популяции с помощью механизма поддержки разнообразия популяции, и когнитивного оператора мутации 11: Оценка особей популяции P(t) 14: end while

15: for (каждая особь в популяции) do 16: begin

17: Миграция особей из основной популяции 18: end for

19: for (каждая из n предварительно отобранных субпопуляций) 20: begin

21: Популяция эволюционирует заданное количество раз 22: Миграция особей 23: end 24: end

Отличительными особенностями БМА является построение иерархических субпопуляций и выполнение когнитивного оператора мутации.

Псевдокод процедуры построения иерархических субпопуляций имеет следующий вид: 1: begin

2: Вычислить плотность кластеров в иерархии DBI, где DBI = NBI/NPOP; NBI и NPOP -количество особей в кластере BI и размер популяции, соответственно. 3: for (каждый кластер из BI) 4: begin

5: if (DBI > Порог a) then 6: Определение центра кластера BIHUB 7: end for

8: for

9: while (Количество особей в кластере меньше порогового значения ^орог) AND (не меньше, чем при пересечении с любым отмеченным кластером) 10: Отмечаем найденный кластер K

11: end while 12: end for

13: Return (список найденных кластеров K) 14:end

Согласно этой процедуре в процессе поиска отдельные особи перемещаются из основной популяции в иерархические субпопуляции. Эти субпопуляции поддерживают основную популяцию в определенных диапазонах функции приспособленности. Субпопуляции формируются случайно и имеют определенный ограниченный размер.

Псевдокод процедуры выполнения когнитивного оператора мутации имеет следующий вид: 1: begin

2: Ввод списка найденных кластеров K 3: for (каждый кластер K) 4: begin

5: if (стандартное отклонение функции приспособленности для кластера K среднем не больше значения стандартного отклонения функции приспособленности для всех кластеров) AND (плотность DCR кластера не меньше плотности всех кластеров) then 6: begin

7: Произвольная выборка N особей из малоисследованных областей и замена ими особей с наихудшей приспособленностью из выявленного кластера M 8: end if

9: else if (среднее значение приспособленности кластера К больше среднего значения функций приспособленности всех кластеров) then 10: begin

11: Определение лучшей особи, которая передается в новой популяции без изменений

12: end else if 13: end for

15: Применять стандартный оператор рекомбинации ко всей популяции P(t) 16: Return P(t) 17:end

Когнитивный оператор мутации поддерживает разнообразие популяции и применяется только к особям основной популяции. Согласно методу БМА, прежде чем принять решение о применении когнитивного оператора мутации, необходимо определить кластеры, в которых наблюдается сходимость к локальному оптимуму. Наименее приспособленные особи из этих кластеров заменяются на перспективные особи из малоисследованных областей поискового пространства.

Результаты экспериментов на тестовых функциях. Для тестирования производительности БМА использовался набор многомерных (размерность от 20 до 1000) оптимизационных функций-бенчмарок.

Вначале оценим эффективность БМА для задач размерности n=20 переменных. Далее, алгоритм тестируется на функциях размерности n=50, n=100 и т.д. переменных. Показатели БМА будем сравнивать с показателями следующих конкурирующих алгоритмов: стандартным эволюционным алгоритм (SEA), самоорганизующимся эволюционным алгоритмом (SOCEA), клеточным эволюционным алгоритмом (CEA), эволюционным алгоритмом с управляемым разнообразием популяции (DGEA), подробное описание которых представлено в [11-14].

В качестве тестовых функций использовались следующие многомерные функции-бенчмарки [15-21]:

♦ Гриванка Feri (X) = ^2?= i (х - 1 0 0) 2 - П?= i со s + 1 , где -

600<хг<600,

♦ Растригина

5.12,

♦ Розенброка х/<100,

♦ Швефеля F(X) = 2 ?= х (2 {=хх /с) 2, гд е - 5 64 < х; < 6 4 . Бенчмарки выбирались по следующим принципам:

♦ оптимизируемые функции должны быть непохожими друг на друга;

♦ вызывать затруднения у известных точных методов оптимизации;

♦ быть нелинейными, несепарабельными, масштабируемыми. Указанные выше функции удовлетворяют этим принципам. Ниже, в качестве

иллюстрации, приводятся графики этих функций в двумерном случае (рис. 1-4).

Рис. 1. График функции Гриванка

Рис. 2. График функции Растригина

\iJ\

Рис. 3. График функции Розенброка

Рис. 4. График функции Швефеля

Глобальный минимум этих функций: Е„{Х = 0) = 0, = 0) = 0, ЕГОХХ=1) = 0, ^(Х = 0) = 0.

В экспериментах использовались следующие настройки: размер основной популяции N = 250, вероятность мутации рт = 0.05, вероятность кроссинговера рс = 0.9. Полученные результаты усреднялись по 30 независимым прогонам. Максимальное число поколений в каждом прогоне составляет 500, 1000 и 2000 для числа переменных п=20, п=50 и п=100.

Эмпирические результаты, полученные алгоритмом МБА на четырех функциях-бенчмарках, представлены в табл. 1. В таблице указаны значения ошибок (Е(Х) - Е(Х)*), где Е(Х)* - значение глобального минимума функции. Каждый столбец соответствует функциям Гриванка, Растригина, Розенброка и Швефеля.

Таблица 1

Значения ошибок на тестовых функциях для алгоритма БМА

Fsrí

п=20 лучший средний худший 4.00Е-62 4.91Е-62 8.11Е-62 1.01Е-61 1.95Е-61 3.00Е-61 0.50Е-60 1.11Е-60 1.92Е-60 1.05Е-50 1.15Е-50 2.29Е-50

п=50 лучший средний худший 4.73Е-40 4.81Е-40 5.10Е-40 1.10Е-40 1.10Е-40 1.30Е-40 1.11Е-40 1.14Е-40 1.20Е-40 1.03Е-30 1.04Е-30 1.19Е-30

п=100 лучший средний худший 8.92Е-21 8.93Е-21 8.95Е-21 1.21Е-20 1.21Е-20 1.22Е-20 1.20Е-20 1.20Е-20 1.21Е-20 1.09Е-15 1.09Е-15 1.68Е-15

Значения ошибок за 30 прогонов в порядке возрастания (лучшее, среднее, худшее) представлены для n=20, n=50 и n=100. Видно, что алгоритм БМА показывает устойчивые результаты при разной размерности в различных прогонах моделирования. Это показатель надежности работы алгоритма.

В табл. 2 представлены лучшие результаты конкурирующих алгоритмов SEA, SOCEA, CEA, DGEA и алгоритма БМА.

Таблица 2

Результаты сравнения алгоритмов SEA, SOCEA, CEA, DGEA и БМА

Алгоритм SEA SOCEA CEA DGEA БМA

о (N II К Fgrl(X) Frtg(X) FroSi(X) FSch(X) I.171 II.12 8292.32 0.930 2.875 406.490 0.642 1.250 149.056 7.88Е-8 3.37Е-8 8.127 4.00Е-62 1.01Е-61 0.50Е-60 1.50Е-50

О 5 II к Fgn(X) Frtg(X) Fros(X) Fsch(X) 1.616 44.674 41425.7 1.147 22.460 4783.25 1.032 14.224 1160.08 1.19Е-3 1.97Е-6 59.789 1.11Е-40 1.00Е-40 1.00Е-40 1.90Е-30

о о т к Fgn(X) Frtg(X) Fros(X) FSch(X) 2.250 106.212 91251.3 1.629 86.364 30427.6 1.179 58.380 6053.87 3.24Е-3 6.56Е-5 880.324 1.01Е-21 1.01Е-20 1.00Е-20 1.00Е-15

Результаты свидетельствуют в пользу алгоритма БМА.

С помощью /-критерия Стьюдента (уровень значимости 0.05, достоверность 95 %) проведена проверка того, являются ли различия в результатах (значения оптимизируемой функции) для предлагаемого биоинспирированного масштабируемого алгоритма статистически значимыми по сравнению с конкурирующими алгоритмами.

Сравнение показало, рассчитанные значения /-критерия превышают соответствующие критические значения, указанные в специальных таблицах. Следовательно, наблюдаемые различия являются статистически значимыми. Статистически значимые различия свидетельствуют в пользу биоинспирированного масштабируемого алгоритма для всех рассмотренных функций-бенчмарок, особенно с возрастанием размерности задачи.

Заключение. Разработанный масштабируемый биоинспирированный алгоритм, использующий иерархический мультипопуляционный подход и специальные операторы для поддержки разнообразия популяции решений, расширения области поиска решений за счет менее перспективных решений, является достаточно перспективным при решении задач многомерной оптимизации со сложными муль-тимодальными пространствами решений и большими данными. Оценка эффективности предложенного алгоритма производилась на наборе многомерных оптимизационных функций-бенчмарок: Гриванка, Растригина, Розенброка, Швефеля. Показатели разработанного алгоритма сравнивались с показателями четырех конкурирующих алгоритмов: стандартным эволюционным алгоритмом, саморганизую-щимся эволюционным алгоритмом, клеточным эволюционным алгоритмом, эволюционным алгоритмом с управляемым разнообразием популяции. Эксперименты свидетельствуют в пользу биоинспирированного масштабируемого алгоритма, причем различия в значениях оптимизируемых функций для биоинспирированно-го масштабируемого алгоритма являются статистически значимыми по сравнению с конкурирующими алгоритмами, в особенности с возрастанием размерности задачи. На наш взгляд, это объясняется возможностями биоинспирированного масштабируемого алгоритма поддерживать разнообразие популяции и находить баланс между скоростью сходимости алгоритма и диверсификацией поиска.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Родзин С.И., Курейчик В.В. Состояние, проблемы и перспективы развития биоэвристик // Программные системы и вычислительные методы. - 2016. - № 2. - С. 158-172.

2. Курейчик В.В., Курейчик В.М. Родзин С.И. Теория эволюционных вычислений. - М.: Физматлит, 2012. - 260 с.

3. CrepinsekM., Liu S.-H., MernikM. Exploration and exploitation in evolutionary algorithms: a survey // ACM Computing Surveys. - 2013. - Vol. 45, No. 3. - Р. 35-44.

4. Virginia Y., Analia A. A deterministic crowding evolutionary algorithm to form learning teams in a collaborative learning context // Expert System Appl. - 2012. - Vol. 39, No. 10.

- Р. 8584-8592.

5. Jie Y., NawwafK., GrogonoP. Bi-objective multi population genetic algorithm for multimodal function optimization // IEEE Trans. Evol. Comput. - 2010. - Vol. 14, No. 1. - Р. 80-102.

6. Hui W., Zhijian W., Shahryar R. Enhanced opposition-based differential evolution for solving high-dimensional continuous optimization problems // Soft. Computing. - 2011. - Vol. 15, No. 11. - Р. 2127-2140.

7. Xiaodong L., Yao X. Tackling high dimensional nonseparable optimization problems by cooperatively coevolving particle swarms // Proc. of the IEEE congress on evolutionary computation (CEC'09). - 2009. - P. 1546-1553.

8. Koza J., et. al. Genetic programming III: Darwinian invention and problem solving. Cambridge. - MA: MIT Press, 1999.

9. Garcia-Pedrajas N., Castillo J., Ortiz-Boyer D. A cooperative coevolutionary algorithm for instance selection for instance-based learning // Machine Learning. - 2010. - Vol. 78, No. 3.

- P. 381-420.

10. Родзин С.И., Курейчик В.В. Теоретические вопросы и современные проблемы развития когнитивных биоинспирированных алгоритмов оптимизации // Кибернетика и программирование. - 2017. - № 3. - С. 51-79.

11. Bhattacharya M. Exploiting landscape information to avoid premature convergence in evolutionary search // Proc. of the 2006 IEEE congress on evolutionary computation (CEC2006).

- IEEE Press, 2006. - P. 2575-2579.

12. Ursem R.K. Diversity-guided evolutionary algorithms // In: Proceedings of parallel problem solving from nature VII (PPSN-2002). - 2002. - Р. 462-71.

13. Aranha C, Iba H. Modelling cost into a genetic algorithm-based portfolio optimization system by seeding and objective sharing // Proc. of the IEEE congress on evolutionary computation, CEC2007, 2007. - P. 196-203.

14. Aranha C, Iba H. The memetic tree-based genetic algorithm and its application to portfolio optimization // Memeting Computer. - 2009. - No. 1 (2). - Р. 139-151.

15. Сергиенко А.Б. Тестовые функции для глобальной оптимизации. - Красноярск: Изд-во СГАУ, 2015. - 112 с.

16. Антух А.Э., Карпенко А.П. Глобальная оптимизация на основе гибридизации методов роя частиц, эволюции разума и клональной селекции // Наука и образование. - 2012.

- № 8. - С. 379-416.

17. Molga M., Smutnicki C. Test functions for optimization needs. - 2013. - http://www.zsd.ict. pwr.wroc.pl/files/docs/functions.pdf.

18. Чернышев О., Борисов А. Сравнительный анализ решения задач оптимизации генетическими и градиентными методами // Transport and Telecommunication. - 2007. - Vol. 8, No. 1. - P. 40-52.

19. Кравченко Ю.А. Задачи семантического поиска, классификации, структуризации и интеграции информации в контексте проблем управления знаниями // Известия ЮФУ. Технические науки. - 2016. - № 7 (180). - С. 5-18.

20. Bova V., Kureichik V., Zaruba D. Data and knowledge classification in intelligence informational systems by the evolutionary method // Proc. of the 2016 6th Int. Conf. - Cloud System and Big Data Engineering, Confluence, 2016. - P. 6-11.

21. Croucher M. Minimizing the Rosenbrock Function. - 2011. http://demonstrations.wolfram. com/MinimizingTheRosenbrockFunction/Wolfram Demonstrations Project.

REFERENCES

1. Rodzin S.I., Kureychik V.V. Sostoyanie, problemy i perspektivy razvitiya bioevristik [Status, problems and prospects of development of biometic], Programmnye sistemy i vychislitel'nye metody [Software systems and computational methods], 2016, No. 2, pp. 158-172.

2. Kureychik V.V., Kureychik V.M. Rodzin S.I. Teoriya evolyutsionnykh vychisleniy [Theory of evolutionary computation]. Moscow: Fizmatlit, 2012, 260 p.

3. CrepinsekM., Liu S.-H., MernikM. Exploration and exploitation in evolutionary algorithms: a survey, ACM Computing Surveys, 2013, Vol. 45, No. 3, pp. 35-44.

4. Virginia Y., Analia A. A deterministic crowding evolutionary algorithm to form learning teams in a collaborative learning context, Expert System Appl., 2012, Vol. 39, No. 10, pp. 8584-8592.

5. Jie Y., NawwafK., GrogonoP. Bi-objective multi population genetic algorithm for multimodal function optimization, IEEE Trans. Evol. Comput., 2010, Vol. 14, No. 1, pp. 80-102.

6. Hui W., Zhijian W., Shahryar R. Enhanced opposition-based differential evolution for solving high-dimensional continuous optimization problems, Soft. Computing., 2011, Vol. 15, No. 11, pp. 2127-2140.

7. Xiaodong L., Yao X. Tackling high dimensional nonseparable optimization problems by cooperatively coevolving particle swarms, Proc. of the IEEE congress on evolutionary computation (CEC'09), 2009, pp. 1546-1553.

8. Koza J., et. al. Genetic programming III: Darwinian invention and problem solving. Cambridge. MA: MIT Press, 1999.

9. Garcia-Pedrajas N., Castillo J., Ortiz-Boyer D. A cooperative coevolutionary algorithm for instance selection for instance-based learning, Machine Learning, 2010, Vol. 78, No. 3, pp. 381-420.

10. Rodzin S.I., Kureychik V.V. Teoreticheskie voprosy i sovremennye problemy razvitiya kognitivnykh bioinspirirovannykh algoritmov optimizatsii [Theoretical questions and contemporary problems of the development of cognitive bio-inspired algorithms for optimization], Kibernetika iprogrammirovanie [Cybernetics and programming], 2017, No. 3, pp. 51-79.

11. Bhattacharya M. Exploiting landscape information to avoid premature convergence in evolutionary search, Proc. of the 2006 IEEE congress on evolutionary computation (CEC2006). IEEE Press, 2006, pp. 2575-2579.

12. Ursem R.K. Diversity-guided evolutionary algorithms, In: Proceedings of parallel problem solving from nature VII (PPSN-2002), 2002, pp. 462-71.

13. Aranha C, Iba H. Modelling cost into a genetic algorithm-based portfolio optimization system by seeding and objective sharing, Proc. of the IEEE congress on evolutionary computation, CEC2007, 2007, pp. 196-203.

14. Aranha C, Iba H. The memetic tree-based genetic algorithm and its application to portfolio optimization, Memeting Computer, 2009, No. 1 (2), pp. 139-151.

15. Sergienko A.B. Testovye funktsii dlya global'noy optimizatsii [Test functions for global optimization]. Krasnoyarsk: Izd-vo SGAU, 2015, 112 p.

16. Antukh A.E., Karpenko A.P. Global'naya optimizatsiya na osnove gibridizatsii metodov roya chastits, evolyutsii razuma i klonal'noy selektsii [Global optimization based on hybridization of particle swarm methods, mind evolution and clonal selection], Nauka i obrazovanie [Science and education], 2012, No. 8, pp. 379-416.

17. Molga M., Smutnicki C. Test functions for optimization needs, 2013. Available at: http://www.zsd.ict.pwr.wroc.pl/files/docs/functions.pdf.

18. Chernyshev O., Borisov A. Sravnitel'nyy analiz resheniya zadach optimizatsii geneticheskimi i gradientnymi metodami [Comparative analysis of solving optimization problems by genetic and gradient methods], Transport and Telecommunication, 2007, Vol. 8, No. 1, pp. 40-52.

19. Kravchenko Yu.A. Zadachi semanticheskogo poiska, klassifikatsii, strukturizatsii i integratsii informatsii v kontekste problem upravleniya znaniyami [The problem of semantic search, classification, structuring and integrating information in the context of knowledge management], Izvestiya YuFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2016, No. 7 (180), pp. 5-18.

20. Croucher M. Minimizing the Rosenbrock Function, 2011. Available at: http://demonstrations. wolfram.com/MinimizingTheRosenbrockFunction/Wolfram Demonstrations Project.

Статью рекомендовала к опубликованию д.т.н., профессор Л.С. Лисицына.

Родзин Сергей Иванович - Южный федеральный университет; e-mail: srodzin@sfedu.ru;

347928, г. Таганрог, пер. Некрасовский, 44; тел.: 88634371673; кафедра математического

обеспечения и применения ЭВМ; профессор.

Данилов Игорь Геннадьевич - e-mail: igdanilov@sfedu.ru; кафедра математического обеспечения и применения ЭВМ; к.т.н.; доцент.

Ковалева Карина Сергеевна - e-mail: kchicherina@sfedu.ru; кафедра математического обеспечения и применения ЭВМ; ассистент.

Родзина Ольга Николаевна - e-mail: orodzina@sfedu.ru; кафедра математического обеспечения и применения ЭВМ; старший преподаватель.

Rodzin Sergey Ivanovich - Southern Federal University; e-mail: srodzin@sfedu.ru; 44, Nekrasovskiy, Taganrog, 347928, Russia; phone: +78634371673; the department of software engineering; professor.

Danilov Igor Gennad'evich - e-mail: igdanilov@sfedu.ru; the department of software engineering; cand. of eng. sc.; associate professor.

Kovaleva Karina Sergeevna - e-mail: kchicherina @sfedu.ru; the department of software engineering; assistant.

Rodzina Olga Nikolaevna - e-mail: orodzina@sfedu.ru; the department of software engineering; senior teacher.

УДК 004.8 DOI 10.23683/2311-3103-2019-4-59-68

Ю.О. Чернышев, Н.Н. Венцов

АЛГОРИТМ ОПРЕДЕЛЕНИЯ ПАРАМЕТРОВ БИОИНСПИРИРОВАННОГО ПОИСКА НА ОСНОВЕ ЗАИМСТВОВАНИЯ РЕЗУЛЬТАТОВ РЕШЕННЫХ

РАНЕЕ ЗАДАЧ *

Рассмотрена проблема выбора наиболее эффективной аппаратной архитектуры при реализации генетических алгоритмов, решающих МР-полные задачи. Особенность подобного рода задач - недоказанность наличия алгоритмов, способных находить точное решение за полиномиальное время. Используемые для решения подобных задач эволюционные алгоритмы являются стохастическими по своей сути, что затрудняет эффективное планирование вычислительного процесса. Цель работы состоит в нахождении способов сокращения времени поиска за счет анализа результатов, полученных при решении аналогичных задач, рассмотренных ранее, и выбора эффективной архитектуры, реализующей данный эволюционный алгоритм. Актуальность работы обусловлена экспоненциальным ростом размерностей решаемых оптимизационных задач. Научная новизна заключается в использовании знаний о решенных ранее задачах для оптимизации параметров генетического алгоритма, решающего текущую задачу, и выбора эффективной аппаратной архитектуры, на которой будет реализован данный алгоритм. Точная граница, как функция от числа обрабатываемых стохастическим алгоритмом особей, наиболее приемлемой архитектуры может быть определена только приближенно. По этой причине, граница наиболее эффективной аппаратной архитектуры задается в виде нечеткого множества. Постановка задачи состоит в следующем: ускорить процесс решения текущей задачи, используя априорные настройки параметров генетического алгоритма, основываясь на анализе результатов решений, рассмотренных ранее задач, и выборе эффективной аппаратной архитектуры. Предложен подход к выбору эффективной аппаратной архитектуры, состоящий из трех этапов: анализа результатов решения рассмотренных ранее задач, определения количества особей, которые необходимо сгенерировать для получения приемлемого решения эволюционным алгоритмом, выбора аппаратной архитектуры, на которой будет реализован эволюционный алгоритм.

Оптимизация вычислений; нечеткие системы; выбор аппаратной архитектуры; перенос знаний; адаптация; контекст.

* Исследование выполнено при финансовой поддержке РФФИ в рамках научных проектов № 19-01-00357 и 18-01-00314.