{
  "id": 5455,
  "title": "CutoffTime is always after ScheduledArrivalTime",
  "url": "/competitions/flight2-milestone/discussion/5455",
  "author_name": "",
  "post_date": "2013-08-19T23:45:53.573Z",
  "votes": null,
  "comment_count": 10,
  "views": 3746,
  "content": "<p>In testFlights.csv the&nbsp;CutoffTime is always after the ScheduledArrivalTime.</p>\n<p>Is it an error?</p>",
  "messages": [
    {
      "id": "28998",
      "postDate": "08/19/2013 23:45:53",
      "content": "<p>In testFlights.csv the&nbsp;CutoffTime is always after the ScheduledArrivalTime.</p>\n<p>Is it an error?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "28999",
      "postDate": "08/20/2013 00:15:30",
      "content": "<p>What exactly is&nbsp;&nbsp;cutoff time?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "29000",
      "postDate": "08/20/2013 00:19:25",
      "content": "<p>My guess is that if you fail to arrive by the cutoff time, your flight incurs the NonArrival Penalty in addition to all the costs resulting from the total actual amount of fuel burned plus all the other accumulated costs over the time in flight.&nbsp;</p>\n<p>So if you were planning on submitting a flight plan that will take you around the world before arriving at your destination ...&nbsp; DON'T! [grin]</p>\n<p>You might also be interested to observe that if you submit an empty text file ( which essentially reflects the idea that no flight plans submitted for any of the flights, which&nbsp; effectively translates the idea that no flights occured ), you will find that you incurred the <strong>the average of the sum of the NonArrival Penalty amounts</strong> for each of the individual (non)-flights, which is <strong>somewhat surprising since I had surmised that my score would be the sum of each flight's NonArrival Penalty</strong> instead.</p>\n<p>As to why I submitted such a plan - via the euphemistically-named empty csv file <strong>NoFly.csv</strong> -&nbsp; basically it was because I wanted to know what happened if I saved the airlines the maximal time and fuel possible i.e. no fuel burned and no time costs incurred [grin].</p>\n<p>So by playing around, I actually discovered an interesting fact that the submission score appears to be an average of the accumulated costs rather than the sum of all such costs as one would intuitively expect.</p>\n<p>&nbsp;</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "29040",
      "postDate": "08/20/2013 11:54:12",
      "content": "<p>If&nbsp;the cutoff time is refered to the&nbsp;NonArrival Penalty, what is the time of the position of the flights?</p>\n<p>&nbsp;</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "29087",
      "postDate": "08/20/2013 18:07:33",
      "content": "<p>This was a timezone conversion error in the output serialization of testFlights.csv - we've corrected it and released an updated version (testFlightsRev2.csv). The timezone issue only affected the ScheduledArrivalTime column &amp; this specific issue didn't affect the input files to the simulator that are used in scoring results.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "29100",
      "postDate": "08/20/2013 22:07:18",
      "content": "<p>Hi Ben.</p>\n<p>In the Test Data file, what are the Time Zones of the cutoff and scheduled arrival times (pacific or utc)?</p>\n<p>tnx</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "29126",
      "postDate": "08/21/2013 06:48:56",
      "content": "<p>I've seen they're marked +00:00, so I suppose they're UTC.</p>\n<p>Another question: some scheduled arrival times are still before the cutoff time. Does this mean that these flights are already late, so we're incurring in delay costs?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "29522",
      "postDate": "08/27/2013 01:20:33",
      "content": "<p>Even after the correction, all of the cutoff times are before the arrival times, e.g.</p>\n<p>302902815</p>\n<p>cutoff: 2013-07-16 0:38:19+00:00</p>\n<p>KPDX</p>\n<p>arrival: 2013-07-16 2:25:00+00:00</p>\n<p>&nbsp;</p>\n<p>There are other fields which are not clearly defined:</p>\n<ul>\n<li><span style=\"line-height: 1.4\">DelayCostProportion30m</span></li>\n<li>DelayCostProportion2h</li>\n<li>MaxStandardDelayCost</li>\n<li>MaxPremiumDelayCost</li>\n</ul>\n<p>Has anyone figured out definitively what any of these fields mean?</p>\n<p>&nbsp;</p>\n<p>Edit: Now that there's an explanation of CutoffTime, I realize my misconception. It's&nbsp;<em>good</em> that the cutoff times are before/near the attempted landing time. Cool beans.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "29543",
      "postDate": "08/27/2013 05:07:19",
      "content": "<p>[quote=jhaberstroh;29522]</p>\n<p><span style=\"line-height: 1.4\">There are other fields which are not clearly defined:</span></p>\n<ul>\n<li><span style=\"line-height: 1.4\">DelayCostProportion30m</span></li>\n<li>DelayCostProportion2h</li>\n<li>MaxStandardDelayCost</li>\n<li>MaxPremiumDelayCost</li>\n</ul>\n<p>Has anyone figured out definitively what any of these fields mean?</p>\n<p>[/quote]</p>\n<p>These fields are used in the cost calculation function (see CostModel.fs in the simulator source package)</p>\n<p>let perPassengerRelativeDelayCost (costParams:CostParameters) (timeDelayed:float&lt; Hours &gt;) = <br> let t1 = delayReference30Minutes<br> let t2 = delayReference2Hours<br> let eb = log(1.0/costParams.DelayCostProportion30Minutes-1.0)<br> let fb = log(1.0/costParams.DelayCostProportion2Hours-1.0)<br> let adr = 1.0/(t2-t1) // reciprocal of determinant<br> let timeScaleFactor = adr*eb - adr*fb<br> let timeOffset = t2*adr*eb - t1*adr*fb<br> 1.0 / (1.0 + exp(-timeScaleFactor * float timeDelayed + timeOffset))</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "30369",
      "postDate": "09/06/2013 20:00:56",
      "content": "<p>&quot;Edit: Now that there's an explanation of CutoffTime&quot;</p>\n<p>Exactly where is this explanation?</p>\n<p>&nbsp;</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "30370",
      "postDate": "09/06/2013 20:11:16",
      "content": "<p>For what I understand, CutoffTime is the last time for that day which we are given data for. So we get weather and flight paths up to the CutoffTime, and between the cutoff time and the arrival we need our agent to predict the optimal path.</p>",
      "rawMarkdown": "",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 28999,
      "author_name": "d2as296237",
      "author_url": "",
      "post_date": "08/20/2013 00:15:30",
      "content": "<p>What exactly is&nbsp;&nbsp;cutoff time?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 29000,
      "author_name": "booksiberia1",
      "author_url": "",
      "post_date": "08/20/2013 00:19:25",
      "content": "<p>My guess is that if you fail to arrive by the cutoff time, your flight incurs the NonArrival Penalty in addition to all the costs resulting from the total actual amount of fuel burned plus all the other accumulated costs over the time in flight.&nbsp;</p>\n<p>So if you were planning on submitting a flight plan that will take you around the world before arriving at your destination ...&nbsp; DON'T! [grin]</p>\n<p>You might also be interested to observe that if you submit an empty text file ( which essentially reflects the idea that no flight plans submitted for any of the flights, which&nbsp; effectively translates the idea that no flights occured ), you will find that you incurred the <strong>the average of the sum of the NonArrival Penalty amounts</strong> for each of the individual (non)-flights, which is <strong>somewhat surprising since I had surmised that my score would be the sum of each flight's NonArrival Penalty</strong> instead.</p>\n<p>As to why I submitted such a plan - via the euphemistically-named empty csv file <strong>NoFly.csv</strong> -&nbsp; basically it was because I wanted to know what happened if I saved the airlines the maximal time and fuel possible i.e. no fuel burned and no time costs incurred [grin].</p>\n<p>So by playing around, I actually discovered an interesting fact that the submission score appears to be an average of the accumulated costs rather than the sum of all such costs as one would intuitively expect.</p>\n<p>&nbsp;</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 29040,
      "author_name": "franchi",
      "author_url": "",
      "post_date": "08/20/2013 11:54:12",
      "content": "<p>If&nbsp;the cutoff time is refered to the&nbsp;NonArrival Penalty, what is the time of the position of the flights?</p>\n<p>&nbsp;</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 29087,
      "author_name": "benhamner",
      "author_url": "",
      "post_date": "08/20/2013 18:07:33",
      "content": "<p>This was a timezone conversion error in the output serialization of testFlights.csv - we've corrected it and released an updated version (testFlightsRev2.csv). The timezone issue only affected the ScheduledArrivalTime column &amp; this specific issue didn't affect the input files to the simulator that are used in scoring results.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 29100,
      "author_name": "karle1",
      "author_url": "",
      "post_date": "08/20/2013 22:07:18",
      "content": "<p>Hi Ben.</p>\n<p>In the Test Data file, what are the Time Zones of the cutoff and scheduled arrival times (pacific or utc)?</p>\n<p>tnx</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 29126,
      "author_name": "gabrieleseppi",
      "author_url": "",
      "post_date": "08/21/2013 06:48:56",
      "content": "<p>I've seen they're marked +00:00, so I suppose they're UTC.</p>\n<p>Another question: some scheduled arrival times are still before the cutoff time. Does this mean that these flights are already late, so we're incurring in delay costs?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 29522,
      "author_name": "jhaberstroh",
      "author_url": "",
      "post_date": "08/27/2013 01:20:33",
      "content": "<p>Even after the correction, all of the cutoff times are before the arrival times, e.g.</p>\n<p>302902815</p>\n<p>cutoff: 2013-07-16 0:38:19+00:00</p>\n<p>KPDX</p>\n<p>arrival: 2013-07-16 2:25:00+00:00</p>\n<p>&nbsp;</p>\n<p>There are other fields which are not clearly defined:</p>\n<ul>\n<li><span style=\"line-height: 1.4\">DelayCostProportion30m</span></li>\n<li>DelayCostProportion2h</li>\n<li>MaxStandardDelayCost</li>\n<li>MaxPremiumDelayCost</li>\n</ul>\n<p>Has anyone figured out definitively what any of these fields mean?</p>\n<p>&nbsp;</p>\n<p>Edit: Now that there's an explanation of CutoffTime, I realize my misconception. It's&nbsp;<em>good</em> that the cutoff times are before/near the attempted landing time. Cool beans.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 29543,
      "author_name": "sergeykozub",
      "author_url": "",
      "post_date": "08/27/2013 05:07:19",
      "content": "<p>[quote=jhaberstroh;29522]</p>\n<p><span style=\"line-height: 1.4\">There are other fields which are not clearly defined:</span></p>\n<ul>\n<li><span style=\"line-height: 1.4\">DelayCostProportion30m</span></li>\n<li>DelayCostProportion2h</li>\n<li>MaxStandardDelayCost</li>\n<li>MaxPremiumDelayCost</li>\n</ul>\n<p>Has anyone figured out definitively what any of these fields mean?</p>\n<p>[/quote]</p>\n<p>These fields are used in the cost calculation function (see CostModel.fs in the simulator source package)</p>\n<p>let perPassengerRelativeDelayCost (costParams:CostParameters) (timeDelayed:float&lt; Hours &gt;) = <br> let t1 = delayReference30Minutes<br> let t2 = delayReference2Hours<br> let eb = log(1.0/costParams.DelayCostProportion30Minutes-1.0)<br> let fb = log(1.0/costParams.DelayCostProportion2Hours-1.0)<br> let adr = 1.0/(t2-t1) // reciprocal of determinant<br> let timeScaleFactor = adr*eb - adr*fb<br> let timeOffset = t2*adr*eb - t1*adr*fb<br> 1.0 / (1.0 + exp(-timeScaleFactor * float timeDelayed + timeOffset))</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 30369,
      "author_name": "robertramey",
      "author_url": "",
      "post_date": "09/06/2013 20:00:56",
      "content": "<p>&quot;Edit: Now that there's an explanation of CutoffTime&quot;</p>\n<p>Exactly where is this explanation?</p>\n<p>&nbsp;</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 30370,
      "author_name": "jhaberstroh",
      "author_url": "",
      "post_date": "09/06/2013 20:11:16",
      "content": "<p>For what I understand, CutoffTime is the last time for that day which we are given data for. So we get weather and flight paths up to the CutoffTime, and between the cutoff time and the arrival we need our agent to predict the optimal path.</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "28998": "",
    "28999": "",
    "29000": "",
    "29040": "",
    "29087": "",
    "29100": "",
    "29126": "",
    "29522": "",
    "29543": "",
    "30369": "",
    "30370": ""
  },
  "source": "meta"
}