Monday 30 January 2012

Pre-stage 1 progress

The first part of Pre-Stage 1 is almost complete.  This stage doesn't use the SimC interfaces to RAMS Plus.  Instead, our application creates randomised traffic files and feeds these to RAMS.  We analyse the results and search looks for the worst case scenarios in terms of the conflict generated.

The scenario is extremely simple and is designed for us to test that the search algorithm is working correctly and see if we can tweak the search performance just using simple measures such as population size, mutation rates, crossover, etc.  The scenario is a simple en-route sector with two flight paths running roughly east to west and north to south.  The traffic enters and leaves at FL330 (cruise).  Obviously the point where the flight paths intersect will generate conflicts for ATCos given certain entry times into the sector.  The search is tasked with finding those times that generate the greatest number and severity of conflicts.  

As we don't impose any restrictions on the entry times, we permit aircraft to enter only seconds apart.  However, there is a 30min window, and so the search has to find a way to "clump" aircraft together so that it finds the configuration that will generate the greatest conflict.  Pre-Stage 1 is not intended to be realistic - it is only to ensure the search is working correctly.  Stages 1 - 4 gradually introduce greater levels of realism and complexity, and will dramatically increase the size of the search space.

Rather than repeatedly running a single instance of RAMS, we try to run multiple instances of it in parallel.  If you have never seen a computer pushed to its limits before, it is quite amusing to watch 100 separate instances of RAMS Plus (in non-graphic mode) each load up their variant of the same scenario before our application starts parsing the results.  Initial tests suggest that one generation (of a population of 100 individual scenarios) will take about 5 mins to complete, which should mean we can run 300-400 generations overnight although that time will increase once our scenario become more complex. 

Of course, as the screenshot shows, you shouldn't expect to keep working on the computer once you launch a run!  Here you can see that the traffic information has finished writing, but we're still only on the thirtieth instance of RAMS Plus.  

Mouse pointer lag is about 40 seconds. As I'm sure they said in a film somewhere, "Clicking is futile..."
You can see the memory use start to ramp up as more instances
of RAMS are loaded up - we're up to about a third of the total here.