Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lectures / Rozdil2_Ch1.doc
Скачиваний:
64
Добавлен:
12.02.2016
Размер:
1.03 Mб
Скачать

2.5.3 Метод ділення інтервалу пошуку на половину

Метод поділу інтервалу пошуку наполовину дозволяє зменшити інтервал пошуку в два рази при кожній ітерації[3,5] .

Алгоритм застосування данного методу наведений нижче. Отже необхідно знайти мінімум F(х) на відрізку [a, b].

Крок 1. xm=(а+b)/2; L=b-a; обчислити F(xm).

Крок 2. x1=а+L/4; x2=b-L/4; обчислити F(x1) і F(x2).

Крок 3.

Якщо F(x1)<F(xm), то виключити (xm, b], тобто b=xm, xm=x1. Перейти до кроку 5.

Якщо F(x1)> F(xm), то перейти до кроку 4.

Крок 4.

Якщо F(x2)<F(xm), то виключити [a, xm), тобто а=xm, xm=x2. Перейти до кроку 5.

Якщо F(x2)> F(xm), то виключити [a, x1)][ і (x2, b], тобто а=x1, b=x2. Перейти до кроку 5.

Крок 5. L=b-a. Якщо L <  то закінчити пошук. В іншому випадку повернутися до кроку 2.

Рис.2.4. Метод загального пошуку

Як слідує з алгоритму, з кожних трьох значень цільової функції F(х), обчислених в інтервалі пошуку, надалі використовується тільки дві, а третя не дає додаткової інформації і надалі не використовується, це є недоліком методу ділення інтервалу на половину . В методі золотого січення цільова функція обчислюється в точках інтервалу, які розташовані таким чином, щоб кожне обчислене значення цільової функції давало б нову корисну інформацію.

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

Основна ідея методу золотого січення [3,5] полягає в тому, що інтервал пошуку ділиться на дві частини так, щоб відношення довжини великого відрізка до довжини всього інтервалу було таке, що дорівнює відношенню (рис.2.5) .

Враховуючи, що z1+z2=z, отримаємо:

z12=z z2 = (z1+z2)z2 = z1z2 + z22. (2.4)

Перепишемо рівняння 2.4 в наступному вигляді:

z1z2 + z22 - z12 = 0, (2.5)

Розділимо ліву частину рівняння на і тоді будемо мати:

,

або

.

Отриманий вираз є квадратним рівнянням, якщо позначити .

Рис.2.5. Позначення використані в методі золотого січення

,

де .

Розв’яжемо відповідне рівняння і отримаємо параметр відношення , який позначимо через.

Отже, розв’язок рівняння ,

, , , .

В результаті, отримаємо інтервал невизначеності з двома точками та відповідними значеннями функції (рис.2.6).

Проаналізуємо отриману ситуацію. В методі золотого січення, де можливі два варіанти отриманих ситуацій.

Перша, якщо <- (Рис.2.7).

>,

,

,,

=,

.

Рис.2.6

Рис.2.7

Другий випадок, коли >(Рис.2.6), тоді:

<,

,,

=,

.

В першому випадку новим інтервалом пошуку буде , а в другому -.

Алгоритм застосування методу „золотого січення” наведено нижче.

Крок 1. Обчислюємо коефіцієнт дроблення відрізка [a, b] k=(- 1)/2.

Крок 2. x1=а+(1-k)(b-a), обчислити F(x1).

Крок 3. x2=а+k(b-a), обчислити F(x2).

Крок 4.

Якщо x2-x1| < , де - задана точність, то xm = (x1+x2)/2, обчислити F(xm) і закінчити пошук.

Якщо x2-x1| >  ,  то перейти до кроку 5.

Крок 5.

Якщо F(x1)>F(x2), то виключити а = x1, x1 = x2 і F(x1) = F(x2). Перейти до кроку 3, потім до кроку 4.

Якщо F(x1) < F(x2), то b = x2, x2=x1 і F(x1)=F(x2). Перейти до кроку 2 і 4.

Приклад. Мінімізувати функцію на інтервалі.

Для того, щоб перейти до інтервалу одиничної довжини, зробимо заміну змінних, поклавши . Таким чином, задача прийме наступний вигляд:

мінімізувати ,

при обмеженні .

Ітерація 1.

; . Проведемо два перших обчислення значення функції:

, ,

, .

Оскільки і, інтервалвиключається.

Ітерація 2.

;. Наступне обчислення функції проводиться в точці

, .

Оскільки і, інтервалвиключається.

Ітерація 3.

,. Наступне обчислення функції проводиться в точці, розміщеній на віддалі(довжина отриманого проміжка) від лівої границі точки інтервала, або на віддалі(довжина інтервала) від правої граничної точки. Таким чином,

.

.

Оскільки і, інтервалвиключається.

В результаті отримано наступний інтервал невизначеності для змінної, абодля змінної.

Якщо в процесі пошуку проведено шість обчислень значень функції, то довжина результуючого інтервала для змінної рівна, що відповідає інтервалу довжиною 8.1 для змінної. Для порівняння, в аналогічній ситуації методу ділення інтервала наполовину отримано інтервал довжиною 11.25.

Соседние файлы в папке lectures