Python 模拟:什么是 SimPy、先决条件、如何运行模拟
已发表: 2020-06-16现实世界在系统的不同部分工作,无论是从基础设施角度还是技术角度。 在Python 模拟的帮助下,这些系统需要通过 SimPy 框架支持的模型进行优化。 这些模型是在更接近现实生活系统的帮助下开发的,以预测复杂系统的创建,因此通过逐步算法解决它。
对于大型企业,分析系统对于纠正它并使其健壮至关重要。 特别是对于医疗保健和机场管理等紧急服务,需要始终监控个人的活动并准备好应对具有挑战性的情况。 这只能通过从 Python 仿真模型中获得洞察力来实现。
目录
什么是 SimPy?
SimPy 代表面向对象和基于方法的开源、特殊事件模拟库,是处理乘客、患者、车辆和资产等全天候资源管理的企业的首选。 这些系统通常带有限制或小费能力,例如收银台、接待处和高速公路。
除了此类服务,SimPy 还借助 Python 中的随机变量帮助生成一般分析。 SimPy 完全用 Python 编写,可以在 Java 虚拟机或 .NET 等多种环境中运行。
以下是 SimPy 中的模拟片段示例:
env = simpy.Environment()
env.process(checkpoint_run(env,num_booths,check_time,passenger_arrival))
env.run(直到=10)
由于环境和参数是在运行代码之前设置的,因此您需要定义如下变量:
- env:指模拟需要运行和分析事件的情况。
- num_booths:配备身份证检查的摊位总数。
- check_time:检查每个旅客ID的时间。
- 乘客到达:排队等候的乘客频率。
请记住,这些变量可以在需要时更改,以收集足够的、基于现实的数据。
既然您知道起草模拟的内容,那么在为类似事件编写代码时,以下步骤可能会对您有所帮助:
第一步:定义环境。
第二步:制定相关标准。
第三步:执行模拟。
现在,在我们进一步研究所涉及的其他流程之前,这些步骤已经足够开始了。
阅读更多: Python 请求模块指南:如何在 Python 中使用请求库?
开始 SimPy 之前的先决条件
在开始使用 SimPy 之前,您需要深入了解 Python 基础知识、类和生成器。 生成器可以定义为一个离散的 Python 函数,它在迭代中返回一个对象,该对象附加到函数的主体,以及函数开头的局部变量。 正是由于这个迭代器,该函数有助于执行 yield 语句,并生成给定表达式的结果。
yield 语句是帮助设置任何事件的时间表或过程的工具。 该事件可以是自触发(例如直到下一辆车离开)或请求或释放任何资源(例如通道)。 这些语句被命名为:
- yield request:此帐户用于命令系统将任何资源添加到等待列表中,并立即投入使用。
- yield hold:此语句通常用于突出显示执行方法中不同步骤所涉及的任何时间。
- yield passivate:此语句用于保持进程等待,直到任何其他函数触发它。
- yield release:该语句在系统中使用,以在流程完成后保持更新,从而引发下一步排队等待。
现在您已经了解了系统的工作流程,您还需要将软件包安装到您的订单中,并将初始框架设置为 SimPy。 这个核心包将帮助您制作、管理和执行整个仿真模型。 在一些内置 Python 模块的帮助下,您可以编译所涉及的平均等待时间,以及获取随机数。

随机数生成器具有以下功能:
- 定义随机模块。
- 代表发电机。
- 推导一个随机变量:就像一个从 10 到 40 的随机数:g。 随机的()
查看:印度的 Python 开发人员薪水
学习世界顶尖大学的数据科学课程。 获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。
运行Python 模拟
完成编码后,您可以借助一些简单的类和函数来执行程序。 想象一个剧院的模拟系统,它需要了解顾客的平均等待时间。
为了更好地使用 SimPy,您需要做的就是在 Python 中借助参数、生成器、函数和类集思广益并创建模拟。 由于每个模拟的环境因情况而异,以下是所涉及过程的快速修订:
- 为任何模拟设置正确的算法
- 用 Python 构建场景
- 使用所有涉及的资源和方法分配和定义功能
- 优化模拟中的参数以生成可操作的结果
另请阅读: 42 个令人兴奋的 Python 项目创意和适合初学者的主题
结论
如果您想了解 Python、数据科学,请查看 IIIT-B 和 upGrad 的数据科学 PG 文凭,该文凭专为在职专业人士而设,提供 10 多个案例研究和项目、实用的实践研讨会、与行业专家的指导,与行业导师一对一,400 多个小时的学习和顶级公司的工作协助。
SimPy 在模拟中有多大用处?
SimPy 是一个 Python 模拟框架,它是一个基于过程的离散事件框架。 这些过程由 Python 生成器函数在 SimPy 框架中定义。 它用于对活动组件进行建模,例如代理、车辆或客户。
SimPy 对于喜欢处理资产、车辆和患者等全天候资源管理的所有组织和企业都很有用。 通常可以看到,这些系统具有约束或倾倒能力,例如高速公路、接待处和收银台。 模拟可以根据挂钟时间以最大速度执行,也可以通过手动执行事件中的步骤来执行。
除了这些服务之外,SimPy 还帮助组织使用 Python 中的随机变量生成一般分析。 SimPy 完全用 Python 编写,它可以在不同的环境中运行,如 .NET 和 Java 虚拟机。
如何在 Python 中创建模拟数据?
有几次,我们需要数据集来练习或测试不同的模型,以便使用 Python 本身为任何模型创建模拟数据集。 这有助于我们在 Python 中创建用于回归的模拟数据。
在 Python 中为回归创建模拟数据的分步过程是:
1. 导入库 - 在此步骤中,导入数据集和库以进行回归。
2. 模拟数据的创建 - 可以通过传递回归所需的参数来创建回归数据集。 输出将作为数据集系数、输出和特征获得。
3. 打印数据集——在最后一步中,从不同的组件(例如系数、输出和特征)打印数据集。
Python 开发人员的平均收入是多少?
如果你是一名 Python 开发人员,那么你可以期望平均工资为卢比。 每年500,000。 薪水肯定会在很大程度上取决于其他几个因素,例如地理位置、公司级别、经验等等。 您可以期望卢比的薪水范围。 200,000卢比。 每年 800,000 用于 Python 开发人员的角色。