玻色量子“揭秘”之集合划分问题与QUBO建模

摘要:集合划分问题(Set Partitioning Problem)是一种组合优化问题,其中给定一个集合S和其若干个不同的子集S1,S2,...,Sn后,需要找到子集的有效组合,使得集合S的每个元素正好出现在一个子集中,并且所选择的子集的组合成本最小。这个问题可以被建模为一个0-1整数线性规划问题,其中引入了一个0-1变量向量,用于表示是否选择子集。通过对变量和约束条件的定义,可以找到最优的子集划分方案,以最小化成本。集合划分问题在学术研究中被广泛应用于制定调度计划、运输计划、生产计划等领域,以解决实际问题并优化资源利用。

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

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

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

北京玻色量子科技有限公司在5月16日新品发布会上推出的100计算量子比特相干光量子计算机真机——“天工量子大脑”🔗,旨在快速、高效地求解NP-hard的Ising模型。集合划分问题可以转化为一个Ising/QUBO模型,“天工量子大脑”可以极大简化求解步骤并在毫秒级的时间里给出问题的全局最优解。

问题描述

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

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

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

建模思路

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

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

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

s.t.

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

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

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

其中Q矩阵为:

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

问题拓展

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

未来,玻色量子将依托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] Garfinkel R S, Nemhauser G L. The set-partitioning problem: set covering with equality constraints[J]. Operations Research, 1969, 17(5): 848-856.

[3] 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.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/182961.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

jupyter notebook 不知道密码,怎么登录解决办法

jupyter notebook 不知道密码,怎么登录解决办法 1、 windows下,打开命令行,输入jupyter notebook list : C:\Users\tom>jupyter notebook list Currently running servers: http://localhost:8888/?tokenee8bb2c28a89c8a24d…

浅学指针(2)数组函数传值调用

系列文章目录 文章目录 系列文章目录前言1. 指针的使⽤和传址调⽤结论:实参传递给形参的时候,形参会单独创建⼀份临时空间来接收实参,对形参的修改不影响实 参。那么这个时候,就要搬出指针大哥,在main函数中将a和b的地…

前端 计算机基础篇 ( 二 )

文章目录 websockt及原理ipv4和ipv6的区别线程和进程的区别cdn原理缓存所涉及的http状态码缓存的时候设置 no-store和no-cache和max-age0这几个有什么区别token一般存放在哪儿怎么设置强缓存和协商缓存强缓存:1. 使用 Cache-Control 头字段: 协商缓存&am…

解决:ImportError: cannot import name ‘Sequence‘ from ‘collections‘

解决:ImportError: cannot import name ‘Sequence‘ from ‘collections‘ 背景 在使用之前的代码时,报错: File “G:\research\code\MicroDE_py\plot_bcic_iv_4_ecog_trial.py”, line 262, in from skorch.helper import predefined_spl…

U盘启动制作工具Rufus

U盘启动制作工具Rufus 下载U盘启动制作工具Rufus,进入Rufus官网:http://rufus.ie/en/,打开之后往后滑动,找到download即可点击下载。 需要插入U盘 首先需要插入U盘,如果U盘有重要文件一定要备份,然后右键…

vue+SpringBoot的图片上传

前端VUE的代码实现 直接粘贴过来element-UI的组件实现 <el-uploadclass"avatar-uploader"action"/uploadAvatar" //这个action的值是服务端的路径&#xff0c;其他不用改:show-file-list"false":on-success"handleAvatarSuccess"…

不做机器视觉工程师,转行,转岗的建议与想法

正所谓外行看热闹&#xff0c;内行看门道。提前咨询前辈们&#xff0c;多问问&#xff0c;多看看。要做就做&#xff0c;一定要提前做好防范。 无论你是要转行或者是转岗&#xff0c;看你有没有本钱和试错成本 有些人&#xff0c;家庭好&#xff0c;可以一直去试错和从头再来。…

【python爬虫】scrapy在pycharm 调试

scrapy在pycharm 调试 1、使用scrapy创建一个项目 scrapy startproject tutorial 2、在朋友pycharm中调试scrapy 2.1 通过文件run.py调试 在根目录下新建一个文件run.py&#xff08;与scrapy.cfg文件的同一目录下&#xff09;, debug ‘run’即可 # -*- coding:utf-8 -*- …

