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