Matlab|基于V图的配电网电动汽车充电站选址定容-可视化

1主要内容

基于粒子群算法的电动汽车充电站和光伏最优选址和定容

关键词:选址定容 电动汽车 充电站位置  

仿真平台:MATLAB

主要内容:代码主要做的是一个电动汽车充电站和分布式光伏的选址定容问题,提出了能够计及地理因素和服务半径的2步筛选法,以此来确定充电站的候选站址。以规划期内充电站的建设运行成本、充电途中耗时成本、网损费用以及考虑碳排放流成本之和最小为目标,考虑了相关的约束条件,构造了电动汽车充电站最优规划的数学模型,并采用粒子群算法快速求解!

可结合下图文献学习(注:程序备注不多,适合有编程经验同学)。

2程序结果

3部分程序

function [Fcost,CCS,fcs,ucs,NchI,Ep,CVT,CVTI,CDL,f]=VorCostCDEV(x,y,b,bcs,BL,X)
​
% x=X(1:Tn,pk);y=X(Tn+1:end,pk);b=bb;bcs=bcs(1,:);BL=BL;
%% 说明:计算电动汽车规划目标函数,即适应值
%输入
%x,y为充电站坐标;为外界交互变换参数。x和y保证是列矩阵。
%b为充电需求点坐标和充电需求,第1,2列为横坐标和纵坐标,第3列为充电需求,为固定参数;
%bcs为配送区域的集中充电站坐标,第1,2列为横、纵坐标。
%BL为图坐标与实际坐标的比例,为固定参数。
​
%输出
%Fcost为年社会成本
%CCS为建设运行成本
%fcs为固定建设成本
%ucs为运行管理成本,取fcs的0.1
%NchI为各充电站规模,即充电机数量
%Ep为个充电站服务的快充车辆数,即充电需求
%CVT为用户充电途中耗时成本
%CVTI为各充电站的用户充电途中耗时成本
Rz=(rr*(1+rr).^ms)./((1+rr).^ms-1);
mui=0.6;
dr=1;
m=1.5;
Ep=[];  
vv=VoronoiArea([x,y],3);
[va,~]=size(vv);vv(find(isnan(vv),2))=500*rand;
bax=b; 
for k=1:length(x)Ai=find(vv(:,3)==k);xx=vv(Ai,1);yy=vv(Ai,2);kk=convhull(xx,yy); in=inpolygon(bax(:,1),bax(:,2),xx(kk),yy(kk));bax(in,4)=k;
end
f=zhiliupf33(X);
for i=1:length(x)gb=bax(bax(:,4)==i,:);Ep=[Ep;[sum(gb(:,3)),i]];    dtI=sqrt(((gb(:,1))-x(i)).^2+((gb(:,2))-y(i)).^2).*BL;if all((lmd.*dtI>dmax)==0)==0dp=1e5;elsedp=0; end
​CVTI(i,:)=(1+dp).*365.*beta.*(sum(gb(:,3).*lmd.*dtI)./(v*1e3));
end​

 下载链接

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

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

相关文章

ubantu 计算一个文件夹内的文件数量命令

ubantu 计算一个文件夹内的文件数量命令 在Ubuntu中,你可以使用find命令来计算一个文件夹内的文件数量。以下是一个基本的命令示例: find /path/to/directory -type f | wc -l这里的/path/to/directory是你想要计算文件数量的文件夹的路径。find命令会…

蓝队-溯源技巧

溯源技巧 大致思想 通常情况下,接到溯源任务时,获得的信息如下 攻击时间 攻击 IP 预警平台 攻击类型 恶意文件 受攻击域名/IP其中攻击 IP、攻击类型、恶意文件、攻击详情是溯源入手的点。 通过攻击类型分析攻击详情的请求包,看有没有攻击者…

Web前端网页源代码:深入剖析与实用技巧

Web前端网页源代码:深入剖析与实用技巧 在Web开发的浩瀚领域中,前端网页源代码扮演着至关重要的角色。它不仅是网页的骨架,更是实现各种交互和视觉效果的基石。本文将从四个方面、五个方面、六个方面和七个方面,对Web前端网页源代…

C# OpenCvSharp 矩阵计算-determinant、trace、eigen、calcCovarMatrix、solve

🚀 在C#中使用OpenCvSharp库进行矩阵操作和图像处理 在C#中使用OpenCvSharp库,可以实现各种矩阵操作和图像处理功能。以下是对所列函数的详细解释和示例,包括运算过程和结果。📊✨ 1. determinant - 计算行列式 🧮 定义: double determinant(InputArray mtx); 参数…

web前端网页实例:深度剖析与实践指南

web前端网页实例:深度剖析与实践指南 在数字化时代的浪潮中,web前端网页已成为企业与用户之间的桥梁,承载着信息的传递与交互的重任。本文将通过四个方面、五个方面、六个方面和七个方面的详细剖析,带您深入了解web前端网页实例的…

实在智能应邀出席中国移动科技工作者论坛,分享基于大模型+Agent智能体的“企业大脑”

