{
  "id": 6015,
  "title": "Milestone Winner Methodology",
  "url": "/competitions/flight2-milestone/writeups/id-milestone-winner-methodology",
  "author_name": "",
  "post_date": "2013-10-12T05:49:20.517Z",
  "votes": 4,
  "comment_count": 3,
  "views": 6757,
  "content": "<p><strong>Summary</strong></p>\n<p style=\"text-align: justify\">The flight model and the cost function of the Flight Simulator were simplified. Optimal altitude and airspeed for current aircraft weight were computed for cruise, ascent, and descent. An automatic agent was constructed which minimizes the cost function selecting one of three actions for each time moment.</p>\n<p><strong>Modeling Techniques</strong></p>\n<p style=\"text-align: justify\">The flight cost consists of fuel cost and delay cost. The latter consists of a linear term (crew and other hourly costs) and a nonlinear term (passenger dissatisfaction costs). The nonlinear term is small relative to the linear one and was neglected. The cost equation was:</p>\n<p style=\"text-align: center\">flight_cost = fuel_consumed * fuel_cost + flight_duration * delay_cost</p>\n<p style=\"text-align: justify\">Please note that this equation does not include the actual delay of arrival. Hence, all parameters influencing this delay were neglected. In particular, both ground and traffic conditions at a destination airport were not taken into account.</p>\n<p>This solution uses several simplifications:</p>\n<ul>\n<li><span style=\"line-height: 1.4\">Only crew and other hourly costs are taken into account. Passenger dissatisfaction costs are neglected.</span></li>\n<li><span style=\"line-height: 1.4\">Ground conditions and traffic conditions at a destination airport are ignored. The arrival model is disabled in the Flight Simulator.</span></li>\n<li><span style=\"line-height: 1.4\">Wind direction and magnitude are assumed to be constant and correspond to the cutoff time.&nbsp;</span></li>\n<li><span style=\"line-height: 1.4\">Airplane goes in a straight line to a destination. Only altitude and airspeed are changing.</span></li>\n</ul>\n<p style=\"text-align: justify\">The second principal optimization concerns flight dynamics. Each time moment an aircraft has one of the three states: cruise, ascend, or descent. Each of the states has its own fuel expense depending on aircraft weight, airspeed and altitude. Optimal parameters for each state were found minimizing the cost function. Cruise state is usually optimal at maximal altitude and some specific airspeed. Descent fuel expense does not depend on airspeed. Descending with maximal airspeed is obviously the most efficient state. Ascent is always the least efficient.</p>\n<p>The automatic agent minimizes the cost function selecting one of the three actions for each time moment:</p>\n<ul>\n<li><span style=\"line-height: 1.4\">change altitude and cruise straight for 50 miles;</span></li>\n<li><span style=\"line-height: 1.4\">2000 feet ascent and subsequent descent;</span></li>\n<li><span style=\"line-height: 1.4\">descend to a destination (10000 feet on an airport border).</span></li>\n</ul>\n<p style=\"text-align: justify\">At present the optimal flight plans do not look to be natural. In reality a cycle of ascent with subsequent descent can not be more efficient than cruise at constant altitude. Hopefully, the next version of the Flight Simulator will be more realistic.</p>",
  "messages": [
    {
      "id": "32284",
      "postDate": "10/12/2013 05:49:20",
      "content": "<p><strong>Summary</strong></p>\n<p style=\"text-align: justify\">The flight model and the cost function of the Flight Simulator were simplified. Optimal altitude and airspeed for current aircraft weight were computed for cruise, ascent, and descent. An automatic agent was constructed which minimizes the cost function selecting one of three actions for each time moment.</p>\n<p><strong>Modeling Techniques</strong></p>\n<p style=\"text-align: justify\">The flight cost consists of fuel cost and delay cost. The latter consists of a linear term (crew and other hourly costs) and a nonlinear term (passenger dissatisfaction costs). The nonlinear term is small relative to the linear one and was neglected. The cost equation was:</p>\n<p style=\"text-align: center\">flight_cost = fuel_consumed * fuel_cost + flight_duration * delay_cost</p>\n<p style=\"text-align: justify\">Please note that this equation does not include the actual delay of arrival. Hence, all parameters influencing this delay were neglected. In particular, both ground and traffic conditions at a destination airport were not taken into account.</p>\n<p>This solution uses several simplifications:</p>\n<ul>\n<li><span style=\"line-height: 1.4\">Only crew and other hourly costs are taken into account. Passenger dissatisfaction costs are neglected.</span></li>\n<li><span style=\"line-height: 1.4\">Ground conditions and traffic conditions at a destination airport are ignored. The arrival model is disabled in the Flight Simulator.</span></li>\n<li><span style=\"line-height: 1.4\">Wind direction and magnitude are assumed to be constant and correspond to the cutoff time.&nbsp;</span></li>\n<li><span style=\"line-height: 1.4\">Airplane goes in a straight line to a destination. Only altitude and airspeed are changing.</span></li>\n</ul>\n<p style=\"text-align: justify\">The second principal optimization concerns flight dynamics. Each time moment an aircraft has one of the three states: cruise, ascend, or descent. Each of the states has its own fuel expense depending on aircraft weight, airspeed and altitude. Optimal parameters for each state were found minimizing the cost function. Cruise state is usually optimal at maximal altitude and some specific airspeed. Descent fuel expense does not depend on airspeed. Descending with maximal airspeed is obviously the most efficient state. Ascent is always the least efficient.</p>\n<p>The automatic agent minimizes the cost function selecting one of the three actions for each time moment:</p>\n<ul>\n<li><span style=\"line-height: 1.4\">change altitude and cruise straight for 50 miles;</span></li>\n<li><span style=\"line-height: 1.4\">2000 feet ascent and subsequent descent;</span></li>\n<li><span style=\"line-height: 1.4\">descend to a destination (10000 feet on an airport border).</span></li>\n</ul>\n<p style=\"text-align: justify\">At present the optimal flight plans do not look to be natural. In reality a cycle of ascent with subsequent descent can not be more efficient than cruise at constant altitude. Hopefully, the next version of the Flight Simulator will be more realistic.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "32295",
      "postDate": "10/12/2013 16:37:36",
      "content": "<p>This is wonderful! An embarrassingly simple solution with no machine learning involved at all. I was afraid it would be something like this after I played a little with the flight simulator and looked at the literature. Didn't have time to pursue it further for the milestone, but now I'll definitely have a second look.</p>\n<p>Congratulations! :)</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "32312",
      "postDate": "10/13/2013 17:28:57",
      "content": "<p>Congratulations!</p>\n<p>It is a very good work.</p>\n<p>I am very interested about this topic, I was wondering if you could share the winning route flight submission with the rest of us..?</p>\n<p>Thanks</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "32316",
      "postDate": "10/13/2013 22:36:10",
      "content": "<p>[quote]</p>\n<p>I was wondering if you could share the winning route flight submission with the rest of us..?</p>\n<p>[/quote]</p>\n<p>I second that request. The picture that I took away from the description is that of a sine wave trajectory. But that doesn't sound like an efficient way to fly. Maybe I misread the solution. A sample flight path or two would help us understand.</p>",
      "rawMarkdown": "",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 32295,
      "author_name": "hyperborean",
      "author_url": "",
      "post_date": "10/12/2013 16:37:36",
      "content": "<p>This is wonderful! An embarrassingly simple solution with no machine learning involved at all. I was afraid it would be something like this after I played a little with the flight simulator and looked at the literature. Didn't have time to pursue it further for the milestone, but now I'll definitely have a second look.</p>\n<p>Congratulations! :)</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 32312,
      "author_name": "franchi",
      "author_url": "",
      "post_date": "10/13/2013 17:28:57",
      "content": "<p>Congratulations!</p>\n<p>It is a very good work.</p>\n<p>I am very interested about this topic, I was wondering if you could share the winning route flight submission with the rest of us..?</p>\n<p>Thanks</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 32316,
      "author_name": "anlthms",
      "author_url": "",
      "post_date": "10/13/2013 22:36:10",
      "content": "<p>[quote]</p>\n<p>I was wondering if you could share the winning route flight submission with the rest of us..?</p>\n<p>[/quote]</p>\n<p>I second that request. The picture that I took away from the description is that of a sine wave trajectory. But that doesn't sound like an efficient way to fly. Maybe I misread the solution. A sample flight path or two would help us understand.</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "32284": "",
    "32295": "",
    "32312": "",
    "32316": ""
  },
  "source": "meta"
}