当前位置:文档之家› 实数编码量子进化算法

实数编码量子进化算法

实数编码量子进化算法
实数编码量子进化算法

第23卷第1期

Vol.23No.1

控 制 与 决 策

Cont rol

and

Decision

2008年1月

J an.2008

收稿日期:2006210211;修回日期:2007201224.

基金项目:交通部西部交通建设科技项目(200431882053).

作者简介:高辉(1969—),男,吉林松源人,博士生,从事智能控制、智能交通系统等研究;徐光辉(1964—

),男,辽宁锦州人,副教授,博士,从事城市轨道交通和交通系统动力学的研究.

文章编号:100120920(2008)0120087204

实数编码量子进化算法

高 辉1,徐光辉1,张 锐2,王哲人1

(1.哈尔滨工业大学交通科学与工程学院,哈尔滨150090;2.哈尔滨理工大学自动化学院,哈尔滨150080)

摘 要:为求解复杂函数优化问题,基于量子计算的相关概念和原理,提出一种实数编码量子进化算法.首先构造了由自变量向量的一个分量和量子比特的一对概率幅为等位基因的三倍体染色体,增加了解的多样性;然后利用量子旋转门和依据量子比特概率幅满足归一化条件设计的互补双变异算子进化染色体,实现局部搜索和全局搜索的平衡.标准函数仿真表明,该算法适合求解复杂函数优化问题,具有收敛速度快、全局搜索能力强和稳定性好的优点.关键词:量子计算;量子进化算法;实数编码量子进化算法;函数优化中图分类号:TP18 文献标识码:A

R eal 2coded qu antum evolutionary algorithm

GA O H ui 1

,X U Guan g 2hui 1

,Z H A N G R ui 2

,W A N G Zhe 2ren

1

