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; }
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)); }