close

Вход

Забыли?

вход по аккаунту

?

Решение задачи оптимизационного анализа с помощью параллельных вычислений.

код для вставкиСкачать
Решение задачи оптимизационного анализа
с помощью параллельных вычислений
Бондарев А.Е.
Институт прикладной математики им.М.В.Келдыша РАН, Россия, Москва
e-mail: bond@keldysh.ru
1. Введение
В последнее десятилетие мощное развитие получило такое направление в
вычислительной математике, как решения оптимизационных задач. Это направление
интенсивно развивается и находит приложения в самых разнообразных областях
знания. Рассматривая оптимизационные задачи в целом, следует особо выделить
задачи оптимизационного анализа. Эти задачи, как правило, посвящены изучению и
оптимизации условий возникновения того или иного явления. При этом решение
подобной задачи не зависит от сути и свойств самого явления. Процесс
оптимизационного анализа явления опирается на решение обратных задач.
Результатом численного решения задач оптимизационного анализа являются
многомерные массивы, выражающие зависимости управляющих параметров в
многомерном пространстве определяющих параметров.
В работе [1] рассмотрены оптимизационные задачи как источник многомерных
данных, приводится общая постановка задачи, формальное описание алгоритма и
приводится пример решения конкретной задачи оптимизационного анализа
пространственно-временной структуры. На примере полученных данных показано
применение методов анализа конкретных расчетных данных. Там же был отмечен тот
факт, что численное решение задачи оптимизационного анализа, основанное на
многократном решении обратных задач сводится к решению большого числа
однотипных похожих маленьких задач. Это давало возможность предполагать, что
подход, предложенный в [1], может быть реализован в режиме параллельных
вычислений на основе идеологии многозадачного параллелизма. Данная работа
является естественным продолжением работы [1] и представляет опыт реализации
расчета задачи оптимизационного анализа в параллельном режиме.
Рассматриваемый приближенный подход оптимизационного анализа [1]
предназначен
для быстрой оценки зависимости нестационарного явления от
определяющих параметров задачи. Проводится многократное решение обратных
задач [2,3] и получается искомая зависимость в численном виде многомерного
массива. Обработка, анализ и визуализация данного массива помогает понять
характер зависимости и аппроксимировать эту зависимость простыми
геометрическими элементами, имеющими аналитическое выражение. К числу
преимуществ такого приближенного подхода следует отнести быстроту и
возможность реализации на достаточно грубых сетках. Это важно с учетом того
обстоятельства, что решение трехмерных нестационарных обратных задач является
громоздким и затруднительным делом с точки зрения вычислительных затрат. Из
сути самого подхода следует тот факт, что весь подход применяется в определенных
диапазонах изменения определяющих параметров задачи. Следовательно, результаты,
полученные с его помощью, относятся не к конкретной задаче, а к классу задач. Так
как подход инвариантен относительно моделируемого явления и алгоритма
- 89 -
численного решения, то он может применяться там, где есть необходимость анализа
условий возникновения события, т.е. в широком круге вычислительных задач в
различных прикладных областях. Реализация приближенного подхода [1] в
параллельном режиме позволяет получить быстрое и эффективное средство анализа и
оценки нестационарных явлений в широком спектре прикладных задач.
2. Общая постановка задачи
Решение задачи оптимизационного анализа основано на многократном решении
обратных задач [2,3]. Как правило, реальные практические задачи заключаются в
выборе наиболее оптимального варианта из множества допустимых вариантов. В
общем, в практических целях обратные задачи формулируются следующим образом:
найти при каких определяющих параметрах в классе задач будет возникать
интересующее исследователя явление, независимо от того, как проявляется это
явление количественно или качественно. Данный подход не зависит от сути явления,
а следовательно, он может быть применен в любой области.
На практике, исследуя с помощью численного или экспериментального
моделирования то или иное явление, мы, как правило, знаем причину возникновения
явления и управляющий этой причиной количественный параметр (управляющий
параметр) x . Исследование стремится к численному или экспериментальному
установлению зависимостей управляющего параметра от определяющих параметров
( x1 ,..., xn ) задачи. Построение подобных зависимостей в квазианалитическом или
табличном виде является практической целью исследования.
Предположим, что имеется математическая модель нестационарного процесса
и надежный численный метод для решения этой модели. В этом случае мы можем
решать прямую задачу численного моделирования нестационарного процесса.
Допустим, что в моделируемом процессе происходит некое событие (явление,
эффект). Численное решение F = F ( x , x1 ,..., xn ) выбранной задачи формируется в
процессе математического моделирования и определяется управляющим параметром
и конечным набором определяющих параметров задачи. Обозначим X = ( x , x1 ,..., xn )
и введем функционал события Ф( F ( X )) , который на решении задачи принимает,
подобно логической переменной, два значения: 1 – если событие, интересующее
исследователя, наступило (независимо от рода события) и 0 – если событие не
наступило.
Ф( F ( X )) = 0 - событие не наступило
(1)
Ф( F ( X )) = 1 - событие наступило.
Пусть x ′ - значение управляющего параметра, при котором наступает
изучаемое явление.
Тогда общую постановку задачи можно сформулировать следующим образом:
- найти min I ( ∆x ) при фиксированных значениях определяющих параметров
∆x
( x1* ,..., xn* ) , где I ( ∆x ) - функционал следующего вида
I ( ∆x ) = 1 − Ф( F ( X )) , ∆x = x − x ′
(2)
Таким образом, наша задача формально состоит в минимизации функционала
I ( ∆x ) при помощи вариации управляющего параметра. А в реальности, варьируя ∆x ,
- 90 -
мы должны с приемлемой точностью отыскать значение x ′ , то есть то значение
управляющего параметра, при котором событие наступает.
Мы получаем одно значение x ′( x1* ,..., xn* ) для управляющего параметра при
фиксированных определяющих параметрах. Но наша задача состоит в том, чтобы
построить зависимость x ′( x1 ,..., xn ) для всех возможных значений определяющих
параметров. Таким образом, если мы имеем в диапазоне разбиения каждого
определяющего параметра M точек, то для того чтобы найти значения
x ′ управляющего параметра для всех наборов ( x1* ,..., xn* ) , необходимо решить M n
однотипных задач вида (2).
Рассматривая ( x1 ,..., xn ) как набор базисных векторов, можно представить
пространство определяющих параметров L( x1 ,..., xn ) , имеющее размерность n .
Тогда в общем случае задачу оптимизационного анализа можно
сформулировать как нахождение в
пространстве L всех подобластей L* , где
наблюдается изучаемое событие, т.е. Ф(L* ) = 1 .
3. Последовательный алгоритм решения задачи оптимизационного анализа и
варианты его распараллеливания
Общий
алгоритм
решения
задачи
оптимизационного
последовательном режиме вычислений представлен на рисунке 1.
анализа
в
Рис.1. Схема последовательного алгоритма решения задачи оптимизационного
анализа
На предварительном этапе задается сеточное разбиение пространства
определяющих параметров (ОП), формируя всевозможные фиксированные наборы
- 91 -
ОП ( x1* ,..., xn* ) . Далее в цикле по всем заданным наборам ( x1* ,..., xn* ) для каждого
набора проводится решение обратной задачи (ОЗ). Обратная задача для каждого
набора решается путем вариации управляющего параметра x , вплоть до нахождения
с заданной точностью значения x ′ , т.е. наступления искомого события. В процессе
вариации управляющего параметра x на каждом шаге решается прямая задача
моделирования при заданном значении x . В результате работы алгоритма
формируется многомерный массив результатов, представляющий собой дискретную
зависимость x ′( x1 ,..., xn ) . Далее к массиву результатов могут применяться методы
анализа многомерных данных, методы понижения размерности, алгоритмы
визуального представления и.т.д.
Рассмотрим наиболее интересные узлы для распараллеливания данного
алгоритма, выделенные на рисунке 1 римскими цифрами. Будем оценивать
пригодность данных узлов к распараллеливанию прежде всего с точки зрения
инвариантности или независимости от конкретного алгоритма, реализуемого в
данном узле. В первую очередь – это алгоритм решения прямой задачи
математического моделирования (I) при заданном значении x . Данный узел
полностью зависит от конкретного алгоритма решения прямой задачи, а этот
алгоритм может быть непригоден для распараллеливания. Именно такой вариант
алгоритма [6] (неявная конечно-разностная схема) использовался в работе [1] для
конкретных расчетов. Второй узел – это организация решения обратной задачи для
фиксированного набора ОП (II). Он сводится к поиску значения x ′ с заданной
точностью. Здесь также имеется зависимость от выбора конкретного алгоритма
поиска x ′ . Зато третий узел полностью инвариантен и здесь вне зависимости от
алгоритмов возможна организация параллельных вычислений однотипных ОЗ с
разными фиксированными наборами ОП по принципу «один вариант ОП – один
процессор» (Рис.2.).
Рис.2. Параллельный вариант решения задачи оптимизационного анализа
В силу того, что процессы решения ОЗ происходят фактически без обменов
информацией между процессорами, распараллеливание здесь сводится к организации
интерфейса, управляющего распределением вариантов по процессорам и сбором
данных в единый массив результатов.
Данный вариант является наиболее легким в реализации и позволяет ускорить
расчет во столько раз, сколько процессоров может быть выделено одновременно.
Таким образом, идеология параллельных вычислений в данном случае принимает
форму «многозадачного параллелизма».
- 92 -
4. Практическое применение
Данный подход к организации параллельного расчета был применен к
конкретной задаче о нестационарном взаимодействии сверхзвуковых струй [1]. В
качестве события рассматривалось возникновение новой пространственно-временной
структуры течения (ПВС), в качестве управляющего параметра использовалась
скорость повышения нерасчетности струи, а в качестве определяющих параметров
были выбраны характерные числа Маха, Рейнольдса, Прандтля и Струхаля
( M ∞ , Re ∞ , Pr∞ , Sh∞ ) для данной задачи. Рассматривались разбиения ОП по 5 точек на
каждый определяющий параметр в диапазоне его изменения и 10 точек, что вело к
необходимости расчета 625
и 10000 обратных задач соответственно. Для
организации расчетов использовался вычислительный комплекс К-100 [7]. При
организации интерфейса для управления параллельным расчетом нескольких ОЗ
использовалась технология MPI [4,5]. Сначала был реализован последовательный
вариант для малого разбиения. Полученный 4-мерный массив результатов
использовался далее как эталон. С его помощью была получена оценочная
зависимость управляющего параметра от ОП, выраженная в квазианалитическом
виде. Затем была проведена отладка интерфейса для параллельного расчета. Далее
были проведены расчеты для большего разбиения ОП. На основании новых
результатов реализованы оценка и уточнение квазианалитической формулы для
данной задачи.
Заключение
Предложенный в работе [1] подход к решению задачи оптимизационного
анализа реализован в параллельном алгоритме
как многозадачный расчет.
Реализация такого вида распараллеливания полностью инвариантна относительно
алгоритмов, как решения прямой задачи моделирования, так и обратной задачи.
Следовательно, подобный подход может быть использован для решения задачи об
оптимальных условиях возникновения нестационарных явлений в широком круге
областей как быстрое и эффективное средство анализа и оценки.
Литература
[1] Бондарев А.Е. Оптимизационный анализ нестационарных пространственновременных структур с применением методов визуализации / Научная визуализация.
Т.3, N 2, 2011, C.1-11.
[2] Алифанов О.М. Обратные задачи в теплопередаче. М, Машиностроение,
1988.
[3] Beck J.V., Blackwell B., St.Clair C. Inverse Heat Conduction. Ill-posed Problems.
John Wiley&Sons, USA, N.Y., 1985
[4] Pacheco
P.,
Ming
W.
MPI
User's
Guide
in
Fortran,
http://parallel.ru/ftp/mpi/guide/MPI_ug_in_FORTRAN.zip
[5] Антонов А.С. Параллельное программирование с использованием
технологии MPI, http://parallel.ru/tech/tech_dev/MPI/
[6] Бондарев А.Е. «Численное решение уравнения Бюргерса в области высоких
градиентов» Препринт ИПМ им М.В.Келдыша РАН, М., № 12, 1990, 13 с.
[7] http://www.kiam.ru/MVS/resourses/k100.html
- 93 -
Документ
Категория
Без категории
Просмотров
13
Размер файла
215 Кб
Теги
анализа, оптимизационными, решение, вычисления, помощь, параллельное, задачи
1/--страниц
Пожаловаться на содержимое документа