CN109993310B - 基于fpga的并行量子进化实现方法 - Google Patents

基于fpga的并行量子进化实现方法 Download PDF

Info

Publication number
CN109993310B
CN109993310B CN201910305526.3A CN201910305526A CN109993310B CN 109993310 B CN109993310 B CN 109993310B CN 201910305526 A CN201910305526 A CN 201910305526A CN 109993310 B CN109993310 B CN 109993310B
Authority
CN
China
Prior art keywords
state
quantum
article
value
parallel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910305526.3A
Other languages
English (en)
Other versions
CN109993310A (zh
Inventor
李阳阳
裴轩
黄芹
柳亚欣
焦李成
刘光远
尚荣华
马文萍
李玲玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201910305526.3A priority Critical patent/CN109993310B/zh
Publication of CN109993310A publication Critical patent/CN109993310A/zh
Application granted granted Critical
Publication of CN109993310B publication Critical patent/CN109993310B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Genetics & Genomics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Development Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Game Theory and Decision Science (AREA)
  • Artificial Intelligence (AREA)
  • Physiology (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于FPGA的并行量子进化实现方法,主要解决现有技术没有真正通过硬件实现量子功能的问题。其实现方案为:1)初始化种群及最大迭代数;2)初始化状态矩阵;3)将FPGA作为开放运算语言OpenCL的设备端进行配置;4)通过并行量子观测状态矩阵,获得染色体;5)对染色体进行修正;6)根据修正的染色体计算适应度值,并对不是最优适应度值对应的染色体更新;8)重复步骤4)‑6),直到找到全局最优解或达到最大迭代次数结束进化。本发明利用FPGA的并行性,并行实现了量子进化,同时使FPGA具有了量子的基本功能,可应用于工业工程、网络通信和交通规划。

Description

