✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
水库调度,亦称水库控制运用,指按来水蓄水实况和水文预报,有计划地对入库径流进行蓄泄,以一定的客观标准作为调度准则,利用水库本身具有的库容调节能力,在时间和空间上使来水量被重新分配,进而获得最大的综合效益。兴利优化调度是指为了获取最大的综合效益,使水量、水能及水质等充分利用。本文基于水资源的可持续发展理论,以龙凤山水库为研究对象,在充分了解水库调度现状的前提下,为寻求水库获得最佳效益下的最大运行规律,衡量水库运行方式是否达到最优的标准,根据多年来水库天然来水和各部门用水情况,综合水库实际蓄水能力,将水库入库径流描述为确定型,建立以水库电站发电量最大为最优准则,利用智能优化算法的理论方法和技术,制定龙凤山水库调度控制方式,为龙凤山水库最大限度开发水资源提供参考依据。
⛄ 部分代码
function result=gafx(x)
%%-----------------------------------
%--------基本数据------------------
%%%%%%%%%%%%%%%%% 每月来水量,丰水年情况
qwan=[ 313 363 587 493 263 309 699 1110 1134 808 486 325 ];
%qwan=[402,352,702,457,227,432,418,1040,795,544,373,405];
%qwan=[598.21,699.12,564.58,667.52,195.60,195.60,195.60,946.89,3235.13,1505.35,951.89,730.58]; %丰水年
%qwan=[167.16,176.81,378.46,317.67,286.8,286.8,1061.56,1312.18,918.52,768.25,500.99,250.13];%平水年
%qwan=[332.3,295.18,664.44,365.42,26.15,45.32,122.58,950.26,622.13,141.65,236.98,334.18];%枯水年
%%%%%%%%%%%%%%% 每月来水,丰水年情况
qwl=[0,0,0,0,0,0,0,0,0,0,0,0]; %上下游水库区间流量w代表万家寨,l代表龙口
%%%%%%%%%%%%每月小时数
t(1)=31*24; t(3)= t(1); t(5)= t(1);
t(5)= t(1); t(7)= t(1); t(8)= t(1);
t(10)= t(1); t(12)= t(1);
t(2)=28*24;
t(4)=30*24; t(6)= t(4);t(9)= t(4);t(11)= t(4);
%-------------------------------------------------
for j=1:12 %%%%%%% 水位推求库容
if 952<=x(j)<955
vw(j)=(4.508+(x(j)-952)/(955-952)*(4.548-4.508))*10^8; %vw(j)上游水位对应的库容
elseif 955<=x(j)<957
vw(j)=(4.548+(x(j)-955)/(957-955)*(4.739-4.548))*10^8;
elseif 957<=x(j)<960
vw(j)=(4.739+(x(j)-957)/(960-957)*(4.936-4.739))*10^8;
elseif 960<=x(j)<965
vw(j)=(4.936+(x(j)-960)/(965-960)*(5.546-4.936))*10^8;
elseif 965<=x(j)<970
vw(j)=(5.546+(x(j)-965)/(970-965)*(7.756-6.563))*10^8;
elseif 975<=x(j)<977.5
vw(j)=(7.756+(x(j)-975)/(977.5-975)*(8.35-7.756))*10^8;
elseif 977.5<=x(j)<980
vw(j)=(8.35+(x(j)-977.5)/(980-977.5)*(8.962-8.35))*10^8;
end
end
for j=1:11 %%%%%%%%%%%%%%% 下泄流量推水位
qxw(j)=qwan(j)-(vw(j+1)-vw(j))/(t(j)*3600); % qxw(j)为出库流量
end
qxw(12)=qwan(12)-(vw(1)-vw(12))/(t(12)*3600); %vw(13)=vw(1)
%%%%%%%%%%%%%%%%%%%%%%%%%% 下泄流量水位关系
for j=1:12
if 0<=qxw(j)<85
hxw(j)=898+(qxw(j)-0)/(85-0)*(899-898); %下游流量对应的水位
elseif 85<=qxw(j)<174
hxw(j)=899+(qxw(j)-85)/(174-85)*(900-899);
elseif 174<=qxw(i)<286
hxw(j)=900+(qxw(j)-174)/(286-174)*(901-900);
elseif 286<=qxw(j)<571
hxw(j)=901+(qxw(j)-286)/(571-2860)*(902-901);
elseif 571<=qxw(j)<878
hxw(j)=902+(qxw(j)-571)/(878-571)*(903-902);
elseif 878<=qxw(j)<1320
hxw(j)=903+(qxw(j)-878)/(1320-878)*(904-903);
elseif 1320<=qxw(j)<1860
hxw(j)=904+(qxw(j)-1320)/(1860-1320)*(905-904);
elseif 1860<=qxw(j)<2480
hxw(j)=905+(qxw(j)-1860)/(2480-1860)*(906-905);
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%万家寨上下游水位差
for j=1:11
hw(j)=(x(j)+x(j+1))/2-hxw(j); %上游平均水位-下游水位 %%%%%% 此处修改
end
hw(12)=(x(12)+x(1))/2-hxw(12);
%%%%%%%%%%%%%%%%%%%%%%% 发电量,暂取A=8.0
for j=1:12
nw(j)=8.0*qxw(j)*hw(j); %出力系数取为8.0,可以改进,求每个月出力值
ew(j)=8.0*qxw(j)*hw(j)*t(j); %求每个月电量值
end
sw=ew(1);
for j=2:12
sw=sw+ew(j); % 电量累计 求和
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%梯级电站的总体年发电量
result=sw; %单库总发电量,sw万家寨,sl龙口
⛄ 运行结果
⛄ 参考文献
[1]王渤权. 改进遗传算法及水库群优化调度研究[D]. 华北电力大学(北京), 2018.
[2]陶猛. 龙凤山水库优化调度的群体智能算法研究[D]. 东北农业大学, 2016.
❤️ 关注我领取海量matlab电子书和数学建模资料
❤️部分理论引用网络文献,若有侵权联系博主删除