📄 d11r10.txt
字号:
Private Sub Command1_Click()
'PROGRAM D11R10
'Driver for routine SIMPLX
'Incorporates examples discussed in text
N = 4
M = 4
NP = 5
MP = 6
M1 = 2
M2 = 1
M3 = 1
NM1M2 = N + M1 + M2
Dim A(6, 5), IZROV(4), IPOSV(4), ANUM(5), TXT(7), ALPHA(5)
TXT(1) = "x1": TXT(2) = "x2": TXT(3) = "x3": TXT(4) = "x4"
TXT(5) = "y1": TXT(6) = "y2": TXT(7) = "y3"
A(1, 1) = 0#: A(1, 2) = 1#: A(1, 3) = 1#: A(1, 4) = 3#: A(1, 5) = -0.5
A(2, 1) = 740#: A(2, 2) = -1#: A(2, 3) = 0: A(2, 4) = -2#: A(2, 5) = 0#
A(3, 1) = 0#: A(3, 2) = 0#: A(3, 3) = -2#: A(3, 4) = 0#: A(3, 5) = 7#
A(4, 1) = 0.5: A(4, 2) = 0#: A(4, 3) = -1: A(4, 4) = 1#: A(4, 5) = -2#
A(5, 1) = 9#: A(5, 2) = -1#: A(5, 3) = -1#: A(5, 4) = -1#: A(5, 5) = -1#
A(6, 1) = 0#: A(6, 2) = 0#: A(6, 3) = 0#: A(6, 4) = 0#: A(6, 5) = 0#
Call SIMPLX(A(), M, N, MP, NP, M1, M2, M3, ICASE, IZROV(), IPOSV())
If ICASE = 1 Then
Print Tab(5); "Unbounded objective function"
ElseIf ICASE = -1 Then
Print Tab(5); "No solutions satisfy constraints given"
Else
JJ = 1
For I = 1 To N
If IZROV(I) <= N + M1 + M2 Then
ALPHA(JJ) = TXT(IZROV(I))
JJ = JJ + 1
End If
Next I
JMax = JJ - 1
Print
For JJ = 1 To JMax
Print Tab(11 + JJ * 10); Format$(ALPHA(JJ), "##.##");
Next JJ
For I = 1 To M + 1
If I > 1 Then
ALPHA(1) = TXT(IPOSV(I - 1))
Else
ALPHA(1) = " "
End If
ANUM(1) = A(I, 1)
JJ = 2
For J = 2 To N + 1
If IZROV(J - 1) <= (N + M1 + M2) Then
ANUM(JJ) = A(I, J)
JJ = JJ + 1
End If
Next
JMax = JJ - 1
Print Tab(3); Format$(ALPHA(1), "##.##");
For JJ = 1 To JMax
Print Tab(JJ * 10); Format$(ANUM(JJ), "##.#0");
Next JJ
Next
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -