⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 d11r10.txt

📁 常用的数值算法的VB程序
💻 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 + -