31-基于GA遗传算法的车辆充电调度系统优化matlab程序

news/2024/5/19 21:29:13/文章来源:https://blog.csdn.net/weixin_56691527/article/details/130394473

资源地址:

主要内容:

研究多辆电动汽车的充电调度问题,考虑某时段区域范围内有M 辆电动汽车发出充电请求时,周围有N 个充电桩可以提供充电位的调度情况。把当前调度时段电动汽车和充电桩的基本数据加载到调度中心,调度中心根据电动汽车的当前位置、电量剩余情况和周围充电桩的充电情况进行调度,电动汽车按照最优调度方案到充电桩充电。

本文的车辆充电调度问题是一个多目标优化非线性问题,可以用群智能优化算法来解决。因为每种调度方案都是一个M N 列的矩阵,为了解决智能体的构造问题,本文采用基于精英选择的遗传算法和非支配排序遗传算法求解问题,相比其他群智能优化算法,可以更方便的结合问题。

充电调度模型考虑优化4个性能指标,分别为:

电动汽车充电时长:包括驾驶时间充电时间等待时间;

电动汽车充电费用:包括停车费用充电费用。

充电桩利用率偏差:避免多辆电动汽车挤占某些充电桩,使其余充电站空闲。造成资源浪费过渡损耗。

电网平均负载: 避免加重电网负载,维护电网安全。

充电调度模型:

 部分程序:

 

function [m,n,p,q] = genetic_algorithm_a(popsize,M,N,generation_size,cross_rate,mutate_rate, elitism)
global pop;             %种群
global G ;              % 当前迭代次数
global fitvalue_a;   % 当前代适应度矩阵
global best_fitness;    % 历代最佳适应值
global fitness_average; % 历代平均适应值矩阵
global Best_individual; % 历代最佳个体
global best_generation; % 最佳个体出现代
global best_index;
global best_f;
global best_Wait;
global  best_fit1;
global  best_fit2;
global  best_fit3;
global  best_fit4;
fitvalue2(popsize) = 0;
best_fitness=2;
best_f=zeros(generation_size,1);
best_generation = 0;
 initpop(popsize,M,N); % 初始化
%% for G=1:generation_size  
    index_1(popsize,M,N);%对个体的行驶时间和充电时间排序
    wait(popsize,M,N);
    fitness(popsize, M,N);
    fitness2(popsize, M,N);
    fitness3(popsize, M,N);
    fitness4(popsize, M,N);
    fitness_a(popsize,M,N); % 计算适应度 
    rank_a(popsize,M,N);                 % 对个体按适应度大小进行排序
    selection(popsize, M,N, elitism); % 选择操作
    crossover(popsize,M,N, cross_rate);% 交叉操作
    mutation(popsize,M,N, mutate_rate);% 变异操作
   end
  plotGA(generation_size);% 打印算法迭代过程

m = Best_individual    % 获得最佳个体
n = best_fitness      % 获得最佳适应度
p = best_generation    % 获得最佳个体出现时的迭代次数
q = best_Wait
r =  best_fit1
s =  best_fit2
t =  best_fit3
u =  best_fit4
% 获得最佳个体变量值,对不同的优化目标,这里需要修改

 

 

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

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

相关文章

华为OD机试真题(Java),旋转数组的最小数字(100%通过+复盘思路)

一、题目描述 有一个长度为 n 的非降序数组,比如[1,2,3,4,5],将它进行旋转,即把一个数组最开始的若干个元素搬到数组的末尾,变成一个旋转数组,比如变成了[3,4,5,1,2],或者[4,5,1,2,3]这样的。请问&#xf…

Linux系列讲解 —— SSH登录

讲解一下ssh远程登陆的基础知识。 目录 0. 基本原理1. 安装ssh程序:1.1 windows平台(Win10)1.2 Linux平台(Ubuntu18.04) 2. 密码方式远程登录3. 密钥方式远程登录3.1 生成私钥公钥对3.2 将公钥复制到远程机器3.3 尝试ssh远程登录 4. 常见问题4.1 sun192.168.1.21: P…

51单片机(四)静态数码管和动态数码管显示

❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 :适用于想要…

HOG+SVM分类器实践

文章目录 HOGSVM分类器实践制作SVM分类器导入所需的库提取HOG特征读取正样本和负样本训练分类器定义主函数小结 测试SVM分类器相关疑问1. 提取HOG特征为什么不能彩色图像呢?2. 出现如下错误3. 测试代码中,当我传入100*100的图片时候,为什么im…

测试开发实战项目 | 搭建Pytest接口自动化框架

一、预研背景 目前系统研发多为前后端分离,当后端接口研发完成后,可以不依赖前端界面通过接口测试提前发现问题并解决。同时由于软件迭代周期不断缩短,开发新功能后又担心影响原有功能,可以通过接口自动化进行原有功能快速回归测…

git版本本地远程分支管理测试

