private SiteClusteringCvrpp(SiteClusteringCvrpp site) : base(site) { PenaltyCluster = new Cluster(site.PenaltyCluster); kilometerCost = site.kilometerCost; FormAllClusters(); }
protected override Site GetNeighbour() { SiteClusteringCvrpp result = new SiteClusteringCvrpp(this); double probability = TaskController.Rnd.NextDouble(); if (probability < 0.5) { MoveNodeFromOneClusterToAnother(result.allClusters); } else { ExchangeNodesInClusters(result.allClusters); } return result; }