基于蚁群算法的多目标优化

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
考虑这样一个极端的情况根据信息素更新式5可知当一个蚂蚁在迭代过程中一次都没有进入集合at此时该蚂蚁的信息素在tmax后为体蚂蚁而言存在通过引理1引理2可知在搜索过程中任何蚂蚁的信息素于概率公式以概率确定种群内的其他蚂蚁作为搜索方向
第 35 卷 第 15 期 Vol.35 No.15
计算机工程 Computer Engineering
(6)若 t 大于最大迭代次数,退出;否则,转到步骤(2)。
4 种群多样性分析
在利用蚁群算法求解多目标优化问题时,希望算法的种
群在迭代过程中能够保持种群多样性,区别于单目标优化时
聚集于最优点附近。本节将对算法的种群多样性进行初步的
分析。
引理 1 令 δmax 为所求多目标优化问题的真实 Pareto 解集
高且距离近的蚂蚁应以更高概率选为下一步的移动方向。这
时,转移概率为
Pij (t) =
τ
α j
(t
)
⋅ηiβj
(t
)

τ
α l
(t
)
⋅ηiβl
(t
)
(6)
l∈M
其中, ηij (t ) = 1 dij ,dij 为蚂蚁 i 和蚂蚁 j 之间的距离。
通过上述的策略,蚂蚁不仅会对集合 A(t)中较为稀疏的
·人工智能及识别技术·
文章编号:1000—3428(2009)15—0168—02 文献标识码:A
基于蚁群算法的多目标优化
2009 年 8 月 August 2009
中图分类号:TP18
池元成,蔡国飙
(北京航空航天大学宇航学院,北京 100083)
摘 要:针对多目标优化问题,提出一种用于求解多目标优化问题的蚁群算法。该算法定义连续空间内求解多目标优化问题的蚁群算法的 信息素更新方式,根据信息素的概率转移和随机选择转移策略指导蚂蚁进行搜索,保证获得的 Pareto 前沿的均匀性以及 Pareto 解集的多样 性。对算法的收敛性进行分析,利用 2 个测试函数验证算法的有效性。 关键词:蚁群算法;多目标优化;收敛性分析
k ij
(t)
表示第
k
只蚂蚁在
该路径上留下的信息素,是所经过总路径长度的函数。
3 求解多目标优化问题的蚁群算法
对于单目标优化问题,基本蚁群算法的基于转移概率的 搜索机制以及信息素的更新方式,有助于指导蚁群群体朝着 信息素浓度高的区域进行搜索,使得蚂蚁聚集在空间内的某 一区域,最终找到全局最优解。然而,对于多目标优化问题 而言,其解的优劣是相对的,不存在绝对最优,因此,通常 会获得一个 Pareto 解集。由于 Pareto 解集中的点都可作为设 计者的最优解,因此要求所获得的非劣解集要尽量逼近所求 问题的真实 Pareto 解集,并且获得的 Pareto 前沿要具有较好
区域搜索,还会对其他蚂蚁所在的位置进行搜索。为了加快
收敛速度,还引入了基于随机数的搜索机制。对于给定的[0,1]
之间常数 w,当随机数 z(∈[0,1]) ≤ w 时,按照上述的转移概率
移动;而当 z > w 时,从集合 A(t)中任意选取的解作为蚂蚁 i
的下一步移动方向,并对该解的邻域进行搜索。
综上所述,求解多目标优化问题的蚁群算法具体步骤
作者简介:池元成(1981-),男,博士研究生,主研方向:优化算法; 蔡国飙,教授 收稿日期:2009-02-15 E-mail:chiyuancheng@
的均匀性和散布范围。
基于上述的分析,对基本蚁群算法的信息素的更新方式
做了新的定义。由于是在连续域内,因此区别于离散域的情
形,令信息素只留存于蚂蚁所在位置。为了更好地指导蚂蚁
究对象是多于一个的目标函数在给定区域上的最优化问题。
它可描述为
min f (x) = ( f1(x), f2 (x),", fn (x))
(1)
s.t. x ∈ S
其中,fi(x)(i=1,2,…,n)为目标函数;S 为 D 维可行空间。对于 多目标优化问题而言,每个分目标之间没有好坏之分,不存
在比其中至少一个目标好而其他目标也不劣的更好解,且解
集内的元素就所有目标而言是彼此不可比较的。
然而,在利用蚁群算法解决多目标优化问题时,由于蚂
蚁之间的信息素正反馈交流方式会使蚂蚁群体倾向于集中在
可行空间内的某一区域,因此不利于多目标问题的求解。为
此,本文结合多目标优化问题的求解特点,提出了一种求解
多目标优化问题的蚁群算法。
2 蚁群算法
下面以 TSP 问题为例给出基本蚁群算法的思想[2]。
成功应用于著名的旅行商问题(Traveling Salesman Problem, TSP)。由于算法具有天生的并行性、较强的鲁棒性[2]以及容
易编程实现,因此在很多领域都得到了较好的应用。
多目标优化问题(Multi-objective Optimization Problem,
MOP)是在科学研究和工程实践中普遍存在的一类问题,其研
else
其中,k=1,2,…,M; i, j=1,2,…,N;τij(t)为城市 i 和城市 j 之间路
径 上 的 信 息 素 ; ηij(t) 为 启 发 信 息 , 一 般 取 为 ηij (t ) = 1 dij
(dij 为城市 i 和城市 j 之间的距离);α 和 β 为启发式因子; allowedt 表示 t 时刻为止蚂蚁 k 未经过的城市的集合。
t 时刻,该蚂蚁一直进入解集 A(t),则它的信息素更新为
( ) ( ) ( ) τi t* + t = ρ ⋅τi t* + t −1 + δ t* + t −1 =
( ) ( ) ( ) ρt ⋅τi
t*
+
t −1

ρl
⋅δ
t* + l
≤ ρ t ⋅τi
t*
+
t −1

ρ
l
⋅ δ max
l =1
l =1
则,当
t


时,有
( ) limτ
t→∞
i
t
≤ lim ρ t t→∞
⋅τ
i
(
t
)
+
lim
t→∞
δ max 1− ρ
=
δ max 1− ρ

所以,存在 τ
使得
limτ
t→∞
i
(
t
)
=
τ
≤ δmax 1− ρ

引理 2 对于任意蚂蚁而言,信息素 τi(t)在有限的迭代次
数下存在下界 τ = ρImax ⋅τi (0) ,其中,Imax 为最大迭代次数, 使得 τi (t) ≥τ 。
的最大扩散范围,如果蚂蚁在第 t*次时刻开始每次都能进入
到解集
A(t),



limτ
t→∞
i
(t
)

≤ δmax 1− ρ

证明:如果在第 t*次迭代时,蚂蚁第 1 次进入到解集 A(t),
( ) ( ) ( ) 则它的信息素更新为 τi t* = ρ ⋅τi t* −1 + δ t* −1 ;在此后的
设城市数为 N,蚂蚁数为 M,则在 t 时刻,第 k 只蚂蚁
从城市 i 转到 j 的转移概率 Pijk (t) 为
—168—
( ) ( ) ( ) ( ) Pijk
(t)
=
பைடு நூலகம்
⎧ ⎪⎪ ⎨ ⎪
τ
α ij

l∈allowedt
t
τ
α il
⋅ηiβj t
t ⋅ηiβl
t
j ∈ allowedt
(2)
⎪⎩ 0
【Abstract】Aiming at multi-objective optimization problem, this paper proposes an Ant Colony Algorithm(ACA) for solving Multi-objective Optimization Problem(MOPACA). An improved pheromone updating process based on continuous space is described. Two moving strategies are used in the searching process to ensure better solutions. Convergence property of the algorithm is analyzed. Preliminary simulation results of two benchmark functions show the feasibility of the algorithm. 【Key words】Ant Colony Algorithm(ACA); multi-objective optimization; convergence analysis
蚂蚁每走过一个路径都要在该路径上留下信息素,为了
避免算法陷入局部最优,引入了信息素挥发机制。这样,信
息素的更新按照以下方式进行:
τij (t +1) = ρ ⋅τij (t) + Δτij (t)
(3)
Δτ ij
(t)
=
M

Δτ
k ij
(t)
(4)
k =1
其中,ρ
为挥发系数,且
ρ
∈ [0,1]

Δτ
Multi-objective Optimization Based on Ant Colony Algorithm
CHI Yuan-cheng, CAI Guo-biao
(School of Astronautics, Beijing University of Aeronautics and Astronautics, Beijing 100083)
1 概述
蚁群算法(Ant Colony Algorithm, ACA)[1]是由 M. Dorigo
等人于 1991 年通过分析蚂蚁群体在自然界的觅食过程,即简
单蚂蚁之间的协同行为演变成群体的高度社会行为的表现中
受到启发而提出的一种仿生算法。其思想是蚂蚁之间通过行
进路线上的信息素正反馈机制找到最优路径。蚁群算法最早
时进入集合 A(t)时,应区别各个蚂蚁的信息素增量。为了
Pareto 前沿的均匀性,将新进入集合 A(t)的蚂蚁 i 与原集合
A(t)中解的目标函数值的最小距离作为蚂蚁 i 在所在位置释
放的信息素。如此,距离越大说明信息素含量越高,会以更
高的概率指引其他蚂蚁对这个蚂蚁的位置邻域做搜索。因此,
信息素更新定义如下:
τi (t +1)
=
⎧⎪ ⎨ ⎪⎩
ρ ρ
⋅τ ⋅τ
i i
(t (t
) )
+
δ
(t
)
if
(x ∈ else
A(t +1))
(5)
其中,δ (t) = min
n

(
fi
( x) −
fi
( xv ))
,
xv ∈ A(t ) ;ρ 为挥发系数。
i=1
蚂蚁 i 的移动与蚂蚁 j 的信息素和距离相关。信息素浓度
对可行空间进行搜索,用一个外部集合 A(t)存放 t 时刻为止
发现的 Pareto 解集。若蚂蚁 i 进入集合 A(t),说明该蚂蚁所
在位置是当前为止不可支配的,应该增加蚂蚁 i 的信息素,
以便让其他蚂蚁对蚂蚁 i 所在位置的邻域进行搜索;相反,
若未能进入集合 A(t),则应适当减小信息素。当多个蚂蚁同
真实 Pareto 前沿,使用了 2 个常用的基准测试函数。
(1)测试函数 ZDT3
min f1 ( x) = x1

min f2 ( x) = g ( x) ⋅ ⎢1−
⎢⎣
x1
g ( x)

x1
g ( x)
⋅ sin
(10 ⋅ π ⋅

x1 )⎥
⎥⎦
g
(
x
)
=
1+
n
9 −1
n

i=2
xi
0 ≤ x1 ≤1, 0 ≤ x2 ≤1
息素 τi ∈[τ ,τ ] 。即由于信息素存在上下限,使得蚂蚁能够基
于概率公式以概率确定种群内的其他蚂蚁作为搜索方向。再
加上基于随机数的移动方式,新的改进多目标蚁群算法可以
在迭代运行过程中能够保持种群多样性,有利于多目标优化
的问题。
5 算例测试
为了验证 MOPACA 能否收敛到所求多目标优化问题的
证明:考虑这样一个极端的情况,根据信息素更新式(5)
可知,当一个蚂蚁在迭代过程中,一次都没有进入集合 A(t),
此时该蚂蚁的信息素在 Tmax 后为 ρTmax ⋅τi (0) 。故对于整个群 体蚂蚁而言,存在 τi (t ) ≥ τ = ρTmax ⋅τi (0) 。
通过引理 1、引理 2 可知,在搜索过程中任何蚂蚁的信
如下:
(1)初始化蚂蚁在搜索空间 S 中的位置以及集合 A(t),令
t=0。
(2)t=t+1。
(3)产生随机数 z,如果 z ≤ w ,则按照式(6)进行搜索; 若 z > w ,则在集合 A(t)中任意选取的解作为下一步移动方
向做邻域搜索。
(4)更新集合 A(t)。
(5)按照式(5)更新蚂蚁的信息素含量。
(2)测试函数 BNH
min f1 ( x) = 4x12 + 4x22
min f2 ( x) = (x1 − 5)2 + (x2 − 5)2
s.t. ( x1 − 5)2 + x22 ≤ 25
( x1 − 8)2 + ( x2 + 3)2 ≥ 7.7
0 ≤ x1 ≤ 5, 0 ≤ x2 ≤ 3 在测试过程中,令蚂蚁总数为 50, α=β=1, ρ=0.8,每个函
数各运行 20 代。图 1、图 2 分别显示了 MOPACA 对 2 个测
试函数求解得到的 Pareto 前沿。
相关文档
最新文档