формат doc, размер файла 570 kb

advertisement
УДК 681.3 + 622.531
ПРОГРАММА ОПТИМИЗАЦИИ ПАРАМЕТРОВ
ГИДРАВЛИЧЕСКИХ УДАРНЫХ СИСТЕМ
Городилов Л.В., Вагин Д.В.*
*
Институт горного дела СО РАН, г. Новосибирск, Россия
Новосибирский государственный технический университет, г. Новосибирск, Россия
АННОТАЦИЯ: Приведена программная реализация и сравнение нескольких методов оптимиза-
ции применительно к расчету гидравлических ударных систем в безразмерном пространстве основных критериев подобия.
ВВЕДЕНИЕ
При исследовании характеристик рабочих циклов гидравлических ударных систем
даже при существенном упрощении расчетной схемы и переходе к безразмерным переменным количество входных параметров остается достаточно большим, чтобы произвести
анализ и выбор их оптимальных (в этом случае хотя бы ориентировочных) качественных
и количественных величин. Опыт таких исследований [1, 2] показал, что в данном случае
достаточно полно удается проанализировать поведение выходных характеристик лишь в
пространстве основных критериев подобия (без которых теряется физическая сущность
процесса). Введение в расчетные схемы дополнительных факторов, элементов и устройств
существенно усложняют картину, в этом случае реально возможно рассмотрение их влияние в отдельных сечениях пространства основных критериев подобия и, таким образом,
составление качественного представления о поведении.
Решение же задачи выбора оптимальных количественных параметров системы таким
способом представляется проблематичным. Наиболее разумным в этой ситуации является
разработка и использование программы оптимизации, которая позволит для существующих расчетных схем и методов производить поиск минимума заданных целевых функций
с ограничениями в многомерном пространстве входных параметров. Специфика задачи
(численное решение дифференциальных уравнений; применение метода припасовывания;
автоколебательный характер процесса) вызывает необходимость проверки и тестирования
методов оптимизации, выбора наиболее подходящего из них или их комбинации.
ПОСТАНОВКА ЗАДАЧИ
Тестирование алгоритмов оптимизации производили на примере автоколебательных
гидравлических ударных систем двойного и прямого действия, математическое описание
которых [1, 2] представлено в безразмерном виде и полностью определяется безразмерными параметрами – критериями подобия:  0 – отношением «эффективных площадей»
Работа выполнена при финансовой поддержке гранта научной школы НШ-3803.2008.05.
82
бойка со сторон камер обратного и прямого хода;  1 – величиной, пропорциональной отношению энергии аккумулятора к энергии бойка при заданных параметрах источника
расхода; x3 , x1 и x2 – соответственно, величиной предварительного натяга пружины
(только для системы прямого действия), координатой бойка при обратном ходе, в которой
происходит переключения распределителя в позицию «прямой ход», и при прямом ходе –
в позицию «обратный ход»; R – коэффициентом восстановления скорости бойка при взаимодействии с ограничителем; S f – величиной трения скольжения; r3 и S C – параметрами, характеризующими гидравлические сопротивления в ветвях системы, ведущих к камерам ударного устройства.
Качество конкретной конструктивной схемы автоколебательной гидравлической
ударной системы определяется интегральными характеристиками предельных циклов
*
(предударной скоростью v I* , временем цикла t C* , размахом колебаний xmax
, энергией удара E * , мощностью N * и КПД  * [1, 2]), которые по отдельности или в сумме (с весовыми
коэффициентами) могут использоваться как целевые функции.
Основная часть расчетов была проведена в плоскостях  01 многомерного пространства безразмерных критериев подобия, остальные параметры считали постоянными величинами. Такой подход оказался удобным на начальном этапе отработки алгоритмов, так
как позволил визуально проследить траектории поиска и сравнить их с информацией по
целевым функциям, полученным ранее [1, 2]. Количество варьируемых в численных экспериментах параметров было равно трем:
(1)
z1  σ 0 , z 2   1 , z 3  x1 .
Поиск минимума производили для следующих целевых функций:
f1   * , f 2  (vI* ) 2 ,
(2)
в пространстве параметров (1), ограниченном допустимыми значениями давления в системе p min и p max , соответственно 0.005 и 0.100.
Расчетная схема, порядок интегрирования дифференциальных уравнений и математические модели систем, описаны, соответственно, в [3] и [1, 2], там же можно найти результаты численных исследований поведения выходных характеристик, представленные в
виде номограмм изолиний в сечениях  0 1 пространства параметров (1). Последний факт
позволил обоснованно подойти к постановке задачи оптимизации, выбору областей поиска оптимума целевых функций и проверке результатов работы методов оптимизации.
С целью проверки пригодности и эффективности работы к решению нашего типа задач тестированию были подвергнуты следующие методы многомерного поиска [4]: прямые алгоритмы Хука и Дживса и Розенброка, алгоритмы наискорейшего спуска и сопряженных градиентов первого порядка и метод Ньютона второго порядка. Ниже приводится
краткое описание названных методов.
АЛГОРИТМ ХУКА И ДЖИВСА
Алгоритм Хука и Дживса использует априорные сведения о топологии функции на текущем шаге и включает два этапа: 1) исследующий поиск вокруг базисной точки z k ; 2)
поиск по «образцу», т.е. в направлении, выбранном для минимизации.
В качестве исходных данных задаются начальная точка поиска z 0 и шаг z 0 , после
чего начинается исследующий поиск.
83
Исследующий поиск. Делаем пробный шаг по переменной z1 , т.е. определяем точку
z10


 z10 и вычисляем значение функции для точки z '  z10  z10 , z20 ,..., zn0 . Если значение
