Министерство образования рф
Санкт-Петербургский государственный электротехнический
университет «ЛЭТИ»
Кафедра САПР
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ № 2
по учебной дисциплине «методы оптимизации»
на тему «Исследование методов полиномиальной интерполяции для поиска минимума целевых функций»
Вариант 1
Выполнили:
Смирнов С.А.
Маркосов А.С.
Баранов А.А.
Группа: 5372
Факультет: КТИ
Проверил:
(должность, Ф.И.О.)
Санкт-Петербург
2007
Оглавление:
Задание…………………………………………………………………………….3
Описание методов оптимизации…………………………………………………3
Спецификация программы……………………………………………………….4
Листинг программы ……………………………………………………………...5
Результаты тестирования и Выводы…………………….……………………….7
Ответы на контрольные вопросы………………………………………………...8
Задание:
Целью работы является:
1) сравнение двух методов одномерной минимизации - прямого и интерполяционного;
2) разработка программы, реализующей прямой метод на этапе установления границ начального интервала и метод полиномиальной интерполяции для локализации искомого минимума.
Протестировать программу и сравнить результаты работы заданных методов оптимизации при использовании различных критериев окончания поиска и при задании различных значений погрешности локализации минимума. Сделать выводы.
Описание методов оптимизации:
Метод Свенна:
С помощью этого метода получаем начальный интервал локализации минимума.
Начальный этап:
1) задать x0 – произвольная начальная точка.
2) выбрать шаг hравным 0.001 или 0.01*|x0|.
Основной этап:
Шаг 1:
Установить направление убывания целевой функции. Для этого надо взять x2=x1+h. Еслиf1<f2, то надо поменять направление движения(h=-hи взятьx2=x1+h).
Шаг 2:
Вычислять fkв точкахxk+1=xk+hk, гдеhk=2hk-1,k=2,3,…,n-1 до тех пор пока не придём в точкуxnтакую чтоfn>fn-1.
Шаг 3:
Установить начальный интервал локализации минимума a1=xn-2иb1=xn.
Метод Фибоначчи 1:
Метод Фибоначчи является процедурой линейного поиска минимума унимодальной функции f(x) на замкнутом интервале [a, b], отличающейся от процедуры золотого сечения тем, что очередная пробная точка делит интервал локализации в отношении двух последовательных чисел Фибоначчи. Последовательность чисел Фибоначчи задаётся условиями F0= F1= 1, Fk+1= Fk+ Fk-1, k = 1,2,... Начальными членами последовательности будут 1, 1, 2, 3, 5, 8, 13,... Стратегия поиска Фибоначчи требует заранее указать n - число вычислений минимизируемой функции и- константу различимости двух значений f(x). Рассмотрим один из возможных вариантов метода.
Начальный этап
(1) Задать константу , начальный интервал [a1, b1], длину конечного интервала Lnи определить число n так, чтобы выполнялось условие Fn> (b1- a1)/Ln.
(2) Взять две пробные точки 1= a1+ (Fn-2/Fn)(b1- a1) и1= a1+ (Fn-1/Fn)(b1-a1). Положить k = 1.
Основной этап
Шаг 1. Сократить текущий интервал локализации:
(1) Если f(k) < f(k), то положить ak+1= ak, bk+1=k,k+1=kи вычислить новую точкуk+1= ak+1+ (Fn-k-2/Fn-k)Lk+1, где Lk+1= bk+1- ak+1; перейти на шаг 2.
(2) Если f(k)≥ f(k),то положить ak+1=k, bk+1= bk,k+1=kи вычислитьk+1= ak+1+ (Fn-k-1/Fn-k) Lk+1.
Шаг 2. Проверить критерий окончания поиска:
(1) Заменить k на k+1. (2) Если k = n - 1, перейти на шаг 3, иначе - на шаг 1.
Шаг 3. Найти аппроксимирующий минимум х(*):
(1) Положить k=k+.
(2) Если f(k) > f(k), то x(*)= (k+ bk)/2. В противном случае - x(*)= (ak+k)/2.
Метод ДСК:
Интерполяционный метод нахождения минимума
Начальный этап:
1) задать x0 – произвольная начальная точка.
2) выбрать шаг hравным 0.01…0.001(еслиx0 = 0) или 0.01*|x0|(еслиx0 не = 0).
3) e1=e2 (0.01…0.001)
Основной этап:
Шаг 1:
Получить 3 равностоящих точки методом Свенна2:
Установить направление убывания целевой функции. Для этого надо
взять x2=x1+h. Еслиf1<f2, то надо поменять направление движения
(h=-hи взятьx2=x1+h).
xk+1=xk+2*hk-1 пока не будетxm-1:fm-1<fm .
xm+1=(xm+xm-1)/2.
Из f(xm+1)иf(xm-1) взять минимальную
Переименовать а= xm-2 b=xm-1 с=xm+1или а=xm-1 b=xm+1 с=xm
Шаг 2:
Найти d=b+1/2*((b-a)*(f(a)-f(c))/(f(a)-2*f(b)+f(c)));
Шаг 3:
КОП: Если l(d-b)/bl<=e1 иl(f(d)-f(b))/f(b)l<=e2 выполняются, тоx*=(b-d)/2
Иначе: x0=min(f(b),f(d)) иh1=h/2gotoШаг1.