量子计算赋能智慧物流:第一届亚太地区数学建模大赛参赛感悟和思路分享

16683885592
2024-09-14 23:47:56
本帖最后由 16683885592 于 2024-9-15 00:06 编辑

参加第一届亚太地区数学建模大赛智慧物流主题比赛,真的是一次极具挑战与学习机会的体验。第一次接触到和以前不同的题目。本次竞赛的题目结合了物流配送的实际场景,并引入了量子计算这一前沿技术,要求在优化物流成本的前提下,探索如何运用量子计算解决复杂的物流调度问题。我相信有很多人和我一样都害怕这种未知的问题,但是数学建模的魅力就是在于你的现学现用能力,面对这种计算平台,以前都是用代码进行计算,肯定都会有些许的陌生和畏难,但是数模精神就是迎难而上。

在这场比赛中,我体会到理论与实际结合的重要性,并收获的是在模型构建、算法应用以及团队协作方面的诸多经验。

管是什么类型的赛题,通过分析问题背景,基本上通常可以在其中提取到隐藏的约束条件、优化目标、决策条件,通过背景也可以划分赛题的类型,来选择算法。本次赛题就属于运筹学分类之下,相应的建模思路与模型可以进行查找对应的文献确定解题的方向。

物流行业面临着日益复杂的配送需求。其实这个背景跟城市交通和农田种植规划有异曲同工之妙。如何在确保准时交货的同时,最大限度地降低运输成本,成为了关键问题。当然在你初步求解以后,如果可以添加航空约束和其他的约束,将其进行量化添加到惩罚系数和约束条件里面那当然是最好的了。

本次比赛的主题围绕智慧物流展开,要求通过量子计算技术,解决多目的地、多货物、多种运输方式的物流调度问题。传统的优化方法在应对如此大规模的物流配送问题时,往往因为计算复杂度高而难以在短时间内找到最优解。量子计算的引入,为解决此类组合优化问题提供了新的途径,这也是在问题求解上的一个必须使用的条件,但是需要注意的是在求解的时候,量子计算本身就有优化的功能了,如果你是将多目标进行分解用了其他算法进行优化,要注意过度优化的问题,可能需要你进行调整惩罚系数。

在理解题目要求后,我们首先通过对比赛题目的细致分析,明确了需要解决的问题。主要任务是通过合理规划货物的运输路径和选择运输工具,最小化物流公司的总运营成本。我们需要考虑卡车租赁和运输成本、航空运输成本等多种因素,这里的其他因素多半都是先查阅文献有没有前人做过,如果没有,就需要你去根据实际情况进行量化,至少你的量化规定不能违背问题的常理,这样计算结果才能合理。在满足各城市货物需求的前提下,再制定合理的运输方案,代码手需要在这里添加将计算结果转化为方案的代码,不然结果论文手还要去理解,只会增加解题时间的无谓浪费。在这里,并不推荐在第一问就把所有的优化目标(个人建议),约束条件考虑进去,而是采用递进考虑的形式,从问题一到最后一问,慢慢的将所有要考虑的条件添加进去。这样递进添加条件的好处就是,一开始你接触问题肯定不是完全理解,如果所有的条件都考虑了,只会增加模型的复杂度,让各位友友们觉得这根本不可能实现,或者修改代码的参数直接崩溃,或者一上来就用集成模型就不合适。

1. 模型的基本构建

根据比赛提供的具体数据和条件,我们队采用了二次无约束二进制优化(QUBO)模型作为核心方法。QUBO模型通过优化二次项目标函数,能够很好地表达物流配送中的复杂约束条件。先进行规划求解,再将结果进行优化,对于优化算法的选取有两个途径,要不就是通过文献进行提取,要不就是根据赛题背景在算法库中进行提取。

在这里,我们的目标是最小化总运输成本,同时考虑到以下几个关键约束条件:

车辆容量限制:卡车的载重量是有限的,我们需要合理分配货物,以确保每辆车都在负荷范围内运行。

货物需求约束:每个终点城市的货物需求必须得到满足。

时间约束:为确保及时送达,运输过程中的时间限制也是至关重要的。

其他的约束都是进行量化为惩罚系数。

2. QUBO模型的转化

在构建物流配送问题的QUBO模型时,我们将以下几个变量引入模型:

