示例#1
0
        [ActionName("resolveSimulatedAnnealingGAPInstance")] // path dell'api.
        public string resolveSimulatedAnnealingGAPInstance(AnnealingParameters paramts)
        {
            GAPInstance Gap = JSONConverter.deserializeGAP(dataDirectory + "\\" + paramts.getFileName());

            return(new BasicHeu(Gap).simulatedAnnealing(paramts.getTemperature(), paramts.getSteps(),
                                                        paramts.getTempDecrease(), paramts.getCoolingScheduleSteps()).ToString());
        }
示例#2
0
 public void LogAnnealingTtp1Intro(AnnealingParameters parameters)
 {
     using (var file = new System.IO.StreamWriter(OutputPath, true))
     {
         file.WriteLine("NEIGHBOURHOOD SIZE:" + parameters.NeighbourhoodSize);
         file.WriteLine("INITIAL TEMPERATURE:" + parameters.InitialTemperature);
         file.WriteLine("TEMPERATURE PERCENTAGE DROP PER ANNEALING CYCLE:" +
                        parameters.TemperaturePercentageDropPerCycle);
         if (LogOutputType == AlgorithmLogOutput)
         {
             file.WriteLine("NUM_CYCLE;GLOBAL_BEST_FITNESS;BEST_FITNESS; CURRENT_FITNESS;TEMPERATURE;");
         }
     }
 }
        public GaThenSaTtp1(Problem.Problem problem, GaThenSATtp1Parameters parameters)
        {
            Problem = problem;
            Genetic = new GaTtp1(problem, parameters.GeneticParameters);

            var annealingParams = new AnnealingParameters
            {
                InitialTemperature                = parameters.AnnealingParameters.InitialTemperature,
                NeighbourhoodSize                 = parameters.AnnealingParameters.NeighbourhoodSize,
                NumAlgorithmIterations            = 1,
                NumAnnealingCycles                = parameters.AnnealingParameters.NumAnnealingCycles,
                TemperaturePercentageDropPerCycle = parameters.AnnealingParameters.TemperaturePercentageDropPerCycle,
            };

            Parameters = parameters;
            Parameters.AnnealingParameters = annealingParams;

            Annealing = new AnnealingTtp1(problem, annealingParams);
        }