Word / grad
.docМинистерство образования российской федерации
Кафедра информатики
Зачетная задача
По теме
«поиск экстремума»
Вариант №7
Выполнил: студент гр. О-22 Максимов Сергей
Проверил: преподаватель Артемьева Л.И.
Москва 2007
Задание
Используя грдиентный метод уточнить положение минимума функции:
F(x)=4.986*x1^2+7.725x2^2-6.206*x1*x2+4.224x1+5.258x2+4.164
Eps=0.1
x11=0; x21=0;h=1
Движение к оптимуму проиллюстрировать графически,построив линии равного уровня и нанеся на этот график траекторию движения в данном методе.
Блок-схема.
Программа.
Sub mo_grad()
Dim x1!, x2!, h!, eps!, FX!, FZ!
Dim g1!, g2!, v1!, v2!, z1!, z2!, k%
Dim n$, y$
eps = Cells(1, 2)
h = Cells(2, 2)
x1 = 0: x2 = 0
FX = f(x1, x2)
k = 0
13: Cells(2 + k, 3) = k / 3
Cells(2 + k, 8) = h
Cells(2 + k, 4) = x1: Cells(3 + k, 4) = x2
Cells(2 + k, 5) = FX
g1 = f1(x1, x2): g2 = f2(x1, x2)
Cells(2 + k, 6) = g1: Cells(3 + k, 6) = g2
v1 = g1 / Sqr(g1 ^ 2 + g2 ^ 2)
v2 = g2 / Sqr(g1 ^ 2 + g2 ^ 2)
Cells(2 + k, 7) = v1: Cells(3 + k, 7) = v2
z1 = x1 - h * v1: z2 = x2 - h * v2
FZ = f(z1, z2): Cells(2 + k, 10) = FZ
Cells(2 + k, 9) = z1: Cells(3 + k, 9) = z2
If FZ < FX Then
Cells(2 + k, 12) = "ydacha"
Cells(2 + k, 11) = "net"
x1 = z1: x2 = z2: FX = FZ
k = k + 3
GoTo 13
Else
Cells(2 + k, 12) = "neydacha"
Cells(2 + k, 11) = "net"
If Abs(h) > eps Then
h = h / 3
k = k + 3
GoTo 13
End If
End If
k = k + 3
Cells(k - 1, 11) = "yes"
Cells(3, 2) = x1: Cells(4, 2) = x2
Cells(5, 2) = f(x1, x2)
End Sub
Function f(x1!, x2!)
f = 4.986 * x1 ^ 2 + 7.725 * x2 ^ 2 - 6.206 * x1 * x2 + 4.224 * x1 + 5.258 * x2 + 4.164
End Function
Function f1(x1!, x2!)
f1 = 9.972 * x1 - 6.206 * x2 + 4.224
End Function
Function f2(x1!, x2!)
f2 = 15.45 * x2 - 6.206 * x1 + 5.258
End Function
Линии уровня
Таблица значений
i |
Xk-1 |
F(Xk-1) |
Gk-1 |
Vk-1 |
Hk |
Xk |
F(Xk) |
|Hk|<=eps |
primechanie |
0 |
0,0000 |
4,1640 |
4,2240 |
0,6263 |
1,0000 |
-0,6263 |
1,0401 |
net |
ydacha |
|
0,0000 |
|
5,2580 |
0,7796 |
|
-0,7796 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
-0,6263 |
1,0401 |
2,8168 |
0,6967 |
1,0000 |
-1,3230 |
6,4942 |
net |
neydacha |
|
-0,7796 |
|
-2,9000 |
-0,7173 |
|
-0,0623 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
-0,6263 |
1,0401 |
2,8168 |
0,6967 |
0,3333 |
-0,8585 |
0,7477 |
net |
ydacha |
|
-0,7796 |
|
-2,9000 |
-0,7173 |
|
-0,5405 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
-0,8585 |
0,7477 |
-0,9830 |
-0,4025 |
0,3333 |
-0,7244 |
0,9968 |
net |
neydacha |
|
-0,5405 |
|
2,2355 |
0,9154 |
|
-0,8456 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
-0,8585 |
0,7477 |
-0,9830 |
-0,4025 |
0,1111 |
-0,8138 |
0,5945 |
net |
ydacha |
|
-0,5405 |
|
2,2355 |
0,9154 |
|
-0,6422 |
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
-0,8138 |
0,5945 |
0,0942 |
0,2368 |
0,1111 |
-0,8401 |
0,6261 |
net |
neydacha |
|
-0,6422 |
|
0,3865 |
0,9716 |
|
-0,7502 |
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
-0,8138 |
0,5945 |
0,0942 |
0,2368 |
0,0370 |
-0,8226 |
0,5882 |
net |
ydacha |
|
-0,6422 |
|
0,3865 |
0,9716 |
|
-0,6782 |
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
-0,8226 |
0,5882 |
0,2301 |
0,8944 |
0,0370 |
-0,8557 |
0,5896 |
yes |
neydacha |
|
-0,6782 |
|
-0,1150 |
-0,4472 |
|
-0,6616 |
|
|
|