Hola.
Según lo que pude ver de la clase
clsHormiga, ya tendrías un error al llamar al método
IniciarCG:
Código Delphi
[-]
procedure clsHormiga.IniciarCG();
var
i,j:Integer;
begin
SetLength(Self.MatrizCG, R, N);
SetLength(Self.ListaDeNodosAClasificar, M); SetLength(Self.VCardinalidades, R);
Randomize;
for i:=0 to R-1 do
for j:=0 to N-1 do
MatrizCG[i,j]:= Random*(MatrizDeAcotaciones[1,i]-MatrizDeAcotaciones[0,i])+MatrizDeAcotaciones[0,i];
for i:=0 to M do
Self.ListaDeNodosAClasificar[i]:= i + 1; Self.NumeroNodosPorClasificar:= M;
Alpha:=1;
Beta:=1;
end;
Tal vez
M tome algún valor en el constructor (si existe) o en el método
Inicializacion. Pero lamentablemente no puedo verificarlo por que en el código que adjuntaste, falta la definición de este último.
Saludos.