0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文了解如何应用QUBO模型来建模

玻色量子 来源:玻色量子 2023-04-06 14:19 次阅读

Ising模型与QUBO模型

1.伊辛模型(Ising Model)

相干伊辛机(Coherent Ising Machine, 简称CIM), 是目前玻色量子重点研发的一项光量子计算机技术,CIM是一种基于简并光学参量振荡器(DOPO)的光量子计算机,在数学实践中, 我们可以将其抽象为优化Ising模型的专用计算机。

Ising模型是一类描述物质相变的随机过程模型。抽象为数学形式为:

a81ed8f4-d42a-11ed-bfe3-dac502259ad0.png

其中σ为待求自旋变量, 取值为{+1,-1},H为哈密顿量,J和μ分别为二次项系数、线性项系数, 是已知量。

2.区分

QUBO模型更便于建模,Ising模型可以用于CIM求解器直接求解。同时,QUBO模型和Ising模型之间可以互相转化。

1)变量代换

a834185e-d42a-11ed-bfe3-dac502259ad0.png

2)创建辅助变量完成一次项转化

QUBO模型建模秘籍

一、什么是组合优化问题?

组合优化(Combinatorial Optimization, CO)领域是优化领域中最重要的领域之一,它也是运筹学、计算机科学和分析学研究团体所追求的最活跃的研究领域之一。

组合优化是在一个有限的对象集中找出最优对象的一类问题。组合优化的问题特征是可行解的集是离散或者可以简化到离散的,目标是找到最优解。常见的例子有数字划分问题、旅行商问题等。

一般来说,这些问题涉及在必须做出大量是/否决策的情况下做出明智的选择,并且每一组决策都会产生相应的目标函数值,例如成本或利润值。然而在这些环境中找到好的解决方案是极其困难的。

而QUBO建模方式可以包含在工业、科学和政府中发现的各种重要CO问题,借助QUBO求解器的求解能力可以有效地帮助解决许多重要问题。

二、什么是QUBO模型?

QUBO(QuadraticUnconstrained Binary Optimizatoin),无约束二次二进制优化模型是现在量子计算中应用最广泛的优化模型,它统一了丰富多样的组合优化问题。

随着问题规模的增加,利用传统方法求解该问题,求解时间会变得不可接受,但利用QUBO模型可以通过量子计算机加速,高效求解组合优化问题。同时,QUBO模型可以表达位运算,进而表达各种逻辑,操作简便,具体形式如下。

1.基础QUBO形式:minimize/maximize

a84d32ee-d42a-11ed-bfe3-dac502259ad0.png

Q为QUBO矩阵,x为二进制变量组成的向量,每个变量取值均为{0,1},QUBO目标为找到使得y最小或最大的x

其中,Q矩阵的形式有2种:

1)对称形式

a8620746-d42a-11ed-bfe3-dac502259ad0.png

2)上三角形式

a8737d96-d42a-11ed-bfe3-dac502259ad0.png

举例:

a888653a-d42a-11ed-bfe3-dac502259ad0.png

a8996e34-d42a-11ed-bfe3-dac502259ad0.png

2.位运算

a8acfd28-d42a-11ed-bfe3-dac502259ad0.png

与 同时为1,结果才为1;

或 同时为0,结果才为0;

非0变成1,1变成0;

异或 两位相同为0,相异为1

位运算表达

a8bec2ec-d42a-11ed-bfe3-dac502259ad0.png

a8ceb97c-d42a-11ed-bfe3-dac502259ad0.png

a8df9206-d42a-11ed-bfe3-dac502259ad0.png

a8f628c2-d42a-11ed-bfe3-dac502259ad0.png

a90aef78-d42a-11ed-bfe3-dac502259ad0.png

3.添加约束条件

举例1:

a91f31a4-d42a-11ed-bfe3-dac502259ad0.png

通过添加约束项,并设置较大的系数P保证约束内容的优先级。

举例2:

a933d398-d42a-11ed-bfe3-dac502259ad0.png

a949f31c-d42a-11ed-bfe3-dac502259ad0.png

约束条件举例

a95cbde4-d42a-11ed-bfe3-dac502259ad0.png     

4.整数表达

a972693c-d42a-11ed-bfe3-dac502259ad0.png

通过二进制表达整数,使用d个变量可以表达0到2^d −1 的数字。

举例:

a98552f4-d42a-11ed-bfe3-dac502259ad0.png

a9973870-d42a-11ed-bfe3-dac502259ad0.png

5.不等式约束

a9abc22c-d42a-11ed-bfe3-dac502259ad0.png

不等式约束可以转化为等式约束,通过松弛变量y表示出不等式两边的差。

a9be13a0-d42a-11ed-bfe3-dac502259ad0.png

其中y为通过二进制表达的整数,构造约束项:

a9d1bfae-d42a-11ed-bfe3-dac502259ad0.png

