NP-hard问题的QUBO建模——以旅行商问题、背包问题和集合划分问题为例

graphite
2025-05-29 18:24:28
运筹优化
技术教程
本帖最后由 graphite 于 2025-5-29 22:42 编辑


基于量子计算机在应对NP-hard问题中的优势,本文介绍了如何通过QUBO模型将这些问题转化为适用于量子计算机求解的形式。选取旅行商问题、背包问题和集合划分问题三个典型的NP-hard问题,分别分析其问题背景、建模思路及QUBO表达方式,并结合示例建立数学模型。通过对这些问题的建模与求解,展示了量子计算机在组合优化领域的应用前景,为复杂优化问题的求解提供了一种新路径。



传统的经典计算机在求解NP-hard问题时面临巨大的计算复杂度,而量子计算机的引入为解决这些问题带来了新的希望。在处理这些问题时,量子计算机能够通过量子叠加和量子并行性,在多项式时间内处理大量数据,从而极大地提升计算效率。为了使量子计算机能够应用于这些问题,通常需要将问题转化为量子计算机可以处理的形式。



其中,QUBO模型是一种常见的建模方法,它能够与量子计算机上的一些优化算法相结合,从而有效地解决一些难以通过经典计算解决的组合优化问题。简单来说,QUBO问题是将原本的优化问题转化为一个二次无约束的二进制优化问题,形式上通过一个二次目标函数来表示,通常是求解某种目标函数的最优二进制解。因为QUBO模型能够统一地表达各种复杂的约束和目标,从而便于在量子计算平台上实现与求解,所以广泛应用于各种典型的NP-hard问题中。


本文将以旅行商问题、背包问题和集合划分问题这三个经典问题为例子,介绍NP-hard问题的QUBO模型建立方法。在本社区的量子计算云平台,就提供了相干光量子计算机(CIM)真机求解QUBO问题的机会,大家在建立模型后可以直接通过平台尝试CIM真机求解,感受相干光量子计算机的计算效率。


此外,如果想知道NP问题如何分类,NP-hard问题与NP-complete问题的区别,可以看看这篇文章:高级算法入门必看—21个NPC问题及其证明,这里暂不赘述。


1. 旅行商问题的QUBO建模


1.1 什么是旅行商问题(TSP)?




旅行商问题(Traveling Salesman Problem,TSP)是一个经典的组合优化问题。经典的TSP可以描述为:一个商品推销员要去若干个城市推销商品,该推销员从一个城市出发,需要经过所有城市后,回到出发地。应如何选择行进路线,以使总行程最短。


从图论的角度来看,该问题实质是在一个带权完全无向图中,找一个权值最小的Hamilton回路。TSP问题是一例典型的NP-Hard问题,该问题的可行解是所有顶点的全排列,随着顶点数的增加,会产生组合爆炸,因此精确求解此问题是相当困难的。




最早的TSP问题的数学规划是由Dantzig(1959)等人提出,并且在最优化领域中进行了深入研究。许多优化方法都用它作为一个测试基准。早期研究者使用精确算法求解TSP问题,常用的方法包括:分支定界、线性规划、动态规划等。但是,随着问题规模的增大,精确算法将变得无能为力。因此,在后来的研究中,国内外学者重点使用近似算法或启发式算法,主要有遗传算法、模拟退火法、蚁群算法、禁忌搜索算法、贪婪算法和神经网络等。


在现实世界更为复杂的问题中,旅行商问题常常用于分销策略,自20世纪50年代以来,该问题的受欢迎程度急剧上升。例如,沃尔玛通过独特案例的分销策略,使其销售量约占市场总销量的88%,仓库方面的运输成本大幅降低5%等。持续致力于寻求最小化成本的扩张方法,让沃尔玛迅速崛起。


1.2 问题描述


旅行商问题是一个NP-Hard问题,可以这样描述:给定一张有权重的连接图G(V,E),其中V是点的集合,E是边的集合,要求遍历图上所有点再回到初始点,求路程最短的走法。


1.3 建模思路


我们使用邻接矩阵表示网络的连接情况,当两点间不存在边时,其权重值为0,令N=|V|。


