Метод Фибоначчи

advertisement
МЕТОДЫ ОПТИМИЗАЦИИ
Автор курса лекций:
Черногородова Галина Матвеевна,
к.т.н., доцент кафедры автоматизированных систем управления УГТУУПИ
Екатеринбург 2008
Модуль 2. Безусловная оптимизация
Прямые методы поиска
•
•
•
•
Методы одномерной оптимизации
Лекция 2.1. Постановка задачи и стратегии поиска. Методы
равномерного поиска, деления интервала пополам, дихотомии
Лекция 2.2. Метод квадратичной интерполяции
Лекция 2.3. Методы «золотого сечения» и Фибоначчи
•
1.
2.
3.
4.
5.
6.
Изучение теоретической части модуля 2 даёт знания о
постановке задачи безусловной оптимизации
стратегиях поиска
понятии унимодальной функции
классификации методов одномерной оптимизации
алгоритмах основных методов
сравнительных характеристиках методов
Модуль 2. Прямые методы поиска Метод Фибоначчи
3
Методы оптимизации
Необходимая предварительная
подготовка
•
Из курса математики:
1. Вычисление и анализ функций
2. Численные методы
3. Аналитическая геометрия
Модуль 2. Прямые методы поиска Метод Фибоначчи
4
Методы оптимизации
Лекция 2.
Методы «золотого сечения» и Фибоначчи
Цели изучения
• Постановка задачи безусловной оптимизации
• Определение стратегий поиска
• Понятие унимодальной функции
• Классификация методов одномерной оптимизации
• Изучение алгоритмов основных методов
• Сравнительная характеристика изучаемых методов
Модуль 2. Прямые методы поиска Метод Фибоначчи
6
Методы оптимизации
Модуль 2. Безусловная оптимизация
Прямые методы поиска
•
•
•
•
Метод равномерного поиска
Метод дихотомии
Метод деления интервала пополам
Метод квадратичной интерполяции
• Метод «золотого» сечения
• Метод Фибоначчи
Модуль 2. Прямые методы поиска Метод Фибоначчи
7
Методы оптимизации
Метод Фибоначчи
Числа Фибоначчи
В методе Фибоначчи реализована стратегия, обеспечивающая
максимальное
гарантированное
сокращение
интервала
неопределенности при заданном количестве вычислений функции и
претендующая на оптимальность. Эта стратегия опирается на
числа Фибоначчи.
Числа Фибоначчи определяются по формулам:
F0  F1  1, Fk  Fk 1  Fk 2 , k  2, 3, 4,
…
Последовательность чисел Фибоначчи имеет вид:
1; 1; 2; 3; 5; 8; 13; 21; 34; 55; 89; 144; 233; 377; 610; 987; 1597; 2584; 4181; 6765;
10946; 17711; 28657; 46368; 75025; 121393; 196418; 317811; 514229; 832040;
1346269; 2178309; 3524578; 5702887; 9227465; 14930352; 24157817; 39088169;…
Модуль 2. Прямые методы поиска Метод Фибоначчи
9
Методы оптимизации
Алгоритм метода Фибоначчи
•
Шаг 1. Задать начальный интервал неопределенности L0   a0 , b0 
l > 0 – допустимую длину конечного интервала,

•
> 0 – константу различимости.
Шаг 2. Найти количество N вычислений функции как
наименьшее целое число, при котором удовлетворяется условие
L
F ичисла Фибоначчи .
0
N
l
•
Шаг 3. Положить k = 0.
•
Шаг 4. Вычислить
•
Шаг 5. Вычислить
y k  ak 
FN 2
(bk  ak ),
FN
z k  ak 
FN 1
(bk  ak ).
FN
f ( yk ), f ( zk )
Модуль 2. Прямые методы поиска Метод Фибоначчи
10
Методы оптимизации
Алгоритм метода Фибоначчи
•
Шаг 6. Сравнить
а) если
f ( yk )
f ( yk )  f ( zk )
ak 1  ak ; bk 1  zk ; zk 1  yk ; yk 1  ak 1 
б) если
положить
и
f ( zk )
, то положить
FN k 3
 bk 1  ak 1  ;
