资源简介
人工蜂群算法中有三类蜂群,在寻找蜜源过程中相互转化,最终寻得最优解。
代码片段和文件信息
##人工蜂群算法实例
##寻找函数f(x)=x*sin(x)*cos(2*x)-2*x*sin(3*x);的最大值
import random
import math
import copy
#蜜源数量
miyuan_num=10
#迭代次数
iter_num=300
#搜寻范围
x_max=20
x_min=0
#限制次数
limit=10
miyuanjihe=list()#蜜源集合
employbees=list()#雇佣蜂群
onlookerbees=list()#观察蜂群
best=list()#记录每次迭代中的最优值
scoutbee={‘pos‘:[]‘fitness‘:0‘staytime‘:0}#一只侦察蜂
bestmiyuan={‘pos‘:[]‘fitness‘:0‘staytime‘:0}#最优蜜源
#定义计算适应度函数
def calculateFitness(pos):
return pos*math.sin(pos)*math.cos(2*pos)-2*pos*math.sin(3*pos)
#雇佣蜂搜索周边并更新蜜源位置
def EmploybeeRefreshMiyuan():
global miyuanjihe
global employbees
global miyuan_num
for j in range(miyuan_num):
while(True):
k=random.randint(09)
if k !=j:
break
employbees[j][‘pos‘]=miyuanjihe[j]
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4486 2018-12-05 16:40 abcDemo.py
----------- --------- ---------- ----- ----
4486 1
- 上一篇:萤火虫算法FA.zip
- 下一篇:python开发的计算器
评论
共有 条评论