实数编码量子进化算法
进化算法原理:模拟自然选择的优化方法

进化算法的改
种
进
01
02
• 多目标进化算法
• 提高搜索能 免疫进化算法
• 降低计算复杂度
06
进化算法的性能评估与优化
进化算法的性能评估指标与方法
01
02
性能评估指标
性能评估方法
• 收敛速度
• 基准测试问题
• 解的质量
• 仿真实验
• 稳定性
• 实际应用案例
进化算法的参数设置与调整策略
码、实数编码等
• 编码方法应具有较高的表达能力和解码
效率
解码方法
• 将染色体解码成问题的解
• 解码方法应保证解码结果与编码的一致
性
遗传算法中的选择、变异与交叉操作
01
02
03
选择操作
变异操作
交叉操作
• 根据适应度函数值选择优胜个体,
• 对个体基因进行随机修改,增加
• 结合两个个体的基因,生成新的
参与下一代进化
• 路径规划
• 资源分配
量子进化算法的基本概念与实现
量子进化算法的基本概念
• 结合量子计算理论来求解优化问题
• 量子进化算法采用量子比特表示个体
量子进化算法的实现
• 初始化量子种群
• 评估适应度
• 选择优胜个体
• 量子变异与量子交叉操作
• 迭代进化,直至满足停止条件
其他进化算法的变种与改进
进化算法的变
种群多样性
个体
• 常见选择策略:轮盘赌选择、锦
• 常见的变异方法:二进制变异、
• 常见的交叉方法:单点交叉、多
标赛选择、排序选择等
实数变异、整数变异等
点交叉、均匀交叉等
04
【国家自然科学基金】_量子变异_基金支持热词逐年推荐_【万方软件创新助手】_20140802

推荐指数 4 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2011年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
科研热词 推荐指数 量子计算 6 量子遗传算法 5 量子旋转门 3 量子粒子群优化算法 2 聚焦距离变化率 2 混沌 2 惯性权重 2 基于量子行为的粒子群优化算法(qpso) 2 变异 2 函数优化 2 非支配排序遗传算法 1 随机需求 1 量子非门 1 量子进化算法 1 量子粒子群优化 1 量子克隆 1 量子位概率幅编码 1 量子人工鱼群算法 1 连续空间优化 1 进化阶段 1 进化算法 1 运筹学 1 车辆路径问题 1 认知无线网络 1 航天诱变 1 自适应网格 1 聚类分析 1 算法设计 1 算法改进 1 离散量子微粒群优化 1 盛花期 1 混沌序列 1 混合混沌量子进化算法 1 测试数据生成 1 查询优化 1 有效解集 1 收敛性 1 扩展蚁群算法 1 快速收敛 1 引擎决策 1 并行寻优 1 局部搜索 1 多链拓展编码 1 基因链 1 向日葵 1 变维搜索 1 变异算子 1 变异概率 1 取反指导更新 1 双链并行搜索 1 动态聚类 1 函数极值 1
2008年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
科研热词 量子粒子群优化算法 量子遗传算法 量子计算 粒子群优化算法 量子旋转门 量子位 遗传算法 连续空间优化 进化算法 边界变异 贝叶斯网络 说话人跟踪 蚁群算法 维变异算子 结构学习 粒子滤波 多样性 均匀分布 变异机制 全局最优 作业车间调度 优化算法 三基因链编码 bloch球面坐标
量子计算中的量子进化算法及其应用

量子计算中的量子进化算法及其应用量子计算是一种基于量子力学原理的计算模型,可以利用量子比特的并行性和叠加性,在某些问题上实现更高效的计算。
量子进化算法是量子计算中一类重要的算法,其核心思想是通过模拟量子系统的演化过程,从而搜索问题的解空间。
量子进化算法基于量子性质的特点,与经典计算相比具有很大的优势。
在经典计算中,搜索问题的解空间需要逐个检查,时间复杂度随着问题规模呈指数增长。
而在量子进化算法中,可以利用量子比特的叠加性,在一次计算过程中并行地搜索多个解,从而大大加快搜索速度。
在量子进化算法中,量子系统演化的过程通过量子逻辑门来实现。
量子逻辑门对量子比特进行操作,改变其量子态,从而实现量子系统的演化。
在量子进化算法中,常用的量子逻辑门包括Hadamard门、CNOT门和Swap门等。
这些逻辑门的组合可以构建出复杂的量子进化算法,用于解决不同类型的问题。
量子进化算法在很多领域都有广泛的应用。
其中一个重要的应用是优化问题的求解。
优化问题是在给定的约束条件下,寻找最优解的问题。
经典计算中,优化问题往往需要耗费大量的时间和资源。
而量子进化算法可以通过量子并行性,同时搜索多个解,从而提高求解效率。
该算法已经在组合优化问题、机器学习中的参数优化等领域取得了显著的成果。
另一个重要的应用是模拟量子系统。
量子系统的演化过程很难通过经典计算模拟,因为量子系统的状态是高度复杂的,需要大量的计算资源。
而量子进化算法可以利用量子并行性,在一次计算过程中模拟量子系统的演化,从而大大提高了模拟效率。
这个应用对于研究量子力学的基本原理和理解量子系统的行为具有重要的意义。
除了以上应用,量子进化算法还可以用于解决组合优化问题、图论问题、排队论问题等。
这些问题在实际应用中往往非常复杂,需要考虑多个因素和约束条件,经典计算很难在合理的时间内找到最优解。
而量子进化算法通过利用量子并行性,可以在较短的时间内搜索到较优解,从而在实际问题中发挥重要作用。
【国家自然科学基金】_混合量子进化算法_基金支持热词逐年推荐_【万方软件创新助手】_20140802