(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 @https://www.doczj.com/doc/6e8438756.html, )

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 optimization

1 引 言

进化算法在求解复杂函数优化和组合优化问题中得到广泛应用,但仍存在“早熟”和“停滞”现象.为解决这些问题,借鉴量子计算的概念和原理,人们提

出了量子进化算法(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 t

1,…,

p t j ,…,p t N },对于染色体p t

j ,随机选择第i 基因位

[x t j ,i αt j ,i βt j ,i ]T ,对变量x t

j ,i 按下式进行高斯变异:

x t+1,k

j ,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,k

j ,i

可能超出可行解空间的范围,为此作如下处理:

if x t+1,k

j ,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

=2x i ,min -x t+1,k j ,i .(8)

重复式(7)或(8),直到使x t+1,k

j ,i

位于可行解空间.若由式(5)生成的新染色体优于原染色体,则

为有效进化,此时αt+1j ,i =αt j ,i ,βt+1j ,i =βt

j ,i ;否则为无效

进化,并由形如式(2)的量子旋转门更新αt j ,i 和βt

j ,i ,

αt+1

j ,

i βt+1j ,i

=

cos (Δθt

j ,i )-sin (Δθt

j ,i )

sin (Δθt j ,i )

co s (Δθt

j ,i )

αt

j ,i βt j ,i

.(9)

式中Δθt j ,i 为量子旋转门的旋转角,且Δθt

j ,i 设计为

Δθt

j ,i

=sgn (αt

j ,i

βt j ,i

)θ0exp (-|βt

j ,i |

|αt j ,i |+γ

).(10)

其中:θ0为初始旋转角,γ为进化尺度,θ0和γ

控制旋转角的大小,进而控制算法的收敛速度;符号函数

sgn (?

)控制旋转角的方向,以确保算法收敛.若染色体同一基因位连续发生多次无效进化,

除采用式(9)和(10)更新αt j ,i 和βt

j ,i 外,还辅以式

8

8

第1期高辉等:实数编码量子进化算法

(11)以加大αt

j ,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 t

v

(u ≠v ),以1/2的概率交换2个父本的基因

位,生成2个新染色体c t 1和c t

2.离散交叉可描述为[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;

[x

t v ,i

α

t v ,i βt v ,i

]T

,r ≥0.5.

(12)

式中:[x t c,i αt c,i

βt c,i ]T

,[x

t u,i αt u,i βt u,i

]T

和[x

t 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=

∑D

i =1

x

2i

,(13)

式中:自变量x i ∈[-100,100],维数D =30.

min F 2=-20exp (-0.2

1

D

∑D

i =1

x 2

i )-exp (

1

D

D

i =1

co s (2πx i

))+20+e , (14)

式中:自变量x i ∈[-32,32],维数D =30.

min F 3=

1

4000

D i =1

x 2

i -

D

i =1

co s

(x i

i )

+1,

(15)

式中:自变量x i ∈[-600,600],维数D =30.

min F 4=10D +

D

i =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使用实数编码三

9

8

控 制 与 决 策第23卷

倍体染色体,增加了解的多样性,并利用量子旋转门和互补双变异算子进化染色体,实现了全局搜索和局部搜索的平衡.而RCQ EA10的性能又明显优于RCQ EA01,原因不仅在于染色体个数的增加,更重

要的是使用离散交叉扩大了搜索空间.算法Q EA 则不适合复杂函数优化问题.数据分析表明,RCQ EA 求解复杂函数优化问题时表现出更强的全局搜索能力、更好的稳定性和鲁棒性.

表1 各种算法求解复杂函数优化问题的统计结果

函数

算 法

平均值

最优值

最劣值

方差值

F 1

Q EA

2.9489 1.8094 4.18390.8861M 2ES 7.4e 212

3.5e 213 3.3e 2118.2e 212RCQ EA01 1.6e 216

4.1e 220 1.3e 215 4.2e 216RCQ EA10 4.4e 2217.0e 224 4.9e 2209.6e 221F 2

Q EA

0.85320.3355 1.25160.3403M 2ES 1.3e 26 1.3e 27 3.0e 26 6.7e 27RCQ EA01 5.3e 210 2.0e 211

1.4e 29 4.4e 210RCQ EA109.5e 212 1.5e 212

2.5e 212 6.3e 213F 3

Q EA

0.98520.9216 1.04590.0519M 2ES 0.15720.05630.37090.0875RCQ EA010.032400.07620.0286RCQ EA100000F 4

Q EA

45.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 EA10

2.8e 214

5.6e 214

2.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 genetic

algorithms[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 its

application 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 evolutionary

algorithm 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 evolutionary

algorithms 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 evolutionary

algorithm 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

多目标进化算法总结

MOGA i x 是第t 代种群中个体,其rank 值定义为: () (,)1t i i rank x t p =+ ()t i p 为第t 代种群中所有支配i x 的个体数目 适应值(fitness value )分配算法: 1、 将所有个体依照rank 值大小排序分类; 2、 利用插值函数给所有个体分配适应值(从rank1到 rank * n N ≤),一般采用线性函数 3、 适应值共享:rank 值相同的个体拥有相同的适应值, 保证后期选择时同一rank 值的个体概率相同 最后采用共享适应值随机选取的方法选择个体进入下一代 一种改进的排序机制(ranking scheme ): 向量,1,(,,)a a a q y y y =???和,1,(,,)b b b q y y y =???比较 goal vector :() 1,,q g g g =??? 分为以下三种情况: 1、 ()() ,,1,,1; 1,,; 1,,; a i i a j j k q i k j k q y g y g ?=???-?=????=+???>∧≤ 2、() ,1,,; a i i i q y g ?=???>

当a y 支配b y 时,选择a y 3、() ,1,,; a j j j q y g ?=???≤ 当b y 支配a y 时,选择b y 优点:算法思想容易,效率优良 缺点:算法容易受到小生境的大小影响 理论上给出了参数share σ的计算方法

NPGA 基本思想: 1、初始化种群Pop 2、锦标赛选择机制:随机选取两个个体1x 和2x 和一个Pop 的 子集CS(Comparison Set)做参照系。若1x 被CS 中不少于一 个个体支配,而2x 没有被CS 中任一个体支配,则选择2x 。 3、其他情况一律称为死结(Tie ),采用适应度共享机制选择。 个体适应度:i f 小生境计数(Niche Count ):(),i j Pop m Sh d i j ∈= ????∑ 共享函数:1-,()0,share share share d d Sh d d σσσ? ≤?=??>? 共享适应度(the shared fitness ): i i f m 选择共享适应度较大的个体进入下一代 优点:能够快速找到一些好的非支配最优解域 能够维持一个较长的种群更新期 缺点:需要设置共享参数

量子克隆进化算法

量子克隆进化算法 刘 芳,李阳阳 (西安电子科技大学计算机学院,陕西西安710071) 摘 要: 本文在量子进化算法的基础上结合基于克隆选择学说的克隆算子,提出了改进的进化算法———量子克 隆进化策略算法(QCES ).它既借鉴了量子进化算法的高效并行性又利用克隆算子来代替其中的变异和选择操作,以增加种群的多样性,避免了早熟,且收敛速度快.本文不仅从理论上证明了该算法的收敛,而且通过仿真实验表明了此算法的优越性. 关键词: 克隆算子;进化算法;量子克隆进化策略中图分类号: T N957 文献标识码: A 文章编号: 037222112(2003)12A 22066205 Quantum Clonal Evolutionary Algorithms LI U Fang ,LI Y ang 2yang (Institute o f Computer ,Xidian University ,Xi ’an ,Shaanxi 710071,China ) Abstract : Based on the combining of the quantum ev olutionary alg orithms (QE A )with the main mechanisms of clone ,an im 2proved ev olutionary alg orithm —quantum clonal ev olutionary strategies (QCES )was proposed in this paper.By adopting the high 2effec 2tive parallelism of QE A and replacing clone operator by mutation and selection of the classical ev olutionary alg orithms (CE A ),it has better diversity and the converging speed than CE A and av oided prematurity.The convergence of the QCES is proved and its superiori 2ty is shown by experiments in this paper. K ey words : clone operator ;ev olutionary alg orithm ;quantum clonal ev olutionary strategies 1 引言 计算是人类思维能力的最重要的方面之一,计算能力的提高与人类文明进步息息相关.从古老的算盘到现代的超级计算机,人类的计算技术实现了革命性的突破.综观当今,计算机的广泛应用已经并且仍在继续改变着我们的世界.一方面,人们为计算机的神奇能力所倾倒.另一方面,人们也为它无力完全满足实际的需要而烦恼.因此,加速计算机的运算速度以提高计算机的运算能力成为计算机科学的中心任务之一. 如何加快计算机的运算能力呢?这一问题大体可以从两个方面着手解决.一是制造更为先进的计算机硬件,另一则是设计恰当的计算机运算流程,后者可以称之为“算法”.一类模拟生物进化过程与机制来求解问题的自组织、自适应人工智能技术即进化计算(包括用于机器学习问题的遗传算法,优化模型系统的进化规划和用于数值优化问题的进化策略)的出现为我们寻找快速算法提供了新思路.进化计算是一种仿生计算,依照达尔文的自然选择和孟德尔的遗传变异理论,生物的进化是通过繁殖、变异、竞争、选择来实现的,进化算法就是建立在上述生物模型基础上的随机搜索技术.我们所熟悉的 遗传算法(G enetic alg orithms )[1],它通过模拟达尔文的“优胜劣汰,适者生存”的原理鼓励好的个体,通过模拟孟德尔的遗传变异理论在进化过程中保持好的个体,同时寻找更好的个体,由此来模仿一切生命与智能的产生与进化过程.理论上已经证明:进化算法能从概率的意义上以随机的方式寻求到问题的最优解;但在实际应用当中随着问题的复杂和海量的数据量,也出现了一些不尽人意的情况,主要表现在:计算后期解的多样性差即易造成早熟,收敛速度慢等缺点.因此,为克服上述缺点关键是构造性能良好的进化算法. 在改进的进化算法中,有些是将传统寻优算法与遗传算法相结合提出了混合遗传算法[2,3],有些则另辟蹊径提出了新颖的学习算法———量子进化算法[4]和免疫进化算法[5],量子力学是20世纪物理学最惊心动魄的发现之一,量子计算是物理理论与计算机的成功结合,在量子体系中,一位的信息位不在是经典的1比特,而是由两个本征态的任意叠加态所构成即称之为量子比特位(qubit ),例如一个n 位二进制的串在量子体系中就可同时表示2n 个信息,而量子计算机对每个叠加分量(本征态)实现的变换相当于一种经典计算,所有这些经典计算同时完成,并按一定的概率振幅叠加起来,给出量子计算的结果,这种计算称之为量子并行计算[6].正是量子的 收稿日期:2003209210;修回日期:2003212210 基金项目:国家自然科学基金(N o.60133010);国家高技术研究发展计划(863计划)(N o.2002AA135080)   第12A 期2003年12月 电 子 学 报 ACT A E LECTRONICA SINICA V ol.31 N o.12A Dec. 2003

基本差分进化算法

基本差分进化算法 基本模拟退火算法概述 DE 算法是一种基于群体进化的算法,其本质是一种基于实数编码的具有保优思想的贪婪遗传算法。由于DE 算法操作简单,寻优能力强,自提出以来引起了国内外学者的高度关注,目前已在电力系统优化调度、配网重构等领域得到了应用。 1、算法原理 DE 算法首先在N 维可行解空间随机生成初始种群P 0001[,,]N =X x x L ,其中000T 1[,,]i i iN x x =x L ,p N 为DE 种群规模。DE 算法的核心思想在于采取变异和交叉操 作生成试验种群,然后对试验种群进行适应度评估,再通过贪婪思想的选择机制,将原种群和试验种群进行一对一比较,择优进入下一代。 基本DE 算法主要包括变异、交叉和选择三个操作。首先,在种群中随机选取三个个体,进行变异操作: 1123()t t t t i r r r F +=+-v x x x 其中1t i +v 表示变异后得到的种群,t 表示种群代数,F 为缩放因子,一般取(0,2],它的大小可以决定种群分布情况,使种群在全局范围内进行搜索;1t r x 、2t r x 、3t r x 为从种群中随机抽取的三个不同的个体。 然后,将变异种群和原种群进行交叉操作: 1,R 1 ,,R () or () () and ()t i j t i j t i j v rand j C j randn i u x rand j C j randn i ++?≤=?=?>≠?? 其中t 1,i j u +表示交叉后得到的种群,()rand j 为[0,1]之间的随机数,j 表示个体的第j 个分量,R C 为交叉概率,()randn i 为[1,,]N L 之间的随机量,用于保证新个体至少有一维分量由变异个体贡献。 最后,DE 算法通过贪婪选择模式,从原种群和试验种群中选择适应度更高的个体进入下一代: 11t 11 ()() ()()t t t i i i i t t t i i i f f f f ++++?<=?≥?u u x x x u x 1()t i f +u 、()t i f x 分别为1t i +u 和t i x 的适应度。当试验个体1t i +u 的适应度优于t i x 时,

多目标进化算法总结

MOGA i x 是第t 代种群中个体,其rank 值定义为: () (,)1t i i rank x t p =+ ()t i p 为第t 代种群中所有支配i x 的个体数目 适应值(fitness value )分配算法: 1、 将所有个体依照rank 值大小排序分类; 2、 利用插值函数给所有个体分配适应值(从rank1到 rank * n N ≤),一般采用线性函数 3、 适应值共享:rank 值相同的个体拥有相同的适应值, 保证后期选择时同一rank 值的个体概率相同 最后采用共享适应值随机选取的方法选择个体进入下一代 一种改进的排序机制(ranking scheme ): 向量,1,(,,)a a a q y y y =???和,1,(,,)b b b q y y y =???比较 goal vector :() 1,,q g g g =??? 分为以下三种情况:

1、 ()() ,,1,,1; 1,,; 1,,; a i i a j j k q i k j k q y g y g ?=???-?=????=+???>∧≤ 2、() ,1,,; a i i i q y g ?=???> 当a y 支配b y 时,选择a y 3、() ,1,,; a j j j q y g ?=???≤ 当b y 支配a y 时,选择b y 优点:算法思想容易,效率优良 缺点:算法容易受到小生境的大小影响 理论上给出了参数share σ的计算方法

NPGA 基本思想: 1、初始化种群Pop 2、锦标赛选择机制:随机选取两个个体1x 和2x 和一个Pop 的 子集CS(Comparison Set)做参照系。若1x 被CS 中不少于一 个个体支配,而2x 没有被CS 中任一个体支配,则选择2x 。 3、其他情况一律称为死结(Tie ),采用适应度共享机制选择。 个体适应度:i f 小生境计数(Niche Count ):(),i j Pop m Sh d i j ∈= ????∑ 共享函数:1-,()0,share share share d d Sh d d σσσ? ≤?=??>? 共享适应度(the shared fitness ): i i f m 选择共享适应度较大的个体进入下一代 优点:能够快速找到一些好的非支配最优解域 能够维持一个较长的种群更新期 缺点:需要设置共享参数

差分进化算法-入门

基本差分进化算法 1基本差分进化算法的基本思想 DE 算法是一种基于实数编码的用于优化函数最小值的进化算法,是在求解有关切比雪夫多项式的问题时提出来的,是基于群体差异的进化计算方法。它的整体结构类似于遗传算法,一样都存在变异、交叉和选择操作,但是它又不同于遗传算法。与基本遗传算法的主要区别在于变异操作上,如: 1、传统的遗传算法采用二进制编码,而差分进化算法采用实数编码。 2、在遗传算法过两个父代个体的交叉产生两个子个体,而在差分进化算法过第两个或几个个体的差分矢量做扰动来产生新个体。 3、在传统的遗传算法中,子代个体以一定概率取代其父代个体,而在差分进化中新产生的个体只有当它比种群中的个体优良时才替换种群中的个体。 变异是DE 算法的主要操作,它是基于群体的差异向量来修正各个体的值,其基本原理是通过把种群中两个个体的向量差加权后,按一定的规划与第三个个体求和来产生新个体,然后将新个体与当代种群中某个预先决定的个体相比较,如果新个体的目标值优于与之相比较的个体的目标值,则在下一代中就用新个体取代,否则,旧个体仍保存下来。 差分进化算法其基本思想是:首先由父代个体间的变异操作构成变异个体;接着按一定的概率,父代个体与变异个体之间进行交叉操作,生成一试验个体;然后在父代个体与试验个体之间根据适应度的大小进行贪婪选择操作,保留较优者,实现种群的进化。 2 差分进化算法的基本操作 设当前进化代数为t ,群体规模为NP ,空间维数为D ,当前种群为 {}12(),, ,t t t NP X t x x x =,()12,, ,T t t t t i i i iD x x x x =为种群中的第i 个个体。在进化过程 中,对于每个个体t i x 依次进行下面三种操作。 2.1 变异操作 对于每个个体t i x 按下式产生变异个体12(,, ,)t t t t T i i i iD v v v v =,则 123() 1,2, ,D t t t t ij r j r j r j v x F x x j =+-= (1) 其中111112(,,,)t t t t T r r r r D x x x x =,222212(,,,)t t t t T r r r r D x x x x =和333312(,, ,)t t t t T r r r r D x x x x =是群 体中随机选择的三个个体,并且123r r r i ≠≠≠;1t r j x ,2t r j x 和3t r j x 分别为个体1r ,2r 和3r 的第j 维分量;F 为变异因子,一般取值于[0,2]。这样就得到了变异个体t i v 。

量子免疫算法1

报告正文 (一)立项依据与研究内容 1。项目的立项依据(研究意义、国内外研究现状及分析、附主要参考文献目录) (1)研究意义 随着石化能源危机的来临以及人们环保意识的加强,世界各国争相发展可再生新兴能源。风电装机容量每年以20%至30%的速度增长,其增长势头迅猛,据专家预测风力发电量在2020年将占全球发电总量的12%。风力发电已经成为解决世界能源问题的不可或缺的重要力量。 但随着投产的风力发电机数量和容量的不断增加,风力发电机组的运行维护、故障检测、诊断技术的优化和改进已成为风力发电亟待解决的新课题。长期以来,风力发电机一直采用计划维修与事后维修方式,计划维修即运行2500h和5000h 后的例行维护,如检查螺栓力矩,加注润滑脂等。该维修体制往往无法全面、及时地了解设备运行状况。而事后维修则因事前准备不足,从而造成维修工作旷日持久,损失重大。并且由于近年来大型风力发电机组研究的快速发展,其机械结构日趋复杂,不同部件之间的相互联系、耦合也更加紧密,一个部件出现故障,将可能导致整个发电过程中断。因此,有必要对风力发电机组的运行状态进行检测跟踪,对其故障征兆进行分析处理,预测分析风力发电机的故障趋势,减少事故发生造成的财产损失,也减少强迫停机的次数,降低发电机的维护费和提高发电机的可用性,指导风电机组的维护与维修。 目前的故障诊断方法虽然为诊断电机的故障起到了重要作用,但也存在如训练仿真模型耗时,需大量的先验知识,对故障样本的学习缺乏自主连续,实时性差等问题。为了提高故障诊断的准确性、实时性及鲁棒性,还需加强新方法的研究,特别是基于生物智能的新方法研究。近年来逐渐发展起来的基于生物免疫机理的人工免疫系统具有多样性、分布式、噪声忍耐、无教师学习、自组织、自适应等特点,不需要反面例子,结合了分类器、神经网络和机器推理等学习系统的一些优点,在复杂系统的故障检测与诊断中具有很大的潜力。通过研究人工免疫系统,可望产生更有效的风力发电机组故障诊断方法。 而传统的故障诊断技术主要依靠单一的故障特征来进行故障判定,且存在样本需求量大及诊断学习缺乏自主连续性等问题,远不能满足现代化生产的要求。受生物免疫系统启发而建立的人工免疫系统蕴含了噪声忍耐、自学习、自组织和自记忆等进化学习机理,为解决旋转机组故障诊断问题提供了一条新的思路,反面选择算法可以有效判断自我-非我状态,并成功地应用于振动信号异常检测,动态规模免疫算法能够通过学习进化保持记忆抗体的多样性,实现较好的故障分类效果,将以上思想应用于故障诊断之中,得到了风力发电机组状态监测与故障

差分进化算法介绍

1.差分进化算法背景 差分进化(Differential Evolution,DE)是启发式优化算法的一种,它是基于群体差异的启发式随机搜索算法,该算法是Raincr Stom和Kenneth Price为求解切比雪夫多项式而提出的。差分进化算法具有原理简单、受控参数少、鲁棒性强等特点。近年来,DE在约束优化计算、聚类优化计算、非线性优化控制、神经网络优化、滤波器设计、阵列天线方向图综合及其它方面得到了广泛的应用。 差分算法的研究一直相当活跃,基于优胜劣汰自然选择的思想和简单的差分操作使差分算法在一定程度上具有自组织、自适应、自学习等特征。它的全局寻优能力和易于实施使其在诸多应用中取得成功。 2.差分进化算法简介 差分进化算法采用实数编码方式,其算法原理同遗传算法相似刚,主要包括变异、交叉和选择三个基本进化步骤。DE算法中的选择策略通常为锦标赛选择,而交叉操作方式与遗传算法也大体相同,但在变异操作方面使用了差分策略,即:利用种群中个体间的差分向量对个体进行扰动,实现个体的变异。与进化策略(Es)采用Gauss或Cauchy分布作为扰动向量的概率密度函数不同,DE使用的差分策略可根据种群内个体的分布自动调节差分向量(扰动向量)的大小,自适应好;DE 的变异方式,有效地利用了群体分布特性,提高了算法的搜索能力,避免了遗传算法中变异方式的不足。 3.差分进化算法适用情况 差分进化算法是一种随机的并行直接搜索算法,最初的设想是用于解决切比雪夫多项式问题,后来发现差分进化算法也是解决复杂优化问题的有效技术。它可以对非线性不可微连续空间的函数进行最小化。目前,差分进化算法的应用和研究主要集中于连续、单目标、无约束的确定性优化问题,但是,差分进化算法在多目标、有约束、离散和噪声等复杂环境下的优化也得到了一些进展。 4.基本DE算法 差分进化算法把种群中两个成员之间的加权差向量加到第三个成员上以产生新的参数向量,这一操作称为“变异”。然后,变异向量的参数与另外事先确

最新高维多目标进化算法总结

高维多目标进化算法 二、文献选读内容分析及思考 (一)Borg算法 Borg算法是基于ε-MOEA算法(Deb,2003)的一种全新改进算法[32],下面将从创新点、原理、算法流程和启发思考四方面进行阐述。 1.创新点 1)在ε支配关系的基础上提出ε盒支配的概念,具有能同时保证算法收敛性与多样性的特点。 2)提出了ε归档进程,能提高算法计算效率和防止早熟。 3)种群大小的自适应调整。 4)交叉算子的自适应选择。由于处理实际问题时,是不知道目标函数具有什么特性,前沿面如何,在具有多个交叉算子的池子里,根据进程反馈,选择不同的交叉算子,使产生的后代具有更好的特性针对要研究的问题。 2. Borg算法原理 1)ε盒支配:通过对目标空间向量的每一维除以一个较小的ε,然后取整后进行pareto支配比较。这样的支配关系达到的效果是把目标空间划分成以ε为边长的网格(2目标时),当点处于不同的网格时,按pareto支配关系比较;当处于同一网格时,比较哪个点距离中心点(网格最左下角)最近。这样一来,网格内都只有一个点。 2)ε归档进程 如图1所示,黑点表示已经归档的,想要添加到档案集的新解用×表示,阴影表示归档解支配的区域。当新解的性能提升量超过阈值ε才属于ε归档进程。比如解1、解2加入归档集属于ε归档进程,解3加入归档集就不属于ε归档进程。 图1 ε支配网格 在这个过程中设置了一个参数c,表示每一代中加入归档集解得个数,每隔一定迭代次数检测c有没有增加,如果没有增加表明算法停滞,重启机制启动。 3)重启 自适应种群大小:重启后的种群大小是根据归档集的大小设置。γ表示种群大小与归档集大小的比值,这个值也用于第二步中,如果γ值没超过1.25,重启机制也启动。启动后,γ人为设定为固定值,种群被清空,填充归档集的所有个体,不足的个体是随机选取归档集中个体变异所得。与之相匹配的锦标赛比较集大小是归档集大小乘以固定比值τ。 4)交叉算子的自适应选择 摒弃以往采用单一的交叉算子,采用包含各类交叉算子的池子,比如有K

