УДК 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]), которые по отдельности или в сумме (с весовыми коэффициентами) могут использоваться как целевые функции. Основная часть расчетов была проведена в плоскостях 01 многомерного пространства безразмерных критериев подобия, остальные параметры считали постоянными величинами. Такой подход оказался удобным на начальном этапе отработки алгоритмов, так как позволил визуально проследить траектории поиска и сравнить их с информацией по целевым функциям, полученным ранее [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 zn01 n Sn0 , n arg min f zn01 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 Aik1 Aik1 Aik Sik 1 2 1/2 k i 1 A 2 2 A Aik1 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-мерном единичном квадрате параметров оптимизации. Точность поиска минимума принимали равной 106 104 , точность (по значениям параметров оптимизации), с которой вычисляли оптимальное значение в заданном направлении arg min f ( z k S k ) , принимали равной ' 10 6 . При запуске процедуры оптимизации задавали минимальный и максимальный шаги, определяющие диапазон возможных значений min{z k } 106 104 , z k : max{z k } 102 101 . Численное дифференцирование производили по разностным формулам: 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 104 102 в зависимости от особенностей поведения целевых функций. ОСОБЕННОСТИ ПРОГРАММНОЙ РЕАЛИЗАЦИИ МЕТОДОВ Необходимость задания минимального шага обусловлена наличием ошибки вычисления целевой функции, затрудняющей получение адекватных результатов при одномерном поиске 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