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

关注“电气仔推送”获得模型

主要内容:

研究多辆电动汽车的充电调度问题,考虑某时段区域范围内有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
% 获得最佳个体变量值,对不同的优化目标,这里需要修改

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值