public void Start(string inputFile, string outputFile, int timeLimit)
 {
     SPPInstance instance = new SPPInstance(inputFile);
     int neighborChecks = (int) Math.Ceiling(neighborChecksFactor * (instance.NumberSubsets - 1));
     int tabuListLength = (int) Math.Ceiling(tabuListFactor * instance.NumberItems);
     DiscreteHMTSwGRASP2OptFirst4SPP hm = new DiscreteHMTSwGRASP2OptFirst4SPP(instance, rclTreshold, graspIterations, tabuListLength, neighborChecks);
     hm.Run(timeLimit - timePenalty);
     SPPSolution solution = new SPPSolution(instance, hm.BestSolution);
     solution.Write(outputFile);
 }
        public void Start(string inputFile, string outputFile, int timeLimit)
        {
            SPPInstance instance               = new SPPInstance(inputFile);
            int         neighborChecks         = (int)Math.Ceiling(neighborChecksFactor * (instance.NumberSubsets - 1));
            int         tabuListLength         = (int)Math.Ceiling(tabuListFactor * instance.NumberItems);
            DiscreteHMTSwGRASP2OptFirst4SPP hm = new DiscreteHMTSwGRASP2OptFirst4SPP(instance, rclTreshold, graspIterations, tabuListLength, neighborChecks);

            hm.Run(timeLimit - timePenalty);
            SPPSolution solution = new SPPSolution(instance, hm.BestSolution);

            solution.Write(outputFile);
        }