Matlab|【EI复现】电动汽车集群并网的分布式鲁棒优化调度模型

目录

1 内容简介

2 关键知识点

2.1 三类电动汽车模型

3 程序结果

4 下载链接


1 内容简介

电动汽车的数据模型种类繁多,但是用到比较高阶数学方法的并不多,本次分享的程序是下图所示的文章。

采用分布鲁棒优化模型,用到鲁棒对等转换,并采用ADMM算法进行求解,程序和文章方法一致,具有较好的参考价值。

2 关键知识点

2.1 三类电动汽车模型

根据文章所述,三类电动汽车模型分别如下所示:

对应程序代码如下(第二类电动汽车):

con1=[];
​
for i=1:sumA1n2
​for t=1:T
​k=k+1;
​if t==1
​con1=[con1,x_socu1(i,t)==u1soc(i)+yita*x_pju1(i,t)/El];%soc约束
​con1=[con1,x_pju1(i,t)==pcr*timeu1(i,t)];%充电功率约束
​else
​con1=[con1,x_socu1(i,t)==x_socu1(i,t-1)+yita*x_pju1(i,t)/El];   %soc约束
​con1=[con1,sum(lind(k,:))==1,
​implies(lind(k,1),[x_socu1(i,t-1)>=Scr,0<=x_pju1(i,t)<=pcr*timeu1(i,t)]);%soc大于0.4时充电功率约束
​implies(lind(k,2),[x_socu1(i,t-1)<=Scr,x_pju1(i,t)==pcr*timeu1(i,t)])];%soc小于0.4时充电功率约束
​end
​​
% con1=[con1,0<=x_pju1(i,t)<=pcr*timeu1(i,t)];
​end
​
end
​
for i=1:u1sum20
​con1=[con1,Slex<=x_socu1(i,24)<=1];%离网soc约束
​
end
​
con1=[con1,0<=x_socu1<=1];
​
2.2 发电机启停约束
​
发电机启停时间约束是编程的一个难点,具体约束表达形式列写在下面,详细与原理可以参见视频讲解部分。
​
Horizon = size(x,2);
​
C = [];
​
for k = 2:size(x,2)
​for unit = 1:size(x,1)
​% indicator 代表机组启停动作
​indicator = x(unit,k)-x(unit,k-1);
​range = k:min(Horizon,k+minup(unit)-1);%约束状态,状态维持不变,开关机至少保持时间范围
​% Constraints will be redundant unless indicator = 1
​affected = x(unit,range);
​if strcmp(class(affected),'sdpvar')
​% 开关机状态约束,只要开机,必然维持最小运转时间
​C = [C, affected >= indicator];
​end
​end
​
end

2.3 ADMM算法迭代部分

迭代部分是程序运行的灵魂所在,但是对于模块化编程,这部分确实不好展示,就把模块化代码列在此处,详细信息可以下载程序源码了解。

for i=1:10%循环次数,次数越多越收敛,但是运算时间就长
​[PDN,x_pd1,x_pd2,x_pv1,x_pv2,x_pw1,x_pw2]=mp(PAjr,lamr,P2j1,P3j1,P2j2,P3j2,P2j3,P3j3,P2j4,P3j4);%主问题
​[P1j1,P2j1,P3j1,PA1t,x_pjd1,x_pju1,x_pjh1,x_socd1,x_socu1,x_soch1]=eva1(PDN,lamr,A1n1,A1n2,A1n3);%子问题1
​​[P1j2,P2j2,P3j2,PA2t,x_pjd2,x_pju2,x_pjh2,x_socd2,x_socu2,x_soch2]=eva2(PDN,lamr,A2n1,A2n2,A2n3);%子问题2
​
%
​[P1j3,P2j3,P3j3,PA3t,x_pjd3,x_pju3,x_pjh3,x_socd3,x_socu3,x_soch3]=eva3(PDN,lamr,A3n1,A3n2,A3n3);%子问题3
​​[P1j4,P2j4,P3j4,PA4t,x_pjd4,x_pju4,x_pjh4,x_socd4,x_socu4,x_soch4]=eva4(PDN,lamr,A4n1,A4n2,A4n3);%子问题4
​​PAjr=[P1j1+P2j1+P3j1;P1j2+P2j2+P3j2;P1j3+P2j3+P3j3;P1j4+P2j4+P3j4];
​​lamr=lamr+pho.*(PDN-PAjr);
​​slp(i)=(sum(sum((PDN-PAjr).*(PDN-PAjr))))^0.5;
​
end

