【电力系统经济调度】多元宇宙算法求解电力系统多目标优化问题(Matlab实现)【电气期刊论文复现与算例创新】

news2024/11/19 7:48:59

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥

📝目前更新:🌟🌟🌟电力系统相关知识,期刊论文,算法,机器学习和人工智能学习。
🚀支持:🎁🎁🎁如果觉得博主的文章还不错或者您用得到的话,可以关注一下博主,如果三连收藏支持就更好啦!这就是给予我最大的支持!

👨‍🎓博主课外兴趣:中西方哲学,送予读者:

👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“真理”上的尘埃吧。

     或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎

📋📋📋本文目录如下:⛳️⛳️⛳️

目录

0 概述

1 环境经济调度数学模型

2 多元宇宙算法

3 讲解

3.1 主函数: 

3.2 目标函数 

4 运行结果

4 IEEE140节点仿真算例及Matlab代码【创新】

5 参考文献

6 完整Matlab代码实现


0 概述

多元宇宙算法求解电力系统多目标优化算法有很好的效果,代码换成自己的目标函数,加上约束和惩罚项等。本文用多元宇宙算法求解电力系统多目标优化问题——电力系统环境经济调度问题。

提出了一种求解电力系统环境经济调度的新方法,该方法利用宇宙空间在随机创建过程中高膨胀率的物体随虫洞在空间移动物体的规律,通过对白洞和黑洞间随机传送物体来实现最优搜索. 算法具有运算速度快,收敛性强,适用于高维计算等特点.以总燃料费用最低和总污染排放最少为多目标建立环境经济调度模型,最后,通过发电厂传统10机组和40机组算例进行仿真.结果表明:本文所提算法具有经济性和有效性. 

1 环境经济调度数学模型

2 多元宇宙算法

 

3 讲解

3.1 主函数: 

clc;
clear;
close all;
tStart=tic;
% global costdata emissiondata B B0 B00 Pd VarMin VarMax nVar
global data B B0 B00 Pd VarMin VarMax nVar
Pd=2000;
data=xlsread('IEEE10.xls');

B1=xlsread('B10.xls');
B=B1(1:10,1:10);
B0=[0 0 0 0 0 0 0 0 0 0];
B00=0;
%  B=B1(1:3,1:3);
%  B0=[0 0 0 0 0 0 0 0 0 0];
%  B00=0;


%%

Max_time=600; %迭代次数
N=100;
ArchiveMaxSize=100;
% max_iter=Max_time;
 nVar=10;             % 机组个数

VarSize=[1 nVar];   % 决策变量矩阵的大小
VarMin=data(:,2);          %机组出力下限
VarMax= data(:,3);          % 机组出力上限

fobj=@(x) IEEE3aobj(x);
dim=nVar;
lb=VarMin';
ub=VarMax';
obj_no=2;

Best_universe=zeros(1,dim);
Best_universe_Inflation_rate=inf*ones(1,obj_no);

Archive_X=zeros(ArchiveMaxSize,dim);
Archive_F=ones(ArchiveMaxSize,obj_no)*inf;
Archive_member_no=0;

WEP_Max=1;
WEP_Min=0.2;

for i=1:N
   Universes(i,:)=lcheck3; 
end

Time=1;

while Time<Max_time+1
    WEP=WEP_Min+Time*((WEP_Max-WEP_Min)/Max_time);
    TDR=1-((Time)^(1/6)/(Max_time)^(1/6));
    for i=1:size(Universes,1)
        
        %边界检查(如果宇宙超出边界,则将它们带回搜索空间内)
        Flag4ub=Universes(i,:)>ub;
        Flag4lb=Universes(i,:)<lb;
        Universes(i,:)=(Universes(i,:).*(~(Flag4ub+Flag4lb)))+ub.*Flag4ub+lb.*Flag4lb;
        Universes(i,:)=lbcoff3bus(Universes(i,:));
        %计算宇宙的通货膨胀率(适合度)
        Inflation_rates(i,:)=fobj(Universes(i,:));
        
        %精英主义
        if dominates(Inflation_rates(i,:),Best_universe_Inflation_rate)
            Best_universe_Inflation_rate=Inflation_rates(i,:);
            Best_universe=Universes(i,:);
        end
        
    end
    
    [sorted_Inflation_rates,sorted_indexes]=sort(Inflation_rates);
    
    for newindex=1:N
        Sorted_universes(newindex,:)=Universes(sorted_indexes(newindex),:);
    end
    
    %原始MVO论文中的标准化通货膨胀率
    normalized_sorted_Inflation_rates=normr(sorted_Inflation_rates);
    
    Universes(1,:)= Sorted_universes(1,:);
%     Universes(1,:)=lchecktf1(Universes(1,:));
    [Archive_X, Archive_F, Archive_member_no]=UpdateArchive(Archive_X, Archive_F, Universes, Inflation_rates, Archive_member_no);
    if Archive_member_no>ArchiveMaxSize
        Archive_mem_ranks=RankingProcess(Archive_F, ArchiveMaxSize, obj_no);
        [Archive_X, Archive_F, Archive_mem_ranks, Archive_member_no]=HandleFullArchive(Archive_X, Archive_F, Archive_member_no, Archive_mem_ranks, ArchiveMaxSize);
    else
        Archive_mem_ranks=RankingProcess(Archive_F, ArchiveMaxSize, obj_no);
    end
    Archive_mem_ranks=RankingProcess(Archive_F, ArchiveMaxSize, obj_no);
    % 提高复盖率
    index=RouletteWheelSelection(1./Archive_mem_ranks);
    if index==-1
        index=1;
    end
   Best_universe_Inflation_rate=Archive_F(index,:);
   Best_universe=Archive_X(index,:); 
   
  
    
    %更新宇宙的位置
    for i=2:size(Universes,1)%从2开始,因为第1位是精英
        Back_hole_index=i;
        for j=1:size(Universes,2)
            r1=rand();
            if r1<normalized_sorted_Inflation_rates(i)
                White_hole_index=RouletteWheelSelection(-sorted_Inflation_rates);% 对于最大化问题,排序的通货膨胀率应该写成排序的通货膨胀率
                if White_hole_index==-1
                    White_hole_index=1;
                end
                %Eq. (3.1) 
                Universes(Back_hole_index,j)=Sorted_universes(White_hole_index,j);