функции в данной точке больше, чем значение функции f  z 0  , то делаем пробный шаг по
этой же переменной, но в противоположном направлении. Если значение функции в точке
z ''   z10  z10 , z20 ,..., zn0  также больше, чем f  z 0  , то оставляем точку z10 без изменений.
Иначе заменяем точку z 0 на z ' или на z '' в зависимости от того, где значение функции
меньше исходного. Из вновь полученной точки делаем пробные шаги по оставшимся координатам, используя тот же самый алгоритм.
В случае неудачи (не удалось сделать ни одного пробного шага) необходимо скорректировать (уменьшить) значение z и вновь перейти к исследующему поиску.
Если сделан хоть один удачный пробный шаг, то переходим к поиску по «образцу».
Поиск по «образцу». После исследующего поиска получаем точку z 01 . Величина
z 01  z 0 определяет направление, в котором функция уменьшается. Поэтому проводим минимизацию функции в указанном направлении, решая задачу


min f z 0    z 01  z 0

 .
В поиске по образцу величина шага по каждой переменной пропорциональна величине шага на этапе исследующего поиска. Если удастся сделать удачный шаг в поиске по
«образцу», то в результате находим новое приближение


z 1  z 0   0  z 01  z 0 , где


 0  arg min f z 0     z 01  z 0  .

Из точки z 1 начинаем новый исследующий поиск и т.д. до тех пор, пока не будет выполнено условие прекращения счета.
Прекращение поиска. В качестве условия прекращения счета здесь и во всех рассматриваемых в работе методах принимали критерий
f  z k 1   f  z k 
f  z k 1 
 ,
(*)
где   заданная точность поиска минимума целевой функции.
АЛГОРИТМ РОЗЕНБРОКА
Идея метода заключается в выборе системы ортогональных направлений S10 , S 20 ,..., S n0 ,
в каждом из которых последовательно ищется минимальное значение, после чего система
направлений поворачивается так, чтобы одна из осей совпала с направлением полного перемещения, а остальные были ортогональны между собой.
Пусть z 0  вектор начального приближения; S10 , S 20 ,..., S n0  система ортогональных
направлений. На первой итерации это может быть ортонормированная система координат.
Начиная с z 0 , осуществляем минимизацию функции f  z  в соответствующих направлениях S10 , S 20 ,..., S n0 , находя последовательные приближения:
84


z10  z00  1S10 , 1  arg min f z00   S10 ,

....


zn0  zn01  n Sn0 , n  arg min f zn01   Sn0 .

Следующая итерация начнется с точки z k 1  znk , k  0,1,... . Поэтому после завершения
очередного этапа вычисляем новые направления поиска. Ортогональные направления поиска поворачиваются так, чтобы они оказались вытянутыми вдоль «оврага» («хребта») и,
таким образом, исключается взаимодействие переменных zi z j . Направления поиска вытягиваются вдоль главных осей квадратичной аппроксимации целевой функции.
Рассмотрим некоторую kю итерацию алгоритма Розенброка. В результате минимизации по каждому из ортогональных направлений на данной итерации мы имеем систему
параметров 1k , 2k ,..., nk , с помощью которых определим систему векторов A1k , A2k ,..., Ank ,
вычисляемых по формулам:
n
Aik    jk  S kj , i  1,..., n .
j i
С помощью системы векторов A1k , A2k ,..., Ank строим новую систему ортогональных
направлений S1k 1 , S2k 1 ,..., Snk 1 , в которой 1-й вектор направляют так, чтобы он совпал с
направлением общего перемещения на k-м шаге, а остальные получают с помощью соотношений:
S1k 1 
A1k
.
A1k
2
Aik  Aik1  Aik1  Aik
Sik 1 
2
1/2
k
i 1
A
2
2
A   Aik1  Aik 


