Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методы оптимизации.doc
Скачиваний:
89
Добавлен:
30.03.2015
Размер:
7.77 Mб
Скачать

Глава 5. Методы поиска глобального минимума одномерных функций.

5.1 Метод перебора. Одномерный метод Монте-Карло

Некоторые методы решения многомерных задач оптимизациитребуют решения одномернойзадачи глобальной оптимизации(или совокупности таких задач).

Рассматривается следующая одномерная задача условной глобальной оптимизации): найти минимум, вообще говоря,многоэкстремальной функции (), определенной в замкнутой области допустимых значений ,

 (1)

Метод перебора

Схема метода перебора(см. рис. 1):

Рис. 1.  К схеме метода перебора.

  1. Покрываем интервал некоторой сеткой с узлами , [1,].

  2. Производим испытаниев точке , т.е. вычисляем значения функции в этой точке.

  3. Полагаем .

  4. Производим испытаниев точке - вычисляем значение () функции () в этой точке.

  5. Если , то выполняем присваивания , .

  6. Если , то выполняем присваивание 1 и переходим на п.4). Иначе - заканчиваем вычисления.

  7. Принимаем в качестве приближенного значения точки глобального минимума функции () на интервале [,] или каким-либо из рассмотренных одномерных методов локальной оптимизацииорганизуем в окрестности точки поиск локального минимума этой функции

При выборе количества узлов сетки , [1,] можно исходить из требуемой точности решения – максимальный шаг сетки принять равным этой величине.

Отметим, что метод перебора, как и любой другойметод глобальной оптимизации, при отсутствии априорной информации о свойствах минимизируемой функции не гарантирует нахождение глобального минимума (см. пунктирный график на рис. 1).

Одномерный метод Монте-Карло

Схема одномерного метода Монте-Карло:

  1. Генерируем с помощью какого-либо программного генератора случайных чисел, равномерно распределенных в интервале [,], случайное число .

  2. Производим испытаниев точке - вычисляем значения функции () в этой точке.

  3. Полагаем 2.

  4. Аналогично п. 1) генерируем случайное число [,] .

  5. Производим испытаниев точке - вычисляем значение () функции () в этой точке.

  6. Если , то выполняем присваивания , .

  7. Если , то выполняем присваивание 1 и переходим на п. 4). Иначе - заканчиваем вычисления. Здесь – количество испытаний.

  8. Принимаем в качестве приближенного значения точки глобального минимума функции () на интервале [,] или каким-либо из рассмотренных одномерных методов локальной оптимизацииорганизуем в окрестности точки поиск локального минимума этой функции

При достаточно большом метода гарантирует нахождение глобального минимума с высокой вероятностью.

5.2 Метод выделения интервалов унимодальности

Рассмотрим одномерную задачу условной глобальной оптимизации): найти минимум одномерноймногоэкстремальной функции (), определенной в замкнутой области допустимых значений и имеющей в этой области конечное число минимумов,

 (1)

Метод выделения интервалов унимодальностифункции () требует априорного знания оценки 0 минимального расстояния между локальными минимумами этой функции.

Схема метода (см. рис. 1):

Рис. 1.  К схеме метода выделения интервалов унимодальности.

  1. Полагаем =1.

  2. Если функция () в точке возрастает, то полагаем переходим на п. 4).

  3. Если функция () в точке убывает, то полагаем и переходим на п. 5).

  4. Последовательно увеличивая на величину по формуле , , находим первую точку , в которой функция () убывает. Здесь и далее - величина в несколько раз меньшая величины .

  5. Последовательно увеличивая на величину по формуле , , находим первую точку , в которой функция () возрастает.

  6. В качестве -го интервала унимодальности принимаем интервал [,].

  7. Если интервал [,] исчерпан, переходим на п.8), иначе полагаем , и переходим на п.4).

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

  9. Найдем минимальную из величин , [0,] и соответствующее значение аргумента: .

  10. В качестве решения задачи глобальной оптимизации(1) примем точку

На рис. 1 интервалами унимодальности являются интервалы [, ], [, ], [, ].

