This document gives a short description about the content and some key points of the problem instances.
The sample instance
Not part of the 'competition' is the sample instance. It is the simplest instance of all and you should start your solving adventures with this one.
The official nine Problem Instances
As a general rule of thumb, the complexity of the instances increases according to their prefix-number. 01 is clearly the simplest one, 09 is clearly the hardest one. Between 05 and 08, one cannot really make a general statement. For some algorithms, an instance may be very easy, while for others the same one may be hard but a different one more suitable. Just give it a go and try them out!
A note on solvability: All instances except 05 are solvable with objective value 0, i.e. satisfying all business rules and avoiding routes with penalty. Strictly speaking, we are not entirely sure for instance 09, because our benchmark solvers have not been able to solve that instance. But we strongly expect that is the case.
Instance | Description |
---|---|
01_dummy | Very simple instance. Having solved the sample instance above, you should solve this one - 4 trains - minimal routing alternatives - no connections |
02_a_little_less_dummy | Still simple. More trains than 01, but still very minimal routing possibilities. Actually, most trains have a fixed route (i.e. the route graph is just a linar path) - 58 trains - minimal routing alternatives - no connections |
03_FWA_0.125 | Getting more difficult. More trains than 02, but still quite limited routing possibilities. First instance with connections, so you must implement the logic to conform to the Connections Business Rule #105 - 143 trains - minimal routing alternatives - first instance with connections |
04_V1.02_FWA_without_obstruction | Similar to 03. A few more trains. - 148 trains - few routing alternatives |
05_V1.02_FWA_with_obstruction | This instance cannot be solved with objective value 0! In other words, it is impossible to satisfy all twelve business rules. Since rule #101 is the only one that can be 'bent', you must try to find a solution that minimizes the delay. The sample solutin for this instance is far from optimal. For most solvers, this instance is far harder than 04, even though it only contains one service_intention more and is otherwise identical. - 149 trains - few routing alternatives - typically difficult to solve optimally |
06_V1.20_FWA | One of the larger instances, many trains and for many of them a large number of routing alternatives - 365 trains - quite some routing alternatives |
07_V1.22_FWA | Similar to 06, but roughly 100 trains more - 467 trains - quite some routing alternatives |
08_V1.30_FWA | Next to instance 09, this is the instance with the most routing alternatives. However, it contains a lot fewer trains than 06 and 07. We do not provide a sample solution for this instance. - 133 trains - lots of routing alternatives |
09_ZUE-ZG-CH_0600-1200 | All in all the largest instance. Contains 'only' 287 trains, but each of them has large amount of possible routings. We do not provide a sample solution for this instance. It is probably solvable with objective value 0, although we have not been able to find such a solution so far. - 287 trains - lots of routing alternatives |
You should probably
- start with the (almost trivial) sample instance just to get the technicalities and the data models right
- then proceed to the simplest official problem instances 01 and 02
- once solved, proceed to the remaining instances. The remaining ones also feature connections, you can solve the previous ones without worrying about those.