基于峰谷分时电价引导下的电动汽车充电负荷优化(matlab代码)

目录

1 主要内容

峰谷电价优化

电动汽车充电负荷变化

2 部分代码

3 程序结果


主要内容

该程序基本复现《基于峰谷分时电价引导下的电动汽车充电负荷优化》,代码主要做的是基于NSGA-II的电动汽车充电负荷优化,首先,在研究电动汽车用户充电需求的前提下,利用蒙特卡洛方法对2种不同充电方式进行模拟并对其进行分析;分析用户响应度对电动汽车有序充电的影响,建立峰谷分时电价对电动汽车负荷影响的模型,在模拟出电动汽车无序充电负荷的基础上,用实际案例对模型进行验证,利用多目标遗传优化算法进行求解,验证峰谷分时电价对电网负荷优化的有效性。

该程序主要分成两部分,第一部分是峰谷电价优化部分,第二部分通过确定的峰谷平电价观测电动汽车充电负荷变化情况。

  • 峰谷电价优化

  1. 程序采用NSGA-II算法,该算法是非常成熟、常用的多目标求解算法,是遗传算法的一种,作为智能优化算法,最关键的点是找到程序的输入和输出,剩下的即是采用算法进行连接即可,在该程序中,输入是分时电价作为变量,输出是两个目标,分别是负荷均方差最小和电动汽车用户充电费用最小。
目标1:

目标2:

优化结果:

对于帕累托多目标而言,会存在多组运行结果,即多个自变量+目标函数的组合,求解此类问题的帕累托最优解有以下常用的几种方法:权重系数变换法,给每个子目标函数赋予权重系数后转变为单目标优化问题;并列选择法,将群体所有个体按照子目标函数划分子群体,各自选出适应度高的个体以得到新的子群体,再将其合并,不断进行 至 最 大 次 数,最 终 得 到 多 目 标 优 化 的帕累托最优解。
  • 电动汽车充电负荷变化

该部分利用确定好的峰谷平电价,抽取1000辆电动汽车进行分析,考虑电动汽车的充电开始时刻、充电时长、行驶路程和价格弹性矩阵,得到电动汽车充电与原始负荷对比。

部分代码

M=2;%目标函数个数
p=1;
pop_size=200;           % 种群规模
no_runs=1;              % 计数器
gen_max=100;            % 最大遗传代数
fname='test_case';      % 目标函数    
V=3;                    %优化变量的数量
txl=[-5*ones(1,V);zeros(1,V);-5*ones(1,V);-1000*ones(1,V);zeros(1,V);-1/sqrt(V)*ones(1,V);zeros(1,V); 0 -5*ones(1,V-1);zeros(1,V)];
txu=[10*ones(1,V); ones(1,V);5*ones(1,V);1000*ones(1,V);ones(1,V);1/sqrt(V) *ones(1,V);ones(1,V);1 5*ones(1,V-1);ones(1,V)];
xl=[0.2  0.25  0.25] ;      % 变量的下限,最低电价0.25元每千瓦时
xu=[2  2  2] ;              % 变量的上限,最高电价2元每千瓦时
etac = 20;                  % 交叉分布指数
etam = 20;                  % 突变分布指数/突变常数
pm=1/V;                     % 变异概率
pcars=caculateload(1000);   %无序时负荷
 %原电网24小时负荷
 p0=[  455.39
       405.948
       333.086
       275.836
       205.576
       145.725
       130.112
       130.112
       137.918
       150.929
       163.941
       182.156
       208.178
       195.167
       156.134
       150.929
       161.338
       169.145
       169.145
       176.952
       195.167
       210.781
       296.654
       497.026];
%价格弹性矩阵,初始电价1元
priceq=[-0.623   0.3241    0.2305;       %峰时弹性16-24
        0.3553   -0.6166   0.2216;      %平时弹性8-16
        0.3215   0.3038   -0.6065];     %谷时弹性0-8 
Q=[]; 
for run = 1:no_runs    
    %% 原始种群
    xl_temp=repmat(xl, pop_size,1);
    xu_temp=repmat(xu, pop_size,1);
    x = xl_temp+((xu_temp-xl_temp).*rand(pop_size,V));​

程序结果

第一部分已经展示了运行结果,该部分展示一下原文结果图,以便对比​。

通过对比可见,程序复现效果很好​!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【VSCode部署模型】导出TensorFlow2.X训练好的模型信息

参考tensorflow2.0 C加载python训练保存的pb模型 经过模型训练及保存,我们得到“OptimalModelDataSet2”文件夹,模型的保存方法(.h5或.pb文件),参考【Visual Studio Code】c/c部署tensorflow训练的模型 其中“OptimalModelDataSet2”文件夹保…

HDFS中namenode安全模式

HDFS中namenode安全模式 安全模式的现象探究step1step2step3step4 安全模式的概述控制进入时间和离开条件安全模式自动进入离开安全模式手动进入离开 安全模式的现象探究 step1 HDFS集群在停机状态下,使用hdfs -daemon命令逐个进程启动集群,观察现象首…

太猛了,靠“吹牛”过顺丰一面,月薪30K