只为搞清楚一些基本的git的本地提交、分支,远程分支的概念。 创建git库。 在本地首次建立一个001文件,首次提交到本地master,不提交(push)到远程master(gitee)。 add 增加001文件到库。 Git-co…

传统协议大比拼之IP协议

文章目录 一、引言二、IP协议的基本特点2.1 IP协议的作用和基本功能2.2 地址管理手动分配IP动态主机配置协议(DHCP)网络地址转换(NAT)IPv6 2.2 路由选择RIP(距离向量型的协议)OSPF(链路状态类型协议)BGP(边界网关协议) 2.3 IP协议的特点: 三、IP地址的组成3.1 IP地址…

三菱GX Works2梯形图程序分段显示设置的具体方法示例

三菱GX Works2梯形图程序分段显示设置的具体方法示例 大家平时在使用GX Works2进行梯形图程序编辑时,默认是一整段在一起,程序步数较多时查看起来不是那么方便,下面就和大家分享如何通过声明编辑来实现程序分段显示。 具体方法可参考以下内容: 如下图所示,打开GX Works2编…

知网导入EndNote

首先进入知网,搜索你想要找的期刊论文。 选择EndNote 点击导出 浏览器自动下载以txt为后缀的文件 导入到EndNote中

汇编小程序解析--3D立方体旋转

汇编小程序解析–3D立方体旋转,源代码如下,是vulture大神于1995年写的,我到现在才基本看懂。 ;本程序由国外的Vulture大哥编写,并公布了源码,这个是他95年的一个作品,可以说是在当时是非常成功的&#xff…

HJL-93/A数字式交流三相电流继电器 导轨安装 约瑟JOSEF

品牌:JOSEF约瑟名称:数字式交流三相电流继电器型号:HJL系列功率消耗:≤5W触点容量:250V/5A额定电压:58、100、110、220V HJL系列 数字式交流三相电流继电器型号: HJL-93/AY数字式交流三相电流继…

博途1200/1500PLC工艺PID编程应用(SCL语言)

博途工艺PID的详细解读可以查看下面的博客文章,这里不再赘述 博途PLC 1200/1500PLC 工艺对象PID PID_Compact详细解读_RXXW_Dor的博客-CSDN博客这篇博文我们详细解读博途PLC自带的PID功能块PID_Compact,大部分工业闭环调节过程,我们采用系统自带的PID功能块基本都能胜任,一…

力扣sql中等篇练习(十三)

力扣sql中等篇练习(十三) 1 每位学生的最高成绩 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 #先找到最大的元素 然后分组即可,不用管某些字段(grade)是不是聚合字段 SELECT e1.student_id,min(e1.course_id) course_id,e1.grade FROM Enrollment…

很不错的一篇文章,值得点赞收藏,带你全面了解MySQL性能调优、错误代码总结和全局参数配置(持续更新中ing)

前言 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系…

leetcode刷题(9)二叉树(3)

各位朋友们,提前祝大家五一劳动节快乐啊!!!今天我为大家分享的是关于leetcode刷题二叉树相关的第三篇我文章,让我们一起来看看吧。 文章目录 1.二叉树的层序遍历题目要求做题思路代码实现 2.从前序与中序遍历序列构造二…

上海亚商投顾:沪指全天震荡微跌 新能源赛道股集体反弹

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 大小指数今日走势分化,沪指探底回升小幅下跌,创业板指盘中涨超2%,午后涨幅有所…

黑盒测试过程中【测试方法】详解5-输入域,输出域,猜错法

在黑盒测试过程中,有9种常用的方法:1.等价类划分 2.边界值分析 3.判定表法 4.正交实验法 5.流程图分析 6.因果图法 7.输入域覆盖法 8.输出域覆盖法 9.猜错法 黑盒测试过程中【测试方法】讲解1-等价类,边界值,判定表_朝一…

无线通信网 - 无线局域网 WLAN(802.11 标准)

文章目录 1 概述2 WLAN2.1 802.11 标准2.2 网络分类2.3 通信技术 3 扩展3.1 移动通信3.2 网工软考真题 1 概述 #mermaid-svg-UcgosJsdJfSTEm0Y {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-UcgosJsdJfSTEm0Y .err…

AI如何帮助人类进而验证直觉的可靠性?

AI可以通过以下方式帮助人类寻找反例进行否定或寻找特别的架构: 1. 利用机器学习算法进行反例搜索。AI可以训练一个分类器,用于判断某个假设是否成立。通过反复训练和测试,AI可以识别出一些不合理的假设,并帮助人类进行进一步的验…

Windows环境下C++ 安装OpenSSL库 源码编译及使用(VS2019)

参考文章https://blog.csdn.net/xray2/article/details/120497146 之所以多次一举自己写多一篇文章,主要是因为原文内容还是不够详细。而且我安装的时候碰到额外的问题。 1.首先确认一下自己的代码是Win32的还是Win64的,我操作系统是64的,忘…