引入0/1决策变量xu,j,令xu,j=1表示点u在第j个顺序被访问,否则xu,j=0,其中u∈{0,...,N-1},j∈{0,...,N-1}。


首先,对于每一个点u,有且仅有一个访问次序j,因此可得如下约束:


同样,对于每一个访问次序j,有且仅有一个点u,则有:


引入惩罚参数P,将这两个约束写成QUBO的惩罚项则有:


同时,对于(u,v)∉E,我们希望u,v不连续出现在次序j,j+1上,则有第二个惩罚项:



通过以上约束构建的两个QUBO模型惩罚项,我们可以构建一个遍历所有的点的路径的模型(又称哈密尔顿环):


然而对于旅行商问题,在此基础上,我们想要获得上述路径中最短的一个,需要引入原模型目标函数。令wu,v为边的权重,则有:


路径的模型和原模型目标函数相加,即得到QUBO模型表达式:



我们用下面的例子来进一步分析。



图1 旅行商问题案例示意图


图1给出了案例的示意图和参数,该案例包含5个节点,任意两点之间的距离用蓝色数字标出,可以得到该问题的wu,v边的权重如下。



W将wu,v带入式(7)后即可得到QUBO模型,求解该模型,我们可以得到最优解x0,1=x4,2=x1,3=x2,4=x3,5=1,其他决策变量为0,y=49,该最优解示意图如下图所示。



图2 最优解示意图(cost:49)


1.4 问题拓展


旅行商问题具有重要的实际意义和工程背景,一开始是为交通运输行业而被提出的,比如飞机航线安排、送邮件、快递服务、设计校车行进路线等等。之后在各个领域也发挥重要作用,如印制电路板转孔、天体成像卫星控制、电缆和光缆布线、晶体结构分析、数据串聚类等领域。但此类NP-Complete问题还没有找到一种多项式确定性算法解决。


2. 背包问题的QUBO建模


 2.1 什么是背包问题(Knapsack problem)?




背包问题是一种组合优化的NP-hard问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。




背包问题早期的研究可追溯到1897年,数学家托比亚斯·丹齐格(Tobias Dantzig,1884-1956)提出如何包装最有价值或有用的物品而不会超载行李的问题。使用传统的计算机算法来解决这个问题时,解决问题所需的时间随着问题规模变大将呈指数级增长。


因此,对于大规模的问题,需要使用更高效的算法、近似算法或其他有效的工具来解决。背包算法一般提法是:一位旅行者携带背包去登山,已知他所能承受的背包重量限度为 a kg,现有n种物品可供他选择装入背包,第i种物品的单件重量为 ai kg,其价值(可以是表明本物品对登山的重要性的数量指标)是携带数量xi的函数ci(xi)(i=1,2,...,n),问旅行者应如何选择携带各种物品的件数,以使总价值最大。相似问题经常出现在商业、组合数学,项目选择,资本预算,计算复杂性理论、密码学和应用数学等领域中。


目前,许多背包问题的理论研究已经广泛应用在现实生活中,帮助大量面向应用程序的研究人员与从业者寻找更好、更快的解决方案来解决巨大的问题通常,背包问题是更复杂的组合问题的子问题的优化问题,大多数需要选择某些给定的子集来获得利润总额最大化的项目,而分配的总重量不超过背包的容量。


背包问题在现实生活中的应用包括财务建模、生产和库存管理系统、分层抽样、制造中的排队网络模型设计以及制造中的流量过载控制电信系统。其他应用领域包括产量管理、航空公司、酒店和租赁机构、大学招生、质量适应和交互式多媒体系统的准入控制、货物装载、资本预算、削减库存问题,以及巨大的分布式计算机处理分配系统。


2.2 问题描述


背包问题是基本的组合优化问题,我们引入这个背包问题的二次版本进行分析,二次指物品之间的选择关系会影响物品的价值取值,即二次背包问题(Quadratic Knapsack Problem),该问题也是经典的NP-Hard问题之一。


2.3 建模思路


首先给出二次背包问题的混合整数规划模型:



其中xj表示是否选择物品j,xj=1表示选择,否则表示不选择,vij是物品i,j的交互价值,aj为物品j的体积,b为背包的容量限制。我们引入惩罚系数P和m+1个0/1松弛变量yk,k∈{0,...,m}将模型转写为QUBO模型。


