求解TSP的改进人工鱼群算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关于近似算法研究 ,值得一提的是 1999 年华人女学者 涂晓媛博士将人工生命的方法引入到计算机动画的创作 中 ,利用动物形态 、习性和行为模型成功地创作了“人工 鱼”,用计算机动画实现了“人工动物”共有的基本特征 —生 物力学 、运 动 、感 知 和 行 为 , 被 学 术 界 称 为“Xiaoyuan ’
(4) 约束行为 :指因为在聚群行为 , 随机行为等操作的 作用下 ,易使得人工鱼的状态变成不可行 , 这时就需要加入 相应的约束来对其进行规整化 ,使其由无效变成可行的 。
(5) 公告板 :是用来记录在寻优过程中得到的最优人 工鱼个体的状态 。各人工鱼个体在寻优过程中 , 每次行动 完毕后就检验自身状态与公告板的状态 , 如果自身状态优 于公告板状态 ,就将公告板的状态改写为自身状态 , 这样就 使公告板记录下历史最优状态 。
Keywords : t raveling salesman p roblem ; artificial fish2school swarm algorit hm ; cross operator ; cross2re2 moving st rategy ; optimization solution
2 TSP 问题
TSP 问题是一类组合优化问题的代表 ,该问题的数学 模型[12] 可描述为
min f ( X)
s. t . g( X) ≥0 , X ∈ D
(1)
式中 , f ( X) 为目标函数 , g ( X) 为约束函数 , X 为决策变量 ,
D 表示有限个点组成的集合 。通常 , 一个组合优化问题可
© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
第 6 期
周永权等 :求解 TSP 的改进人工鱼群算法
·1 459 ·
用三参数 ( D , F , f ) 来表示 , 其中 D 表示决策变量的定义
Distance ( X1 , X2 ) = | X1 - X2 | +| X2 - X1 | (2) 表示不同时属于 X1 和 X2 的元素的个数 。
定义 2 对于组合优化问题 ( D , F , f )
N ( X , k) = { X′| Distance ( X , X′) < k , X′∈ D} (3)
收稿日期 :2008203218 ; 修回日期 :2008205219 。 基金项目 :国家自然科学基金项目(60461001) ;广西自然科学基金项目(0832082 ;0991086) ;国家民族事务委员会科研项目(08 GX01) 资助课题 作者简介 :周永权 (19622) ,男 ,教授 ,博士 ,主要研究方向为计算智能 ,神经网络 。E2mail :yongquanzhou @126. co m
加 。作者在这方面作了一些仿真实验 , 实验结果表明 , 交叉
概率采用 0. 3~0. 5 之间的值 ,可获得较好地效果 。
3. 3 去交叉局部优化策略
判断两条路径是否存在交叉的原理[14] 如下 。
向前进最快 。最终人工鱼集结在几个局部极值的周围 , 且
值较优的极值区域周围一般能集结较多人工鱼 。
3. 2 带交叉算子的 AFSA
A FSA 具有把握搜索方向和在一定程度上避免陷入局
部最优的特性 ,但当一部分人工鱼处于漫无目的的随机移
动或人工鱼群在非全局极值点出现较严重拥挤情况时 ,收
敛速度将大大减慢 ,使得搜索精度也大大降低 。为了克服
( Coll. of M at hem atics an d Com p uter S cience , Guan g x i Uni v . f or N ationalities , N anni n g 530006 , Chi na)
Abstract : To improve t he artificial fish2school swarm algorit hm , t he cross operator of t he genetic algorit hm and t he cro ss2removing st rategy are used to solve t he t raveling salesman problem ( TSP) . The experiment re2 sult s show t hat t he algorit hm , wit h t he smaller pop ulations and t he fewer number of iteratio ns , can converge to t he current optimal solutio n of t he TSP problem.
此缺点 ,本文引入了类似遗传算法中的交叉算子 。为判断
随迭代次数增加搜索结果是否有改进 ,在算法中设立公告
板以此来记录最优人工鱼个体状态 。每条人工鱼在行动一
次后将自身当前状态的函数值与公告板进行比较 ,如果优
于公告板 ,则用自身状态取代公告板状态 。当最优个体在
连续多个迭代过程中没有改变或变化很小时 ,则用交叉操
信息 ,只需要对问题进行优劣的比较 ,有着较快的收敛速 度 。对于求解组合优化中依然继承了这些特点 , 但对于 TSP 问题所求的解的精度并不高 。
本文主要工作针对 TSP 问题 ,结合遗传算法交叉算 子 ,并引入了去交叉策略[10211] ,对人工鱼群算法进行了改 进 ,提出了一种改进型人工鱼群算法 ,并将改进后算法用于 求解 TSP 问题. 计算机仿真实验结果表明 ,相比目前文献 报道已有的一些 TSP 求解算法 ,改进后的工鱼群算法可在 较快的时间内获得 TSP 问题最优解 。
作 ,保留历史最优人工鱼个体状态 , 将其他人工鱼按一定
的概率对少部分鱼进行交叉 。
通过把遗传算法的交叉机制引入 ,实现了对鱼群中人
工鱼个体的跳变 ,从而调整优化了群体 ,在提高了 A FSA 的
收敛速度的同时保证了全局搜索能力 。交叉概率的选择对
算法的性能会产生较大的影响 , 过高将使搜索时间大大增
称为 X 的 k —距离领域 , X′∈N ( X , k) 称为 X 的一个邻居 。
定义 3 对于组合优化问题 ( DBaidu Nhomakorabea, F , f )
mm
Center ( X1 , X2 , …, Xm ) = ∪∪ Xi ∩ Xj
(4)
i =1 j =1
j ≠i
称为决策变量 X1 , X2 , …, Xm 的中心 。
(广西民族大学数学与计算机科学学院 , 广西 南宁 530006)
摘 要 : 利用遗传算法的交叉算子 ,并引入去交叉策略 ,对人工鱼群算法进行了改进 ,提出了一种改进型人工 鱼群算法 ,并将该算法用于求解旅行商问题 (t raveling salesman p roblem , TSP) 这一经典的 N P 难问题 。通过实验 仿真与目前 TSP 已知最优解进行对比分析 , 结果表明 ,改进后的人工鱼群算法在种群规模较小 ,迭代次数较少的 情况下也可以收敛到已知最优解 。
(2) 聚群行为 :指每条鱼在游动过程中尽量向临近伙 伴的中心移动并避免过分拥挤 。
人工鱼 Xi 搜索其视野内的伙伴数目及中心位置 , 若 伙伴中心位置状态较优且不太拥挤 ,则 Xi 朝伙伴的中心位 置方向前进一步 ,否则执行觅食行为 。
(3) 追尾行为 :指鱼向临近的最活跃者追捉的行为 。 人工鱼 Xi 搜索其视野内的所有伙伴中函数值为最小的伙 伴 ,如果最小伙伴状态较优且其周围不太拥挤 , 则 Xi 朝最 小伙伴的方向前进一步 ,否则执行觅食行为 。
(6) 移动策略 :是对人工鱼当前所处的环境进行评价 ,
从而选择一种合适的行为策略 。这里按照进步最快的原
则 ,先进行追尾行为 , 如果没有进步再进行觅食行为 , 如果
还没有进步则进行聚群行为 , 如果依然没有进步就进行随
机行为 。
基于人工鱼群的行为描述 , 每条人工鱼探索它当前所
处的环境状况 ,从而选择一个合适的行为 , 使得向最优方
第 31 卷 第 6 期 2009 年 6 月
文章编号 :10012506X(2009) 0621458204
系统工程与电子技术 Systems Engineering and Elect ro nics
Vol. 31 No . 6 J un. 2009
求解 TSP 的改进人工鱼群算法
周永权 , 谢竹诚
关键词 : 旅行商问题 ; 人工鱼群算法 ; 交叉算子 ; 去交叉策略 ; 最优解 中图分类号 : TP 18 文献标志码 : A
Improved artif icial f ish2school swarm algorithm f or solving TSP
ZHOU Yo ng2quan , XIE Zhu2cheng
(1) 觅食行为 :指鱼向着食物多的方向游动的一种行 为 。人工鱼 Xi 在其视野范围内随机选择一个状态 X j ,如发 现比当前状态 Xi 好 ,则向状态 Xj 方向前进一步使得 X i 到 达一个新的较好状态 ; 否则 , Xi 继续在其视野内重新随机 选择状态 X j ,判断是否满足前进条件 , 反复尝试几次后 , 如 果仍没有找到更优的状态 ,则随机移动一步使得 Xi 到达一 个新的状态 。
Fish”[8] 。2002 年李晓磊等人提出了一种新型的自适应寻 优算法 ———人工鱼群算法 (artificial fish2swarm algorit hm , A FSA) [9] ,它是一种基于动物自治体的优化方法 ,它是集群 智能思想的一个具体应用 ,它能很好地解决非线性函数优 化[8] 等问题 。它的主要特点是不需要了解所求问题的特殊
0 引 言
TSP 问题 (旅行商) 是经典的组合优化问题之一 ,作为 一个 N P 难问题 。并且 ,在许多工程应用问题中 ,如网络布 线 、物流配送 、电路板钻孔等 ,都可归结为 TSP 求解问题 。 因此 ,寻找一种有效地解决 TSP 问题算法具有重要的理论 价值和应用背景 。迄今为止 ,人们已提出了许多有效地解 决 TSP 问题的算法 ,归结起来 ,大致可分为两类 :精确算法 和近似算法[1] 。精确算法就是找到 TSP 问题的最优解 ,包 括分技定界法[2] 、割平面法 、分解法等 ,这些算法只能计算 小规模的问题 ,并且算法实现比较复杂 ,实际应用中存在很 大的局限性 。近似算法是在合理的时间内寻找 TSP 问题 相对较优的解 ,主要有近邻法[3] 、边交换法 、退火算法[4] 、蚂 蚁算法[5] 、神经网络算法[6] 、遗传算法[7] 、混合优化算法等 , 这类算法特点是模拟自然界生物进化过程与机制求解优化 与搜索原理的一类自组织 、自适应人工智能技术 ,主要是面 向具有大规模应用背景的问题 。
3 带交叉算子的人工鱼群算法
3. 1 人工鱼群算法 人工鱼群算法 (artificial fish swarm algorit hm , A FSA)
是一种新型的寻优算法 , 该算法模拟鱼集群游弋觅食的行 为 , 通过鱼群之间的集体协作使群体达到目的 。在 A FSA 中 , 每个备选解被称为一条“人工鱼”,多条人工鱼共存 ,合 作寻优 (类似鱼群寻找食物) 。A FSA 初始化为一群人工鱼 (随机解) ,通过迭代搜寻最优解 , 在每次迭代过程中 , 人工 鱼通过觅食 、聚群及追尾等行为来更新自己 , 从而实现寻 优 。人工鱼的行为描述如下 。
域 , F 表示可行解域 : F = { X| X ∈D , g ( X) ≥0} , f 表示目标
函数 ,满足 f ( X′) = min { f ( X) | X ∈F} 的可行解 X′称为问
题的最优解 。
为了便于用人工鱼群算法求解 TSP 问题 , 我们引进以
下相关定义[13] 。
定义 1 对于组合优化问题 ( D , F , f ) , 决策变量 X1 和 X2 之间的距离表示如下
(4) 约束行为 :指因为在聚群行为 , 随机行为等操作的 作用下 ,易使得人工鱼的状态变成不可行 , 这时就需要加入 相应的约束来对其进行规整化 ,使其由无效变成可行的 。
(5) 公告板 :是用来记录在寻优过程中得到的最优人 工鱼个体的状态 。各人工鱼个体在寻优过程中 , 每次行动 完毕后就检验自身状态与公告板的状态 , 如果自身状态优 于公告板状态 ,就将公告板的状态改写为自身状态 , 这样就 使公告板记录下历史最优状态 。
Keywords : t raveling salesman p roblem ; artificial fish2school swarm algorit hm ; cross operator ; cross2re2 moving st rategy ; optimization solution
2 TSP 问题
TSP 问题是一类组合优化问题的代表 ,该问题的数学 模型[12] 可描述为
min f ( X)
s. t . g( X) ≥0 , X ∈ D
(1)
式中 , f ( X) 为目标函数 , g ( X) 为约束函数 , X 为决策变量 ,
D 表示有限个点组成的集合 。通常 , 一个组合优化问题可
© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
第 6 期
周永权等 :求解 TSP 的改进人工鱼群算法
·1 459 ·
用三参数 ( D , F , f ) 来表示 , 其中 D 表示决策变量的定义
Distance ( X1 , X2 ) = | X1 - X2 | +| X2 - X1 | (2) 表示不同时属于 X1 和 X2 的元素的个数 。
定义 2 对于组合优化问题 ( D , F , f )
N ( X , k) = { X′| Distance ( X , X′) < k , X′∈ D} (3)
收稿日期 :2008203218 ; 修回日期 :2008205219 。 基金项目 :国家自然科学基金项目(60461001) ;广西自然科学基金项目(0832082 ;0991086) ;国家民族事务委员会科研项目(08 GX01) 资助课题 作者简介 :周永权 (19622) ,男 ,教授 ,博士 ,主要研究方向为计算智能 ,神经网络 。E2mail :yongquanzhou @126. co m
加 。作者在这方面作了一些仿真实验 , 实验结果表明 , 交叉
概率采用 0. 3~0. 5 之间的值 ,可获得较好地效果 。
3. 3 去交叉局部优化策略
判断两条路径是否存在交叉的原理[14] 如下 。
向前进最快 。最终人工鱼集结在几个局部极值的周围 , 且
值较优的极值区域周围一般能集结较多人工鱼 。
3. 2 带交叉算子的 AFSA
A FSA 具有把握搜索方向和在一定程度上避免陷入局
部最优的特性 ,但当一部分人工鱼处于漫无目的的随机移
动或人工鱼群在非全局极值点出现较严重拥挤情况时 ,收
敛速度将大大减慢 ,使得搜索精度也大大降低 。为了克服
( Coll. of M at hem atics an d Com p uter S cience , Guan g x i Uni v . f or N ationalities , N anni n g 530006 , Chi na)
Abstract : To improve t he artificial fish2school swarm algorit hm , t he cross operator of t he genetic algorit hm and t he cro ss2removing st rategy are used to solve t he t raveling salesman problem ( TSP) . The experiment re2 sult s show t hat t he algorit hm , wit h t he smaller pop ulations and t he fewer number of iteratio ns , can converge to t he current optimal solutio n of t he TSP problem.
此缺点 ,本文引入了类似遗传算法中的交叉算子 。为判断
随迭代次数增加搜索结果是否有改进 ,在算法中设立公告
板以此来记录最优人工鱼个体状态 。每条人工鱼在行动一
次后将自身当前状态的函数值与公告板进行比较 ,如果优
于公告板 ,则用自身状态取代公告板状态 。当最优个体在
连续多个迭代过程中没有改变或变化很小时 ,则用交叉操
信息 ,只需要对问题进行优劣的比较 ,有着较快的收敛速 度 。对于求解组合优化中依然继承了这些特点 , 但对于 TSP 问题所求的解的精度并不高 。
本文主要工作针对 TSP 问题 ,结合遗传算法交叉算 子 ,并引入了去交叉策略[10211] ,对人工鱼群算法进行了改 进 ,提出了一种改进型人工鱼群算法 ,并将改进后算法用于 求解 TSP 问题. 计算机仿真实验结果表明 ,相比目前文献 报道已有的一些 TSP 求解算法 ,改进后的工鱼群算法可在 较快的时间内获得 TSP 问题最优解 。
作 ,保留历史最优人工鱼个体状态 , 将其他人工鱼按一定
的概率对少部分鱼进行交叉 。
通过把遗传算法的交叉机制引入 ,实现了对鱼群中人
工鱼个体的跳变 ,从而调整优化了群体 ,在提高了 A FSA 的
收敛速度的同时保证了全局搜索能力 。交叉概率的选择对
算法的性能会产生较大的影响 , 过高将使搜索时间大大增
称为 X 的 k —距离领域 , X′∈N ( X , k) 称为 X 的一个邻居 。
定义 3 对于组合优化问题 ( DBaidu Nhomakorabea, F , f )
mm
Center ( X1 , X2 , …, Xm ) = ∪∪ Xi ∩ Xj
(4)
i =1 j =1
j ≠i
称为决策变量 X1 , X2 , …, Xm 的中心 。
(广西民族大学数学与计算机科学学院 , 广西 南宁 530006)
摘 要 : 利用遗传算法的交叉算子 ,并引入去交叉策略 ,对人工鱼群算法进行了改进 ,提出了一种改进型人工 鱼群算法 ,并将该算法用于求解旅行商问题 (t raveling salesman p roblem , TSP) 这一经典的 N P 难问题 。通过实验 仿真与目前 TSP 已知最优解进行对比分析 , 结果表明 ,改进后的人工鱼群算法在种群规模较小 ,迭代次数较少的 情况下也可以收敛到已知最优解 。
(2) 聚群行为 :指每条鱼在游动过程中尽量向临近伙 伴的中心移动并避免过分拥挤 。
人工鱼 Xi 搜索其视野内的伙伴数目及中心位置 , 若 伙伴中心位置状态较优且不太拥挤 ,则 Xi 朝伙伴的中心位 置方向前进一步 ,否则执行觅食行为 。
(3) 追尾行为 :指鱼向临近的最活跃者追捉的行为 。 人工鱼 Xi 搜索其视野内的所有伙伴中函数值为最小的伙 伴 ,如果最小伙伴状态较优且其周围不太拥挤 , 则 Xi 朝最 小伙伴的方向前进一步 ,否则执行觅食行为 。
(6) 移动策略 :是对人工鱼当前所处的环境进行评价 ,
从而选择一种合适的行为策略 。这里按照进步最快的原
则 ,先进行追尾行为 , 如果没有进步再进行觅食行为 , 如果
还没有进步则进行聚群行为 , 如果依然没有进步就进行随
机行为 。
基于人工鱼群的行为描述 , 每条人工鱼探索它当前所
处的环境状况 ,从而选择一个合适的行为 , 使得向最优方
第 31 卷 第 6 期 2009 年 6 月
文章编号 :10012506X(2009) 0621458204
系统工程与电子技术 Systems Engineering and Elect ro nics
Vol. 31 No . 6 J un. 2009
求解 TSP 的改进人工鱼群算法
周永权 , 谢竹诚
关键词 : 旅行商问题 ; 人工鱼群算法 ; 交叉算子 ; 去交叉策略 ; 最优解 中图分类号 : TP 18 文献标志码 : A
Improved artif icial f ish2school swarm algorithm f or solving TSP
ZHOU Yo ng2quan , XIE Zhu2cheng
(1) 觅食行为 :指鱼向着食物多的方向游动的一种行 为 。人工鱼 Xi 在其视野范围内随机选择一个状态 X j ,如发 现比当前状态 Xi 好 ,则向状态 Xj 方向前进一步使得 X i 到 达一个新的较好状态 ; 否则 , Xi 继续在其视野内重新随机 选择状态 X j ,判断是否满足前进条件 , 反复尝试几次后 , 如 果仍没有找到更优的状态 ,则随机移动一步使得 Xi 到达一 个新的状态 。
Fish”[8] 。2002 年李晓磊等人提出了一种新型的自适应寻 优算法 ———人工鱼群算法 (artificial fish2swarm algorit hm , A FSA) [9] ,它是一种基于动物自治体的优化方法 ,它是集群 智能思想的一个具体应用 ,它能很好地解决非线性函数优 化[8] 等问题 。它的主要特点是不需要了解所求问题的特殊
0 引 言
TSP 问题 (旅行商) 是经典的组合优化问题之一 ,作为 一个 N P 难问题 。并且 ,在许多工程应用问题中 ,如网络布 线 、物流配送 、电路板钻孔等 ,都可归结为 TSP 求解问题 。 因此 ,寻找一种有效地解决 TSP 问题算法具有重要的理论 价值和应用背景 。迄今为止 ,人们已提出了许多有效地解 决 TSP 问题的算法 ,归结起来 ,大致可分为两类 :精确算法 和近似算法[1] 。精确算法就是找到 TSP 问题的最优解 ,包 括分技定界法[2] 、割平面法 、分解法等 ,这些算法只能计算 小规模的问题 ,并且算法实现比较复杂 ,实际应用中存在很 大的局限性 。近似算法是在合理的时间内寻找 TSP 问题 相对较优的解 ,主要有近邻法[3] 、边交换法 、退火算法[4] 、蚂 蚁算法[5] 、神经网络算法[6] 、遗传算法[7] 、混合优化算法等 , 这类算法特点是模拟自然界生物进化过程与机制求解优化 与搜索原理的一类自组织 、自适应人工智能技术 ,主要是面 向具有大规模应用背景的问题 。
3 带交叉算子的人工鱼群算法
3. 1 人工鱼群算法 人工鱼群算法 (artificial fish swarm algorit hm , A FSA)
是一种新型的寻优算法 , 该算法模拟鱼集群游弋觅食的行 为 , 通过鱼群之间的集体协作使群体达到目的 。在 A FSA 中 , 每个备选解被称为一条“人工鱼”,多条人工鱼共存 ,合 作寻优 (类似鱼群寻找食物) 。A FSA 初始化为一群人工鱼 (随机解) ,通过迭代搜寻最优解 , 在每次迭代过程中 , 人工 鱼通过觅食 、聚群及追尾等行为来更新自己 , 从而实现寻 优 。人工鱼的行为描述如下 。
域 , F 表示可行解域 : F = { X| X ∈D , g ( X) ≥0} , f 表示目标
函数 ,满足 f ( X′) = min { f ( X) | X ∈F} 的可行解 X′称为问
题的最优解 。
为了便于用人工鱼群算法求解 TSP 问题 , 我们引进以
下相关定义[13] 。
定义 1 对于组合优化问题 ( D , F , f ) , 决策变量 X1 和 X2 之间的距离表示如下