Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Численные методы решения задач строительства на ЭВМ..pdf
Скачиваний:
51
Добавлен:
15.11.2022
Размер:
16.27 Mб
Скачать

1.Методы последовательного поиска (методы перебора, дихотомии, золотого сечения и др.);

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

Рассмотрим некоторые из этих методов.

Метод перебора или равномерного поиска

Данный метод является простейшим из прямых методов минимизации и состоит в следующем:

Отрезок [а,Ь\ разбивается на п равных частей точками деления:

Xi=a+i(b-a)/n, /=1,2, ...и.

(8.89)

Вычислив значения Z(x) в точках х„ путем сравнения находится точка х,„ (где т - число от 1 до п) такая, при которой

Z(xm)=minZ(x,) для всех / от 1 до п.

Погрешность 8 определения точки минимума хт функции Z(x) методом перебора не превосходит величины е=(Ь-а)/п.

Метод дихотомии (или половинного деления)

Идея метода заключается в том, чтобы на каждом шаге итерации (п = 1,2,...) целевая функция Z(x) вычислялась только в двух точках, и при этом вдвое уменьшалась интервал неопределенности (ИН).

Исходя из свойства унимодальности функции, можно построить такую стратегию последовательного поиска точки

минимума х ,

при которой любая пара опытов (вычислений Z(x))

позволяет

сузить

область

поиска

(или

интервал

неопределенности). В самом деле, вычисляя Z(x) в точках Х\ и х2 таких, при которых а <х\ < х2 < Ь, можно локализовать интервал неопределенности путем анализа полученных значений функции

(рис.8.20) [20]:

 

 

 

>

если Z(x\)<Z{x2),

то х*е [а, х2\,

(8.90)

если Z(x,)=Z(x2),

то

х е

[хц х2];

если Z(xi)>Z(x2),

то

х*е

[хц Ь].

 

При этом можно построить последовательность вложенных отрезков [а, Ь] з [а,, 6,] з з [аП;Ь 6„_,] з [ап, Ьп], каждый из которых содержит точку минимума х*функции Z(x).

Стратегия выбора значений х\ и х2для проведения опытов с учетом предыдущих результатов определяет сущность различных методов последовательного поиска.

ин ИН

Z(x)

т

т

!

1

1

I

I

1 11

LКУУХЛ____

1

1

-ixxxj....

 

 

ин

 

Z(X)

-

 

'

 

0

 

 

 

1

о

 

 

|

'

 

.....

1

!

L

..Качм___ 1

А ^ ^ Ь Х & Х1 *2 Ь Х а XJ *2 Ь *

Рис.8.20. Влияние парного эксперимента на определение области поиска.

В частности, в методе дихотомии этот выбор производится следующим образом:

1) Вычисляется срединная точка интервала

хт= ^ ^ ,{ п = 0 ,\,2 ,...У ,

2) Определяются координаты двух точек слева и справа вблизи

точки х1П:

дг, = хт - 1 , *2 = хт + 1 ,

где £>0 -- требуемая точность определения точки х

3)Вычисляются значения целевой функции в этих точках Z(xО и Z(x2) и сравниваются в соответствии с условиями (8.90).

4)Если (b„-a,J< г, то поиск прекращается, в противном случае выполняется следующая итерация.

Для п - 0, 1, 2,... можно записать последовательности вычисления {о,,}, {£„}, {*i(n)}, {*2(п)Ь используя рекуррентные формулы:

а0=а, b0=b;

х1(,,-|) =(«„_, + 6 „ ..- е )/ 2,

если Z ( x [ n~X)) < Z(JC2”_1)) >то

если Z (X,("“i)) = Z (J4""I)) , TO

4 - ”

+ ^ » - i + е ) / 2 ,

® П -\ 5

и п

х 2

> р-91)

II X

II

X

7^

если Z(JC1(,'-i) ) > Z (^2 ,_l)), то

II

•«С?

II

7

J

Полагая х

» (а „

+ 6 „ ) / 2 , находим х’ с

абсолютной

погрешностью, не превосходящей величины

 

е„ = (6Я -

а „ ) / 2

= ( Ь - а - г ) 1 2 " +' + s / 2 .

(8.92)

Используя условие е„ <е, из последнего выражения можно найти необходимое число шагов п для обеспечения требуемой

точности

е. О днако на

практике часто поступают

иначе:

определив

границы отрезка

[а„, &„], вычисляют s„ по

формуле

(8.92) и сравниваю т с заданной точностью 8.

 

■ Пример 8.8. Найти минимальное значение Zmin и точку минимума х*

функции Z (x) = x 4 - 5 х 2 + е ~ х на отрезке [1,5; 2]. Точку х* найти с погрешностью е = 0,05.

Реш ение. Построим последовательность вложенных отрезков [а,„ Ь„] по формулам (8.91), записывая результаты вычислений в табл. 8.4.

 

 

 

 

 

 

 

Таблица 8.4

п

 

 

( N

 

 

Z(x,(n))

Z(x2(n))

Примечание

ап

ьп

t

*,(п)

*2(П)

 

 

 

 

 

 

 

 

 

 

 

 

Гс

 

 

 

 

 

 

 

 

СО

 

 

 

 

 

0

1,500

2,000

0,250

1,740

1,760

-5,796

-5,721

Z(x,)<Z(x2)

1

1,500

1,760

0,130

1,620

1,640

-6,037

-6,020

Ь\=х2

Z(x,)<Z(x2)

2

1,500

1,640

0,070

1,560

1,580

-6,035

-6,044

bz~X2

Z(x,)>Z(x2)

3

1,560

1,640

0,040

1,590

1,610

-6,045

-6,042

Я з = Х ,

e3<e,

точность

достигнута

Следовательно, х* к 1,6 и Zmin и Z(l,6) = -6,04.

Этот расчет выполнен с использованием электронных таблиц Excel.

Метод золотого сечения

Этот метод также является последовательным {итерационным) методом оптимизации. Опираясь на свойства золотого сечения отрезка, этот метод использует найденные значения Z(x) более рационально, чем метод дихотомии, что позволяет переходить к очередному суженому интервалу неопределенности после вычисления одного, а не двух значений

Z(x).

Деление отрезка на две неравные части так, что отношение всего отрезка к длине его большей части равно отношению длины большей части к длине меньшей части, называется золотым сечением этого отрезка.

Каждый отрезок [а,Ь] содержит два золотых сечения, которые располагаются в точках

З - л / 5

 

 

(8.93)

х, =а + - ?

— (Ь -а ) = а + 0 , З Щ Ь - а ) ;

х2 =а +

- а) = а + 0,628(6 -

а) .

(8.94)

Зная одну из точек золотого сечения отрезка [а,6] , другую

можно найти по одной из формул:

 

 

 

x\=a+b-x2,

х2=а+Ь-Х\

 

 

(8.95)

Общая идея метода состоит в следующем:

 

 

 

1) На каждом шаге «=1,2,... точки

и Хъ

располагаются

симметрично относительно центра интервала неопределенности

в золотых сечениях отрезка.

2)Затем в этих точках вычисляются значения целевой функции Z(x); при этом только на первом шаге («=1) целевая функция вычисляется в двух точках. На всех последующих шагах («=2,3,...) Z(x) вычисляется только в одной вновь найденной точке суженого интервала неопределенности (значение в другой

точке отрезка оказывается вычисленным на одном из предыдущих шагов).

