Читайте также: |
|
Методы многомерной оптимизации
Выполнила студентка группы РС0703
Акопян Н. М.
Москва 2008
Задание
1. Выбрать индивидуальное задание из табл. 6.8-1 для решения задачи оптимизации функции нескольких переменных:
· Функцию – f(x, y);
· метод оптимизации для «ручного расчета» – определяется значением параметра p;(ГДШ)
· метод оптимизации для «расчета на ПК» – значения параметров t и r.(НСА)
2. Проверить условия существования точки минимума заданной функции f(x).
3. Решить задачу многомерной оптимизации аналитическим методом.
4. Выбрать начальную точку x0, y0 итерационного процесса оптимизации.
5. С «ручным расчетом» (3 итерации), выбранным методом.
6. Вычислить погрешности
7. Составить схему алгоритма, программу решения задачи оптимизации и провести контрольное тестирование.
8. Решить задачу многомерной оптимизации «расчетом на ПК» при точности определения минимума E=0.1.
9. Построить траекторию поиска минимума по результатам «расчета на ПК» и изобразить схематически линии уровня, проходящие через точки траектории. На графике указать точку минимума, найденную в п.3 задания.
10. Решить задачу оптимизации с помощью математических пакетов.
№ | Функция | р | t |
2 x2 + 3 y2 – 5 x - 6 |
Проверка существования минимума функции
Проверить, что функция является выпуклой на множестве R.
Матрица Гессе
Угловые миноры >0, следовательно функция выпуклая на множестве R.
Решение задачи многомерной оптимизации аналитическим методом
Необходимые условия существования точки экстремума:
Начальная точка итерационного процесса численного решения задачи многомерной оптимизации
Выбрать начальную точку
x0=1 y0=1
4. Решение задачи численной оптимизации методом градиентного спуска с дроблением шага «ручным расчетом».
f0=-6
x1=1.3 y1=-0.8 f1=-7.2 f1<f0
x2=1.24 y2=0.64 f2=-7.896 f2<f1
x3=1.252 y3=-0.512 f3=-8.339 f3<f2
k | x | y | ||
0.3 | -6 | |||
1.3 | -0.8 | 0.3 | -7.2 | |
1.24 | 0.64 | 0.3 | -7.896 | |
1.252 | -0.512 | 0.3 | -8.339 |
Xmin=1.252, ymin=-0.512, f=-8.339.
Погрешности после трех итераций
Вычислить погрешности после трех итераций
Расчет на ПК методом НСА
Программный код
Option Explicit On
Imports System.Math
Public Class Form1
Dim y, ee, x, l, t As Single
Dim k, j As Integer
Dim f, f0, g1, g2 As Single
Public Sub vvod()
x = Val(TextBox1.Text)
y = Val(TextBox2.Text)
ee = Val(TextBox3.Text)
End Sub
Private Sub resh()
k = 0
f = 2 * x ^ 2 + 3 * y ^ 2 - 5 * x - 6
g1 = 4 * x - 5
g2 = 6 * y
ListBox1.Items.Add(k)
ListBox2.Items.Add(x)
ListBox3.Items.Add(y)
ListBox4.Items.Add(g1)
ListBox5.Items.Add(g2)
ListBox6.Items.Add(f)
ListBox7.Items.Add(" ")
j = 0
Do
l = (25 - 40 * x + 36 * y ^ 2 + 16 * x ^ 2) / (6 ^ 3 * y ^ 2 - (4 * x - 5) ^ 2)
g1 = 4 * x - 5
x = x - l * g1
g2 = 6 * y
y = y - l * g2
f = 2 * x ^ 2 + 3 * y ^ 2 - 5 * x - 6
k = k + 1
ListBox1.Items.Add(k)
ListBox2.Items.Add(x)
ListBox3.Items.Add(y)
ListBox4.Items.Add(g1)
ListBox5.Items.Add(g2)
ListBox6.Items.Add(f)
ListBox7.Items.Add(l)
Loop Until Abs(g1) < ee And Abs(g2) < ee
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
vvod()
resh()
End Sub
End Class
K | E | x | y | ||||
0.1 | -6 | -1 | |||||
1.172093 | -0.032558 | -9.109681 | 0.172093 | -1 | |||
1.4918 | 0.167855 | -8.92354 | 1.025924 | -0.311628 | -0.195349 | ||
1.125647 | -0.213415 | -8.957435 | 0.37857 | 0.9671993 | 1.00713 | ||
1.22352 | 0.03854 | -9.119142 | 0.196765 | -0.497413 | -1.280488 | ||
1.245651 | -0.009775 | -9.124676 | 0.20894 | -0.10592 | 0.231243 | ||
1.24885237 | 0.00102 | -9.124994 | 0.184026 | -0.017396 | -0.058653 | ||
1.251261 | -0.008056 | -9.124802 | |||||
0.05 | -6 | -1 | |||||
1.172093 | -0.032558 | -9.109681 | 0.172093 | -1 | |||
1.4918 | 0.167855 | -8.92354 | 1.025924 | -0.311628 | -0.195349 | ||
1.125647 | -0.213415 | -8.957435 | 0.37857 | 0.9671993 | 1.00713 | ||
1.22352 | 0.03854 | -9.119142 | 0.196765 | -0.497413 | -1.280488 | ||
1.245651 | -0.009775 | -9.124676 | 0.20894 | -0.10592 | 0.231243 | ||
1.24885237 | 0.00102 | -9.124994 | 0.184026 | -0.017396 | -0.058653 | ||
1.25017381 | -0.00074 | -9.124998 | 0.287866 | -0.00459 | 0.006109 | ||
1.251106 | -0.007011 | -9.1248501 | |||||
0.01 | -6 | -1 | |||||
1.172093 | -0.032558 | -9.109681 | 0.172093 | -1 | |||
1.4918 | 0.167855 | -8.92354 | 1.025924 | -0.311628 | -0.195349 | ||
1.125647 | -0.213415 | -8.957435 | 0.37857 | 0.9671993 | 1.00713 | ||
1.22352 | 0.03854 | -9.119142 | 0.196765 | -0.497413 | -1.280488 | ||
1.245651 | -0.009775 | -9.124676 | 0.20894 | -0.10592 | 0.231243 | ||
1.24885237 | 0.00102 | -9.124994 | 0.184026 | -0.017396 | -0.058653 | ||
1.25017381 | -0.00074 | -9.124998 | 0.287866 | -0.00459 | 0.006109 | ||
1.251106 | -0.007011 | -9.1248501 | |||||
0.001 | -6 | -1 | |||||
1.172093 | -0.032558 | -9.109681 | 0.172093 | -1 | |||
1.4918 | 0.167855 | -8.92354 | 1.025924 | -0.311628 | -0.195349 | ||
1.125647 | -0.213415 | -8.957435 | 0.37857 | 0.9671993 | 1.00713 | ||
1.22352 | 0.03854 | -9.119142 | 0.196765 | -0.497413 | -1.280488 | ||
1.245651 | -0.009775 | -9.124676 | 0.20894 | -0.10592 | 0.231243 | ||
1.24885237 | 0.00102 | -9.124994 | 0.184026 | -0.017396 | -0.058653 | ||
1.25017381 | -0.00074 | -9.124998 | 0.287866 | -0.00459 | 0.006109 | ||
1.250055 | 0.000021 | -9.125 | 0.1714484 | 0.000695 | -0.004442 | ||
1.2497741 | -0.000142 | -9.125 | 1.284612 | 0.000218 | 0.000127 | ||
1,250067 | -0.0054664 | -9.12491 |
Дата добавления: 2015-12-08; просмотров: 55 | Нарушение авторских прав