2014年 序号 1 2 3 4 5
2014年 科研热词 量子进化 负荷分配 机组组合 动态规划 修补策略 推荐指数 1 1 1 1 1
推荐指数 2 1 1 1 1 1 1 1 1 1
2010年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14
科研热词 推荐指数 量子pso 1 遗传pso 1 车辆路径 1 置换flow shop调度问题 1 粒子群优化(pso) 1 物流 1 混合量子进化算法 1 混合量子算法 1 模拟退火pso 1 多车型 1 动态需求 1 优化 1 二阶振荡pso 1 两阶段模型 1
2008年 序号 1 2 3 4 5 6
科研热词 量子进化算法 量子比特 混合量子进化算法 混合量子算法 微粒群算法 函数优化
推荐指数 2 1 1 1 1 1
2009年 序号 1 2 3 4 5 6 7 8 9 10
科研热词 混合量子算法 量子进化算法 量子计算 量子衍生进化规划 量子比特 置换flow shop调度问题 生产调度 同等并行机拖期调度 优化 代工
ቤተ መጻሕፍቲ ባይዱ
2012年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
科研热词 推荐指数 量子进化算法 2 非支配排序遗传算法 1 量子计算 1 量子动力学机制 1 配送路径 1 邻近性 1 进化算法 1 运筹学 1 自适应量子旋转角 1 精英竞争池 1 算法改进 1 滚动窗口 1 混沌 1 混合量子进化算法 1 混合混沌量子进化算法 1 混合协同进化 1 机器排序 1 有效解集 1 有效解 1 执行经验记录 1 干扰管理 1 差分进化算法 1 工位 1 属性约简 1 实数编码染色体 1 多样性 1 多峰函数优化 1 协同进化 1 动态调度 1 准时 1 冻结时段 1 作业车间 1 self- adaptive quantum rotation 1 angle performance experience record 1 mixed co-evolution 1 elitist competition pool 1 attribute reduction 1
用于高维函数优化的多智能体量子进化算法