首先将不等式约束配平得到



将上平方后乘上惩罚系数即可以转为无约束的表达,得到即该问题的QUBO模型如下



我们用下面的例子来进一步分析。



中不等式被称为不等式约束,举例而言,如不等式a-b<0可以通过引入辅助变量c转化为等式a-b+c=0(c>0),其中c也叫做松弛变量,我们引入辅助松弛0/1变量x5x6来配平。


因此,我们得到QUBO模型为:



我们取P=10,同时根据x2=x(x为0/1变量)的特性,我们可以化简式子,舍去常数项2560后,我们得到QUBO模型的矩阵表达:



其中Q矩阵为:



求解这个QUBO模型,我们可以得到最优解x1=x3=x4=1,x2=x5=x6=0,y=-2588。


2.4 问题拓展


背包问题是经典的NP-hard问题,在数学、计算机科学、物理学等领域都有应用。该问题有多个扩展和变种,其中一些常见的包括:


多重背包问题(Multiple Knapsack Problem):在多重背包问题中,每种物品有多个可用的副本,而不仅仅是一个。每个物品的数量限制可能不同,目标是选择物品的副本来最大化总价值。


无界背包问题(Unbounded Knapsack Problem)在无界背包问题中,每种物品有无限多个可用的副本。目标是选择物品的副本来最大化总价值。


分数背包问题(Fractional Knapsack Problem):在分数背包问题中,物品可以被分割成任意比例,可以选择部分物品放入背包中。目标是选择物品的比例来最大化总价值。


有约束背包问题(Constrained Knapsack Problem):在有约束背包问题中,除了背包容量限制外,还存在其他约束条件,如物品之间的依赖关系、物品的数量限制等。目标是在满足所有约束条件的前提下,选择物品来最大化总价值。


3. 集合划分问题的QUBO建模


3.1 什么是集合划分问题?




集合划分问题(Set Partitioning Problem)是一种组合优化问题其中给定一个集合S和其若干个不同的子集S1,S2,...,Sn后,需要找到子集的有效组合,使得集合S的每个元素正好出现在一个子集中,并且所选择的子集的组合成本最小。


合集划分问题可以被建模为一个0-1整数线性规划问题,其中引入了一个0-1变量向量,用于表示是否选择子集。通过对变量和约束条件的定义,可以找到最优的子集划分方案,以最小化成本。




使用传统的计算机算法来解决合集划分问题时,所需的时间会随着问题规模变大呈指数级增长。因此,对于大规模的问题,需要使用更高效的算法、近似算法或其他有效的工具来解决。


在场景应用上,如许多组织中的人员调度和排班、计划时刻表,除了启发式算法外,近年来集合划分优化方法变得更加流行。由于在实际情况中生成的优化模型非常大,因此开发了多种计算技术来有效地制定解决方案。例如生成具有超过650个约束和200,000个二进制变量的集合划分模型,这些技术经常用于解决航空公司应用程序中产生的多种问题。


同时,它在分析多智能体系统中的合作方面也发挥着重要作用。例如为了优化社会福利,找到一个将主体划分为联盟(联盟结构)的方法,使分区中联盟的价值总和最大化。通过组建联盟,自主传感器可以改善对某些区域的监管;绿色能源发电机可以减少其预期能源输出的不确定性;认知无线电网络可以增加其吞吐量;买家可以通过批量采购获得更便宜的价格......


3.2 问题描述


集合划分问题是组合优化中的一类经典问题,该问题是指已知一个集合和其若干子集,如何选择子集,使原集合的每个元素出现且仅出现在一个子集中(这些子集恰好构成原集合的一个划分),并且所选择的子集的成本之和最小。


首先给出集合划分的整数规划模型



其中xj为0/1变量,表示是否选择子集j,cj是选择子集j的成本,aij系数表示元素i是否出现在子集j中。


3.3 建模思路


我们可以将该模型直接转化为如下QUBO形式。



我们用下面的例子来进一步分析。








































集合序号j 子集元素构成 集合成本cj
1 {1,4} 3
2 {2,4} 2
3 {1,2,3} 1
4 {3,4} 1
5 {2,3} 3
6 {1,2,4} 2

