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
|
||||
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.AssignedWindow.pop(inbound.Callsign)
|
||||
inbound.InitialArrivalTime = reference
|
||||
self.updateReport(inbound)
|
||||
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:
|
||||
self.insertInWindow(inbound, False)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user