m基于遗传优化的不同等级电动汽车充电站的选址方案matlab仿真

news2024/12/23 19:18:30

目录

1.算法描述

2.仿真效果预览

3.MATLAB核心程序

4.完整MATLAB


1.算法描述

        作为电动汽车的普及与推广,必要的基础配套服务设施、充电站的建设位置和选址规划对整体行业的发展起着重要的意义,本文中提出了一个不同等级电动汽车充电站的选址与求解算法,考虑到了备选地址的分布情况,基于目标规划的整体思路,建立了一个使得电站建设初始成本,以及用户充电总成本最小化的不同等级充电站的选址解决模型,为了求解,运用了遗传搜索算法,针对其中表示电站址等级和用户分配的两个决策变量,设计了遗传编码和初始解构建相结合的新颖方案,并采用了遗传变异策略,可同时确定出充电站的建址位置、建设等级以及各个需求点的分配,该算法有很好的电站寻址能力,通过模型求得的解能很好的解答该题。

       从定量建模的角度出发,建立一个考虑多种等级的充电站选址模型,希望可以同时决策充电站的建址位置、建设等级以及各个需求点分配给哪个充电站进行服务等问题,同时结合考虑建站成本最小以及用户出行成本最小的问题,针对建立的模型,设计了一个遗传收搜算法来进行求解。

       根据已给数据,充电站的建设分为4个等级,各等级充电站的动力蓄电池存储能力、日服务能力等各不相同,具体如表1所示:

       首先我们要做的就是通过演算来决定怎样选择Station地点才能使各个方面的成本最小化。结合给定的条件,可以想到是,将每种可能性尝试一遍,计算出成本,并且记录已知最小值与此时的Station信息。那么我们可以算出,但用这种方法,我们需要循环测试5的十次方种可能性,然而这种方法的时间复杂度为 。随着充电站数量的增多或者在模型中需要加入其他考虑因素的话,枚举算法在运算时间上就难以接受。因此在这里我们需要考虑更加合适的启发式算法---遗传算法。

       电动汽车充电站的运营成本主要是按购电电价(分时电价)向电网公司支付电费,它的主要收入来源于按照制定给用户的充电电价收取的充电费用。充电站通过两者的差价来实现盈利。因此我们研究充电站分时充电电价时段的制定,希望通过用户的自主响应,以达到有序充电的目的,实现充电站的最大盈利。

第一步:获取用户的充电需求

       当用户驶入电站,根据用户自身条件选择(1)即充(不等待,即刻充电)(2)可以最大等待时间区间(即用户在附近上班、公务或其他事宜,可延迟充电最大时间)(3)无充电时间,更换电池板。充电站则根据充电站通过电动汽车上的电池管理系统获取电动汽车电池容量Bi,以及电池当前荷电状态(state of charge,SOC) As(即电动汽车当前电池电量与其电池总容量的比例)。合理制定用户的充电分时电价时段。

第二步:会根据用户选择以及充电站内系统运行状态给予用户一个实时分时电价

        电动汽车充电站以实现削峰填谷为目标,并以满足客户充电需求以及充电站变压器不过载为约束,动态制定面向该用户的分时电价。

第三步:用户自主响应分时电价,确定充电计划。

       充电站在制定的分时电价后,用户自主响应选择充电模式,可选择延迟电动汽车充电开始时间至低电价时段或立即开始充电,或重新调整以上三个不同的充电模式,直至与充电站内的电荷状态及盈利模式相符。充电站最后根据用户选择确定电动汽车充电计划,实现站内接入电动汽车的有序充电控制。否则,即视为充电需求不满足,用户离开。

      综上所述 ,系统的优化目标函数为:

 一项是充电站建站成本,一项是电动车在充电过程中消耗的成本(包括路程上的消耗及占用用户的时间成本)

2.仿真效果预览

matlab2022a仿真如下:

3.MATLAB核心程序

% 充电站级别     服务量 EV数量/天     建站成本 RMB/万 
% 1              350                  650
% 2              250                  530
% 3              110                  400
% 4              70                   350
global CDZ_lvl;
global CDZ_Ev;
global CDZ_my;
global CDZ_my2;

global Icar;
global Xcar;
global Ycar;
global EVcar;

global ICDZ;
global XCDZ;
global YCDZ;
global Myrod;
global CDZage;
 
global Car1;
global Car2;
global Car3;
global TYPE;

CDZ_lvl = [1,2,3,4];
CDZ_Ev  = [350,250,110,70];
CDZ_my  = 1e4*[650,530,400,350];
CDZ_my2 = 1e4*[650,530,400,350]*0.08;

%充电的电动车分布及数量
Icar    = [1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30];
Xcar    = 9.6/700*[1268.49126300000;1222.61962400000;1345.25604800000;1151.47177400000;1265.68279600000;1207.64112900000;1167.38642500000;1166.45026900000;1142.11021500000;1045.68615600000;1087.81317200000;948.325941000000;831.306452000000;816.327957000000;927.730511000000;823.817204000000;816.327957000000;689.946909000000;760.158602000000;678.713038000000;567.310484000000;568.246640000000;529.864247000000;420.334005000000;191.911962000000;240.592070000000;400.674731000000;541.098118000000;596.331317000000;695.563844000000];
Ycar    = 9.6/700*[453.572581000000;427.360215000000;492.891129000000;429.232527000000;527.528898000000;589.315188000000;630.506048000000;582.762097000000;528.465054000000;503.188844000000;597.740591000000;605.229839000000;426.424059000000;350.595430000000;382.424731000000;493.827285000000;584.634409000000;444.211022000000;241.065188000000;271.958333000000;409.573253000000;333.744624000000;461.997984000000;459.189516000000;335.616935000000;211.108199000000;204.555108000000;235.448253000000;482.593414000000;501.316532000000];
EVcar   = [33;35;22;29;28;34;37;45;37;45;50;33;29;35;43;42;23;34;31;37;41;24;29;32;32;22;24;26;33;31];

%汽车类型随机划分
II      = randperm(length(Icar));
Car1    = II(1:12);
Car2    = II(13:21);
Car3    = II(22:30);
TYPE    = ones(1,length(Icar));
TYPE(Car1)=1;
TYPE(Car2)=2;
TYPE(Car3)=3;

ICDZ    = [1;2;3;4;5;6;7;8;9;10];
XCDZ    = 9.6/700*[1284.40591400000;1162.70564500000;1158.02486600000;857.518817000000;772.328629000000;725.520833000000;574.799731000000;464.333333000000;205.954301000000;920.241263000000];
YCDZ    = 9.6/700*[463.870296000000;593.059812000000;418.934812000000;562.166667000000;343.106183000000;302.851478000000;448.891801000000;377.743952000000;315.021505000000;427.360215000000];



%用户路程成本
Myrod   = 1;
%充电站建设使用周期为10年
CDZage  = 10;



MAXGEN = 200;
NIND   = 500;
Nums   = 10; 
Chrom  = crtbp(NIND,Nums*10);

%sh
Areas = [];
for i = 1:Nums
    Areas = [Areas,[0;4]];% 目标范围0到4,如果是0,则表明该位置不安装充电桩
end

FieldD = [rep([10],[1,Nums]);Areas;rep([0;0;0;0],[1,Nums])];

gen   = 0;
for a=1:1:NIND 
    %计算对应的目标值
    X            = round(4*rand(1,Nums));%初始值
    [epls,f1,f2,Aim] = func_obj(X);
    E            = epls;
    Js(a,1)      = E;
end

Objv  = (Js+eps);
gen   = 0; 




%%
while gen < MAXGEN;   
      gen
      Pe0 = 0.995;
      pe1 = 0.005; 

      FitnV=ranking(Objv);    %编码
      Selch=select('sus',Chrom,FitnV);%选择    
      Selch=recombin('xovsp', Selch,Pe0);  %交叉 
      Selch=mut( Selch,pe1);   %变异
      phen1=bs2rv(Selch,FieldD);   
 
      for a=1:1:NIND  
          X           = round(phen1(a,:));
          %计算对应的目标值
          [epls,f1,f2,Aim]= func_obj(X);
          E           = epls;
          JJ(a,1)     = E;
      end 
      
      Objvsel=(JJ);    
      [Chrom,Objv]=reins(Chrom,Selch,1,1,Objv,Objvsel);   
      gen=gen+1; 

      %保存参数收敛过程和误差收敛过程以及函数值拟合结论
      index1     = isnan(JJ);
      index2     = find(index1 == 1);
      JJ(index2) = [];
      index3     = find(JJ==10000000000000);
      JJ(index3) = [];
      Error(gen) = mean(JJ);
      [VV,II]=min(JJ);
     
end 

figure;
plot(Error,'linewidth',2);
grid on
xlabel('迭代次数');
ylabel('遗传算法优化过程');
legend('Average fitness');

[V,I] = min(JJ);
X     = round(phen1(I,:))


[epls,f1,f2,Aim]= func_obj(X);

%成本输出
epls
f1
f2

