摘要:背包问题(Knapsack problem)是一种组合优化的NP-Complete问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。
背包问题早期的研究可追溯到1897年,数学家托比亚斯·丹齐格(Tobias Dantzig,1884-1956)提出如何包装最有价值或有用的物品而不会超载行李的问题。使用传统的计算机算法来解决这个问题时,解决问题所需的时间随着问题规模变大将呈指数级增长。
因此,对于大规模的问题,需要使用更高效的算法、近似算法或其他有效的工具来解决。背包算法一般提法是:一位旅行者携带背包去登山,已知他所能承受的背包重量限度为akg,现有n种物品可供他选择装入背包,第i种物品的单件重量为aikg,其价值(可以是表明本物品对登山的重要性的数量指标)是携带数量xi的函数ci(xi)(i=1,2,...,n),问旅行者应如何选择携带各种物品的件数,以使总价值最大。相似问题经常出现在商业、组合数学,项目选择,资本预算,计算复杂性理论、密码学和应用数学等领域中。
目前,许多背包问题的理论研究已经广泛应用在现实生活中,帮助大量面向应用程序的研究人员与从业者寻找更好、更快的解决方案来解决巨大的问题。通常,背包问题是更复杂的组合问题的子问题的优化问题,大多数需要选择某些给定的子集来获得利润总额最大化的项目,而分配的总重量不超过背包的容量。
背包问题在现实生活中的应用包括财务建模、生产和库存管理系统、分层抽样、制造中的排队网络模型设计以及制造中的流量过载控制电信系统。其他应用领域包括产量管理、航空公司、酒店和租赁机构、大学招生、质量适应和交互式多媒体系统的准入控制、货物装载、资本预算、削减库存问题,以及巨大的分布式计算机处理分配系统。
北京玻色量子科技有限公司在5月16日新品发布会上推出的100计算量子比特相干光量子计算机真机——“天工量子大脑”🔗,旨在快速、高效地求解NP-hard的Ising模型。背包问题可以转化为一个Ising/QUBO模型,“天工量子大脑”可以极大简化求解步骤并在毫秒级的时间内给出问题的全局最优解。
问题描述
背包问题是基本的组合优化问题,我们引入这个背包问题的二次版本进行分析,二次指物品之间的选择关系会影响物品的价值取值,即二次背包问题(Quadratic Knapsack Problem),该问题是经典的NP-Hard问题之一。
建模思路
首先给出二次背包问题的混合整数规划模型
其中xj表示是否选择物品j,xj=1表示选择,否则表示不选择,vij是物品i,j的交互价值,aj为物品j的体积,b为背包的容量限制。我们引入惩罚系数P和m+1个0/1松弛变量yk,k∈{0,...,m}将模型转写为QUBO模型。
首先将不等式约束配平得到式(2)
将式(2)平方后乘上惩罚系数即可以转为无约束的表达,得到式(3),即该问题的QUBO模型
我们用下面的例子来进一步分析。
其中式(5)为不等式约束,举例而言,如不等式a-b<0可以通过引入辅助变量c转化为等式a-b+c=0,c>0,其中c也叫做松弛变量,我们引入辅助松弛0/1变量x5,x6来配平式(5)。
因此,我们得到QUBO模型为:
我们取P=10,同时根据x2=x(x为0/1变量)的特性,我们可以化简式子,舍去常数项2560后,我们得到QUBO模型的矩阵表达:
其中Q矩阵为:
求解这个QUBO模型,我们可以得到最优解
x1=x3=x4=1,x2=x5=x6=0,y=-2588。
问题拓展
背包问题是经典的NP-hard问题,在数学、计算机科学、物理学等领域都有应用。该问题有多个扩展和变种,其中一些常见的包括:
多重背包问题(Multiple Knapsack Problem):在多重背包问题中,每种物品有多个可用的副本,而不仅仅是一个。每个物品的数量限制可能不同,目标是选择物品的副本来最大化总价值。
无界背包问题(Unbounded Knapsack Problem):在无界背包问题中,每种物品有无限多个可用的副本。目标是选择物品的副本来最大化总价值。
分数背包问题(Fractional Knapsack Problem):在分数背包问题中,物品可以被分割成任意比例,可以选择部分物品放入背包中。目标是选择物品的比例来最大化总价值。
有约束背包问题(Constrained Knapsack Problem):在有约束背包问题中,除了背包容量限制外,还存在其他约束条件,如物品之间的依赖关系、物品的数量限制等。目标是在满足所有约束条件的前提下,选择物品来最大化总价值。
未来,玻色量子将依托100计算量子比特相干光量子计算机真机——“天工量子大脑”,聚焦“实用化量子计算”,不断深入研究更多NP-Complete问题,拓展更多可实用化量子计算的真实应用场景。
玻色量子还将启动“燎原计划”开发者平台,并持续对外开放“天工量子大脑”的真机测试,热忱欢迎更多不同领域的研究伙伴前来了解相干量子计算的原理和能力,在此基础上展开共同研发,用量子计算去解决更多真实场景中的问题,让量子计算的超强算力能真正服务于各行各业,满足未来时代对于计算的需求。
参考资料
[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] https://zh.wikipedia.org/wiki/%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98