allow only delays to avoid arms races between controller and optimizer by implicite ITA-improvements on center
This commit is contained in:
		| @@ -78,12 +78,18 @@ class RecedingHorizonControl: | |||||||
|  |  | ||||||
|             # check if we need to update the inbound |             # check if we need to update the inbound | ||||||
|             if None == plannedInbound.PlannedStar: |             if None == plannedInbound.PlannedStar: | ||||||
|                 if inbound.InitialArrivalTime < self.Windows[index].StartTime or inbound.InitialArrivalTime >= self.Windows[index].EndTime: |                 reference = inbound.InitialArrivalTime | ||||||
|  |                 if plannedInbound.InitialArrivalTime > reference: | ||||||
|  |                     reference = plannedInbound.InitialArrivalTime | ||||||
|  |  | ||||||
|  |                 if reference < self.Windows[index].StartTime or reference >= self.Windows[index].EndTime: | ||||||
|                     self.Windows[index].remove(inbound.Callsign) |                     self.Windows[index].remove(inbound.Callsign) | ||||||
|                     self.AssignedWindow.pop(inbound.Callsign) |                     self.AssignedWindow.pop(inbound.Callsign) | ||||||
|  |                     inbound.InitialArrivalTime = reference | ||||||
|                     self.updateReport(inbound) |                     self.updateReport(inbound) | ||||||
|                 else: |                 else: | ||||||
|                     plannedInbound.InitialArrivalTime = inbound.InitialArrivalTime |                     plannedInbound.InitialArrivalTime = reference | ||||||
|  |                     self.Windows[index].Inbounds.sort(key = lambda x: x.PlannedArrivalTime if None != x.PlannedArrivalTime else x.InitialArrivalTime) | ||||||
|         else: |         else: | ||||||
|             self.insertInWindow(inbound, False) |             self.insertInWindow(inbound, False) | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user