【優化充電】基於matlab蒙特卡洛演算法求解電動汽車充電優化問題【含Matlab原始碼 1164期】
一、蒙特卡洛演算法簡介
1 蒙特卡洛演算法定義 蒙特卡洛(Monte Carlo)方法,在渲染中,我們經常聽到術語“蒙特卡洛”(通常縮寫為MC)。但是這是什麼意思?實際上,它所指的是一個非常簡單的想法,蒙特卡洛方法指的是一系列統計方法,這些方法本質上用於查詢事物的解決方案,例如計算函式的期望值,或者對由於沒有封閉形式而無法進行分析積分的函式進行積分。我們可以用該原理來解決不同的問題,並且針對這些問題中都可以關聯不同的技術或演算法。所有這些演算法的共同點是它們使用隨機(或隨機)取樣。
2 蒙特卡洛模擬法的原理
蒙特卡洛法(Monte Carlo)是統計試驗計算方法,高斯正太分佈的期望值µ決定函式分佈位置,標準差σ決定函式分佈幅度,其概率密度函式公式如下:
根據中心極限定理,當統計樣本足夠充足時,各獨立同分布隨機變數之和的分佈趨近於高斯正態分佈,且尺寸分佈符合伯努利大數定律。因此,蒙特卡洛模擬法計算中所求數學期望即可通過函式f(x)的積分獲取。
二、部分原始碼
```c 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;
```
三、執行結果
四、matlab版本及參考文獻
1 matlab版本 2014a
2 參考文獻 [1] 包子陽,餘繼周,楊杉.智慧優化演算法及其MATLAB例項(第2版)[M].電子工業出版社,2016. [2]張巖,吳水根.MATLAB優化演算法原始碼[M].清華大學出版社,2017. [3]王鋒.基於蒙特卡洛模擬法的動車組裙板裝配優化研究[J].中國裝置工程. 2020,(06)
- 【路徑規劃】基於matlab GUI改進的DWA演算法機器人靜態避障路徑規劃【含Matlab原始碼 678期】
- 【目標檢測】基於matlab GUI差分法運動目標檢測【含Matlab原始碼 1284期】
- 【交通預測】基於matlab GUI交通預測四階段法交通分配【含Matlab原始碼 1140期】
- 【路徑規劃】基於matalb遺傳演算法機器人柵格地圖路徑規劃【含Matlab原始碼 022期】
- 【路徑規劃】基於matlab改進的人工勢場演算法機器人避障路徑規劃【含Matlab原始碼 1151期】
- 【飛行器】基於matlab多源資訊融合演算法多旋翼無人機組合導航系統【含Matlab原始碼 1267期】
- 【無人機】基於matlab無人機追蹤軌跡【含Matlab原始碼 1152期】
- 【影象加密】基於matlab混沌演算法影象加密解密【含Matlab原始碼 1218期】
- 【影象檢測】基於matlab GUI比值 歸一化 相關係數遙感影象【含Matlab原始碼 737期】
- 【影象加密】基於matlab混沌系統圖像加密【含Matlab原始碼 1190期】
- 【影象分類】基於matlab極限學習分類器對遙感影象分類【含Matlab原始碼 150期】
- 【影象增強】基於matlab GUI暗通道影象去霧【含Matlab原始碼 740期】
- 【優化求解】基於matlab差分進化演算法求解函式極值問題【含Matlab原始碼 1199期】
- 【身份證識別】基於matlab GUI身份證號碼識別【含Matlab原始碼 014期】
- 【三維路徑規劃】基於matlab RRT演算法無人機路徑規劃【含Matlab原始碼 155期】
- 【優化求解】基於matlab GUI模擬退火演算法求解全域性最大值最小值問題【含Matlab原始碼 1242期】
- 【優化充電】基於matlab蒙特卡洛演算法求解電動汽車充電優化問題【含Matlab原始碼 1164期】
- 【定位問題】基於matlab GUI SLAM模擬地圖構建和定位【含Matlab原始碼 1120期】
- 【水果識別分類】基於matlab形態學水果識別分類【含Matlab原始碼 1132期】
- 【數學建模】基於matlab UKF自行車狀態估計【含Matlab原始碼 1111期】