3 程序结果

4 下载链接

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

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

相关文章

贪心区间问题(区间选点)

题目 给定 N 个闭区间 [ai,bi]&#xff0c;请你在数轴上选择尽量少的点&#xff0c;使得每个区间内至少包含一个选出的点。 输出选择的点的最小数量。 位于区间端点上的点也算作区间内。 输入格式 第一行包含整数 N&#xff0c;表示区间数。 接下来 N 行&#xff0c;每行…

开发指南002-前后端信息交互规范-请求类

请求类由org.qlm.io.vo.RequestInfo定义&#xff1a;//1.0 Schema(description "平台-请求包版本标识 用于版本兼容") private String version;Schema(description "平台-请求者") private String consumer;//请求者 标识发出请求的系统Schema(descripti…

MyBatis3源码深度解析(七)JDBC单连接事务

文章目录 前言2.7 JDBC单连接事务2.7.1 事务的开启与提交2.7.2 事务隔离级别2.7.2.1 并发访问问题&#xff08;1&#xff09;脏读&#xff08;2&#xff09;不可重复读&#xff08;3&#xff09;幻读 2.7.2.2 事务隔离级别&#xff08;1&#xff09;TRANSACTION_NONE&#xff1…

BJFU|计算机网络期末复习考前速记

整理了一些重要名词的定义与概念&#xff0c;适合在考前几个小时过几次加深印象&#xff0c;可以更好应对选填与简答的题型。 互联网的定义&#xff1a;广义观点-远程信息处理进一步达到资源共享&#xff1b;资源共享观点-以相互共享资源的方式互联起来的自治计算机系统的集合…

百度信息流

计划: 流量选择 - 四个维度: 百度信息流 ; 整合了百度APP、WAP、PC各频道信息流和内容详情页的流量资源,广告和信息流内容资讯穿插展现;适合所有产品呢 好看视频; 汇集海量优质的视频内容,通过智能推荐算法为用户推送最适合的视频广告,视频广告在列表页有声…

【故障分类】基于注意力机制的卷积神经网络结合双向长短记忆神经网络CNN-BiLSTM-attention实现数据分类附matlab代码

摘要&#xff1a; 本文详细介绍了一种基于注意力机制的卷积神经网络(CNN)结合双向长短记忆神经网络(BiLSTM)实现数据分类的方法&#xff0c;并给出了详细的Matlab实现代码。本文首先概述了CNN、BiLSTM和注意力机制的基本原理&#xff0c;然后阐述了整体网络结构的设计思路&…

ChatGPT 串接到 Discord - 团队协作好助理

ChatGPT 串接到 Discord - 团队协作好助理 ChatGPT 是由 OpenAI 开发的一个强大的语言模型&#xff0c;本篇文章教你如何串接 Discord Bot &#xff0c;协助团队在工作上更加高效并促进沟通与协作。使 ChatGPT 发挥出最大的功效&#xff0c;进一步提升工作效率和团队协作能力。…

Redis 内存的优化

目录 前言 Redis 的内存碎片问题 判断Redis 内存碎片 如何清理内存碎片&#xff1f; 前言 我想讲一下怎么提高Redis 内存的利用率&#xff0c;redis 的数据是保存在内存中。对内存的利用率低&#xff0c;意味着存的数据很少&#xff0c;并不意味着就没有内存了&#xff0c…

