风与水如何联合优化?基于混合遗传算法的风-水联合优化运行程序代码!

前言

为提高风电场的供电质量同时增加其发电效益,利用储能技术为风电场配置一个蓄能系统是比较重要的解决措施之一。风电的蓄能技术有水力蓄能、压缩空气蓄能、超导磁力蓄能、流体电池组、电解水制氢等,其中水力蓄能是技术较成熟的一种蓄能方式,且小型的水力发电系统投资也不大,因此为采用风-水电联合供电模式不失为一种优选的方案。

风-水联合优化模型

假定风电场在没有配置水力蓄能系统时的初始功率输出和配置水力蓄能系统后的水电机组容量均是确定的。根据我国风电产业发展的国情,我们以增加风电场的效益以及平滑风电场功率输出为目的建立目标函数:目标函数描述的是一个效益最大化的模型,寻求的是在一定的风能资源前提下如何优化调度风电场中风力发电机组、水泵和水力发电机组在各个时段的出力值以便获取风电场的最大利润和平滑风电场输出。模型中暂不考虑一些固定成本,比如水力蓄能系统的固定投资成本以及可能涉及的一些其它固定投资成本。

基于局部弹性搜索的混合遗传算法

所谓的概率遍历搜索法即在变量的取值范围内按照一定的精度要求,将连续区间转化为离散区间,然后对于区间内的离散点在一定的保证概率(如0.99)下求得需要搜索的次数,然后按此搜索次数参与全局寻优,最后获得符合一定精度的最优解。

遗传算法操作的是一群编码化的可行解,称作种群。它通过种群的更新与迭代来搜索全局最优解。种群的迭代是通过选择、交叉和变异等具有生物意义的遗传算子来实现的。鉴于有关遗传算法的推文已经介绍的比较多,在此就不再赘述。不过特别需要指出的是,遗传算法在进行优化时,一般涉及的变量都是独立的,并且其取值范围都是已知的,而在本程序所涉及的风-水电联合优化运行问题中,3个变量却相互制约,每一个变量的取值都有可能影响另外两个变量的取值,而且变量的取值范围也是随时变化的,这就为遗传算法的实现带来了很大的难度。程序在处理这个问题时采取了一种概率遍历搜索的方法,取得了满意的效果。

程序提出的基于局部弹性收缩的混合遗传算法采取先用遗传算法进行全局寻优,找到初步最优解后,以此最优解为初值,再用弹性搜索法求得最终的全局最优解的方法。下面就对局部弹性搜索法做一简单的说明。

假设x∈[a,b],通过遗传算法求得x的初步最优解是x,适应度评价函数为f(x),则局部弹性搜索的步骤如下:

1)设置指向系数sign(控制搜索的方向)初始值为0:

2)求得x,与上下边界的距离的最小值,即d1=x1-a;d2=b-x1,D=min(d1,d2);

3)步长Δx=Dx(-1)sign(1-nb/N);N为局部弹性搜索的总次数,n为第n次搜索,b为弹性系数(控制搜索的精度);

4)x(n)=x1+Δx,并计算新的适应度函数值f(x(n)),如果f(x(nn))>f(x1)则sign=0,x1=x(n)则sign=1;

5)n=n+1,返回到第(2)步循环执行;

程序介绍

程序提出的基于遗传算法的风-水电联合优化运行就是采用水力蓄能的方式,为风电场配置一个水力发电系统,当可利用风能数值较大时,将一部分风能通过水泵以水能的形式储存于水库中,然后在可利用风能数值较小或上网电价较高时再经过水电发电机组将存储的能量输送到电网中去,以此实现风电场功率的优化输出,这样一方面平滑了风电场的输出波动,另一方面也充分利用了风能,增加了风电场的效益。程序中算例丰富,注释清晰,干货满满,创新性和可扩展性很高,足以撑起一篇高水平论文!下面对程序做简要介绍!

程序适用平台:Matlab+Yalmip+Cplex

程序结果

部分程序

