public Solution(VrptwProblem problem) : base(problem) { for (int i = 0; i < problem.Customers.Count; ++i) { Genes[i] = new CustomerGene(problem.Customers[i]); } Routes = GenesToRoutes(); }
public override Chromosome RandomSolution(int geneNumber, IProblem problem) { VrptwProblem vrptwProblem = problem as VrptwProblem; List <int> customers = Enumerable.Range(0, geneNumber).ToList(); customers.Shuffle(); IGene[] genes = new IGene[geneNumber]; for (int i = 0; i < geneNumber; ++i) { genes[i] = new CustomerGene(vrptwProblem.Customers[customers[i]]); } Solution solution = new Solution(vrptwProblem, genes); return(solution); }