Математическое моделирование и оптимальное управление Вестник Нижегородского университета им. Н.И. Лобачевского, 2007, № 3, с. 130-134
УДК 62-50
ПРИМЕНЕНИЕ АППАРАТА ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ В ЗАДАЧАХ ПОИСКА ОПТИМАЛЬНОЙ ПРОТИВОУДАРНОЙ АМОРТИЗАЦИИ
© 2007 г. Д.Е. Карпов
Нижегородский госуниверситет им. Н.И. Лобачевского dim_ka8 3@mail.ru
Поступила в редакцию 16.04.2007
Рассматривается задача поиска оптимальной противоударной амортизации в системах с одной степенью свободы. Основные трудности численного решения рассматриваемой задачи связаны с ее размерностью и видом оптимизируемой функции, которая в общем случае может быть нелинейной, разрывной, недифференцируемой и многоэкстремальной. Одним из подходов, позволяющим преодолевать указанные трудности, является эволюционно-генетический подход, который позволяет строить алгоритмы поиска оптимальных решений, называемые генетическими алгоритмами, на основе моделирования биологических механизмов популяционной генетики.
Введение
В современной технике широко распространены объекты, движущиеся с большими ускорениями или подвергающиеся вибрации и ударным воздействиям. В результате установленные на таких объектах приборы или механизмы испытывают большие перегрузки, снижающие точность работы приборов, а иногда и грозящие выходом их из строя. Для уменьшения перегрузок приборы и механизмы крепятся к корпусу движущегося объекта не жестко, а с помощью специальных технических устройств - амортизаторов, которые, осуществляя управляющее воздействие на защищаемый объект, снижают неблагоприятное влияние внешних факторов. Таким образом, возникает задача нахождения оптимального противоударного амортизатора. Имеется огромный опыт решения данной оптимизационной задачи, например, с помощью методов линейного программирования. Однако в данной работе предлагается применить новый подход к решению подобных задач, а именно использовать для поиска оптимальной противоударной амортизации генетические алгоритмы.
Теоретическая часть
Математическая модель взаимодействия удар-основание-амортизатор-тело. Рассмотрим механическую систему, представляющую собой амортизируемое тело, связанное посредством амортизатора с прямолинейно движущимся основанием таким образом, что оно может перемещаться относительно основания в направлении его движения [1].
Рис. 1. Модель взаимодействия удар - основание -
амортизатор - тело
В качестве механических моделей амортизируемого тела и основания принимаются абсолютно твердые тела. Пусть x - координата, описывающая относительное смещение амортизируемого объекта; m и Ы - массы амортизируемого тела и основания соответственно; и -управляющая сила (характеристика амортизатора), действующая со стороны амортизатора на тело, отнесенная к его массе; v(t) - ускорение движения основания относительно неподвижной (инерциальной) системы отсчета, отнесенное к массе амортизируемого объекта. Тогда движение амортизируемого тела относительно основания описывается уравнением:
X + и = V ^) . (1)
Будем предполагать, что заданы нулевые начальные условия в момент времени t = 0:
х(0) = X(0) = 0 . (2)
Критерии качества амортизации. К реальным амортизационным устройствам, предназначенным для защиты различных технических систем от ударов, обычно предъявляется несколько требований, выполнение которых необходимо для обеспечения нормальных условий эксплуатации объекта. Налагаемые требования называ-
ются критериями качества амортизации и математически выражаются в описании множества допустимых характеристик амортизатора.
Примем за критерии качества амортизации следующие функционалы:
Ji(w) = max | x(t)| (3)
fe[0,T ]
J2(u) = max | u(t)| (4)
te[0,T ]
Величина Ji выражает максимальное отклонения амортизируемого объекта относительно основания в результате реакции на удар, а критерий J2 выражает максимум модуля силы, действующей на амортизируемое тело.
Анализ предельных возможностей. Анализ предельных возможностей противоударной амортизации состоит в определении минимальных значений отдельных критериев качества при ограничениях на остальные критерии. Как правило, ограничения налагаются на критерии, для которых известен диапазон значений, гарантирующих функциональную целостность защищаемого технического объекта или выживаемость человека в критической ситуации. Минимизируемым функционалом часто служит геометрическая характеристика реакции системы на удар, например, максимальное смещение защищаемого тела относительно основания, подвергшегося ударному воздействию. Минимум критерия находится в результате решения задачи оптимального управления, в которой сила взаимодействия между основанием и объектом служит управляющей переменной.
Самым простым и универсальным способом задания силы взаимодействия между основанием и объектом u(t) является ступенчатая функция:
при условии
J2(u) = max | u(t) |< u*
(7)
u(t) =
u
u
0 < t < t1 ; ti < t < t2
(5)
u
tn-1 < t < tn
где 0< ti < t2 < ... < tn _ разбиение временного отрезка, a ui _ константа из отрезка [ti_i, ti] или кратко это можно записать в виде u = (ui, u2,
• • • , un) •
Таким образом, оптимизационная задача формулируется следующим образом: для системы, описываемой уравнением (1) с начальными условиями (2) требуется найти кусочнонепрерывную характеристику u0(t) вида (5) такую, что
J1 (u0) = min J1 (u) = min max | x(t) | (6)
udJ udJ ie[0,T]
tє[0,Г ]
*
где и - заданное положительное число.
Такая задача была впервые поставлена в [2] и названа простейшей задачей оптимальной амортизации.
С математической точки зрения оптимизационная задача является задачей нахождения программного оптимального управления. Методы решения таких задач оптимального управления описаны во многих учебниках и монографиях, посвященных вопросам вариационного исчисления и теории оптимальных процессов. В данной работе для решения поставленной задачи предлагается использовать генетические алгоритмы.
Главные отличия генетических алгоритмов от обычных оптимизационных и поисковых процедур состоят в том, что:
— генетический алгоритм не требует производных и оперирует с любым видом целевой функции и с различными ограничениями;
— эргономичность эволюционных операторов делает генетический алгоритм очень эффективным при решении задач глобального поиска.
Краткое введение в генетические алгоритмы. Поиск оптимального решения в генетических алгоритмах осуществляется путем прямого манипулирования с совокупностью из нескольких допустимых решений, образующих популяцию, каждое из которых закодировано в двоичном коде.
Генетические алгоритмы работают с популяцией (совокупностью особей). Каждая особь представляет возможное решение данной проблемы и оценивается мерой ее «приспособленности» согласно тому, насколько «хорошо» соответствующее ей решение задачи. В природе это эквивалентно оценке эффективности организма при конкуренции за ресурсы. Наиболее приспособленные особи получают возможность «воспроизводить» потомство, а наименее приспособленные с меньшей вероятностью смогут воспроизвести потомков, так что те свойства, которыми они обладали, будут постепенно исчезать из популяции в процессе эволюции. Иногда происходят мутации, или спонтанные изменения в генах.
Таким образом, из поколения в поколение, хорошие характеристики распространяются по всей популяции. Скрещивание наиболее приспособленных особей приводит к тому, что исследуются наиболее перспективные участки пространства поиска. В конечном итоге попу-
ляция будет сходиться к оптимальному решению задачи [3].
Чтобы применить генетический алгоритм для отыскания оптимальной кусочно-непрерывной функции и(иь и2, .., ип), и, е [а,, Ь], надо
осуществить переход из евклидова пространства переменных щ, и2, . , ип в пространство представлений (бинарных строк). Это осуществляется путем дискретизации пространства параметров функции, для которой необходимо найти оптимальное решение.
Переменные щ, и2, . , ип кодируются бинарной строкой 5. Чтобы провести дискретизацию пространства и закодировать каждое возможное решение строкой 5, нанесем равномерную сетку на пространство переменных щ, и2, . , ип следующим образом: разобьем каждый отрезок [аг-, Ь], / = 1, ..., п на 2е отрезков одинаковой длины. В результате этого каждый отрезок [а,, Ьг] будет покрыт сеткой 5Ь состоящей из 2е+1 узла с шагом к, = (Ь, - аг)/2е , / = 1, ., п.
Используя двоичный алфавит {0, 1} каждому узлу сетки я, можно присвоить уникальный бинарный код длины е. Тогда символьную запись у-го узла по /-ой координатной оси в двоичном коде можно представить в виде следующей бинарной конструкции
вв2... в.
Проведя дискретизацию по всем координатным осям, получим пространственную решетку £ с (2е + 1)п узлом, где каждый узел может быть представлен в виде линейной последовательности таких записей (хромосом).
Таким образом, чтобы построить символьную модель задачи оптимизации необходимо представить множество узлов пространственной решетки £ с помощью бинарных последовательностей (хромосом).
Идея генетического алгоритма состоит в том, чтобы манипулируя имеющейся совокупностью бинарных представлений, с помощью ряда генетических операторов, таких как кроссовер, мутация и отбор, получать новые строки, т.е. перемещаться в новые прямоугольники, на которые разбита область поиска. Получив бинарную комбинацию для нового решения, случайным образом формируется вектор со значениями из соответствующего прямоугольника.
Таким образом, каждое решение генетического алгоритма будет иметь следующую структуру.
1. Точка в пространстве поиска (фенотип):
и(иь и2, .., ип).
2. Бинарная строка 5 фиксированной длины, однозначно идентифицирующая прямоугольник разбиения пространства поиска (генотип):
5 = (в1, в2,...,в1, А2,А2,..., в2,.,вп, в ,...,Pl) е s ,
где S - пространство представлений (бинарных строк длины n 0).
3. Скалярная величина соответствующая максимизируемой функции в точке u(ub u2, ..., un) (приспособленность).
В терминологии, принятой в теории генетических алгоритмов, такую структуру принято называть особью, совокупность особей - популяцией.
В генетических алгоритмах существуют два вида операторов:
— генетические: кроссовер (crossover) и мутация (mutation);
— эволюционные: отбор (selection).
Оператор кроссовер работает одновременно
с двумя хромосомами и генерирует потомство комбинацией участков хромосом. Простым способом проведения кроссовера является выбор случайным образом точки разрыва и генерация потомства комбинацией сегмента хромосомы родителя слева от точки разрыва с сегментом хромосомы другого родителя справа от точки разрыва.
Мутация порождает стохастическое изменение части хромосом. Каждый ген хромосомы, которая подвергается мутации, с вероятностью pm (обычно очень маленькой) меняется на другой ген.
Исходная популяция, потомки, полученные в результате кроссовера, и мутанты объединяются в репродукционное множество, из которого и осуществляется отбор особей в новую популяцию. Отбор производится в соответствии со значениями их функции приспособленности. Более приспособленные особи имеют более высокую вероятность быть отобранными в новую популяцию. После нескольких поколений алгоритм сходится к лучшей особи, которая и представляет собой оптимальное решение задачи.
Более подробно теорию генетических алгоритмов можно найти в монографиях [3-5].
Экспериментальная часть
Оптимальная противоударная амортизация в задаче с полусинусным внешним воздействием. Рассмотрим задачу оптимальной амортизации. Эта задача формулируется для системы с одной степенью свободы, показанной на рис. 2.
î v(t)
V(t ) =
П
a • sin—t, если 0 < t < T* ;
T
где Т* - продолжительность колебаний, а общий вид ограничения на критерий 02(и) определяется как
32(и)<и* , (15)
где и* - заданное положительное число. Однако выражения (14) и (15) могут быть легко сведены к виду (12) и (13) соответственно введением в выражения (8), (14) и (15) новых переменных
.2
Рис. 2. Защищаемый объект, соединенный с прямолинейно движущимся основанием
Движение системы описывается следующим уравнением:
X + U = V (t) (8)
с нулевыми начальными условиями в момент времени t = 0:
X (0) = X (0) = 0. (9)
В качестве критериев качества амортизации примем максимальное смещение защищаемого объекта относительно основания:
Ji(m) = max | x(t)| (10)
te[0,T ]
и максимальную силу, действующую на объект:
J2(u) = max | u(t)|, (11)
te[0,T ]
где Т - продолжительность временного интервала, в котором рассматривается движение системы.
Будем предполагать, что внешнее воздействие v(t) имеет вид полусинуса
(а • sin t, если 0 < t < п ;
V(t) = Ь <,<т (12)
[0, если п < t < t ,
где а - заданное положительное число (амплитуда колебаний) и Т - продолжительность внешнего воздействия.
Таким образом, задача поиска оптимальной противоударной амортизации для рассматриваемой системы формулируется следующим образом: требуется найти оптимальное управление u0(t) такое, что
•Л(Ч)) = min{J1(u)| J2(u) <1}. (13)
ueU
Это частный случай более общей задачи, в которой общий вид полусинусного колебания следующий:
u*T*
2
a
и*
П2
u*T*
J2
и*
Аналитическое решение. Для того чтобы применить генетический алгоритм для решения рассматриваемой задачи, необходимо получить аналитическое решение уравнения (8) при заданном внешнем воздействии (12), т.е. однозначно получить целевую функцию, теоретически достижимый минимум которой и требуется найти.
Для этого временной интервал [0, T] разбивается на n отрезков, длина каждого из которых равна At = T/n, тогда ui - i-ая компонента вектора управлений u=(ui, u2, ... , un)T, i = 1...n и решение уравнения (8) имеет следующий вид:
/ \ 1 2 a (t - sm t ) - 2 uit + t x
x(t ) =
і—1 1 і—1 2
xT tj (—j+1 — —j)—- Z tj x j=1 2 j=1
x (uj+1— uj )ti—1 <t < ti, t <n;
12
— an------uit +
2i
(17)
+1
i—1
T tj (—j+1 — Uj ) + 2a
j=1
(14)
0,
если T*
T < t < T
1 i—1 2
—2 T tj (uj+1— uj),
2 j =1
ti—1 <t < ti,t >n.
Результаты и их обсуждение
Задача поиска оптимальной противоударной амортизации вида (13) решена для различных значений параметров а и п, где п - число подин-тервалов, на которые разбит интервал времени
[0, Т].
x
Таблица
Численные результаты
Параметр а Критерий J1 при n=25 Критерий J1 при n=50 Критерий J1 при n=100 Критерий J1 найден аналитически
1,2 0,02715 0,03581 0,08654 0,0258
1,35 0,10208 0,12492 0,17767 0,0902
1,85 0,91550 1,02048 1,31834 1,032
Результаты вычислений представлены в таблице для а = 1,2, а = 135 и а = 185. Во всех трех случаях параметр Т фиксирован и равен 32. Для каждого параметра а задача решена при различных значениях параметра п, а именно при п = 25, п = 50 и п = 100.
Результаты, полученные с применением традиционных методов поиска оптимального управления, а также решение задачи (13), полученное аналитическим способом, можно найти в монографии [6].
Анализ полученных результатов показывает, что в большинстве случаях с увеличением числа подинтервалов разбиения временного отрезка [0, Т] значение минимизируемого критерия J1 значительно хуже данного критерия, полученного аналитически. Очевидно, что при больших п генетический алгоритм требует более осознанного выбора применяемых операторов и параметров самого алгоритма, что может стать отдельной темой для исследования.
Данная задача рассматривалась как тестовая (поскольку известно ее аналитическое решение), на которой проверялся сам факт возможного применения генетических алгоритмов при решении подобных задач поиска оптимального управления. Полученные результаты показали вполне оправданную целесообразность применения генетических алгоритмов в решении подобных задач.
Г лавной целью дальнейшей работы является применение аппарата генетических алгоритмов в задачах, которые по тем или иным причинам (а чаще всего это нелинейность критериев качества, определяющих ограничения на фазовые и управляющие переменные) либо затруднительно, либо вообще невозможно решить с помощью традиционных методов поиска оптимального управления.
Список литературы
1. Болотник, Н.Н. Оптимизация амортизационных систем / Н.Н. Болотник. - М.: Наука, 1983. -257 с.
2. Гурецкий, В.В. Об одной задаче оптимального управления / В.В. Гурецкий // Изв. АН СССР. Механика. - 1965. - № 1. - С. 159-162.
3. Батищев, Д.И. Генетические алгоритмы решения экстремальных задач / Д.И. Батищев. - Н. Новгород: Изд-во Нижегородского университета, 1995. -69 с.
4. Goldberg, D.E. Genetic Algorithms in Search, Optimization, and Machine learning / D.E. Goldberg. -Addison-Wesley, 1989. - 890 p.
5. Mitchell, M. An introduction to Genetic Algorithm / M. Mitchell. - MIT Press, 1996. - 162 p.
6. Balandin, D.V. Optimal Protection from Impact, Shock and Vibration / D.V. Balandin, N.N. Bolotnik, W.D. Pilkey. - Amsterdam: Gordon and Breach Science Publishers, 2001. - 436 p.
USING GENETIC ALGORITHMS FOR SOLVING OPTIMIZATION PROBLEMS OF SEARCHING FOR OPTIMAL SHOCK ISOLATION
D.E. Karpov
This paper presents the problem of searching for optimal shock isolation in single-degree-of-freedom systems. The major obstacles to solving this problem are its dimension and the form of the optimized function that, in general, can be nonlinear, discontinuous, nondifferentiable, and nonmonotonic. Genetic-algorithm approach is one of the techniques to overcome these obstacles and, based on modeling biological population-genetics mechanisms, to develop the so-called genetic algorithms for searching for optimal solutions.