예제 #1
0
 public MaxMinAntSystem2OptBest4SPP(SPPInstance instance, int numberAnts, double rho,
                                    double alpha, double beta, int maxReinit)
     : base(instance.NumberItems, SPPUtils.Fitness(instance, SPPUtils.RandomSolution(instance)),
            numberAnts, rho, alpha, beta, maxReinit)
 {
     Instance = instance;
 }
예제 #2
0
 protected override double Fitness(int[] solution)
 {
     if (solution[0] >= Instance.NumberSubsets)
     {
         solution[0] = Statistics.RandomDiscreteUniform(0, Instance.NumberSubsets - 1);
     }
     return(SPPUtils.Fitness(Instance, solution));
 }
        public void Write(string file)
        {
            double deviation = SPPUtils.Fitness(Instance, Assignment);

            using (StreamWriter writer = File.CreateText(file)) {
                writer.WriteLine(deviation);
                writer.WriteLine(Instance.NumberItems);
                writer.WriteLine(Instance.NumberSubsets);
                writer.WriteLine();
                for (int i = 0; i < Instance.NumberItems; i++)
                {
                    writer.WriteLine(Assignment[i] + 1);
                }
            }
        }
 protected override double Fitness(int[] individual)
 {
     return(SPPUtils.Fitness(Instance, individual));
 }
 protected override double Fitness(int[] solution)
 {
     return(SPPUtils.Fitness(Instance, solution));
 }