【优化充电】基于matlab蒙特卡洛算法求解电动汽车充电优化问题【含Matlab源码 1164期】
一、获取代码方式
获取代码方式1:
完整代码已上传我的资源:【优化充电】基于matlab蒙特卡洛算法求解电动汽车充电优化问题【含Matlab源码 1164期】
获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。
备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);
二、蒙特卡洛算法简介
1 蒙特卡洛算法定义
蒙特卡洛(Monte Carlo)方法,在渲染中,我们经常听到术语“蒙特卡洛”(通常缩写为MC)。但是这是什么意思?实际上,它所指的是一个非常简单的想法,蒙特卡洛方法指的是一系列统计方法,这些方法本质上用于查找事物的解决方案,例如计算函数的期望值,或者对由于没有封闭形式而无法进行分析积分的函数进行积分。我们可以用该原理来解决不同的问题,并且针对这些问题中都可以关联不同的技术或算法。所有这些算法的共同点是它们使用随机(或随机)采样。
2 蒙特卡洛模拟法的原理
蒙特卡洛法(Monte Carlo)是统计试验计算方法,高斯正太分布的期望值µ决定函数分布位置,标准差σ决定函数分布幅度,其概率密度函数公式如下:
根据中心极限定理,当统计样本足够充足时,各独立同分布随机变量之和的分布趋近于高斯正态分布,且尺寸分布符合伯努利大数定律。因此,蒙特卡洛模拟法计算中所求数学期望即可通过函数f(x)的积分获取。
三、部分源代码
clc;
clear all;
%本程序基于蒙特卡洛思想生成10000台充电汽车充电负荷曲线
rate=[0.1 0.4 0.5]; %三种充电汽车比例
P_h=[1.4 1.9; 7.7 25.6;40 100];%三种充电功率取值范围
M=10000; %10000辆车
r=0;
Bh=zeros(M,96); % 10000辆车行,96个时间列
for i=1:M
Ph=zeros(96,1); %96个时间行,1列
r=r+1;
for j=1:96
T_star=get_star(); %充电开始时间 每15分钟
qua=get_qua(); %充电电量
P_hi=get_i(rate,P_h); %充电功率 每小时
T_char=round(4*qua/P_hi(2)); %一小时有4个15分钟
T_sum=T_star+T_char; %充电结束时间
if T_sum>96 %时间不能大于96
new_T_sum=T_sum-96;
Ph(T_star:96)=P_hi(2); %从开始时间个数到96 放功率
Ph(1:new_T_sum)=P_hi(2); %从1到结束个时间 放功率
else
Ph(T_star:T_sum)=P_hi(2); %开始到结束 功率
end
end
for i=1:96
Bh(r,i)=Ph(i); %每辆车功率放入每行
end
end
B=sum(Bh,1); %每列求和
%%%%%寻找最大功率值,最大同时充电数量%%%%
max_P=max(B); %最大功率
Max_moun=zeros(96,1); %每时刻最大充电数量 96行
function P_hi=get_i(rate, P_h)
%get_i 得到充电方式及其功率
P=rand();%随机生成一个取值范围在[0-1]的数字
if 0<=P&&P<rate(1) %充电汽车比例
P_hi=[1,(P_h(1,1)+P_h(1,2))/2]; %选择第一种充电方式
elseif rate(1)<=P&&P<0.5
P_hi=[2,(P_h(2,1)+P_h(2,2))/2]; %选择第二种充电方式
else
P_hi=[3,(P_h(3,1)+P_h(3,2))/2];%选择第三种充电方式
end
while 1
P=normrnd(12.94,11.8);
if P<0
continue; %返回到while 否则 break
end %只是个标志 相当于括号
break;
end
qua=P;
- 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
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
四、运行结果
五、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.
[3]王锋.基于蒙特卡洛模拟法的动车组裙板装配优化研究[J].中国设备工程. 2020,(06)
文章来源: qq912100926.blog.csdn.net,作者:海神之光,版权归原作者所有,如需转载,请联系作者。
原文链接:qq912100926.blog.csdn.net/article/details/119250541
- 点赞
- 收藏
- 关注作者
评论(0)