What am I missing? I can't seem to run this code. Any help would be appreciated.
Code:
Option Explicit
' Carraghan, R., Pardalos, P. M.: An exact algorithm for the maximum clique problem. Op. Research Letters 9. (1990) 375-382
' converted to the weighted case
Private level_nodes() As Long, nStart() As Long, NodesNum() As Long
Private t As Long, mnMaxClique As Long
Private nLevelWAcc() As Long
'
Public Function Start() As Long
Dim i As Long, t_minus_1 As Long, wt As Long
ReDim level_nodes(1 To Nodes, 1 To Nodes)
ReDim NodesNum(1 To Nodes)
ReDim nStart(1 To Nodes)
ReDim nLevelWAcc(1 To Nodes)
mnMaxClique = 0
'''''' each level has its own set of nodes
For i = 1 To Nodes
level_nodes(1, i) = i
Next
NodesNum(1) = Nodes
'''''''''''''''''''''''''''''''''
t = 1
nStart(t) = 0
'''''''''''''''''''''''''''''''''''
While t >= 1
nStart(t) = nStart(t) + 1
If NodesNum(t) < nStart(t) Then
t = t - 1
Else
wt = 0
For i = nStart(t) To NodesNum(t)
wt = wt + w(level_nodes(t, i))
Next
''' Degree control
If (nLevelWAcc(t) + wt) > mnMaxClique Then
t_minus_1 = t
t = t + 1
nStart(t) = 0
NodesNum(t) = 0
nLevelWAcc(t) = nLevelWAcc(t_minus_1) + w(level_nodes(t_minus_1, nStart(t_minus_1)))
''' define nodes for the next level
For i = nStart(t_minus_1) + 1 To NodesNum(t_minus_1)
If arr(level_nodes(t_minus_1, nStart(t_minus_1)), level_nodes(t_minus_1, i)) Then
NodesNum(t) = NodesNum(t) + 1
level_nodes(t, NodesNum(t)) = level_nodes(t_minus_1, i)
End If
Next
If NodesNum(t) = 0 Then
t = t - 1
If nLevelWAcc(t + 1) > mnMaxClique Then
mnMaxClique = nLevelWAcc(t + 1)
End If
End If
Else
t = t - 1
End If
End If
Wend
Start = mnMaxClique
End Function