static void Main(string[] args) { List <int> numeros = new List <int>(); Data.createScenariosOfMovie(); Data.createScenario1(5, 40, 0); // location ,actors, posicion del escenario Data.createScenario2(6, 60, 1); // location ,actors, posicion del escenario Data.createScenario3(7, 100, 2); // location ,actors, posicion del escenario Data.createScenario4(8, 80, 3); // location ,actors, posicion del escenario Data.printScenarios(); Data.createDays(); Data.assignScenesToDay(); Data.assignLocationsToDay(); Data.performPmxInAllScenarios(); Pmx.clearLists(); Pmx.performOxInAllScenarios(); Console.WriteLine("\n\n\n\n"); Console.WriteLine("_____________________________________________ BRANCH AND BOUND ALGORITHM _____________________________________________\n"); BranchAndBound BB = new BranchAndBound(movie.Scenarios, movie); BB.RunBB(); Console.ReadKey(); }
public static void performPmxInAllScenarios() { Console.WriteLine("---------------------------------------------------------------------------------------------------------------------------------------------------------------------"); Console.WriteLine(" Algoritmo genetico PMX"); Console.WriteLine("----------------------------------------------------------------------------------------------------------------------------------------------------------------------"); for (int i = 0; i < 4; i++) { Pmx.performCrossingPMX(i); // posicion del escenario int numberOfScenario = i + 1; List <Day> days = Pmx.chooseTheBestCalendar(i); // posición del escenario int costo1 = Data.calculatePriceOfCalendar(i, movie.Scenarios[i].Days); int costo2 = Data.calculatePriceOfCalendar(i, days); Console.WriteLine(" Escenario numero " + numberOfScenario); Console.WriteLine(" Calendario original: " + costo1 + " Calendario mutado: " + costo2); Console.WriteLine(" \n" + " Asignaciones: " + Pmx.countA + " Comparaciones: " + Pmx.countC + " Lineas ejecutadas: " + Pmx.countL + "\n"); Pmx.countA = 0; Pmx.countL = 0; Pmx.countC = 0; /*Console.WriteLine(" CALENDARIO INICIAL"); * Pmx.printDays(movie.Scenarios[i].Days); * Console.WriteLine("\n CALENDARIO CRUZADO"); * Pmx.printDays(days);*/ } }