, i  2,..., n .
k
i
АЛГОРИТМ НАИСКОРЕЙШЕГО СПУСКА
Алгоритм наискорейшего спуска для поиска локального минимума функции f  z  использует градиент f  z  в данной точке, движение осуществляется в противоположном
градиенту направлении, то есть в направлении наискорейшего спуска.
Итерационная формула процесса имеет вид
 
z k 1  z k   k  f z k
или
z
k 1
 z 
k
k
   z  S
f  z 
f z k
k
k
k
.
Очевидно, что в зависимости от выбора величины  траектории спуска будут существенно различаться. Обычно этот параметр выбирают из условия
 k  arg min f  z    S k  ,

85
решая одномерную задачу минимизации с использованием некоторого одномерного метода. В этом случае получаем алгоритм наискорейшего спуска. Если  определяется в результате одномерной минимизации, то градиент в точке очередного приближения будет
ортогонален направлению предыдущего спуска


f z k 1  S k .
Вообще, процедура наискорейшего спуска может закончиться в стационарной точке
любого типа, в которой f  z   0 .
АЛГОРИТМ СОПРЯЖЕННЫХ ГРАДИЕНТОВ
В алгоритмах сопряженных градиентов на каждом этапе поиска используется информация о величинах f  z k  и f  z k  на текущем k–м шаге и на предыдущих шагах спуска.
Направление поиска на текущем шаге S k строится как линейная комбинация наискорейшего спуска на текущем шаге f  z k  и направлений спуска на предыдущих шагах
S 0 , S 1 ,..., S k 1 . Веса в линейной комбинации подбирают таким образом, чтобы сделать эти
направления сопряженными.
Алгоритм наискорейшего спуска для поиска локального минимума функции f  z  использует градиент f  z  в данной точке, движение осуществляется в противоположном
определенному с помощью градиента направлении, то есть в направлении наискорейшего
спуска.
Итерационная формула процесса имеет вид
 
z k 1  z k   k  f z k
или
z k 1  z k   k
f ( z k 1 )
 z k  k S k .
f ( z k )
Очевидно, что в зависимости от выбора величины  траектории спуска будут существенно различаться. Обычно этот параметр выбирают из условия
 k  arg min f ( z k    S k ) ,

решая одномерную задачу минимизации с использованием некоторого одномерного метода. В этом случае получаем алгоритм наискорейшего спуска. Если  определяется в результате одномерной минимизации, то градиент в точке очередного приближения будет
ортогонален направлению предыдущего спуска


f z k 1  S k .
АЛГОРИТМ НЬЮТОНА
Очередное приближение в методе Ньютона вычисляется по формуле:
 
1
 
z k 1  z k  2 f z k   f z k ,


где  2 f  z k  – матрица вторых производных. Здесь определено не только направление
движения, но и шаг. Однако для произвольной функции f  z  этот шаг лучше находить
самим, и тогда формула для очередного приближения имеет вид:
86
 
1
 
z k 1  z k   2 f z k   f z k .


ИСХОДНЫЕ ДАННЫЕ МЕТОДОВ
Начальное приближение задавали произвольным образом в границах области, в которой производили поиск.
Перед расчетом оптимума область поиска нормировали таким образом, что оптимум
целевой функции искали в n-мерном единичном квадрате параметров оптимизации.
Точность поиска минимума принимали равной   106  104 , точность (по значениям параметров оптимизации), с которой вычисляли оптимальное значение в заданном
направлении arg min f ( z k    S k ) , принимали равной  '  10 6 .

При запуске процедуры оптимизации задавали минимальный и максимальный шаги,
определяющие
диапазон
возможных
значений
min{z k }  106  104 ,
z k :
max{z k }  102  101 .
Численное дифференцирование производили по разностным формулам:
f  z  f  z   zi   f  z 

,
zi
 zi
f 2  z  f  z   zi   z j   f  z   z j   f  z   zi   f  z 

