Simulation-and-Optimization-with-Python
Part 1: Simulation Create a simulation for the London-Birmingham section of the high-speed line under assumption of a number k of signalling blocks. A decision on the number of signaling blocks is required, as the track laying is supposed to start soon. Also a decision on the number of trains running per hour has to be made. Depending on the number of signalling blocks simulate the throughput of trains. Take into account that between Birmingham Interchange and Birmingham Curzon street as well as between London Old Oak Common and London Euston there will be a practical speed limit and the traveling times are 5 min between London Euston and London Old Oak Common (one signalling block) and 9 min between Birhigham Interchange and Birmingham Curzon Street station (two signalling blocks). Take into account the variability of achievable speeds due to wind and weather conditions on the stretch between London Old Oak Common and Birmingham Interchange. Take into account the variability in stop times, i.e. minor delays due to passenger movements. London Euston 5 min London Old Oak Common 31 min Birmingham Interchange 9 min Birmingham Curzon Street The distance between London Old Oak Common Station and Birmingham Interchange Station is 145km. This could be broken down in up-to 14 blocks. If there are less but longer blocks the trains could achieve in theory a higher average speed, however the throughput in trains per hour is smaller. Part 2: Optimisation For the project you need to create a simulation of the train network which would give for a given train schedule (numbers of trains per hour n β {1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 20}) and a given break-down of the line in signalling blocks k β {1, ..., 15} a distribution of average overall travelling time. The simulation results are fed into an optimisation problem to determine (nopt, kopt) to achieve an optimal results. Using the simulation described above solve the following optimisation problems: (1) Minimise the overall average traveling time. The overall traveling time consist of the waiting time for the next train and the actual traveling time until arrival of the train. The problem can be simplified by assuming a fixed average waiting time (0.5*60/n). (2) Maximise the throughput of passengers in peak hours. The trains can be configured to run at a length of 200m (short train, 420 passengers) or 300m (max train, 630 passengers). While longer trains carry potentially more passengers, you need to consider the walking times at the train station. The walking speed of a train passenger carrying luggage is between 1.0 and 1.2m/s, which impacts on the stop times at the station. Also more passengers disembarking and embarking may lengthen the stop times. For a more realistic simulation assume a Poisson-Distribution for passengers arriving at the train station at an average rate of m passengers per hour and how they can be served by n trains per hour. As the trains are on a tight schedule, we cannot assume that everyone gets on board during the short stopping time. Assume that the trains are only filled to 70% of nominal capacity. A backlog of passengers on the departing station will impact on the average travelling time.