Скачиваний:
26
Добавлен:
01.05.2014
Размер:
90.11 Кб
Скачать

Министерство образования рф

Санкт-Петербургский государственный электротехнический

университет «ЛЭТИ»

Кафедра САПР

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ № 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:

  1. Установить направление убывания целевой функции. Для этого надо

взять x2=x1+h. Еслиf1<f2, то надо поменять направление движения

(h=-hи взятьx2=x1+h).

  1. xk+1=xk+2*hk-1 пока не будетxm-1:fm-1<fm .

  2. xm+1=(xm+xm-1)/2.

  3. Из f(xm+1)иf(xm-1) взять минимальную

  4. Переименовать а= 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.

Соседние файлы в папке Всё стасовское новое