多目标进化算法总结

x 是第 t 代种群中个体,其 rank 值定义为: rank (x ,t ) =1+p (t ) p (t )为第t 代种群中所有支配x 的个体数目 适应值 (fitness value )分配算法: 1、 将所有个体依照 rank 值大小排序分类; 2、 利用插值函数给所有个体分配适应值(从 rank1 到 rank n * N ),一般采用线性函数 3、 适应值共享:rank 值相同的个体拥有相同的适应值, 保证后期选择时同一 rank 值的个体概率相同 最后采用共享适应值随机选取的方法选择个体进入下一代 一种改进的排序机制(ranking scheme ): 向量y a =(y a ,1,,y a ,q )和y b =(y b ,1,,y b ,q )比较 分为以下三种情况: k =1,,q -1; i =1,,k ; j =k +1,,q ; (y a ,i g i )(y a ,j g j ) i =1, ,q ; (y a ,i g i ) 当 y a 支配 y b 时,选择 y a 3、j =1, ,q ; (y a ,j g j ) 当 y b 支配 y a 时,选择 y b 优点:算法思想容易,效率优良 缺点:算法容易受到小生境的 大小影响 理论上给出了参数share 的计算方法 goal vector : g = (g 1, ,g q ) 1、 2、

基本思想: 1、初始化种群 Pop 2、锦标赛选择机制:随机选取两个个体 x 和 x 和一个 Pop 的 子集 CS(Comparison Set)做参照系。若 x 被 CS 中不少于一 个个体支配,而 x 没有被 CS 中任一个体支配,则选择 x 。 3、其他情况一律称为死结(Tie ),采用适应度共享机制选择。 个体适应度: f i 小生境计数(Niche Count ): m =j Pop Sh d (i , j ) 共享适应度(the shared fitness ): 选择共享适应度较大的个体进入下一代 优点:能够快速找到一 些好的非支配最优解域 能够维持一个较长的种群更新期 缺 点:需要设置共享参数 需要选择一个适当的锦标赛机制 限制 了该算法的实际应用效果 1- 共享函数: Sh (d ) = d share 0, d share d share

差分进化算法-入门

差分进化算法-入门

基本差分进化算法 1基本差分进化算法的基本思想 DE 算法是一种基于实数编码的用于优化函数最小值的进化算法,是在求解有关切比雪夫多项式的问题时提出来的,是基于群体差异的进化计算方法。它的整体结构类似于遗传算法,一样都存在变异、交叉和选择操作,但是它又不同于遗传算法。与基本遗传算法的主要区别在于变异操作上,如: 1、传统的遗传算法采用二进制编码,而差分进化算法采用实数编码。 2、在遗传算法中通过两个父代个体的交叉产生两个子个体,而在差分进化算法中通过第两个或几个个体的差分矢量做扰动来产生新个体。 3、在传统的遗传算法中,子代个体以一定概率取代其父代个体,而在差分进化中新产生的个体只有当它比种群中的个体优良时才替换种群中的个体。 变异是DE 算法的主要操作,它是基于群体的差异向量来修正各个体的值,其基本原理是通过把种群中两个个体的向量差加权后,按一定的规划与第三个个体求和来产生新个体,然后将新个体与当代种群中某个预先决定的个体相比较,如果新个体的目标值优于与之相比较的个体的目标值,则在下一代中就用新个体取代,否则,旧个体仍保存下来。 差分进化算法其基本思想是:首先由父代个体间的变异操作构成变异个体;接着按一定的概率,父代个体与变异个体之间进行交叉操作,生成一试验个体;然后在父代个体与试验个体之间根据适应度的大小进行贪婪选择操作,保留较优者,实现种群的进化。 2 差分进化算法的基本操作 设当前进化代数为t ,群体规模为NP ,空间维数为D ,当前种群为 {}1 2 (),,,t t t NP X t x x x =L ,() 1 2 ,,,T t t t t i i i iD x x x x =L 为种群中的第i 个个体。在进化过程 中,对于每个个体t i x 依次进行下面三种操作。 2.1 变异操作 对于每个个体t i x 按下式产生变异个体12(,,,)t t t t T i i i iD v v v v =L ,则 123() 1,2,,D t t t t ij r j r j r j v x F x x j =+-=L (1) 其中111112(,,,)t t t t T r r r r D x x x x =L ,222212(,,,)t t t t T r r r r D x x x x =L 和333312(,,,)t t t t T r r r r D x x x x =L 是群体中随机选择的三个个体,并且123r r r i ≠≠≠;1t r j x ,2t r j x 和3t r j x 分别为个体1r ,2r 和3r 的第j 维分量;F 为变异因子,一般取值于[0,2]。这样就得到了变异个体t i v 。

