Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
RK6_Методы_Оптимизации / Все вместе / Оптимизация Глава 4.doc
Скачиваний:
99
Добавлен:
10.02.2015
Размер:
2.88 Mб
Скачать

§2. Метод сокращения текущего интервала неопределенности. Алгоритм равномерного дихотомического поиска.

Рассмотрим следующую задачу одномерной условной унимодальной оптимизации: найти минимум одномерной унимодальной функции Φ(x), определенной в замкнутой области допустимых значений D=[a,b],

Φ(x)=Φ(x*)

с точностью .

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

Более строго описанную схему алгоритма можно записать в нижеследующем виде.

  1. Выполняем присваивания r=1, a1=a, b1=b, ТИН1=[a1, b1].

  2. Вычисляем величины (рисунок 1)

, .

Рисунок 1 - К определению величин

  1. Вычисляем величины ,.

  2. Если , то выполняем присваивания, . Иначе - выполняем присваивания , . ПолагаемТИНr+1=[ar+1,br+1].

  3. Если |ТИНr+1|εx,, то заканчиваем вычисления. Иначе - выполняем присваивание r=r+1 и переходим на п. 2.●

Приведенную схему алгоритма равномерного дихотомического поиска иллюстрирует рисунок 2.

Рисунок 2 - Две первые итерации поиска минимума одномерной унимодальной функции с помощью алгоритма равномерного дихотомического поиска.

Легко видеть, что после одной итерации алгоритма равномерного дихотомического поиска текущий интервал неопределенности уменьшается в 2 раза. Поэтому количество итераций r, необходимых для нахождения минимума функции с точностью εx, находится из условия

.

Алгоритм равномерного дихотомического поиска относится к классу прямых методов последовательного поиска.

Входные термины:

  • задача условной оптимизации;

  • одномерная унимодальная функция;

  • метод последовательного поиска.

  • прямой метод поиска;

  • метод сокращения текущего интервала неопределенности.

Выходные термины:

  • алгоритм Фибоначчи;

  • алгоритм золотого сечения.

§3. Метод сокращения текущего интервала неопределенности. Алгоритм Фибоначчи.

Рассмотрим следующую задачу одномерной условной унимодальной оптимизации: найти минимум одномерной унимодальной функции Φ(x), определенной в замкнутой области допустимых значений D=[a,b],

Φ(x)=Φ(x*)

с точностью .

Числа Фибоначчи и их некоторые свойства.

Числа Фибоначчи задаются следующим рекуррентным уравнением:

, ,.(1)

Числа Фибоначчи приведены в нижеследующей таблице.

N

0

1

2

3

4

5

6

7

8

9

10

11

12

13

iN

1

1

2

3

5

8

13

21

34

55

89

144

233

377

Общее выражение для N-го числа Фибоначчи можно получить из решения уравнения (1):

, где .

Поскольку , при больших значенияхN членом можно пренебречь. При этом

. (2)

Отсюда следует, что . Т.е. при достаточно большихN отношение двух соседних чисел Фибоначчи примерно постоянно и равно τ.

Алгоритм Фибоначчи.

Алгоритм Фибоначчи относится к классу прямых алгоритмов последовательного поиска и включает в себя два следующих этапа (число N должно быть задано до начала вычислений).

Первый этап состоит из (N-1)-й итерации для r=1,2,…N-1. Рассмотрим схему r-й итерации, когда ТИНr=[ar,br]:

  1. Вычисляем величины

, .

  1. Вычисляем значения .

  2. Если , то выполняем присваиванияar+1=ar, br+1=. Иначе - выполняем присваивания ar+1=, br+1=br . Полагаем ТИНr+1=[ar+1,br+1] – рисунок 1●

Рисунок 1 - К схеме первого этапа алгоритма Фибоначчи

Алгоритм Фибоначчи обладает тем свойством, что после выполнения -й итерации имеет место следующая ситуация:==- рисунок 2. Т.е. в результате-й итерации сужение текущего интервала неопределенности не происходит:

ТИНN-1=[aN-1,bN-1]=ТИНN-2=[aN-2,bN-2].

Отметим, что, легко видеть, точка расположена в серединеТИН.Указанное свойство алгоритма Фибоначчи обусловлено тем, что .

Второй этап призван решить по какую сторону от точки лежит точка минимумафункции Ф(х).

Рисунок 2 - Схема -ой итерации алгоритма Фибоначчи

Второй этап выполняется по следующей схеме:

  1. Находим точку , где- свободный параметр алгоритма.

  2. Вычисляем значение функции .

  3. Если , то выполняем присваивания ТИНN=[aN-1,xN-1]. Иначе выполняем присваивания ТИНN=[xN-1,bN] – рисунок 3●

Рисунок 3 – Ко второму этапу алгоритма Фибоначчи

Некоторые свойства алгоритм Фибоначчи.

Утверждение 1. Для любого алгоритм Фибоначчи обладает следующим свойством: одна из точексовпадает с одной из точек(рисунок 4).

Доказательство. Пусть на r-й итерации (ситуацияб на рисунке 4). В соответствии с алгоритмом Фибоначчи причем, очевидно, . Рассмотрим точку

= .

Подставим сюда значение координаты точки

:

=.

Аналогично проводится доказательство для случая (ситуацияа на рисунке 4).●

Рисунок 4 - К утверждению 1

Указанное свойство алгоритма Фибоначчи позволяет на каждой итерации (кроме первой) производить испытания только в одной точке.

Утверждение 2. Точки расположены симметрично относительно концов текущего интервала неопределенностиТИНr=[ar,br], т.е. расстояние точки до точкиar равно расстоянию точки до точки: (рисунок 5).

Доказательство. В соответствии с алгоритмом Фибоначчи имеем:

=

=.

Но из формулы (1) следует, что . Подставляя это в предыдущую формулу, получим

=

Из утверждения 2 следует, что .

Рисунок 5 - К утверждению 2

Утверждение 3. В результате любой итерации алгоритма Фибоначчи длина текущего интервала неопределенности уменьшается в раз.

Доказательство. Поскольку (см.утверждения 2), достаточно рассмотреть только один из интервалов ,. Рассмотрим первый из указанных интервалов:

=

Утверждение 4. При достаточно больших N в результате одной итерации алгоритма Фибоначчи длина текущего интервала неопределенности уменьшается примерно в τ раз.

Доказательство. Справедливость утверждения следует из утверждения 3 и из того факта, что при достаточно больших N имеем (см. (2)):

Из утверждения 4 следует, что при достаточно больших N алгоритм Фибоначчи практически идентичен алгоритму золотого сечения (см. следующий параграф).

Утверждение 5. В результате N итераций алгоритма Фибоначчи длина текущего интервала неопределенности становится равной

. (3)

Доказательство. Из утверждения 3 следует, что:

  • после первой итерации длина ТИН равна ;

  • после второй итерации - ;

  • .

  • после итерации номер N-2 длина ТИН равна ;

  • после итерации номер N-1 длина ТИН не меняется;

  • после итерации номер N длина ТИН уменьшается в два раза и становится равной

Поэтому количество итераций N, необходимых для нахождения минимума функции с точностью εx, находится из условия

.

Алгоритм Фибоначчи относится к классу прямых методов поиска.

Пример 1 (для самостоятельной аудиторной работы). Пусть необходимо найти с использованием N=6 итераций алгоритма Фибоначчи минимум одномерной унимодальной функции Ф(x)=2(х-12)2+3, где . Положим, чтоδx=0.1.