Материал: 862

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

2.1.4. Метод с использованием чисел Фибоначчи

Последовательность чисел, подчиняющаяся рекуррентному

соотношению

 

FS FS 1 FS 2

(20)

называется последовательностью чисел Фибоначчи. Другими словами, каждое последующее число Фибоначчи равно сумме двух предыдущих чисел. При этом нулевое число Фибоначчи равно единице, т.е.

 

F0=1.

 

(21)

В табл.1 приводится последовательность чисел Фибоначчи для

практически используемого диапазона.

 

 

Установлена

последовательность

поиска

экстремума

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

Таблица 1

Последовательность чисел Фибоначчи

S

0

1

2

3

4

5

6

7

8

9

10

11

12

FS

1

1

2

3

5

8

13

21

34

55

89

144

233

1. Определяется вспомогательное число N по заданной точности поиска и диапазону исследования (Xmax Xmin ), которое рассчитывается по формуле

N

Xmax Xmin

.

(22)

 

 

 

 

2. Из последовательности чисел Фибоначчи (см. табл. 1) находят такое, чтобы

FS 1 N FS .

(23)

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

 

h

Xmax Xmin

.

(24)

 

min

FS

 

 

 

4. Определяется первая искомая координата

X1 Xmin hmin FS 2 . (25)

Вычисляется значение целевой функции для точек Хmin и Х1. Пошаговая процедура в этом методе сводится к следующему:

20

определяем координату новой точки, затем вычисляем величины целевой функции в точке, откуда шагаем, и в точке, куда шагаем, которые сравниваем между собой. Если функция улучшилась, т.е. увеличилась при поиске максимума либо уменьшилась при определении минимума, то следующий шаг осуществляют из последней удачной точки в том же направлении, иначе говоря, в направлении последнего шага, уменьшая число Фибоначчи на единицу. Допустим, если на предыдущем шаге использовали F7=21, то на текущем шаге будет F6=13. Если же предыдущий шаг оказался неудачным, т.е. целевая функция в новой точке не улучшилась, то следующий шаг осуществляется из последней удачной точки (т.е. из той точки, из которой осуществляли шаг), но в сторону, обратную предыдущему шагу. Исключение здесь составляет лишь тот случай, когда мы шагаем из точки Хmin (т.е. из крайней левой точки) и шаг оказался неудачным. По изложенному правилу мы должны бы на следующем шаге переместиться влево от точки Хmin, т.е. за пределы рассматриваемого отрезка Хmin–Хmax. Поэтому в этом случае движение осуществляется из точки Хmin в направлении предыдущего шага (т.е. вправо от точки Хmin).

Возвращаясь к рассматриваемому примеру, получим (рис. 8) R(Xmin)<R(X1). Поскольку здесь определяется минимум целевой функции, то шаг оказался неудачным. Но в этом случае следующий шаг мы будем делать также вправо из точки Хmin, уменьшив номер числа Фибоначчи на единицу.

5. Производится вычисление второй координаты:

X2 Xmin h FS 3. (26)

Вычисляется значение целевой функции R(Х2).

Шаг выбран удачно, т.к. R(Х2)<R(Хmin) при поиске min, поэтому осуществляют третий шаг, рассчитывая соответствующую координату по формуле

x3 x2 hmin FS 4 .

(27)

Если бы предыдущий шаг оказался неудачным, т.е. R(Х2)>R(Х1) при поиске min, то третий шаг осуществлялся бы из исходного положения в обратную сторону, т.е.

x3 x2 hmin FS 5 . (28)

Шаговая процедура продолжается до тех пор, пока не будут исчерпаны в убывающей последовательности все числа Фибоначчи. Геометрическая интерпретация этого метода приведена на рис. 8.

Данный метод обеспечивает следующую точность поиска:

21

 

Xmax Xmin

,

(29)

 

 

FS

 

где FS – выбранное число Фибоначчи.

Для того чтобы можно было сравнить рассматриваемые методы по точности поиска, принимаем S=21. Тогда точность поиска составит

 

 

1

0,56 10 4.

Xmax Xmin

 

 

F21

R(x)

R(x1)

R(x3)

R(xmin)

R(x2)

R(x4)

 

4

3

 

 

 

 

5

 

 

 

 

2

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

xmin

x5 x4 x2

 

 

x3

x1

xmax

 

 

Рис. 8. Геометрическая интерпретация метода с использованием чисел Фибоначчи

Из этого следует, что метод с использованием чисел Фибоначчи обеспечивает наибольшую среди рассматриваемых методов точность поиска.

2.2 Безградиентные методы поиска экстремума многомерных функций

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

22

сканирования с шагом (заданная точность поиска), а затем в узловых точках сетки определяют величины откликов и из них выбирают наилучший по заданному критерию.

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

Расчеты с использованием любого из этих методов заканчиваются, если шаг поиска будет равен заданной точности поиска по осям и очередные пробные движения по всем осям не приводят к успеху. Тогда последняя удачная точка является решением задачи.

2.3. Типовой расчет "Безградиентные методы поиска экстремума одномерных функций"

2.3.1. Задание

Допустим, в результате исследования объекта получена следующая функция в общем виде

R(x) ax4

 

bx3

dx min.

(30)

c x

 

 

 

 

Используя исходные данные (прил. 1), где заданы коэффициенты a, b, с, d (столбцы 2–5) для 31 различного варианта, необходимо:

1.Определить экстремум функции (30) методом с использования чисел Фибоначчи для указанного варианта с заданной точностью поиска в заданном диапазоне xmin xmax (см. столбцы 6 – 7).

2.Определить экстремум функции (30) (см. столбцы 2 – 5) методами сканирования, локализации экстремума и золотого сечения (см. столбец 9) в указанном диапазоне xmin ,xmax (см. столбцы 6 – 7) с предложенной точностью поиска (см. столбец 8).

23

2.3.2. Образец выполнения работы

Текст задания записать в соответствии с подразд. 2.3.1 в отчет. Числовые значения по заданному варианту свести в табл. 2. Для примера рассмотрим выполнение настоящей работы по варианту 31 со следующими исходными данными (см. табл. 2).

 

 

 

Исходные данные

 

 

Таблица 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

№ вар.

a

b

с

d

 

xmin

xmax

 

 

31

10

8

4

19

 

0

2

0,1

 

На основе исходных данных (см. табл. 2) и формулы (30) имеем исходную функцию

R(x) 10x4 8x3 19x min, 4 x

которую необходимо согласно заданию исследовать на минимум четырьмя методами.

1. Метод с использованием чисел Фибоначчи.

Решение задачи методом с использованием чисел Фибоначчи осуществляем в такой последовательности:

1.1.Вычисляем вспомогательное число N согласно (22):

N xmax xmin 2,0 20.

0,1

1.2.Из последовательности чисел Фибоначчи, которую создайте сами, определяем число S, соответствующее величине N по соотношению (23). Имеем S 7; F7 21.

1.3.Определяем минимальный шаг поиска согласно (24):

h xmax xmin 2,0 0,1.

FS 21

1.4.Определяем первую искомую координату согласно (25): x1 xmin h FS 2 0 0,1 8 0,8.

Вычисляем R(0,8) 10(0,8)4 8 (0,8)3 19 0,8 12,38. Поскольку 4 0,8

R(xmin ) R(0) 0, то шаг сделан удачным, так как величина функции уменьшилась при перемещении из точки xmin в точку x1, т.е.

0> –12,38.

24