protected SiteClusteringCvrp(SiteClusteringCvrp site)
     : base(site)
 {
     this.CapacityLimit = site.CapacityLimit;
 }
        protected override Site GetNeighbour()
        {
            SiteClusteringCvrp result = new SiteClusteringCvrp(this);

            double probability = TaskController.Rnd.NextDouble();

            if (probability < 0.5)
            {
                MoveNodeFromOneClusterToAnother(result.Clusters);
            }
            else
            {
                ExchangeNodesInClusters(result.Clusters);
            }

            return result;
        }