基于FPGA的并行量子进化实现方法
技术领域
本发明属于量子学技术领域,更进一步涉及一种并行量子进化实现方法,可应用于工业工程、网络通信和交通规划。
背景技术
量子进化算法是解决组合优化问题中极为重要的一种方法。但是由于量子计算机攻克难题,无法高效率地将量子进化算法应用于实际问题中。
钱洁,王保华等人在其发表的论文“多重二次背包问题的量子进化求解方法”中提出了利用量子进化算求解组合优化问题。该量子进化算法的量子观测操作能将部分约束处理与观测一步完成,解码效率高且不易陷入局部最优。测试实验的结果也表明这种算法比传统算法的精度和效率更高。事实上,量子观测和量子更新具有并行特性,但是该方法中的量子观测和更新是串行实现,并未真正体现出量子的并行性。
贾瑞玉,刘范范等人在其发表的论文“基于MapReduce模型的并行量子进化算法”中公开了一种基于MapReduce模型并行量子进化算法的方法。这篇文章提出基于MapReduce模型的并行量子进化算法MRQEA,并将其部署到Hadoop云计算平台上运行。通过对0-1背包问题的测试结果证明,MRQEA算法在处理大型数据集时具有良好的加速比和并行效率。但是该方法存在的不足是,其一,由于该方法使用的编程模型复杂,且基于大规模集群运行,无法随时随地使用;其二,该方法由于只是借助MapReduce的分布式并行思想并行了量子进化算法,因而并没有真正通过硬件实现量子功能。
发明内容
本发明的目的在于针对上述现有技术的不足,提出一种基于FPGA的并行量子进化实现方法,以利用高性能硬件FPGA并行实现量子进化算法的量子观测和量子旋转门更新功能,使硬件具有量子的基本功能,并具有更高的便携性、更简单的操作和更低的功耗,同时能够保证量子算法在解决实际问题中的时效性。
实现本发明目的基本思路是:利用高性能硬件FPGA的并行性,将量子观测和量子旋转门更新原有的数据串行处理方式改为并行处理方式,实现量子并行性,并利用该算法解决实际中的组合优化问题,如多维背包问题,其实现步骤包括如下:
(1)读入物品的价值和限制数据,并以矩阵形式存储;
(2)初始化状态矩阵,用状态矩阵
Figure BDA0002029681780000021
表示问题解的量子态,其中m是物品的个数,t表示在第t代α与β分别是基因位取0和1的概率幅;当t=0时,/>
Figure BDA0002029681780000022
(3)将FPGA作为开放运算语言OpenCL的设备端,并划分设备端工作组,创建两个内核,其中第一个内核并行实现量子观测,第二个内核并行更新状态矩阵;
(4)通过并行量子观测,获得染色体编码串:
(4a)在中央处理器CPU主机端生成(0,1)范围内的随机数,并将其与状态矩阵的β值一同传入开放运算语言OpenCL设备端的全局内存中;
(4b)在开放运算语言OpenCL设备端中,执行第一个内核,即并行实现对状态矩阵的量子观测,得到状态矩阵多次观测后的染色体编码串,再拷贝至中央处理器CPU主机端内存中;
(5)修正染色体:
(5a)根据染色体编码串、物品限制数据,判断是否满足约束条件:
Figure BDA0002029681780000023
若满足约束条件执行(5b),否则,执行(5c),其中X=(x1…xm),xi=0或1表示第i件物品的状态,w表示物品的限制,Cj为第j维的约束条件。
(5b)根据状态为“0”的物品价值与限制比,修正染色体,直至不满足约束条件,再根据修正后的染色体和物品价值数据计算目标函数的适应度值E,得到当前解,并判断当前解是否为最优解,若是,则输出当前解,否则,执行(6);
(5c)根据状态为“1”的价值与限制比,修正染色体,直至满足约束条件,再根据修正后的染色体和物品价值数据计算目标函数的适应度值E,得到当前解,并判断当前解是否为最优解,若是,则输出当前解,否则,执行(6);
(6)并行更新状态矩阵:
(6a)在中央处理器CPU主机端将当前解、前一次得到的最优解及状态矩阵U传入开放运算语言OpenCL设备端的全局内存中;
(6b)在开放运算语言OpenCL设备中,执行第二个内核,即并行地对当前状态矩阵进行更新得到新的状态矩阵,并拷贝至中央处理器CPU主机端的内存中;
(7)重复步骤(4)-(6),直到找到全局最优解或达到最大迭代次数结束进化。
本发明与现有技术相比具有以下优点:
第一,本发明直接利用OpenCL硬件设备的并行性,将量子观测和量子旋转门更新原有的数据串行处理方式改为并行处理方式,从硬件层面实现了量子算法的并行性,并且在一次编译后便可使硬件具备量子基本功能。
第二,本发明在OpenCL硬件设备FPGA上实现了并行量子进化算法,相比于直接在计算机上仿真结果,FPGA功耗低且效率高;相比于大规模的高性集群,FPGA体积小,可便携,操作简单。另外,使用OpenCL编程框架,可使量子能在更多的硬件平台使用。
附图说明
图1为本发明的实现流程图;
图2为本发明中在OpenCL设备端的工作组划分示意图;
图3为本发明中第一个内核工作项任务划分示意图;
图4为本发明中第二个内核工作项任务划分示意图;
图5为本发明应用于多维背包问题的实验结果。
具体实施方式
下面结合附图,对本发明的实施例和效果做进一步的详细描述。
本法明的实施例是将其用于解决多维背包问题,即利用本发明实现在所装物品不超过背包约束的情况下,保证装入背包的物品总价值最大。
参照图1,对本发明的具体实施步骤做进一步的详细描述:
步骤1,初始化数据及参数。
1a)读入物品的价值及物品的重量数据和体积数据,并以矩阵形式存储,设定背包的约束,最大迭代次数参数,最大物品总价值,其中物品的价值数据如表1,物品的重量数据如表2和体积数据表3;
表1.物品价值数据
41850 38261 23800 21697 7074 5587 5560
5500 3450 2391 761 460 367 24785
47910 30250 107200 4235 9835 9262 15000
6399 6155 10874 37100 27040 4117 32240
1600 4500 70610 6570 15290 23840 16500
7010 16020 8000 31026 2568 2365 4350
1972 4975 29400 7471 2700 3840 22400
3575 13500 1125 11950 12753 10568 15600
20652 13150 2900 1790 4970 5770 8180
2450 7140 12470 6010 16000 11000 11093
4685 2590 11500 5820 2842 5000 3300
2800 5420 900 13300 8540 7140 12470
6010 16000 11100 11093 4685 2590 11500
5820 2842 5000 3300 2800 5420 900
13300 8450 5300 750 1435 2100 7215
2605 2422 5500 8550 2700 540 2550
2450 725 445 700 1720 2675 220
300 405 150 70
表2.重量数据
75 40 365 95 25 17 125 20 22 24 75 50 15 0 0
12 0 10 0 50 0 0 10 0 0 50 60 150 0 0
75 0 102 0 0 40 60 0 165 0 0 0 45 0 0
0 25 0 150 0 0 0 158 0 85 95 0 89 20 0
0 0 0 0 0 80 0 110 0 15 0 60 5 135 0
0 25 0 300 35 100 0 0 25 0 0 225 25 0 0
0 0 0 0 0 5 0 60 0 100 0 0 0 0 0
表3.体积数据
0 0 0 0 0 0 0 0 0 0 0 0 0 5 10
10 50 2 5 5 10 5 6 11 41 30 5 40 2 6
100 10 25 39 30 13 30 15 60 5 5 10 5 15 91
24 10 15 90 15 60 5 55 60 50 75 100 65 15 10
30 35 50 15 45 80 40 110 80 80 36 20 90 50 25
50 35 30 60 10 150 110 70 10 20 30 104 40 40 94
150 50 10 50 50 16 10 20 50 90 10 15 39 20 20
1b)设置背包的约束为3000,本实施例设置了2维约束,每一维表示背包的最大容量,设最大迭代次数为300,最大物品总价值设为1095445。
步骤2,初始化状态矩阵。
状态矩阵U在量子进化中用于表示多维背包问题解在量子空间的状态,它以概率幅作为基因位,提高多维背包问题解的多样性。其表示形式如下:
Figure BDA0002029681780000051
其中m是物品的个数,t表示在第t代α与β分别是基因位取0和1的概率幅;当t=0时,
Figure BDA0002029681780000052
步骤3,将FPGA作为开放运算语言OpenCL的设备端进行配置。
3a)将中央处理器CPU主机端和开放运算语言OpenCL设备端通过PCIe总线接口连接,用于为FPGA供电,使FPGA与主机端进行端到端的数据通信;
3b)划分开放运算语言OpenCL设备端工作组:
参照图2,本步骤的具体实现如下:
3b1)创建两个内核,其中第一个内核并行实现量子观测,第二个内核并行更新状态矩阵。
3b2)根据两个内核是量子进化中的两个子任务,在OpenCL设备端划分出两个工作组来负责执行这两个子任务,结果如图2,其中图2(a)为OpenCL设备端的全体工作组,每个工作组都为二维;图2(b)为划分后的工作组,工作组为一维。
步骤4,通过并行量子观测,获得染色体编码串。
4a)在中央处理器CPU主机端生成(0,1)范围内的随机数,并将其与状态矩阵U中的β值一同传入开放运算语言OpenCL设备端的全局内存中;
4b)在开放运算语言OpenCL设备端中,执行第一个内核,即并行实现对状态矩阵的量子观测:
参照图3,对该过程作进一步描述:
图3中横坐标为划分后的工作组中工作项的全局行索引,每个工作项负责一个随机数与β值的比较,若随机数大于β值,则基因位状态坍塌于1,否则,基因位状态坍塌于0,最后得到状态矩阵多次观测后的染色体编码串,再将染色体编码串拷贝至中央处理器CPU主机端内存中。
步骤5,修正染色体。
5a)根据染色体编码串、物品的重量数据和体积数据,判断是否满足背包的约束:
Figure BDA0002029681780000061
其中X=(x1…xm),xi=0或1表示背包中是否放入第i件物品,w表示物品的重量或体积,Cj为第j维的背包约束:
若满足背包的约束,则根据状态为“0”的物品价值与重量比或物品价值与体积比,执行5b),
若不满足背包的约束,则根据状态为“1”的物品价值与重量比或物品价值与体积比,执行5c),
5b)对满足约束的染色体进行修正:
5b1)计算j维中状态为“0”的第i个物品的性价比:
Figure BDA0002029681780000062
并将所得结果c按降序排列,其中,v为物品的价值,w为物品的重量或体积,n为维度数;
5b2)按序列顺序从性价比最高的物品开始遍历,若有物品的状态为“0”,则设为“1”,若物品的状态为“1”,则保持该状态,直至该染色体不满足约束,结束修正;
5c)对不满足约束的染色体修正:
5c1)计算j维中状态为“1”的第i个物品性价比:
Figure BDA0002029681780000063
并将所得结果c按降序排列,其中,v为物品的价值,w为物品的重量或体积,n为维度数;
5c2)按照序列顺序从性价比最低的物品开始遍历,若物品的状态为“1”,则设为“0”,若物品的状态为“0”,则保持该状态,直至该染色体满足约束,结束修正;
步骤6,计算适应度值。
根据每一次修正后的染色体和物品价值数据计算目标函数的适应度值E:
Figure BDA0002029681780000071
其中,X=(x1…xm),P=(p1…pm),xi=0或1表示背包中是否放入第i件物品,pi是对应物品的价值;
判断当前得出的适应度值E是否比前一次得出的适应度值大,若是,则输出当前适应度值,否则,保持前一次得出的适应度值,执行步骤7。
步骤7,并行更新状态矩阵。
7a)在中央处理器CPU主机端,将当前解E、前一次得到的最优解及状态矩阵U,一同传入开放运算语言OpenCL设备端的全局内存中;
7b)在开放运算语言OpenCL设备中,执行第二个内核,即并行地对当前状态矩阵进行更新得到新的状态矩阵:
参照图4,本步骤具体实现如下:
图4中横坐标为划分后的工作组中工作项的全局行索引,每个工作项负责更新状态矩阵U中的一个量子基因位,利用量子旋转门对每一个量子基因位进行更新,量子旋转门的形式如下:
Figure BDA0002029681780000072
更新后的状态矩阵中的量子基因位为:
Figure BDA0002029681780000073
最后得到更新后的状态矩阵,其形式如下:
Figure BDA0002029681780000074
其中
Figure BDA0002029681780000081
和/>
Figure BDA0002029681780000082
分别为更新后的第i个基因位取0和取1的概率幅,i=1,2,...,m,m为物品的个数,其中θi=s(αiβi)*Δθi,i=1,...,m,是每个量子基因位朝向0或1的旋转角,s(αiβi)是旋转方向,Δθi是角度增量;
s(αiβi)的取值如下表
Figure BDA0002029681780000083
其中E是当前的适应度值,Ebest是最优的适应度值,xi和bi分别为对应当前解和最优解中的第i个值。
步骤8,重复步骤4至步骤7,直到找到最大物品总价值或达到最大迭代次数结束进化。
下面结合仿真实验对本发明的效果做进一步详细描述。
1.仿真实验条件:
仿真实验条件为:AMD异构开发平台和FPGA异构开发平台。
AMD异构开发平台主机端CPU为AMD Ryzen 52500U with Radeon Vega MobileGfx,2.00GHz,内存8G,64位WINDOWS10***,软件采用Microsoft Visual Studio2013,编程语言为OpenCL,软件开发工具包为AMD APP SDK,OpenCL硬件设备端:AMD RadeonTMVega8Mobile Graphics。
FPGA异构开发平台主机端CPU为Core(TM)i7-7700,3.60GHz,内存16G,64位Centos***,编程语言为OpenCL,软件开发工具包为Altera OpenCL SDK,OpenCL硬件设备端:Intel Arria 10GX FPGA。
2.仿真实验内容及其仿真实验结果分析:
用本发明基于FPGA异构开发平台和现有的基于AMD异构开发平台实现并行量子进化的方法分别对多维背包问题进行真,结果如图5。
其中,图5(a)为采用本发明的方法得到的仿真结果图,图5(b)为采用现有的方法得到的仿真结果图,图5(c)为两种方法的时间对比图。对比图5(a)和图5(b)可知,本发明的方法也同样可以找到最优解,同时,从图5(c)可以看出,本发明的方法时效性高于现有的方法。
将两种方法求解所用的时间做对比,结果如表4所示。
表4本发明和现有方法仿真实验20次实验所用时间对比表
实验次数 1 2 3 4 5 6 7 8 9 10
现有方法 4.106 4.211 4.898 3.963 4.262 3.143 3.055 4.133 3.794 4.211
本发明 1.34 0.81 1.23 1.36 0.98 1.12 0.99 1.66 2.7 1.25
实验次数 11 12 13 14 15 16 17 18 19 20
现有方法 4.775 3.609 3.409 4.622 4.703 4.612 4.032 4.105 4.433 5.213
本发明 1.33 0.89 1.04 2.44 1.64 2.26 1.25 1.29 1.11 1.00
由表4可见,本发明的方法所用时间明显少于现有基于AMD异构开发平台的方法所用的时间。

