排队论模型之M/M/S模型

相关参数

在这里插入图片描述

模型推导

在这里插入图片描述

例题

在这里插入图片描述
代码实现

s=3; %服务台的个数
mu=0.4; %单位时间内能服务的顾客数
lambda=0.9; %单位时间内到达的顾客数

ro=lambda/mu;
ros=ro/s;
sum1=0;
%求解P0时把其分成两部分计算,分别为sum1,sum2
for i=0:(s-1) 
    sum1=sum1+ro.^i/factorial(i); 
end

sum2=ro.^s/factorial(s)/(1-ros);

p0=1/(sum1+sum2);%p0表示空闲的概率
p=ro.^s.*p0/factorial(s)/(1-ros);
Lq=p.*ros/(1-ros);
L=Lq+ro;
W=L/lambda;
Wq=Lq/lambda;
fprintf('排队等待的平均人数为%5.2f人\n',Lq)
fprintf('系统内的平均人数为%5.2f人\n',L)
fprintf('平均逗留时间为%5.2f分钟\n',W*60)
fprintf('平均等待时间为%5.2f分种\n',Wq*60)

以下是一个简单的排队论M/M/S混合制排队模型的C++代码示例: ```cpp #include <iostream> #include <cmath> using namespace std; double factorial(int n) { if (n == 0) { return 1.0; } else { return n * factorial(n - 1); } } double poisson(double lambda, int n) { return pow(lambda, n) * exp(-lambda) / factorial(n); } double mmss(double lambda, double mu1, double mu2, int s) { double rho = lambda / (s * mu1 + mu2); double p0 = 0.0; for (int i = 0; i <= s; i++) { p0 += poisson(lambda / (s * mu1 + mu2), i); } p0 += poisson(lambda / (s * mu1 + mu2), s) * (1.0 - pow(rho, s + 1)) / (1.0 - rho); double lq = pow(lambda / (s * mu1 + mu2), s + 1) * rho / (factorial(s) * pow(1.0 - rho, 2)); double wq = lq / lambda; double w = 1.0 / mu1 + wq; double l = lambda * w; double ls = pow(lambda / (s * mu1 + mu2), s) * rho * (1.0 - rho) / (factorial(s) * pow(1.0 - rho, 2)); double ws = ls / mu2; double lsys = l + ls; double wsys = w + ws; cout << "P0: " << p0 << endl; cout << "Lq: " << lq << endl; cout << "Wq: " << wq << endl; cout << "W: " << w << endl; cout << "L: " << l << endl; cout << "Ls: " << ls << endl; cout << "Ws: " << ws << endl; cout << "Lsys: " << lsys << endl; cout << "Wsys: " << wsys << endl; } int main() { double lambda, mu1, mu2; int s; cout << "Enter arrival rate (lambda): "; cin >> lambda; cout << "Enter service rate at server 1 (mu1): "; cin >> mu1; cout << "Enter service rate at server 2 (mu2): "; cin >> mu2; cout << "Enter number of servers at first station (s): "; cin >> s; mmss(lambda, mu1, mu2, s); return 0; } ``` 该程序首先定义了一个阶乘函数和一个泊松分布函数,然后定义了一个mmss函数,该函数接受到达率lambda,第一台服务器的服务率mu1,第二台服务器的服务率mu2和第一台服务器的数量s,并计算出排队论模型的各种指标。最后,程序通过从用户获取输入来调用mmss函数并输出结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值