%显示布局图
ii=find(X==0);
X(ii)=[];
XCDZ(ii)=[];
YCDZ(ii)=[];
figure;
for i = 1:length(X)
    if X(i)==1
       plot(XCDZ(i),YCDZ(i),'bo','LineWidth',2,...
                       'MarkerEdgeColor','k',...
                       'MarkerFaceColor','b',...
                       'MarkerSize',10);
       hold on
       text(XCDZ(i)+0.2,YCDZ(i)+0.2,num2str(X(i)));hold on
    end
    if X(i)==2
       plot(XCDZ(i),YCDZ(i),'rs','LineWidth',2,...
                       'MarkerEdgeColor','k',...
                       'MarkerFaceColor','r',...
                       'MarkerSize',10);
       hold on
       text(XCDZ(i)+0.2,YCDZ(i)+0.2,num2str(X(i))); hold on
    end    
    if X(i)==3
       plot(XCDZ(i),YCDZ(i),'k^','LineWidth',2,...
                       'MarkerEdgeColor','k',...
                       'MarkerFaceColor','c',...
                       'MarkerSize',10);
       hold on
       text(XCDZ(i)+0.2,YCDZ(i)+0.2,num2str(X(i)));hold on
    end
    if X(i)==4
       plot(XCDZ(i),YCDZ(i),'r>','LineWidth',2,...
                       'MarkerEdgeColor','k',...
                       'MarkerFaceColor','g',...
                       'MarkerSize',10);
       hold on
       text(XCDZ(i)+0.2,YCDZ(i)+0.2,num2str(X(i)));hold on
    end
end
hold on
plot(Xcar,Ycar,'gx');
for i = 1:length(Aim)
    plot([Xcar(i),XCDZ(Aim(i))],[Ycar(i),YCDZ(Aim(i))],'b-o','LineWidth',1,...
                       'MarkerEdgeColor','k',...
                       'MarkerFaceColor','y',...
                       'MarkerSize',5);
    hold on
    text(Xcar(i)+0.2,Ycar(i)+0.2,num2str(i));hold on
end
02_052m

4.完整MATLAB

V

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

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

相关文章

Zebec联合Visa推出实体借记卡持续利好生态,$ZBC表现强劲

Zebec生态从今年年初开始&#xff0c;持续的释放利好提振市场信心。此前&#xff0c;Zebec曾以 10 亿美元的完全稀释估值筹集了 850 万美元&#xff0c;该轮融资投资者包括 Circle Ventures、Shima 和 Resolute等知名 Web3 投资机构。这是 Zebec Protocol 继今年年初获得 2800 …

计算机系统基本概念

1.计算机的硬件结构 早期的计算机没有很复杂的图形功能&#xff0c;CPU的核心频率也不高&#xff0c;跟内存的频率一样&#xff0c;它们都是直接连接在同一个总线&#xff08;Bus&#xff09; 上的。由于IO设备诸如显示设备、键盘、软盘和磁盘等速度与CPU和内存相比还是慢很多…

QT:布局管理器消息盒子对话框

让组件在水平和垂直方向对齐 有三种常用布局管理器&#xff1a; 水平&#xff0c;QHBoxLayout 垂直&#xff0c;QVBoxLayout 网格&#xff0c;QGridLayout(使布局好的界面嵌套到主窗口) 1.让组件大小固定 修改属性&#xff1a;minimusize&#xff0c;maxmumsize 最小和最大组件…

使用setuptools构建python包

python包分发方式 源码包分发&#xff1a; 源码包安装过程是先解压&#xff0c;再编译。最后才安装&#xff0c;所以其是跨平台的&#xff0c;由于每次安装都需要进行编译&#xff0c;相对于二进制包安装方式来说安装速度较慢。 解压——编译——安装 源码包本质上是一个压缩…

CDGA|2023年数据治理发展前景预测步骤

CDGA|2023年数据治理发展前景预测步骤 数据治理发展前景预测&#xff0c;就是在数据治理市场调查获得的各种信息和资料的基础上&#xff0c;运用科学的预测技术和方法&#xff0c;对影响数据治理市场供求变化的诸因素进行调查研究&#xff0c;分析和预见数据治理发展趋势&…

《解构领域驱动设计》读书笔记

文章目录书籍信息开篇软件复杂度剖析复杂系统理解能力预测能力领域驱动设计概览基本概念控制软件复杂度领域驱动设计统一过程现存的不足领域驱动设计统一过程全局分析问题空间探索全局分析的 5W 模型高效沟通高效协作商业模式画布业务流程图服务蓝图用例图事件风暴学习循环价值…

windows系统下mysql的主从复制

使用一台物理机实现mysql的主从复制功能。 准备&#xff1a; 1、操作系统&#xff1a;Windows Server 2016 Standard 2、下载mysql免安装包&#xff1a; https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.17-winx64.zip 安装maser 1、解压mysql压缩包&…

Windows下安装hadoop2.7.4

Windows下安装hadoop 案例环境 该压缩包是已经简化配置后的 hadoop2.7.4下载地址文件分享 (weiyun.com) 安装步骤 解压压缩包 配置环境变量 在系统变量中添加 在path中添加 拷贝hadoop2.7.4\bin\hadoop.dll到目录C:\Windows\System32 配置文件 把/etc/hadoop/ 下目录的相…

