资源简介

人工蜂群算法中有三类蜂群,在寻找蜜源过程中相互转化,最终寻得最优解。

资源截图

代码片段和文件信息

##人工蜂群算法实例
##寻找函数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


评论

共有 条评论

相关资源