仿电磁学算法 ( EM )

19
仿仿仿仿仿仿 (EM)

description

仿电磁学算法 ( EM ). 仿电磁学算法 ( EM ). 仿电磁学算法 (Electromagnetism-like Mechanism) 是 由美国北卡罗莱纳州立大学 博 士 Birbil 在 2003 年提出的一种新型全局优化算法 。 算法通过 模拟 带电电荷间吸引和排斥机理来确保优化问题种群的多样性和搜索空间的 完整性 用 总矢量力的计算来确定种群的移动 速度 根据 种群进化模型来确定种群的进化 方向 采取 局部搜索提高算法的邻域搜索 能力 当 满足收敛条件时输出优化问题的解. 其值大小表明粒子与本次迭代中最好粒子的接近程度 ,电荷 值越大表明其与最优粒子越接近。. - PowerPoint PPT Presentation

Transcript of 仿电磁学算法 ( EM )

Page 1: 仿电磁学算法 ( EM )

仿电磁学算法 (EM)

Page 2: 仿电磁学算法 ( EM )

仿电磁学算法 (Electromagnetism-like Mechanism) 是由美国北卡罗莱纳州立大学博士 Birbil 在 2003 年提出的一种新型全局优化算法。

算法通过 模拟带电电荷间吸引和排斥机理来确保优化问题种群的多样性和搜

索空间的完整性 用总矢量力的计算来确定种群的移动速度 根据种群进化模型来确定种群的进化方向 采取局部搜索提高算法的邻域搜索能力 当满足收敛条件时输出优化问题的解

仿电磁学算法 (EM)

Page 3: 仿电磁学算法 ( EM )

whileend:8

1iterationiteration :7

Move(F) :6

