A Two-stage Framework and RL-based Optimization Algorithms for Complex Scheduling Problems论文笔记

A Two-stage Framework and Reinforcement Learning-based Optimization Algorithms for Complex Scheduling Problems. Y He, G Wu, Y Chen, W Pedrycz - arXiv preprint arXiv:2103.05847, 2021 - arxiv.org

论文下载链接:点击预览并下载

在本研究中,我们开发了一个两阶段的框架two-stage framework,其中强化学习(RL)和传统运筹学(OR)算法相结合,以有效地处理复杂的调度问题。调度问题分两个阶段求解,分别包括有限马尔可夫决策过程(MDP)和混合整数规划过程。这提供了一个新的通用范例,将RL与OR方法结合起来解决调度问题,利用RL和OR各自的优势:MDP通过RL方法缩小原始问题的搜索空间,而混合整数规划过程通过OR算法解决。这两个阶段以迭代和交互方式执行,直到满足终止标准。在此思想下,提出了RL和OR组合方法的两个实现版本。以地球观测卫星调度问题为例,验证了所提出的调度框架和方法的有效性。通过训练场景的性能验证了方法的收敛性和泛化能力,并在50个未训练场景中测试了方法的效率和准确性。结果表明,该算法能够稳定有效地解决地球观测卫星调度问题。此外,可以发现基于RL的优化算法比非学习算法具有更强的可扩展性。这项工作揭示了将强化学习方法与启发式方法或数学规划方法相结合来解决复杂组合优化问题的优势。

混合整数线性规划和非线性整数规划等数学优化模型常用于描述具体的调度问题,但很难找到一个相对通用和有效的算法来解决所有这些问题,由于优化目标和不同种类的调度问题的约束的显著差异。

问题:任务使用哪个资源、任务何时执行

本研究考虑的调度问题实际上可以分解为以下三个子问题:

  1. 分配问题,用于确定每个资源的可能任务,即,将任务分配给不同的资源;
  2.  排序问题,用于确定这些任务在每个资源上的顺序;
  3. 定时问题,用于确定每个资源上计划任务的执行开始和结束时间。 

 这三个子问题是相互关联的,合理地解决它们可以解决原调度问题。

将原调度问题分为两个或多个阶段,然后分别求解,这是一种很有前途的方法,可以降低总体复杂度,更有效地解决调度问题。特别是,建立了一个两阶段的框架来处理所考虑的调度问题。

提出的两阶段框架由prior stage和rear stage组成:

  • prior stage:用于分配问题,后一阶段用于排序问题和定时问题。将前一阶段建模为有限马尔可夫决策过程(MDP),然后使用强化学习解决:

1)模型可以通过RL进行良好的提前训练,在未知场景下实现快速、准确的决策;

2) 它通过在即时奖励和延迟价值之间进行权衡来学习调度策略,因此RL通过权衡系统每个部分的估计收益来做出决策;

3) 不需要为每个实例手动设计决策规则。

  • rear stage:子问题可以表示为混合整数规划模型,然后通过传统的运筹学(OR)技术解决。

为了检验我们的方法的有效性,deep Q learning和OR算法(即构造性启发式或动态规划)被集成到两阶段框架中,以解决所考虑的复杂调度问题。以agile卫星调度问题为例,说明了两阶段框架和基于RL的优化算法的应用潜力。实验表明,该两阶段调度框架能够有效地处理现实世界中的复杂调度问题。

本文的主要贡献有:

  • 提出了一种新的两阶段调度框架,将一类复杂的调度问题分解为两部分,分别由MDP模型和混合整数规划模型表示;
  • 在两阶段框架下,提出了一种基于RL的优化机制。具体而言,深度Q-学习和OR算法(即构造性启发式算法或动态规划(DP)算法)分别用于求解MDP模型和混合整数规划模型;
  • 将所提出的两阶段框架和基于RL的优化算法应用于敏捷地球观测卫星调度问题,验证了其有效性。此外,还总结了关于模型、机制和算法的一些一般性结论。

调度问题的传统算法可归纳为三类:数学规划、启发式算法和元启发式算法。数学规划,如分枝定界[24]、分枝定界[25]和动态规划[26]保证了在某些假设下的最优解,但这些算法的时间复杂度通常是指数的。因此,在处理大规模问题时,它们通常既耗时又占用空间。启发式算法通过构造性规则为决策寻找解决方案。这些规则通常需要由专家根据经验设计。启发式算法可以在短时间内获得可行解。然而,它们不能保证最佳性,在某些情况下可能表现得不令人满意。此外,精确算法和启发式算法的搜索策略与所考虑的具体模型的特征和条件高度耦合。禁忌搜索[27]、遗传算法[18]、自适应大邻域搜索(ALNS)[28]等超启发式算法及其变体因其在解决复杂调度问题方面的竞争性能而应运而生。然而,它们很难同时提高时间效率和求解精度,因此在可承受的计算时间内,解可能不令人满意且不稳定。

 相关的调度问题可以统一定义如下:有一定数量的资源,每个资源都有一定的容量和使用限制。有一定数量的任务,每个任务都可能与可执行时间窗口(ETW)、每个资源上的执行持续时间和完成利润。问题是为计划任务分配资源,然后确定其执行开始和结束时间,以优化目标函数并满足所有约束。

调度问题的输入通常由两部分组成:资源信息和任务信息。资源信息描述资源集。每个资源可能在多个维度上有容量限制。

action:为任务选择资源

state:状态描述每个任务在确定的决策时间点上的属性

reward: 奖励表示一个步骤与其前一个步骤之间目标函数值的差异。

输入为state,输出为long term profit of each action

mixed-integer programming process obtains a solution according to the results of finite MDP; while the finite MDP makes decisions considering the results of the mixed-integer programming. 混合整数规划过程根据有限MDP的结果得到一个解;而有限MDP则根据混合整数规划的结果进行决策。

α、 β和γ分别表示混合整数规划问题的环境、目标和约束

在训练阶段,基于决策和结果记录,不断拟合MDP的值函数,以获得更好的决策标准。

前阶段使用deep Q-learning,后阶段使用OR算法(构造性启发式HADRT或动态规划)。

Small scenes:20、50 tasks;large-area scenes:100、200、400 tasks。

我们总结了一类复杂调度问题的基本特征,并提出了一种两阶段调度框架来解决这些问题。基于该框架,我们构建了两个基于RL的优化算法。这些算法是通过将DQN与不同的OR算法(即HADRT或DP)相结合而设计的。实验结果证明了基于RL的优化算法的有效性和优越性。这是将机器学习与运筹学相结合解决实际调度问题的初步尝试。设计了一个描述一般调度问题的两阶段决策模型。决策变量分为两部分,其值分两个阶段确定。分配问题可视为前一阶段,由RL求解,而OR算法可用于后一阶段的子问题求解。在前一阶段求解排序问题时更容易陷入局部最优,而在小规模训练中很难跳出局部最优。分析了后一阶段中使用的不同OR算法的影响。与HADRT相比,DP得到的报酬更接近于后阶段问题的最优解,因此DQN-DP的性能更好。然而,DQNDP在训练和测试中消耗了相对较多的计算资源。尽管深度Q-学习是RL的基本方法之一,但这项工作显示了基于RL的优化算法在解决复杂组合优化问题方面的巨大潜力。为了进一步丰富结论,我们将尝试更多的RL方法和价值函数的结构,并深入研究学习算法与传统优化算法相结合的内在规律。此外,我们将继续在其他类型的调度问题上测试基于RL的优化算法的性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值