FN k 1
f ( yk )  f ( zk )
ak 1  yk ; bk 1  bk ; yk 1  zk ; zk 1  ak 1 
и перейти к шагу 7.
•
Затем перейти к шагу 7.
FN k 2
 bk 1  ak 1  ;
FN k 1
Шаг 7. Проверить условие окончания и в случае необходимости
сделать заключительное N-e вычисление функции для получения
решения:
1. а) если k  N - 3 , положить к = к +1 и перейти к шагу 4;
б) если k  N -3 , то всегда
yN 2  z N 2 
Модуль 2. Прямые методы поиска Метод Фибоначчи
 aN 2  bN 2 
2
11
Методы оптимизации
Алгоритм метода Фибоначчи
•
Шаг 7. (продолжение)
Следует положить
yN 1  yN 2  zN 2 ; zN 1  yN 1  
В точках yN 1 и zN 1 вычисляются значения функции и находятся
границы конечного интервала неопределенности:
- если
f  yN 1   f  zN 1  ,
положить
aN 1  aN 2 , bN 1  zN 1
- если
f  yN 1   f  zN 1  ,
положить
a N 1  y N 2 , bN 1  bN 2
Процесс поиска завершается и x*  aN 1 , bN 1  . В качестве
приближенного решения можно взять любую точку последнего
интервала. Характеристика относительного уменьшения
начального интервала неопределенности находится по формуле
,R  N   1
FN
где N – количество вычислений функции.
Модуль 2. Прямые методы поиска Метод Фибоначчи
12
Методы оптимизации
Метод Фибоначчи. Пример
•
Найти минимум функции f (x) = 2 x2 -12 x
методом Фибоначчи
1.
Зададим начальный интервал
неопределённости:
L0 = [0, 10].
Пусть l = 1, ε = 0,01;
F6 = 13 > |L0| / l = 10, поэтому N = 6.
2. Числа Фибоначчи:
F0 = F1 = 1, F2 = 2, F3 = 3, F4 = 5, F5 = 8, F6 = 13.
Модуль 2. Прямые методы поиска Метод Фибоначчи
13
Методы оптимизации
Пример. Нулевая итерация
3. Положим k=0
4. Вычислим
5. Вычислим
6. Сравниваем:
y0  a0 
F4
5
 b0  a0   0  *10  3,846;
F6
13
z0  a0 
F5
8
 b0  a0   0  *10  6,154
F6
13
f ( y0 )  16,57; f ( z0 )  1,893
f ( y0 ) и f ( z0 ) , тогда
a1  a0  0; b1  z0  6,154; y1  a1 
F63
3
b1  a1   0  * 6,154  2,308; z1  y0  3,846
F61
8
7. Проверим условие окончания;
k = 0 ≠ N -3 = 6-3; L2 = [0; 6,15]
Положим k = 1 и перейдём к шагу 5.
Модуль 2. Прямые методы поиска Метод Фибоначчи
a0
14
y0 z0
Методы оптимизации
b0
Пример. Первая итерация
a1 = 0; b1 = 6,154; y1 = 2,31; z1 = 3,846.
5. Вычислим: f ( y1 )  17, 04; f ( z1 )  16,57
6. Сравниваем: f ( y1 ) и f ( z1 ) . Так как f(y1) < f(z1), то
a2  a1  0; b2  z1  3,864; y2  a2 
F64
2
b2  a2   0  *3,864  1,538; z2  y1  2,308
F62
5
2
 *3,864  1,538; z2  y1  2,308
5
a1
y1 z1
b1
7. Проверим условие окончания: k=1 ≠ N-3 = 3;
L2 = [0; 3,864].
Положим k = 2 и перейдём к шагу 5
Модуль 2. Прямые методы поиска Метод Фибоначчи
15
Методы оптимизации
Пример. Вторая итерация
Получили:
a2 = 0; b2 = 3,84; y2 = 1,54; z2 = 2,308
Вычислим f (y2) = -13,73;
f (z2) = -17,04.
6. Сравним: f (y2) > f (z2), тогда
5.
a3  y2  1,538; b3  b2  3,864; y3  z2  2,308
z3  a3 
F6 4
2
 b3  a3   1,538  *  3,864  1,538   3, 077