玩以太坊链上项目的必备技能(初识智能合约语言-Solidity之旅一)

前面一篇关于智能合约翻译文讲到了&#xff0c;是一种计算机程序&#xff0c;既然是程序&#xff0c;那就可以使用程序语言去编写智能合约了。 而若想玩区块链上的项目&#xff0c;大部分区块链项目都是开源的&#xff0c;能看得懂智能合约代码&#xff0c;或找出其中的漏洞&a…

管理RMAN备份_维护RMAN备份和仓库记录

1&#xff0e;RMAN备份和仓库维护概述 1.1&#xff0e;备份和仓库维护的目的 建议的维护策略是配置一个快速恢复区域&#xff0c;一个备份保留策略和一个归档 redo日志删除策略。在这种情况中&#xff0c;数据库按需要自动维护和删除备份与归档redo日志。然而&#xff0c;有时…

[附源码]Python计算机毕业设计Django水果管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

阿里P8专家爆出:入职阿里必备的598道java面试题,内含算法

前言 之前也给大家分享过很多的面试题和大佬的面试经验&#xff0c;相信大家也已经利用到了&#xff0c;也顺利找到了工作&#xff0c;并拿到了高薪。 今天就给大家分享阿里P8专家长期以来面试所问到的java面试题&#xff0c;总共有598道&#xff08;含算法&#xff09;&…

PCL 使用MLS 上采样

移动最小二乘法MLS&#xff08;Moving Lest Squares&#xff09;简要介绍_Figure 09的博客-CSDN博客_移动最小二乘法 深入理解移动最小二乘法曲面拟合代码&#xff08;MLS2D.m&#xff09;_残影丶的博客-CSDN博客_mls2d PCL 点云采样_Σίσυφος1900的博客-CSDN博客 上采样…

和数集团浅谈区块链技术如何赋能数字政务?

在“十四五”提高数字政府建设水平的大环境下,构建数字政务发展体系是国家治理现代化的必然选择。2021年是2035远景目标的开局之年&#xff0c;《十四五规划纲要》中明确将区块链列为“十四五”七大数字经济重点产业之一。数字政务的体系架构和创新机理,离不开新兴技术融合互通…

移动通信:分集技术(时间分集,频率分集,空间分集,SC,MRC,EGC)学习笔记

文章目录Micro diversityTime DiversityFrequency DiversitySpatial DiversityCombination of signalsSelection CombiningMaximal Ratio CombiningEqual Gain CombiningReferences分集技术是用来补偿衰落信道损耗的&#xff0c;它通常通过两个或更多的接收天线来实现。同均衡器…

越早越好,突破职业瓶颈,2023年考PMP项目管理有何好处?

考PMP没有行业和职业的限制&#xff0c;只要是需要感兴趣的人就可以报考。 适合任何领域行业的项目。 是通用的项目管理理念。 那么 # 考了PMP会有什么益处呢&#xff1f;# ---带你30秒看完&#xff0c;从六个方面讲 01 职场加分项 目前国内很多的大型企业在招聘的时候会有…

矿泉水溴酸盐超标如何解决?除溴酸盐设备有哪些?

水生产企业多使用臭氧消毒&#xff0c;不过&#xff0c;水生产企业不存在水运输路途遥远的问题&#xff0c;因此可以使用臭氧消毒。同时&#xff0c;也是因为臭氧在消毒后会直接变成氧气&#xff0c;所以不会有使用氯消毒后的那种味道&#xff0c;不会影响矿泉水的口感&#xf…

SpringBoot的创建的使用

哈喽呀&#xff0c;你好呀&#xff0c;欢迎呀&#xff0c;快来看一下这篇宝藏博客吧~~~ 目录 1、Spring Boot快速扫盲 2、Spring Boot 项目创建 3、运行项目 4 、输出hello world 5、注意事项--包路径错误 6、小结 1、Spring Boot快速扫盲 在创建SpringBoot项目前,我们得…

大数据1.5 使用Vim编辑器

一、安装Vim编辑器 执行命令&#xff1a;yum -y install vim 二、三种工作模式 1、命令模式 执行命令&#xff1a;vim test.txt&#xff0c;进入默认的命令模式 2、输入模式 在输入模式下&#xff0c;Vim 可以对文件执行写操作&#xff0c;类似于在 Windows 系统的文档中…

常见的排序算法

常见排序算法前言排序分类一、插入排序直接插入排序希尔排序二、选择排序直接选择排序堆排序三、交换排序冒泡排序快速排序1、hoare版本2、挖坑法3、前后指针版本快排时间复杂度分析快排的优化4、快排非递归实现&#xff08;利用栈实现&#xff09;5、快排非递归实现&#xff0…