на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Оптимизация. Методы многомерного поиска

r: =f (x0); r1: =r+2*; x: =x0;

пока abs (r1-r) >=

нц

r1: =r;

Для i от 1 до n

нц

x1: =x;

x [i]: =x [i] +;

(): =f (x);

min: = minf ( ());

x: =x1;

x [i]: =x [i] + min;

кц

r: =f (x);

кц

x-искомый вектор.

4. Метод исключения областей

Зная из предыдущей главы, насколько эффективно методы одномерного поиска позволяют сокращать интервал неопределенности (одномерный или двумерный), можно попытаться применить ту же методику и к многомерному пространству. Один из наиболее очевидных методов исключения областей называется методом касательной к линии уровня, так как в нем используются касательные к линиям уровня целевой функции. Продемонстрируем этот метод на примере двумерной целевой функции. Пусть произвольно выбранная точка пространства проектирования лежит на линии уровня, проходящей несколько ниже пика, соответствующего оптимальному решению. Проведем через эту точку касательную к линии уровня. Сделать это нетрудно, так как касательная должна лежать в плоскости линии уровня и быть перпендикулярной локальному градиенту поверхности целевой функции. Если целевая функция достаточно гладкая и унимодальная, то касательная к линии уровня разделит пространство проектирования на две части, в одной из которых вероятность нахождения оптимума велика, а в другой мала. Пользуясь этим приемом в нескольких удачно выбранных точках, для которых известны значения целевой функции, можно существенно сузить область поиска. Однако осуществление этого алгоритма связано с некоторыми трудностями. Если линии уровня вогнутые, а не выпуклые, то может оказаться исключенной область, содержащая экстремум. Кроме того, оставшаяся после нескольких исключений область неопределенности может иметь конфигурацию, мало пригодную для применения других алгоритмов.

Одним из методов исключения является метод сеточного поиска, разработанный Мишке и дающий неплохие результаты. В этом случае суженная область неопределенности представляет собой гиперкуб - многомерный аналог квадрата или куба, - размеры которого можно определить заранее. Благодаря этому метод Мишке является одним из немногих методов многомерного поиска, эффективность которого поддается измерению. Чтобы лучше понять сущность этого метода, рассмотрим его для случая пространства проектирования, определяемого двумя переменными. Исходную область неопределенности в зависимости от размерности пространства отобразим на единичный квадрат, куб или гиперкуб. Это позволит вести поиск в нормированной области со стороной, равной единице. В гиперкубе построим сетку, образованную попарно симметричными взаимно ортогональными плоскостями, параллельными координатным направлениям, вдоль которых изменяются проектные параметры. Эти плоскости пересекаются по прямым, которые в свою очередь пересекаются в точках, называемых в дальнейшем узлами. Вычислим значения целевой функции в узлах и в центре куба. В случае М проектных параметров получим 2 значений целевой функции, из которых выберем наибольшее. Примем соответствующий узел за центр гиперкуба меньших размеров и продолжим исследование. Процесс продолжается до тех пор, пока не будет достигнута требуемая степень сужения интервала неопределенности. Если в области допустимых значений обозначить степень сужения вдоль какой-либо оси координат через r, то линейное сужение для b-мерного гиперкуба будет равно f=r, а число вычисленных значений целевой функции N=b (2) +1.

Мишке рекомендует выбирать r в интервале значений 2/3<r<1. Он отмечает также, что в случае трех и более переменных большую эффективность обеспечивают не кубические, а звездообразные области.

5. Метод случайного поиска

Выше в этой главе говорилось о громоздкости вычислений в случае многомерного пространства на примере числа значений целевой функции, которые необходимо вычислить, чтобы, пользуясь методом сеток, получить f==0,1, и было показано, что это число растет как степенная функция, показатель степени которой равен размерности пространства. Оригинальный подход, позволяющий обойти эту трудность, предложен Бруксом и основан на случайном поиске. Пусть пространство проектирования представляет собой куб или гиперкуб со стороной, равной единице, и разделено на кубические ячейки путем деления на 10 равных частей каждой стороны куба, соответствующей одному из проектных параметров. При N=2 число ячеек равно 100, при N=3 оно равно 100, в общем случае при N измерений число ячеек равно 10. Вероятность того, что выбранная наугад ячейка войдет в число 10% наиболее перспективных ячеек, равна 0,1, так как при N=1 нас будет интересовать одна ячейка из 10, при N=2 - одна из десяти лучших при общем количестве ячеек 100 и т.д. Вероятность того, что мы пропустим одну из 10% наиболее перспективных ячеек, составит 0,9. Если случайным образом выбрать две ячейки, то вероятность пропуска будет 0,9, т. е 0,81. Вообще вероятность нахождения по крайней мере одной ячейки из наиболее перспективных, доля которых равна f, после N попыток составит Р=1- (1-f) .

