Вы находитесь на странице: 1из 8

Option Explicit

Dim peso(1 To 5), valor(1 To 5)

Sub Preliminary_Definitions()

Call fillarray(peso, "{3,6,7,5}", 1)

Call fillarray(valor, "{7,16,18,15}", 1)

End Sub

Sub Model_Structure()

NSV = 2

NCT = 2

End Sub

Sub Starting_State()

s1 = 1

s2 = 10

End Sub

Sub Decision_Set()

DS = "{0,1}"

End Sub

Sub Transition_Function()

sn1 = s1 + 1

sn2 = s2 - d * peso(s1)

End Sub

Sub State_Constraints()
Ct1 = (sn1 <= 5)

Ct2 = (sn2 >= 0)

End Sub

Sub Economic_Return()

ad(s) = d * valor(s1)

End Sub

Sub Return_Function()

Rd(s) = ad(s) + f(sn)

End Sub

Sub Recursive_Equation()

f(s) = maxim(Rd(s))

End Sub

Sub Boundary_Conditions()

f(s) = 0

End Sub

Option Explicit

Dim tabla(1 To 5, 0 To 8)

Sub Preliminary_Definitions()

Call fillarray(tabla,
"{{10,3,7,10,12,13,14,14,14},{0,1,2,4,8,13,17,19,20},{0,2,4,6,8,10,12,14,16},{0,1,3,6,9,12,14,16,17}}", 1,
0)

End Sub
Sub Model_Structure()

NSV = 2

NCT = 2

End Sub

Sub Starting_State()

s1 = 1

s2 = 8

End Sub

Sub Decision_Set()

DS = ivalset(0, 8)

End Sub

Sub Transition_Function()

sn1 = s1 + 1

sn2 = s2 - d

End Sub

Sub State_Constraints()

Ct1 = (sn1 <= 5)

Ct2 = (sn2 >= 0)

End Sub

Sub Economic_Return()

ad(s) = tabla(s1, d)

End Sub
Sub Return_Function()

Rd(s) = ad(s) + f(sn)

End Sub

Sub Recursive_Equation()

f(s) = maxim(Rd(s))

End Sub

Sub Boundary_Conditions()

f(s) = 0

End Sub

Option Explicit

Dim peso(1 To 5), valor(1 To 5)

Sub Preliminary_Definitions()

Call fillarray(peso, "{3,6,7,5}", 1)

Call fillarray(valor, "{7,16,19,15}", 1)

End Sub

Sub Model_Structure()

NSV = 2

NCT = 2

End Sub

Sub Starting_State()
s1 = 1

s2 = 10

End Sub

Sub Decision_Set()

DS = ivalset(0, 7)

End Sub

Sub Transition_Function()

sn1 = s1 + 1

sn2 = s2 - d * peso(s1)

End Sub

Sub State_Constraints()

Ct1 = (sn1 <= 5)

Ct2 = (sn2 >= 0)

End Sub

Sub Economic_Return()

ad(s) = d * peso(s1)

End Sub

Sub Return_Function()

Rd(s) = ad(s) + f(sn)

End Sub

Sub Recursive_Equation()

f(s) = maxim(Rd(s))

End Sub
Sub Boundary_Conditions()

f(s) = 0

End Sub

Option Explicit

Dim demanda(1 To 5), Cuni(1 To 5), chx(1 To 5)

Sub Preliminary_Definitions()

Call fillarray(demanda, "{900,800,1000,1200}", 1)

Call fillarray(Cuni, "{2,3,4,6}", 1)

Call fillarray(chx, "{2.5,5,6.5,8}", 1)

End Sub

Sub Model_Structure()

NSV = 2

NCT = 2

End Sub

Sub Starting_State()

s1 = 1

s2 = 0

End Sub

Sub Decision_Set()

DS = ivalset(0, 1100, 100)


End Sub

Sub Transition_Function()

sn1 = s1 + 1

sn2 = s2 + d - demanda(s1)

End Sub

Sub State_Constraints()

Ct1 = (sn1 <= 5)

Ct2 = (sn2 >= 0 And sn2 <= 300)

End Sub

Sub Economic_Return()

If d <= 900 Then

Ad(s) = d * Cuni(s1)

Else

Ad(s) = 900 * Cuni(s1) + (d - 900) * chx(s1)

End If

End Sub

Sub Return_Function()

Rd(s) = Ad(s) + f(sn)

End Sub

Sub Recursive_Equation()

f(s) = minim(Rd(s))

End Sub
Sub Boundary_Conditions()

If s2 = 0 Then

f(s) = 0

Else

f(s) = BigM

End If

End Sub

Вам также может понравиться