该案例可以转为如下数学模型:


 



 


对于这样的问题,我们一般需要引入惩罚系数𝑃构建二次惩罚项并将其添加到原始目标函数中,以建立QUBO模型,则模型可以调整为:



我们取P=10,同时根据x2=x(x为0/1变量)的特性,我们可以化简式子得到如下式子:


舍去常数项后,我们得到QUBO模型的矩阵表达:



其中Q矩阵为:



求解这个QUBO模型,我们可以得到最优解x1=x5=1,x2=x3=x4=x6=0,得到y=6。即选择子集1({1,4})和子集5({2,3}),集合划分最小成本为6。


3.4 问题拓展


集合划分问题是组合优化中的一个经典问题,和该问题类似的还包括集合覆盖问题(Set Covering Problem)和集合包装问题(Set Packing Problem)。需要区别的是,集合覆盖问题和集合包装问题的在整数规划模型中的约束为不等式约束,集合覆盖问题为“≥”,集合包装问题为“≤”。集合划分问题在数学、计算机科学、物理学等领域都有应用,其应用包括图像处理、数据挖掘、网络优化等。


总的来说,组合优化问题中的NP-hard问题由于解空间庞大,传统计算方法在面对大规模实例时难以高效求解。量子计算的引入为这些难题提供了新突破,而QUBO模型则是连接实际优化问题与量子算法之间的重要桥梁。这一方法不仅具有良好的通用性,还为未来在交通、物流、资源分配等领域的大规模优化问题提供了可行的量子解决方案。


 




参考资料


[1] Glover, Fred, Kochenberger, Gary, Du, Yu. Quantum Bridge Analytics I: a tutorial on formulating and using QUBO models[J]. 4OR: Quarterly Journal of the Belgian, French and Italian Operations Research Societies,2019,17(4):335-371. DOI:10.1007/s10288-019-00424-y.


[2] Dantzig T .T. Dantzig.Number; the Language of Science[J].The Economic Journal, 1930(40-160).


[3] Garfinkel R S, Nemhauser G L. The set-partitioning problem: set covering with equality constraints[J]. Operations Research, 1969, 17(5): 848-856.


[4] Lewis M, Kochenberger G, Alidaee B. A new modeling and solution approach for the set-partitioning problem[J]. Computers & Operations Research, 2008, 35(3): 807-813.


[5] https://zh.wikipedia.org/wiki/%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98


[6] https://zh.wikipedia.org/wiki/%E6%97%85%E8%A1%8C%E6%8E%A8%E9%94%80%E5%91%98%E9%97%AE%E9%A2%98

696
0
0
1
关于作者
相关文章
  • 用“数学优化”破解大规模海上风电规划难题,深远海风电迎来新解 ...
    本文解读清华大学沈欣炜教授于2025年5月11日在江苏南京交叉学科论坛上发表的“面向大规模海 ...
    了解详情 
  • LBM+FCNN耦合模型:精准高效预测海底裂缝溶解的新工具 ...
    发表于 Advances in Geo-Energy Research 的《 Dissolution patterns prediction for horizontal ...
    了解详情 
  • 双分支变分自动编码器 DualVAE :让 AI 精准 “掌控” 图像色彩 ...
    《 DualVAE: Controlling Colours of Generated and Real Images 》提出双分支 VAE 模型,通过几 ...
    了解详情 
  • PRL重磅:贝叶斯推断在量子领域的改造
    贝叶斯推断是经典概率论与统计学中最强有力的工具之一。它为我们在获得新证据时提供了一种系统的 ...
    了解详情 
  • CVAE:让自动驾驶 “读懂人心” 的轨迹预测黑科技 ...
    《Multimodal Deep Generative Models for Trajectory Prediction: A Conditional Variational A ...
    了解详情 
联系我们
二维码
在本版发帖返回顶部
快速回复 返回顶部 返回列表
玻色有奖小调研
填写问卷,将免费赠送您5个100bit真机配额
(单选) 您是从哪个渠道得知我们的?*
您是从哪个社交媒体得知我们的?*
您是通过哪个学校的校园宣讲得知我们的呢?
取消

提交成功

真机配额已发放到您的账户,可前往【云平台】查看