Ver Mensaje Individual
  #5  
Antiguo 30-09-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
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); // Aqui M es igual a 0 !!
  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;  // <- Error!, aún si M = 0 la línea se ejecuta una vez
  Self.NumeroNodosPorClasificar:= M;
  Alpha:=1;
  Beta:=1;
  //Self.PosicionActualDeLaHormiga:=Random(M);
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.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita