问题标签 [simpy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 将 NumPy 用于离散网络请求事件模拟器?
我需要模拟路由器网络正在处理的请求和响应,并通过创建服务器类从小处着手:
但是,现在我对如何表示路由器之间的通信感到困惑:
关于如何使用 NumPy 执行此操作的任何建议?
任何帮助是极大的赞赏!
python - 在 SimPy 中以与请求资源不同的功能释放资源
在模拟中,我希望能够在调用释放资源的另一个函数之前在一个函数中请求资源。当我使用下面显示的方法时,它不起作用并且出现错误。提前致谢。
(在功能 1 中):
(在功能 2 中):
这可能吗?如果需要任何其他信息,请告诉我还有什么。
python - 3 个 SimPy 资源,每个都有不同的特征
我试图模拟一种情况,我们有 5 台机器出现在 1 -> 3 -> 1 的情况下。即中间的 3 个并行操作以减少它们所花费的有效时间。
我可以通过创建一个值为 3 的 SimPy 资源来轻松模拟这一点,如下所示:
然而,在我的情况下,这三种资源中的每一种都略有不同,有时我希望能够使用其中的任何一种(当我在操作时)或预订一个特定的资源(当我想清理时)。基本上这三台机器以不同的速度慢慢地结垢并且运行速度较慢,我希望能够模拟这些并且当一台机器变得太脏时也能够进行清洁。
我尝试了几种模拟方法,但每次都遇到问题。
第一个是当它预订资源时,它还预订了 3 台机器(A、B、C)中的一个全局标志和一个标志本身来告诉它正在使用哪台机器。这可行,但它并不干净,并且很难理解随处可见的巨大 if 语句正在发生什么。
第二个是将其建模为三个独立的资源,然后尝试等待并请求 3 台机器中的一台,例如:
但这不起作用,我无法找出最好的方法来考虑产生一个选择。
模拟这种情况的最佳方法是什么。为了完整起见,这是我正在寻找的:
- 请求 3 台机器中的任何一台
- 请求特定的机器
- 让每台机器跟踪它的历史
- 让每台机器的特性都不同。即犯规更快但最初工作更快
- 根据性能或指标检测并安排清洁
到目前为止,这就是我在尝试将每个模型建模为单独资源的最新版本中所拥有的
python - 在模拟过程中通过 GUI 读取用户的输入
我正在使用 simpy 将基于模拟的应用程序转换为 GUI。
该程序当前在控制台中运行,并且正在执行模拟的 simpy 默认情况下以类似语法的循环运行。这就是我的问题所在。
目前,在代码的控制台版本中,我通过 raw_input() 函数获取用户输入,该函数能够中断代码并允许用户输入模拟所需的值。但是,尽管对其进行了研究,但似乎没有一种类似且干净的方式可以通过我正在构建的 GUI 中的 pyqt inisde 执行此操作。
唯一的方法是在不同的线程中运行进程吗?如果我采用这种方法,它的外观和真正的功能将如何?
python - 在 simpy python 中请求第一个可用资源
我想创建一个模拟具有 3 个计数器的银行的模拟模型。我希望有一个客户队列,如果有任何一个柜台可用,它将为柜台服务一段时间。每个柜台都是自己的简单资源(我不能做一个容量为 3 的资源),我需要知道哪个柜台为客户服务。我在实现这一点时遇到了麻烦。
我发现这篇文章似乎是关于同样的问题,但仍然不知道确切的实现http://comments.gmane.org/gmane.comp.python.simpy.user/1754
我假设我需要一个 yield simpy.AnyOf(env, list_of_resources) 来请求第一个可用的计数器,但是我不知道如何正确设置它,而且如果同时有多个资源可用,我想要某种方式来检查这一点,以便我可以选择哪个柜台更适合客户去。
我正在运行 python 2.7 版,simpy 3.0.4 版
编辑添加代码以显示我正在尝试做什么以及它现在如何不起作用。
python - 类型错误 - Python Simpy
我在网上搜索了许多与 TypeError 相关的答案,并多次扫描了我的代码,但我似乎看不到我遗漏的第三个参数是什么。我正在使用带有 Simpy 3 的 Python 2.7
我的代码如下:
这是我不断收到的错误:
回溯(最近一次通话最后):
非常感谢任何帮助,非常感谢
python - 需要有关 SimPy Simulation on Availability 的帮助
我建立的模拟一直存在问题,我不确定如何解决这些问题。本次模拟的思路如下:
系统中共有 10 台机器。当模拟开始时,其中 6 台机器将开始工作,而其他 4 台机器将作为备件保存在库存中。
要求是在系统中的任何时候,应该有 6 台机器在工作。总共没有 6 台机器工作的任何时间都将被计为停机时间。
工作一段时间后,6 台工作机器中的一台将出现故障。当发生此故障事件时,我们将从库存中取出 1 台机器并将其添加到工作机器组中,这样我们就可以满足同时有 6 台机器工作的要求。
然后将故障机器送到维修车间,并在一定时间后进行维修。当它的维修完成后,它将被移动到库存中,它将加入其他机器。
下一次 6 台工作机器中的另一台出现故障时,将再次从库存中取出 1 台机器来替换发生故障的机器。这意味着库存中的机器数量将在整个模拟过程中不断波动。在整个模拟过程中,我还需要了解库存中有多少台机器,因此我添加了print
语句来向我展示这一点。
总之,一台机器会经历以下循环:开始工作 -> 故障 -> 送去维修车间 -> 修理后入库 -> 当另一台机器出现故障时再次投入运行 -> 开始工作 -> 故障。 。 ETC。
我在此模拟中的另一个要求是我需要随时知道机器 1 到 10 在哪里。这样我就可以追踪到每台机器的动向,比如7号机什么时候出故障,什么时候进出维修车间,什么时候进出库存等等。
建立此模拟后,我随后将改变初始备件数量和维修时间,以研究这些因素如何影响运营可用性水平。
我面临的主要问题:
我无法在整个周期中单独跟踪 10 台机器中的每台
我无法正确建模我的备件库存。如果机器 5 - 10 开始运行,当其中一台发生故障时,下一行输出应该告诉我机器 1 已从库存中取出(并因此开始运行)以替换发生故障的机器。但是,我无法获得这样的输出。
先感谢您!
到目前为止,我已经包括了我的进展:
在 Stefan 的帮助下,我修改了我的脚本:
这是我收到的回溯:
python-2.7 - 相关资源
我正在建模一个火车站(使用 simpy,使用 python 2.7),其中有一些传入路线、一些传出路线和一些平台。现在,当其中一个资源被占用时,我无法将火车分配给某些其他资源。
现在,当一列火车进入一条路线——即穿越它——车站区域中的其他一些路线会在一段时间内无法使用。如果我要将路由建模为资源,那么在该资源处产生的请求也会影响/占用其他资源。
是否有某种方式对资源进行建模,例如使用一个资源_A 会使资源_B、资源_C 在预定的时间内停止运行?
阿西姆·阿瓦德
python - 收益率保持直到其他线> 0
我正在使用 SimPy 2.3 并且有一个以随机速率在 ATM 上生成客户的流程和另一个以随机速率为客户提供服务的流程。当线路为空时,我希望 ATM 在做任何其他事情之前等待下一个客户。
这是一些代码
有什么好方法可以做到这一点?
python - 如何在特定时间安排请求?
我将 simpy 3.xx 与 python 2.7 一起使用。我正在尝试建立一个火车模拟。需要的是火车过程在模拟中的特定时间生成进入请求。这一定很简单,但由于某种原因,我无法找到解决方案。
假设在模拟时间 20 我想要一个进程来生成请求事件,我该怎么做呢?通常我会生成一个请求:req = res.request(),然后产生 req。我希望在特定时间安排请求事件。