资源简介
用python实现果蝇优化算法,并将该算法进行sphere函数的优化,注释较为详细。因初学python,对另外对果蝇优化算法的理解还不够深入
代码片段和文件信息
import random
import numpy as np
import matplotlib.pyplot as plt
“““————————定义sphere函数————————“““
def sphere(dimsmell):
sum=0
# Z=[smell for x in range(0dim)]
for i in range(dim):
sum+=smell[i]**2
return sum
“““————————算法开始————————————“““
#迭代次数
maxgen=1000
#种群数量
sizepop=100
#维度
dim=20
#在进行初始化操作之后,第一次finess统计时的适应度值
smellList=[]
#用于存放每次迭代的最优值
allFiness=[]
#用于存放果蝇的位置坐标
X=np.zeros((sizepopdim))
Y=np.zeros((sizepopdim))
#存放距离数值
Distance=np.zeros((sizepopdim))
#存放距离的倒数
Smell=np.zeros((sizepopdim))
“““-----找出第一次的最佳位置,用于和以后的迭代巡游进行对比----“““
for i in range(sizepop):
for j in range(dim):
#根据果蝇种群数量和维度进行位置初始化附与果蝇个体利用嗅觉搜寻食物之随机方向与距离
X[ij]=10.0*random.random()+2*random.random()-1
Y[ij]=10.0*random.random()+2 * random.random() - 1
for i in range(sizepop):
for j in range(dim):
Distance[ij]=(X[ij]**2+Y[ij]**2)**0.5
Smell[ij]=1/Distance[ij]
smellList.append(sphere(sizepop Smell[i]))
#找出群体中适应度最小的值
finess=np.min(smellList)
#较好果蝇位置的坐标索引
index=smellList.index(min(smellList))
#存放第一次果蝇较好的适应度值
allFiness.append(finess)
#将第一次果蝇位置较好的坐标进行记录
x=X[index]
y=Y[index]
“““-------迭代寻优开始------“““
for i
- 上一篇:通过python实现批量excel转pdf代码
- 下一篇:dbfpy操作dbf文件
相关资源
- python实现SGBM图像匹配算法
- python实现灰度直方图均衡化
- scrapy_qunar_one
- Python学习全系列教程永久可用
- python简明教程.chm
- 抽奖大转盘python的图形化界面
- 双边滤波器实验报告及代码python
- python +MYSQL+HTML实现21蛋糕网上商城
- Python-直播答题助手自动检测出题搜索
- OpenCV入门教程+OpenCV官方教程中文版
- Python 串口工具源码+.exe文件
- Python开发的全栈股票系统.zip
- Python操作Excel表格并将其中部分数据写
- python书籍 PDF
- 利用python绘制散点图
- python+labview+No1.vi
- 老男孩python项目实战
- python源码制作whl文件.rar
- python3.5可用的scipy
- PYTHON3 经典50案例.pptx
- 计算机科学导论-python.pdf
- python模拟鼠标点击屏幕
- windows鼠标自动点击py脚本
- 鱼c小甲鱼零基础学python全套课后题和
- Python 练习题100道
- Practical Programming 2nd Edition
- wxPython Application Development Cookbook
- python 3.6
- Python 3.5.2 中文文档 互联网唯一CHM版本
- python3.5.2.chm官方文档
评论
共有 条评论