Шестаков В.С. Оптимизация параметров горных машин. Учебное пособие (811777), страница 11
Текст из файла (страница 11)
Если это условие не выполняется, то принимаетсяAOx k , i x k , i , и поиск продолжается с этапа 13;9) принимаетсяxAk ,i Oпри ( x Ok , i ) F ( x kA, i )x k ,i; x kA, i при F ( x Ok , i ) F ( x kA, i )10) сжатие: вычисление координат вершины x Ok ,i и значения це-57Oлевой функции в ней F ( x k ,i ) .Значения координат вершины при сжатии определяются по выражениюSCACx k ,i x k ,i b x k ,i x k ,i ,где b - коэффициент сжатия, 0.4 < b < 0.6;11) если F(xs) < F(xА) то принимается xAk,i=xsk,i и поиск продолжается с этапа 13;12) редукция: это сжатие в два раза по отношению к вершине снаименьшими значениями функции.
Координаты вершины приэтом вычисляютсяx k , i , j x k , i b x k , i , j x k ,i 2ДBBпри i = 1, 2, ..., N+1;13) проверяется условие прекращения поиска, которое записывается в виде 1 N 1 F ( x k , j ) F ( xCk ) N 1 j 120,5 ,где ε - заданная точность поиска оптимума.Если условие не выполняется, то осуществляется следующийцикл оптимизации, повторяя приведенные этапы, начиная со второго.2.2.7. Градиентные методыРассмотренные выше методы позволяют получать решение задачи на основе использования только значений целевой функции.Важность этих прямых методов несомненна, поскольку в ряде практических инженерных задач информация о значениях целевойфункции является единственно надежной информацией, которойрасполагает исследователь.
С другой стороны, при использованиидаже самых эффективных прямых методов для получения решенияиногда требуется провести большое количество вычислений функции. Это обстоятельство приводит к необходимости рассмотренияметодов, основанных на использовании градиента целевой функции.58Известно, что направление градиента в каждой точке совпадаетс направлением наибыстрейшего возрастания целевой функции,т. е.
локально наилучшим является градиентное направление примаксимизации или антиградиентное при минимизации. Это свойство градиента и используется в рассматриваемых методах. В соответствии с методом в каждой точке xi рассчитывается градиент целевой функции: F ( x1 ) F ( x 2 )F ( x N ) .grad F ( x ) ,,...,x 2x1 N x1Иногда характер целевой функции бывает достаточно хорошоизвестен, чтобы можно было вычислить компоненты вектора градиента путем непосредственного дифференцирования.
Если такимспособом получить производные не удается, то можно найти ихприближенные значения в непосредственной окрестности рассматриваемой точки:Fi F ( x1 , x 2 ,..., x i xi ,..., x N ) F ( x1 , x 2 ,..., x i ,..., x N ). xixiЗдесь Δxi - небольшое смещение в направлении xi. Эту формулучасто называют приближенной секущей. Полученную информациюо направлении градиента можно использовать различным образомдля построения алгоритма поиска.Все приближенные методы основаны на итерационной процедуре, реализуемой изменением переменных в соответствии с выражениемFx i 1 x i h i (+ при поиске максимума, - при поиске мини-x iмума функции),где xi+1, xi – последующее и предыдущие значения i-й переменной;h – параметр, характеризующий длину шага.Способ определения шага изменения переменных на каждойитерации связан с особенностями применяемого метода оптимизации.Метод ступенчатого наискорейшего спускаЭтот метод называется также простейшим градиентным методом.
В нем не применяются специальные методы для вычисления59параметра h.Для метода характерны два недостатка: во-первых, возникаетнеобходимость выбора подходящего значения h, во-вторых, методусвойственна медленная сходимость в точке минимума вследствиемалости ∂F/∂x в окрестности точки оптимума.Метод основан на смещении на постоянный шаг в направленииантиградиента с последующим вычислением целевой функции. Если ее величина оказывается меньше предыдущего значения, то вычисляется значение градиента в новой точке и вся процедура повторяется, причем шаг при этом часто увеличивают.
Если же величинацелевой функции увеличивается, то шаг смещения от предыдущейточки уменьшают и повторяют всю процедуру вычислений. Так поступают до тех пор, пока дальнейшее уменьшение шага уже не приводит к существенному уменьшению результата.Метод наискорейшего подъема построен аналогично, толькосмещение здесь осуществляется в направлении градиента.Алгоритм оптимизации по методу ступенчатого наискорейшегоспуска включает следующие этапы:1) устанавливают границы изменения всех переменных:[ximin, ximax];2) внутри границ изменения переменных задаются начальнойточкой поиск xiн;3) вычисляется значение функции в полученной точкеY = F(x1, x2, …, xN);4) вычисляется значение частных производных по каждой переменной проектирования;5) вычисляются новые значения переменных проектирования:Fx i 1 x i hi i ,x iгде xi+1, xi - последующее и предыдущие значения i-й переменной;hi - параметр, характеризующий длину шага;6) вычисляется относительное изменение переменных проектирования:∆xi = (xi - xi+1)/ xi;7) полученное значение сравнивается с заданной погрешностьюЕ.
При │∆xi│> E повторяют этапы 3...6. При │dxi│ < E - прекращение поиска.60Метод наискорейшего спуска с использованием одномерногопоискаИнформация о градиенте может быть использована в методе,являющемся разновидностью рассмотренного выше. Здесь для расчета величины шага изменения переменных проектирования h используются методы одномерной оптимизации целевой функциивдоль градиентного направления.
До получения одномерного оптимума в направлении градиента значение нового градиента не вычисляется. После получения оптимального h одним из известныхметодов оптимизации находят новый градиент и повторяют процессдо тех пор, пока последующие вычисления позволяют улучшить результат вычислений.Главное достоинство этого метода состоит в том, что параметрh можно использовать в качестве независимой переменной для поиска оптимального значения с помощью известных методов одномерного поиска. Другое важное преимущество градиентных методов состоит в том, что они позволяют уходить от седловых точекповерхности, описываемой целевой функцией (рис.
2.16). Но длямультимодальной функции градиентные методы позволяют найтилишь локальный оптимум. Для поиска глобального оптимума следует испробовать несколько начальных точек поиска.x2x2а)x1б)x1Рис. 2.16. Иллюстрация поиска экстремума методом ступенчатого наискорейшего спуска (а) и методом наискорейшего спуска с использованиемодномерного поиска (б)Алгоритм метода наискорейшего спуска содержит следующиеэтапы:611) вычисление всех частных производных целевой функции попеременным проектирования в исходной или промежуточной точке;2) нахождение одним из методов одномерного поиска оптимального шага вдоль антиградиентного (при поиске минимума) илиградиентного ( при поиске максимума) направления.
Величина шагаопределяется по минимуму функции ∂F(h) / ∂h;3) вычисление координат новой точки:x i 1 x i hi Fix i;4) вычисляется относительное изменение переменных проектирования∆xi = (xi - xi+1)/ xi;5) полученное значение сравнивается с заданной погрешностьюЕ. При │∆xi│> E повторяют этапы 3...6. При │dxi│ < E - прекращение поиска.3. МНОГОКРИТЕРИАЛЬНЫЕ ЗАДАЧИВ большинстве задач дляпоиска оптимального решениятребуется один критерий оптиYмальности.Но отдельные задачиYmax2формулируются так, что необходимо определить решение,удовлетворяющее несколькимцелям, например, объект долженYmin1Xобеспечивать наибольшую производительность,быть надежXXXопт2 опт опт1нымииметьнаименьшуюцену.Рис. 3.1.
Вариант графика функЧтобылучшепонятьэтуфразуции при оптимизации по двумкритериям:представим рисунок. Для приXопт1, Xопт2 – частные оптимальныемера выбрана ситуация, когдарешения по критериям; Ymin1, Ymax2 –для одной функции необходимо“наилучшие” значения функций;найти минимум (например, ценаXопт – оптимальное решениеобъекта), а для другой максимум (например, производительность объекта).При решении таких задач выбираются несколько критериев,«Уступка»62такие задачи относят к многокритериальным, для их решения используют специальные приемы и методы.3.1.
Сведение многокритериальных задач коднокритериальнымВ данном методе один из критериев принимается за основной, аостальные используют в качестве ограничений. Т. е., к примеру,производительность используется в качестве критерия, а масса (илицена) объекта применяется в качестве ограничения, и ей задаетсяограничение быть не больше определенной величины. После такогопреобразования остается один критерий и задача решается с использованием рассмотренных выше методов оптимизации.3.2. Метод «свертки»В методе свертки из нескольких целевых функций, выражающих соответствующие критерии оптимизации, получают однуобобщенную целевую функцию.
Для получения такой функциивводятся весовые коэффициенты. Например, имеются два критерияи соответственно две целевые функции:Y1 = a10 +a11 · x1 +a12 · x2 ;Y2 = a20 +a21 · x1 +a22 · x22 ,где Y1 ,Y2 – значения целевых функций:x1, x2 – переменные оптимизации;а10, а20, а11, а12, а21 , а22 – коэффициенты.Обобщенная функция будет иметь видZ= k1 ·Y1 + k2 ·Y2 ,где k1 , k2– коэффициенты «свертки».Приведенное описание идеи этого метода показывает, что егоприменение для решения многокритериальных задач позволит выполнить оптимизацию и решение будет ничем не сложнее ранеерассмотренных однокритериальных задач. Но в чем же возникнутсложности применения данного метода? В определении значенийкоэффициентов k1 , k2 для получения обобщенного выражения.
Действительно, какие должны быть у них значения, чтобы можно было63сложить, к примеру, производительность экскаватора и его цену. Напрактике, при использовании этого метода очень часто используютанкетный опрос: специалистам предметной области рассылаютсяанкеты, в которых они должны указать значения коэффициентов, азатем эти анкеты обрабатывают по специальным методикам и вычисляют коэффициенты. При анкетном опросе свои сложности: невсе эксперты обладают достаточными знаниями, чтобы верно ориентироваться в проблеме, кроме того, не все они добросовестно относятся к заполнению анкет. Использование неверных коэффициентов приведет к получению неоптимального решения.3.3. Метод уступокИдея метода показана на приведенном выше рис.
3.1. В методеуступок вначале проводится оптимизация по одному критерию, затем для найденных оптимальных значений переменных устанавливается новый интервал их возможного изменения (т. е. «делаетсяуступка» по отношению к найденному оптимальному значению) ипроводится оптимизация по следующему критерию.По сравнению с методом «свертки» этот метод более перспективен, так как меньше подвержен субъективному влиянию, но всеже в нем остается достаточно сложным действием принятие решения, какой принимать интервал «уступки» для проведения оптимизации по второму, третьему и т. д.