From Earlham Cluster Department
If you did the air traffic analysis problem, you would see that the data leave a lot to be desired. One way to “fix” the data is to create your own by simulation. This problem is the basis for the real air traffic management systems used in Europe. The USA is still mired in old manual technology. The object here will be to simulate the air traffic in a 2-D square sector.
- Computer graphics
- Handling large amounts of generated data
- Optimization of algorithms
A full description is given in FlightSimulation.pdf (contained in the ZIP file below). The object it so “fly” 35 planes through a square sector of 500 nm on a side without any of them coming too close (5 nm). The accompanying slides derive one algorithm for deciding how one plane can find a free path (up to a look-head time) among other planes that maintain their heading and speed. You must program that algorithm and decide a way to apply it to the 35 planes simultaneously.
Assume that the sector is a square 500 nm on a side. The planes must always be at least 5 nm from each other.
1) Calculate random starting locations on the sides of the sector for 35 planes. Be sure they are at least 5 nm apart (more may be better). Calculate random destination points for each flight. Be sure the destination side and start side are different. Pick random speeds between 250 and 450 knots. (20%)
2) Present an algorithm (in words, pseudocode, or drawings) to allow a single plane to find its optimum route to the destination, assuming that all the other planes maintain their current course and speed. Do this for a lookahead time of 600 s. (20%)
3) Implement the collision avoidance algorithm and simulate the traffic in the sector until all flights reach their destination. Plot the paths of all flights and the distances of closest approach vs time. Smooth paths are obviously preferred by the plane’s passengers and the judges!
Additional information: Planes may change their speed provided that they remain within the 250-450 knot limits, and do this gradually enough that the passengers are comfortable. This may or may not make finding a safe route easier easier.
When a flight reaches the sector boundary remove it from the problem. Extra credit will be given for replacing it with a new flight so there are always 35 flights in the sector. (60%).
Your report should include a description of the steps taken by the team in working to obtain results. State the problems encountered, the possible solutions considered and tried, and the solution that was used. Explain how you extend the problem of one plane picking a course to managing the traffic in the whole sector. Numerically, how do you pick the best course for each flight? Can this be parallelized? Your report should also include observations on additional steps that might be taken to improve the accuracy and/or speed of execution of your code, were you to have more time. You might find that graphics can help your thinking.
In your electronic notebook, please document the code that was written and the output obtained when running the compiled code.
The Complete Kit
Download this ZIP file for the complete kit for this problem, http://wiki.sc-education.org/uploads/safeflying.zip