91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

多服務臺混合制排隊論的MATLAB仿真,可以自己設置服務臺數,系統容量,到達概率,服務臺效率等。最后可以輸出系統繁忙概率,平均等待時間,以及各種圖表

資源截圖

代碼片段和文件信息

%?此腳本用來一般排隊論模型的仿真MMSS,版本2.0,功能和1.0一樣,只是是圖表稍微好看點
%?隊伍只有一隊,服務臺有s個,%隊伍的容量為max_num(不包括正在服務的,只包括正在等待的)
%?作者:Macer程
clear
clc
%%?初始準備階段
n=50;???%仿真總人數
lambda=9;%單位時間顧客到達數
mu=2;????%單個服務臺單位時間接待顧客數
s=4;?????%服務臺數
max_num=10;%隊伍的容量注意(不包括正在服務的,只包括正在等待的)
list=zeros(7n);
list(1:)=exprnd(1/lambda1n);%產生指數分布的顧客到達時間間隔
list(1:)=cumsum(list(1:));%list第一行顧客到達時間
list(2:)=exprnd(1/mu1n);?%第二行對顧客的服務時間
????????????????????????????%第三行用來存放等待時間
????????????????????????????%第四行用來存放離開時間
????????????????????????????%第五行存放到達時整系統的人數(包括正在被服務的)
????????????????????????????%第六行存放正在等待中的人數
????????????????????????????%第7行用來存放該顧客是否直接離開,1直接離開,0排隊等待
peo=[];???%儲存每個顧客到達時在系統中的總人數的序號


%%?仿真階段
for?i=1:n
????now=find(list(4peo)>list(1i));%顧客到來時還在系統中的人的序號
????peo=peo(now);???????%更新目前系統中的人的序號
????num=length(now);????%系統中總人數
????if?num>=max_num+s???%假如排隊人超過了系統的容量,該顧客損失
????????list(2:7i)=[0;0;list(1i);num;num-s;1];
????????continue
????else?if?num????????????list(3:6i)=[0sum(list(1:3i))num0];
????????????peo=[peoi];%把當前顧客加入系統
????????else????????????%有人排隊,且排隊的人=now-s
????????????time=sort(list(4peo));???????????%對正在系統中的人的離開時間排序
????????????list(3i)=time(end-s+1)-list(1i);%此時,顧客的等待時間為當前系統中倒數第s個離開的顧客的時間-該顧客的到達時間
????????????list(4:6i)=[sum(list(1:3i));num;num-s];
????????????peo=[peoi];%把當前顧客加入系統
????????end
????end
end
%???以上計算的是每個顧客到達時系統的隊長,


%%?下面計算在時間范圍內系統隊長的變化
timechange=zeros(42*n);%第一行用來存時間,第二行用來存對應時間的總人數,第三行存放對應時間正在排隊的人數第四行表示是否繁忙,1表示繁忙
[timechange(1:)idxs]=sort([list(1:)list(4:)]);%系統隊長的變化一定發生在顧客到來或離去的時刻,記這些時刻為“轉變時刻”
timechange(21)=1;??????%第一個人到達的時候,系統中人數開始變為1正在排隊的人=0不繁忙
for?i=2:2*n?????????????%討論每個“轉變時刻”的人數變化
????if?idxs(i)<=n???????%當這個時刻是有人到達時
????????timechange(2i)=timechange(2i-1)+1;
????else????????????????%該時刻是有人離去
????????timechange(2i)=timechange(2i-1)-1;
????end
????if?timechange(2i)

評論

共有 條評論