ГЛАВА 4. ИНФОРМАЦИОННЫЕ И КОММУНИКАЦИОННЫЕ ТЕХНОЛОГИИ В ПРОЕКТИРОВАНИИ, ПРОИЗВОДСТВЕ И ОБРАЗОВАНИИ
УДК 681.5.015.23 Лагунова А.Д., Назаров Д.А.
ФГБУН Институт автоматики и процессов управления Дальневосточного отделения Российской академии наук, Владивосток, Россия
ПАРАЛЛЕЛЬНЫЙ АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ ОПТИМАЛЬНОГО ПАРАМЕТРИЧЕСКОГО СИНТЕЗА НА ОСНОВЕ МЕТОДА СЕТОК
Рассмотрена задача оптимального параметрического синтеза технических устройств. Предложен параллельный алгоритм поиска оптимальных решений, основанный на методе сеток. Ключевые слова:
ПАРАМЕТРИЧЕСКИЙ СИНТЕЗ, ОПТИМИЗАЦИЯ, ТЕХНИЧЕСКАЯ СИСТЕМА, ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ
Введение
Задача оптимального параметрического синтеза технических устройств и систем с учетом стохастических закономерностей изменения их параметров и требований надежности (параметрического синтеза в широком смысле) состоит в поиске таких начальных (номинальных) значений параметров элементов системы (внутренних параметров), при которых обеспечивается максимальная вероятность выполнения условий работоспособности в течение заданного времени эксплуатации. При этом предполагается, что структура (топология) проектируемой системы и ее математическая модель известны [1].
Описывающие проектируемую систему функции, обычно имеют сложный нелинейный характер, что не позволяет получать оптимальное решение в аналитической форме с помощью классических методов вариационного и дифференциального исчисления. Для решения задачи оптимального параметрического синтеза (ОПС) приходится использовать поисковые методы.
Высокая вычислительная трудоемкость решения оптимизационных задач со стохастическим критерием заставляет искать способы достаточно быстрого получения желаемых результатов. В работах [2, 3] предложены методы и алгоритмы, убыстряющие в известной мере процедуру поиска оптимальных решений в задаче параметрического синтеза. Сравнительный анализ и эксперименты показывают, что они позволяют сократить время решения задачи в 3-5 раз по сравнению с классическими методами, основанными на прямом методе статического моделирования.
Вместе с тем, в последние годы активно развивается достаточно радикальный путь сокращения трудоемкости решения сложных вычислительных задач, в основе которого лежит идея распараллеливания процессов поиска конечного результата.
Задача оптимального параметрического синтеза
Общая постановка задачи оптимального параметрического синтеза имеет следующий вид [1, 4]. Найти номинальные значения внутренних параметров (параметров элементов) исследуемой системы
x0 = (х0,...,x0) , обеспечивающие максимум вероятности ее безотказной работы в течение заданного времени
x0 = argmaxP{X(x„„M, t) e Dx, Vt e [0,T]}, (1) где Х(хя(ш, t) - случайный процесс изменения параметров; D - область работоспособности; T - заданное время эксплуатации системы. Область допустимых вариаций внутренних параметров D , как правило, неизвестна, поэтому условия работоспособности обычно задаются системой неравенств:
üj < yj (x) < bj, j = J,..., k . (2)
Вектор y = {y }k=1 содержит значения выходных
параметров системы, причем yj = Fj(xj,...,xn) , а Fj(•)
— известный оператор, зависящий от топологии исследуемой системы.
В качестве количественного показателя надежности принимается вероятность:
(3)
где Y(t)
случайный процесс изменения выходных
параметров системы,
D„
область допустимых
P{Y(i) e Dy, Vt e[0,T]},
изменений выходных параметров, которая чаще всего задается системой неравенств (2), а значит, имеет форму ш-мерного гиперпараллелепипеда. Таким образом, как вероятность, целевая функция Р(хИ<1М,Т) = Р{Х(х„„м, /) е DI, V/ е[0,Т]} является непрерывной и ограниченной Р(хтм,Т)е[0,1] . То же можно
сказать и о критерии вида (3). Задачу ОПС в виде (1) можно рассматривать как стандартную задачу математического программирования с ограничениями. Ее особенностями являются многомерность, стохастичность, нелинейность и в общем случае невыпуклость (многоэкстремальность).
Часто задача параметрического синтеза состоит не в поиске номиналов параметров, при которых достигается максимум вероятности безотказной работы (ВБР), а в обеспечении ВБР не ниже требуемой
Р :
тр
Р(х ,Т) > Р .
V ном / тр
В этом случае, прежде всего, возникает вопрос о достижимости необходимого уровня ВБР. Расчет предельных возможностей целесообразно производить, если при этом трудоемкость вычислительного процесса будет существенно меньше трудоемкости решения задачи (1). Необходимо отметить, что требуемый уровень ВБР обычно достаточно высок (по крайней мере, больше 0.5), а также тот факт, что
Р(х«м,Т)<Ро , (4)
где Р(хтм ,0) - вероятность выполнения условий работоспособности в момент времени Ь = 0, которую называют обычно серийнопригодностью или выходом годных.
Соотношение (4) следует из того факта, что случайное событие, состоящее в выполнении условий работоспособности в течение интервала времени [0, Т] , является произведением двух событий, первое из которых - нахождение системы в работоспособном состоянии момент времени Ь = 0, а второе - выполнение условий работоспособности непрерывно в течение времени Т.
С учетом этого в качестве первого этапа процесса поиска экстремума ВБР целесообразно искать максимум вероятности выполнения условий работоспособности в момент времени Ь = 0. Очевидно, что это существенно проще, чем решение задачи (1). Действительно, для расчета серийнопригод-ности приходится оперировать со случайными величинами, а не случайными процессами, и, кроме того, при этом часто удается заменить исходную задачу со стохастическим критерием оптимальности эквивалентной ей задачей с детерминированным критерием. Так, например, для выпуклых областей работоспособности задача сводится к поиску центра тяжести области [5].
Переходить ко второму этапу следует лишь в том случае, если достижимый уровень серийнопри-годности будет больше требуемого значения ВБР.
Параллельный алгоритм поисковой оптимизации
Стохастический характер критерия оптимальности, многомерность пространства поиска, необходимость решения задачи глобальной оптимизации
а
заставляют искать пути создания эффективных численных методов решения задач ОПС. Одним из наиболее радикальных путей решения задач высокой вычислительной сложности является распараллеливание процесса поиска решения. Можно предложить несколько вариантов стратегии ОПС с использованием технологии параллельных вычислений [6].
Рассмотрим стратегию, в основе которой лежит идея создания параллельных методов расчета целевой функции и методов оптимизации. Создание и реализация параллельного аналога метода статистических испытаний (Монте-Карло) не вызывает принципиальных затруднений. Использование параллельных вычислений в этом методе является вполне логичным, поскольку идея параллелизма -повторения некоторого типового процесса с различными наборами данных - заложена в самой структуре метода. Интуитивно понятно, что использование к независимых процессоров и распределение между ними независимых испытаний, уменьшит трудоемкость статистического моделирования почти в к раз, поскольку затраты на заключительное суммирование и осреднение результатов практически несущественны. Дальнейшее уменьшение времени решения задачи ОПС может быть достигнуто за счет распараллеливания алгоритма поиска экстремума.
Простейшим из прямых методов поиска, обладающих свойством потенциального параллелелизма, является метод сканирования. Суть метода заключается в том, что область поиска разбивается на элементарные ячейки, в каждой из которых по определенному алгоритму выбирается точка: в центре ячейки, на ребрах или в вершинах. В каждой ячейке осуществляется последовательный просмотр значений целевой функции и нахождение среди них экстремального значения. Точность метода, естественно, определяется тем, насколько плотно располагаются выбранные точки в области поиска.
Основным достоинством метода сканирования является то, что при его использовании с достаточно густым расположением точек всегда гарантируется отыскание глобального экстремума. Однако для этого в данном методе требуется значительный объем вычислений, снизить который можно путем распараллеливания алгоритма.
В задачах ОПС выборочное множество номиналов в большинстве случаев является само по себе дискретным. Это связано с тем, что номиналы параметров большинства типовых электро-радиоэлемен-тов (резисторов, конденсаторов, катушек индуктивности, операционных усилителей и др.) регламентированы техническими условиями или стандартами. Для активных элементов разработчик на основе опыта и интуиции обычно может задать возможные варианты используемых элементов, а следовательно, и номинальные значения их параметров. В тех же довольно редких случаях, когда имеется возможность выбирать номинальные значения параметров из непрерывного диапазона, можно
использовать процедуру дискретизации. Таким образом, выборочное множество номиналов при решении задач ОПС является дискретным.
В простейшем случае поиск решения сводится к полному перебору элементов множества возможных
глен
значений номиналов внутренних параметров ДноМ ,
в каждой точке хв1Н0М которого необходимо найти
значение целевой функции.
Учитывая цикличность процедуры вычисления целевой функции, несложно применить параллелизм по данным.
Пусть процесс решения можно осуществить с использованием к процессоров. Множество ДНЯ„М разбивается на непересекающиеся подмножества к
^тм= и^яомЛ ' ПРИ этом каждому 1-му процессору ¡=1
назначается своё подмножество исходных дан-
ных. Таким образом, каждый 1-ый процессор осуществляет расчет целевой функции для всех эле-
тор номиналов параметров для своей подобласти. Результаты передаются главному процессору, который производит выбор оптимального вектора номиналов по всей области Д'НМ/ • Такое разбиение
всего множества поиска на непересекающиеся подмножества составляют суть блока диспетчеризации параллельного распределенного процесса.
Для симметричного вычислительного кластера, состоящего из к равных по мощности вычислительных узлов, общее число точек разбивается на равные количества для каждого из подчиненных процессов. В случае несимметричного кластера необходимо провести предварительную процедуру оценки трудоемкости типовой процедуры метода оптимизации, в качестве которой выступает однократное моделирование работы системы, проверка условий работоспособности и вычисление значений критерия оптимальности. При этом вычислительная нагрузка делится между компонентами комплекса пропорционально их производительности.
По окончании работы программы диспетчеризации вычислительного процесса каждому вычислительному компоненту комплекса рассылаются границы
чании счета главный процессор получает результаты от подчиненных и проводит формирование окончательных результатов дискретной оптимизации на всем множестве Д^ж . Работу предлагаемого
параллельного алгоритма проиллюстрируем на следующем примере.
Пример. Пусть задана целевая функция
/ = 2 - (х - а) • е-('-с) - (у - Ь) • е"(х-<0 ,
которой даны в таблице 1.
входные параметры
Таблица 1
Входные параметры функции f
ментов множества Д^,,,- и находит оптимальный век
его подмножества Д ■ исходных данных. По окон
Параметр X У z а ь с d
Интервал допустимых значений 0-10 2-8 5-15 0-3 0-4 0-3 0-4
Шаг 0,01 0,01 0,01 0,01 0,01 0,01 0,01
Требуется найти максимум функции f с погрешностью вычислений £= 0.00001 . По условию задачи мы имеем 864-1016 наборов параметров, для которых необходимо высчитать значение функции и проверить выполнимость заданных условий. Такое большое количество операций требует непомерных временных затрат. Следовательно, мы сталкиваемся с потребностью оптимизации алгоритма для сокращения времени вычисления.
Воспользуемся таким методом оптимизации, как метод полного перебора. Покроем рассматриваемую область функции сеткой с шагом 0.5 для каждого параметра, а затем определим значения функции в ее узлах. Сравнивая полученные числа между собой, найдем среди них наибольшее и примем его
приближенно за наибольшее значение функции для всей области. Применяя данный метод, мы покрыли область сеткой 20х12х 20х 6х8х 6x8 и тем самым сократили количество наборов параметров с 86400000 40" до 11059200 (в 780 млрд. раз) . Время расчета при этом составило 1082,8 сек. (~18мин).
Максимальное значение функции, равное 9.9, было достигнуто в трех точках:
См = [6.5,1.5,10,1,1.5,0,3]
= [7,5,10,1.5,2,0.5,3.5] = [7.5,5.5,10,2,2.5,1,4] .
х
х
Для еще большего уменьшения времени вычисления разобьем программу на несколько процессов. Пусть количество процессов - п. Тогда разобьем значения параметра х на п частей, к каждой из которых применим алгоритм вычисления значений функции f и поиска ее максимального значения.
Для распараллеливания данных воспользуемся: библиотекой «multiprocessing» и функцией «map»
[8], которая применяет другую функцию к каждому элементу заданной последовательности (управляет итерацией последовательности, применяет требуемую функцию, и сохраняет все получившиеся результаты в список). Результаты работы алгоритма для разного количества процессов представлены на Рисунке 1.
Рисунок 1 - Время работы (сек.) линейного и параллельного алгоритма для сетки 11 059 200 элементов на 4х-ядерном компьютере с количеством параллельных потоков от 2 до 8
Из графика видно, что лучшие результаты дало распараллеливание на 8 процессов - 283 сек, что в 3,82 раза быстрее линейных расчетов (1083 сек) .
Сравним результаты и время вычислений для сеток разной плотности. Для получения более крупного разбиения, покроем область сеткой 11х7х11х5х4х5х4 (с шагом 1.0 для каждого элемента). Такая сетка сократит количество комбинаций параметров с 86400000-1011 до 338 800 (в 25
Результаты и время работы параллель
450 млрд. раз). Время вычислений для одного процесса при таком разбиении составляет 16 секунд, а для восьми - 4.8 секунды.
Сравним данные также и с более детальной сеткой 25 х 24 х 25 х 20х 20х 20х 20 (с шагами 0.4, 0.25, 0.4, 0.15, 0.2, 0.15, 0.2 соответственно для каждого входного параметра). С таким разбиением мы имеем 2 400 000 000 наборов параметров, вычисления для которых заняли более 12 часов при распараллеливании на 8 процессов. Результаты работы алгоритма для сеток разной плотности представлены в Таблице 2.
Таблица 2
ного алгоритма на 4-х ядерном компьютере
Кол-во элементов сетки Количество процессов fmax Кол-во точ. Ускор.
1 2 3 4 5 6 7 8
338 800 16 8 со 6 5,5 5,1 4,7 4,7 со 4 9 со 9 5 3,34
11 059 800 1083 584 375 356 340 330 293 283 9,9 3 3,82
2.4-109 - - - - - - - 46350 9,9 160
Заключение
Высокая вычислительная трудоемкость решения оптимизационных задач со стохастическим критерием заставляет искать способы достаточно быстрого получения желаемых результатов. На данный момент разработано не малое количество методов и алгоритмов, в известной мере убыстряющих процедуру поиска оптимальных решений. Наиболее радикальным направлением, сокращающим трудоемкость решения сложных вычислительных задач, стала идея распараллеливания процессов поиска результата. Благодаря развитию параллельных вычислений стала доступней программная реализация метода сеток (сканирования), который, при достаточно густом расположении точек, всегда гарантирует отыскание экстремума.
Сравнительный анализ параллельного алгоритма метода сканирования показал, что:
экономия времени вычисления за счет использования более крупной сетки не всегда дает удовлетворительные результаты.
ускорение возрастает с ростом количества комбинаций параметров.
благодаря использованию параллельных вычислений, удалось сократить время поиска экстремума целевой функции в 3.82 раза (для сетки на 11,06 млн. элементов) на 4х-ядерном компьютере.
использование метода сканирования в задачах параметрического синтеза позволяет разбивать сетку на ячейки с заданными размерами, что дает возможность отслеживать изменение точности вычислений.
ЛИТЕРАТУРА
1. Абрамов О.В. Параметрический синтез стохастических систем с учетом требований надежности. -М.: Наука. 1992
2. Abramov O.V., Katueva Y.V, Suponya A.A., Lazarev G.I. Computer aided design system for optimal parametric synthesis // Proc. of the 3-rd Asian Control Conference (ASCC'2000), Shanhai, 2000. -P. 2047-2050.
3. Абрамов О.В., Катуева Я.В., Супоня А.А, Эффективные методы параметрической оптимизации по стохастическим критериям //Труды международной конференции по проблемам управления. - М.: Фонд «Проблемы управления», 1992. - Т.2. - С.130-132.
4. Абрамов О.В., Катуева Я.В. Параллельные алгоритмы анализа и оптимизации параметрической надежности.// Надежность. - №4. - 2005. - С.19-26.
5. Васильев Б.В., Козлов Б.А., Ткаченко Л.Г. Надежность и эффективность радиоэлектронных устройств. - М.: Советское радио, 1964.
6. Абрамов О.В. Об использовании параллельных вычислений в задачах оптимального параметрического синтеза // Труды международного симпозиума «Надежность и качество». - Пенза.: ПГУ, 2009. С. 4952.
7. Назаров Д.А. Алгоритм построения области работоспособности с детализированным квантованием области поиска // Надежность и качество: труды международного симпозиума: в 2-х т. / под ред. Н.К. Юркова. - Пенза: Информационно-издательский центр ПензГУ. - 2009. - 2 т. - С. 18-22.
8. David M. Beazley, "Python Essential Reference". 2009. Pearson Education, Inc.
УДК 681.5.015.23 Назаров Д.А.
ФГБУН Институт автоматики и процессов управления Дальневосточного отделения Российской академии наук, Владивосток, Россия
ПАРАЛЛЕЛЬНЫЙ АЛГОРИТМ ПОСТРОЕНИЯ ВЛОЖЕННЫХ В ОБЛАСТЬ РАБОТОСПОСОБНОСТИ ВЫПУКЛЫХ ФИГУР
Рассматривается проблема анализа областей работоспособности аналоговых систем. Под областью работоспособности понимается ограниченная часть пространства параметров элементов, в каждой точке, которой выходные характеристики системы соответствуют заданным требованиям. Используется дискретная модель представления области работоспособности. На основе этой модели рассматриваются алгоритмы построения вложенных фигур для решения задач повышения параметрической надежности аналоговых систем. Предложены методы их параллельной реализации с целью сокращения времени решения этих задач.
Ключевые слова:
НАДЕЖНОСТЬ, ПАРАМЕТРИЧЕСКИЙ СИНТЕЗ, ОБЛАСТЬ РАБОТОСПОСОБНОСТИ, ПАРАЛЛЕЛЬНЫЙ АЛГОРИТМ
Введение
Задача построения областей работоспособности (ОР) возникает на этапе проектирования технических систем. ОР аналоговой системы представляет собой множество значений параметров составляющих ее элементов, при которых выходные характеристики это системы удовлетворяют заданным требованиям. Исследование этой области позволяет учитывать параметрические возмущения и постепенный дрейф параметров при выборе номинальных значений. Особую важность эта задача приобретает при проектировании систем ответственного назначения, уникальных технических систем, к которым не всегда применим вероятностно-статистический аппарат [1, 2].
Конфигурация ОР часто неизвестна, а получение ее характеристик сопряжено с рядом трудностей, как правило, связанных с вычислительной сложностью и высокой размерностью пространства параметров. Нахождение характеристик ОР позволит избежать расчетов модели системы при решении ряда задач исследования области допустимой вариации параметров. В работе используется дискретная модель представления многомерной ОР, основанная на аппроксимации области дискретным множеством элементарных гиперпараллелепипедов, заданных узлами регулярной сетки и методе многомерного зондирования. Использование такой аппроксимации многомерной области позволяет исследовать внутренность области, а также выполнять построение вложенных фигур, реализующих критерии максимальной удаленности от границы области [3, 4].
В работах [3, 5] описаны алгоритмы анализа ОР, являющиеся последовательными. Хотя исследование ОР не требует расчетов модели, сами алгоритмы имеют переборный характер и имеют экспоненциальную сложность, зависящую от размерности пространства. Применение технологии параллельных вычислений позволит сократить время выполнения этих задач даже на современных персональных компьютерах, распределив вычислительный процесс по нескольким доступным ядрам процессора.
В данной работе рассматриваются алгоритмы анализа ОР и предлагаются их параллельные аналоги. Поскольку эти алгоритмы основаны на дискретном представлении ОР, то перед их рассмотрением целесообразно привести описание модели и метода такого представления области.
Дискретное представление области работоспособности
Объектом исследования является модель аналоговой технической системы, связывающая свои выходные характеристики, заданные ш-вектором
У = (У^ Уг,..., Ут) (1)
с параметрами ее элементов (внутренние параметры), заданными п-вектором:
х = (х1, х2,..., хп) (2)
в виде зависимостей:
s j max '
(6)
yj = yj(x),Vj = 1,2,...,m .
(3)
На выходные и внутренние параметры налагаются ограничения. Внутренние параметры ограничиваются производственными допусками:
xi min < X < X max' Vi = 1Д-, n f (4)
а выходные параметры — требованиями к выходным характеристикам системы, как правило, заданным в техническом задании:
yj min < yj < yj max' Vj = Ъ2,..., m • (5)
Ограничения (5) называются условиями работоспособности и определяют критерий корректного функционирования системы. Нарушение какого-либо из неравенств (5) квалифицируется как отказ. К такого рода отказам приводят обычно изменения внутренних параметров вследствие их дрейфа под влиянием факторов внешней среды (влажность, температура, излучения) и внутренних процессов износа и старения.
Задача параметрического синтеза [6] состоит в выборе таких значений номинальных внутренних параметров, при которых вероятность безотказной работы в течение заданного интервала времени T будет максимальной:
Хnom = argmax Р(yj min < yj (X(X„„„, t)) < У j
Vj = 1,2,...,m,t e [0,T]) где X(xnom, t) — случайный процесс изменения внутренних параметров во времени.
Задачу параметрического синтеза (6) можно переформулировать следующим образом:
Xnom = argmax Р(Х (xnom, t) e Dx, t e[0,T]) f (7)
где D — область в пространстве внутренних параметров, в каждой точке которой выходные характеристики (1) удовлетворяют требованиям (5). Эта область называется областью работоспособности:
Dx = {XeRn :yj. <yj(x)<yjm,Vj = 1,2,...,m} . (8)
Замена проверки соответствия выходных характеристик заданным требованиям для каждой случайной реализации вектора параметров на проверку принадлежности этого вектора ОР позволяет избавиться от многократных расчетов модели (3) при получении статистических оценок. Помимо этого, получение характеристик ОР открывает дополнительные возможности геометрического исследования области допустимой вариации параметров и применения детерминированных критериев выбора номинальных значений параметров.
Основную трудность определения характеристик ОР составляют размерность пространства параметров и отсутствие явных аналитических выражений модели (3) для большинства сложных систем ввиду того, что они часто задаются алгоритмически или в виде имитационной модели, вычисляющей выходные характеристики для заданного набора внутренних параметров.
В данной работе рассматривается способ построения ОР на основе аппроксимации многомерной фигуры дискретным множеством элементарных гипер-