回溯法
思路:
列出所有航班在机场的逗留时间段;
根据时间段建立航班的时间冲突情况图;
利用回溯法解决冲突问题并保留结果。
示例:假设有3个机位,5个航班,这5个航班都是可以停在任意一个机位。
航班 | 降落时间 | 起飞时间 |
A | 4:00 | 6:00 |
B | 3:00 | 8:00 |
C | 5:00 | 7:00 |
D | 7:00 | 9:00 |
E | 6:30 | 8:00 |
航班之间的图关系:
利用回溯法解决图着色问题的思路来解决航班冲突问题:
该方法的优缺点:
优点:带优化的暴力穷举,可以去掉大量的不必要的搜索。
缺点:1. 由于我们工程中航班的复杂性,所得到的时间冲突图必然十分庞大与复杂。
2. 回溯法本身的缺点:获得的结果可能不是最优解,且运行时间比较久。
贪心算法+破坏与重建
思路:
使用贪心算法快速得到一个可行解;
使用破坏与重建算法对初始解进行优化。
贪心算法:
按时间顺序遍历每个航班,对每个航班执行下面操作:尝试安排到其可安排的机位中,若当前机位能安排就直接安排,若没有机位能安排当前航班,则当前航班不安排。
破坏与重建算法:
破坏:对一个已知的初始解,破坏掉一些已经被安排的航班。
重建:对剩下已经安排的航班其机位保持不变,将当前所有未安排的航班使用线性规划模型求解当前情况下的最优解。
该方法的优缺点:
优点:此算法通过破坏可以打破局部约束,使其可以达到一个更优的解;通过线性规划模型进行重建,使其可以得到当前情况下的最优解,这个解不会比初始解差。
缺点:重建停止条件难以确定。
遗传算法
标准遗传算法不能以概率 1 收敛于最优解,含有精英策略的遗传算法收敛于最优解的概率为 1,所以采用含有精英策略的遗传算法。
机位初分配:双向排序算法
若 OUT 中航班离港是近机位,IN 中该航班进港是远机位,表明该航班“来的早,走的早”,若 IN 是固定远机位号,则进港机位优先分配可调远机位并在此机位停留、在 OUT 近机位离港、登机口是近机位号,其次是固定远机位并在此机位停留、离港、在登机口集合中选择满足时间约束的登机口。
交叉:
对符合条件的子代直接保留,对不符合的子代进行修正。
修正:冲突纠正。
交叉子代可能的冲突分为 4 种类型:进港机位冲突、停留机位冲突、离港机位冲突和登机口冲突。
修正方案:对冲突发生之前的航班不做改动,针对冲突位置及以后航班进行调整。
找到冲突航班所属航站楼,获取符合条件约束的机位集合,并从中随机选择一个机位对冲突机位进行替换,同时保证不对该航班以前的航班造成任何的冲突,然后依次检测后面所有的航班,找到新的冲突航班位置。
变异:
变异目的:提高种群的多样性,避免算法陷入局部最优。
实现:随机选择一个变异点,确定变异点所属航站楼,然后在航站楼中随机选择两个具有相
同性质的航班(相同性质指的是航班的编号不同,航班需求、机型、特殊要求都一样),将两个航班在机场进行的所有操作进行互换。
强化学习:
问题:在机位分配中,由于约束条件非常多,导致局部最优解之间高度离散,遗传算法从一个局部最优解探索到另一个局部最优解非常困难。
解决方案:把遗传算法的染色体求解转换为多阶段决策问题,构造广义的马尔科夫过程,通过强化学习实现机位的预分配。
具体操作:每个航班的机位组合空间的组合选择构成了动作空间,所有航班机位分配的组合构成了状态空间,且把所有航班整体改变后的状态对应染色体的适应度值作为每个动作的实际Q值,各个动作的改变得到的染色体对应的适应度值作为各个动作的立即回报值,通过 SARSA 更新策略,找到每个航班最优的机位分配方案。
NSGA − II优化:
问题:机位预分配属于多目标任务。
解决方案:优化初始化种群。
具体操作:充分考虑每个子目标的影响,把种群分层考虑,得到一个最优解集合。
实时分配:
问题:航班异常(由于天气、故障等原因造成航班不能按计划进行进港或离港)。
解决方案:判断异常发生后预分配方案是否仍然满足所有约束,如果满足,就不需改动;若不满足,异常之前的航班不改动,异常之后的航班按照之前的方案重新分配;若无法满足重新分配,把异常航班拖拽到满足约束的远机位。
该方法的优缺点:
优点:较大概率得到全局最优解。
缺点:目标过多时,算法质量和运行时间不能保证。
参考论文:基于遗传算法与强化学习的机位分配研究—许永磊
启发式算法
基于就近原则和连环派单的启发式构造方法
基于渐进元启发式搜索的快速机位分配算法
基于差分进化算法的机场停机位分配研究
基于就近原则和连环派单的启发式构造方法
思路:
将新到的航班其交给即将完成服务的车辆去服务,条件是航班的位置与车辆完成服务的距离相近;
对正在服务的车辆不断进行检查,当车辆服务结束时,设置车辆到达机坪的时间,加入到可用车辆中。
该方法的优缺点:
优点:可以快速得到比较优质的解决方案,算法简单直观,易于修改。
缺点:1.只能实现车辆服务的最优解;2.算法不稳定。