• 基于非支配排序遗传算法的多目标水光互补优化调度附Matlab代码


    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

    🍎个人主页:Matlab科研工作室

    🍊个人信条:格物致知。

    更多Matlab仿真内容点击👇

    智能优化算法  神经网络预测 雷达通信  无线传感器

    信号处理 图像处理 路径规划 元胞自动机 无人机  电力系统

    ⛄ 内容介绍

    传统水光互补中长期调度模型未考虑光电的短期随机波动性,忽略了短期弃电风险,由此制订的调度规则难以有效协调光电消纳与流域水资源综合管理。光伏发电的随机性、波动性和间歇性限制了电网对光伏发电的接纳能力,随着光伏发电的快速发展,提高光伏的消纳能力是一个亟待解决的大问题。利用水电和光伏进行联合发电是一条提高光伏消纳能力新的途径。本文建立了短期的优化调度模型,以调度期内调峰能力最大和互补系统的出力和负荷需求的偏差最小为目标函数,采用模拟退火粒子群算法进行求解,处理多目标问题时采用拥挤距离排序,并采用外部档案的方法进行数据维护,最终得出水光互补可以明显提高系统的调峰能力。

    ⛄ 部分代码

    %

    function [pop, F]=NonDominatedSorting(pop)

        nPop=numel(pop);

        for i=1:nPop

            pop(i).DominationSet=[];

            pop(i).DominatedCount=0;

        end

        

        F{1}=[];

        

        for i=1:nPop

            for j=i+1:nPop

                p=pop(i);

                q=pop(j);

                

                if Dominates(p,q)

                    p.DominationSet=[p.DominationSet j];

                    q.DominatedCount=q.DominatedCount+1;

                end

                

                if Dominates(q.Cost,p.Cost)

                    q.DominationSet=[q.DominationSet i];

                    p.DominatedCount=p.DominatedCount+1;

                end

                

                pop(i)=p;

                pop(j)=q;

            end

            

            if pop(i).DominatedCount==0

                F{1}=[F{1} i];

                pop(i).Rank=1;

            end

        end

        

        k=1;

        

        while true

            

            Q=[];

            

            for i=F{k}

                p=pop(i);

                

                for j=p.DominationSet

                    q=pop(j);

                    

                    q.DominatedCount=q.DominatedCount-1;

                    

                    if q.DominatedCount==0

                        Q=[Q j];

                        q.Rank=k+1;

                    end

                    

                    pop(j)=q;

                end

            end

            

            if isempty(Q)

                break;

            end

            

            F{k+1}=Q;

            

            k=k+1;

            

        end​

    end

    ⛄ 运行结果​

    ⛄ 参考文献

    [1]丁航, 安源, 王颂凯,等. 水光互补的短期优化调度[C]// 2016第二届能源,环境与地球科学国际会议. 0.

    ⛄ Matlab代码关注

    ❤️部分理论引用网络文献,若有侵权联系博主删除

    ❤️ 关注我领取海量matlab电子书和数学建模资料

     

  • 相关阅读:
    行车记录仪检测不到内存卡的原因
    uniapp 兼容pc与手机的样式方法
    基于ATX的自动化测试管理软件:Q-Automation
    基于sklearn的机器学习 — 支持向量机(SVM)
    固定资产管理系统让企业动态掌握资产情况
    云服务器租用价格表概览_阿里云腾讯云华为云
    Docker笔记1
    Sigmoid类神经网络的鲁棒性验证
    R语言将距离矩阵输入给hclust函数进行层次聚类分析,使用cutree函数进行层次聚类簇的划分、参数k指定聚类簇的个数、给每个样本都分配了簇标签
    c++ 与 lua socket脚本高级调用
  • 原文地址:https://blog.csdn.net/qq_59747472/article/details/128130989