Claims (6)

1.一种基于FPGA的并行量子进化实现方法,其特征在于,利用开放运算语言OpenCL配置高性能硬件设备FPGA,利用高性能硬件设备FPGA的多线程并行处理数据,实现并行量子进化,步骤包括如下:
(1)读入物品的价值和限制数据,并以矩阵形式存储;
(2)初始化状态矩阵,用状态矩阵
Figure FDA0003959262270000011
表示问题解的量子态,其中m是物品的个数,t表示在第t代α与β分别是基因位取0和1的概率幅;当t=0时,
Figure FDA0003959262270000012
(3)将FPGA作为开放运算语言OpenCL的设备端,并划分设备端工作组,创建两个内核,其中第一个内核并行实现量子观测,第二个内核并行更新状态矩阵;
(4)通过并行量子观测,获得染色体编码串:
(4a)在中央处理器CPU主机端生成(0,1)范围内的随机数,并将其与状态矩阵的β值一同传入开放运算语言OpenCL设备端的全局内存中;
(4b)在开放运算语言OpenCL设备端中,执行第一个内核,即并行实现对状态矩阵的量子观测,得到状态矩阵多次观测后的染色体编码串,再拷贝至中央处理器CPU主机端内存中;
(5)修正染色体:
(5a)根据染色体编码串、物品限制数据,判断是否满足约束条件:
Figure FDA0003959262270000013
若满足约束条件执行(5b),否则,执行(5c),
其中X=(x1…xm),xi=0或1表示第i件物品的状态,w表示物品的限制,Cj为第j维的约束条件;
(5b)根据状态为“0”的物品价值与限制比,修正染色体,直至不满足约束条件,再根据修正后的染色体和物品价值数据计算目标函数的适应度值E,得到当前解,并判断当前解是否为最优解,若是,则输出当前解,否则,执行(6);
(5c)根据状态为“1”的价值与限制比,修正染色体,直至满足约束条件,再根据修正后的染色体和物品价值数据计算目标函数的适应度值E,得到当前解,并判断当前解是否为最优解,若是,则输出当前解,否则,执行(6);
(6)并行更新状态矩阵:
(6a)在中央处理器CPU主机端将当前解、前一次得到的最优解及状态矩阵U传入开放运算语言OpenCL设备端的全局内存中;
(6b)在开放运算语言OpenCL设备中,执行第二个内核,即并行地对当前状态矩阵进行更新得到新的状态矩阵,并拷贝至中央处理器CPU主机端的内存中;
(7)重复步骤(4)-(6),直到找到全局最优解或达到最大迭代次数结束进化。
2.根据权利要求1所述的方法,其特征在于,步骤(4b)中并行实现对状态矩阵的量子观测,是并行的将产生的随机数与开放运算语言OpenCL设备端内存中状态矩阵的β值进行比较,若随机数大于β值,则基因位状态坍塌于1,否则,基因位状态坍塌于0,最后得到编码串。
3.根据权利要求1所述的方法,其特征在于,步骤(5b)和(5c)中计算适应度值E,通过如下公式计算:
Figure FDA0003959262270000021
其中,X=(x1…xm),P=(p1…pm),xi=0或1表示第i件物品的状态,pi是对应物品的价值。
4.根据权利要求1所述的方法,其特征在于,(5b)中根据状态为“0”的物品价值与限制比,修正染色体,实现步骤如下:
(5b1)计算j维中状态为“0”的第i个物品的性价比:
Figure FDA0003959262270000022
并将所得结果c按降序排列,其中,v为物品的价值,w为物品的限制,n为维度数;
(5b2)按序列顺序从性价比最高的物品开始遍历,若有物品的状态为“0”,则设为“1”,若物品的状态为“1”,则保持原来状态。
5.根据权利要求1所述的方法,其特征在于,(5c)中根据状态为“1”的物品价值与限制比,修正染色体,实现步骤如下:
(5c1)计算j维中状态为“1”的第i个物品性价比:
Figure FDA0003959262270000031
并将所得结果c按降序排列,其中,v为物品的价值,w为物品的限制,n为维度数;
(5c2)按照序列顺序从性价比最低的物品开始遍历,若物品的状态为“1”,则设为“0”,若物品的状态为“0”,则保持原来状态。
6.根据权利要求1所述方法,其特征在于,步骤(6b)中的并行更新状态矩阵,是通过并行量子旋转门来进行更新的,量子旋转门公式如下:
Figure FDA0003959262270000032
更新后的状态矩阵中的量子基因位为:
Figure FDA0003959262270000033
其中θi=s(αiβi)*Δθi,i=1,...,m,是每个量子基因位朝向0或1的旋转角度,s(αiβi)是旋转方向,Δθi是角度增量。
CN201910305526.3A 2019-04-16 2019-04-16 基于fpga的并行量子进化实现方法 Active CN109993310B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910305526.3A CN109993310B (zh) 2019-04-16 2019-04-16 基于fpga的并行量子进化实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910305526.3A CN109993310B (zh) 2019-04-16 2019-04-16 基于fpga的并行量子进化实现方法

