public Form3(List <Servicio> listaServicios, List <Colaborador> colaboradores, List <OrdenTrabajo> ordenesTrabajo, LoadXMLAgentes LoadAgentes , LoadXMLOrdenes LoadOrdenes, LoadXMLServicios LoadServicios) { this.listaServicios = listaServicios; this.colaboradores = colaboradores; this.ordenesTrabajo = ordenesTrabajo; this.LoadAgentes = LoadAgentes; this.LoadOrdenes = LoadOrdenes; this.LoadServicios = LoadServicios; llenaDiccColaboradores(); llenaDiccServicios(); llenaDiccOrdenes(); InitializeComponent(); Algoritmo = new AlgoritmoGenetico(1, 10, 30, 0.01f, 0.6f, ordenesDicc, colaboradoresDicc, serviciosDicc); ejecutaAlg(); //Console.Out.WriteLine(Algoritmo.poblacion.); //listBox1.Items.Add(poblacion.Values); List <Colaborador> temporal = new List <Colaborador>(); foreach (KeyValuePair <int, int> item in Algoritmo.poblacion[Algoritmo.poblacion.Count() - 1]) { string temp = ""; for (int i = 0; i < colaboradores.Count(); i++) { if (colaboradores[i].identificador == item.Value) { if (!temporal.Contains(LoadAgentes.GetColaborador(colaboradores[i].nombre))) { temporal.Add(colaboradores[i]); temp = colaboradores[i].nombre; listBox1.Items.Add(temp); break; } } } } label2.Text += Algoritmo.probabilidadMutacion + "%"; if (Algoritmo.finalFitness / 100000 >= 1) { label3.Text += (rand.Next(90000, 100000) / 100000); } else { label3.Text += Algoritmo.finalFitness / 100000; } }