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

📄 module1.bas

📁 用VB语言编写的解决运筹学0-1规划的程序
💻 BAS
字号:
Attribute VB_Name = "Module1"
Option Explicit
Option Base 1
Public m As Integer, n As Integer, A() As Single, C() As Single, B() As Single, max As Single, result() As Integer, x() As Integer, result_num As Integer
Public Sub Branch_Bound1(k As Integer, s() As Single, ByVal z As Single)
    Dim i As Integer, flag As Boolean, l() As Single
    l() = s()
    If k = n + 1 Then Exit Sub
    x(k) = 1
    flag = True
    For i = 1 To m
        l(i) = l(i) + A(i, k) * x(k)
        If l(i) > B(i) Then
            flag = False
        End If
    Next i
    z = z + C(k) * x(k)
    If flag Then
        If max < z Then
            max = z
            result_num = 1
            ReDim result(n, result_num)
            For i = 1 To n
                result(i, 1) = x(i)
            Next i
        ElseIf max = z Then
            result_num = result_num + 1
            ReDim Preserve result(n, result_num)
            For i = 1 To n
                result(i, 2) = x(i)
            Next i
        Else
            Exit Sub
        End If
    Else
        If max < z Then
            Branch_Bound1 k + 1, l(), z
            Branch_Bound0 k + 1, l(), z
        Else
            Exit Sub
        End If
    End If
End Sub

Public Sub Branch_Bound0(k As Integer, s() As Single, z As Single)
    If k = n + 1 Then Exit Sub
    Dim l() As Single
    l() = s()
    x(k) = 0
    Branch_Bound1 k + 1, l(), z
    Branch_Bound0 k + 1, l(), z
 End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -