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

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

🍊个人信条:格物致知。

⛄ 内容介绍

微电网优化调度作为智能电网优化的重要组成部分,对降低能耗,环境污染具有重要意义.微电网的发展目标既要满足电力供应的基本需求,又要提高经济效益和环境保护.对此,提出了一种综合考虑微电网系统运行成本和环境保护成本的并网模式下微电网多目标优化调度模型.同时采用改进的粒子群算法对优化模型进行求解.仿真结果表明,该模型可以有效降低用户的用电成本和环境污染,促进微电网的优化运行,并验证了改进的粒子群算法的优越性能.

⛄ 部分代码

%%存档库(储藏室)作用:存档,用来储存过去产生的非支配解

%这里的程序尽量不要动,直接套用即可

classdef Repository %储藏室

    properties

        swarm

        rep_size

        Grid

        grid_size

        alpha

        beta

        gamma

    end

    methods

        function obj = Repository(swarm,rep_size,grid_size,alpha,beta,gamma) %存档库

            if nargin>0

                obj.rep_size = rep_size;

                swarm = Particle.updateDomination(swarm);

                obj.swarm = swarm(~[swarm.isDominated]);

                obj.grid_size=grid_size;

                obj.alpha=alpha;

                obj.beta = beta;

                obj.gamma = gamma;

                obj.Grid=obj.grid();

                for i = 1:length(obj.swarm)

                    obj.swarm(i) = obj.swarm(i).updateGridIndex(obj.Grid);

                end

            end

        end

        function Grid = grid(obj) %更新网格

            C = vertcat(obj.swarm.cost);

            cmin = min(C,[],1);

            cmax = max(C,[],1);

            dc = cmax - cmin;

            cmin = cmin - obj.alpha * dc;

            cmax = cmax + obj.alpha * dc;

            nObj = size(C,2);

            empty_grid.LB = [];

            empty_grid.UB = [];

            Grid = repmat(empty_grid,nObj,1);

            for j = 1:nObj

                cj = linspace(cmin(j),cmax(j),obj.grid_size+1);

                Grid(j).LB = [-inf, cj];

                Grid(j).UB = [cj, +inf];

            end

        end

        function leader = SelectLeader(obj) %选择领导者

            GI = [obj.swarm.GridIndex];

            OC = unique(GI);

            N = zeros(size(OC));

            for k = 1:length(OC)

                N(k) = length(find(GI==OC(k)));

            end

            P = exp(-obj.beta*N);

            P = P/sum(P);

            sci = Repository.RouletteWheelSelection(P);

            sc = OC(sci);

            SCM = find(GI==sc);

            smi = randi([1 length(SCM)]);

            sm = SCM(smi);

            leader = obj.swarm(sm);

        end

        function obj = DeleteOneRepMemebr(obj) %删除一个存档库的成员

            GI=[obj.swarm.GridIndex];

            OC=unique(GI);

            N=zeros(size(OC));

            for k=1:length(OC)

                N(k)=length(find(GI==OC(k)));

            end

            P=exp(obj.gamma*N);

            P=P/sum(P);

            sci=Repository.RouletteWheelSelection(P);

            sc=OC(sci);

            SCM=find(GI==sc);

            smi=randi([1 length(SCM)]);

            sm=SCM(smi);

            obj.swarm(sm)=[];

        end

        function obj = update(obj,swarm)  %更新

            swarm = Particle.updateDomination(swarm);

            obj.swarm = [obj.swarm,swarm(~[swarm.isDominated])];

            obj.swarm = Particle.updateDomination(obj.swarm);

            obj.swarm = obj.swarm(~[obj.swarm.isDominated]);

            obj.Grid=obj.grid();

            for i = 1:length(obj.swarm)

                obj.swarm(i) = obj.swarm(i).updateGridIndex(obj.Grid);

            end

            Extra=length(obj.swarm)-obj.rep_size;

            for e=1:Extra

                obj=obj.DeleteOneRepMemebr();

            end

        end

    end

    methods (Static)

        function i = RouletteWheelSelection(P) %轮盘赌筛选进行删除

            i = find(rand<=cumsum(P),1,'first');

        end

    end

end

⛄ 运行结果

【微电网优化】基于改进粒子群算法的微网多目标优化调度附matlab代码_ci

【微电网优化】基于改进粒子群算法的微网多目标优化调度附matlab代码_ci_02

【微电网优化】基于改进粒子群算法的微网多目标优化调度附matlab代码_粒子群算法_03

【微电网优化】基于改进粒子群算法的微网多目标优化调度附matlab代码_粒子群算法_04

【微电网优化】基于改进粒子群算法的微网多目标优化调度附matlab代码_多目标_05

【微电网优化】基于改进粒子群算法的微网多目标优化调度附matlab代码_多目标_06

⛄ 参考文献

[1] 陈深, 肖俊阳, 黄玉程,等. 基于改进量子粒子群算法的微网多目标优化调度[J]. 电力科学与技术学报, 2015, 30(2):7.

[2] 刘强. 基于改进粒子群算法多目标多微网经济优化调度[D]. 中国矿业大学, 2020.

[3] 杨健. 基于改进粒子群算法的微网实时能量优化调度[D]. 南京邮电大学.

[4] 程宇旭. 基于改进粒子群算法的微电网能量优化调度研究及实现[D]. 中南大学, 2014.

[5] 李兴莘, 张靖, 何宇,等. 基于改进粒子群算法的微电网多目标优化调度[J]. 电力科学与工程, 2021, 37(3):7.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料