public MedirTiempos(QAP qap) { mejoresSoluciones = new List <int>() { 6156, 6194, 3796, 64, 6922, 2520135, 7763962, 5166, 90998, 115534, 152002, 149036, 21052466, 1185996137, 498896643, 44759294, 240516, 8133398, 48816, 273038 }; qap.ResolverBL(); tiemposBL.Add(qap.GetTiempoEjecucion()); solucionesBL.Add(qap.GetLocalizacionesEnUnidades()); costesBL.Add(qap.CalcularCoste()); qap.ResolverGreedy(); tiemposGreedy.Add(qap.GetTiempoEjecucion()); solucionesGreedy.Add(qap.GetLocalizacionesEnUnidades()); costesGreedy.Add(qap.CalcularCoste()); if (solucionesBL.Count == mejoresSoluciones.Count) { CalcularDesviaciones(); } CalcularTiempos(); }
public QAP(QAP copia) { tamProblema = copia.tamProblema; localizacionesEnUnidades.AddRange(copia.localizacionesEnUnidades); flujosUnidades.AddRange(copia.flujosUnidades); distanciasLocalizaciones.AddRange(copia.distanciasLocalizaciones); coste = copia.coste; }
public bool IsEquals(QAP qap) { bool iguales = true; for (int i = 0; i < localizacionesEnUnidades.Capacity; i++) { if (localizacionesEnUnidades[i] != qap.GetLocalizacionesEnUnidades()[i]) { iguales = false; } } return(iguales); }
static void Main(string[] args) { string ruta = "./" + args[0]; Console.WriteLine(ruta); QAP qap = new QAP(ruta); MedirTiempos mt = new MedirTiempos(qap); Console.WriteLine(); Console.WriteLine("Tiempo Greedy: " + mt.GetTiemposGreedy()[0]); Console.WriteLine("Coste Greedy: " + mt.GetCostesGreedy()[0]); Console.WriteLine("Solución Greedy: "); foreach (int i in mt.GetSolucionesGreedy()[0]) { Console.Write(i + " "); } Console.WriteLine(); Console.WriteLine("Tiempo BL: " + mt.GetTiemposBL()[0]); Console.WriteLine("Coste BL: " + mt.GetCostesBL()[0]); Console.WriteLine("Solución BL: "); foreach (int i in mt.GetSolucionesBL()[0]) { Console.Write(i + " "); } Console.WriteLine(); }