1 简介

针对当前各种启发式算法,如遗传算法(GA),粒子群算法(PSO),模拟退火算法(SA)等在求解水库优化调度中的不足,提出了将新型的集群智能算法-人工鱼群算法AFSA(Artificial Fish School Algorithm)用于求解水库优化调度问题。该算法通过模拟鱼群的一些基本行为,如捕食、聚群、追尾,来求解问题的最优解。根据水库优化调度问题的情况及数学模型,给出了基于人工鱼群算法的水库优化调度的求解策略,详细讨论了求解步骤,最后给出了实验仿真结果。结果表明该算法具有较强的局部搜索能力,同时也有更高的搜索效率,与其它方法相比,该算法能够找到更优解,验证了该算法的可行性和有效性。

2 部分代码

%人工鱼群算法 梯级水库调度
tic
clear all
clc
format long
Visual=2.5;
Step=0.3;
N=100; %50条鱼
Try_number=100;%觅食时做50次搜索
d=[];
h=1e-1;
Friend_number=50;
a=[977,977,977,977,977,977,977,957,977,970,977,977];         %%[898,898,898,898,898,898,893,892,892,898,898,898];
b=[970,970,970,970,952,952,952,952,952,952,970,970];         %%[888,888,888,888,888,893,888,888,888,888,888,888];
k=0; %最外围变量,m为其上限,控制循环次数
m=200;
X1=rand(N,1)*(a(1)-b(1))+b(1);
X2=rand(N,1)*(a(2)-b(2))+b(2);
X3=rand(N,1)*(a(3)-b(3))+b(3);
X4=rand(N,1)*(a(4)-b(4))+b(4);
X5=rand(N,1)*(a(5)-b(5))+b(5);
X6=rand(N,1)*(a(6)-b(6))+b(6);
X7=rand(N,1)*(a(7)-b(7))+b(7);
X8=rand(N,1)*(a(8)-b(8))+b(8);
X9=rand(N,1)*(a(9)-b(9))+b(9);
X10=rand(N,1)*(a(10)-b(10))+b(10);
X11=rand(N,1)*(a(11)-b(11))+b(11);
X12=rand(N,1)*(a(12)-b(12))+b(12);
X=[X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12];%人工鱼数量50,一行24个向量为一条鱼
for i=1:Nwwww=[X(i,1),X(i,2),X(i,3),X(i,4),X(i,5),X(i,6),X(i,7),X(i,8),X(i,9),X(i,10),X(i,11),X(i,12)];  %www为所有鱼的全体,一行24个值,总共50行d(i)=maxf(wwww);
end
[w,i]=max(d);
maxX=[X(i,1),X(i,2),X(i,3),X(i,4),X(i,5),X(i,6),X(i,7),X(i,8),X(i,9),X(i,10),X(i,11),X(i,12)];maxY=w;  %初始公告板记录 w即为最大函数值
figurex1=[];figurex2=[];figurex3=[];figurex4=[];figurex5=[];figurex6=[];figurex7=[];figurex8=[];figurex9=[];figurex10=[];figurex11=[];figurex12=[];
figurez=[];
figurex1(numel(figurex1)+1)=maxX(1);  %figurex1(numel(figurex1)+1)即为figurex1(1),也即X(i,1),同14行
figurex2(numel(figurex2)+1)=maxX(2);
figurex3(numel(figurex3)+1)=maxX(3);figurex4(numel(figurex4)+1)=maxX(4);figurex5(numel(figurex5)+1)=maxX(5);figurex6(numel(figurex6)+1)=maxX(6);
figurex7(numel(figurex7)+1)=maxX(7);figurex8(numel(figurex8)+1)=maxX(8);figurex9(numel(figurex9)+1)=maxX(9);figurex10(numel(figurex10)+1)=maxX(10);
figurex11(numel(figurex11)+1)=maxX(11);figurex12(numel(figurex12)+1)=maxX(12);
figurez(numel(figurez)+1)=maxY;     %函数最大值
kkk=0;
for p=1:3while(k<m)for i=1:N  %一次一条鱼进行XX=[X(i,1),X(i,2),X(i,3),X(i,4),X(i,5),X(i,6),X(i,7),X(i,8),X(i,9),X(i,10),X(i,11),X(i,12)];endendk=k+1; %进入下一次迭代yy(k)=maxY;enda1(p)=maxY;
endu=length(a1);
for i=1:u-1for j=i+1:u          %从小到大排列if a1(i)>a1(j)b1=a1(i);a1(i)=a1(j);a1(j)=b1;endend
end
c1=[1:1:u];
%plot(c1,a1);
b=length(a1);
disp('最优点为:')
maxX   %输出最佳x值
disp('最优解为:')
maxY   %输出最佳y值
toc
figure(1)
plot(yy)
xlabel('迭代次数')
ylabel('适应度值')

3 仿真结果

4 参考文献

[1]王正初, 周慕逊, 李军,等. 基于人工鱼群算法的水库优化调度研究[J]. 电力系统保护与控制, 2007, 35(21):43-46.

5 MATLAB代码与数据下载地址

见博客主页头条

