public void Start(string fileInput, string fileOutput, int timeLimit)
        {
            TwoSPInstance instance = new TwoSPInstance(fileInput);

            int[] ordering = TwoSPUtils.DecreasingArea(instance);
            int[,] coordinates = TwoSPUtils.NPSCoordinates(instance, ordering);
            TwoSPSolution solution = new TwoSPSolution(instance, coordinates);

            solution.Write(fileOutput);
        }
        protected override int[] InitialSolution()
        {
            int[] solution;

            if (generatedSolutions == 0)
            {
                solution = TwoSPUtils.DecreasingArea(Instance);
            }
            else
            {
                solution = TwoSPUtils.RandomSolution(Instance);
            }

            generatedSolutions++;
            return(solution);
        }
示例#3
0
        protected override int[] RandomSolution()
        {
            int[] solution;

            if (generatedSolutions == 0)
            {
                solution = TwoSPUtils.DecreasingArea(Instance);
            }
            else if (generatedSolutions == 1)
            {
                solution = TwoSPUtils.DecreasingWidth(Instance);
            }
            else if (generatedSolutions == 2)
            {
                solution = TwoSPUtils.DecreasingHeight(Instance);
            }
            else
            {
                solution = TwoSPUtils.RandomSolution(Instance);
            }

            generatedSolutions++;
            return(solution);
        }