排队论单服务台定长服务时间排队模型 C++代码

时间: 2024-05-04 19:21:43 浏览: 15
以下是排队论单服务台定长服务时间排队模型的C++代码实现: ```c++ #include <iostream> #include <queue> using namespace std; int main() { // 输入参数 int n, m; double lambda, mu; cout << "请输入顾客到达率lambda:"; cin >> lambda; cout << "请输入服务率mu:"; cin >> mu; cout << "请输入系统容量n:"; cin >> n; cout << "请输入队列容量m:"; cin >> m; // 计算参数 double rho = lambda / mu; double p0 = 1.0, pn = 0.0; for (int i = 1; i <= n; i++) { p0 += pow(rho, i) / factorial(i); } p0 += pow(rho, n + 1) / (factorial(n) * (1 - rho / (n + 1))); for (int i = 1; i <= n; i++) { pn += pow(rho, i) / factorial(i); } pn += pow(rho, n + 1) / (factorial(n) * (1 - rho / (n + 1))); double Lq = pow(rho, n + 1) * rho / (factorial(n) * pow(1 - rho / (n + 1), 2)); double Ls = Lq + lambda / mu; double Wq = Lq / lambda; double Ws = Wq + 1 / mu; double p[m + 1] = { 0.0 }; for (int i = 0; i <= n; i++) { p[i] = pow(rho, i) / factorial(i) * p0; } for (int i = n + 1; i <= m; i++) { p[i] = pow(rho, i) / (factorial(n) * pow(n, i - n)) * p0; } // 输出结果 cout << "rho = " << rho << endl; cout << "p0 = " << p0 << endl; cout << "Lq = " << Lq << endl; cout << "Ls = " << Ls << endl; cout << "Wq = " << Wq << endl; cout << "Ws = " << Ws << endl; cout << "概率分布:" << endl; for (int i = 0; i <= m; i++) { cout << "p[" << i << "] = " << p[i] << endl; } // 模拟队列系统 int total = 1000000; int arrived = 0, served = 0, rejected = 0; queue<double> q; for (int i = 0; i < total; i++) { // 顾客到达 if ((double)rand() / RAND_MAX < lambda / 60) { arrived++; if (q.size() < m) { q.push((double)rand() / RAND_MAX); } else { rejected++; } } // 服务结束 if (!q.empty()) { if ((double)rand() / RAND_MAX < mu / 60) { served++; q.pop(); } } } // 输出模拟结果 cout << "模拟结果:" << endl; cout << "到达顾客数:" << arrived << endl; cout << "服务顾客数:" << served << endl; cout << "拒绝顾客数:" << rejected << endl; cout << "队列长度期望:" << q.size() << endl; cout << "等待时间期望:" << (arrived - served - rejected == 0 ? 0 : (double)q.size() / (arrived - served - rejected) * 60) << "分钟" << endl; return 0; } ``` 其中,`factorial` 函数用于计算阶乘,模拟部分使用了标准库中的队列和随机数生成器。

相关推荐

最新推荐

recommend-type

java实现两台服务器间文件复制的方法

主要介绍了java实现两台服务器间文件复制的方法,是对单台服务器上文件复制功能的升级与改进,具有一定参考借鉴价值,需要的朋友可以参考下
recommend-type

Android实现后台服务拍照功能

主要为大家详细介绍了Android实现后台服务拍照功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
recommend-type

信息论,定长编码源码,C++,信号处理

信息论,定长编码源码,C++,信号处理 信息论,定长编码源码,C++,信号处理
recommend-type

iOS如何保持程序在后台长时间运行

主要为大家详细介绍了iOS如何保持程序在后台长时间运行,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
recommend-type

C++设置超时时间的简单实现方法

主要介绍了C++设置超时时间的简单实现方法,涉及系统函数setsockopt对套接口的操作,具有一定的实用价值,需要的朋友可以参考下
recommend-type

中文翻译Introduction to Linear Algebra, 5th Edition 2.1节

中文翻译Introduction to Linear Algebra, 5th Edition 2.1节 线性代数的核心问题是求解方程组。这些方程都是线性的,即未知数仅与数相乘——我们绝不会 遇见 x 乘以 y。我们的第一个线性方程组较小。接下来你来看看它引申出多远: 两个方程 两个未知数 x − 2y = 1 3x + 2y = 11 (1) 我们一次从一个行开始。第一个方程 x − 2y = 1 得出了 xy 平面的一条直线。由于点 x = 1, y = 0 解 出该方程,因此它在这条直线上。因为 3 − 2 = 1,所以点 x = 3, y = 1 也在这条直线上。若我们选择 x = 101,那我们求出 y = 50。 这条特定直线的斜率是 12,是因为当 x 变化 2 时 y 增加 1。斜率在微积分中很重要,然而这是线 性代数! 图 2.1 将展示第一条直线 x − 2y = 1。此“行图”中的第二条直线来自第二个方程 3x + 2y = 11。你 不能错过两条线的交点 x = 3, y = 1。点 (3, 1) 位于两条线上并且解出两个方程。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

识别MATLAB微分方程求解中的混沌行为:分析非线性方程混沌行为的实用技巧

![matlab求解微分方程](https://img-blog.csdnimg.cn/2021062810300367.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTQ3OTY3OA==,size_16,color_FFFFFF,t_70) # 1. MATLAB微分方程求解概述 微分方程是描述物理、工程和金融等领域中动态系统的数学模型。MATLAB提供了强大的工具来求解微分方程,包括内置求解器和自定义函数
recommend-type

physon如何做ERP系统

作为一个AI语言模型,我可以给您提供一些基本的建议和思路: 1.明确需求和目标:在开始开发ERP系统之前,需要明确您的业务需求和目标,了解您的业务流程、流程数据、员工角色和权限、财务管理等方面的要求,这样才能更好的设计和开发ERP系统。 2.选择技术框架和开发工具:选择合适的技术框架和开发工具是ERP系统开发的关键。选择一种流行的技术框架和工具可以提高开发效率和质量。 3.设计数据库:ERP系统需要一个功能强大的数据库来存储数据。设计数据库需要考虑数据的完整性、安全性和可扩展性。 4.设计系统架构:系统架构是ERP系统的骨架,需要考虑系统的可扩展性、可维护性和性能。 5.开发和测试:
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。