public void Start(string fileInput, string fileOutput, int timeLimit) { TwoSPInstance instance = new TwoSPInstance(fileInput); // Setting the parameters of the GA for this instance of the problem. int[] lowerBounds = new int[instance.NumberItems]; int[] upperBounds = new int[instance.NumberItems]; for (int i = 0; i < instance.NumberItems; i++) { lowerBounds[i] = 0; upperBounds[i] = instance.NumberItems - 1; } DiscreteGA genetic = new DiscreteGANPS42SP(instance, (int)popSize, mutProbability, lowerBounds, upperBounds); // Solving the problem and writing the best solution found. genetic.Run(timeLimit - (int)timePenalty); int[,] coordinates = TwoSPUtils.NPSCoordinates(instance, genetic.BestIndividual); TwoSPSolution solution = new TwoSPSolution(instance, coordinates); solution.Write(fileOutput); }