卡车运输决策变量:表示从城市i到城市j使用某一类型的卡车运输。

航空运输决策变量:表示从城市i到城市j通过航空运输的货物重量。

中转货物决策变量:表示某些城市作为中转站,货物在这些城市停留后再次分发的数量。(实际变量不止,但是初步求解建议大家不用太全。)

我们通过惩罚函数将约束条件转换为目标函数的一部分,以确保模型的每一个解都符合这些限制。比如,需求约束通过惩罚系数表示为:确保每个目的地城市的需求量得到满足,而供给城市的库存不会超出可用货物量。

3. 做题技巧与算法选择

在解决问题的过程中,必须使用Kaiwu SDK中的CIM模拟器和模拟退火算法进行求解。我们首先编写了一个用于生成QUBO矩阵的程序,该矩阵反映了运输过程中每一项决策的成本及约束条件。接下来,分别使用平台上的CIM模拟器和模拟退火算法求解该矩阵,得到最优的货物运输方案。但是我们队在这里还用优化算法做了一个横向对比,将粒子群和蚁群算法进行横向的对比,通过对比算法的求解结果和模型的求解参数,择优选择后,将后面几问的算法都应用为择优选择出来的算法。

4. CIM模拟器与模拟退火的应用

CIM模拟器:相干伊辛机(CIM)是一种利用量子计算来求解QUBO问题的硬件设备。通过CIM模拟器,我们能够高效地解决大规模的组合优化问题。CIM模拟器利用光学反馈机制,通过不断调整系统的参数,使得系统达到最低的能量状态,即找到最优解,这种求解其实和模拟退火相似。一开始我们发现优化算法的求解总是过度,就是对某一部分的求解结果一直的0,或者是设定默认的最优值,在这种明显超出合理范围,就需要添加惩罚系数对求解进行筛选和约束。大家在其他比赛或者其他类型的赛题中,不能因为一个问的结果求解出来就直接跳到下一个问题了。但是这里我们对的分工就是,我作为队长首先把每个问题进行求解,编写代码,再将能跑通的代码给建模手进行修改。我们同时使用了模拟退火算法作为经典的对比算法。模拟退火通过模拟物质退火过程中的逐步降温,帮助模型跳出局部最优解,最终达到全局最优。

再通过对比CIM模拟器与模拟退火算法的表现,用代码将求解结果可视化,发现CIM模拟器在处理较大规模问题时,具有更快的求解速度和更高的解的质量。这也证明了量子计算在组合优化问题中的巨大潜力。

5. 持续优化与模型改进

在初步求解的基础上,我们还进行了多次模型的优化与调整。为了提高模型的鲁棒性,我们引入了如下几项改进措施:

多模式运输整合:在模型中整合了卡车运输和航空运输的成本与时间权衡,并根据货物的紧急程度动态选择运输模式。

拼货与中转的优化:在确保每个终点城市货物需求得到满足的前提下,尽可能利用拼货和中转的方式,降低单趟运输的成本。

并行计算与子问题分解:为了加快求解速度,我们使用了并行处理框架,针对不同城市间的运输任务进行分解,同时求解多个子问题,进一步提升了算法效率。

当然其他的考虑点还有,可以根据你们的求解思路进行添加。

6. 参赛体会与总结

这次参赛让我深刻认识到量子计算在实际应用中的广阔前景,特别是在解决大规模组合优化问题时,量子计算展现出了超越经典计算的潜力(真的特别快,我还有时间把B题做了)。此外,通过比赛我也学会了如何在复杂问题中快速识别关键变量,并通过合理的建模与算法选择,找到高效的解决方案,继续保持不畏难的精神。

团队协作在这次比赛中也发挥了至关重要的作用。每个人都在自己的领域贡献力量,最终通过共同努力,顺利完成了模型的构建与求解任务。未来,我希望能够在其他赛题上可以见到量子算法。

总体而言,本次比赛不仅是一场智力的较量,更是一场技术的磨炼。我对数学建模以及量子计算技术有了更加深刻的理解和体会,也期待在未来的研究中能够将这次比赛中的收获应用到更多的实际问题中去,可惜的是我的建模生涯可能要结束一段时间了,下次再见就是华为杯了。#星火人登陆征文投稿

28
0
0
0
关于作者
相关文章
    在本版发帖返回顶部
    快速回复 返回顶部 返回列表