,
zi z j
 zi z j
где  zi – шаг численного дифференцирования. В расчете принимали  zi  104  102 в
зависимости от особенностей поведения целевых функций.
ОСОБЕННОСТИ ПРОГРАММНОЙ РЕАЛИЗАЦИИ МЕТОДОВ
Необходимость задания минимального шага обусловлена наличием ошибки вычисления целевой функции, затрудняющей получение адекватных результатов при
одномерном поиске c заданной точностью  ' .
Задание максимального шага необязательно, однако, как показали исследования,
это повышает эффективность работы методов для исследуемых систем. Поиск минимума целевой функции начинается с максимального шага, т.е. максимальный шаг
определяет величину пробного шага. Такой выбор пробного шага продиктован желанием сделать методы более устойчивыми в работе с разными системами. Однако в
случае простых (аналитических) целевых функций это приводит к снижению эффективности методов в сравнении с традиционным подходом. Так как максимальный
(как и минимальный) шаг задается для уже нормированной области, то скорость, с
которой сойдется метод, определяется (помимо задания начального приближения)
удачным заданием ненормированной (действительной) области оптимизации.
Для метода Хука и Дживса при одномерной оптимизации минимум определялся
с точностью  ' . Движение при одномерном поиске продолжалось пока значение целевой функции убывало и прекращалось сразу после получения значения целевой
функции большего, чем найденное ранее. Такой подход показал большую эффективность для исследуемых систем, нежели традиционный. Для остальных методов данный подход оказался неприменим.
87
РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ
Результаты тестирования методов (количество вызовов целевой функции) для двух анали-
тических функций f1  z1 , z2   z12  z1  z1 z2  4z2  z22  7 и f 2  z1 ,z2   100 z2 z1 2   1  z1
2