В таблице 1 указано, сколько ячеек надо выбрать случайным образом, чтобы обеспечить заданную вероятность при заданной доле наиболее перспективных ячеек. Из нее видно, что при случайной выборке 44 ячеек вероятность достижения f=0,1 составит 99%.

Это очень неплохо, если вспомнить, что для 100% -ного обеспечения целевую функцию в случае пяти переменных пришлось бы вычислить 2 476 099 раз.

Таблица 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

Метод случайного поиска имеет два преимущества. Во-первых, он пригоден для любой целевой функции независимо от того, является она унимодальной или нет. Во-вторых, вероятность успеха при попытках не зависит от размерности рассматриваемого пространства. Хотя этот метод не позволяет непосредственно найти оптимальное решение, он создает подходящие предпосылки для применения в дальнейшем других методов поиска. Поэтому его часто применяют в сочетании с одним или несколькими методами других типов. Функция Random -случайное число из [0,1]

Один из возможных примеров алгоритмов.

f (x) - > min, x Rn

x0-начальное приближение (массив [1: n])

Будем считать, что нам известна функция

minf ( ()), которая вычисляется min: (min) =min ()

r: =f (x0); r1: =r+2*; x: =x0;

пока abs (r1-r) >=

нц

r1: =r; x1: =x;

Для i от 1 до n

нц

l [i]: = random;

x [i]: =x [i] +*R [i] ;

кц

(): =f (x);

min: = minf ( ());

x: =x1;

для i от 1до n

нц

x [i]: =x [i] + min* l [i] ;

кц

r: =f (x);

кц

6. Градиентные методы

Во многих алгоритмах многомерной оптимизации так или иначе используется информация о градиентах. Проиллюстрируем это положение следующим простым примером.

Представим себе, что альпинисту завязали глаза и сказали, что он должен добраться до вершины "унимодальной" горы. Даже ничего не видя, он может это сделать, если все время будет двигаться вверх. Хотя любая ведущая вверх тропа в конечном счете приведет его к вершине, кратчайшей из них будет самая крутая, если, правда, альпинист не натолкнется на вертикальный обрыв, который придется обходить. (Математическим эквивалентом обрыва на поверхности, образуемой целевой функцией, являются те ее места, где поставлены условные ограничения) Предположим пока, что задача оптимизации не содержит ограничений.

Позднее мы включим их в схему поиска.

Метод оптимизации, в основу которого положена идея движения по самой крутой тропе, называется методом наискорейшего подъема или наискорейшего спуска. Вектор градиента перпендикулярен линии уровня и указывает направление к новой точке в пространстве проектирования.

Отметим, что градиентный метод в отличие от метода касательной к линии уровня можно использовать применительно к любой унимодальной функции, а не только тех, у которых это свойство явно выражено. Чтобы лучше понять идею градиентных методов, подробнее остановимся на свойствах градиентов. Рассмотрим систему независимых единичных векторов e,e,e,…,e, направленных вдоль осей координат x,x,x,…,x, являющихся в то же время проектными параметрами.

Вектор градиента произвольной целевой функции F (x,x,x,…,x) имеет вид:

(F/x) e+ (F/ x) e+…. + (F/ x) e,

где частные производные вычисляются в рассматриваемой точке. Этот вектор направлен вверх, в направлении подъема; обратный ему вектор указывает направление спуска. Единичный вектор градиента часто представляют в виде ve+ve+ve+…+ve, где

v=.

Иногда характер целевой функции бывает достаточно хорошо известен, чтобы можно было вычислить компоненты вектора градиента путем непосредственного дифференцирования. Если таким способом частные производные получить не удается, то можно найти их приближенные значения в непосредственной окрестности рассматриваемой точки:

Здесь - небольшое смещение в направлении x. Эту формулу часто называют "приближением секущей". Полученную информацию о направлении градиента можно использовать различным образом для построения алгоритма поиска.

Один из возможных примеров алгоритмов.

f (x) - > min, x Rn

x0-начальное приближение (массив [1: n])

Будем считать, что нам известна функция

minf ( ()), которая вычисляется min: (min) =min ()

