О САЙТЕ
Добро пожаловать!

Теперь вы можете поделиться своей работой!

Просто нажмите на значок
O2 Design Template

ФЭА / АИТ / ОТЧEТ по лабораторной работе №2 по дисциплине: “Оптимизация и оптимальное управление” на тему: “Решение задачи оптимизации методом чисел Фибоначчи”

(автор - student, добавлено - 26-03-2014, 13:09)

 СКАЧАТЬ:  opt-lab2.zip [115,9 Kb] (cкачиваний: 65)

ЕЩЕ ПАРА ВАРИАНТОВ:  opt-lab2-moya.zip [786,95 Kb] (cкачиваний: 46)

 

 

 

 

ОТЧEТ

по лабораторной работе №2

по дисциплине: “Оптимизация и оптимальное управление”

на тему: “Решение задачи оптимизации методом чисел Фибоначчи”

 

 

Цель работы: Изучение метода чисел Фибоначчи и оптимизация заданной функции всеми тремя методами

Сведения из теории

Метод Фибоначчи является наиболее эффективным методом сокращения интервала неопределенности; однако для применения его необходимо задаваться общим числом вычислений, что не всегда удобно. Начиная поиск минимума неизвестной функции, проектировщик может не иметь четкого представления о желаемом числе анализов модели. Заметим, что метод дихотомии и золотого сечения свободны от этого недостатка. К тому же, метод золотого сечения лишь ненамного (17 %) уступает по точности методу Фибоначчи. Таким образом, если количество вычислений не задано, то используется метод «золотого» сечения, если задано, - то Фибоначчи.

 

В табл. 1 приведены некоторые из чисел Фибоначчи.

Таблица 1.

k

1

2

3

4

5

6

7

Fk

1

2

3

5

8

13

21

k

8

9

10

11

12

13

14

Fk

34

55

89

144

233

377

610

k

15

16

17

18

19

20

21

Fk

987

1597

2584

4181

6765

10946

17711

 

Рассмотрим теперь алгоритм поиска, использующий числа Фибоначчи (рис. 1). Порядок его выполнения при поиске минимума складывается из следующих этапов:

1. По заданной точности Δ, с которой необходимо найти положение экстремума функции R(x) в интервале [a, b], рассчитывается вспомогательное число N:

                                                                                                           (1)

2. Для полученного значения N находится такое число Фибоначчи Fs , чтобы выполнялось неравенство:

                                                                                                   (2)

3. Определяется минимальный шаг поиска по формуле:

                                                                                                         (3)

4. Рассчитывается значение функции R(x) в начале интервала, т. е. R(a).

5. Следующая точка, в которой вычисляется значение R(x), находится по формуле:

                                                                                                 (4)

6. Если этот шаг оказался удачным, т. е. R(x(1) )< R(a), то следующая точка определяется как

                                                                                               (5)

При R(x(1) )> R(a) (шаг неудачный)

                                                                                               (6)

7. Последующие шаги выполняются с уменьшающейся величиной шага, которая для i-го шага будет равна

                                                                                                (7)

в соответствии со следующим правилом. Если при выполнении шага                Dx(i ) значение функции в точке x(i+1) = x(i ) + Dx(i ) оказывается меньше, т. е.

R(x(i+1) )< R(x(i ) ) (шаг удачный), то следующий (i +1)-й шаг выполняется из точки

                                                                                               (8)

Если же i -й шаг оказался неудачным, т.е. R(x(i+1) )> R(x(i ) ), то следующий    (i +1)-й шаг выполняется из точки x(i ) :

                                                                                                 (9)

Указанный процесс продолжается до тех пор, пока не будут исчерпаны все числа Фибоначчи в убывающей последовательности:

Fs-i-2 = Fs-i Fs-i-1                                                                                                                                          (10)

 

 

Практическая часть

Задание: Найти экстремум функции:

на интервале [3;3.3] с точностью 0,02.

Решение:

PROGRAM FIBONACHI2;

USES crt;

VAR i,j,s,k:integer;

H:array[1..15] of real;

F:array[1..15] of real;

Q:array[1..15] of real;

dx:array[1..15] of real;

A:real;

B:real;

d:real;

dl:real;

optim:real;

BEGIN

clrscr;

F[1]:=1; F[2]:=2; F[3]:=3; F[4]:=5; F[5]:=8;

F[6]:=13; F[7]:=21; F[8]:=34; F[9]:=55; F[10]:=89;

F[11]:=144; F[12]:=233; F[13]:=377; F[14]:=610; F[15]:=987;

A:=350;

B:=369;

s:=22;

dl:=(B-A)/F[s];

H[1]:=a;

j:=0;

n:=0;

optim:=0;

for i:=1 to 15 do begin

n:=s-2-j;

j:=j+1;

dx[j]:=dl*F[n];

end;

H[2]:=H[1]+dx[1];

for i:=1 to 14 do begin

Q[i]:=-188.887+0.447*H[i];

Q[i+1]:=-188.887+0.447*H[i+1];

if Q[i+1]>Q[i] then H[i+2]:=H[i+1]+dx[i+1];

if Q[i+1]<Q[i] then H[i+2]:=H[i+1]-dx[i+1];

end ;

for i:=1 to 14 do

begin write ('H',i,'=',H[i]:5:3);

write (' Q',i,'=',Q[i]:5:7);

writeln;

end;

write ('H','[optim]','=',H[14]:5:3);

END.

 

Выводы: В результате выполнения этой лабораторной работы мы научились вычислять находить экстремумы функции с помощью метода чисел Фибоначчи и показали, что этот метод позволяет с помощью небольшого количества итераций оптимизировать функции с высокой точностью.


Ключевые слова -


ФНГ ФИМ ФЭА ФЭУ Яндекс.Метрика
Copyright 2021. Для правильного отображения сайта рекомендуем обновить Ваш браузер до последней версии!