public static void AlgoritimoGenetico(string file, bool modeloPai)
        {
            try
            {
                PassoAtual("Abrir " + file + ".");

                Modelo   modelo = new Modelo();
                double[] result = null;

                do
                {
                    modelo.modelo    = file;
                    modelo.modeloPai = file;
                    PassoAtual("Carregando " + file + ".");
                    pmObject.LoadModel(file);
                    System.Threading.Thread.Sleep(100);
                    modelo.banco = pmObject.GetOutputPath().Replace("RES", "") + "rdb";
                    PassoAtual("Criado modelo pai.");

                    Relatorios.CriarCabecalioPai(modelo.modelo);
                    PassoAtual("Criado cabecalio de arquivo.");

                    pmDataObject.Populate();
                    System.Threading.Thread.Sleep(100);
                    pmDataObject.GetRecordCount(1, out numeroFilhos);
                    PassoAtual("Carregada informações de locais.");

                    result = SimularExportarCalcularResultados(modelo);
                } while (result == null);

                modelo.scoreSaidas = result[0];
                modelo.scoreTotal  = result[1];
                modelo.scoreTempo  = result[2];

                bancoModelos.Add(modelo);
                System.Threading.Thread.Sleep(100);
                pmObject.Save();
                System.Threading.Thread.Sleep(100);
                RDBObj.CloseFile();

                if (modeloPai)
                {
                    iVisual.ProximaEtapa();
                }
            }
            catch (Exception ex)
            { Service.Error.GerarLog(ex); }
        }
 public static double[] SimularExportarCalcularResultados(Modelo modeloAtual)
 {
     Simular(modeloAtual);
     return(Relatorios.ExportarResultados(modeloAtual));
 }