%                 Universes(Back_hole_index,j)=lchecktf1(Universes(Back_hole_index,j));
            end
            
            if (size(lb',1)==1)
                %如果边界都是一样的,那么原MVO论文中的公式(3.2)就会出现
                r2=rand();
                if r2<WEP
                    r3=rand();
                    if r3<0.5
                        Universes(i,j)=Best_universe(1,j)+TDR*((ub-lb)*rand+lb);
                        
                    end
                    if r3>0.5
                        Universes(i,j)=Best_universe(1,j)-TDR*((ub-lb)*rand+lb);
                    end
                end
            end
            
            if (size(lb',1)~=1)
            %公式( 3.2 )在原始MVO论文中,如果对每个变量的上下界不同
                r2=rand();
                if r2<WEP
                    r3=rand();
                    if r3<0.5
                        Universes(i,j)=Best_universe(1,j)+TDR*((ub(j)-lb(j))*rand+lb(j));
                    end
                    if r3>0.5
                        Universes(i,j)=Best_universe(1,j)-TDR*((ub(j)-lb(j))*rand+lb(j));
                    end
                end
            end
            
        end
        Universes(i,:)=lbcoff3bus(Universes(i,:));
    end
    display(['At the iteration ', num2str(Time), ' there are ', num2str(Archive_member_no), ' non-dominated solutions in the archive']);
    Time=Time+1;
%
end
plot(Archive_F(:,1),Archive_F(:,2),'Ro','LineWidth',2,...
        'MarkerEdgeColor','r',...
        'MarkerFaceColor','r',...
        'MarkerSize',2);
xlabel('污染排放量')
ylabel('煤耗量')
title('Pareto最前沿')
% Universes
Archive_F(:,1)
Archive_F(:,2)
Best_universe

3.2 目标函数 

function z=IEEE10aobj(x)

global data 
lb=data(:,2); 
 e1=data(:,8);
 d1=data(:,7);
 c1=sum(data(:,4));
 b1=data(:,5);
 a1=data(:,6); 
    F=zeros(length(x(:,1)),1);
    E=zeros(length(x(:,1)),1);


for i=1:length(x(:,1))
    %F(i)=x(i,:).*x(i,:)*a1+x(i,:)*b1+c1;
    F(i)=x(i,:).*x(i,:)*a1+x(i,:)*b1+c1+sum(abs(d1.*sin(e1.*(lb-x(i,:)'))));
end
Delta=data(:,13);
Xi=data(:,12);
Alpha=data(:,11);
Beta=data(:,10);
Gamma=sum(data(:,9));

for i=1:length(x(:,1))
      %E(i)=  x(i,:).*x(i,:)*Alpha+x(i,:)*Beta+Gamma;
      E(i)= (x(i,:).*x(i,:)*Alpha+x(i,:)*Beta+Gamma)+exp(x(i,:).*Delta')*Xi;
end
F(i);
E(i);

z=[E F]';

end

4 运行结果

10机组运行结果:

  

本文提出了一种求解电力系统环境经济调度的新方法,计及阀点效应和污染排放因素,建立多目标规划模型,利用PPF定价原则权衡多重因素. 多元宇宙算法在求解EED问题时具有计算精度高,收敛速度快等特点,在求解高维度问题表现更佳,适用于其他工程问题研究.

4 IEEE140节点仿真算例及Matlab代码【创新】

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

5 参考文献

[1]刘世宇,王孜航,杨德友.多元宇宙算法及其在电力系统环境经济调度的应用[J].东北电力大学学报,2018,38(04):19-26. 

6 完整Matlab代码实现

博客主页:@橘柑橙柠桔柚

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/62863.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机网络复习笔记——运输层

计算机网络复习笔记——运输层 概述 在计算机网络中进行通信的真正实体是位于通信两端主机中的进程 运输层的不同端口对应不同的进程 根据应用需求不同&#xff0c;运输层为应用层提供两种不同的运输协议&#xff0c;面向连接的TCP和无连接的UDP协议 运输层端口号、复用与…

CSS-盒子模型-内容,边框,内边距,外边距,(合并,塌陷情况)

CSS-盒子模型-内容&#xff0c;边框&#xff0c;内边距&#xff0c;外边距&#xff0c;(合并&#xff0c;塌陷情况) 目标&#xff1a;能够认识 盒子模型的组成 &#xff0c;****能够掌握盒子模型 边框、内边距、外边距 的****设置方法 学习路径&#xff1a; 1. 盒子模型的介绍 …

RK3588开发板的性能参数、功耗及功能特点|飞凌动态讲解

内容来源&#xff1a;飞凌嵌入式官网-www.forlinx.com2021年12月16日第六届瑞芯微开发者大会上&#xff0c;瑞芯微发布了全新一代旗舰处理器——RK3588。 相较前一代产品&#xff0c;RK3588的性能提高20%~30%&#xff01;同时采用新一代8nm制程工艺&#xff0c;也将大幅度降低功…

超级菜鸟怎么学习数据分析?

超级菜鸟如何学习数据分析&#xff0c;如何有效的成长为专业高手。 这个问题跟把大象放进冰箱是一个道理。 菜鸟成为超级高手是只需要四个步骤&#xff0c;直接上干货。 快速上手&#xff1a;可以简单、低门槛的上手学习与使用&#xff0c;快速入门 快速上手数据分析无非就是选…

Logstash:运用 Elasticsearch filter 来丰富地理数据

我们知道丰富数据对于很多的应用来说非常重要。这涉及到访问不同的表格&#xff0c;并进行搜索匹配。找到最为相近的结果并进行丰富数据。针对 Elasticsearh 来说&#xff0c;我们可以通过 enrich processor来进行丰富。你可以阅读我之前的文章来了解更多&#xff1a; Elastics…

git commit -m 撤销操作

1. 撤销本次commit-m操作 返回到add成功状态 git reset --soft HEAD^ 2.撤销本次commitadd 返回本地未提交状态 git reset --hard HEAD^ HEAD^ 表示上一个版本&#xff0c;即上一次的commit&#xff0c;几个^代表几次提交&#xff0c;如果回滚两次就是HEAD^^。 也可以写成HEAD…

代码随想录算法训练营第五十五天| LeetCode392. 判断子序列、LeetCode115. 不同的子序列

一、LeetCode392. 判断子序列 1&#xff1a;题目描述&#xff08;392. 判断子序列&#xff09; 给定字符串 s 和 t &#xff0c;判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些&#xff08;也可以不删除&#xff09;字符而不改变剩余字符相对位置形成的新…

SSAT Essay 类写作 - 五步法

从去年起&#xff0c; SSAT 写作转向重点考察critical thinking的考察&#xff0c;SSAT middle 由2篇Story 题目转为一篇Story和一篇Essay, SSAT upper 由 1篇Story 和1 篇Essay 转为 2 篇Essay。这就意味着写好Essay 是SSAT 写作的必备能力。 Essay 写作的要求 体现Critica…

uniapp 实现在线签合同/签名/信息认证(无插件依赖)

最近项目接到一个新的需求&#xff0c;需要对接一个可以在线签合同的的功能&#xff0c;知道需要后马上开干&#xff0c;经过一番斗争&#xff0c;终于终于下班啦 开个玩笑&#xff0c;废话不多说&#xff0c;直接上代码&#xff0c;因为代码是直接项目中搬出来的&#xff0c;没…

把苦难的时光删去:从小县城售货员到深圳IT白领的蜕变之路

希望就像石头缝里的花&#xff0c;有种子就会发芽。 初中辍学&#xff0c;家具店打工&#xff0c;原生家庭带给我太多伤 几乎是所有重男轻女家庭共有的悲剧&#xff0c;我的学习生涯在中考之后寥寥收了场&#xff0c;中考失利&#xff0c;母亲本着“女子无才便是德”的观念不同…

CSS基础

文章目录学习CSS的目的引入的三种方式内部样式表行内样式表外部样式表选择器的分类基础选择器标签选择器类选择器id选择器通配符选择器复合选择器后代选择器子选择器并集选择器伪类选择器盒子模型不同浏览器下盒子模型的区别边框内边距外边距去除浏览器默认样式元素的显示模式块…

Bug系列路径规划算法原理介绍(二)——BUG1 BUG2算法

本系列文章主要对Bug类路径规划算法的原理进行介绍&#xff0c;在本系列的第一篇文章中按照时间顺序梳理了自1986年至2018年Bug类路径规划算法的发展&#xff0c;整理了13种BUG系列中的典型算法&#xff0c;从本系列的第二篇文章开始依次详细介绍了其中具有代表性的BUG1、BUG2、…

面试官:高并发场景下,你们是怎么保证数据的一致性的?图文详解

面试的时候&#xff0c;总会遇到这么一个场景。 1. 场景分析 面试官&#xff1a;你们的服务的QPS是多少&#xff1f; 我&#xff1a;我们的服务高峰期访问量还挺大的&#xff0c;大约是3万吧。 面试官&#xff1a;这么大的访问量&#xff0c;你们的服务器能撑住吗&#xff…

自学unity,该不该阻止?

看清现状&#xff0c;展望未来 进入游戏公司前 进入游戏行业一大契机&#xff1a;在校生身份。各大厂同一个岗位对校招和社会招聘的要求不是一个维度。从学校校招生的身份毕业成为社会人&#xff0c;按照再给两年来算&#xff0c;两年后技术会如何革新&#xff1f;各大公司的招…

【苹果推群发iMessage推】软件安装个性化必要高度 - (void) updateListH

推荐内容IMESSGAE相关 作者推荐内容iMessage苹果推软件 *** 点击即可查看作者要求内容信息作者推荐内容1.家庭推内容 *** 点击即可查看作者要求内容信息作者推荐内容2.相册推 *** 点击即可查看作者要求内容信息作者推荐内容3.日历推 *** 点击即可查看作者要求内容信息作者推荐…

MySQL8.0.26—Linux版安装详细教程

❤ 作者主页&#xff1a;Java技术一点通的博客 ❀ 个人介绍&#xff1a;大家好&#xff0c;我是Java技术一点通&#xff01;(&#xffe3;▽&#xffe3;)~* &#x1f34a; 记得关注、点赞、收藏、评论⭐️⭐️⭐️ &#x1f4e3; 认真学习&#xff0c;共同进步&#xff01;&am…

Network error: Connection refused

Network error: Connection refused1 问题的现象2 确认vmware ubuntu侧ssh是否启动2.1 确认ubuntu侧ssh的状态2.2 重启ssh服务2.3 安装ssh1 问题的现象 在用mobaXterm ssh去链接vmware虚拟机ubuntu时一直报下面的错误。 出现该问题之后我做了下面的检测&#xff1a; 检查vmw…

腾讯云年终选购云服务器攻略!

随着云计算的快速发展&#xff0c;很多用户都选择上云&#xff0c;上运中最常见的产品就是云服务器CVM和轻量应用服务器了&#xff0c;那么怎么选购最优惠呢&#xff0c;这篇文章将介绍新老用户选购腾讯云服务器的几个优惠方法。 一、买赠专区 第一个介绍的就是买赠专区&…

在kubernetes中对pod使用tcpdump+wireShark进行抓包

1.查看pod信息&#xff0c;获得pod所在的宿主机 kubectl get pod -n demo -o wide 2.获取宿主机的详情 kubectl get node zeebe.node1 -o wide 3.ssh连接到宿主机 ssh 用户名10.10.11.202 4.查看容器ID&#xff0c;使用POD名称中的关键字进行查找 docker ps|grep nodeapp 5…

java计算机毕业设计ssm图书馆预约管理系统txke6(附源码、数据库)

java计算机毕业设计ssm图书馆预约管理系统txke6&#xff08;附源码、数据库&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xf…