说在前面 在40岁老架构师尼恩的(50)读者社群中,经常有小伙伴,需要面试美团、京东、阿里、 百度、头条等大厂。 下面是一个5年小伙伴成功拿到通过了顺丰面试,拿到offer,月薪30K。 现在把面试真题和参考答…

音视频——压缩原理

H264视频压缩算法现在无疑是所有视频压缩技术中使用最广泛, 最流行的。随着 x264/openh264以及ffmpeg等开源库的推出,大多数使用者无需再对H264的细节做过多的研究,这大降低了人们使用H264的成本。 但为了用好H264,我们还是要对…

【KVC补充 Objective-C语言】

一、KVC补充 好,那么接下来,再给大家说一下这个KVC 1.首先我们说,这个KVC,就是指的什么 key value coding 吧 全称就是叫做(Key Value Coding),这是它的全称 那么,你在帮助文档里面搜的时候,你就搜key-value coding 是不是这个啊,key-value coding 然后点击,进…

NASM汇编

1. 前置知识 1. 汇编语言两种风格 intel:我们学的NASM就属于Intel风格AT&T:GCC后端工具默认使用这种风格,当然我们也可以加选项改成intel风格 2. 代码 1. 段分布 .text: 存放的是二进制机器码,只读.data: 存放有初始化的…

uni-app之微信小程序实现‘下载+保存至本地+预览’功能

目录 一、H5如何实现下载功能 二、微信小程序实现下载资源功能方面与H5有很大的不同 三、 微信小程序实现文件(doc,pdf等格式,非图片)下载(下载->保存->预览)功能 四、图片预览、保存、转发、收藏&#xff1…

flask中的cookies介绍

flask中的cookies介绍 “Cookie” 在 web 开发中是一种非常重要的技术,用于在客户端(即用户的浏览器)存储信息,以便在多个页面和多个访问会话之间保持状态。Cookies 通常用于记住用户的登录信息,跟踪用户在站点上的浏…

C++——继承(1)详解

目录 1.继承的含义 2.继承的定义: 3.继承方式 例子1:基类的访问限定符为public,两个派生类的继承方式分别为public、protected时: 例子2: 基类的访问限定符为protected,两个派生类的继承方式分别为pub…

机器学习深度学习——Dropout

👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——权重衰减 📚订阅专栏:机器学习&&深度学习 希望文章对你们有所帮助 Drop…

百度与AI:历史、投资和监管

来源:猛兽财经 作者:猛兽财经 百度的人工智能在中国具有先发优势 随着ChatGPT的爆火,人工智能重新引起了投资者的注意,然而人工智能并不是突然爆火的,而是全球众多公司在人工智能技术上进行数十年如一日的研发和积累&a…

MYSQL 分库分表

公司现有业务不断发展,流量剧增,交易数量突破了千万订单,但是订单数据还是单表存储,主从分离后,虽然减少了缓解读请求的压力,但随着写入压力增加,数据库的查询和写入性能都在下降,这…

Kubernetes ConfigMap - Secret - 使用ConfigMap来配置 Redis

目录 ConfigMap : 参考文档:k8s -- ConfigMap - 简书 (jianshu.com) K8S ConfigMap使用 - 知乎 (zhihu.com) ConfigMap的作用类型: 可以作为卷的数据来源:使用 ConfigMap 来配置 Redis | Kubernetes 可以基于文件创建 Conf…

服务器介绍

本文章转载与b战up主谈三国圈,仅用于学习讨论,如有侵权,请联系博主 机架型服务器 堆出同时服务百万人次机组 刀型服务器 服务器炸了 比如用户访问量暴增 超过机组的峰值处理能力,进而导致卡顿或炸服, 适合企业的塔式…

idea下tomcat运行乱码问题解决方法

idea虚拟机选项添加-Dfile.encodingUTF-8

jdk1.7与jdk1.8的HashMap区别1-基本结构与属性对比

一、数据结构差别 1.7:数组链表 1.8:数组链表红黑树 当链表的长度大于8时,数组长度大于64,原来的链表数据结构变为红黑树 二、HashMap中的关键属性和方法区别 方法/变量/类 JDK7 JDK8 备注 DEFAULT_INITIAL_CAPACITY 16 16…

一个类似Office用户界面的WPF库

博主介绍: 🌈一个10年开发经验.Net老程序员,微软MVP、博客专家、CSDN/阿里云 .Net领域优质创作者,专注于.Net领域知识、开源项目分享!🌈 🛕文末获取,加入交流群🛕 &#…

HTML一些基础知识

1、Web标准:主要包含结构、表现、行为。结构用于对网页元素进行整理和分类,主要指HTML。表现用于设置网页元素的板式、颜色、大小等外观样式,主要指的是CSS。行为主要指的是网页模型的定义以及交互的编写,主要是js文件。 Html相当…

css定义超级链接a标签里面的title的样式

效果: 代码: 总结:此css 使用于任何元素,不仅仅是a标签!

时序预测 | MATLAB实现NARX-ANFIS时间序列预测

时序预测 | MATLAB实现NARX-ANFIS时间序列预测 目录 时序预测 | MATLAB实现NARX-ANFIS时间序列预测效果一览基本介绍研究内容程序设计参考资料效果一览