VStepPp=rand(sizepop,NVAR)*(Vmax-Vmin)+Vmin;                                  %初始化速度
%确定风机功率P_w的取值范围-​
Pwmax=min(P_max,P_v)';       ​%[0,min(8,Pv)]
Pwmin=P_gmin*ones(1,NVAR);   ​%初始化速度
%-​确定水力发电功率P_h的取值范围
Phmax=P_hmax*ones(1,NVAR);    %[0,3]​
%% 优化
F=fun(P_w,P_h,P_p,sizepop,NVAR,C,C_p);   ​ %计算目标函数(适应度值)
E=zeros(sizepop,NVAR+1);
%-对不符合条件的解(粒子)加上惩罚因子​
%判断哪些解需要加入惩罚因子​
% 约束条件(2)            
​for nvar=1:NVAR
if P(j,nvar)>P_max​%flag=1时表示不满足约束条件
F(j)=F(j)-M;     %加上惩罚因子​%flag=1时表示不满足约束条件
F(j)=F(j)-M;   %加上惩罚因子​
% 约束条件(3)​if P_p(j,nvar)+P_w(j,nvar)>P_gmaxF(j)=F(j)-M;
if P_p(j,nvar)+P_w(j,nvar)<P_gmin​
% 约束条件(4)
if P_h(j,nvar)>min(P_hmax,E(j,nvar)*eta_h/t)F(j)=F(j)-M;​
E(j,nvar+1)=E(j,nvar)+t*(eta_p*P_p(j,nvar)-P_h(j,nvar)/eta_h);         %下一时刻水库储能​
% 约束条件(6)        ​
% 约束条件(5)
​if P_p(j,nvar)>P_pmaxF(j)=F(j)-M;
if P_p(j,nvar)<P_pmin F(j)=F(j)-M;​
% 约束条件(7)if P_v(nvar)-P_w(j,nvar)-P_p(j,nvar)<0F(j)=F(j)-M;​
%附加约束条件(1)​
if P_h(j,nvar)*P_p(j,nvar)~=0F(j)=F(j)-M*(P_h(j,nvar)*P_p(j,nvar));​
% 个体极值和群体极值(初始情况)
[bestfitness,I]=max(F);   ​ %找出最大的惩罚函数:bestfitness为惩罚函数值;I为序号数
zbest=Vary(I,:);           ​%全局最佳
gbest=Vary;                ​%个体最佳
fitnessgbest=F;            ​%个体最佳适应度值
fitnesszbest=bestfitness;  %全局最佳适应度值

部分内容源自网络,侵权联系删除!

欢迎感兴趣的小伙伴关注并私信获取完整版代码,小编会不定期更新高质量的学习资料、文章和程序代码,为您的科研加油助力!

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【JavaEE初阶系列】——Servlet运行原理以及Servlet API详解

目录 &#x1f6a9;Servlet运行原理 &#x1f6a9;Servlet API 详解 &#x1f393;HttpServlet核心方法 &#x1f393;HttpServletRequest核心方法 &#x1f388;核心方法的使用 &#x1f534;获取请求中的参数 &#x1f4bb;query string &#x1f4bb;直接通过form表…

【Cpp】运算符重载 | 前置++(--)# 后置++(--)

标题&#xff1a;【Cpp】运算符重载 | 前置&#xff08;--&#xff09;# 后置&#xff08;--&#xff09; 水墨不写bug 正文开始&#xff1a; 对于内置类型的前置后置&#xff08;--&#xff09;我们已经很清楚了&#xff1a; 前置&#xff08;--&#xff09;先&#xff08;--…

记录一个RSA加密js逆向

network调试就不说了吧 pwd加密参数 搜索pwd参数定位逆向 可以看到有很多关键词 但是我们细心的朋友会发现加密函数关键字 encrypte 打上断点 调试 发现在断点处停止了 并且框选函数发现了一串加密值 虽然不一样但是大概率是这个 并且没你每次放置移开都会刷新 所以如果这个就是…

js自定义实现类似锚点(内容部分滚动)

场景&#xff1a; 效果图如上&#xff0c;类似锚点&#xff0c;但是屏幕不滚动。高度计算我不是很熟练。for循环写的比较麻烦。element plus 和Ant Design有类似组件效果。 html&#xff1a; <template><div><div style"height: 400px;" class&q…

数据丢失不慌张,手机数据恢复一键解决!

如今手机已经成为我们生活中不可或缺的一部分。无论是工作、学习还是娱乐&#xff0c;手机都扮演着重要的角色。随着使用时间的增加&#xff0c;手机数据丢失的问题也时常发生。那么手机数据恢复有哪些方法呢&#xff1f;面对这种情况&#xff0c;先不要慌张&#xff0c;本文将…

STEP BY STEP带你使用Docker搭建MySql-MGR高可用集群

数据的重要性 数据已成为当今数字时代最重要的资产之一&#xff0c;对于企业的成功至关重要。它可以帮助企业了解客户、市场和自身运营&#xff0c;提高运营效率&#xff0c;做出明智决策&#xff0c;推动创新&#xff0c;并获得竞争优势。 数据的采集&#xff0c;存储&#…

Python运维-文本处理、系统和文件信息监控、外部命令

本节主要目录如下&#xff1a; 一、文本处理 1.1、Python编码解码 1.2、文件操作 1.3、读写配置文件 1.4、解析XML文件 二、系统信息监控 2.1、监控CPU信息 2.2、监控内存信息 2.3、监控磁盘信息 2.4、监控网络信息 2.5、获取进程信息 2.6、实例&#xff1a;常见的…

报表控件Stimulsoft在JavaScript报告工具中的事件:查看器事件(下)

Stimulsoft Ultimate &#xff08;原Stimulsoft Reports.Ultimate&#xff09;是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他环境的完整工具集。无需比较产品功能&#xff0c;Stimulsoft Ultimate包含了…

PCIE协议-1

1. PCIe结构拓扑 一个结构由点对点的链路组成&#xff0c;这些链路将一组组件互相连接 - 图1-2展示了一个结构拓扑示例。该图展示了一个称为层级结构的单一结构实例&#xff0c;由一个根复合体&#xff08;Root Complex, RC&#xff09;、多个端点&#xff08;I/O设备&#xf…

Amazon Bedrock 托管 Llama 3 8B70B

Amazon Bedrock 托管 Llama 3 8B&70B&#xff0c;先来体验&#xff1a;&#xff08;*实验环境账号有效期为1天&#xff0c;到期自动关停&#xff0c;请注意重要数据保护&#xff09; https://dev.amazoncloud.cn/experience/cloudlab?id65fd86c7ca2a0d291be26068&visi…

iOS与android坐标映射不一致问题

iOS与android坐标映射不一致问题 背景背景 为什么同一份着色器代码、同样的cvmat数据,Android和iOS两个平台处理之后会得到不一样的结果呢? 这主要是因为iOS和Android使用的渲染图形库不一样,iOS使用的是Metal,而Android使用的是OpenGL ES,而两个图形库的纹理坐标系又不一…

『51单片机』AT24C02[IIC总线]

存储器的介绍 ⒈ROM的功能⇢ROM的数据在程序运行的时候是不容改变的&#xff0c;除非你再次烧写程序&#xff0c;他就会改变&#xff0c;就像我们的书本&#xff0c;印上去就改不了了&#xff0c;除非再次印刷&#xff0c;这个就是ROM的原理。 注→在后面发展的ROM是可以可写可…

【ITK配准】第七期 尺度(Metric)- 均方Metric

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享ITK中的均方Metric,即itk::MeanSquaresImageToImageMetricv4,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力…

54.HarmonyOS鸿蒙系统 App(ArkTS)tcp socket套接字网络连接收发测试

工程代码https://download.csdn.net/download/txwtech/89258409?spm1001.2014.3001.5501 54.HarmonyOS鸿蒙系统 App(ArkTS)tcp socket套接字网络连接收发测试 import socket from ohos.net.socket; import process from ohos.process; import wifiManager from ohos.wifiMana…

网络基础(1)详解

目录 1.计算机网络背景 2.网络协议 3.网络中的地址管理 1.计算机网络背景 1.1 网络发展 (1)计算机从独立模式到网络互联(多态计算机连接共享数据)再到局域网LAN(通过交换机和路由器连接)接着是广域网WAN 1.2 协议 协议就是双方的一种约定. 为什么要有协议? 因为在数据长距…

Python专题:一、安装步骤

1、下载地址&#xff1a;Welcome to Python.org 勾选这个add 其他的全部下一步即可。 运行出现这个即代表安装成功。 Python自带编辑器。 2、推荐使用的sublime 编辑器下载 全部下一步安装。

苹果可能将OpenAI技术集成至iOS/iPadOS 18

&#x1f989; AI新闻 &#x1f680; 苹果可能将OpenAI技术集成至iOS/iPadOS 18 摘要&#xff1a;苹果正在与OpenAI就将GPT技术部署在iOS/iPadOS 18中进行谈判。这项技术被视为可能增强的Siri功能&#xff0c;即“AI聊天机器人”。除Siri外&#xff0c;新技术还可能改善Spotl…

直播产品实习生实习体验报告,笔灵AI生成模版分享

实习体验报告&#xff1a;直播产品实习生 如果有不同的岗位需要写的话可以去笔灵生成一下 网址&#xff1a;https://ibiling.cn/scene/inex?fromcsdnsx 一、实习背景我是XXX&#xff0c;作为一名直播产品实习生&#xff0c;我在XX公司进行了为期X个月的实习。在这段时间里&…

unreal engine5.3.2 Quixel bridge无法登陆

UE5系列文章目录 文章目录 UE5系列文章目录前言一、问题定位二、解决方法 前言 这几天unreal engine5.3.2 Quixel bridge无法登陆&#xff0c;输入epic 账号和密码&#xff0c;然后在输入epic发送的验证码&#xff0c;总是提示登录失败。就算是使用科学上网依然无法登录。而且…

高企文档电子章怎么盖

为高企&#xff08;高新技术企业&#xff09;文档加盖电子章&#xff0c;需要遵循一套专业的流程&#xff0c;确保电子章的合法性和安全性。以下是详细的步骤&#xff1a; 准备电子章实体印章的数字化&#xff1a; 将企业的实体印章通过扫描或高清拍照的方式转换为电子格式&…