Publications (2)

Publication Number Publication Date
CN109993310A CN109993310A (zh) 2019-07-09
CN109993310B true CN109993310B (zh) 2023-03-24

Family

ID=67133844

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910305526.3A Active CN109993310B (zh) 2019-04-16 2019-04-16 基于fpga的并行量子进化实现方法

Country Status (1)

Country Link
CN (1) CN109993310B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112446432B (zh) * 2020-11-30 2023-06-30 西安电子科技大学 基于量子自学习自训练网络的手写体图片分类方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102866912A (zh) * 2012-10-16 2013-01-09 首都师范大学 一种单指令集异构多核***静态任务调度方法
CN107330808A (zh) * 2017-07-21 2017-11-07 山东万腾电子科技有限公司 基于量子进化算法的复杂场景排产方法及***
WO2018161468A1 (zh) * 2017-03-10 2018-09-13 东莞理工学院 一种基于拉马克获得性遗传原理的全局优化、搜索和机器学习方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102866912A (zh) * 2012-10-16 2013-01-09 首都师范大学 一种单指令集异构多核***静态任务调度方法
WO2018161468A1 (zh) * 2017-03-10 2018-09-13 东莞理工学院 一种基于拉马克获得性遗传原理的全局优化、搜索和机器学习方法
CN107330808A (zh) * 2017-07-21 2017-11-07 山东万腾电子科技有限公司 基于量子进化算法的复杂场景排产方法及***