3)

Сравниваются значения Z (xx) и Z (x2) и находятся значения ап,

 

b„, хп (w=2,3,...) по формулам:

 

 

 

&п &/1-1 5

Ь„=х2{"''\

дс^де/"'0,

если Z(JC,(" °)<Z(x^" 'l));

' (8.96)

а ,г х ](«-О

/>„= 6 ,,.ь

х„=Х2("~'\

если Z(JC,("_i)) > Z(J4"”I)) •

 

4)

Процесс поиска заканчивается, если е„<е,

 

где

е.. =

>/5-1 (*,, - « „ )* 0,628(6,, - а „ ) ,

(8.97)

£>0 — заданная погрешность определения точки х .

Число п шагов метода золотого сечения, обеспечивающее заданную точность 8 нахождения точки х , можно посчитать заранее, оно должно удовлетворять неравенству:

л >2,1 In—

(8.98)

Ф~ а )

Пример 8.9. Решить пример 8.8 методом золотого сечения. Вычисления проводим по формулам (8.93)-(8.96), представив

результаты в табл. 8.5.

 

 

 

 

 

 

 

 

Таблица 8.5

 

 

 

с

 

 

 

Z(x,(n))

 

Примеча­

п

а п

К

ОО

 

 

х Р

Z fe(n))

 

 

ние

 

 

 

 

 

 

 

 

 

 

 

Ч

< Ч |

 

 

 

 

 

 

 

 

^

f

 

 

 

 

 

 

 

 

со

I

 

 

 

 

 

1

1 ,5 0 0

2 ,0 0 0

0 ,3 0 9

1,691

1 ,8 0 9

-5 ,9 3 6

-5 ,4 8 9 Z(X,)<Z(X2)

 

 

 

 

 

 

 

 

 

62=х2

2

1 ,5 0 0

1 ,8 0 9

0,191

1 ,6 1 8

1,691

-6 ,0 3 8

-5 ,9 3 6

Z(x,)<Z(x2)

 

 

 

 

 

 

 

 

 

Ьз~Х2

3

1 ,5 0 0

1,691

0 ,1 1 8

1 ,5 7 3

1 ,6 1 8

-6 ,0 4 2

-6 ,0 3 8

Z(x,)<Z(x2)

 

 

 

 

 

 

 

 

 

Ьл-Хг

4

1 ,5 0 0

1 ,6 1 8

0 ,0 7 3

1 ,5 4 5

1 ,5 7 3

-6 ,0 2 4

-6 ,0 4 2 Z(x,)>Z(x2)

 

 

 

 

 

 

 

 

 

a5=Xi

5

1 ,5 4 5

1 ,6 1 8

0 ,0 4 5

1 ,5 7 3

1 ,5 9 0

-6 ,0 4 2

-6 ,0 4 5

 

е 3< е ,

точность

достигнута