Для определения того, возрастает или убывает в данной точке функция (), может использоваться ее первая разность в этой точке , где - некоторая малая величина. А именно, если >0, то функция возрастает в точке ; иначе – убывает. Заметим, что при этом в каждой точке требуется выполнить дополнительное испытаниефункции ().

Если функция () непрерывно дифференцируема в интервале [,], то для определения того, возрастает или убывает в данной точке эта функция, можно, очевидно, использовать значения первой производной функции () в этой точке. А именно, если , то в точке функция () возрастает; в противном случае – убывает.

Замечание 1. Если априорная оценка минимального расстояния между локальными минимумами функции () отсутствует, то никаких оснований полагать, что в интервалах, выделенных с помощью рассмотренного алгоритма, функция () является унимодальной функцией. Пусть, например, функция () на интервале [,] постоянна (см. рис. 2). Если к такой функции применить алгоритм выделения интервалов унимодальности с любым >0, то в качестве интервала унимодальности будет выделен интервал , на котором функция () имеет бесконечное количество минимумов, т.е. не является унимодальной функцией

Рис. 2.  К замечанию 1.

5.3 Метод аппроксимирующих моделей

Рассмотрим одномерную задачу условной глобальной оптимизации): найти минимум одномерноймультимодальной функции (), определенной в замкнутой области допустимых значений :

 (1)

Схема метода

Схема метода аппроксимирующих моделей(см. рис. 1):

  1. Покрываем интервал [,] некоторой сеткой с узлами и производим испытанияв точках , т.е. вычисляем значения функции () в этих точках , .

  2. Строим аппроксимирующую функцию (), проходящую через точки , . Эту функцию принято называть математической моделью минимизируемой функции () или модельной функцией.

  3. Оцениваем адекватность построенной модели (). Для этого:

  • производим дополнительные испытанияфункции () в некоторых точках , ;

  • вычисляем значения модельной функции () и функции () в этих точках (), ;

  • вычисляем погрешность аппроксимации, например, .

  • Если погрешность аппроксимации превышает заданную, то по результатам всех предшествующих испытанийстроим новуюмодельную функцию () и переходим на п. 3).

  • Определяем положение глобального минимума модельной функции (), который или принимается в качестве глобального минимума функции (), или уточняется с помощью какого-либо метода локальной оптимизации

    Рис. 1.  К схеме метода аппроксимирующих моделей. N=5;

    На рис. 1 , - точки локального минимума модельной функции (); точка - приближенное значение точки глобального минимума функции () на интервале .

    В качестве модельных функций () чаще всего используют полиномы и сплайны.

    Рассмотрим использование в качестве модельной функцииполиномов.

    Аппроксимирующий полином Лагранжа

    Будем искать аппроксимирующий полином в виде

     (2)

    где (), - неизвестные полиномы от , независящие от аппроксимируемой функции ().

    Из того условия, что модельная функция () должна совпадать с аппроксимируемой функцией () в узлах сетки , [0,], имеем систему из равенств

     (3)

    Для выполнения равенств (3) полиномы , , очевидно, должны удовлетворять условиям

     (4)

    или, другими словами, полином (), должен иметь в качестве корней все числа , , кроме числа , а при должен иметь значение, равное единице.

    Условию (4) удовлетворяют только полиномы вида , где – неизвестная константа. Найдем эту константу из условия :

    ;

    .

    Таким образом,

     (5)

    и искомый аппроксимирующий полином определяют выражением

     (6)

    Полином (6) называется аппроксимирующим полиномом Лагранжа.

    Использование аппроксимирующего полинома Лагранжа (6) в качестве модельной функцииидейно очень просто, но обладает существенным недостатком. Пусть после построения этого полинома на сетке , [0,] и проверке его адекватности выясняется, что погрешность аппроксимации превышает заданную. Тогда, в соответствии с рассмотренной выше схемой метода, необходимо построить новый полином Лагранжа на сетке, полученной объединением сеток , , что требует пересчета всех посчитанных ранее функций , . От этого недостатка свободна модификация аппроксимирующего полинома Лагранжа – аппроксимирующий полином Ньютона.

    Нахождение стационарных точек аппроксимирующего полинома.

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

     (7)

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