【优化调度】基于遗传算法实现水库优化调度问题实现发电量最大附matlab代码

简介: 【优化调度】基于遗传算法实现水库优化调度问题实现发电量最大附matlab代码

✅作者简介:热爱科研的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电子书和数学建模资料
❤️部分理论引用网络文献,若有侵权联系博主删除


相关文章
|
7天前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
|
7天前
|
机器学习/深度学习 传感器 算法
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
83 14
|
7天前
|
机器学习/深度学习 算法
【概率Copula分类器】实现d维阿基米德Copula相关的函数、HACs相关的函数研究(Matlab代码实现)
【概率Copula分类器】实现d维阿基米德Copula相关的函数、HACs相关的函数研究(Matlab代码实现)
|
7天前
|
机器学习/深度学习 传感器 算法
【裂纹检测】检测和标记图片中的裂缝(Matlab代码实现)
【裂纹检测】检测和标记图片中的裂缝(Matlab代码实现)
|
7天前
|
存储 算法 安全
【多目标工程应用】基于MOGWO的地铁隧道上方基坑工程优化设计研究(Matlab代码实现)
【多目标工程应用】基于MOGWO的地铁隧道上方基坑工程优化设计研究(Matlab代码实现)
|
7天前
|
传感器 机器学习/深度学习 编解码
【电缆】中压电缆局部放电的传输模型研究(Matlab代码实现)
【电缆】中压电缆局部放电的传输模型研究(Matlab代码实现)
|
8天前
|
算法 计算机视觉
【MPDR & SMI】失配广义夹角随输入信噪比变化趋势、输出信干噪比随输入信噪比变化趋势研究(Matlab代码实现)
【MPDR & SMI】失配广义夹角随输入信噪比变化趋势、输出信干噪比随输入信噪比变化趋势研究(Matlab代码实现)
|
8天前
|
编解码 人工智能 算法
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)
|
8天前
|
机器学习/深度学习 编解码 并行计算
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)
|
8天前
|
机器学习/深度学习 传感器 边缘计算
【故障诊断】基于时滞反馈随机共振的增强型旋转电机故障诊断(Matlab代码实现)
【故障诊断】基于时滞反馈随机共振的增强型旋转电机故障诊断(Matlab代码实现)

热门文章

最新文章