MIT_线性代数笔记:列空间和零空间

目录 前言子空间综述列空间 Column space零空间&#xff08;或化零空间&#xff09;Nullspaceb 值的影响 Other values of b 前言 本节继续研究子空间&#xff0c;特别是矩阵的列空间&#xff08;column space&#xff09;和零空间&#xff08;nullspace&#xff09;。 子空间…

牛客 HJ106 字符逆序 golang实现

牛客题目算法连接 题目 golang 实现 package mainimport ("fmt""bufio""os" )func main() {str, _ : bufio.NewReader(os.Stdin).ReadString(\n)if len(str) 0 {return } else {newstr:""strLen:len(str)-1for i:strLen;i>0;i-…

数据结构与算法【B树】的Java实现+图解

目录 B树 特性 实现 节点准备 大体框架 实现分裂 实现新增 实现删除 完整代码 B树 也是一种自平衡的树形数据结构&#xff0c;主要用于管理磁盘上的数据管理&#xff08;减少磁盘IO次数&#xff09;。而之前说的AVL树与红黑树适合用于内存数据管理。存储一个100w的数…

4.常见面试题--操作系统

特点&#xff1a;并发性、共享性、虚拟性、异步性。 Windows 和 Linux 内核差异 对于内核的架构⼀般有这三种类型&#xff1a; ● 宏内核&#xff0c;包含多个模块&#xff0c;整个内核像⼀个完整的程序&#xff1b; ● 微内核&#xff0c;有⼀个最⼩版本的内核&#xff0…

docker国内镜像加速

创建或修改 /etc/docker/daemon.json 文件&#xff0c;修改为如下形式 {"registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"] } Docker中国区官方镜像htt…

【广州华锐互动】VR线上课件制作软件满足数字化教学需求

随着科技的不断发展&#xff0c;虚拟现实&#xff08;VR&#xff09;技术在教学领域的应用逐渐成为趋势。其中&#xff0c;广州华锐互动开发的VR线上课件制作软件更是备受关注。这种工具为教师提供了便捷的制作VR课件的手段&#xff0c;使得VR教学成为可能&#xff0c;极大地丰…

python cv2.imread()和Image.open()的区别和联系

文章目录 1. cv2.imread()1.1 cv2.imread参数说明1.2 注意事项 2. Image.open()3. cv2.imread()与Image.open()相互转化3.1 cv2.imread()转成Image.open()&#xff1a;Image.fromarray()3.2 Image.open()转成cv2.imread()&#xff1a;np.array() 1. cv2.imread() cv2.imread()…

MyBatisPlus总结

MyBatis-Plus时Mybatis的Best Partner MyBatis-Plus (opens new window)&#xff08;简称 MP&#xff09;是一个 MyBatis (opens new window)的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生。 特性 无侵入损耗小强大的 CR…

Linux(Centos)上使用crontab实现定时任务(定时执行脚本)

场景 Windows中通过bat定时执行命令和mysqldump实现数据库备份&#xff1a; Windows中通过bat定时执行命令和mysqldump实现数据库备份_mysqldump bat-CSDN博客 上面讲windows中使用bat实现定时任务的方式&#xff0c;如果是在linux上可以通过crontab实现。 cron是服务名称。…

Navicat 技术指引 | 适用于 GaussDB 的查询编辑器

Navicat Premium&#xff08;16.2.8 Windows版或以上&#xff09; 已支持对 GaussDB 主备版的管理和开发功能。它不仅具备轻松、便捷的可视化数据查看和编辑功能&#xff0c;还提供强大的高阶功能&#xff08;如模型、结构同步、协同合作、数据迁移等&#xff09;&#xff0c;这…

【开源】基于Vue.js的海南旅游景点推荐系统的设计和实现

项目编号&#xff1a; S 023 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S023&#xff0c;文末获取源码。} 项目编号&#xff1a;S023&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户端2.2 管理员端 三、系统展示四…

海报设计必备:揭秘5款炙手可热的设计工具

1.即时设计&#xff1a;能实现在线协作的海报设计软件 即时设计作为 2020 年上线的国产设计工具&#xff0c;目前已经有了超百万的注册用户&#xff0c;获得了广大设计师的一致好评。与其他传统海报设计软件相比&#xff0c;即时设计具有这几个优点&#xff1a;一是所有功能都…