- •Учреждение образования белорусский государственный университет информатики и электроники
- •Рабочая программа
- •Тема 9. Применение нелинейного программирования в задачах организации и планирования связи.
- •Тема 10. Динамическое программирование в электросвязи.
- •Тема 11. Сетевые методы планирования и управления.
- •I. Основы оптимизации управленческих решений
- •II. Использование методов линейного программирования в задачах связи
- •III. Транспортная задача линейного программирования в задачах связи
- •IV. Использование методов линейного программирования дня построения графиков работы на предприятиях связи
- •V. Нелинейное програмирование. Одномерный поиск.
- •VI. Методы многомерного поиска
- •VII динамическое программирование
- •Лабораторная работа n 4
- •Метод равномерного поиска
- •Метод поразрядного приближения
- •Метод последовательного перебора
- •Поиск минимума функции одной переменной методом квадратичной параболы
- •Минимизация функции методом Квадратичной интерполяции-экстраполяции
- •Метод пауэлла
- •Литература.
- •3.Построение опорного плана
- •3.1. Метод северо-западного угла.
- •3. 2. Метод наименьшей стоимости.
- •3.3. Метод Фогеля.
- •4.Оптимизация задачи методом потенциалов.
- •Для всех пустых клеток проверим критерий оптимальности:
- •Литература.
VI. Методы многомерного поиска
На первый взгляд может показаться, что различие между методами многомерного и одномерного поиска состоит лишь в том, что первые требуют большего объема вычислений и что в принципе методы, пригодные для функций одной переменной, можно применять и для функций многих переменных. Однако это не так, поскольку многомерное пространство качественно отличается от одномерного. Прежде всего с увеличением числа измерений уменьшается вероятность унимодальности целевой функции. Кроме того, множество элементов, образующих многомерное пространство, гораздо мощнее множества элементов одномерного пространства. Объем вычислений, необходимых для сужения интервала неопределенности в многомерном пространстве, является степенной функцией, показатель которой равен размерности пространства. Так, если в случае одномерного пространства для достижения /=0,1 требуется вычислить 19 значений целевой функции, то в случае двумерного пространства это число составляет 361, трехмерного—6859, четырехмерного — 130 321, а пятимерного — 2476 099! Поскольку при выборе оптимальной конструкции нередко приходится иметь дело с пятью и более переменными, серьезность трудностей, обусловленных многомерностью, становится очевидной.
По традиции методы оптимизации в многомерном пространстве делятся на две большие группы — прямые и косвенные. Прямые методы основаны на сравнении вычисляемых значений целевой функции в различных точках, а косвенные — на использовании необходимых и достаточных условий математического определения максимума и минимума функции. Стратегия прямых методов — постепенное приближение к оптимуму; при использовании косвенных методов стремятся найти решение, не исследуя неоптимальные точки.
6.1. Метод покоординатного подъема
Логическим развитием рассмотренной выше методики одномерного поиска было бы последовательное изменение каждого проектного параметра до тех пор, пока не будет достигнут максимум целевой функции. По завершении этой процедуры для всех переменных можно вернуться к первой и посмотреть, нельзя ли еще более усовершенствовать решение. Этот метод, называемый методом покоординатного подъема, не всегда позволяет найти оптимальное решение. На рис. 7.1, а показана двумерная целевая функция, подходящая для решения задачи этим методом. Ее особенность состоит в том, что линии уровня близки по форме к окружностям или эллипсам, оси которых параллельны осям координат. Если же эти оси наклонены к осям координат (рис. 7.1, б), то эффективность алгоритма снижается, так как для нахождения оптимума приходится вычислять гораздо больше значений целевой функции. Метод покоординатного подъема совершенно неприменим, если линии уровня имеют точки излома (рис. 7.1, в). Поскольку линии уровня такого типа весьма часто встречаются в инженерной практике, то прежде, чем воспользоваться указанным методом, следует убедиться, что решаемая задача не имеет подобного недостатка. Несмотря на это, метод покоординатного подъема часто используют на первой стадии решения задачи, применяя затем более сложные методы. К достоинствам метода покоординатного подъема следует отнести возможность использования простых алгоритмов одномерного поиска, таких, как метод золотого сечения.
Рис. 6.1 Метод покоординатного подъема
6.2. Метод исключения областей
Зная из предыдущей главы, насколько эффективно методы одномерного поиска позволяют сокращать интервал неопределенности (одномерный или двумерный), можно попытаться применить ту же методику и к многомерному пространству. Один из наиболее очевидных методов исключения областей называется методом
Рис. 6. 2 Метод исключения областей (касательной к линии уровня) в случае выпуклых линий уровня
касательной к линии уровня, так как в нем используются касательные к линиям уровня целевой функции. Продемонстрируем этот метод на примере двумерной целевой функции, линии уровня, которой показаны на рис. 6.2. Пусть произвольно выбранная точка пространства проектирования лежит на линии уровня,! проходящей несколько ниже пика, соответствующего оптимальному решению. Проведем через эту точку касательную к линии уровня. Сделать это нетрудно, так как касательная должна лежать в плоскости линии уровня и быть перпендикулярной локальному градиенту поверхности целевой функции. Если целевая функция достаточно гладкая и унимодальная, то касательная к линии уровня разделит пространство проектирования на две части, в одной из которых вероятность нахождения оптимума: велика, а в другой мала. Пользуясь этим приемом в нескольких удачно выбранных точках, для которых известны значения целевой функции, можно существенно сузить область поиска. Однако осуществление этого алгоритма связано с некоторыми трудностями. Если линий уровня,вогнутые, а не выпуклые, то может оказаться исключенной область, содержащая экстремум (рис, 6.3). Кроме того, оставшаяся после нескольких исключений область неопределенности может иметь конфигурацию, мало пригодную для применения других алгоритмов.
Одним из методов исключения является метод сеточного поиска, разработанный Мишке и дающий неплохие результаты. В этом случае суженная область неопределенности представляет собой гиперкуб — многомерный аналог квадрата или куба,— размеры которого можно определить заранее. Благодаря этому метод Мишке является одним из немногих методов многомерного поиска, эффективность которого поддается измерению. Чтобы
Рис. 6.3 Метод исключения областей (касательной к линии уровня) в случае вогнутых линий уровня
лучше понять сущность этого метода, рассмотрим его для случая пространства проектирования, определяемого двумя переменными. Исходную область неопределенности в зависимости от размерности пространства отобразим на единичный квадрат, куб или гиперкуб. Это позволит вести поиск в нормированной области со стороной, равной единице. В гиперкубе построим сетку, образованную попарно симметричными взаимно ортогональными плоскостями, параллельными координатным направлениям, вдоль которых изменяются проектные параметры. Эти плоскости пересекаются по прямым, которые в свою очередь пересекаются в точках, называемых в дальнейшем узлами (рис. 6.4). Вычислим значения целевой функции в узлах и в центре куба. В случае М проектных параметров получим 2М+1 значений целевой функции, из которых выберем наибольшее. Примем соответствующий узел за центр гиперкуба меньших размеров и продолжим исследование. Процесс продолжается до тех пор, пока не будет достигнута требуемая степень сужения интервала неопределенности. Если в области допустимых значений обозначить степень сужения вдоль какой-либо оси координат через r, то линейное сужение для 6-мерного гиперкуба будет равно f=rb, а число вычисленных значений целевой функции
N = b(2M) + 1.
Мишке рекомендует выбирать r в интервале значений
Рис. 6.4 Сеточный метод поиска
2/3<r<1. Он отмечает также, что в случае трех и более переменных большую эффективность обеспечивают не кубические, а звездообразные области.
6.3. Метод случайного поиска
Выше в этой главе говорилось о громоздкости вычислений в случае многомерного пространства на примере числа значений целевой функции, которые необходимо вычислить, чтобы, пользуясь методом сеток, получить /=0,1, и было показано, что это число растет как степенная функция, показатель степени которой равен размерности пространства. Оригинальный подход, позволяющий обойти эту трудность, предложен Бруксом [1] и основан на случайном поиске. Пусть пространство проектирования представляет собой куб или гиперкуб со стороной, равной единице, и разделено на кубические ячейки путем деления на 10 равных частей каждой стороны куба, соответствующей одному из проектных параметров. При N=2 число ячеек равно 100, при N=3 оно равно 1000; в общем случае при N измерений число ячеек равно 10N. Вероятность того, что выбранная наугад ячейка войдет в число 10% наиболее перспективных ячеек, равна 0,1, так как при N=1 нас будет интересовать одна ячейка из 10, при N=2— одна из десяти лучших при общем количестве ячеек 100 и т. д. Вероятность того, что мы пропустим одну из 10% наиболее перспективных ячеек, составит 0,9. Если случайным образом выбрать две ячейки, то вероятность пропуска будет 0,92, т. е. 0,81. Вообще вероятность нахождения по крайней мере одной ячейки из наиболее перспективных, доля которых равна f, после N попыток составит
P=l-(l-f)N.
В табл. 6.1 указано, сколько ячеек надо выбрать случайным образом, чтобы обеспечить заданную вероятность при заданной доле наиболее перспективных ячеек. Из нее видно, что при случайной выборке 44 ячеек вероятность достижения /==0,1 составит 99%. Это очень неплохо, если вспомнить, что для 100%-ного обеспечения целевую функцию в случае пяти переменных пришлось бы вычислить 2 476 099 раз.
|
|
|
|
|
Таблица 6.1 |
|||
|
Вероятность |
|
||||||
f |
0,80 |
0,90 |
|
0,95 |
|
0,99 |
||
|
|
|
|
|
|
|
||
0,1 |
16 |
22 |
|
29 |
|
44 |
||
0,05 |
32 |
25 |
|
59 |
|
90 |
||
0,01 |
161 |
230 |
|
299 |
|
459 |
||
0,005 |
322 |
460 |
|
598 |
|
919 |
||
|
|
|
|
|
|
|
||
Метод случайного поиска имеет два преимущества. Во-первых, он пригоден для любой целевой функции независимо от того, является она унимодальной или нет. Во-вторых, вероятность успеха при попытках не зависит от размерности рассматриваемого пространства. Хотя этот метод не позволяет непосредственно найти оптимальное решение, он создает подходящие предпосылки для применения в дальнейшем других методов поиска. Поэтому его часто применяют в сочетании с одним или несколькими методами других типов.
6.4. Градиентные методы
Во многих алгоритмах многомерной оптимизации так или иначе используется информация о градиентах. Проиллюстрируем это положение следующим простым примером. Представим себе, что альпинисту завязали глаза и сказали, что он должен добраться до вершины «унимодальной» горы. Даже ничего не видя, он может это сделать, если все время будет двигаться вверх. Хотя любая ведущая вверх тропа в конечном счете приведет его к вершине, кратчайшей из них будет самая крутая, если, правда, альпинист не натолкнется на вертикальный обрыв, который придется обходить. (Математическим эквивалентом обрыва на поверхности, образуемой целевой функцией, являются те ее места, где поставлены условные ограничения.) Предположим пока, что задача оптимизации не содержит ограничений. Позднее мы включим их в схему поиска. Метод оптимизации, в основу которого положена идея движения по самой крутой тропе, называется методом наискорейшего подъема или наискорейшего спуска. Вектор градиента перпендикулярен линии уровня и указывает направление к новой точке в пространстве проектирования. Отметим, что градиентный метод в отличие от метода касательной к линии уровня можно использовать применительно к любой унимодальной функции, а не только тех, у которых это свойство явно выражено.
Чтобы
лучше понять идею градиентных методов,
подробнее остановимся
на свойствах градиентов. Рассмотрим
систему независимых
единичных векторов е1,
е2,
е3,
. ., eN,
направленных
вдоль осей координат x1
,
х2
,
х3
,
. . .,
xN
,
являющихся
в то же время:
проектными параметрами. Вектор градиента
произвольной целевой
функции F(х1,
х2,
х3
,
. . .,
хN
)
имеет
вид
где частные производные вычисляются в рассматриваемой точке. Этот вектор направлен вверх, в направлении подъема; обратный: ему вектор указывает направление спуска. Единичный вектор градиента часто представляют в виде .
Иногда характер целевой функции бывает достаточно хорошо известен, чтобы можно было вычислить компоненты вектора градиента путем непосредственного дифференцирования. Если таким способом частные производные получить не удается, то можно найти их приближенные значения в непосредственной. окрестности рассматриваемой точки: .
Здесь — небольшое смещение в направлении хj. Эту формулу часто называют «приближением секущей». Полученную информацию о направлении градиента можно использовать различным образом для построения алгоритма поиска.
Ступенчатый наискорейший подъем
Ряд методов поиска основан на смещении на постоянный шаг в направлении градиента с последующим вычислением целевой функции. Если ее величина оказывается больше предыдущей, вычисляется градиент в новой точке, и вся процедура повторяется, причем часто при этом шаг увеличивают. Если же величина целевой функции не изменяется или убывает, то шаг смещения от предыдущей точки уменьшают и повторяют всю процедуру вычислении. Так поступают до тех пор, пока дальнейшее уменьшение шага уже не приводит к улучшению результата.
Наискорейший подъем с использованием одномерного поиска
В некоторых методах поиска информация о градиенте используется для ведения одномерного поиска в направлении наискорейшего подъема или спуска, причем используется соотношение
хi.нов =хi.ст + Svi
где S — новый одномерный параметр, значения которого отсчитываются в направлении градиента. Получив одномерный оптимум в направлении данного градиента, находят новый градиент и повторяют процесс до тех пор, пока последующие вычисления позволяют улучшать полученный результат. Главное достоинство этого метода состоит в том, что параметр S можно использовать в качестве независимой переменной для поиска по методу Фибоначчи, и это обеспечивает высокую эффективность метода. Другое важное преимущество рассматриваемых методов состоит в том, что они позволяют уходить от седловых точек поверхности, описываемой целевой функцией (рис. 7.5). Отметим, однако, что, как видно из рисунка, для мультимодальных функций градиентные методы позволяют найти лишь локальный оптимум. Поэтому, если характер поверхности недостаточно хорошо известен, следует испробовать несколько исходных точек и убедиться, что во всех случаях получается одно и то же оптимальное решение. Другой причиной, снижающей эффективность градиентных методов, являются изломы линий уровня целевой функции. Так как такие точки соответствуют разрыву в наклоне линий контура, то здесь возможны ошибки в определении направления дальнейшего поиска. Поэтому поиск может замедлиться и идти зигзагами поперек линии излома, а время, необходимое для получения решения, будет столь велико, что счет придется прекратить. В действительности большинство исследуемых поверхностей имеет одну или более линий излома, которые нередко проходят через точку оптимума. Поэтому, наткнувшись на линию излома, следует в дальнейшем
Рис. 6.5 Бимодальная целевая функция
двигаться вдоль нее. Для реализации этой идеи разработан ряд остроумных алгоритмов. Ниже рассмотрим некоторые из них, а также другие «безградиентные» методы, хорошо приспособленные для поиска оптимумов функций с разрывными производными.
6.5. Метод Флетчера-Ривса
Этот метод позволяет найти минимум нелинейной целевой функции многих переменных вида
M=F(x1 , x2, . . ., xN)
при отсутствии ограничений. Метод основан на применении частных производных целевой функции по независимым переменным и предназначен для исследования унимодальных функций. С его помощью можно исследовать и мультимодальные функции, однако в этом случае следует брать несколько исходных точек и проверять, одинаково ли во всех случаях решение. Схема алгоритма метода Флетчера — Ривса представлена на рис. 7.6. Выполняется он следующим образом. Сначала выбирается под-
Рис. 6.6 Блок-схема алгоритма метода Флетчера – Ривса
ходящая начальная точка пространства проектирования и путем вычисления компонент вектора градиента
определяется направление наискорейшего спуска. Индекс k=1 соответствует исходной точке. Затем в направлении наискорейшего спуска ведется одномерный поиск по формуле
хi.нов = хi.ст + Svi , i=1,2, ...,N,
где S — смещение в направлении вектора градиента. Найдя минимум в этом направлении, определяют направления новых единичных векторов, которые несколько отличаются от направления нового вектора градиента и представляют собой линейные комбинации вектора градиента на данном шаге и вектора градиента, полученного на предыдущем шаге. Новые компоненты единичных векторов выражаются в виде
где
Индекс k указывает на последовательность вычислений в процессе итераций. Новые направления называются «сопряженными» и соответствуют текущей локальной квадратичной аппроксимации функции. Затем по новому направлению проводят одномерный поиск и, найдя минимум, проверяют, достигнута ли требуемая степень сходимости. Если проверка показывает, что это так, то счет прекращается. В противном случае определяют новые сопряженные направления, k увеличивают на единицу и продолжают процесс до тех пор, пока не будет обеспечена сходимость или пока поиск не будет проведен по всем N+1 направлениям. Закончив цикл поиска по N+1 направлениям, начинают новый цикл, в котором опять используется направление наискорейшего спуска. Достоинство этого алгоритма состоит в том, что он позволяет использовать преимущества градиентных методов, проявляющиеся при исследовании целевой функции с разрывными производными. Так как N+1 направлений поиска второй совокупности отличаются от направлений единичных векторов градиента, то поиск не «зависает на изломе», а идет вдоль линии, соединяющей точки изломов линии уровня, которая, как правило, проходит через точку оптимума. Вообще можно утверждать, что методы, основанные на определении новых направлений поиска на основе накопленных данных о локальном поведении функции, по самой своей природе более эффективны, чем методы, в которых направление поиска задается заранее. Именно поэтому метод Флетчера — Ривса обладает большими преимуществами по сравнению с методами наискорейшего спуска или подъема. Его недостаток состоит в том, что, будучи сложнее указанных методов, он требует разработки более сложных программ.
6.6. Метод Дэвидона-Флетчера-Ривса
Метод Дэвидона — Флетчера — Пауэлла представляет собой алгоритм оптимизации, приспособленный для отыскания безусловного минимума целевой функции, зависящей от нескольких переменных и имеющей вид
M=F(x1 , x2 , ..., xN).
Необходимы частные производные целевой функции по независимым переменным. Поскольку в основе метода лежит допущение об унимодальности целевой функции, в тех случаях, когда есть основания предполагать, что она не является таковой, следует брать несколько исходных точек. На рис. 6.7 представлена схема алгоритма метода Дэвидона — Флетчера — Пауэлла. Алгоритм выполняется следующим образом. Сначала в пространстве проектирования выбирают подходящую начальную точку. Затем, вычисляя составляющие вектора градиента
определяют направление поиска. Здесь k —номер итерации, а Нi,j — элементы симметричной положительно определенной матрицы размерности NxN. В процессе итераций эта матрица превращается в матрицу, обратную матрице Гессе, элементами
Рис. 6.7 Блок-схема алгоритма метода Дэвидона – Флетчера – Пауэлла
которой являются вторые частные производные целевой функции. Поскольку обычно матрица заранее неизвестна, то в качестве начальной можно воспользоваться любой симметричной положительно определенной матрицей. Как правило, берут простейшую из них — единичную матрицу. В этом случае поиск начинается вдоль линии наискорейшего спуска. Одномерный поиск ведется вдоль исходного направления в соответствии с соотношением
хi.нов = хi.ст + Svi , i=1,2, ...,N,
где S — величина шага в направлении поиска. Найдя одномерный оптимум, проверяют результат на сходимость и, если она достигнута, поиск прекращают. В противном случае для дальнейшего поиска выбирают новое направление, причем используют прежнее соотношение и новую матрицу, определяемую формулой
Элементы матриц А(k) и B(k), имеющих размерность NxN, вычисляются по формулам
где верхним индексом t обозначены транспонированные матрицы, a x(k) и G(k) — соответственно векторы-столбцы разностей значений хi и градиентов в двух точках. Векторы-столбцы определяются выражениями
В соответствии с правилами матричного исчисления числители выражений для. А(k) и В(k) представляют собой матрицы размерности NxN, а знаменатели являются скалярами. Определив новое направление поиска, проводят одномерный поиск и продолжают итерационный процесс. При выполнении описываемого алгоритма поиск после первой попытки ведется в тех направлениях, в которых целевая функция в ближайшей окрестности имеет значения, приближающиеся к оптимальному. Лишь в редких случаях эти направления совпадают с направлением градиента. Поэтому данный алгоритм часто называют методом «отклоненного» градиента. Указанное свойство метода Дэвидона — Флетчера — Пауэлла позволяет обходить трудности, связанные с разрывами производных в пространстве проектирования. Широко распространено мнение, что этот метод является наиболее эффективным из всех градиентных методов. В отличие от метода Флетчера — Ривса он дает полную информацию о кривизне поверхности целевой функции в точке минимума, однако при этом требуется больший объем памяти и большее время счета для обработки матрицы Н.
6.7. Метод конфигураций Хука-Дживса
Этот метод облегчает поиск и не требует вычисления производных. Поиск ведется вдоль линий разрыва производных в предположении, что смещения в пространстве проектирования, оказавшиеся удачными на ранней стадии поиска, могут привести к успеху и на его более поздних стадиях. Метод Хука — Дживса предназначен для отыскания минимума унимодальной функции многих переменных
M=F(х1 , x2 . . ., xN)
Рис. 6.8 Блок-схема алгоритма метода конфигураций Хука – Дживса
при отсутствии ограничений. На рис. 6.8 представлена схема алгоритма этого метода. Выполняется он следующим образом. Сначала выбирается исходная базовая точка пространства проектирования и величины шагов, которые будут использованы при исследовании функции. Затем в соответствии со схемой рис. 6.9 проводится исследование с заданными приращениями в направлениях, соответствующих всем независимым переменным. Там, где получено уточненное значение функции, помещают новую временную базовую точку. Закончив этап исследования, выбирают новую базовую точку и производят «сдвиг схемы». Эта операция заключается в экстраполяции вдоль линии, соединяющей новую и прежнюю базовые точки. Расстояние сдвига за новую базовую точку несколько превышает расстояние между двумя прежними базовыми точками. Математически экстраполяция определяется формулой
где
— новая временная базовая точка, или
«точка роста»,
i
— переменный
индекс, k
—
порядковый номер стадии поиска, а а
— коэффициент
усиления, который больше или равен
единице. Затем исследуют окрестность
новой временной базовой
точки, чтобы выяснить, не содержит ли
она точку, приняв
которую за следующую базовую можно
приблизиться к оптимальному
решению. Этот поиск также ведется по
схеме, показанной
на рис. 7.9. Если найденная временная
точка роста или
одна из соседних с ней точек имеет
преимущество перед другими,
то вся процедура повторяется с
использованием ее в качестве
базовой. Благодаря введению коэффициента
усиления, каждое последующее исследование
окрестности точки осуществляется
на все большем и большем удалении от
исходной точки до
тех пор, пока в процессе поиска не
окажется пройденным пик
или линия разрыва производной. В этом
случае возвращаются
к предыдущей «лучшей базовой точке»,
сужают область исследования
и повторяют весь процесс снова. Если
последовательно
уменьшаемый шаг оказывается меньше
некоторой заранее
заданной величины и при этом отсутствует
заметное изменение
значения целевой функции, поиск
прекращается. После
нескольких изменений направления поиска
метод Хука
— Дживса обеспечивает совпадение
распределения расчетных
точек с линией разрыва производных.
Обычно после завершения
выбора схемы поиска сдвиг на каждом
следующем шаге
увеличивается, пока не превысит величину
исходного шага
в 10 или даже в 100 раз. Поэтому в случае,
когда сдвиг оказывается неудачным,
единственный способ продолжить поиск
— вернуться к наиболее удачной из
базовых точек и начать все сначала. Тот
факт, что данный алгоритм обладает
свойством
Рис. 6.9 Метод исследования, применяемый в алгоритме Хука – Дживса
«ускоряться», способствует повышению его общей эффективности. Другое достоинство метода Хука — Дживса — возможность получения с его помощью приближенного решения, качество которого непрерывно повышается на всех стадиях численного решения. Особенно явно преимущества подобных методов проявляются при отыскании экстремумов на гиперповерхностях, содержащих глубокие узкие впадины, т. е. в тех случаях, когда градиентные методы неэффективны.
6.8. Метод конфигураций Розенброка
Метод конфигураций Розенброка основан на поиске минимума вдоль линий разрыва производных и часто оказывается эффективным, когда другие методы не позволяют получить решение. Его нередко называют «методом вращения осей координат», поскольку исследование в окрестности выбранной точки ведется именно таким способом. В отличие от предыдущих методов, в которых исходным переменным сообщают независимые приращения, в методе Розенброка система координат поворачивается так, чтобы одна из осей была направлена вдоль линии разрыва производных, положение которой определяется в результате предварительного исследования. Остальные оси образуют с ней ортогональную систему координат. Метод Розенброка основан на предположении об унимодальности целевой функции и предназначен для отыскания минимума функции многих переменных вида
M=F(x1 , x2 , ... , xN)
при отсутствии ограничений. На рис. 7.10 показана схема алгоритма, используемого в этом методе. Выполняется он следующим образом. Сначала выбирают начальную точку, задают начальные величины шагов Si (i=1, 2, . . ., N) и вычисляют целевую функцию. Затем каждой переменной xi сообщают приращение Si в направлении, параллельном соответствующей оси координат в пространстве проектирования, и вновь вычисляют целевую функцию F. Если ее новое значение оказывается меньше предыдущего, то сдвиг считается удачным и следующий шаг увеличивается в соответствии с формулой
Si= Si.
где ALFA>1. Если же новое значение F оказывается больше предыдущего, то сдвиг считается неудачным и следующий шаг определяется по формуле
Si=- Si
Рис. 6.10 Блок-схема алгоритма метода конфигураций Розенброка
где <1. Осуществив сдвиг по всем переменным, проверяют сходимость и, если она достигнута, поиск прекращают. В противном случае вводят дополнительную проверку, чтобы выяснить, были ли сделаны хотя бы один успешный и один безуспешный сдвиг в каждом направлении. Если такого сочетания сдвигов не было, вся процедура повторяется, начиная с первой переменной. Если же подобное сочетание обнаружено для каждого направления, оси поворачивают так, чтобы исходное направление поиска совпало с наиболее перспективным из ранее рассмотренных направлений. Затем выбирают новые значения шагов и продолжают поиск по всем переменным, пользуясь новой системой координат. В отличие от других, данный алгоритм нацелен на отыскание оптимальной точки в каждом направлении, а не просто на фиксированный сдвиг по всем направлениям. Величина шага в процессе поиска непрерывно изменяется в зависимости от конфигурации рельефа поверхности. Сочетание вращения вектора, направленного вдоль линии разрыва производных, с регулированием масштаба делает метод Розенброка исключительно эффективным при решении сложных задач оптимизации.
