查看原文
其他

量子计算论文精讲《混合量子退火启发式方法解决任务调度问题》

欢迎大家扫码关注MindSpore Quantum Gitee社区



内容简介


任务调度问题(JSSP)一直引起研究者和业界的广泛关注。近年来,量子退火算法在许多NP-hard问题上展现出了优势与潜力。本文以一个经典的任务调度问题为例,探究量子退火算法是否能够、以及如何被用于解决JSSP问题,并在D-Wave 2000Q量子退火机上进行了实验。作者提出了一种方案,将调度问题分解成一系列小规模的子问题进行优化,以便能更好地与量子硬件相适应。



相关论文1


标题:Hybrid quantum annealing heuristic method for solving Job shop scheduling problem
作者:
Krzysztof Kurowski, Jan Wȩglarz, Marek Subocz, Rafał Różycki & Grzegorz Waligóra
期刊:
Computational Science--ICCS 2020: 20th International Conference



相关论文2

标题:Evaluating the job shop scheduling problem on a D-wave quantum annealer
作者:
Costantino Carugno, Maurizio Ferrari Dacrema & Paolo Cremonesi
期刊:  Scientific Reports 12, 6539 (2022)


01




问题建模
1.1 JSSP问题

考虑N个任务,每个任务包含Ln个操作,每个操作必须在某一特定机器上执行,共有R台机器。

图示如下

图1(来源:Computational Science--ICCS 2020,pp 502–515)

 

1.2 构建QUBO模型

将调度策略映射为一个01向量,

引入惩罚函数来施加约束:

1. 在每一个任务中,操作必须按照顺序进行。


2. 在任意时刻,一台机器上只能有一个任务在进行。


3. 每个任务必须开始一次,且仅能开始一次。


调度目标是使完成所有任务的时间周期尽量短,假设所有任务都在0时刻同时开始,结束时刻分别为t1,t2,...tN,则目标函数可表示为:

容易看出,任意非最优解(即使紧密排布),其对应的Ho也一定会大于任意非紧密排布的最优解。

 

最后,此JSSP对应的哈密顿量可表示为:

其中p1,p2,p3为待定参数,依据实验而确定。

 

1.3 变量剪枝

  • 对时间进行粗粒化处理,如将[0,5)记为0,[5,9)记为1,以此类推。

  • 去除过早或过晚的开始时间,即令x(i,t)=0,如果t小于i的所有前置操作的时间之和,或t大于时间上限T减去i及其所有后续操作的时间之和。

 

02




混合启发式方法

引入时间窗口(processing window),从而将JSSP分解成多个子问题。

图2(来源:Computational Science--ICCS 2020,pp 502–515)

 

在每一轮中,以随机顺序截取时间窗口(尽量覆盖整个时间周期),通过QUBO优化其中的任务排布;进行多轮迭代。

对于从左或右方伸出窗口的任务,为它在相应的机器上预留时间(通过变量剪枝完成)。

 

 

03




实验结果

3.1 经典任务调度问题ft06

优化过程的图示如下

图3(来源:GitHub - mareksubocz/QuantumJSP)

 

以下三张图,从上到下,分别展现了(1)经典算法(贪心搜索)求解JSSP问题的结果;(2)时间粗粒化后的初始解;以及(3)进行QUBO优化,再将每个工作的时间展开为原始长度后的最终结果。

 

图4(来源:Computational Science--ICCS 2020,pp 502–515)


在这个问题中,即使是简单的经典算法也可以达到和量子退火类似的效果。扩大时间窗口的宽度有望提升算法性能,解决更大规模的问题。

 

3.2 构造的Cyclic square problem

此问题的最优解如图5所示。在这篇文章中,不再采用时间窗口,而是直接对整个时间跨度进行求解。


图5、图6(来源:Scientific Reports 12, 6539 (2022))


图6显示了将不同算法(经典、量子)用于Cyclic square problem时,取得的最优解所对应能量随问题规模的增长趋势。其中,经典的贪心和Tabu搜索因为能量过高而没有绘入。值得注意的是,在SA,QA和RA中都需要将一个CSP问题映射到QUBO问题,这一步骤非常耗时,对上述规模为26的例子,耗时约为8h。

 

 

04




总结

本文提出了一种混合启发式算法,作为用量子退火求解任务调度问题的概念验证,并在D-Wave 2000Q量子退火机上进行了实验,发现可以找到接近最优的解。但此方法需多轮迭代,效率偏低,且从约束满足问题到QUBO的映射可能耗时较长,对于实时的调度任务不太适合。


欢迎专家学者在公众号投稿分享优秀论文和创新成果,投稿录取者可获得精美礼品一份,投稿联系HiQ量子计算小助手:LLT66TT(备注“量子计算专题投稿”) 



欢迎大家订阅“量子计算HiQ”,查看更多论文分享和学术活动信息


量子计算组会一起开


END


期待您成为新时代的开源贡献者,

加入MindSpore Quantum的开发者行列,共同携手推进量子计算新发展!


长按下方二维码加入MindSpore Quantum项目↓




MindSpore Quantum官方资料Gitee社区:https://gitee.com/mindspore/mindquantumHiQ官网:https://hiq.huaweicloud.com/tutorial
MindSpore官网:https://www.mindspore.cn/mindquantum/docs/zh-CN/r0.9/index.html

 

欢迎关注MindSpore Quantum!

继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存