(注意点:这样做会引入新的变量,增加问题规模)

6.扩展思考

HOBO问题(High Order Binary Optimization),是指用二次多项式难以表达的高次问题。对于高次的问题,可以将x1x2替换为y,并添加约束项使得x1x2=y,从而将高次的问题转化为二次优化问题。

约束项:Rosenberg多项式

a9e6ff0e-d42a-11ed-bfe3-dac502259ad0.png

满足:

aa023652-d42a-11ed-bfe3-dac502259ad0.png

(注意点:这样做会引入新的变量,增加问题规模)

三、QUBO可以解决哪些问题?

最大独立集问题

不对称分配问题

对称分配问题

边约束分配问题

二次背包问题

最大团问题

最大割问题

整数划分问题

旅行商问题

举例1:整数划分问题

1)整数划分问题(The Number Partitioning Problem),NP-complete将包含n个非负整数的数集划分为两个子集,使这两个子集的和尽可能接近

aa1c2db4-d42a-11ed-bfe3-dac502259ad0.png

设数集为

aa2c86fa-d42a-11ed-bfe3-dac502259ad0.png

选两个子集满足,使得下值最小

aa465472-d42a-11ed-bfe3-dac502259ad0.png

举例S= {1,2,3,4,8},一组最有解为S1= {1,8} S2={2,3,4}是一组最优解,两者的和均为9

2)整数划分问题建模思路

1. 定义决策变量,决定每个整数被分到哪一个集合

2. 使用决策变量表达出两个集合整数和的差值

3. 通过CIM优化目标函数,得到最小值对应的解

3)整数划分问题建模过程

定义决策变量xi,xi=1表示 Si∈S1,xi=0表示Si∈S2

两个子集求和的差值:

aa5b4580-d42a-11ed-bfe3-dac502259ad0.png

目标函数:

aa731f0c-d42a-11ed-bfe3-dac502259ad0.png

其中,

aa875094-d42a-11ed-bfe3-dac502259ad0.png

举例2:旅行商问题

1)旅行商问题(Traveling Salesman Problem)NP-Complete,商人想要在地图上走完所有城市,每个城市只经过一次,最后回到最初的城市,求路程最短的走法。

给定带权图G(V,E),V为点集,E为边集,要求遍历所有点再回到初始点,求路程最短的走法。哈密顿回路:遍历所有点再回到初始点。

举例:

aaa0b138-d42a-11ed-bfe3-dac502259ad0.png

2)旅行商问题建模思路1.0

以下图为例,定义决策变量xi,u,表示“经过的第i个节点为u”是否为真,通过决策变量表达出距离,再通过添加约束条件使得求解方案能够成立,构造得到表达式通过CIM进行优化。

目标包括:

1. 路程最小

2. 路线为环(约束自然满足)

3. 同时只能经过一个节点(约束)

4. 每个点经过次数为1(约束)

5. 不能走不存在的连接(约束)

aabdd3bc-d42a-11ed-bfe3-dac502259ad0.png

3)旅行商问题建模过程

设有n个节点,wu,v从u到v的边的边权,定义决策变量xi,u,表示“经过的第i个节点为u”是否为真,路程为环可以根据决策变量的定义自然满足,则经过的路程可以表达为:

aadb4974-d42a-11ed-bfe3-dac502259ad0.png

aaf115e2-d42a-11ed-bfe3-dac502259ad0.png

4)旅行商问题约束条件

为使得xi,u符合实际情况,需要如下约束:

第i个节点只有一个节点

ab0b56c8-d42a-11ed-bfe3-dac502259ad0.png

节点u只在路线中出现一次

ab200794-d42a-11ed-bfe3-dac502259ad0.png

可以根据以上两个条件构造约束

ab34206c-d42a-11ed-bfe3-dac502259ad0.png

为了保证不存在的边不出现在方案中设置约束项

ab49d0ba-d42a-11ed-bfe3-dac502259ad0.png

P为惩罚项系数,取值需要显著大于其他边权,最终的约束项:

ab5f7780-d42a-11ed-bfe3-dac502259ad0.png

目标函数包括回路总长和约束两部分:

ab77a198-d42a-11ed-bfe3-dac502259ad0.png

2)旅行商问题建模思路2.0

定义决策变量xu,v,表示“使用u到v的边”,通过决策变量表达出距离,再通过添加约束条件使得求解方案能够成立,构造得到表达式通过CIM进行优化。

目标包括:

1. 路程最小

2. 每个点出发一次(约束)

3. 到达每个点一次(约束)

4. 不能走不存在的连接(约束)

aba4892e-d42a-11ed-bfe3-dac502259ad0.png

由于相干光量子计算最擅长攻克组合优化问题,可应用赋能场景广泛,如金融业的投资组合优化、资本风险分析建模;生物制药业的蛋白质折叠、小分子组合和DNA重组;