Also Published As

Publication number Publication date
CN109993310A (zh) 2019-07-09

Similar Documents

Publication Publication Date Title
Mirhoseini et al. A hierarchical model for device placement
US8504496B2 (en) Systems and methods for an application program interface to an evolutionary software program
Alba et al. Parallel metaheuristics: recent advances and new trends
Sun et al. A cooperative particle swarm optimizer with statistical variable interdependence learning
De Toro et al. PSFGA: a parallel genetic algorithm for multiobjective optimization
Kołodziej et al. Multi-level hierarchic genetic-based scheduling of independent jobs in dynamic heterogeneous grid environment
US20170223143A1 (en) Integration of Quantum Processing Devices with Distributed Computers
Al-Moalmi et al. A whale optimization system for energy-efficient container placement in data centers
Zhang et al. DECAL: Decomposition-based coevolutionary algorithm for many-objective optimization
Qu et al. A grid-guided particle swarm optimizer for multimodal multi-objective problems
Qian et al. A multi-objective evolutionary algorithm based on adaptive clustering for energy-aware batch scheduling problem
CN114492814A (zh) 基于量子计算模拟目标体系能量的方法、装置及介质
Lin et al. Multiobjective trajectory optimization with a cutting and padding encoding strategy for single-UAV-assisted mobile edge computing system
CN106294288A (zh) 一种分布式非负矩阵分解方法
CN115577780A (zh) 一种求解约束优化问题的量子近似算法
CN109993310B (zh) 基于fpga的并行量子进化实现方法
Zhang et al. Efficient neighbor-sampling-based gnn training on cpu-fpga heterogeneous platform
CN114511094A (zh) 一种量子算法的优化方法、装置、存储介质与电子装置
CN114492815A (zh) 一种基于量子化学计算目标体系能量的方法、装置及介质
Younis et al. Genetic algorithm for independent job scheduling in grid computing
Sun et al. Overview of parallel computing for meta-heuristic algorithms
Navimipour et al. The LGR method for task scheduling in computational grid
Xiao et al. W-cycle SVD: a multilevel algorithm for batched SVD on GPUs
CN110689320A (zh) 一种基于协同进化算法的大规模多目标项目调度方法
Khanli et al. LGR: the new genetic based scheduler for grid computing systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant