水电站中长期优化调度主要是在满足电力系统出力要求以及下游综合用水要求等的前提下,合理地安排水库各个月份的发电流量,使得调度期内的总发电量最大。即在给定预报入库流量过程线、下游综合用水流量过程线、调度期起始水位和终止水位等条件下,通过总水量的合理运用使调度期内水电站的总发电量最大。本源码由GreenSim团队原创,转载请注明,有意购买源码或代写相关程序,请与GreenSim团队联系(主页http://blog.sina.com.cn/greensim)。

%% 参数设置

A=8.5;%出力系数,常数

Tt=730*ones(12,1);%第t个时段的小时数

%注意:一年按363天*24小时算,均分为12个月

HtLB=55*ones(12,1);%第t时段水位约束的下界,单位:米

HtUB=[65;65;65;61;61;61;61;65;65;65;65;65];%第t时段水位约束的上界,单位:米

VtLB=zeros(12,1);

VtUB=zeros(12,1);

for i=1:12

VtLB(i)=Ht2Vt(HtLB(i));

VtUB(i)=Ht2Vt(HtUB(i));

end

%注意:蓄水量Vt和水位Ht之间有一一对应的关系,单位:立方米

NtLB=260000*ones(12,1);%出力约束的下界,单位:千瓦

NtUB=1400000*ones(12,1);%出力约束的上届,单位:千瓦

%注意:Nt=A*Qt*Ht

QtLB=308*ones(12,1);%泄流量下界,单位:立方米/秒

QtUB=29200*ones(12,1);%泄流量上界,单位:立方米/秒

qt=[373;859;1568;2100;3210;5049;1596;1160;925;781;572;1010];%入库流量,单位:立方米/秒

%注意:以上三个量,时间单位相乘时,小时乘以3600转化成秒

% GreenSim团队原创作品,转载请注明

% Email:greensim@163.com

% GreenSim团队主页:http://blog.sina.com.cn/greensim

%

[color=red]欢迎访问GreenSim——算法仿真团队→[url=http://blog.sina.com.cn/greensim]http://blog.sina.com.cn/greensim[/url][/color]

%% 调用粒子群算法

K=60;

N=80;

w=0.5;

c1=0.3;

c2=0.2;

[BESTX,BESTY,ALLX,ALLY]=PSO(K,N,w,c1,c2,VtLB,VtUB,QtLB,QtUB,NtLB,NtUB,qt,A,Tt);

%%

X=BESTX{K};

[Vt,Qt,St]=DeCode(X);

disp('最佳蓄水量');

disp(Vt);

disp('最佳平均发电流量');

disp(Qt);

disp('最佳平均弃水流量');

disp(St);

disp('最大总发电量');

disp(-BESTY(K));

function

[BESTX,BESTY,ALLX,ALLY]=PSO(K,N,w,c1,c2,VtLB,VtUB,QtLB,QtUB,NtLB,NtUB,qt,A,Tt)

%% 此函数实现粒子群优化算法,用于水电站调度优化

% GreenSim团队原创作品,转载请注明

% Email:greensim@163.com

% GreenSim团队主页:http://blog.sina.com.cn/greensim

%

[color=red]欢迎访问GreenSim——算法仿真团队→[url=http://blog.sina.com.cn/greensim]http://blog.sina.com.cn/greensim[/url][/color]

%% 输入参数列表

%

K 迭代次数

%

N 粒子个数

%

w 惯性因子

%

c1 加速因子,针对历史最优状态

%

c2 加速因子,针对全局最优状态

%

VtLB 蓄水量约束下界,立方米,N*1向量

%

VtUB 蓄水量约束上界,立方米,N*1向量

%

QtLB 平均发电流量约束下界,立方米/秒,N*1向量

%

QtUB 平均发电流量约束上界,立方米/秒,N*1向量

%

NtLB 出力约束下界,千瓦,N*1向量

%

NtUB 出力约束上界,千瓦,N*1向量

%

qt 入库流量,立方米/秒,N*1向量

%

A 出力系数

%

Tt 一个周期的小时数

%% 输出参数列表

% BESTX K×1细胞结构,每一个元素是M×1向量,记录每一代的最优个体

% BESTY K×1矩阵,记录每一代的最优个体的评价函数值

%

ALLX K×1细胞结构,每一个元素是M×N矩阵,记录全部个体

%

ALLY K×N矩阵,记录全部个体的评价函数值

%% 第一步:粒子状态初始化

M=3*length(VtLB);

farm=zeros(N,M);

for i=N

[Vt,Qt,St]=Initialize2(VtLB,VtUB,QtLB,QtUB,NtLB,NtUB,qt,A,Tt);

X=EnCode(Vt,Qt,St);

farm(i,:)=X';

end

%粒子历史最优状态初始化

Pfarm=farm;

%粒子群全局最优状态

for i=1:N

X=Pfarm(i,:);

[Vt,Qt,St]=DeCode(X');

SE=ObjFun(A,Qt,St,Vt,Tt);

Fitness(i)=SE;

end

MinFit=min(Fitness);

POS=find(Fitness==MinFit);

Gfarm=Pfarm(POS(1),:);

%输出变量初始化

ALLX=cell(K,1);%细胞结构,每一个元素是M×N矩阵,记录每一代的个体

ALLY=zeros(K,N);%K×N矩阵,记录每一代评价函数值

BESTX=cell(K,1);%细胞结构,每一个元素是M×1向量,记录每一代的最优个体

BESTY=zeros(K,1);%K×1矩阵,记录每一代的最优个体的评价函数值

k=1;%迭代计数器初始化

%% 第二步:迭代过程

while k<=K

%% 粒子状态更新

newfarm=farm;

for

i=1:N

newfarm(i,:)=w*farm(i,:)+c1*rand*(Pfarm(i,:)-farm(i,:))+c2*rand*(Gfarm-farm(i,:));

X=newfarm(i,:);

[Vt,Qt,St]=DeCode(X');

[Flag,Vt,Qt,St]=Correct(Vt,Qt,St,VtLB,VtUB,QtLB,QtUB,NtLB,NtUB,qt,A,Tt);

X=EnCode(Vt,Qt,St);

newfarm(i,:)=X';

end

%% 历史最优状态和全局最优状态更新

NEWFIT=zeros(1,N);

for

i=1:(N)

aa=newfarm(i,:);

[Vt,Qt,St]=DeCode(aa');

FitA=ObjFun(A,Qt,St,Vt,Tt);

bb=Pfarm(i,:);

[Vt,Qt,St]=DeCode(bb');

FitB=ObjFun(A,Qt,St,Vt,Tt);

NEWFIT(i)=FitA;

if FitA

Pfarm(i,:)=A;

end

if FitA

Gfarm=A;

end

end

%% 记录

ALLX{k}=newfarm;

ALLY(k,:)=NEWFIT;

BESTX{k}=Gfarm;

[Vt,Qt,St]=DeCode(Gfarm');

BESTY(k)=ObjFun(A,Qt,St,Vt,Tt);

disp(k);

k=k+1;

end

电力系统优化调度matlab,[转载]水电站中长期优化调度的粒子群算法MATLAB源码相关推荐

  1. matlab 多能源调度,水电站中长期优化调度的粒子群算法MATLAB源码

    水电站中长期优化调度主要是在满足电力系统出力要求以及下游综合用水要求等的前提下,合理地安排水库各个月份的发电流量,使得调度期内的总发电量最大.即在给定预报入库流量过程线.下游综合用水流量过程线.调度期 ...

  2. 非线性方程的粒子群算法matlab,求解非线性方程组的量子行为粒子群算法

    好文网为大家准备了关于求解非线性方程组的量子行为粒子群算法的文章,好文网里面收集了五十多篇关于好求解非线性方程组的量子行为粒子群算法好文,希望可以帮助大家.更多关于求解非线性方程组的量子行为粒子群算法 ...

  3. 粒子群算法中的罚函数matlab,第18章基于罚函数的粒子群算法的函数寻优范例.ppt...

    第十八章 MATLAB优化算法案例分析与应用 第18章 基于罚函数的粒子群算法的函数寻优 第十八章 MATLAB优化算法案例分析与应用 18.1 粒子群算法概述 自20世纪50年代中期创立了仿生学,许 ...

  4. 综合能源系统优化调度(冷热电联产)的程序matlab、微网优化调度基础学习 综合能源系统

    综合能源系统优化调度(冷热电联产)的程序matlab.微网优化调度基础学习 综合能源系统 采用多目标粒子群算法,求解优化调度模型. 适合刚入门综合能源研究方向(冷热电联供)并想在前人的基础上进行创新的 ...

  5. Matlab代码 多时间尺度优化调度 MATLAB程序含冰蓄冷空调的冷热电联供型微网多时间尺度优化调度

    Matlab代码 多时间尺度优化调度 MATLAB程序,论文复现<含冰蓄冷空调的冷热电联供型微网多时间尺度优化调度> 是一篇多时间尺度的优化运行程序 有需要的可以先知网阅读一下文章 ID: ...

  6. 【Matlab优化预测】布谷鸟算法优化灰色模型预测【含源码 1244期】

    一.代码运行视频(哔哩哔哩) [Matlab优化预测]布谷鸟算法优化灰色模型预测[含源码 1244期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]屈迟文,傅 ...

  7. 【聚类算法】基于matlab改进的粒子群算法优化K-means算法【含Matlab源码 1946期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[聚类算法]基于matlab改进的粒子群算法优化K-means算法[含Matlab源码 1946期] 点击上面蓝色字体,直接付费下载,即可 ...

  8. matlab优化算法案例分析与应用_最优化计算与matlab实现(18)——粒子群优化算法——权重改进的粒子群算法...

    参考资料 <精通MATLAB最优化计算(第二版)> 编程工具 Matlab 2019a 目录 石中居士:最优化计算与Matlab实现--目录​zhuanlan.zhihu.com 权重改进 ...

  9. matlab nan变成0_最优化计算与matlab实现(17)——粒子群优化算法——带压缩因子的粒子群算法...

    参考资料 <精通MATLAB最优化计算(第二版)> 编程工具 Matlab 2019a 目录 石中居士:最优化计算与Matlab实现--目录​zhuanlan.zhihu.com 带压缩因 ...

最新文章

  1. 【Matlab】for循环进度条显示百分比进程和剩余时间
  2. identifier of an instance of was altered from to n
  3. 【两种解法】基础实验4-2.2 列出叶结点 (25 分)
  4. char p[]与char *p的区别
  5. Adobe illustrator 剪切蒙版 - 连载 14
  6. 马云又向美国捐赠50万份检测试剂盒和100万只口罩
  7. 996.ICU 下被过度消费的程序员,还配享受生活吗?
  8. Delphi编程分割图片的方法
  9. htc思想[second]
  10. 西门子PLC usb编程电缆驱动
  11. 职业技能鉴定 八大工种 广州紧缺工种 培训考证
  12. 内存颗粒和闪存颗粒的区别_slc、mlc、tlc闪存芯片颗粒哪个好?有什么区别?
  13. 2159: H.ly的小迷弟
  14. 技术党求生骚操作!手把手教你做一只口红色号识别器!
  15. STM32L4系列单片机ADC通过内部参考电压精确计算输入电压
  16. 调研字节码插桩技术,用于互联网分布式系统监控设计和实现!
  17. Shrinkage: I was in the pool
  18. 今天分享一个爱心的表白树,送你对象吧(代码在最后面哦)
  19. Lua打印table的工具函数dump
  20. 西门子200SMART(五) 符号块

热门文章

  1. nyoj 1239 引水工程【最小生成树】虚拟节点
  2. 利用变换矩阵求解机器人操作臂雅克比矩阵
  3. sql新增字段语法报错:‘,‘ or PARTITION expected, got ‘COMMENT‘
  4. python----最长不重复子串
  5. linux中搜索文件内容关键字--转载哈
  6. 共轭梯度算法之FR算法
  7. 红队笔记之杀软原理介绍与免杀技术总结
  8. 解决多线程并发安全问题
  9. 苹果usbc音频android,苹果USB-C音频线安卓手机能用么?实测10款手机仅1款不支持...
  10. pip install airsim问题