一种模拟渔夫捕鱼的寻优算法
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 8期
王 勇 ,等 : 一种模拟渔夫捕鱼的寻优算法
・2 8 89・
是连续函数 。渔夫的目标就是在 D 中搜寻鱼的密度最大点处 和最优区域 (即寻找 f ( X ) 的最大值点和最优区域 ) 。 设初始时 , D 中随机地分布有 k 个渔夫 , 并设 i渔夫的初 始位置和初次撒下鱼网位置为 P0
(- ) j
≥0, l
( - ) j ( +) j
( +) j
≥0, x
- l
( - ) j
∈D j , x
+l
( +) j ( i) 0j
∈
=
( i) Ωm X ( i) ∈
f (X
) >f(P
( i) m +1
) , 则 i渔夫找到水中鱼的 , 并从当前位置 Pm 移动
( i)
D j。并且当 x bj 时 , 取 l
X 0 ≠P0 , t = 1, 2, …, k (即在点 X 0 处鱼的密度比点 P0 处鱼
的密度高 ) , 则 i渔夫从当前位置 P0 移到新位置 P1
( ( i) (
( i)
( i) (
= X0 ,
其中 : l′ j
( )
( i)
′i) ′+ { xm i) , xm i) } , j = 1, 2, …, n} j - lj j , xm j + lj
ing, SFOA ) 。
移到何处去撒网 ; c) 避免在同一地点重复撒网的现象发生 ,也 就是说 ,如果已有渔夫在此处撒网 , 别的渔夫就不会在相同的 地点下网 ; d )如果发现当前自己所处的位置鱼的密度比较大 , 则采用收缩撒网范围的办法 ,希望能“ 一网打尽 ” 。 本文正是基于渔夫这一捕鱼行为习惯而提出了一种模仿 渔夫捕鱼行为特征的搜索方法 。该方法首先在搜索空间 D (即 捕鱼作业区 ) 中随机先取若干个点 (即这若干个渔夫各自在作 业区中随机选取一点并撒下鱼网 ) 。其次 , 以每一个选中点为 中心各构造一个方体 (即各个渔夫又在自己当前位置的前后 左右再各撒下一次网 ) 。第三 , 各个方体依自己所处的环境条 件独立实施移动搜索或收缩搜索 (即各个渔夫依据自己所处 的环境条件独立选择移动搜索或收缩搜索 ) , 最终完成全局最 优解的搜寻过程 (即渔夫们最终找到鱼密度最大的位置 ) 。综 上所述 , 本文提出的搜索算法主要采用移动搜索和收缩搜索两 个基本策略 。 假设 D 中鱼的密度不因渔夫在 D 上打鱼而发生改变 。 所谓 n 维空间中的方体即为空间中的立方体 (二维时为 矩形 , 一维时为闭区间 ) 。所谓方体的移动即方体在空间中从 某一处移到另一处 。所谓方体的收缩即方体的边长收缩变短 。 设 D = D1 × D2 × …× D n 为有限闭区域 (即鱼夫打鱼作业 区 ) , X = ( x1 , x2 , …, xn ) ∈D 为状态 。其中 x j ∈D j = [ a j , bj ]; j =
收稿日期 : 2008 209 225; 修回日期 : 2009 201 206 基金项目 : 广西省自然科学基金资助项目 ( 0832084) 作者简介 : 王勇 ( 1964 2) ,男 (壮族 ) ,广西龙州人 ,副教授 ,硕导 ,博士 ,主要研究方向为智能计算 、 数据挖掘和有限群等 (wangygxnn@ sina. com ) ; 陈建荣 ( 1982 2) ,男 ,广西百色人 ,硕士 ,主要研究方向为智能计算和数据挖掘 ; 庞兴 ( 1981 2) , 男 , 陕西汉中人 , 硕士 , 主要研究方向为智能计算和数 据挖掘 .
3
摘 要 : 基于模拟渔夫捕鱼行为习惯而提出了一种新的搜索算法 。该算法采用如下策略 : 首先在搜索域中随机 选取若干个点 ,并以每一个被选中的点为中心各自构建一个方体 ; 其次通过各个方体的独立移动搜索和收缩搜 索 ,最终完成全局最优解的搜寻 。实例测试结果表明 ,该算法具有较好的搜索性能 ,因而该寻优算法是有效的和 可行的 。 关键词 : 模拟 ; 渔夫捕鱼 ; 寻优算法 ; 方体 ; 移动和收缩搜索 中图分类号 : TP18 文献标志码 : A 文章编号 : 1001 23695 ( 2009 ) 08 22888 203
Abstract: This paper p resented a novel op ti m ization algo rithm based on sim ulating the behavio r and habit of fisher’fishing . The strategy of this algorithm was that some points were random ly selected in the grabbling domain first . A nd a cube was built at every selected point, which its center was at one of these selected points . Secondly, every cube of them was independently used as a tool to exp lore the op tim um points through its moving search and shrinking search, and the global op tim um solution being found out finally . The results of the concrete experim ent indicate that the algo rithm show s its better efficiency of search2 ing the global op tim um solution. So the algorithm is effective and feasible. Key words: si m ulating; fisher’fishing; op tim ization algorithm; cube; moving and di m inishing search
( i)
鱼网一次 , 从而得到其以点 P0 为中心的撒下鱼网点集
Ω0
{
( i)
= {X ( ) lj -
( i)
= ( t1 , t2 , …,
( x0 ji)
( i)
( i)
( tn i)
) |
( tj i)
∈
{ xm i) j - lj
(
( - )
i) , xm i) j , xm j + lj ( i)
目前 ,不少学者已经开展了基于模拟生物的某些行为或习 性而提出的具有智能特征的优化算法的研究 ,并取得了显著的 成绩 。意大利学者 Dorigo 等人 [ 1, 2 ] 通过模拟蚂蚁的群体行为 提出了蚁群算法 ,使之能用来求解复杂的组合优化问题 。美国 数学家 Holland[ 3 ]在 20 世纪 60 年代提出了模拟大自然生物进 化的遗传 算法 , 它是 一 种 随 机 搜 索 的 寻 优 算 法 。李 晓 磊 等 人 [ 4 ]则基于模拟鱼群的游弋和觅食等行为而提出了人工鱼群 算法 (AFSA ) 。总之 ,基于模仿生物的行为特征而提出的智能 算法的研究 ,越来越受到计算机界内学者的重视 。 本文通过对渔夫撒网捕鱼的行为习惯的观察而提出了一 种模仿渔夫捕鱼行为或习惯的寻优算法 ,即一种模拟渔夫捕鱼 的寻优算法 (op tim ization algorithm on sim ulating the fisher’fish2
= aj 时 , 取 l
( - ) j ( i) 0j
= 0, 且 l
( i) 0j
( +) j ( i) 0j
< bj - x ; 当 x
( i) 0j
密度比点 P
还要高的点 P
(
=x
( i) m
= 0, 且 l
<x
- a j; 当 x
≠aj, 且 x
( i) 0j
≠ bj 时 ,
到新的位置 Pm i)+ 1 , 再按前面的方法继续在 D 中搜索 f ( X ) 的极
(
(
( +) ( i) m
} , j = 1, 2, …, n}
( x0 ji)
,
,
( x0 ji)
+
( ) lj + ( i) 0j
} ; j = 1, 2, …, n
若 f (X
( i) 0j
( i) m
) = max
( i) m
其中 : x
( i) 0j
∈D j , l
( i) 0j ( +) j ( i) 0j
= ( x01 , x02 , …, x
( i)
( i)
) (i=
夫在当前位置 Pm i) 的前后上下左右再撒下鱼网各一次 , 得到 一个下网点集为
( i) ( i) Ωm ) | tj( i) ∈ = { X ( i) = ( t1( i) , t2( i) , …, tn
(
1, 2, …, k ) 。 i渔夫在初始位置 P0 的前后上下左右再各撒下
1, 2, …, n。而 f (X ) 为 D 中鱼的密度度量函数 (目标函数 ) , 且
采用的策略和方法
1 基本策略 渔夫在江面上撒网捕鱼的行为习惯是刚开始时很随意地 选择江面上一点撒下鱼网 ,然后又在当前下网点的前后左右再 各撒一次网 。另外 ,渔夫撒网捕鱼 ,总希望每次撒网能捕捉到 尽可能多的鱼 ,而水中鱼的密度越大 , 每次撒网能捕捉到的鱼 也就越多 。因而 ,渔夫选择在何处撒网 ; 是基于如下准则的 : a) 哪处鱼的密度大 ,就在哪处下网 ; b) 何处鱼的密度比较大 , 就
第 26 卷第 8 期 2009 年 8 月
计 算 机 应 用 研 究
App lication Research of Computers
Vol . 26 No. 8 Aug . 2009
一种模拟渔夫捕鱼的寻优算法
王 勇 , 陈建荣 , 庞 兴
(广西民族大学 数学与计算机科学学院 , 南宁 530006 )
( ( 值区域乃至极值点 ; 若 f ( Pm i) ) ≥ max f ( X i) ) , 则 i渔夫选择 ( i) Ωm X ( i) ∈
取 l
( - ) j
<x
- aj , 且 l
< bj - x
( i = 1, 2, …, k; j = 1, 2, …, f (X
( i)
n) 。
( i) a)移动搜索 。若 f ( X 0 ) = max ( i) ( i) ( i) ( i) Ω0 X ( i) ∈
( i) ( i)
( 要高的点 P2 i) , …。设经过 m 次操作之后 (其中 m = 0, 1, …,
M , M 为有限正整数 , m = 0 表示渔夫位于初始位置 ) , k 个渔夫
( ( ( i) ( i) 的位置变为 Pm i) = ( xm i) 1 , xm 2 , …, xm n ) , i = 1, 2, …, k。此时 , i渔 ( i) 0n
( ( ) ( ( ( ) (- ) ( +) ( +) ′ =αlj , lj =αlj , 0 <α < 1, α为收缩系数 ; 若在
并以 P1 i) 为新的中心 , 重复前面的步骤 , 以搜寻比点 P1 i) 处鱼 的密度更高的点 P2 …… 经过若干步之后 , i渔夫的位置移动 轨点为 P0 i) , P1 i) , P2 i) , …。经过有限次地移动搜寻操作之后 , i 渔夫总能在 D 内搜索到一个局部最优区域或局部最优点 (即 鱼的密度局部最优区域或最优点 ) 。
doi: 10. 3969 / j . jssn. 1001 23695. 2009. 08. 025
Op tim ization algorithm on simulating fisher’fishing
WANG Yong, CHEN J ian2rong, PANG Xing
( College of M a them atics & Com puter Science, Guangxi U n iversity for N a tiona lities, N ann ing 530006, Ch ina)
继续停在当前位置 P 点集为
( i) m
处 , 并在当前位置 Pm i) 的前后上下左
(
(
) > f ( P0 i) ) , 且
( i)
(
右再各撒下鱼网一次 , 这时得到关于点 Pm i) 的又一个下鱼网
( i) ( i) ( i) ( i) ( i) ( i) Ωm + 1 = { Xm + 1 = ( t1 , t2 , …, tn ) | tj ∈