基于遗传算法的微电网调度(风、光、蓄电池、微型燃气轮机)(Matlab代码实现)

news2024/11/15 16:52:20

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

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


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

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

目录

1 绪论

2 微电网电源模型

1.1 微型燃气轮机( MT)

1.2  燃料电池( FC)

1.3  光伏电池( PV)

1.4  风力发电( WT)

1.5  蓄电池储能( SB)

2 微电网的运行优化

2.1 目标函数

2.2  约束条件

3 程序框图

4 运行结果 

5 Matlab代码实现


参考文献 

微电网作为智能电网的一部分,是分布式电源接入电网的一种有效手段,微电网经济运行是其中一个重要研究方面。考察微电网经济性,通常是从最小运行成本和最小环境污染物排放成本两方面入手进行微电网的多目标优化,通过给适应度函数设置权重系数,将多目标函数转换为单目标函数。结合具体的微电网系统算例进行了仿真研究,结果显示: 运用权重系数法能够使优化目标中经济成本与环境成本达到一个相对平衡的状态,实现了微电网经济运行。

1 绪论

全球各个国家都面临着能源不足的问题,各种可再生能源得到了广泛关注。微电网( Micro-

Grid) 的出现为这些可再生能源的整合提供了一 种方法[1]。微电网是由负荷和各种分布式电源

( 如光伏、风力发电等) 共同组成的系统,同时可以提供热能和电能。微电网有并网与孤岛两种运

行模式,两种模式的平滑切换[2]增加了微电网运行的可靠性,有效降低了发电成本。

本文中的微电网包括微型燃气轮机( MT) 、 燃料电池( FC) 、光伏( PV) 、风机( WT) 、蓄电池

( SB) ,建立了热电联产型微电网模型,针对微电网并网运行,采用遗传算法对微电网进行多目标

优化。运用以热定电的策略,首先让燃气轮机 ( MT) 满足用户热量的同时提供电能,再优先利

用可再生能源发电,以最小化经济成本和最少环境污染物排放成本为目标函数,运用权重系数法

把多目标函数变为单目标函数,结合具体算例实现微电网经济运行。

2 微电网电源模型

1.1 微型燃气轮机( MT)

微型燃气轮机利用天然气、沼气等多种燃料提供热能与电能。燃气轮机的冷热电三联供系统

( CCHP) 的示意图如图 1 所示。温度高的、有较 多可用能量的来发电,温度比较低的经过溴化锂

机组来制冷或者供热,提高了能源利用率,有助于提高经济效益和环境效益。

    

                            图 1 微型燃气轮机的冷热电三联供示意图

        

1.2  燃料电池( FC)

燃料电池是将化学能转换为电能的装置,不受卡诺循环限制,电能转化率高,清洁、噪声小,

因此很适用于做分布式电源。燃料电池发电成本为:

1.3  光伏电池( PV)

光伏电池将太阳能转化为直流电能,其是一 种非线性电能,电压与电流随着光照强度和温度

的改变呈现出非线性。得出其输出功率为:

                  

                             

1.4  风力发电( WT)

风力发电是利用风电机组叶片从风中获得能量转换为机械能,然后传送给发电机,转化为电

能,因此风力发电燃料成本和气体排放治理成本为 0。风力发电机组的输出功率与风速有关:

                                    

1.5  蓄电池储能( SB)

微电网中蓄电池充放电过程交替进行,充电达到额定容量后进入放电过程,放电达到 SOC

( 荷电状态) 为额定容量的 30% 时,停止放电,进入充电。

2 微电网的运行优化

2.1 目标函数

( 1) 运行成本目标函数为

                    

                               

2.2  约束条件

                            

3 程序框图

遗传算法( Genetic Algorithm) 是一种通过模拟自然进化过程搜索最优解的方法。它具有组织

性、自适应性和学习性,利用种群的进化总结信息自行搜索,采用概率变迁规则来指导搜索方向,已被广泛用于电力规划领域。

多目标遗传算法( MOGA) 指的是存在多个目标需要同时优化寻求出一组最优解。在实际运算

中对多个目标优化而不能兼顾搜索全局,导致了最优解的遗失,往往是因为权重系数设置不合理。

事先并不知道设置为多少合适,只能做估计和试探,这种做法往往影响了优化结果。本文所采用

的是均值自适应法选取权重系数,算法流程图如图所示

                              

4 运行结果 

 

 

部分代码: 

%% 基于遗传算法的微电网调度(风、光、储能、微型燃气轮机)
clc
clear
tic;
close all
%% 遗传算法参数
MAXGEN=200;                         %进化代数
sizepop=40;                       %种群规模
pcross=0.6;                      %交叉概率
pmutation=0.01;                  %变异概率
lenchrom=ones(1,48);             %变量字串长度,48个变量
%% 导入数据
global Load pv wt price
Load=load('典型日负荷.txt');%负荷
pv=load('PV.txt');%光伏发电
wt=load('WT.txt');%风力发电
price=load('电价.txt');%电价


。。。。。

%% 交叉操作
function ret=Cross(pcross,lenchrom,chrom,sizepop,bound)
% pcorss                input  : 交叉概率
% lenchrom              input  : 染色体的长度
% chrom                 input  : 染色体群
% sizepop               input  : 种群规模
% ret                   output : 交叉后的染色体

for i=1:sizepop 
    
    % 随机选择两个染色体进行交叉
    pick=rand(1,2);
    while prod(pick)==0
        pick=rand(1,2);
    end
    index=ceil(pick.*sizepop);
    % 交叉概率决定是否进行交叉
    pick=rand;
    while pick==0
        pick=rand;
    end
    if pick>pcross
        continue;
    end
    flag=0;
    while flag==0
        % 随机选择交叉位置
        pick=rand;
        while pick==0
            pick=rand;
        end
        pos=ceil(pick.*sum(lenchrom)); %随机选择进行交叉的位置,即选择第几个变量进行交叉,注意:两个染色体交叉的位置相同
        pick=rand; %交叉开始
        v1=chrom(index(1),pos);
        v2=chrom(index(2),pos);
        chrom(index(1),pos)=pick*v2+(1-pick)*v1;
        chrom(index(2),pos)=pick*v1+(1-pick)*v2; %交叉结束
        flag1=test(lenchrom,bound,chrom(index(1),:));  %检验染色体1的可行性
        flag2=test(lenchrom,bound,chrom(index(2),:));  %检验染色体2的可行性
        if   flag1*flag2==0
            flag=0;
        else flag=1;
        end    %如果两个染色体不是都可行,则重新交叉
    end
end
ret=chrom;

5 Matlab代码实现

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

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

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

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

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

相关文章

Docker介绍

目录 docker定义 docker解决了什么问题 docker技术边界 docker给我们带来了哪些改变 docker和虚拟机的区别 docker基本架构 基本架构图 RootFs Linux Namespace 进程命名空间 查看元祖进程命名空间 查看当前用户进程命名空间 容器进程命名空间 容器进程命名空间的…

[激光原理与应用-33]:典型激光器 -5- 不同激光器的全面、综合比较

目录 第1章 五类激光器的性能及应用对比 第2章 各类激光器的区别特点及应用三张表看懂-超米激光 2.1 固体激光器 2.2 气体激光器 2.3 化学激光器 2.4 染料激光器 2.5 半导体激光器 2.6 光纤激光器 2.7 自由电子激光器 第3章 10多种激光器的全面梳理 3.1 激光器的分类…

二叉树-31-37对称二叉树

31. 对称的二叉树 递归: 把原问题化成更小规模的问题,并且具有相同的问题性质,重复调用本身函数 二叉树的递归,是将某个节点的左子树、右子树看成一颗完整的树,那么对于子树的访问或者操作就是对于原树的访问或者操作…

HTML如何制作音乐网站(如何搭建个人音乐网页)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

Java毕业设计 JSP+MySQL幼儿园信息管理系统

幼儿园网站就是幼儿园的“商标”,在网站上可以看出一所幼儿园的特色和个性,在这个信息时代,建立属于自己的幼儿园网站是最直接的宣传手段。而就目前的幼儿园信息管理系统来说,有很多功能都是华而不实的,不能很好的与幼儿园日常工作相结合,容易导致日常工作出现异常。本系统的题…

【HDU No. 4417】 超级马里奥 Super Mario

【HDU No. 4417】 超级马里奥 Super Mario 杭电OJ 题目地址 【题意】 可怜的公主陷入困境,马里奥需要拯救他的情人。把通往城堡的道路视为一条线(长度为n ),在每个整数点i 上都有一块高度为hi 的砖,马里奥可以跳的最…

【博客552】git auto-merge原理以及auto-merge的不同模式

git auto-merge原理 1、merge 常见误区 1、git merge 是用时间先后决定merge结果的,后面会覆盖前面的? 答 :git 是分布式的文件版本控制系统,在分布式环境中时间是不可靠的,git是靠三路合并算法进行合并的。 2、git merge 只…

电脑装了w10没有w7流畅怎么办?

如果我们对自己的电脑进行了系统的重装,在电脑装了win10系统之后发现没有win7流畅的话,很多小伙伴不知道是什么情况应该怎么解决。 那么据微点阅读小编所知可能是我们电脑硬件设施的不兼容所导致的。我们可以在官网上查看win10系统的配置要求是否符合自…

一文带你深入理解【Java基础】· 泛型

写在前面 Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正&#xff0…

Arduino开发实例-DIY风速测量及显示

DIY风速测量及显示 1、应用介绍 本次实例将使用一款具有 NPN 脉冲输出的数字风速计传感器。 NPN脉冲输出风速计效果好,性价比高。另外它仅在 5V 电源下工作。 在本次实例中,将此风速计传感器与 Arduino 板和 0.96 英寸 OLED 显示屏连接。 OLED显示屏将以米/秒为单位显示风速…

[附源码]计算机毕业设计基于SpringBoot的酒店预订系统设计与实现

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

​AAAI 2023 | 基于历史对比学习的时序知识图谱推理

©PaperWeekly 原创 作者 | 徐奕单位 | 上海交通大学Acemap研究方向 | 数据挖掘论文标题:Temporal Knowledge Graph Reasoning with Historical Contrastive Learning论文链接:https://arxiv.org/abs/2211.10904代码链接:https://github…

Elasticsearch好用查询插件分享

以前我常用的ES查询工具是Head,作为插件形式在浏览器中运行,挺方便的,后来发现head不太好用,比如在数据浏览的时候,不小心就点击了两个索引,背景色设置的还不够明显,比较容易看错数据的。于是想…

git中rebase和merge的区别

介绍 Merge和Rebase是合并两个分支的操作。都是checkout到某个分支上,然后将别的分支合并(变基)到本分支上。 注意:本分支(head指向的分支,或者经过checkout后的分支)会变化,而别的…

在Linux上部署Servlet程序

目录 一、部署环境 1、安装JDK 2、安装Tomcat 3、安装MySQL 二、部署程序 1、构造云服务器上的数据库 2、打包程序 3、部署程序 一、部署环境 为了部署我们自己的web程序,首先需要在Linux上安装程序所依赖的环境~ 1、安装JDK 直接使用yum安装openjdk&…

小程序云开发笔记二

小程序云开发笔记二一、读取数据库播放列表将数据显示到界面二、上拉加载三、上拉刷新四、云函数路由优化tcb-router案例:点击两个按钮调用同一个云函数将music中写成koa风格的云函数五、事件冒泡组件参数properties和data一、读取数据库播放列表将数据显示到界面 …

java同步方法

观看此文 首先 你要了解 java的同步锁 如果不了解 可以观看我的文章 java 同步锁synchronized 解决线程共享数据重复操作问题 那么 从下图 我们可以看到 逻辑代码上被绑了一个同步锁 但这个其实大可以写成一个函数 看起来会美观便捷很多 同步方法的格式如下 修饰符 synchro…

git switch 命令详解

1. 前言 2. switch 创建分支 3. switch 切换分支 1. 前言 checkout 命令具有 分支的管理 和 文件的恢复 两个核心功能,功能较多、不够准确。在 git 2.23 版本中新增了 switch 和 restore命令,用于替代 checkout 命令,进而分化 checkout 命…

(附源码)springboot大学生竞赛管理平台 毕业设计

题 目 springboot大学生竞赛管理平台 目 录 摘要 1 1 绪论 1 1.1选题意义 1 1.2国内外研究现状 1 1.3系统开发技术的特色 4 1.4论文结构与章节安排 4 2 大学生竞赛管理平台分析 5 2.1 可行性分析 5 2.2 系统流程分析 6 2.2.1数据增加流程 7 2.3.2数据修改流程 7 2.3.3数据删…

java面向对象----封装 构造器

目录 封装和隐藏 为什么需要封装? 信息的封装和隐藏 四种访问权限修饰符 构造器(构造方法) 构造器的特征 语法格式: 构造器重载 构造器重载举例 属性赋值过程 JavaBean UML类图 关键字—this this是什么? 使用this,…