PSO求解梯级水库优化调度
%%%%%%%%%%%%%%PSO求解梯级水库优化调度%%%%%%%%%%%%%%%%%
%------初始格式化--------------------------------------------------
clear all;
clc;
format short;
tic %-----------------------计时开始
%------给定初始化条件----------------------------------------------
c1=1.4962; %学习因子1
c2=1.4962; %学习因子2
w=0.7298; %惯性权重
MaxDT=20; %最大迭代次数-------k次迭代
D=12; %搜索空间维数(未知数个数)-----D维空间
N=100; %初始化群体个体数目--------m个粒子
eps=10^(-6); %设置精度(在已知最小值时候用)
%-----------------------------------------时段水位上下限
zmin=[970,970,970,970,952,952,952,952,952,952,970,970] %%[888,888,888,888,888,893,888,888,888,888,888,888];
zmax=[977,977,977,980,980,977,977,957,977,970,977,977] %%[898,898,898,898,898,898,893,892,892,898,898,898];
%------初始化种群的个体(可以在这里限定位置和速度的范围)------------
for i=1:N
for j=1:12
x(i,j)=zmin(j)+(zmax(j)-zmin(j))*rand; %水位初始化
end
k=0.2; %%%%%%%%%%%%
for j=1:12
v(i,j)=k*(zmax(j)-zmin(j))*rand; %速度
end
end
%------先计算各个粒子的适应度(发电量),并初始化Pi和Pg----------------------
for i=1:N
p(i)=fxpso(x(i,:));
pb(i,:)=x(i,:);
end
gb=x(1,:);
for i=2:N
if fxpso(x(i,:))>fxpso(gb) %%%%%%%%%%%%%注意大小号
gb=x(i,:);
end
end
%------进入主要循环,按照公式依次迭代,直到满足精度要求------------
for t=1:MaxDT
for i=1:N
v(i,:)=w*v(i,:)+c1*rand*(pb(i,:)-x(i,:))+c2*rand*(gb-x(i,:));
x(i,:)=x(i,:)+v(i,:);
for j=1:12 %%%%%%%%%%%%%%
if x(i,j)<zmin(j)
x(i,j)=zmin(j)+rand*(zmax(j)-zmin(j));
elseif x(i,j)>zmax(j)
x(i,j)=zmin(j)+rand*(zmax(j)-zmin(j));
end
end
if fxpso(x(i,:))>p(i)
p(i)=fxpso(x(i,:)); %第i个粒子新的发电量
pb(i,:)=x(i,:); %第i个粒子新的水位值
end
if p(i)>fxpso(gb)
gb=pb(i,:);
end
y=fxpso(x(i,:));
[e,f]=max(y);
end
gb=x(f,:);
Gbest(t)=fxpso(gb);
xdai(t,:)=gb; %最优水位值
end
for i=1:MaxDT-1
for j=2:MaxDT
if Gbest(i)<Gbest(j)
temp1=Gbest(i);
Gbest(i)=Gbest(j);
Gbest(j)=temp1;
temp2=xdai(i);
xdai(i,:)=xdai(j,:);
xdai(j,:)=temp2;
end
end
end
gb=xdai(1,:)
Gbest=Gbest(1)
toc %结束计时
%------最后给出计算结果
disp('*************************************************************')
disp('函数的全局最优位置为:')
Solution=gb'
disp('最后得到的优化极值为:')
Result=fxpso(gb)
disp('*************************************************************')
x=gb;
D133
PSO求解梯级水库优化调度相关推荐
- 基于动态规划的水库优化调度
1.动态规划概述 动态规划是最优化领域中的一个重要分支,是一种研究多段决策过程的递推最优化方法.所谓多段决策过程,是指根据时间.空间或其它特性可将过程分为若干互相联系的阶段,而在每个阶段必须作出 ...
- 【优化调度】基于粒子群算法求解梯级水电站调度问题matlab代码
1 简介 粒子群算法( Particle Swarm Optimization, PSO)最早是由Eberhart和Kennedy于1995年提出,它的基本概念源于对鸟群觅食行为的研究.设想这样一个场 ...
- 【优化调度】基于粒子群算法求解水火电调度优化问题含Matlab源码
1 简介 粒子群算法因其原理简单,易于编程,适于并行计算等优点而得到了广泛的应用.本文探讨和分析了Matlab粒子群算法工具箱,并提出了基于该工具箱来实现水电站优化调度计算的方法.计算实例表明,Mat ...
- PSO粒子群算法微电网优化调度(微电网孤岛运行优化调度)matlab程序
PSO粒子群算法微电网优化调度(微电网孤岛运行优化调度)matlab程序 [含风电.光伏.微型燃机.储能蓄电池.燃料电池] 参考文献:基于改进粒子群算法的微电网优化调度 摘 要:当今全球普遍面临着能源 ...
- 3.基于智能算法(PSO/SSA/tGSSA)的微电网优化调度(matlab程序)
目录 参考文章: 主要内容: 主程序: 不同算法运行结果 PSO运行结果: tGSSA运行结果: SSA运行结果: 资源地址 3基于改进粒子群算法的微电网优化调度以及SSA-MATLAB程序_基于粒子 ...
- 微电网日前优化调度入门:求解一道数学建模题
最近看了一些微电网优化调度的论文,苦于无从下手之际,看到一道微电网日前优化调度相关的数学建模题:题目提供了一个简单的风光储微电网场景及测试数据,正好拿来练手.本文基于Python第三方库PuLP实现题 ...
- 【微电网优化】基于matlab粒子群算法求解微网经济调度和环境友好调度优化问题【含Matlab源码 2283期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[微电网优化]基于matlab粒子群算法求解微网经济调度和环境友好调度优化问题[含Matlab源码 2283期] 点击上面蓝色字体,直接付 ...
- 基于粒子群PSO算法的风光发电与电动汽车充放电协同优化调度matlab程序_电动汽车v2g
V2G模型 基于粒子群PSO算法的风光发电与电动汽车充放电协同优化调度matlab程序_电动汽车v2g 1.针对大规模电动汽车无序接入电网给电力系统带来的负荷压力问题,提出一种含不确定性电源的电动汽车 ...
- 【优化调度】基于matlab遗传算法求解农业水资源调度优化问题【含Matlab源码 1776期】
⛄一.农业水资源调度简介 水是生命之源,水是生产之要,水是生态之基. 目前,全球约有14亿人口缺乏安全清洁饮用水,据估测到2025年全球约有23亿人口将会面临水资源短缺问题.因此,水即将成为制约社会以 ...
最新文章
- 1024,不讲技术,来一套程序员续命操~
- IOS开发 Block的学习
- pythonre正则表达式1012pythonre正则表达式_python re模块 正则表达式
- lstm中look_back的大小选择_基于机器学习检测僵尸网络中的域名生成算法
- 代码审计之DocCms漏洞分析
- android 底部导航,Android 底部导航之BottomNavigationBar
- 三年亏了近50亿,网易云音乐终于熬到上市了
- vs矩形框边框线显示被选中的区域;_Excel中,重复的数据高亮显示,如何快速删去?...
- java重定向cookie_web Java response sendRedirect()如何能携带设定的cookie | 学步园
- HTTP缓存机制在iOS中的应用和体现
- 产品经理原型工具选择:墨刀和axure的区别?
- RabbitMQ None of the specified endpoints were reachable 错误 解决方案
- 使用REPT功能设置行高
- Js去除路径和文件后缀名
- linux下将多个文件去除文件头合并_Linux下把多个文件合并成一个文件 - 卡饭网...
- 牛刀:中国房价的买点还没有…
- 三万字,七十图详解计算机网络六十二问(建议收藏)
- python井字棋ai,python 井字棋(Tic Tac Toe)
- 魔金多商户商城平台管理
- 搭建zerotier moon中转服务器实现虚拟局域网稳定快速互访
热门文章
- 动态加载javascript和css
- 【转】同步与异步复位以及相关的亚稳态状况与设计可靠性
- ADO.NET中异步处理的方式
- STL_Hash_map
- linux安装apache mysql tomcat
- 概率论与数理统计中的算子半群 第一讲 Banach-Steinhaus定理1 Baire‘s Category与Banach-Steinhaus定理的证明
- UA MATH523A 实分析3 积分理论例题 判断函数可积性的一个题目
- 欧拉定理和C语言实现 - win32版
- Proxy + Reflect 实现 响应的数据变化
- Hadoop权威指南学习笔记三