为大力弘扬科学家精神,激励广大科技工作者践行科技报国、创新为民,争做高水平科技自立自强排头兵,6月6日,中国移动在线营销服务中心(以下简称“在线中心”)“2024年科技工作者大讲堂暨青年创新创效论坛”于…

Matlab|基于手肘法的kmeans聚类数的精确识别【K-means聚类】

主要内容 在电力系统调度研究过程中,由于全年涉及的风、光和负荷曲线较多,为了分析出典型场景,很多时候就用到聚类算法,而K-means聚类就是常用到聚类算法,但是对于K-means聚类算法,需要自行指定分类数&…

C/C++:指针用法详解

C/C:指针 指针概念 指针变量也是一个变量 指针存放的内容是一个地址,该地址指向一块内存空间 指针是一种数据类型 指针变量定义 内存最小单位:BYTE字节(比特) 对于内存,每个BYTE都有一个唯一不同的编号…

赶紧转行大模型,预计风口就今年一年,明年市场就饱和了!不是开玩笑

恕我直言,就这几天,各大厂都在裁员,什么开发测试运维都裁,只有大模型是急招人。 你说你不知道大模型是什么?那可太对了,你不知道说明别人也不知道,就是要趁只有业内部分人知道的时候入局&#…

深入理解Python中的多线程与多进程编程

深入理解Python中的多线程与多进程编程 在现代计算中,充分利用多核处理器和并行计算资源变得越来越重要。Python提供了多线程和多进程编程的支持,使开发者能够编写高效的并行程序。本文将深入探讨Python中的多线程与多进程编程,包括基本概念、使用方法以及实际应用场景。 …

String常用方法详解

auth:别晃我的可乐 date:2024年06月16日 比较大小 equals(Object obj): 用于比较字符串内容是否相等。compareTo(String anotherString): 按字典顺序比较两个字符串。 String str1 "hello"; String str2 "world";boolean isEqual …

配置Linux DNS服务器作为自己的windows 的 DNS服务器和 配置遇到的问题

安装DNS 库 和 DNS工具: # bind 是用于创建 dns服务的, bind-utils是用于测试DNS服务的工具 yum -y install bind bind-utils配置主配置文件: # 下载好后就已经有DNS服务,但是需要你自己去配置DNS服务信息# 配置主配置文件 [rootl…

SylixOS下UDP组播测试程序

SylixOS下UDP组播测试 测试效果截图如下: udp组播发送测试程序。 /********************************************************************************************************* ** ** 中国软件开源组织 ** ** …

java中把对象作为参数

在Java中,把对象作为参数传递给方法是一种常见的编程模式。Java是一种面向对象的语言,因此它支持创建对象并使用这些对象作为参数、返回值或存储在变量中。以下是关于在Java中把对象作为参数的详细解释: 1. 为什么要把对象作为参数 数据共享…

使用 Vibration API 进行网页振动效果

Vibration API 是一种简单的 JavaScript API,可以让网页通过振动设备(如手机)的振动功能来提供触觉反馈。这在创建更加互动和沉浸式的用户体验时非常有用。本文将介绍如何在网页中使用 Vibration API 实现振动效果。 什么是 Vibration API&a…

什么叫做刚性兑付

在中国,传统的银行理财产品通常承诺固定的收益,投资者购买理财产品时,往往期望到期后能够按照约定的收益率获得回报,这种现象被称为“刚性兑付”。然而,随着金融市场的发展和监管政策的调整,为了降低金融系…

vue的安装配置并创建项目

npm 工具的安装 安装node.js之后,npm工具会自动安装到系统环境中 网址:https://nodejs.org/en vue的安装 安装vue并创建项目 npm create vuelatest 进入项目之后,然后启动npm run dev 解决方法: npm install -g create-vite 再次启动 通…

13.泛型、trait和生命周期(下)

目录 6. 生命周期与引用有效性6.1 生命周期引入6.2 得到长度最大的String值6.3 生命周期标注语法1)说明2)普通标注示例3)函数参数中的生命周期标注 6.4 深入理解生命周期6.5 结构体定义中的生命周期标注6.6 生命周期省略 6.7 方法定义中的生命…

应急响应 | 基本技能 | 01-系统排查

系统排查 目录 系统基本信息 Windows系统Linux系统 用户信息 Windows系统 1、命令行方式2、图形界面方法3、注册表方法4、wmic方法 Linux系统 查看所有用户信息分析超级权限账户查看可登录的用户查看用户错误的登录信息查看所有用户最后的登录信息查看用户最近登录信息查看当…

机器学习周报第46周

目录 摘要Abstract一、文献阅读1.1 摘要1.2 研究背景1.3 论文方法1.4 模块分析1.5 网络规格1.6 高效的端到端对象检测1.7 mobile former模块代码 目录 摘要Abstract一、文献阅读1.1 摘要1.2 研究背景1.3 论文方法1.4 模块分析1.5 网络规格1.6 高效的端到端对象检测1.7 mobile f…