public double[] getDemandWithStation(int station_index)
 {
     double[] result = new double[this.StopStation.Length];
     for (int i = 0; i < Actual_serve_demand.GetLength(0); i++)
     {
         result.SetValue(Actual_serve_demand[station_index, i], i);
     }
     return(result);
 }
        public void setOverDemand()
        {
            over_serve = new double[this.Actual_serve_demand.GetLength(0), this.Actual_serve_demand.GetLength(0)];
            var size = Actual_serve_demand.GetLength(0);

            var(source_index, des_index) = getSouceDesIndex();
            for (int z = source_index; z < des_index; z++)
            {
                var result = 0;
                for (int i = source_index; i < z + 1; i++)
                {
                    for (int j = size - 1; j > z; j--)
                    {
                        Console.WriteLine("____LOOP__{0}_{1}_{2}_" + Actual_serve_demand[i, j], z, i, j);
                        Console.WriteLine("______________________________________ actual " + Actual_serve_demand[i, j]);
                        result += Actual_serve_demand[i, j];
                    }
                }
                Console.WriteLine("______________________________________ RESULT " + result);
                this.over_serve[z, z + 1] = PhysicalData.TrainSize - result;
            }
        }