CalcF()F :5

),Local( :4

do iteration while:3

1itration:2

()Initialize:1

),,,(EM 1 ALGORITHM

LSITER

MAXITER

LSITERMAXITERm

Page 4: 仿电磁学算法 ( EM )

EM 算法首先 从可行域中随机产生一组初始种群

每个个体,看作一个带电粒子, 在迭代过程中根据每个粒子的评价函数值计算出其对应的电

荷值,粒子 的电荷值表达式为

其值大小表明粒子与本次迭代中最好粒子的接近程度,电荷值越大表明其与最优粒子越接近。

Page 5: 仿电磁学算法 ( EM )

• EM 算法根据粒子及其电荷值来描述种群中• 每个粒子的矢量力大小和性质• 粒子的矢量力是 EM 算法产生新种群的基

础。• 若,粒子和粒子之间作用力性质为吸引力,

否则为排斥力。

Page 6: 仿电磁学算法 ( EM )

矢量力 Fk,i 表示其他粒子 Xk,j 与粒子 Xk,i 作用力的代数和。

粒子 Xk,i 的矢量力表达式为

Page 7: 仿电磁学算法 ( EM )

在粒子 Xk,i 电荷值计算和矢量力计算的基础上, EM 算法通过种群移动模型来产生一代种群 种群进化模型的数学模型为

作用类似于遗传算法的交叉和变异算子 保证算法继续进化和种群多样性的必备条件

Page 8: 仿电磁学算法 ( EM )

优点 在求解连续的非线性函数,神经网络和非线性约束

条件的优化问题效率高 , 实现较方便。 缺点

由于他的连续性,他不能被直接应用到组合优化问题,如调度问题。

为克服此问题,在仿电磁学的基础上, Chao et al. 引入了交叉与突变因子,即 DEM 。

DEM 的提出

Page 9: 仿电磁学算法 ( EM )

Chao et al. [2011] built a discrete EM for solving flowshop scheduling problem with lots of parameters.

They proposed a more efficient discrete version of with less parameters for solving single machine total weighted tardiness problem with sequence-dependent setup times.

Page 10: 仿电磁学算法 ( EM )

DEM 算法包含四个步骤:算法的初始化,每个粒子电荷的计算,根据吸引——排斥机制进行电荷的移动,引用参考的局部搜素 (RLS).

max

max

ALGOTITHM DEM( , , )

Input parameters:

: number of particles(i.e.,population size)

: maxmium CPU time

: destruction size for the destruction and construction (DC)procedure

1:INITIALIZATION(

N t d

N

t

d

max

) %the initialization

2:WHILE executing is less than DO

3: COM_CHARGE() %the calculation of each particle's charge

4: MOVE(q,d,p) %the movement for each par

the CPU time t

q ticle

5: referenced local search %optional

6:END WHILE

Page 11: 仿电磁学算法 ( EM )

i

( ) ( )

ALGOTITHM DC( )

1: FOR 1 to DO %

2: (1, )

3: \ and

4:END FOR

5:FOR 1 to DO %

6 :

i

i iD k R R k

i

j d destruction phase

k U n

j d construction phase

best permutation obtai

7:END FOR

Rj Dned by inserting job in all position of

1 、初始化随机产生 N 个个体,对每个个体应用 NEH 启发式算法构建,然后执行 DC 步骤(拆解与重组)。(1 5 2 3 0 4)

(1 5) or (5 1)

(2 0 4 5 3 1)

(5 1) (2 5 1) or (5 2 1) or (5 1 2)

1k 5k

(0 4 5 1) and (2 3)

(2 0 4 5 1)(0 2 4 5 1)(0 4 2 5 1)(0 4 5 2 1)(0 4 5 1 2)

(2 0 4 5 1)

(2 0 4 3 5 1)

Page 12: 仿电磁学算法 ( EM )

2 、计算电荷量

FOR END:3

))()((

)()(exp :2

DO TO 1 FOR:1

()COM_CHARGE ALGORITHM

1

N

j

bestj

bestii

ff

ffnq

Ni

(2 0 4 3 5 1) 398 q=0.804404(4 3 2 5 0 1) 655 q=0.232074(1 4 0 2 3 5) 353 q=1(2 0 4 5 3 1) 833 q=0.0981123

Page 13: 仿电磁学算法 ( EM )

3 、粒子移动

在 DEM算法中,通过引入交叉与变异因子来模拟电磁学中的吸引——排斥机制。

在这种方法中,当 )()( ji ff 时,粒子 i倾向于吸引粒子 j中的基因(工件);

而当 )()( ji ff 时,粒子 i倾向于排斥粒子 j中的基因。这种方法了避免了实

值计算,又模拟出了吸引——排斥机制。

Page 14: 仿电磁学算法 ( EM )
Page 15: 仿电磁学算法 ( EM )
Page 16: 仿电磁学算法 ( EM )

''

'

ALGORITHM SWAP( )

1: generate an integer value [ (1, )] as is not empty

2:FOR 1 to DO

3: swap with

4 : IF ( ) is updated THEN

5: 1

6 : ELSE

7: sw

I

ik

i ik k

i

k U n DC

k n

f

k n

'ap with

8 : END IF

9:END FOR

i ik k

( , , 2,3, , )iDC ' 4k

2 0 4 3 5 1

3 0 4 2 5 1

3 0 4 2 5 13 0 4 2 5 1

0 3 4 2 5 1

1k 2k

2 0 4 3 5 1

Page 17: 仿电磁学算法 ( EM )

2.5. Referenced local search

IF END:7

:6

THEN )()( IF:5

),(RIS:4

)DC(:3

)insert(:2

:1

)RLS( ALGORITHM

*

*

**

**

**

*

best

best

R

best

best

ff

0 3 4 2 5 1

1, 5g r

3 4 2 5 0 1

Page 18: 仿电磁学算法 ( EM )

WHILEEND:14

1 :13

IF END :12

1 :11

ELSE :10

1 :9

:8

THEN )()( IF :7

ofposition any in job insertingby obtained sequencebest :6

in job tocorrespondwhich , from job remove :5

(mod) :4

DO WHILE:3

1:2

1:1

),RIS( ALGORITHM

1*

*1

0*

1

R**0

*

hh

ii

i

ff

nhh

ni

i

h

k

Rhk

R

参考序列( 1 3 5 4 2 0 )

当前序列( 3 4 2 5 0 1 )

( 3 4 2 5 0 ) 1

( 1 3 4 2 5 0 )( 3 1 4 2 5 0 )( 3 4 1 2 5 0 )( 3 4 2 1 5 0 )( 3 4 2 5 1 0 )( 3 4 2 5 0 1 )

( 3 4 1 2 5 0 )

( 3 4 1 2 5 0 )( 4 3 1 2 5 0 )( 4 1 3 2 5 0 )( 4 1 2 3 5 0 )( 4 1 2 5 3 0 )( 4 1 2 5 0 3 )

Page 19: 仿电磁学算法 ( EM )

Thanks for your attention!