Basic Structure of Flight Quest 2 The goal of Flight Quest 2 is to develop an Agent, a computer program that recommends the route (defined by latitude, longitude, altitude, and airspeed) a plane should take for the remainder of each flight provided in the test set. Each route will be simulated through our Flight Simulator, which calculates the fuel burn during the course of the flight, while also accounting for things like weather and changing aircraft weight. The goal is to optimize the Cost Function, which quantifies the costs related to fuel burn, aircraft costs, and other passenger costs. The Agent that produces a set of routes with the lowest average cost will be at the top of the leaderboard. Getting Started 1. Each data release covers a particular time period. The first data release consists of 4 weeks of training data (June 7 - July 4) and 2 weeks of test data (July 5-18). The training data provides all available information about flights: their destination and arrival airports, scheduled and actual departure and arrival times, position during the course of the flight, filed flight plans and changes to flight plans, etc. Also provided is weather information related to the flights, such as runway conditions, sky conditions, visibility, airport alerts (e.g., fog, icing), etc. The test data is used to create the test set collection of flights and the associated test feature set. We ask participants to submit routes for the test flights, identified by flight id and listed in the file TestFlights.csv. To create this collection of flights, we pick a random cutoff time for each day in the test set. We filter for flights that are above 18,000 feet, have destination and arrival airports in the contiguous US, are more than 75 miles from the destination airport, are flying a medium-range aircraft, and are in the air at the random cutoff time. Your job as participants is to “fly” these planes to their destinations in the most efficient way that minimizes the cost function. The test feature set provides information about the test flights up to the cutoff time. After the cutoff time, no additional information is available, which mimics real-life situations where the future is not known. Your models must be built using existing information and be robust to the uncertainty of the future. 2. Each flight is optimized independently; your instructions for a flight are only used when the cost of that flight is being simulated. That flight reverts to its real-life path (and may for example affect airport congestion) when another flight is evaluated. Let’s say we have a set of 10 flights. You need to develop optimal routes for each of the flights. The Simulator then evaluates each flight in turn. For each flight, the remaining 9 flights continue to exist and contribute to overall conditions (congestion at the destination airport, for example) but you do not have direct control over those flights. So part of building optimal routes will include developing models to account for the current conditions a specific plane may experience. 3. A flight is simulated by moving towards the Agent’s indicated waypoints at a consistent time interval. At each step in the simulation, the Simulator moves the plane based on pertinent conditions (e.g., weather and ground conditions at airports) for that time and location. Participants only have the current conditions up to the cutoff time for the test flights. After the cutoff time, the conditions that will affect the rest of the flight are "future information" which the Agent you develop will not have. 4. The best way to get started is to select a few flights from the training data set, run them through the Simulator, and understand what the Simulator is doing and what are its required inputs. Determine which inputs you have in the test set and which you do not have and then develop a strategy for routing planes using the inputs available. 5. The Simulator also incorporates some constraints and penalties which are necessary to model aspects of the real world, to make the competition interesting, or to make scoring submissions feasible. These aspects can be discovered in the Simulator code and comments. One constraint worth mentioning here is the maximum allowed number of instructions for each flight is 200 instructions. Please be sure to watch the [forums](https://www.gequest.com/c/flight2-main/forums) for the latest on Flight Simulator code releases.