📄 module1.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 + -