交通物流行业路径优化等,这些都是在实际工作中经常遇见的复杂度很高且计算量巨大的常规问题,所以该技术路线高度贴合市场需求,普适率高。






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CIM
    CIM
    +关注

    关注

    0

    文章

    78

    浏览量

    13799
  • 求解器
    +关注

    关注

    0

    文章

    77

    浏览量

    4428
  • 光量子计算机

    关注

    0

    文章

    7

    浏览量

    1616

原文标题:玻色量子真机体验|一文了解如何应用QUBO模型来建模

文章出处:【微信号:玻色量子,微信公众号:玻色量子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么是数学建模,怎样建立数学模型

    什么是数学建模,怎样建立数学模型 
    发表于 09-15 12:53

    OrCAD PSpice 建模教程分享

    在PSpice A/D中内建了很多常用的电子元器件符号及其对应的模型,但是在实际电路设计中,元器件库中恰好没有合适的元器件,这时就需要用户自行编辑现有的元器件特性或者创建新的元器件模型。器件建模
    发表于 10-14 10:29

    网络中心战构建模型是什么?

    网络中心战理论是人们对历史上信息和战争之间不解之缘深化认识的具体体现。众所周知,空间和时间是军事行动中两个非常重要的要素,而网络可以很好地联系这两个要素,因此随着网络技术的发展,网络中心战构建模型
    发表于 10-23 06:04

    如何使用Patsy创建模型描述?

    《利用Python进行数据分析》132 使用Patsy创建模型描述
    发表于 07-14 07:50

    你会用浩辰3D软件进行零件建模吗?

    中的说明指导您完成特征构造过程。3、构造附加特征浩辰3D软件附加特征基于您所绘制的草图,这些3D特征可修改模型上现有的边;或者可以基于您所指定的组属性。例如,可绘制附加草图,然后使用“选择”工具
    发表于 09-08 16:26

    高阶API构建模型和数据集使用

    了TensorFlow2.0Beta版本,同pytorch样支持动态执行(TensorFlow2.0默认eager模式,无需启动会话执行计算图),同时删除了杂乱低阶API,使用高阶API简单地构建复杂神经网络模型,本文主要分享用高阶API构
    发表于 11-04 07:49

    simulink建模之电机模型 相关资料分享

    simulink建模之电机模型文章目录0.前言1.原理分析2.具体步骤2.1第步:最大扭矩和功率模块2.1.1在恒功率区通过转速查表得出力矩值2.2第二步:电机效率模块2.3第三步:求电流3.总结
    发表于 06-30 06:17

    资料下载:基于MATLAB的风电场建模仿真研究牛步柯

    (www.woc88.com)数亿档库存里搜索。1、是描述风速的特性。在电力系统动态分析中,通常用它实现系统在较大风速变化情况下的动态性能。图风电场详细模型风电场模型仿真的风电场详
    发表于 07-06 08:00

    如何使用Simscape Multibody的物理建模模块建立倒立摆模型

    Multibody的物理建模模块建立倒立摆模型。Simscape库中的块代表实际的物理组件;因此,可以构建复杂的多体动力学模型,而无需通过物理原理
    发表于 07-07 06:16

    分享种comsol磁场与结构场耦合模型建模

    的专业知识,无需在意,不求甚解主要学习本专业的建模,要及时补充专业知识、了解相关知识(指些术语、名词)遇到问题难以理解的,且暂时没能解决,先记住,以后遇到再深究COMSOL学习自学(孤家寡人),主要学习磁场与结构场耦合
    发表于 07-09 06:40

    利用Matlab的simulink搭建模型生成C代码

    、整体思路利用Matlab的simulink搭建模型生成C代码,通过stm32cubemx生成工程,最后在KEIL或者IAR等工具里面编译生成代码下载至MCU中执行。本文以流水灯建立模型和简单
    发表于 08-04 06:08

    利用Matlab的simulink搭建模型生成C代码

    、整体思路利用Matlab的simulink搭建模型生成C代码,通过stm32cubemx生成工程,最后在KEIL或者IAR等工具里面编译生成代码下载至MCU中执行。本文以流水灯建立模型和简单
    发表于 08-10 07:49

    模型预测控制介绍

    这篇主要讲模型预测控制,如果对PID控制了解的同学,那效果更好。如果不了解PID控制,还是熟悉下比较好。模型预测控制,顾名思义,基于
    发表于 08-18 06:21

    了解LVGL的学习路线

    “本文大部分内容来自LVGL官方文档,手翻版,如有错误欢迎指正。”系列文章目录、LVGL系列(了解LVGL的学习路线轻松
    发表于 12-07 12:55

    求助,为pwm性能建模,想为驱动级找到个spice模型

    我正在为 pwm 性能建模,想为驱动级找到个 spice 模型——谢谢……
    发表于 01-16 08:48