r: =f (x0); r1: =r+2*; x: =x0;

Пока abs (r-r1) >=

нц

r1: =r;

x1: =x;

Для i от 1 до n

нц

l [i]: = f (x1) / x [i] ;

x [i]: =x [i] +*l [i] ;

кц

(): =f (x);

min: = minf ( ());

x: =x1;

Для i от 1 до n

x [i]: =x [i] +min*l [i] ;

кц

r: =f (x);

кц

6.1 Ступенчатый наискорейший подъем

Ряд методов поиска основан на смещении на постоянный шаг в направлении градиента с последующим вычислением целевой функции. Если ее величина оказывается больше предыдущей, вычисляется градиент в новой точке, и вся процедура повторяется, причем часто при этом шаг увеличивают. Если же величина целевой функции не изменяется или убывает, то шаг смещения от предыдущей точки уменьшают и повторяют всю процедуру вычислений. Так поступают до тех пор, пока дальнейшее уменьшение шага уже не приводит к улучшению результата.

Наискорейший подъем с использованием одномерного поиска

В некоторых методах поиска информация о градиенте используется для ведения одномерного поиска в направлении наискорейшего подъема или спуска, причем используется соотношение

x=x+Sv,

где S - новый одномерный параметр, значения которого отсчитываются в направлении градиента. Получив одномерный оптимум в направлении данного градиента, находят новый градиент и повторяют процесс до тех пор, пока последующие вычисления позволяют улучшать полученный результат. Главное достоинство этого метода состоит в том, что параметр S можно использовать в качестве независимой переменной для поиска по методу Фибоначчи, и это обеспечивает высокую эффективность метода. Другое важное преимущество рассматриваемых методов состоит в том, что они позволяют уходить от седловых точек поверхности, описываемой целевой функцией. Отметим, однако, что, как видно из рисунка, для мультимодальных функций градиентные методы позволяют найти лишь локальный оптимум. Поэтому, если характер поверхности недостаточно хорошо известен, следует испробовать несколько исходных точек и убедиться, что во всех случаях получается одно и то же оптимальное решение. Другой причиной, снижающей эффективность градиентных методов, являются изломы линий уровня целевой функции. Так как такие точки соответствуют разрыву в наклоне линий контура, то здесь возможны ошибки в определении направления дальнейшего поиска. Поэтому поиск может замедлиться и идти зигзагами поперек линии излома, а время, необходимое для получения решения, будет столь велико, что счет придется прекратить. В действительности большинство исследуемых поверхностей имеет одну или более линий излома, которые нередко проходят через точку оптимума. Поэтому, наткнувшись на линию излома, следует в дальнейшем двигаться вдоль нее. Для реализации этой идеи разработан ряд остроумных алгоритмов.

Задача 1

Найти прямую наилучшим образом аппроксимирующую совокупность экспериментальных точек. Уравнение прямой y=m*x+b. Суммарная ошибка в случае точек определяется выражением SUM=

Необходимо найти минимум, SUM, оптимальные значения m,b. Экспериментальные точки заданы.

Задача 2

Емкость бака для жидких отходов должна составитьV л. Изготовляется бак из железобетона толщиной t см. Определить геометрические параметры бака, при которых на его изготовление пойдет минимальное количество бетона.

Задача 3

Емкость бака для жидких отходов должна составитьV л. Изготовляется бак из железобетона толщиной t см. Определить геометрические параметры бака, при которых на его изготовление пойдет минимальное количество бетона, учитывая что бак имеет крышку.

Задача 4

Изготовитель контейнеров проектирует открытый контейнер из листового материала. Заготовка вырезается из листа, сгибается по пунктирным линиям и сваривается четырьмя швами. Каковы должны быть размеры контейнера небольшого объема, если площадь его дна не должна превышать 1 м2 и ни один из линейных размеров a,b,c не должны быть больше другого более чем в 3 раза?

Задача 5

Сравнительно простая с математической точки зрения целевая функция Розенброка y=100 (x2-x) 2+ (1+x1) 2 описывает поверхность с впадиной.

Минимальное значение целевой функции соответствует точке с координатами M (x,y). Если взять начальную точку во втором квадранте, то не всегда удается обеспечить сходимость. Выбрав исходную точку попытаться решить эту задачу оптимизации:

a) методом покоординатного спуска;

b) градиентным методом.

Литература

1. Шуп Т. “Решение инженерных задач на ЭВМ", 1982

2. Брукс С.Ш." О случайных методах поиска максимума ”, 1958

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.