Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Chast_II.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

2.2. Метод равномерного поиска

Метод относится к параллельным стратегиям и заключается в следующем:

1. Задаётся начальный интервал неопределённости L0=[a0, b0] и количество N вычислений функции.

2. L0 разбивается на N+1 равных интервалов точками xi=a0+i вычисления функции.

3. Вычисляются значения функции в найденных точках: f(xi), i=1, 2, …, N.

4. Среди точек xi, i=1, 2, …, N находится точка x* такая, в которой функция принимает наименьшее значение: f(xk)= .

Пример II. Решить задачу

f(x)=x26x+14min

методом равномерного поиска.

Решение. 1. Задаём начальный интервал неопределённости L0=[1; 7] (см. решение примера I) и количество N=11 вычислений функции.

2. Найдём точки xi=a0+i =1+i =1+0,5i вычислений функции: x1=1,5, x2=2, x3=2,5, x4=3, x5=3,5, x6=4, x7=4,5, x8=5, x9=5,5, x10=6, x11=6,5.

3. Вычислим значения функции в найденных точках: f(1,5)=7,25, f(2)=6, f(2,5)=5,25, f(3)=5, f(3,5)=5,25, f(4)=6, f(4,5)=7,25, f(5)=9, f(5,5)=11,25, f(6)=14, f(6,5)=17,25,

4. В точке x4=3 функция принимает наименьшее значение: f(3)=5minf(x).

Ответ: fmin(x)f(3)=5.

2.3. Метод деления интервала пополам

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

  1. Задать начальный интервал неопределённости L0=[a0, b0] и >0  точность.

  2. Положить k=0.

  3. Разбиваем интервал [ak, bk] на 4 равные части точками = (середина интервала), yk= (середина интервала [ak, ]), zk= (середина интервала [ , bk])

  4. Вычислить значения f(yk), f( ), f(zk) функции f(x) в точках yk, , zk соответственно.

  5. Сравнить значения f(yk) и f( ):

а) если f(yk)<f( ), то полагаем bk+1= , ak+1=ak (из рассмотрения исключается интервал ( , bk]), =yk (yk становится серединой нового интервала). Перейти к шагу 7.

б) если f(yk)f( ), то перейти к шагу 6.

  1. Сравнить f(zk) и f( ):

а) если f(zk)<f( ), то полагаем ak+1= , bk+1=bk, =zk (из рассмотрения исключается интервал [ak, ), zk становится серединой нового интервала). Перейти к шагу 7.

б) если f(zk)f( ), то полагаем ak+1=yk, bk+1=zk, = (из рассмотрения исключаются интервалы [ak, yk), (zk, bk], становится серединой нового интервала. Перейти к шагу 7.

  1. Вычислить |bk+1ak+1| и проверить условие окончания:

а) если |bk+1ak+1|<, то поиск завершается, x*[bk+1, ak+1] и x* ;

б) если |bk+1ak+1|, то положить k=k+1 и перейти к шагу 3.

Пример III. Решить задачу методом деления пополам:

f(x)=x26x+14min.

Решение. 1. Задаём начальный интервал неопределённости L0=[1; 7] (см. решение примера I) и =1  точность.

2. Положим k=0.

3.0. Разбиваем интервал [1; 7] на 4 равные части точками = =4, y0= =2,5, z0= =5,5.

4.0. Вычисляем значения f(y0)=5,25, f( )=6, f(z0)=11,25 функции f(x) в точках y0, , z0 соответственно.

5.0. Сравним значения f(y0) и f( ). Так как f(y0)=5,25<6=f( ), то полагаем b1= =4, a1=a0=1 и переходим к шагу 7.

7.0. Вычисляем |b1a1|=3>. Полагаем k=1 и переходим к шагу 3.

3.1. Разбиваем интервал [1; 4] на 4 равные части точками = =2,5, y1= =1,75, z1= =3,25.

4.1. Вычисляем значения f(y1)=6,5625, f( )=5,25, f(z1)=5,0625 функции f(x) в точках y1, , z1 соответственно.

5.1. Сравним значения f(y1) и f( ). Так как f(y1)=6,5625>5,25=f( ), то переходим к шагу 6.

6.1. Сравним f(z1) и f( ). Так как f( )>f(z1), то полагаем a2= =2,5, b2=b1=4, =z1=3,25 и переходим к шагу 7.

7.1. Вычисляем |b2a2|=1,25>. Полагаем k=2 и переходим к шагу 3.

3.2. Разбиваем интервал [2,5; 4] на 4 равные части точками = =3,25, y2= =2,875, z2= =3,625.

4.2. Вычисляем значения f(y2)=5,015625, f( )=5,0625, f(z2)=5,390625 функции f(x) в точках y2, , z2 соответственно.

5.2. Сравним f(y2) и f( ). Так как f(y2)<f( ), то полагаем a3=a2=2,5; b3= =3,25, =y2=2,875 и переходим к шагу 7.

7.2. Вычисляем |b3a3|=0,75<. Поиск завершается: x* =2,875.

fmin(x)f(2,875)=5,015625.

Ответ: fmin(x)5,015625.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]