Visual Basic 6.0: Codes of Optimization Laboratory
Visual Basic 6.0: Codes of Optimization Laboratory
Visual Basic 6.0: Codes of Optimization Laboratory
6.0
Codes of Optimization
Laboratory
االعداد
علي هحود هاشن.م
العل محع هاش: داالعدا
Non-linear
equations
2
العل محع هاش: داالعدا
1- Bi-section Method :
xl = Val(Text1.Text)
xu = Val(Text2.Text)
f1 = (xl ^ 3) - 20
f2 = (xu ^ 3) - 20
xm = (xl + xu) / 2
10 f3 = (xm ^ 3) - 20
xl = xm
Else
xu = xm
End If
Print "xm="; xm
Else
xm = xm1
GoTo 10
End If
f4 = (xm ^ 3) - 20
Print "f4="; f4
Print "Ea="; Ea
3
العل محع هاش: داالعدا
2- False position Method :
Private Sub Command1_Click()
xl = Val(Text1.Text)
xu = Val(Text2.Text)
f1 = (xl ^ 3) - 20
f2 = (xu ^ 3) - 20
xr = ((xu*f1)-(xl*f2))/(f1-f2)
10 f3 = (xr ^ 3) - 20
xl = xr
Else
xu = xr
End If
xr1 =((xu*f1)-(xl*f2))/(f1-f2)
Print "xr="; xr
Else
xr = xr1
GoTo 10
End If
f4 = (xr ^ 3) - 20
Print "f4="; f4
Print "Ea="; Ea
4
العل محع هاش: داالعدا
3- Newton Raphson Method :
Private Sub Command1_Click()
x = Val(Text1.Text)
10 f1 = (x ^ 3) - 20
f2 = 3 * (x ^ 2)
X1 = x - (f1 / f2)
Else
x = X1
GoTo 10
End If
f2 = (X1 ^ 3) - 20
Print "f2="; f2
End sub
5
العل محع هاش: داالعدا
4- Secant method Method :
Private Sub Command1_Click()
x0 = Val(Text1.Text)
x1 = Val(Text2.Text)
10 f1 = (x0 ^ 3) - 20
f2 = (x1 ^ 3) - 20
Else
x1 = X2
GoTo 10
End If
f3 = (X2 ^ 3) - 20
Print "f3="; f3
End Sub
6
العل محع هاش: داالعدا
Simultanous
linear
equations
7
العل محع هاش: داالعدا
A-Derict Methods :
1- Naẗve Guass elimination Method :
Private Sub Command1_Click()
a11 = Val(Text1.Text)
a12 = Val(Text2.Text)
a13 = Val(Text3.Text)
b1 = Val(Text4.Text)
a21 = Val(Text5.Text)
a22 = Val(Text6.Text)
a23 = Val(Text7.Text)
b2 = Val(Text8.Text)
a31 = Val(Text9.Text)
a32 = Val(Text10.Text)
a33 = Val(Text11.Text)
b3 = Val(Text12.Text)
k = -a21 / a11
b2 = b2 + (k * b1)
k1 = -a31 / a11
8
العل محع هاش: داالعدا
a33 = a33 + (k1 * a13)
b3 = b3 + (k1 * b1)
k2 = -a32 / a22
b3 = b3 + (k2 * b2)
x3 = b3 / a33
Print "x3="; x3
Print "x2="; X2
Print "x1="; X1
End Sub
9
العل محع هاش: داالعدا
2- Guass - Jordon Method :
Private Sub Command1_Click()
a11 = Val(Text1.Text)
a12 = Val(Text2.Text)
a13 = Val(Text3.Text)
b1 = Val(Text4.Text)
a21 = Val(Text5.Text)
a22 = Val(Text6.Text)
a23 = Val(Text7.Text)
b2 = Val(Text8.Text)
a31 = Val(Text9.Text)
a32 = Val(Text10.Text)
a33 = Val(Text11.Text)
b3 = Val(Text12.Text)
k = -a21 / a11
b2 = b2 + (k * b1)
k1 = -a31 / a11
b3 = b3 + (k1 * b1)
10
العل محع هاش: داالعدا
k2 = -a32 / a22
b3 = b3 + (k2 * b2)
k3 = -a12 / a22
b1 = b1 + (k3 * b2)
k4 = -a13 / a33
b1 = b1 + (k4 * b3)
k5 = -a23 / a33
b2 = b2 + (k5 * b3)
x3 = b3 / a33
Print "x3="; x3
11
العل محع هاش: داالعدا
Print "x2="; X2
Print "x1="; X1
End Sub
12
العل محع هاش: داالعدا
3- Grammer’s rule
Private Sub Command1_Click()
a11 = Val(Text1.Text)
a12 = Val(Text2.Text)
a13 = Val(Text3.Text)
b1 = Val(Text4.Text)
a21 = Val(Text5.Text)
a22 = Val(Text6.Text)
a23 = Val(Text7.Text)
b2 = Val(Text8.Text)
a31 = Val(Text9.Text)
a32 = Val(Text10.Text)
a33 = Val(Text11.Text)
b3 = Val(Text12.Text)
D = (a11 *((a22 * a33) - (a23 * a32))) -(a12*((a21 * a33) - (a23 * a31))) +(a13 *((a21 * a32) -(a22 * a31)))
a1 = (b1 * ((a22 * a33) - (a23 * a32))) - (a12 * ((b2 * a33) - (a23 * b3))) + (a13 * ((b2 * a32) - (a22 * b3)))
a2 = (a11 * ((b2 * a33) - (a23 * b3))) - (b1 * ((a21 * a33) - (a23 * a31))) + (a13 * ((a21 * b3) - (b2 * a31)))
a3 = (a11 * ((a22 * b3) - (b2 * a32))) - (a12 * ((a21 * b3) - (b2 * a31))) + (b1 * ((a21 * a32) - (a22 * a31)))
X1 = a1 / D
X2 = a2 / D
x3 = a3 / D
Print "x3="; x3
Print "x2="; X2
Print "x1="; X1
13
العل محع هاش: داالعدا
B- Iterative Methods
1- Jacobi method :
Private Sub Command1_Click()
a11 = Val(Text1.Text)
a12 = Val(Text2.Text)
a13 = Val(Text3.Text)
b1 = Val(Text4.Text)
a21 = Val(Text5.Text)
a22 = Val(Text6.Text)
a23 = Val(Text7.Text)
b2 = Val(Text8.Text)
a31 = Val(Text9.Text)
a32 = Val(Text10.Text)
a33 = Val(Text11.Text)
b3 = Val(Text12.Text)
X1 = Val(Text12.Text)
X2 = Val(Text12.Text)
x3 = Val(Text12.Text)
X1 = 1
X2 = 2
x3 = 5
14
العل محع هاش: داالعدا
x6 = (b3 - (a31 * X1) - (a32 * X2)) / a33
If (x4 - X1) > 0.00001 And (x5 - X2) > 0.00001 And (x6 - x3) > 0.00001 Then
X1 = x4
X2 = x5
x3 = x6
GoTo 10
Else
Print "x4="; x4
Print "x5="; x5
Print "x6="; x6
End If
End Sub
15
العل محع هاش: داالعدا
2- Gauss- seidel Method :
Private Sub Command1_Click()
a11 = Val(Text1.Text)
a12 = Val(Text2.Text)
a13 = Val(Text3.Text)
b1 = Val(Text4.Text)
a21 = Val(Text5.Text)
a22 = Val(Text6.Text)
a23 = Val(Text7.Text)
b2 = Val(Text8.Text)
a31 = Val(Text9.Text)
a32 = Val(Text10.Text)
a33 = Val(Text11.Text)
b3 = Val(Text12.Text)
X1 = Val(Text12.Text)
X2 = Val(Text12.Text)
x3 = Val(Text12.Text)
X1 = 1
X2 = 2
x3 = 5
If (x4 - X1) > 0.00001 And (x5 - X2) > 0.00001 And (x6 - x3) > 0.00001 Then
16
العل محع هاش: داالعدا
X1 = x4
X2 = x5
x3 = x6
GoTo 10
Else
Print "x4="; x4
Print "x5="; x5
Print "x6="; x6
End If
End Sub
17
العل محع هاش: داالعدا
3- Sor Method :
Private Sub Command1_Click()
a11 = Val(Text1.Text)
a12 = Val(Text2.Text)
a13 = Val(Text3.Text)
b1 = Val(Text4.Text)
a21 = Val(Text5.Text)
a22 = Val(Text6.Text)
a23 = Val(Text7.Text)
b2 = Val(Text8.Text)
a31 = Val(Text9.Text)
a32 = Val(Text10.Text)
a33 = Val(Text11.Text)
b3 = Val(Text12.Text)
X1 = Val(Text12.Text)
X2 = Val(Text12.Text)
x3 = Val(Text12.Text)
w = 1.2
X1 = 1
X2 = 2
x3 = 5
X1 = x4
X2 = x5
x3 = x6
GoTo 10
Else
Print "x4="; x4
Print "x5="; x5
Print "x6="; x6
End If
End Sub
19
داالعدا :العل محع هاش
Interpolation
20
العل محع هاش: داالعدا
A-Derict Method :
1- First order ]y = a0 + a1x [
2- Second order ] y = a0 + a1x + a2x2 [
Private Sub Command1_Click()
a11 = Val(Text1.Text)
a12 = Val(Text2.Text)
a13 = Val(Text3.Text)
b1 = Val(Text4.Text)
a21 = Val(Text5.Text)
a22 = Val(Text6.Text)
a23 = Val(Text7.Text)
b2 = Val(Text8.Text)
a31 = Val(Text9.Text)
a32 = Val(Text10.Text)
a33 = Val(Text11.Text)
b3 = Val(Text12.Text)
x = Val(Text13.Text)
n = Val(Text14.Text)
If n = 1 Then
k = -a31 / a21
a31 = a31 + (k * a21)
a32 = a32 + (k * a22)
b3 = b3 + (k * b2)
a1 = b3 / a32
a0 = (b2 - (a1 * a22)) / a21
y = a0 + (a1 * x)
Print "a0=", a0
Print "a1=", a1
Print "y=", y
21
العل محع هاش: داالعدا
Else
k = -a21 / a11
a21 = a21 + (k * a11)
a22 = a22 + (k * a12)
a23 = a23 + (k * a13)
b2 = b2 + (k * b1)
k1 = -a31 / a11
a31 = a31 + (k1 * a11)
a32 = a32 + (k1 * a12)
a33 = a33 + (k1 * a13)
b3 = b3 + (k1 * b1)
k2 = -a32 / a22
a31 = a31 + (k2 * a21)
a32 = a32 + (k2 * a22)
a33 = a33 + (k2 * a23)
b3 = b3 + (k2 * b2)
a2 = b3 / a33
a1 = (b2 - (a23 * a2)) / a22
a0 = (b1 - (a12 * a1) - (a13 * a2)) / a11
y = a0 + (a1 * x) + (a2 * x ^ 2)
Print "a0="; a0
Print "a1="; a1
Print "a2="; a2
Print "y=", y
End If
End Sub
22
العل محع هاش: داالعدا
B- Newton’s divided difference polynomial :
1- Linear Interpolation ,first order ( y = a0 + a1(x-x0) )
2- Quadradic Interpolation ,second order (y = a0 + a1(x-x0) + a2(x-x0)(x-x1))
3- Cubic Interpolation , third order (y= a0+a1(x-x0) +a2(x-x0)(x-x1)+a3(x-x0)(x-x1)(x-x2))
Private Sub Command1_Click()
X0 = Val(Text1.Text)
X1 = Val(Text2.Text)
X2 = Val(Text3.Text)
X3 = Val(Text4.Text)
Y0 = Val(Text5.Text)
Y1 = Val(Text6.Text)
Y2 = Val(Text7.Text)
Y3 = Val(Text8.Text)
n = Val(Text9.Text)
x = Val(Text10.Text)
If n = 1 Then
a0 = Y0
a1 = (Y1 - Y0) / (X1 - X0)
y = a0 + (a1 * (x - X0))
Print "a0=", a0
Print "a1=", a1
Print "y=", y
End If
If n = 2 Then
a0 = Y0
a1 = (Y1 - Y0) / (X1 - X0)
k = (Y2 - Y1) / (X2 - X1)
a2 = (k - a1) / (X2 - X0)
y = a0 + (a1 * (x - X0)) + (a2 * (x - X0) * (x - X1))
Print "a0=", a0
Print "a1=", a1
Print "a2=", a2
Print "y=", y
End If
If n = 3 Then
a0 = Y0
a1 = (Y1 - Y0) / (X1 - X0)
23
العل محع هاش: داالعدا
k = (Y2 - Y1) / (X2 - X1)
a2 = (k - a1) / (X2 - X0)
k1 = (y3 - Y2) / (x3 - X2)
a3 = ((k1 - k) - (k - a1)) / (x3 - X0)
y = a0 + (a1 *(x - X0))+(a2 * (x - X0) * (x - X1))+(a3 * (x - X0)*(x - X1) * (x - X2))
Print "a0=", a0
Print "a1=", a1
Print "a2=", a2
Print "a3=", a3
Print "y=", y
End If
End Sub
24
العل محع هاش: داالعدا
C- Lagrangian Interpolation
1- Linear Interpolation ,first order ( y =l0*y0 + l1*y1 )
2- Quadradic Interpolation ,second order ( y = l0*y0 + l1*y1 + l2*y2 )
3- Cubic Interpolation , third order ( y = l0*y0 + l1*y1 + l2*y2 + l3*y3 )
Private Sub Command1_Click()
X0 = Val(Text1.Text)
X1 = Val(Text2.Text)
X2 = Val(Text3.Text)
X3 = Val(Text4.Text)
Y0 = Val(Text5.Text)
Y1 = Val(Text6.Text)
Y2 = Val(Text7.Text)
Y3 = Val(Text8.Text)
n = Val(Text9.Text)
x = Val(Text10.Text)
If n = 1 Then
l0 = (x - X1) / (x0 - X1)
l1 = (x - x0) / (X1 - x0)
y = l0 * y0 + l1 * Y1
Print "l0=", l0
Print "l1=", l1
Print "y=", y
End If
If n = 2 Then
l0 = ((x - X1) / (x0 - X1)) * ((x - X2) / (x0 - X2))
l1 = ((x - x0) / (X1 - x0)) * ((x - X2) / (X1 - X2))
l2 = ((x - x0) / (X2 - x0)) * ((x - X1) / (X2 - X1))
y = l0 * y0 + l1 * Y1 + l2 * Y2
Print "10=", 10
Print "l1=", l1
Print "l2=", l2
Print "y=", y
End If
If n = 3 Then
l0 = ((x - X1) / (x0 - X1)) * ((x - X2) / (x0 - X2)) * ((x - X3) / (x0 - X3))
l1 = ((x - x0) / (X1 - x0)) * ((x - X2) / (X1 - X2)) * ((x - X3) / (X1 - X3))
l2 = ((x - x0) / (X2 - x0)) * ((x - X1) / (X2 - X1)) * ((x - X3) / (X2 - X3))
25
العل محع هاش: داالعدا
l3 = ((x - x0) / (X3 - x0)) * ((x - X1) / (X3 - X1)) * ((x - X2) / (X3 - X2))
y = l0 * y0 + l1 * Y1 + l2 * Y2 + l3 * y3
Print "l0=", l0
Print "l1=", l1
Print "l2=", l2
Print "l3=", l3
Print "y=", y
End If
End Sub
26
داالعدا :العل محع هاش
Regression
27
العل محع هاش: داالعدا
1- Linear regression Deriction :
X1 = Val(Text1.Text)
X2 = Val(Text2.Text)
x3 = Val(Text3.Text)
x4 = Val(Text4.Text)
Y1 = Val(Text5.Text)
Y2 = Val(Text6.Text)
y3 = Val(Text7.Text)
y4 = Val(Text8.Text)
n = Val(Text9.Text)
X= Val(Text10.Text)
L = (X1 * Y1) + (X2 * Y2) + (x3 * y3) + (x4 * y4)
L1 = X1 + X2 + x3 + x4
L2 = Y1 + Y2 + y3 + y4
L3 = (X1 ^ 2) + (X2 ^ 2) + (x3 ^ 2) + (x4 ^ 2)
a1 = ((n * L) - (L1 * L2)) / ((n * L3) - ((L1) ^ 2))
a0 = (L2 / n) - ((a1 * L1) / n)
Y = a0 + ( a1*X )
Print "a1=", a1
Print "a0=", a0
Print "Y=", Y
28
العل محع هاش: داالعدا
2- Polynomial Model :
Private Sub Command1_Click()
X1 = Val(Text1.Text)
X2 = Val(Text2.Text)
x3 = Val(Text3.Text)
x4 = Val(Text4.Text)
Y1 = Val(Text5.Text)
Y2 = Val(Text6.Text)
y3 = Val(Text7.Text)
y4 = Val(Text8.Text)
n = Val(Text9.Text)
l = Y1 + Y2 + y3 + y4
l1 = (X1 * Y1) + (X2 * Y2) + (x3 * y3) + (x4 * y4)
l2 = ((X1 ^ 2) * Y1) + ((X2 ^ 2) * Y2) + ((x3 ^ 2) * y3) + ((x4 ^ 2) * y4)
d = X1 + X2 + x3 + x4
d1 = (X1 ^ 2) + (X2 ^ 2) + (x3 ^ 2) + (x4 ^ 2)
d2 = (X1 ^ 3) + (X2 ^ 3) + (x3 ^ 3) + (x4 ^ 3)
d3 = (X1 ^ 4) + (X2 ^ 4) + (x3 ^ 4) + (x4 ^ 4)
k = -d / n
d = d + (k * n)
d1 = d1 + (k * d)
d2 = d2 + (k * d1)
l1 = l1 + (k * l)
k1 = -d1 / n
d1 = d1 + (k1 * n)
d2 = d2 + (k1 * d)
d3 = d3 + (k1 * d1)
l2 = l2 + (k1 * l)
k2 = -d2 / d1
d1 = d1 + (k2 * d)
d2 = d2 + (k2 * d1)
d3 = d3 + (k2 * d2)
l2 = l2 + (k2 * l1)
a2 = d3 / l2
a1 = (l1 - (a2 * d2)) / d1
a0 = (l - (a1 * d) - (a2 * d1)) / n
Print " a0 =", a0 ; " a1 =", a1 ; " a2 =", a2
End Sub
29
داالعدا :العل محع هاش
أ رتقد
فهاتفها
ُزاحش
30