位置: IT常识 - 正文

量子退火算法入门(4):旅行商问题的QUBO建模「上篇」(量子退火算法入门6)

编辑:rootadmin
量子退火算法入门(4):旅行商问题的QUBO建模「上篇」 文章目录一、旅行商问题(Traveling Saleman Problem,TSP)1.旅行商问题的定义2.旅行商问题求解的计算量二、TSP问题的建模1.总体Hamilton量HHH2.约束条件3.目标函数总结一、旅行商问题(Traveling Saleman Problem,TSP)1.旅行商问题的定义

推荐整理分享量子退火算法入门(4):旅行商问题的QUBO建模「上篇」(量子退火算法入门6),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:量子点退火,量子退火算法入门(2),量子退火计算机,量子退火算法入门6,量子退火算法是什么意思,量子退火算法是什么意思,量子退火算法是什么意思,量子退火算法入门,内容如对您有帮助,希望把文章链接给更多的朋友!

旅行商问题,是一个经典的组合优化问题,而且是著名NP问题之一。如下图所示 ,可以想象,有A,B,C,D,E 五个地点,我们想找到一条路径,从地点A出发,经过剩余四个地点,然后回到地点A,从所有可能路径中找到距离最短的一条路径。本章借用了文献[*1]的图表。

2.旅行商问题求解的计算量

最简单的求解方式就是,如下图所示把所有的求解路径全部计算一遍,然后算出每条路径的长度,求出最短路径。

如下图所示,所有的枚举路径总共有24条,我们可以很快找到最短路径。 如果下面A~Z的情况,这个计算量,日本的第一超级计算机富岳,每秒的计算速度约为44.2京次(京是10的16次方,即万兆)。一年的秒数是3600×24×365=3153.6万秒。有兴趣的可以计算一下要算多少年。

二、TSP问题的建模1.总体Hamilton量HHH

该问题输入有两个,这里借用了文章[*2]的图表:

地点数目:NNN地点之间的距离:li,j(i=1,・・・,N)l_{i,j}(i = 1,・・・, N)li,j​(i=1,・・・,N)

约束条件:

每个时间步只能访问一个地点。每个地点都访问过一次。量子退火算法入门(4):旅行商问题的QUBO建模「上篇」(量子退火算法入门6)

整体的Hamilton量HHH如下:

目标变量xi,jx_{i,j}xi,j​的两个下标的意思如下图👇所示,绿色的圆圈代表在某个时间步访问了某个第地点,所以我们的目标变量就可以用0或1表示了,0代表未访问,1代表访问。

2.约束条件

约束条件比较简单,先从约束条件解释,这里有2个约束可以解释如下:

每个时间步只能访问一个地点。 => 上图矩阵里的每列元素之和必须为1。也就是每列中只有一个元素为1。每个地点都访问过一次。 => 上图矩阵里的每行元素之和必须为1。也就是每行中只有一个元素为1。

具体表达式如下:

3.目标函数

解析:

xi,txj,t+1x_{i,t}x_{j,t+1}xi,t​xj,t+1​: 这里的目标函数,最难理解的是xi,txj,t+1x_{i,t}x_{j,t+1}xi,t​xj,t+1​。可以理解为【ttt时间步访问地点iii,t+1t+1t+1时间步访问地点jjj时,xi,txj,t+1x_{i,t}x_{j,t+1}xi,t​xj,t+1​=1;其他的情况,xi,txj,t+1x_{i,t}x_{j,t+1}xi,t​xj,t+1​=0】。

∑i=1N∑j=1N∑t=1N\sum_{i=1}^N \sum_{j=1}^N \sum_{t=1}^N∑i=1N​∑j=1N​∑t=1N​: 该表达式代表了,【ttt时间步访问地点iii,t+1t+1t+1时间步访问地点jjj时,地点iii和jjj之间的距离ℓi,j\ell_{i, j}ℓi,j​之和】。所以,这个目标函数就代表了,从初始地点,经过所有地点后,回到初始地点的距离总和。

总结

旅行商问题,是比较有实际意义的应用问题,大家能体会到怎么把现实问题抽象出binary变量,然后怎么把制约条件表达出来。因为,上面的建模有两种编程实现方式,为了控制篇幅,下一篇献上Python代码。

在阅读参考文献时,经常会发现资料里的一些小错误,大家以后阅读资料时也要小心啊。

参考文献: [*1] : https://www.nttdata.com/jp/ja/-/media/nttdatajapan/files/news/services_info/2021/012800/012800-01.pdf [*2] : https://qiita.com/yufuji25/items/0425567b800443a679f7
本文链接地址:https://www.jiuchutong.com/zhishi/299741.html 转载请保留说明!

上一篇:ajax和axios有什么区别?(ajax和axios区别)

下一篇:通过ChatGPT实现的ChatPDF,简单的应用落地,让你的文档变成一个智能助手,通过对话的方式快速学习文档内容

  • 跨年的所得税会计分录
  • 已认证的专票可以取消认证吗
  • 企业跨区变更地址需要多久
  • 进口产品销售需要什么资质
  • 餐饮业税负上升有什么原因
  • 出售自用汽车的税率
  • 开具3%增值税发票
  • 应付职工薪酬代扣款项账务处理
  • 应收账款计提坏账后收回的会计分录
  • 上个月没有结账可以做下个月的账吗
  • 分配的股息 要交所得税吗
  • 建筑公司外包工程收入怎么记账
  • 工程完成投资入什么科目核算与怎么写其会计分录?
  • 一般纳税人为什么要开专票
  • 开物流公司能挣多少钱
  • 企业发生的运输费用怎么做账?
  • 补充养老保险费可以扣除吗
  • 补缴去年个税
  • 支付职工培训费的现金流量项目
  • 公司的职工教育是指什么
  • 退休返聘人员的优点
  • php中this和self的区别
  • rtmservice.exe - rtmservice是什么进程 有什么用
  • 可转换债券的特点有哪些?
  • 现行小规模纳税人增值税税率
  • element ui el-table
  • 权益法下长期股权投资超额亏损
  • 其他经营收益怎么算
  • vue3+antd
  • 前端实战开发
  • php文件上传操作流程图
  • 固定成本又称什么成本
  • 可以抵扣土地增值税的项目
  • 出口抵减内销产品应纳税额怎么结转
  • 网站客服系统在线
  • 床垫可以开专票抵扣吗
  • 文化事业建设费税收优惠2023
  • 购进固定资产的进项税计入成本吗
  • 企业所得税会计利润
  • sql server 2008 新建数据库
  • linux 自启
  • 优先股和普通股风险哪个大
  • 股东打给公司的投资款
  • 用现金券付房租违法吗
  • 购入固定资产的增值税计入成本吗
  • 销售自行开发的房地产项目的增值税
  • 五险一金会计科目分录
  • 出口确认收入的时间
  • 会计软件入什么科目
  • 营业收入包括哪些内容?
  • 非营利医疗机构由谁批准
  • 备查账一般采用什么账簿
  • winxp系统开机启动项
  • 纸嫁衣6第四章攻略全文图解
  • anddroid.process.acore进程停止什么意思
  • xp系统文件损坏怎么修复
  • windows7粘滞键怎么关
  • win7系统怎么设置不休眠
  • win7强制关机后内存不足
  • win8的ie浏览器
  • win10系统预览版
  • jQuery ajax读取本地json文件的实例
  • cocos2d-x引擎
  • 关于extjs4如何获取grid修改后的数据的问题
  • shell脚本运行linux命令
  • linux文本操作命令
  • unity3d的
  • 数组observer
  • python检索文件中的内容
  • sqlserver 服务器
  • 从零开始学什么
  • jquery上滑下滑
  • interview分析方法
  • jquery封装的函数
  • 国家税务统一代码查询
  • 小规模增值税怎么计提
  • 公司车辆购置税怎么做账
  • 注册资金实缴证明怎么出
  • 钢管租赁可以开建筑材料吗
  • 如何查到银行
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设