F63
3
7. Проверим условие окончания: k = 2 ≠ N-3 = 3;
L4 = [1,54; 3,84]
Положим k = 3 и перейдём к шагу 5
Модуль 2. Прямые методы поиска Метод Фибоначчи
a2
y2 z2
16
b2
Методы оптимизации
Пример. Третья итерация
Получили:
a3 = 1,54; b3 = 3,86; y3 = 2,31; z3 = 3,08
5. Вычислим f (y3) = -17,04;
f (z3) = -17,99
6. Сравним: f (y3) > f (z3), тогда
a4  y4  2,308; b4  b3  3,864; y4  z3  3, 077
z4  a4 
F65
1
 b4  a4   2,308  *  3,864  2,308   3, 077
F6 4
2
7. Поверим условие окончания:
k = 3 = N -3 = 3;
L5 = [2,31; 3,846].
Положим y5 = y4 = z4 = 3,08;
z5 = y5 + ε = 3,077 + 0,01 = 3,09
f(y5)=-17.98817; f(z5)=-17,98486.
Так как f (y5) < f (z5), то a5 = a4 = 2,308;
b5 = z5 = 3,09
Модуль 2. Прямые методы поиска Метод Фибоначчи
a3 y3 z3 b
3
17
Методы оптимизации
Пример. Результат вычислений
Таким образом, x*  L6 = [2,308; 3,087];
|L6| = 3,087 – 2,308 = 0,78 < l = 1.
В качестве приближённого решения возьмём
середину интервала L6:
x*  2,697.
Модуль 2. Прямые методы поиска Метод Фибоначчи
x*
18
Методы оптимизации
Сравнение методов
Метод «Золотого сечения»
x*  2,81
(5 итераций)
Метод Фибоначчи
x*  2,69
L6 = [2,308; 3,087]
(4 итерации)
x*  3,09
(4 итерации)
Модуль 2. Прямые методы поиска Метод Фибоначчи
19
Методы оптимизации
Выводы
•
•
•
•
•
Итак, мы рассмотрели:
постановку задачи безусловной оптимизации и стратегии
поиска
классификацию методов одномерной оптимизации
алгоритмы методов:
1. равномерного поиска,
2. дихотомии,
3. квадратичной интерполяции
4. золотого сечения
5. Фибоначчи
сравнительные характеристики этих методов
Модуль 2. Прямые методы поиска Метод Фибоначчи
20
Методы оптимизации
Информационное обеспечение лекции
• Литература по теме:
1. Аттетков А.В. Методы оптимизации: учеб. Для вузов/
А.В. Аттетков, С.В. Галкин, В.С. Зарубин. М.: Изд-во
МГТУ им. Баумана, 2003, 440 с.: ил.
1. Черногородова Г.М. Методы оптимизации. Нелинейное
программирование: учеб. пособие / Г.М. Черногородова.
Екатеринбург: УГТУ, 2007. – 113 с.: ил.
•
Электронный адрес: gmche@rtf.ustu.ru
Модуль 2. Прямые методы поиска Метод Фибоначчи
21
Методы оптимизации
сообщение
•Курс лекций является частью учебно-методического комплекса
«Методы оптимизации», авторский коллектив:
•Черногородова Галина Матвеевна, к.т.н., доцент кафедры
автоматизированных систем управления УГТУ-УПИ
•Учебно-методический комплекс подготовлен на кафедре АСУ РИРТФ УГТУ-УПИ
•Никакая часть данной презентации не может быть воспроизведена
в какой бы то ни было форме без письменного разрешения автора.
Модуль 2. Прямые методы поиска Метод Фибоначчи
22
Методы оптимизации
Download