где ci – коэффициенты полинома замкнутой системы |s·E-B+N·R|, (s – оператор Лапласа); di – коэффициенты полинома (4):
(s−S1*) (s−S2*) (s−S3*) (s−Sm* ) (s−Sm+1) (s−Sn ), |
(4) |
Sj,Sk—корни характеристического полинома; q—коэффициент, определяющий степень(глубину) робастности. Система (3) содержит n уравнений и n+(n-m) неизвестных. Поскольку m<n, то 2n-m>n, то есть число неизвестных больше числа уравнений, и появляется возможность выполнить наложенные ограничения-неравенства
Sj < b Sk*,k =1,m; j = m+1,n;k ri > q ai−1,
не единственным образом, поэтому необходимо ввести некоторый критерий решения задачи (3). Воспользуемся критерием:
4 |
|
F(r1,r2,r3,r4) = ∑(ri − 4 r1 r2 r3 r4 )2 → min, |
(5) |
i=1
обеспечивающим близкие значения коэффициентов регулятора.
Таким образом, решение задачи стабилизации и построение робастного регулятора удалось свести к задаче математического программирования.
Проверим работоспособность метода на примере неустойчивого объекта четвертого порядка со следующими матрицами: B, N и A:
0 |
1 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
, A =[1 0 0 0]. |
(6) |
B = 0 |
0 |
1 |
0 |
|
, N = 0 |
||
|
0 |
0 |
1 |
|
|
|
|
0 |
|
0 |
|
|
|||
0 −1 −1 |
−3 |
1 |
|
|
|||
Характеристический полином объекта в изображении по Лапласу: s·(s3+3·s2+s+1), или в матричном виде: |(s·E)-B|, где Е-единичная матрица.
Введём в систему регулятор, тогда характеристический полином PS(s) системы будет получит вид:
PS(s)=|(s·E)-B+N·R|=s4+(r4+3)·s3+(r3+1)·s2+(r2+1)·s+r1.
Зададимся желаемым полиномом, в котором нулевой корень объекта будет заменён на желаемое значение, обеспечивающее устойчивость системы. Данный полином содержит один неизвестный корень:
PG(s)=(s+5)·(s+7)·(s+10)·(s-S4).
Приравняем коэффициенты при s полиномовPS(s) и PG(s)
s4+ (r4+3)·s3+(r3+1)·s2+(r2+1)·s+r1=s4+(22-S4) ·s3+ +(155-22·S4) ·s2+(350-155·S4)·s-350·S4.
В результате cистема уравнений (3) с критерием (5) примет вид:
130
|
|
|
|
|
|
|
|
4 |
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
F(r1,r2,r3,r4) = ∑(ri − 4 r1 r2 r3 r4 ) |
|
→ min; |
||||||||||||
|
|
|
|
|
|
|
|
i=1 |
|
|
|
|
|
|
r |
|
= −350 S |
4 |
; |
|
|
|
|
|
|
|
|||
1 |
|
|
|
|
|
|
|
|
|
|
|
|||
r2 +1= 350−155 S4; |
|
|
||||||||||||
r |
|
+1=155−22 |
S |
4 |
; |
|
|
|
|
|||||
3 |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(7) |
r4 +3= 22−S4; |
|
|
|
|
|
|
||||||||
k |
|
r |
≥10 a |
|
; |
|
|
|
|
|
|
|
||
|
|
|
1 |
0 |
|
|
|
|
|
|
|
|
|
|
k |
|
r |
≥10 a |
|
; |
|
|
|
|
|
|
|
||
|
|
|
2 |
1 |
|
|
|
|
|
|
|
|
|
|
k r3 ≥10 a2; |
|
|
|
|
|
|
|
|||||||
k |
|
r |
≥10 a |
|
; |
|
|
|
|
|
|
|
||
|
|
|
4 |
3 |
|
|
|
|
|
|
|
|
|
|
S |
4 |
≤ 5 S . |
|
|
|
|
|
|
|
|
|
|
||
|
|
1 |
|
|
|
|
|
|
|
|
|
|
||
Выбрано решение системы: S4=-25, r1=8750, r2=4224, r3=704, r4=44.
Проведём анализ устойчивости систем с робастным управлением и без него с помощью построения областей устойчивости. В неробастной системе поиск коэффициентов модального регулятора производится без введения ограничений и критерия, обеспечивающего близость значений матрицы регулятора.
Построим области устойчивости робастной и неробастной системы.
Y(ω) |
Робастная система |
|
|
|
|
|
D(2) |
|
|
Неробастная |
|
|
система |
|
d(0) |
D(0) |
X(ω) |
|
d(2) |
|
Рис. Сравнение областей устойчивости робастной и неробастной систем
На рисунке обозначены: Y(ω)=Im(a1(ω)); X(ω)=Re(a1(ω)), D(i), d(i) – подоб-
ласти с числом i корней с положительной вещественной частью для робастной и неробастной систем соответственно.
Рисунок показывает расширение области устойчивости системы с робастным модальным регулятором.Полученная область позволяет сохранять устойчивость системы в большем спектре значений её параметров.
Таким образом, на примере робастной стабилизации системы автоматического регулированияпоставлена задача математического программирования с нелинейной функцией цели. Решениеэтой задачи позволило значительно расширить область устойчивости системы, а также обеспечить компактное расположение коэффициентов регулятора.
131
Литература
1. Yue X. Adaptive control for attitude coordination of leader-following rigid spacecraft systems with inertia rametepar uncertainties// Chinese ournalJ of Aeronautics. 2019. V. 32, no 3. P. 688-700.
2.Jordehi A. How to deal with uncertaintiesin electric power systems? A review// Renewable and Sustainable Energy Reviews. 2018. V. 9. P. 145-155.
3.Alsaadi F. Robust stability of uncertain fractional order singular systems with neutral and time-varying delays// Neurocomputing. 2020.
4.Wong H. Robust control ofthe adaptive immune system. Seminars in Immunology. 2018. V. 36, P. 17-27.
ФГБОУ ВО «Воронежский государственный технический университет»
УДК 004.424.5
С. В. Скворцов, Т. А. Фетисова
АНАЛИЗ ЭФФЕКТИВНОСТИ МНОГОПОТОЧНОГО ГЕНЕТИЧЕСКОГО АЛГОРИТМА С УЧЕТОМ ОСОБЕННОСТЕЙ РЕАЛИЗАЦИИ ОПЕРАТОРА СЕЛЕКЦИИ
Впоследнее время в связи с быстрым развитием вычислительной техники
иеё возрастающими мощностями, становится актуальным вопрос об их эффективном использовании. Для этого активно применяют механизмы распараллеливания процессов в многомерных системах. Эволюционные алгоритмы, а именно генетические алгоритмы (ГА), широко применяемые для решения задач поиска и оптимизации, реализуют итеративное обучение популяций, что может быть принято за основу организации многопоточности [1]. При этом ГА формируют подпопуляции пробных решений, управляемых с помощью операторов генетического алгоритма (селекция, кроссинговер, мутация, миграция).
Мощность подобных эволюционных алгоритмов усиливается с применением параллельных вычислений [2]. Они основаны на делении популяции на несколько подпопуляций, каждая из которых обрабатывается независимо от других подпопуляций на первом (блочном) уровне параллелизма [3]. На втором (поточном) уровне параллелизма происходит вычисление значений целевой функции каждой особи [3].
Целями данной работы являются:
–модификация и исследование оператора селекции, используемого в ГА, для его эффективной реализации на платформе CUDA в виде многопоточных приложений, объединенных в один модуль/библиотеку;
132
–сравнение производительности многопоточной программы с последовательными версиями программ, которые исполняются на центральном процессоре, а также с версиями, в которых реализуются первый и второй уровни параллелизма на графическом процессоре;
–систематизация полученных экспериментальных данных.
Под селекцией в ГА понимается выбор хромосом, которые будут участвовать в генерации потомков следующей популяции. Такая процедура позволяет выбрать особи с наилучшими (наибольшими) значения функции полезности, что способствует появлению новой популяции с лучшими характеристиками. На сегодняшний день существуют разные методы селекции. В многопоточной реализации будут использованы следующие методы: колесо рулетки, турнирная селекция, ранговая селекция – они различны по своей реализации, и, в свою очередь, каждый имеет свои особенности, преимущества и недостатки.
Принцип колеса рулетки обычно считают основным методом селекции для ГА. Метод основывается на выполнении следующих шагов:
1)вычисление значения функции полезности каждой особи;
2)вычисление секторов рулетки по формуле (1)
v(chi) = ps(chi) 100% , |
(1) |
||
где |
F(chi) |
|
|
ps(chi) = |
|
(2) |
|
∑F(chi) |
, |
||
|
i |
|
|
v – вероятность выбора сектора колеса рулетки; ps – величина сектора; F – значение функции полезности особи; chi – i-ая особь;
3) рандомный выбор особей по секторам (особь повторяется тем чаще, чем больше сектор);
3)удаление повторяющихся особей;
4)переход к кроссинговеру.
Основной недостаток такого метода заключается в исключении из популяции достаточно большого количества особей с малым значением фитнесфункции, что, возможно, может привести к преждевременной сходимости.
Турнирная селекция является более востребованной при решении задач минимизации и максимизации функций, а также многокритериальной оптимизации. Данный метод разделен на четыре этапа:
1)разбиение популяции на подпопуляции (фиксированного или произвольного размера) случайным (с вероятностью меньше 1) или детерминированным (с вероятностью 1) образом;
2)вычисление значения функции полезности каждой особи в подпопуля-
ции;
3)выбор из каждой подпопуляции особи с наилучшим значением функции полезности;
4)переход к кроссинговеру.
133
Исследования турнирной селекции утверждают, что данный метод работает более эффективно, чем метод колеса рулетки.
Ранговая селекция основывается на ранжировании особей популяции по значениям их функции полезности, а именно:
1)вычисление значения функции полезности каждой особи;
2)ранжирование особей по уменьшению функции полезности;
3)определение особей, которые будут в выборке для скрещивания;
4)переход к кроссинговеру.
Главное преимущество ранговой селекции заключается в возможности ее применения при минимизации и максимизации функций.
Выбор выше представленных методов обусловлен тем, что они различны между собой, каждый в отдельности востребован и имеет свои достоинства при решении прикладных задач, а также все они поддаются распараллеливанию средствами графического процессора.
Для проведения эксперимента по оценке эффективности параллельных вариантов ГА, на платформе CUDA разработано четыре версии программы поиска глобального минимума целевой функции: последовательная реализация на ЦП; одноуровневая блочная; одноуровневая поточная и двухуровневая блочнопоточная реализация на платформе CUDA. Эксперимент проводился с использованием следующих технических средств: видеоплата NVIDIA GeForcegtx 1070, процессор IntelCorei5 6500.
Задачи эксперимента:
–сравнение скорости работы параллельных и последовательных версий программ;
–анализ полученных результатов в целом для определения рациональных режимов практического применения разработанных многопоточных приложений поиска данных.
В процессе эксперимента выполнялись измерения времени работы указанных версий программ, реализующих ГА с использованием вариантов селекции, указанных выше, одноточечного кроссинговера и случайной мутации. Исходные данные, представленные в виде одномерных массивов целых чисел, формировались случайным образом.
Результаты эксперимента, представленные в таблице 1, получены на основе следующих сходных данных: количество особей 2000-8000; количество блоков при распараллеливании: 128-512; количество потоков: 128-512; сложность целевой функции (фитнес-функции): от алгебраической функции третьей степени до трансцендентной функции с наличием нескольких тригонометрических слагаемых; варианты селекции: колесо рулетки, турнирная селекция, ранговая селекция.
134