【解读】OWASP大语言模型应用程序十大风险

OWASP大型语言模型应用程序前十名项目旨在教育开发人员、设计师、架构师、经理和组织在部署和管理大型语言模型&#xff08;LLM&#xff09;时的潜在安全风险。该项目提供了LLM应用程序中常见的十大最关键漏洞的列表&#xff0c;强调了它们的潜在影响、易利用性和在现实应用程序…

利用华为CodeArts持续交付项目演示流程

软件开发生产线&#xff08;CodeArts&#xff09;是面向开发者提供的一站式云端平台&#xff0c;即开即用&#xff0c;随时随地在云端交付软件全生命周期&#xff0c;覆盖需求下发、代码提交、代码检查、代码编译、验证、部署、发布&#xff0c;打通软件交付的完整路径&#xf…

力扣---腐烂的橘子

题目&#xff1a; bfs思路&#xff1a; 感觉bfs还是很容易想到的&#xff0c;首先定义一个双端队列&#xff08;队列也是可以的~&#xff09;&#xff0c;如果值为2&#xff0c;则入队列&#xff0c;我这里将队列中的元素定义为pair<int,int>。第一个int记录在数组中的位…

3.8IO作业

1&#xff1a;编写链表&#xff0c;链表里面随便搞点数据 使用 fprintf 将链表中所有的数据&#xff0c;保存到文件中 使用 fscanf 读取文件中的数据&#xff0c;写入链表中&#xff0c;实现&#xff0c;当按 ctrl c的时候&#xff0c;保存链表 #include <stdio.h> #in…

day15_集合_ArrayList

今日内容 零、 复习昨日 一、集合框架体系 二、Collection 三、泛型 四、迭代 五、List(ArrayList、LinkedList) 零、 复习昨日 日期解析的方法签名(字符串–>日期) Date parse(String s) 日期格式化的方法签名(日期–>字符串) String format(Date date) 运行时异常有哪些…

19、电源管理入门之微内核中的电源管理

目录 1. QNX电源管理框架 2. QNX客户端API库 3. QNX代码分析 4. Fuchsia中的电源管理 5. Minix中的电源管理 6. Harmony OS中的电源管理 之前介绍的电源管理机制基本都是在Linux中实现的,可以看到很复杂,各种框架,明明一个操作非要转来转去,而且在内核里面实现,跟内…

【HarmonyOS】ArkTS-联合类型

目录 联合类型实例 联合类型 联合类型是一种灵活的数据类型&#xff0c;它修饰的变量可以存储不同类型的数据。 语法&#xff1a;let 变量: 类型1 | 类型2 | 类型3 值 基于联合类型&#xff0c;变量可存不同类型数据 实例 // 需求&#xff1a;定义一个变量&#xff0c;存放…

Spring web开发(入门)

1、我们在执行程序时&#xff0c;运行的需要是这个界面 2、简单的web接口&#xff08;127.0.0.1表示本机IP&#xff09; package com.example.demo;import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestCont…

srlua打包(Lua 5.4.6)

资源 Lua - Joe DFs Builds 或者在文章附加资源下载。 使用方法 在当前文件夹打开文件夹&#xff0c;使用cmd。srglue.exe srlua.exe in.lua out.exe 或 srglue srlua.exe in.lua out.exe in.lua&#xff1a;指用进行打包的lua文件。out.exe&#xff1a;指输出的exe文件的…

【OD】算法二

开源项目热度榜单 某个开源社区希望将最近热度比较高的开源项目出一个榜单&#xff0c;推荐给社区里面的开发者。对于每个开源项目&#xff0c;开发者可以进行关注(watch)、收藏(star)、fork、提issue、提交合并请求(MR)等。 数据库里面统计了每个开源项目关注、收藏、fork、…

垃圾回收:JavaScript内存管理的利器

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Java算法-力扣leetcode-55. 跳跃游戏

55. 跳跃游戏 给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 示例 1&a…