- •Визначення розв’язків оптимізаційних задач деревооброблення градієнтними методами
- •1.1. Постановка задачі
- •1.2. Градієнтний метод
- •1.3. Модифікований градієнтний метод
- •1.4. Реалізація алгоритмів градієнтних методів в Excel
- •1.4.1. Градієнтний метод
- •Результати розрахунки максимального значення функції (1.10) градієнтним методом
- •1.4.2. Модифікований градієнтний метод
- •Результати розрахунку максимального значення функції (1.10) модифікованим градієнтним методом
- •1.5. Реалізація градієнтних методів з використанням
- •2. Програмування командних кнопок "виконати" та "вихід"
- •1.6. Індивідуальні завдання до виконання лабораторної роботи
1.3. Модифікований градієнтний метод
Модифікований градієнтний метод реалізується у такій послідовності:
задаємо початкові значення параметрів оптимізації х(0)х1(0), х2(0),…,хn(0)та у(0)у1(0), у2(0),…,уm(0);
визначаємо складові вектора градієнта функції R(x, y);
обчислюємо значення R(x, y) у точці (х(0), у(0));
знаходимо координати точки (x(1), y(1)) за формулами (1.6), k=1;
складаємо вираз для приросту критерію оптимізації R(x, y)
(k)R(x,y,)=R(x(k),y(k),)-R(x(k-1),y(k-1),), (1.14)
де k – порядковий номер ітерації, який на першій ітерації приймає значення рівне 1;
з рівняння
.
(1.15)
Обчислюємо значення параметра на першій ітерації;
підстановкою знайденого з (1.10) параметра у (1.6) знаходимо координати точки (х(1), у(1)) та значення функції R(x, y) у цій точці;
переходимо до обчислень R(x, y) та координат х(2) і у(2) на другій ітерації, реалізувавши пункти 4-7 для k =2 і т.д.
Кількість ітерацій залежить від постановки задачі і визначається однією із умов: (1.7), (1.8).
Реалізацію викладеного вище алгоритму модифікованого методу розглянемо на прикладі, наведеному у розділі 1.2.
За початкову точку (х(0), у(0)) приймемо точку з координатами х(0)=0; у(0)=0. Координати наступної точки (х(1), у(1)) розраховуємо за формулами (1.6):
(1.16)
Складаємо вираз для приросту критерія оптимізації ∆(1)R(x,y,λ) на першій ітерації (1.14)
∆(1)R(x,y,λ)=R(x(1),y(1))-R(x(0),y(0))=110-2(16λ-4)2-3(30λ-5)2-3=
=107-32(4λ-1)2-75(6λ-1)2. (1.17)
За формулою (1.10) знаходимо значення параметра λ для якого приріст ∆(1)R(x,y,λ) є максимальним. Для цього підставимо (1.12) у (1.10), тоді матимемо
.
(1.18)
Звідси, оскільки рівняння (1.13) задовільняє λ ≈ 0,18, то підставивши отриманий розв’язок у (1.11), знайдемо шукані координати: х(1)=2,88; у(1)=5,40. Значення функції R(x, y) у цій точці дорівнює 107,0112, яке є значно більшим за R(x(0), y(0))=3. Тому, враховуючи умову (1.7) переходимо до обчислень на другій ітерації. Зокрема, розраховуємо координати точки (х(2), у(2)):
(1.19)
Знаходимо приріст ∆(2)R(x,y,λ)
∆(2)R(x,y,λ)=R(x(2),y(2))-R(x(1),y(1))=110-2(2,88+4,48λ)2-3(5,4-2,4λ-5)2-107,0112.
Розв’язавши рівняння (1.10) для k=2, отримаємо λ≈0,225.
Для перевірки умови (1.7) знаходимо
R(x(2),y(2)) ≈109,916.
Отримане значення свідчить, що R(x(2), y(2))> R(x(1), y(1)) тобто(1.17) не виконується, тому переходимо до аналогічних обчислень на третій ітерації.
1.4. Реалізація алгоритмів градієнтних методів в Excel
Порядок вирішення оптимізаційних звадач деревооброблення розглянемо на прикладі визначення максимуму критерія оптимізації R(x, y) заданою залежністю (1.10).
1.4.1. Градієнтний метод
Формуємо таблицю розв’язків і запишемо значення координат точки (х(0), у(0)) у клітинах В13 та С13 відповідно (табл. 1.1).
У клітину D13 записуємо формулу (1.10)
=110-$B$6*($B13-$D$6)^2-$F$6*($C13-$H$6)^2. (1.20)
Для обчислення складових вектора grad R(x, y) у клітини E13 i F13 заносимо формули (1.9)
=(110-$B$6*($B13+$E$8-$D$6)^2-$F$6*($C13-$H$6)^2-$D13)/$E$8
(1.21)
=(110-$B$6*($B13+$E$8-$D$6)^2-$F$6*($C13-$E$9-$H$6)^2-$D13)/$E$9.
Розраховуємо координати точки (х(1), у(1)). Для цього у клітини В14 та С14 заносимо формули (1.6)
=$B13+$B$8*$E13
(1.22)
=$C13+$B$B*$F13
Формули у клітинах D13:F13 копіюємо у клітини D14:F14 відповідно.
У клітині G14 записуємо формулу для визначення умови (1.7)
=ЕСЛИ(D14-D13<0;"Розв’язок знайдено";D14). (1.23)
Копіюємо формули діапазону A14:G14 у діапазони клітин А15:G15; A16:G16 доти доки у стовпчику G висвітлиться повідомлення "Розв’язок знайдено".
Таблиця 1.1