MOEAD(基于分解的多目标进化算法)

摘要:在传统的多目标优化问题上常常使用分解策略。但是,这项策略还没有被广泛的应用到多目标进化优化中。本文提出了一种基于分解的多目标进化算法。该算法将一个多目标优化问题分解为一组单目标优化问题并对它们同时优化。通过利用与每一个子问题相邻的子问题的优化信息来优化它本身,这是的该算法比MOGLS和非支配排序遗传算法NSGA-Ⅱ相比有更低的计算复杂度。实验结果证明:在0-1背包问题和连续的多目标优化问题上,利用一些简单的分解方法本算法就可以比MOGLS和NSGA-Ⅱ表现的更加出色或者表现相近。实验也表明目标正态化的MOEA/D算法可以解决规模范围相异的多目标问题,同时使用一个先进分解方法的MOEA/D可以产生一组分别非常均匀的解对于有3个目标问题的测试样例。最后,MOEA/D在较小种群数量是的性能,还有可扩展性和敏感性都在本篇论文中通过实验经行了相应的研究。 I.介绍 多目标优化问题可以用下面式子表示: Maximize F(x)=((f1(f)…...f f(f))f subject to x∈Ω 其中Ω是决策空间,F:Ω→f f,包含了m个实值目标方法,f f被称为目标区间。对于 可以得到的目标集合成为{F(x)|x∈Ω}。 如果x∈R m,并且所有的目标函数都是连续的,那么Ω则可以用 Ω={x∈f f|h f(x)≤0,j=1……m} 其中hj是连续的函数,我们可以称(1)为一个连续的多目标优化问题。 如果目标函数互斥,那么同时对所有目标函数求最优解往往是无意义的。有意义的是获得一个能维持他们之间平衡的解。这些在目标之间获得最佳平衡的以租借被定义Pareto最优。 令u, v∈Rm,如果f f≥f f对于任意的i,并且至少存在一个f f≥f f(i,j∈{1…..m}),那么u支配v。如果在决策空间中,没有一个点F(y)能够支配F(x)点,那么x就是Pareto最优,F(x)则被称为Pareto最优向量。换句话说,对于Pareto最优点在某一个目标函数上的提高,都会造成至少一个其余目标函数的退化。所有Pareto最优解的集合称为Pareto集合,所有最优向量的集合被称为Pareto前沿。 在许多多目标优化的实际应用中,通过选择器选择一个接近Pareto最优前沿的解作为最后的解。大多数多目标优化问题都有许多甚至是无穷个Pareto最优向量,如果想要获得一个完整的最优前沿,将是一件非常耗时的事情。另一方面,选择器可能不会专注于获得一个过于庞大的最优解向量集合来解决问题,因为信息的溢出。因此,许多多目标优化算法往往是获得一个均匀分布在Pareto最优前沿周围的最优解向量,这样就具有更好的代表性。许多研究人员也致力于使用数学模型来获得一个近似的最优前沿。 一般来说,在温和控制下多目标优化问题的Pareto最优解,可以看做是一个标量优化问题的最优解(其中目标函数是fi的集合)。因此,Pareto最优前沿的近似求解可以被分解为一组标量目标优化子问题。这个想法是建立在许多传统的对最优前沿求近似解的数学编程方法上的。现在有许多的聚合方法,最流行的是切比雪夫法和加权法。最近,边界交叉方法也引起了许多的关注。 如今多目标进化算法并没有将分解这一概念引入当前的主要发展领域。这些算法将多目标优化问题看成一个整体。他们并没有通过任何特别的标量优化将每一个解相互联系在一起。在一个标量目标优化问题中,所有的解都可以通过他们的目标函数值进行对比,而挑战

差分进化算法综述概况

差分进化算法(DE)[1]是Storn 和Price 在1995 年提出的一种基于种群差异的进化算法,DE是一种随机的并行搜索算法。差分进化计算和其他进化计算算法一样,都是基于群体智能理论的优化算法,利用群体内个体之间的合作与竞争产生的群体智能模式来指导优化搜索的进行。与其他进化计算不同的是,差分进化计算保留了基于种群的全局搜索策略,采用实数编码、基于差分的简单变异操作和一对一的竞争生存策略,降低了进化操作的复杂性。差分进化计算特有的进化操作使得其具有较强的全局收敛能力和鲁棒性,非常适合求解一些复杂环境中的优化问题。 最初试图使用向量差进行向量种群的混洗,以此来解决切比雪夫多项式适应性问题。DE 通过种群内个体间的合作与竞争来实现对优化问题的求解,其本质上是一种基于实数编码的具有保优思想的进化算法。该算法实现技术简单,在对各种测试问题的实验中表现优异,已经成为近年来进化算法研究中的热点之一。 差分进化算法基本原理 基本的差分进化算法是基于候选方案种群的算法,在整个搜索空间内进行方案的搜索,通过使用简单的数学公式对种群中的现有方案进行组合实现的。如果新的方案有所改进,则被接受,否则被丢弃,重复这一过程直到找到满意的方案。 设 f 是最小化适应度函数,适应度函数以实数向量的形式取一个候选方案作为参数,给出一个实数数值作为候选方案的输出适应值。其目的是在搜索空间的所有方案p 中找到m 使得f(m) ≤f(p)。最大化是找到一个m 使得f(m) ≥f(p)。 设X=(x1, x2,…, xn)∈?n是种群中一个个体,基本的差分进化算法如下所述: ?在搜索空间中随机地初始化所有的个体。 ?重复如下操作直到满足终止条件(最大迭代数或者找到满足适应值的个体) o 对于种群中的每个个体: ●随机地从种群中选择三个彼此不同的个体a,b 和c。 ●选择一个随机索引R ∈{1, ..., n},n 是被优化问题的维数。 ●通过对每个i ∈{1, ..., n}进行如下的迭代计算可能的新个体Y = [y1, ..., yn] 生成一 个随机数ri~U(0,1); ●如果(i=R)或者(ri3。差分进化算法作为一种新出现的优化算法在实际应用中表现出了优异的性能,被广泛应用到不同的领域,已经成为近年来优化算法的研究的热点之一。研究差分进化算法,探索提高差分进化算法性能的新方法,并将其应用到具体工程问题的解决中,具有重要的学术意义和应用价值。 差分进化计算的群体智能搜索策略分析 1 个体行为及个体之间信息交互方法分析 差分进化的个体表示方式与其他进化计算相同,是模拟生物进化中的关键因素,即生物的染色体和基因,构造每个解的形式,构成了算法的基础。一切的寻优操作都是在个体的基础上进行的,最优个体是搜寻到的最优的解。 差分进化的个体行为主要体现在差分变异算子和交叉算子上。

基本差分进化算法

基本差分进化算法 (1)初始化。 DE 利用NP 个维数为D 的实数值参数向量作为每一代的种群,每个个体表示为: X i ,G (i=1,2,……,NP) (1) 式中:i —— 个体在种群中的序列;G ——进化代数;NP — —种群规模,在最小化过程中NP 保持不变。 为了建立优化搜索的初始点,种群必须被初始化。通常寻找初始种群的一个方法是从给定边界约束内的值中随机选择。在DE 研究中,一般假定对所有随机初始化种群均符合均匀概率分布。设参数变量的界限为 )( )( U j j L j X X X << ,则: )( )( )( 0,)()`1,0(L j L j U j ji X X X rand X +-?= (i=1,2,……, NP ;j=1,3,……,D ) (2) 式中:rand[0,1]——在[0,1]之间产生的均匀随机数。 如果预先可以得到问题的初步解,初始种群也可以通过对初步解加入正态分布随机偏差来产生,这样可以提高重建效果。 (2)变异。 对于每个目标向量 X i ,G (i=1,2,……,NP),基本DE 算法的变 异向量如下产生: )(,3,2,11,G r G r G r G i x x F X v -?+=+ (3) 其中,随机选择的序号r1,r2和r3互不相同,且r1,r2和r3与目标向

量序号i 也应不同,所以须满足NP ≥4。变异算子F ∈[0,2]是一个实常数因数,控制偏差变量的放大作用。 (3)交叉。 为了增加干扰参数向量的多样性,引入交叉操作。则试验向量变为: ),...,,(1,1,21,11,++++=G Di G i G i G i u u u u (4) ???=+++1 ,1,1,G ji G ji G ji X v u )(rnb CR (j) b rand rnbr(i))(rand i r j j CR j b ≠>=≤且如果或者如果 (i=1,2,……,NP ;j=1,3,……,D ) (5) 式中:randb(j)——产生[0,1]之间随机数发生器的第j 个估计值;rnbr(i)∈ 1,2,? ,D ——一选择的序列,用它来确保1,+G i u 至少从1,+G i u ;获得一个参数;CR ——交叉算子,取值范围为[0,1]。 (4)选择。 为决定试验向量1,+G i u ,是否会成为下一代中的成员,DE 按照贪婪 准则将试验向量与当前种群中的目标向量进行比较。如果目标函数要被最小化,那么具有较小目标函数值的向量将在下一代种群中赢得一席地位。下一代中的所有个体都比当前种群的对应个体更佳或者至少一样好。注意在DE 选择程序中试验向量只与一个个体相比较,而不是与现有种群中的所有个体相比较。 (5)边界条件的处理。 在有边界约束的问题中,确保产生新个体的参数值位于问题的可行域中是必要的,一个简单方法是将不符合边界约束的新个体用在可行域中随机产生的参数向量代替。

MOEAD(基于分解的多目标进化算法)

基于分解的多目标进化算法
摘要:在传统的多目标优化问题上常常使用分解策略。但是,这项策略还没有被广泛的 应用到多目标进化优化中。本文提出了一种基于分解的多目标进化算法。该算法将一个多目 标优化问题分解为一组???单目标优化问题并对它们同时优化。通过利用与每一个子问题 相邻的子问题的优化信息来优化它本身,这是的该算法比 MOGLS 和非支配排序遗传算法 NSGA-Ⅱ相比有更低的计算复杂度。实验结果证明:在 0-1 背包问题和连续的多目标优化问 题上,利用一些简单的分解方法本算法就可以比 MOGLS 和 NSGA-Ⅱ表现的更加出色或者 表现相近。实验也表明目标正态化的 MOEA/D 算法可以解决规模围相异的多目标问题,同 时使用一个先进分解方法的 MOEA/D 可以产生一组分别非常均匀的解对于有 3 个目标问题 的测试样例。最后,MOEA/D 在较小种群数量是的性能,还有可扩展性和敏感性都在本篇 论文过实验经行了相应的研究。
I. 介绍
多目标优化问题可以用下面式子表示:
其中 Ω 是决策空间, 以得到的目标集合成为
,包含了 m 个实值目标方法, 被称为目标区间。对于可 。
如果
,并且所有的目标函数都是连续的,那么 Ω 则可以用
其中 hj 是连续的函数,我们可以称(1)为一个连续的多目标优化问题。 如果目标函数互斥,那么同时对所有目标函数求最优解往往是无意义的。有意义的是获
得一个能维持他们之间平衡的解。这些在目标之间获得最佳平衡的以租借被定义 Pareto 最 优。
令 u, v∈Rm,如果
对于任意的 i,并且至少存在一个
,那
么 u 支配 v。如果在决策空间中,没有一个点 F(y)能够支配 F(x)点,那么 x 就是 Pareto 最优, F(x)则被称为 Pareto 最优向量。换句话说,对于 Pareto 最优点在某一个目标函数上的提高, 都会造成至少一个其余目标函数的退化。所有 Pareto 最优解的集合称为 Pareto 集合,所有 最优向量的集合被称为 Pareto 前沿。
在许多多目标优化的实际应用中,通过选择器选择一个接近 Pareto 最优前沿的解作为 最后的解。大多数多目标优化问题都有许多甚至是无穷个 Pareto 最优向量,如果想要获得 一个完整的最优前沿,将是一件非常耗时的事情。另一方面,选择器可能不会专注于获得一 个过于庞大的最优解向量集合来解决问题,因为信息的溢出。因此,许多多目标优化算法往 往是获得一个均匀分布在 Pareto 最优前沿周围的最优解向量,这样就具有更好的代表性。 许多研究人员也致力于使用数学模型来获得一个近似的最优前沿。
一般来说,在温和控制下多目标优化问题的 Pareto 最优解,可以看做是一个标量优化 问题的最优解(其中目标函数是 fi 的集合)。因此,Pareto 最优前沿的近似求解可以被分解为

多目标进化算法总结

i x 是第t 代种群中个体,其rank 值定义为: ()(,)1t i i rank x t p =+ ()t i p 为第t 代种群中所有支配i x 的个体数目 适应值(fitness value )分配算法: 1、 将所有个体依照rank 值大小排序分类; 2、 利用插值函数给所有个体分配适应值(从rank1到 rank * n N ≤),一般采用线性函数 3、 适应值共享:rank 值相同的个体拥有相同的适应值, 保证后期选择时同一rank 值的个体概率相同 最后采用共享适应值随机选取的方法选择个体进入下一代 一种改进的排序机制(ranking scheme ): 向量,1,(,,)a a a q y y y =???和,1,(,,)b b b q y y y =???比较 goal vector :() 1,,q g g g =??? 分为以下三种情况: 1、 ()() ,,1,,1; 1,,; 1,,; a i i a j j k q i k j k q y g y g ?=???-?=????=+???>∧≤ 2、() ,1,,; a i i i q y g ?=???> 当a y 支配b y 时,选择a y 3、() ,1,,; a j j j q y g ?=???≤ 当b y 支配a y 时,选择b y 优点:算法思想容易,效率优良 缺点:算法容易受到小生境的大小影响 理论上给出了参数share σ的计算方法

基本思想: 1、初始化种群Pop 2、锦标赛选择机制:随机选取两个个体1x 和2x 和一个Pop 的 子集CS(Comparison Set)做参照系。若1x 被CS 中不少于一 个个体支配,而2x 没有被CS 中任一个体支配,则选择2x 。 3、其他情况一律称为死结(Tie ),采用适应度共享机制选择。 个体适应度:i f 小生境计数(Niche Count ):(),i j P o p m S h dij ∈ = ??? ?∑ 共享函数:1-,()0,share share share d d Sh d d σσσ? ≤?=??>? 共享适应度(the shared fitness ): i i f m 选择共享适应度较大的个体进入下一代 优点:能够快速找到一些好的非支配最优解域 能够维持一个较长的种群更新期 缺点:需要设臵共享参数 需要选择一个适当的锦标赛机制 限制了该算法的实际应用效果

差分进化算法的算法设计研究

差分进化算法的算法设计研究 优化技术是一种以数学为基础,用于求解各种工程问题优化解的应用技术。而作为一种优化算法,差分进化算法因其有效性,在现代优化技术和工程实践应用中的作用越来越凸显。阐述了差分进化算法的基本概念,对差分简化算法的原理进行了介绍,对算法步骤进行了论述,并结合一物流配送路径优化例子,重点围绕该算法的设计进行分析,为差分进化算法的应用提供了思路。 标签:差分进化算法;算法设计;应用 0 引言 差分进化算法(Differential Evolution ,DE)是一种新兴的进化计算技术。它是由R.Storn 和K.Price于1995 年提出的,最初的设想是用于解决切比雪夫多项式问题,后来发现DE 也是解决复杂优化问题的有效技术。DE 特有的记忆能力使其可以动态跟踪当前的搜索情况,以调整其搜索策略,具有较强的全局收敛能力和鲁棒性,且不需要借助问题的特征信息,适于求解一些利用常规的数学规划方法所无法求解的复杂环境中的优化问题。近年来,DE 已经在许多领域得到了应用,譬如人工神经元网络、化工、电力、机械设计、信号处理、路径优化等。 1 差分进化算法概述 1.1 概念 差分进化算法是一种强调在全局中寻找最优解的技术,即通过种群内个体间的合作与竞争来实现对优化问题的求解,其本质是一种基于实数编码的具有保优思想的贪婪遗传算法,是一种以“适者生存”的理念来进行“优胜劣汰”的智能型算法,同时,差分进化算法在对问题的求解过程中采用了并行搜索的实现方式,通过该方式,大大减少了对问题求解过程中所需要的时间。差分进化算法通过非常简单的算法结构,趋于智能化的适应条件判断来进行新一代种群的生成,并最终通过适应条件判断来选出全局的最优方案。 1.2 优点 差分进化计算是一种具有鲁棒性的方法,能适应不同的环境不同的问题,而且在大多数情况下都能得到比较满意的有效解。它对问题的整个参数空间给出一种编码方案,而不是直接对问题的具体参数进行处理,不是从某个单一的初始点开始搜索,而是从一组初始点搜索。搜索中用到的是目标函数值的信息,可以不必用到目标函数的导数信息或与具体问题有关的特殊知识。因而进化算法具有广泛的应用性,高度的非线性,易修改性和可并行性。 2 差分进化算法的原理

相关主题
文本预览
相关文档 最新文档