Лабораторные работы / Отчеты / Методы многомерной оптимизации - Епишкин - Вариант 17 - Павлов - 2006 / Многомерная оптимизация
.docРоссийский химико-технологический университет им. Д.И.Менделеева
Кафедра вычислительной математики
ОТЧЕТ
Методы Многомерной Оптимизации
Вариант 17
Выполнил: Павлов В.А. гр. И-24
Проверил: Епишкин А.П.
Москва 2006
Программа:
Sub metod_gradienta()
Dim x!(2), h!, e!, fx!, fz!, g!(2), v!(2), norm!, hv!(2), z!(2)
h = Cells(2, 3)
e = Cells(2, 4)
For i = 0 To 1
x(i) = Cells(i + 2, 6)
Next i
fx = f(x(1), x(2))
k = 0
met1:
g(1) = fp1(x(1), x(2))
g(2) = fp2(x(1), x(2))
norm = 1 / Sqr(g(1) ^ 2 + g(2) ^ 2)
For i = 1 To 2
v(i) = g(i) * norm
Next i
For i = 1 To 2
hv(i) = h * v(i)
Next i
For i = 1 To 2
z(i) = x(i) - hv(i)
Next i
fz = f(z(1), z(2))
p = p + 2
k = k + 1
If fz < fx Then
For i = 1 To 2
x(i) = z(i)
Next i
fx = fz
GoTo met1
Else
If h > e Then
h = h / 3
GoTo met1
Else
Cells(5, 4) = x(1)
Cells(6, 4) = x(2)
Cells(5, 5) = f(x(1), x(2))
End If
End If
End Sub
Function fp1!(q, w)
fp1 = 4 * 1.1 * q ^ 3 - 1.2 * w
End Function
Function fp2!(q, w)
fp2 = 2 * 1.1 * w - 1.2 * q
End Function
Function f!(q, w)
f = 1.1 * q ^ 4 + 2 * 1.1 * w ^ 2 - 1.2 * q * w
End Function