【优化调度】基于人工鱼群算法求解梯级水库优化调度matlab源码相关推荐

  1. ​【路径规划】基于蚁群算法求解多式联运路径规划问题matlab源码

    1 简介 随着国际贸易的不断发展和国内外物品流通的速度不断加快,多式联运作为一种先进的运输组织形式不断发展.在运输过程中,合理的路径选择和运输模式选择对多式联运的经营者会带来卓有成效的经济效益,而其中 ...

  2. 【路径规划】基于蚁群算法求解公交车路径规划问题matlab源码

    一.简介 1 蚁群算法(ant colony algorithm,ACA)起源和发展历程\ Marco Dorigo等人在研究新型算法的过程中,发现蚁群在寻找食物时,通过分泌一种称为信息素的生物激素交 ...

  3. 【路径规划-TSP问题】基于蚁群算法求解实际地图旅行商问题含Matlab源码

    1 内容介绍 旅行商问题的传统求解方法是遗 传算法,此算法收敛速度慢,并不能获得问题的最优解.为了求取旅行商问题的最优解,本文在阐述蚁群算法的基本原理,模型以及在旅行商问题中的实现过程的基 础上,提出 ...

  4. 【故障检测问题】基于matlab免疫算法求解故障检测问题【含Matlab源码 196期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[故障检测问题]基于matlab免疫算法求解故障检测问题[含Matlab源码 196期] 获取代码方式2: 通过订阅紫极神光博客付费专栏,凭 ...

  5. 【智能优化算法】基于人工蜂群算法求解多目标优化问题附matlab代码

    1 简介 人工蜂群算法(Artificial Bee Colony Algorithm, 简称ABC算法)是一个由蜂群行为启发的算法,在2005年由Karaboga小组为优化代数问题而提出.​ 2 部 ...

  6. Matlab基于人工鱼群算法求解TSP问题

    一. 人工鱼的结构模型 人工鱼是真实鱼抽象化.虚拟化的一个实体,其中封装了自身数据和一系列行为,可以接受环境的刺激信息,做出相应的活动.其所在的环境由问题的解空间和其他人工鱼的状态,它在下一时刻的行为 ...

  7. 【智能优化算法-人工蜂鸟算法】基于人工蜂鸟算法求解多目标优化问题附matlab代码MOAHA

    1 内容介绍 在这项工作中提出了一种新的仿生优化算法,称为人工蜂鸟算法(AHA)来解决优化问题. AHA算法模拟自然界中蜂鸟的特殊飞行技能和智能觅食策略.模拟了觅食策略中使用的三种飞行技能,包括轴向. ...

  8. 【布局优化】基于粒子群算法求解集线器位置分配问题附matlab代码

    1 内容介绍 ​本文基于MATLAB软件结合粒子群算法,实现了粒子群算法中粒子的适应度计算,极大的减少了优化计算耗时,对适应度计算较为耗时的优化计算,有着明显的效果;最后本文采用粒子群优化算法优化计算 ...

  9. 【定位问题】基于matlab chan算法、fang算法、taylor算法求解目标定位问题【含Matlab源码 2135期】

    ⛄一.chan+taylor算法移动基站无源定位简介 1 引言 随着无人机的普及,低空空域的安全问题受到人们的极大关注.针对该问题,本研究对"非合作型"无人机采用一种基于时差法的无 ...

  10. 【路径规划】基于灰狼算法求解旅行商TSP问题matlab源码

    一.旅行商问题 TSP问题即旅行商问题,经典的TSP可以描述为:一个商品推销员要去若干个城市推销商品,该推销员从一个城市出发,需要经过所有城市后,回到出发地.应如何选择行进路线,以使总的行程最短.从图 ...

最新文章

  1. iw命令 linux 没有_linux下ifconfig、iwconfig、iwlist命令详解
  2. [开源 .NET 跨平台 数据采集 爬虫框架: DotnetSpider] [一] 初衷与架构设计
  3. 【GIS风暴】什么是地理空间智能(Geospatial AI)?
  4. Julia中的denominator()函数
  5. ABS_MT_TOUCH_MAJOR和ABS_MT_WIDTH_MAJOR
  6. node.js整理 07例子
  7. CMD attrib命令详解
  8. retrievefile文件字节为0_linux环境下下 FTPClient.retrieveFile() 下载稍大一点的文件就卡死了-问答-阿里云开发者社区-阿里云...
  9. 【WLAN】WLAN室内无线信道模型分析及matlab仿真
  10. 计算机系统不升级设置,笔记本电脑怎么设置不更新系统?
  11. 简单集成华为PUSH
  12. u盘服务器安装win7系统安装教程,最简单的u盘装win7系统详细教程及步骤
  13. M4V格式怎么在线转换MP4格式
  14. Ant Design Vue 的 table 隐藏特定列
  15. WIN 11 无法正常运行HCL 模拟器
  16. 程序员从普通二本毕业的真实薪资,记录一路走来的路
  17. 【开源】司马编译器结构
  18. 圣斗士全球招生考试(中国考区)试卷
  19. 2018华为软件精英挑战赛
  20. SearchView的用法

热门文章

  1. sikuli+eclipse对于安卓app自动化测试的应用(第一次写博客,有些语言还不太专业,望海涵)...
  2. 扫雷游戏(实现了网页版的扫雷游戏的所有逻辑)
  3. 在线json解析工具 在线js解析加密混合工具
  4. 《算法精解:C语言描述》勘误
  5. win10计算机权限不足是,深度技术windows10系统电脑权限不足导致无法格式化分区的方法...
  6. fiddler看ip地址_Fiddler查看IP和响应时间
  7. 原生js追加html代码,原生js动态添加元素
  8. 教你webm格式怎么转换成mp4
  9. 高通设备找不到连接QXDM的端口
  10. 应聘计算机程序员英文,计算机程序员英文简历模板