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

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

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

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

Кафедра САПР

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ № 5

по учебной дисциплине «методы оптимизации»

на тему «Проектирование программы оптимизации»

Вариант 1

Выполнили:

Смирнов С.А.

Маркосов А.С.

Баранов А.А.

Группа: 5372

Факультет: КТИ

Проверил:

(должность, Ф.И.О.)

Санкт-Петербург

2007

Оглавление:

Задание…………………………………………………………………………….3

Описание методов оптимизации…………………………………………………3

Спецификация программы……………………………………………………….4

Листинг программы ……………………………………………………………...5

Результаты тестирования и Выводы…………………….……………………...13

Ответы на контрольные вопросы……………………………………………….13

Задание

Цель работы – изучение современной технологии разработки программ оптимизации, ориентированных на язык C++, и модификация программы, разработанной в лабораторной работе 4.

Описание методов оптимизации

Метод Свенна 4.

Начальный этап. Для запуска метода необходимо:

(1) задать x0 – начальная точка.

(2) выбрать шаг hравным 0.001 илиmin{η,|(y1-y’)/y’1|}, гдеη=1,2.

(3) выбрать направление поиска p.

Основной этап

Шаг 1. Установить направление убывания функции. h=h, еслиy’(x0,p)<0 иh=-h, еслиy’(x0,p)>0.

Шаг 2.Двигаться в направлении р, вычисляя значение функции в точках xk+1=xk+hk*p,hk=2hk-1. Пока производная не поменяет знак, т.е.Y’m-1*Y’m<0

Шаг 3. Фиксируем начальный интервал: [Xm-1,Xm]

Метод Дэвидона.

Этот метод является аналогом метода кубической аппроксимации в задачах поиска минимума функции нескольких переменных по заданному направлению. Идея метода заключается в том, чтобы на ТИЛ найти аппроксимирующий минимум строя полином 3-го порядка.

Начальный этап:

  1. Взять ε, х 0– начальную точку поиска,p– направление поиска.

  2. Найти начальный шаг α1=min{η,|(y1-y’)/y’1|}, гдеη=1,2.y1=y(x1),y’1=y’(x1,p)

  3. Получить начальный интервал поиска [a,b] методом Свенна 4.

Основной этап:

  1. Найти аппроксимирующий минимум, т.е. точку rпо формулам:

r = a+αr *p

αr = α a +γ*( α b - αa )

γ=(z-f’a+W)/(fb-f’a+2*W)

W=√z2-f’a*f’b

z=f’a+f’b+3*(fa-fb)/(b-a)

  1. Проверить КОП если Y’r<=ε, то остановиться.X=a+αr *pИначе сократить ТИЛ двумя способами:

Y’r<0 -> [r,b]

Y’r>0 -> [a,r]

Установить k=k+1 и вернуться на шаг 1.

Можно модифицировать алгоритм – ввести смещение точек на α0.

Метод Коши

Начальный этап:

Взять ε - погрешность,

х 0– начальную точку поиска,

k=1 – счетчик количества итераций.

Основной этап:

Шаг1: Вычислить антиградиентное направление pk = -grad(yk );

Шаг2: Найти оптимальный шаг αk с помощью метода Дэвидона;

Шаг3: Перейти в новую точку:

- xk+1= xk + αk*pk ;

- k=k+1;

Шаг4: Проверить КОП (любой): ‌

(1) ||∆ xk|‌|<=e1

(2) | ∆yk‌|<=e2

(3) ||grad(yk)‌||<=e3

(4) ||∆ xk|‌|/(1+||∆xk|‌|)<=e4

(5) ||grad(yk)‌||/(1+||grad(yk)‌||)<=e5

Если КОП выполняется остановимся x* =xк+1 , иначе вернуться на

Шаг1.

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