2
(функция Розенброка) представлены в табл. 1. Эти целевые функции унимодальные, и все
исследуемые методы достигли оптимального значения с заданной точностью –   10 10 .
Шаг численного дифференцирования –  zi  10 8 .
ТАБЛИЦА 1.
Метод / Функция
f1
f2
Хука и Дживса
110
72363
Наискорейшего
спуска
341
22335
Ньютона
33
641
Розенброка
276
19606
Сопряженных
градиентов
209
12446
Результаты тестирования представлены в виде графиков (рис. 1, 2) траекторий движения точки целевой функции (2) в плоскостях z1 z2 (1) пространства параметров z1 z2 z3 z4 и
таблицы количества вычислений целевых функции при минимизации.
На рис. 1а–б представлены графики траекторий координаты целевой функции f1 и
изолинии КПД (– f1 ) для системы двойного действия при введении в математическую модель гидравлических сопротивлений в ветвях, ведущих к рабочим камерам ударного
устройства (см. [1], рис. 10в). В этом случае на номограммах изолиний для величины – f1
наблюдается отчетливо выраженный максимум, что позволяет проследить адекватность
поведения методов оптимизации. Процессы на приведенных графиках отличаются значением начальной точки z 0 , из которой запускается процедура расчета.
На рис. 2а представлены графики траекторий движения координаты целевой функции
f1 и изолинии КПД (– f1 ) для системы прямого действия при введении в математическую
модель трения скольжения в паре «боек – корпус ударного устройства» (см. [1], рис. 4б). В
этом случае в геометрии изолиний f1 наблюдается область типа «овраг», что, как правило,
представляет определенные затруднения при поиске минимума целевой функции. На
рис. 2б представлены графики траекторий движения координаты целевой функции квадрата скорости f 2 и изолинии f 21/ 2 для системы прямого действия (см. [2], рис. 2з). Здесь
так же имеем область типа «овраг» и минимум функции наблюдается на границе этой
области.
В табл. 2 представлены сведения о количестве проведенных вычислений целевой
функции при минимизации функции f1 , полученные при тестовых расчетах (в частности,
представленных на рис. 1, 2). Расчеты под номерами 3 и 4 проведены для системы двойного действия с отличными от 1 и 2 значениями параметра z3 , расчет под номером 7 проведен для системы двойного действия в трехмерном случае с переменными параметрами
z1 , z2 , z3 .
88
а
б
Рис. 1. Траектории поиска минимума функции f1, запущенные из разных точек плоскости z1z2, алгоритмами:
Хука и Дживса;
наискорейшего спуска;
Ньютона;
Розенброка;
сопряженных градиентов. Здесь
изолинии КПД (-f1),
и
соответственно, линии минимального и максимального давления в системе, ограничивающие область поиска
а
б
Рис. 2. Траектории поиска минимума целевой функции f1(а) и f2(б) в плоскости z1z2,
соответственно, для «оврага» и границы области ограничений. Здесь используются
обозначения рис. 1, на рис. 2а сплошные линии, пересекающие область, – изолинии
скорости v I  f 2 1 2
Анализ графиков рис. 1 показывает, что здесь наиболее точно определяют направление поиска минимума алгоритмы сопряженных градиентов. Метод наискорейшего спуска
лидирует в расчете № 1 и по количеству вычислений целевой функции (см. табл. 2).
Остальные алгоритмы идут к минимуму по более сложным траекториям, хотя по количеству вычислений метод Хука и Дживса в расчете № 1 лишь немногим (на 6 вычислений)
89
отстает от наискорейшего спуска, а в расчете № 2 он и метод Ньютона (2-й почти в
1.5 раза) его опережают. Наиболее неэффективно ведет себя метод Розенброка, которому
в среднем здесь и в остальных расчетах требуется в 2–3 и более раз больше вычислений
целевой функции для отыскания минимума.
ТАБЛИЦА 2.
№№
Функция
Минимум
ХД
нс
Н
Р
сг
1 (рис. 1а)
f1
–0.95
104
98
183
257
311
2 (рис. 1б)
f1
–0.95
166
184
127
937
220
3
f1
–0.95
255
365
808
1271
356
4
f1
–0.95
213
112
264
632
324
5 (рис. 2а)
f1
–0.95
1265
176
232
2054
386
6 (рис. 2б)
f2
54.12
1615
100 / 60.6
623
596
222 / 60.6
7
f1
–
490 / 0.95
433 / 0.95
267 / 0.95
1287 / 0.91
493 / 0.95
В области, где изолинии целевой функции образуют «овраг» при запуске поиска из
точки, лежащей в нем (рис. 1а), существенные отклонения от «правильного» направления
наблюдается у алгоритмов Хука и Дживса и Розенброка, что проявляется и в количестве
проделанных ими вычислений. Однако, в конечном счете, с задачей они справляются и
доходят до области минимума, тогда как метод наискорейшего спуска останавливается от
нее на достаточном удалении. Несколько другая ситуация наблюдается, когда процедура
поиска запускается из-за пределов «оврага» (рис. 2б): в этом случае алгоритмы наискорейшего спуска и сопряженных градиентов доходят до дна оврага и останавливаются, не
пытаясь пройти по нему в сторону минимума целевой функции. Остальные справляются с
задачей и останавливаются у ограничительной линии в точке минимума. Здесь почти одинаково эффективно работают алгоритмы Розенброка и Ньютона, алгоритму Хука и Дживса
требуется почти в три раза больше вычислять значение целевой функции для достижения
того же результата.
Расчет под номером 6 проведен для системы двойного действия в трехмерном случае с
переменными параметрами z1 , z2 , z3 .
ЗАКЛЮЧЕНИЕ
В результате выполненной работы составлен и отлажен пакет программ, реализующий
поиск минимума по алгоритмам Хука и Дживса, наискорейшего спуска, Ньютона, Розенброка и сопряженных градиентов.
Проведены вычислительные эксперименты по тестированию названных алгоритмов
применительно к поиску минимума некоторых целевых функций автоколебательных гидравлических ударных систем, расчет которых осуществлялся численно с применением метода припасовывания.
В результате расчетов для двумерного случая методы, в целом, показали адекватность
своего поведения применительно к поставленной задаче. Единственный неудачный расчет
был связан с поиском минимума градиентными методами (наискорейшего спуска и сопряженных градиентов), в области, геометрия минимума которой имела овраг.
90
СПИСОК ЛИТЕРАТУРЫ
1. Городилов Л.В. Численное исследование динамики автоколебательных гидравлических ударных систем. Ч. I. Системы двойного действия // ФТПРПИ. – 2007. – № 6.
2. Городилов Л.В. Численное исследование динамики автоколебательных гидравлических ударных систем. Ч. II. Системы прямого действия // ФТПРПИ. – 2008. – № 2.
3. Городилов Л.В. Модель гидравлической ударной системы с источником постоянного расхода. Ударно-вибрационные системы, машины и технологии: Материалы III
международного научного симпозиума / Орел, 2006.
4. Жилинскас А., Шалтянис В. Поиск оптимума. – М.: Наука, 1989.
91
Download