神 经 网络 具 有更 强 的并 行 处 理能 力 和更 大 的存 储容
量 . N ry n n首 先将遗 传算 法 与量子 理论 相 结合 , aaaa 提 出 了量 子 遗 传 算 法 ( u nu e ei ag r h q a t m g n t loi m, c t QGA) 的概 念 ;文献 [ ] 出了一 种 用 于数 值优 化 7提 和参 数估 计 的混合 量 子 遗传 算 法 ,但 仅 对 低维 函数 优化 进行 了测 试 ;文 献 E 3 量 子 理 论 与 进 化 理 论 8将 相 结合 提 出了 量 子 进 化 计算 ( u nu v lt n r q a t m e oui ay o
po rmmig rg a n ,QE ) P ,理 论 证 明 了 QE P具 有 快 速
2 0 —51 0 70 —5收稿 ,2 0 —80 0 70—3收修 改 稿
的竞争 和学 习能 力 与量 子 进化 算 法 的进化 策 略 相 结
* 国 家 自然 科 学 基 金 ( 准 号 :63 2 7) 批 0 70 2 和上 海 自然 科 学 基 金 ( 准 号 : 6 R1 04 资 助项 目 批 0 Z 40 )
划) ,以协 同地 完成一 个 任务 或求 解 问题 ,多智 能体 技术是人 工智能技术 的一次质 的飞跃.文献 E 2 利 用 13 智能体 解决 了高 达 7 0 0 0个 皇后 的 问题 ,文献 E 3 将 13 智 能体对 环境 的感 知 和 反作 用 的能 力 与遗 传 算 法 的 搜 索方 式 相结 合 ,提 出 了多 智 能 体 遗 传 算 法 ( MA—
【国家自然科学基金】_实数编码_基金支持热词逐年推荐_【万方软件创新助手】_20140731

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
推荐指数 7 4 3 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2010年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
科研热词 遗传算法 实数编码 误用检测 粒子群优化算法 粒子群优化 故障诊断 改进的遗传算法 分类规则 入侵检测 黄河流域 风险决策 非线性系统 非线性最小二乘 隶属函数 随机生成树 配网重构 遥感分类 遗传算法(ga) 迭代学习控制 连续优化 进化 谷氨酸发酵 解的多样性 覆盖网络 血液灌注率 蚁群算法 薄膜光学 自适应 自身计划 膜系优化 聚类分析 联盟 编码 结构确定 组合优化 精度评价 竞价策略 空隙率 离散数字编码 神经元网络 相邻结构 电容 电场 电力市场 生物传热 热学参数 炼钢一连铸 溶解气阻尼器 水资源 水文地质参数 正则化方法 模拟退火算法 模值 柔性决策 机组组合 机会成本 最小二乘支持向量机 最优解 最优化 方向图综合 断路器 改进遗传算法 改进的实数编码 支路 支持向量机 微观交通模拟 微生物发酵 建模 差异演化算法 导热系数 导向算子 容忍值,满意度 实数编码的遗传算法 实数制编码 学习策略 大地电磁测深 多目标优化 多agent系统 地震动响应 图像编码 可拓神经网络 变长度遗传算法 变异率 反演 反向传播学习 反分析 参数估计 单纯型算法 单亲遗传算法 励磁系统 动态双种群 动态 分段实数编码 分形 凹陷滤波器 凸规划 全参数 克隆选择算法 作业计划优化 优化设计 优化控制
差分进化算法DE和粒子群算法PSO

差分进化算法DE和粒⼦群算法PSO1.差分进化算法(DE)DE与GA的主要区别在变异步骤。
对于每个⽬标向量 X i,G (i=1,2,……,NP),基本DE算法的变异向量如下产⽣其中,随机选择的序号r1,r2和r3互不相同,且r1,r2和r3与⽬标向量序号i也应不同,所以须满⾜NP≥4。
变异算⼦F∈[0,2]是⼀个实常数因数,控制偏差变量的放⼤作⽤。
实现如下。
由于此⽬标过于简单,即便去掉交叉步,也能得到不错的结果。
# coding: utf8import numpy as npN=20 # 编码长度MAX=10.0/(2**(N)) # [0,10), 区间内有两个最⼤值(17)的点NUM=500 # 种群数量def f(x): # 函数return 10*np.sin(5*x) + 7*np.cos(4*x)def new(num=NUM,len=N): # 随机⽣成return np.random.randint(1,2**len,num)def n2b(nums): # 数字编码return [bin(i)[2:].zfill(N) for i in nums]def b2n(bits): # 解码return [int(i,base=2) for i in bits]def fit(nums,s_rate=0.15,r_rate=0.05): # 适应度和选择n=len(nums)sn=int(n*s_rate)on=int(n*r_rate)np.random.shuffle(nums)outs=nums[:on]res=[f(i*MAX) for i in nums] # 适应度选择和随机选择,可能有重复temp=np.argsort(res)others=[nums[i] for i in temp[-sn:]]outs=np.concatenate((outs, others))return outs,nums[temp[-1]]*MAX,res[temp[-1]]def repo(fits,mode='DE'): # 扩增,此处5倍;增加了进化算法n=len(fits)pt=np.random.randint(0,n,4*n)pt=np.reshape(pt,(2*n,2))bits=n2b(fits)new_bits=bitsfor i in pt:b1,b2=exchange([bits[j] for j in i])new_bits.append(b1)new_bits.append(b2)if mode=='DE':return dmut(new_bits)return mut(new_bits)def exchange(bits,change_rate=0.4,mode='cross'): #交换,提供了随机交换和节点互换n=int(change_rate*N)if mode=='rand':rn=range(N)new_bits=[list(i) for i in bits]for i in rn[:n]:new_bits[0][i] = bits[1][i]new_bits[1][i] = bits[0][i]new_bits=[''.join(i) for i in new_bits]else:n = int(change_rate * N)new_bits = [list(i) for i in bits]new_bits[0][:n] = bits[1][:n]new_bits[1][:n] = bits[0][:n]new_bits = [''.join(i) for i in new_bits]return new_bitsdef mut(bits,mut_rate=0.03): # 变异length=len(bits)*Nn = int(mut_rate * length)if n<1: n=1rn = range(length)np.random.shuffle(rn)for i in rn[:n]:j=int(bits[i/N][i%N])bits[i/N]=swap(bits[i/N],i%N,str(1-j)) return bitsdef swap(str,i,char): # 字符串交换str2=list(str)str2[i]=charreturn''.join(str2)def dmut(bits,mut_rate=1.0,F=0.5): # 差分变异 length = len(bits)n = int(mut_rate * length)if n < 1: n = 1rn = np.random.randint(0,length,3*n)rn = np.reshape(rn,(n,3))nums=b2n(bits)for i in rn:nums[i[0]]+=int(F*(nums[i[1]]-nums[i[2]])) if nums[i[0]]<0:nums[i[0]]*=-1return n2b(nums)def train(iter=50): # 训练⼊⼝nums=new()outs,x,fx=fit(nums)for i in range(iter):new_bits = repo(outs)nums=b2n(new_bits)outs,x,fx=fit(nums)print i,x,fxif'__main__==main()':train()"""0 1.57093048096 16.99999674251 1.57070159912 16.99999837582 1.57070159912 16.99999837583 1.57086372375 16.99999917784 1.57078742981 16.99999998575 1.57078742981 16.99999998576 1.57079696655 16.99999999997 1.57079696655 16.99999999998 1.57079696655 16.99999999999 1.57079696655 16.999999999910 1.57079696655 16.999999999911 1.57079696655 16.999999999912 1.57079696655 16.999999999913 1.57079696655 16.999999999914 1.57079696655 16.999999999915 1.57079696655 16.999999999916 1.57079696655 16.999999999917 1.57079696655 16.999999999918 1.57079696655 16.999999999919 1.57079696655 16.999999999920 1.57079696655 16.999999999921 1.57079696655 16.999999999922 1.57079696655 16.999999999923 1.57079696655 16.999999999924 1.57079696655 16.999999999925 1.57079696655 16.999999999926 1.57079696655 16.999999999927 1.57079696655 16.999999999928 1.57079696655 16.999999999929 1.57079696655 16.999999999930 1.57079696655 16.999999999931 1.57079696655 16.999999999932 1.57079696655 16.999999999933 1.57079696655 16.999999999934 1.57079696655 16.999999999935 1.57079696655 16.999999999936 1.57079696655 16.999999999937 1.57079696655 16.999999999938 1.57079696655 16.999999999939 1.57079696655 16.999999999940 1.57079696655 16.999999999941 1.57079696655 16.999999999942 1.57079696655 16.999999999943 1.57079696655 16.999999999944 1.57079696655 16.999999999945 1.57079696655 16.999999999946 1.57079696655 16.999999999947 1.57079696655 16.999999999948 1.57079696655 16.999999999949 1.57079696655 16.9999999999"""2.粒⼦群算法描述⼀群鸟在随机的搜索⾷物。
量子进化算法

量子进化算法
量子进化算法(Quantum Evolutionary Algorithm,QEA)是一种基
于量子计算的进化算法,它结合了量子计算的优势和进化算法的优势,能
够在解决复杂问题时提供更好的性能。
QEA的基本思想是将进化算法中的
个体编码和进化操作用量子比特和量子门来实现。
在QEA中,每个个体都
被编码为一个量子态,进化操作则通过量子门来实现。
这种编码方式可以
使得QEA在搜索解空间时具有更好的并行性和全局搜索能力。
QEA的主要
步骤包括初始化、量子编码、量子进化、量子解码和评估。
在初始化阶段,QEA会生成一组初始个体。
在量子编码阶段,QEA将每个个体编码为一个
量子态。
在量子进化阶段,QEA通过量子门来实现进化操作,包括量子变
异和量子交叉。
在量子解码阶段,QEA将量子态转换为经典的二进制编码。
最后,在评估阶段,QEA会对每个个体进行评估,并选择适应度最高的个
体作为下一代的父代。
QEA在解决复杂问题时具有很好的性能,尤其是在
处理高维、非线性和多峰问题时。
它可以通过量子并行性和全局搜索能力
来加速搜索过程,并且可以避免陷入局部最优解。
因此,QEA已经被广泛
应用于优化、机器学习、数据挖掘等领域。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第23卷第1期Vol.23No.1控 制 与 决 策Cont rolandDecision2008年1月 J an.2008收稿日期:2006210211;修回日期:2007201224.基金项目:交通部西部交通建设科技项目(200431882053).作者简介:高辉(1969—),男,吉林松源人,博士生,从事智能控制、智能交通系统等研究;徐光辉(1964—),男,辽宁锦州人,副教授,博士,从事城市轨道交通和交通系统动力学的研究. 文章编号:100120920(2008)0120087204实数编码量子进化算法高 辉1,徐光辉1,张 锐2,王哲人1(1.哈尔滨工业大学交通科学与工程学院,哈尔滨150090;2.哈尔滨理工大学自动化学院,哈尔滨150080)摘 要:为求解复杂函数优化问题,基于量子计算的相关概念和原理,提出一种实数编码量子进化算法.首先构造了由自变量向量的一个分量和量子比特的一对概率幅为等位基因的三倍体染色体,增加了解的多样性;然后利用量子旋转门和依据量子比特概率幅满足归一化条件设计的互补双变异算子进化染色体,实现局部搜索和全局搜索的平衡.标准函数仿真表明,该算法适合求解复杂函数优化问题,具有收敛速度快、全局搜索能力强和稳定性好的优点.关键词:量子计算;量子进化算法;实数编码量子进化算法;函数优化中图分类号:TP18 文献标识码:AR eal 2coded qu antum evolutionary algorithmGA O H ui 1,X U Guan g 2hui 1,Z H A N G R ui 2,W A N G Zhe 2ren1(1.School of Communication Science and Engineering ,Harbin Institute of Technology ,Harbin 150090,China ;2.School of Automation ,Harbin University of Science and Technology ,Harbin 150080,China.Correspondent :GAO Hui ,E 2mail :zr_gh @ )Abstract :In order to optimize the complex f unctions ,a real 2coded quantum evolutionary algorithm is proposed based on the relational concepts and principles of quantum computing.Real 2coded triploid chromosomes ,whose alleles are composed of a component of the independent variable vector and a pair of probability amplitudes of the corresponding states of a qubit ,are constructed to keep the population diversity.The complementary double mutation operator ,which is designed according to the probability amplitudes of a qubit f ulfilling the normalization conditions ,and the quantum rotation gate are used to update chromosomes and realize a good balance between exploration and exploitation.Simulation results on benchmark functions show that the algorithm is well suitable for the complex function optimization ,and has the characteristics of rapider convergence ,more powerf ul global search capability and better stability.K ey w ords :Quantum computing ;Quantum evolutionary algorithm ;Real 2coded quantum evolutionary algorithm ;Function optimization1 引 言 进化算法在求解复杂函数优化和组合优化问题中得到广泛应用,但仍存在“早熟”和“停滞”现象.为解决这些问题,借鉴量子计算的概念和原理,人们提出了量子进化算法(Q EA )[123].Q EA 采用基于量子比特概念构造的量子染色体,增加解的多样性,以克服“早熟”现象;并利用当前最优染色体信息,使用量子旋转门更新量子染色体,确保进化的方向性,以避免“停滞”现象.然而大量研究表明[426],尽管Q EA 在求解组合优化问题时比传统进化算法表现出更优良的性能,但不适合求解复杂函数优化问题.为此,本文提出一种实数编码量子进化算法(RCQ EA ).RCQ EA 利用待求解复杂函数自变量向量的一个分量和量子比特的一对概率幅组成染色体的等位基因,进而构造实数编码三倍体染色体,以增加解的多样性,并利用量子旋转门和依据量子比特概率幅满足归一化条件而设计的基于高斯变异的互补双变异算子一起进化染色体,实现算法局部搜索和全局搜索的平衡.标准函数仿真表明,RCQ EA 求解复杂函数优化问题具有很好的性能.2 量子进化算法(QEA) 在Q EA 中[5],用一个具有n 个量子比特的量子 控 制 与 决 策第23卷寄存器来表达长度为n 的量子染色体,即α1…αi …αnβ1…βi …βn.(1)式中αi 和βi 分别为量子比特|0〉态和|1〉态的概率幅,且满足归一化条件|αi |2+|βi |2=1,i =1,2,…,n.一个量子染色体可表征解空间中任意解的叠加态,叠加性是量子染色体增加解的多样性的根本原因.通过随机测量,一个量子染色体以概率的形式坍塌到一个二进制形式的解.Q EA 采用量子旋转门作为进化策略,使当前解逐渐逼近搜索到的最优解,并将需要的结果以概率的形式增加,不需要的结果则以概率的形式减弱.量子旋转门可描述为R (θ)=cos θ-sin θsin θcos θ,(2)式中θ为旋转角.通过量子旋转门可实现任意叠加态之间的转换,具有高度并行性.Q EA 在求解组合优化问题(如背包问题)时,表现出优良的性能,但不适合于求解复杂函数优化问题.原因在于Q EA 对解空间终归是以二进制形式表示,这就决定了Q EA 包含以往任何以二进制形式表示解空间的进化算法在求解复杂函数优化问题时具有的诸如繁琐的编、解码过程,以及随着函数维数的增加和求解精度的提高,引起染色体编码“长度灾”,并导致搜索效率低下等缺点.3 实数编码量子进化算法(RCQEA) RCQ EA 算法的基本思路是:首先构造实数编码三倍体染色体;然后,利用量子旋转门和根据实数编码三倍体染色体的具体形式设计的基于高斯变异的互补双变异算子一起进化染色体,并通过离散交叉实现染色体之间的信息交流,扩大算法搜索范围;最后,通过进化操作产生新的染色体,采用“爬山”选择,加快算法收敛速度.RCQ EA 算法的基本模型如图1所示.图中:p t u (u =1,2,…,N )和p t v (v ≠u )均为实数编码三倍体染色体,b t 为当代最优染色体.图1 实数编码量子进化算法基本模型3.1 实数编码三倍体染色体复杂函数优化问题可描述为J =min (f (x )),x =(x 1,…,x i ,…,x n )∈R n,x i ∈[x i ,min ,x i ,max ],i =1,2,…,n.(3)式中:x i ,min 和x i ,max 分别为自变量向量x 的分量x i 的下界和上界,n 为复杂函数的维数.实数编码三倍体染色体的等位基因由复杂函数自变量向量x 的一个分量x i 和量子比特的一对概率幅[αi βi ]T组成,即[x i αi βi ]T ;染色体长度由复杂函数的维数决定.则实数编码三倍体染色体可描述为x 1…x i …x nα1…αi …αn β1…βi …βn,(4)式中αi 和βi 满足归一化条件.3.2 互补双变异算子和离散交叉RCQ EA 算法对群体中的每一个染色体实施单基因变异,即每次仅对染色体的一个基因位进行变异,其余基因位则保持不变,从而构成新染色体.文献[7]已证明,单基因变异比全基因变异具有更高的搜索效率.设第t 代时的群体为P (t )={p t1,…,p t j ,…,p t N },对于染色体p tj ,随机选择第i 基因位[x t j ,i αt j ,i βt j ,i ]T ,对变量x tj ,i 按下式进行高斯变异:x t+1,kj ,i=x t j ,i +(x i ,max -x i ,min )N (0,(σt ,k j ,i )2).(5)式中:k ∈{α,β};(σt ,k j ,i )2为高斯变异的方差,取值为(σt ,k j ,i)2=|αt j ,i |2,k =α;|βt j ,i |2/5,k =β.(6) 由式(5)可知,当(σt ,k j ,i )2较大时,x t+1,kj ,i可能超出可行解空间的范围,为此作如下处理:if x t+1,kj ,i>x i ,max ,t hen x t+1,k j ,i =2x i ,max -x t+1,k j ,i ;(7)if x t+1,k j ,i<x i ,min ,t hen x t+1,k j ,i=2x i ,min -x t+1,k j ,i .(8)重复式(7)或(8),直到使x t+1,kj ,i位于可行解空间.若由式(5)生成的新染色体优于原染色体,则为有效进化,此时αt+1j ,i =αt j ,i ,βt+1j ,i =βtj ,i ;否则为无效进化,并由形如式(2)的量子旋转门更新αt j ,i 和βtj ,i ,即αt+1j ,i βt+1j ,i=cos (Δθtj ,i )-sin (Δθtj ,i )sin (Δθt j ,i )co s (Δθtj ,i )αtj ,i βt j ,i.(9)式中Δθt j ,i 为量子旋转门的旋转角,且Δθtj ,i 设计为Δθtj ,i=sgn (αtj ,iβt j ,i)θ0exp (-|βtj ,i ||αt j ,i |+γ).(10)其中:θ0为初始旋转角,γ为进化尺度,θ0和γ控制旋转角的大小,进而控制算法的收敛速度;符号函数sgn (・)控制旋转角的方向,以确保算法收敛.若染色体同一基因位连续发生多次无效进化,除采用式(9)和(10)更新αt j ,i 和βtj ,i 外,还辅以式88第1期高辉等:实数编码量子进化算法 (11)以加大αtj ,i 和βt j ,i 更新的尺度,进而达到由算法的进化状态自适应调整进化过程的目的.αt+1j ,i =αt+1j ,i /(fix (c i /5)+1),βt+1j ,i=1-(αt+1j ,i )2.(11)式中:fix (・)为取整函数,c i 为第i 基因位发生连续无效进化次数.由式(9)~(11)可以看出,|αt j ,i |2随着进化代数的增加将逐渐减小,实现了对当前解邻域的“求精”搜索;而|βt j ,i |2随着进化代数的增加而逐渐增加,实现了对解空间大范围的“求泛”搜索,互补双变异算子即由此而来.设“求精”搜索和“求泛”搜索次数分别为m 1和m 2,一般m 1>m 2.RCQ EA 每隔一定的进化代数τ实施离散交叉,即对于指定的染色体p t u ,在群体中随机选择另一染色体p tv(u ≠v ),以1/2的概率交换2个父本的基因位,生成2个新染色体c t 1和c t2.离散交叉可描述为[x t c,i αt c,i βt c,i ]T =[x t u,i αt u,i βt u,i]T,r <0.5;[xt v ,iαt v ,i βt v ,i]T,r ≥0.5.(12)式中:[x t c,i αt c,iβt c,i ]T,[xt u,i αt u,i βt u,i]T和[xt v ,i αt v ,iβt v ,i ]T 分别为染色体c t 1或c t 2,p t u 和p t v 的第i 基因位;r 为[0,1]区间随机数.当待求解复杂函数自变量向量的各分量有较强相关性时,离散交叉对于避免陷入局部极值点非常重要.3.3 算法流程Step1:参数初始化.Step2:群体初始化.生成形如式(4)的三倍体染色体群体P (t )={p t j },j =1,2,…,N ,N 为群体规模.Step3:评价种群.对群体中的每个染色体进行评价,选出最优染色体b t .Step4:算法停止判断.当满足停止条件时,输出最优解b t ,算法结束;否则,继续下一步.Step5:进化染色体.Step5.1:“求精”或“求泛”搜索.Step5.1.1:对于选定的染色体,以等概率随机选择染色体第i 基因位,由式(5)对基因位中表示自变量向量分量的变量实施高斯变异,生成新染色体.Step5.1.2:对新染色体进行评价,并采用“爬山”选择.即如果是有效进化,则用新染色体替换原染色体,并清除连续无效进化次数c i ;否则,原染色体保持不变,并累加连续无效进化次数c i .Step5.1.3:若“求精”或“求泛”搜索次数未达到设定次数,转Step5.1.1;否则,更新b t ,继续.Step5.2:对于选定的染色体,以等概率随机选择染色体第i 基因位,如果该基因位存在无效变异,则由式(9)~(11)更新基因位中的概率幅.群体中全部染色体均进行Step5.1~Step5.2操作.Step5.3:离散交叉.如果满足交叉条件,依适应值顺序选k (k ≤N )个优秀个体按式(12)分别进行m 3次交叉,生成新染色体,并采用“爬山”选择.同时,清除染色体各基因位连续无效进化次数,更新b t.Step6:t =t +1,转Step4.4 仿真算例 用Q EA ,M 2ES [7]和RCQ EA 三种算法同时求解复杂函数优化问题,以考察RCQ EA 性能.标准测试函数表达式分别为min F 1=∑Di =1x2i,(13)式中:自变量x i ∈[-100,100],维数D =30.min F 2=-20exp (-0.21D∑Di =1x 2i )-exp (1D∑Di =1co s (2πx i))+20+e , (14)式中:自变量x i ∈[-32,32],维数D =30.min F 3=14000∑D i =1x 2i -∏Di =1co s(x ii )+1,(15)式中:自变量x i ∈[-600,600],维数D =30.min F 4=10D +∑Di =1(x 2i -10co s (2πx i )),(16)式中:自变量x i ∈[-5.12,5.12],维数D =30.测试函数均在x =(0,…,0)处存在全局最小值0.1)Q EA :群体规模N =10,自变量分量均采用18位二进制数表示,则量子染色体长度为540,θ0=0.05π,ε=0.01,局部迁移间隔为600代.2)M 2ES :μ=1,λ=6,k =2,σ0=2.3)RCQ EA01:RCQ EA 的群体规模N =1,初始旋转角θ0=0.4π,进化尺度γ=0.05,连续“求精”搜索次数m 1=6,连续“求泛”搜索次数m 2=2.4)RCQ EA10:RCQ EA 的群体规模N =10,交叉间隔τ=500,选择优秀个体数k =2,每个个体连续交叉次数m 3=6,其他参数与RCQ EA01相同.算法均以最大运行代数为终止条件,最大终止代数取为5000,各种算法分别独立运行30次.运算结果见表1.数据表明,尽管RCQ EA01和M 2ES 有大致相同的计算复杂度,但RCQ EA01的性能优于M 2ES ,原因在于RCQ EA01使用实数编码三98 控 制 与 决 策第23卷倍体染色体,增加了解的多样性,并利用量子旋转门和互补双变异算子进化染色体,实现了全局搜索和局部搜索的平衡.而RCQ EA10的性能又明显优于RCQ EA01,原因不仅在于染色体个数的增加,更重要的是使用离散交叉扩大了搜索空间.算法Q EA 则不适合复杂函数优化问题.数据分析表明,RCQ EA 求解复杂函数优化问题时表现出更强的全局搜索能力、更好的稳定性和鲁棒性.表1 各种算法求解复杂函数优化问题的统计结果函数算 法平均值最优值最劣值方差值F 1Q EA2.9489 1.8094 4.18390.8861M 2ES 7.4e 2123.5e 213 3.3e 2118.2e 212RCQ EA01 1.6e 2164.1e 220 1.3e 215 4.2e 216RCQ EA10 4.4e 2217.0e 224 4.9e 2209.6e 221F 2Q EA0.85320.3355 1.25160.3403M 2ES 1.3e 26 1.3e 27 3.0e 26 6.7e 27RCQ EA01 5.3e 210 2.0e 2111.4e 29 4.4e 210RCQ EA109.5e 212 1.5e 2122.5e 212 6.3e 213F 3Q EA0.98520.9216 1.04590.0519M 2ES 0.15720.05630.37090.0875RCQ EA010.032400.07620.0286RCQ EA100000F 4Q EA45.5128.0258.3011.7352M 2ES 0.0943 1.0e 2120.99500.2862RCQ EA01 5.2e 24 5.6e 214 5.2e 23 1.6e 23RCQ EA102.8e 2145.6e 2142.8e 214 图2给出了各算法在30次独立运行中最优值的平均值随代数变化的情况,从求解质量和收敛速图2 各种算法求解复杂函数优化问题性能比较度两个方面再次表明了RCQ EA 的优良性能.一方面,在整个进化过程中,RCQ EA01和RCQ EA10优于Q EA 和M 2ES ,而RCQ EA10优于RCQ EA01;另一方面,RCQ EA01求解F 1和F 2时,收敛速度优于Q EA 和M 2ES ,而求解F 3和F 4时,与Q EA 和M 2ES 一样出现了“早熟”和“停滞”现象,而RCQ EA10却始终保持良好的收敛速度.5 结 语 本文提出的实数编码量子进化算法,其核心在于采用构造的实数编码三倍体染色体表示个体,利用量子旋转门和设计的互补双变异算子进化个体,并通过离散交叉扩大搜索范围,加快收敛速度.仿真结果表明,RCQ EA 适合于求解复杂函数优化问题.关于进一步提高RCQ EA 的性能,扩大RCQ EA 的应用范围则是需要进一步研究和解决的问题.参考文献(R eferences)[1]Hey T.Quantum computing :An introduction [J ].Computing and Control Enginerring Journal ,1996,10(3):1052112.[2]Narayanan A ,Moore M.Quantum 2inspired geneticalgorithms[C ].Proc of IEEE Int Conf on Evolutionary Computation.Nagoya :IEEE Press ,1996:61266.[3]Han K H ,Kim J H.G enetic quantum algorithm and itsapplication to combinatorial optimization problems [C ].Proc of the 2000IEEE Congress on Evolutionary Computation.Piscataway :IEEE Press ,2000,7:135421360.[4]Han K H ,K im J H.Quantum 2inspired evolutionaryalgorithm for a class of combinatorial optimization [J ].IEEE Trans on Evolutionary Computation ,2002,6(6):5802593.[5]Han K H ,K im J H.Quantum 2inspired evolutionaryalgorithms with a new termination criterion ,H εgate ,and two 2phase scheme[J ].IEEE Trans on Evolutionary Computation ,2004,8(2):1562169.[6]Zhang G X ,Jin W D ,Hu L Z.Quantum evolutionaryalgorithm for multiobjective optimization problems [C ].Proc of the 2003IEEE ,Int Symposium on Intelligent Control.Houston :IEEE Press ,2003,10:7032708.[7]王湘中,喻寿益.适用于高维优化问题的改进进化策略[J ].控制理论与应用,2006,23(1):1482151.(Wang Xiang 2zhong ,Yu Shou 2yi.Improved evolution strategies for high 2dimensional optimization[J ].Control Theory and Applications ,2006,23(1):1482151.)9。