Научная статья на тему 'Популяционный алгоритм структурной оптимизации плоских течений жидкости в каналах'

Популяционный алгоритм структурной оптимизации плоских течений жидкости в каналах Текст научной статьи по специальности «Математика»

CC BY
302
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СТРУКТУРНАЯ ОПТИМИЗАЦИЯ / ПОПУЛЯЦИОННЫЕ АЛГОРИТМЫ / МЕТОД РЕШЕТОЧНЫХ УРАВНЕНИЙ БОЛЬЦМАНА / OPENCL / STRUCTURAL OPTIMIZATION / ARTIFICIAL FISH SWARM ALGORITHM / LATTICE BOLTZMANN METHOD

Аннотация научной статьи по математике, автор научной работы — Ахмадиев Ф. Г., Маланичев И. В.

Представлена реализация популяционного алгоритма «искусственного рыбьего косяка» для решения задачи структурной оптимизации течения жидкости в двумерных каналах. «Косяк» представляет собой множество точек («рыб») в пространстве параметров задачи, которые перемещаются, моделируя поведение особей, обладающих простейшим искусственным интеллектом, с целью занять наиболее выгодную позицию, соответствующую максимальному значению целевой функции, смысл которой трактуется как количество корма. Движение жидкости определяется методом решеточных уравнений Больцмана с применением технологии параллельных вычислений OpenCL.

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

Текст научной работы на тему «Популяционный алгоритм структурной оптимизации плоских течений жидкости в каналах»

ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ

УДК 004.94:519.676:532.516.5:532.542

Ф. Г. Ахмадиев, И. В. Маланичев

ПОПУЛЯЦИОННЫЙ АЛГОРИТМ СТРУКТУРНОЙ ОПТИМИЗАЦИИ ПЛОСКИХ ТЕЧЕНИЙ ЖИДКОСТИ В КАНАЛАХ

Ключевые слова: структурная оптимизация, популяционные алгоритмы, метод решеточных уравнений Больцмана, OpenCL.

Представлена реализация популяционного алгоритма «искусственного рыбьего косяка» для решения задачи структурной оптимизации течения жидкости в двумерных каналах. «Косяк» представляет собой множество точек («рыб») в пространстве параметров задачи, которые перемещаются, моделируя поведение особей, обладающих простейшим искусственным интеллектом, с целью занять наиболее выгодную позицию, соответствующую максимальному значению целевой функции, смысл которой трактуется как количество корма. Движение жидкости определяется методом решеточных уравнений Больцмана с применением технологии параллельных вычислений OpenCL.

Keywords: structural optimization, Artificial Fish Swarm Algorithm, Lattice Boltzmann method, OpenCL.

The implementation of Artificial Fish Swarm Algorithm is submitted to solve the structural optimization problems for fluid flows in two-dimensional channels. Fish swarm is a set ofpoints ("fish") in the space ofproblem parameters simulating the behavior of animals with a simple artificial intelligence which are moved for the purpose to occupy the most advantageous position corresponding to the maximum value of the objective function, which is interpreted as the amount of feed. Fluid flow is determined by the lattice Boltzmann method using OpenCL parallel computing technology.

Одной из тенденций развития современных методов прикладной математики является эволюционный подход, основанный на использовании известных в биологии закономерностей и процессов. Эволюционные методы решения задач оптимизации воспроизводят механизмы адаптации, существующие в биологических системах [1-3]. Одно из направлений развития эволюционных методов основано на популяционных алгоритмах.

Популяционные алгоритмы оптимизации моделируют поведение скопления особей, обладающих простейшим искусственным интеллектом. Они различаются правилами поведения элементов и наличием (отсутствием) структуры популяции. К попу-ляционным алгоритмам относятся: метод роя частиц (particle swarm), метод «муравейника» (ant colony), метод «колонии бактерий» (bacterial colony), метод «пчелиного улья» (bee colony), метод «кошачьей стаи» (cat swarm), метод «волчьей стаи» (wolf colony), метод «искусственного рыбьего косяка» (Artificial Fish Swarm Algorithm, AFSA) и др.

Популяционные алгоритмы позволяют обойти трудности, характерные для других методов оптимизации:

• поиск имеет нелокальный характер, что снимает проблему выбора начальной оценки и дает преимущество в нахождении глобального экстремума;

• не требуется выполнения специальных условий при формулировке задачи оптимизации (ограниченность, непрерывность, дифференцируемость функций и т.п.), что позволяет использовать целевые функции, не имеющие аналитического выражения;

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

• возможность распараллеливания, связанная с относительно независимой эволюцией элементов популяции.

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

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

Алгоритм «искусственного рыбьего косяка» является одним из наиболее простых вариантов популяционного алгоритма [7]. Рыбий косяк не имеет иерархии, поведение каждой особи единообразно, коллективное поведение сводится к сохранению группы.

Модель «косяка» представляет собой множество точек («рыб») s в пространстве параметров задачи. Точки перемещаются с целью занять наиболее выгодную позицию, соответствующую максимальному значению целевой функции f (s) ^ max , смысл которой трактуется как количество корма, реализуя следующие модели поведения (рис. 1):

• «поиск» - случайные блуждания с ограниченной скоростью;

• «соперничество» - перемещение в направлении точки с наилучшей известной позицией;

• «скучивание» - перемещение в направлении геометрического центра «косяка».

• «прыжок» - перемещение в произвольную точку.

Рис. 1 - Модели поведения «рыбьего косяка»: «поиск», «соперничество», «скучивание», «прыжок»

Реализация метода выполнена в виде стохастического итерационного процесса. На каждом шаге итерации j для каждой точки «косяка» определяются три возможные новые позиции:

s(2) = s

zmax, j '

s (3) = s

0, j

8 ? = 8 (0+ 8, I — 0,1,п,

где п - размер «косяка» (параметр модели); ь-0) -позиция г -й точки на шаге итерации j; ь/тах у -наилучшая известная позиция среди точек «косяка»

на шаге итерации j , //тах, у) = тах/и у); 1 V п

б0 у = „г У - позиция геометрического центра «косяка» на шаге итерации у ; 85 - максимально допустимое смещение точки (параметр модели); \ -вектор, координаты которого - случайные числа, равномерно распределенные в интервале (0; 1). Вычисляются значения целевой функции в точ-8(2), б(3) и определяется наилучшая пози-

.(1)

ках s-ция smax, j из условия

f(smax, j ) = max (/ (s(0)), f (s г(1)), f (s (2)), f (s(3))). Точка либо остается на месте, если

f (smax, j ) = f (s(0)):

s = s(0)

s i, j+1 " s i, j =

или перемещается в направлении лучшей позиции:

s = s(0) +

si, j+1 - si, j +

s - s (0)

°max, j Ji, j

¡s . - s (0)|

rmax, j j

8 s С,

где £ - случайное число в интервале (0; 1).

Поведение типа «прыжок» реализуется эпизодически, чтобы уменьшить вероятность концентрации «косяка» в окрестности локального экстремума. Если в течение заданного количества итераций 3 (параметр модели) максимальное значение целевой

функции /тах не меняется, Т.е. /тах у — /тах у_з , то

точка

наихудшей

позицией

(/(бг'тт У) — тип /у)) перемещается в произвольную точку в области допустимых значений параметров:

81ш, У+1 — + (Ьк _ ак ^к, к —1 2,...т , где т - размерность задачи, бк е [ак; Ьк ], ^к - случайные числа в интервале (0; 1) .

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

Описанный выше алгоритм демонстрирует эффективность при нахождении глобального экстремума даже при небольшом (10-50 точек) размере «косяка» [8].

Проиллюстрируем возможности алгоритма на примере решения задачи структурной оптимизации течения жидкости в двумерном канале.

Математическая модель. Движение жидкости определяется методом решеточных уравнений Больцмана [9, 10].

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

Эволюция во времени функции распределения частиц жидкости /(?,?, г) описывается уравнением Больцмана с оператором столкновений в приближении Бхатнагара-Гросса-Крука

/(г,У,?) — _ /(г,у,?) _/)

где ?, у - координаты и скорость частицы в момент времени г ; X - время релаксации вследствие столкновений; /(е<?)(~г, ~) - равновесная функция

распределения. После дискретизации по

пространству, времени и скоростям

(Ах — Ау — Аг — 1) имеем решеточное уравнение Больцмана в виде:

f„*(r, t) = fa (Г, t) -

fa (Г, t) - fe' (Г, t)

/а(г + еа,г +1) — /*(г,г), I — 0,1,...8 , где /а (г, г) - функция распределения частиц с дискретной скоростью еа в узле решетки с координатами г — (х,у); х — 1,2,..Хх; у —1,2,...Ьу ; а — 0,1, ...8; для двумерной девятискоростной решетки D2Q9 е0 — (0,0), е1_ 4 — {(1, 0), (0, 1), (-1, 0), (0, -1)}, е5_8 —{(1,1), (_1,1), (_1,_1), (1,_1)}; /е - равновесная функция распределения в виде

с

s

7

первых членов разложения функции Максвелла-Больцмана по степеням и / с (с = 1/73 - скорость звука)

№ = "ар1 + 3еа и + |(еа и)2 - 2и2), х - время релаксации, связанное с кинематической вязкостью жидкости у(г, :) соотношением

х = 3у + "2 ,

w0 = 4/9 , м>1-4 = 1/9, ^5-8 =1/36 - коэффициенты нормировки; плотность р, скорость и и давление жидкости Р вычисляются как

Р^О /а , Ри = Еа=0 /а еа , Р = IР •

Течение рассматривается в прямоугольной области Lx х Ly с граничными условиями отскока от стенки:

/¡,2,3,4,5,6,7,8 = /3,4,1,2,7,8,5,6 , /¡,2,3,4,5,6,7,8 = /3,4,1,2,7,8,5,6 , и заданными значениями плотности на входе рг„&: и выходе роице1 канала, определяющими неизвестные компоненты функций распределения в виде (вход):

(ux )inlet — 1-

(uy ) inlet — 0 ,

fo + f2 + f4 + 2C/3 + f6 + fl)

Pinlet

f1 — f3 + 2 pinlet (ux )inlet ,

f5 — fl -1 f - f4 ) + б P inlet (ux ) inlet ,

f8 — f6 + ~2 if 2 - f4 ) + "6"Pinlet (ux )inlet ,

что соответствует граничным условиям с заданным перепадом давления. Аналогичные соотношения задаются для узлов решетки на выходе.

Известно, что данная формулировка решеточного уравнения Больцмана эквивалентна уравнениям Навье-Стокса при малых числах Маха т.е для u < 0,1.

Для топологической оптимизации область течения жидкости рассматривается как заполненная фиктивной пористой средой с показателем обратной пористости p (0 < p < 1), приводящей к масштабированию скорости течения в виде [11]

и — (1 - pк )и, где к — 3 - коэффициент полиномиального масштабирования, улучшающий сходимость оптимизационного процесса, p — 0 соответствует полной проницаемости (жидкость), p — 1 - полной непроницаемости (твердое тело), а границы между жидкостью и твердым телом соответствуют узлам решетки, где p — 0,5.

Объемная доля жидкости V и поток жидкости F вычисляется как

V — Еx,, (1 - p(^ y)К ), F — Toutlet Pux .

Таким образом, задача структурной оптимизации течения жидкости в канале может быть сформулирована следующим образом: найти значения структурных переменных s — p, заданных в каждом узле решетки, для которых поток жидкости F ^ max при условии, что объем, занятый жидкостью, не превышает заданного значения.

Технология вычислительных экспериментов. При разработке программного обеспечения вычислительных экспериментов реализованы алгоритмы параллельных вычислений на основе технологии OpenCL [12].

Отдельные решетки, соответствующие N членам популяции, объединяются в общую решетку размером Lx х Ly (2N +1). Решетка с номером 0 соответствует центру популяции, решетки с номерами n < N +1 соответствуют состоянию членов популяции на текущем шаге вычислений, решетки с номерами n > N +1 соответствуют состоянию случайного поиска членов популяции с номерами n - N.

Решение уравнений гидродинамики выполнялось на графической карте AMD Radeon HD 7950. Данные, связанные с объединенной решеткой, на каждой итерации популяционного алгоритма загружаются в память устройства и обрабатываются в параллельном режиме до достижения стационарного состояния. Графический процессор AMD Radeon HD 7950 обрабатывает одновременно до 256 узлов решетки в одном параллельном потоке. Кроме того, часть вычислений выполняется в векторном режиме, обрабатывая по 4 числа с плавающей точкой за одну операцию. Результаты решения обрабатываются центральным процессором (Intel il-3ll0, 4 ядра, 8 потоков, 8 Гигабайт системной памяти), путем распараллеливания между ядрами расчетов, связанных с отдельным членом популяции, и определяются новые значения структурных переменных p , которые загружаются в память графической карты для расчета очередного приближения. Применение технологии OpenCL ускоряет процесс решения в десятки раз.

Обработка структурных переменных, для усиления взаимного влияния включает усреднение по соседним узлам

p( x y) — 1Е Х+! Е y - p} (x у)

и выделение границы

p j+1 (x, y) — H (-d + 2d • p( x, y)) с помощью сглаженной ступенчатой функции Хеви-сайда (d — 2):

H (h) —

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

0

h <-d

1L h 1 . nh

— I 1 + — + —sin— 21 d n d

| И | < d

1 , И > d•

Результаты расчетов. Алгоритм «рыбьего косяка» и его программная реализация протестированы на нескольких известных задачах структурной оптимизации течения жидкости.

Оптимизация формы диффузора выполнялась на решетке размером 64 х 64, при популяции из 30 элементов с ограничением доли жидкости до 0,5. Область течения, первоначально частично заполненная пористой средой, в процессе оптимизации принимает характерную форму сечения сопла (рис. 2).

Рис. 2 - Оптимизация формы диффузора

Оптимизация формы искривленного канала выполнялась на решетке размером 32 х 64 при популяции из 60 элементов с ограничением доли жидкости до 0,4. Область течения - канал прямоугольной формы с несимметрично расположенными входом и выходом. В процессе оптимизации границы канала выпрямляются, что является известным результатом для медленных течений (рис. 3).

Рис. 3 - Оптимизация канала

формы искривленного

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

Литература

М.: Издательство МГТУ им. Н. Э. Баумана, 2014. -446 с.

2. Yu X., Gen M. Introduction to Evolutionary Algorithms. -Springer, 2010. - 433 p.

3. Xing B., Gao W. Innovative Computational Intelligence: A Rough Guide to 134 Clever Algorithms. - Springer, 2014. -469 p.

4. Bends0e M.P., Sigmund O. Topology Optimization. Theory, Methods, and Application. - Springer, 2004. - 381 p.

5. Данилов Ю.М., Дьяконов Г.С., Мухаметзянова А.Г. и др. Оптимизация формы проточной части трубчатых турбулентных реакторов. Вестник Казанского технологического университета, 2003, №1, с. 116-124.

6. Фафурин А.В., Тагиров Р.Р., Шустрова М.Л. Газодинамические характеристики входных конфузоров. Вестник Казанского технологического университета, 2012, №8, с. 323-326.

7. Lobato F.S., Steffen V.Jr. Fish Swarm Optimization Algorithm Applied to Engineering System Design. Latin American Journal of Solids and Structures, 2014, №11, p. 143156.

8. Маланичев И.В., Ахмадиев Ф.Г. «Роевой» алгоритм решения задач глобальной оптимизации. В сб. Математические методы в технике и технологиях - ММТТ-29, Саратов: Саратов. гос. техн. ун-т, 2016, т. 4, с. 14-17.

9. Sukop M., Thorne D. Lattice Boltzmann Modeling. An Introduction for Geoscientists and Engineers. - Berlin: Springer, 2006. - 172 p.

10. Маланичев И.В., Ахмадиев Ф.Г. Моделирование течения неньютоновских эмульсий в микроканалах. Инженерно-физический журнал. 2015, т. 88, № 6, с. 14311438.

11. Pingen G., Evgrafov A., Maute K. Topology optimization of flow domains using the lattice Boltzmann method. Struct. Multidiscipl. Optim., 2007, № 34, p. 507-524.

12. Scarpino M. OpenCL in Action: How to Accelerate Graphics and Computations. - Manning, 2012. - 475 p.

1. Карпенко А.П. Современные алгоритмы поисковой оптимизации. Алгоритмы, вдохновленные природой. -

© Ф. Г. Ахмадиев - д.т.н., профессор, зав. каф. прикладной математики Казанского государственного архитектурно-строительного университета (КГАСУ), [email protected]; И. В. Маланичев - к.т.н., доцент каф. прикладной математики Казанского государственного архитектурно-строительного университета (КГАСУ), [email protected].

© F. G. Akhmadiev - Doctor of Technical Sciences, Professor, head of the Department of Applied mathematics Institute of transport facilities, Kazan State University of Architecture and Engineering, [email protected]; I. V. Malanichev - Candidate of Technical Sciences, associate professor of the Department of Applied mathematics Institute of transport facilities, Kazan State University of Architecture and Engineering, [email protected].

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