问题标签 [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 - 需要帮助使用 SimPy 对火车系统进行建模
我需要在 SimPy 中建模火车系统(如地铁系统)的帮助,问题是我的“模拟”老师要我使用 Python + SimPy,而我不知道如何使用它,一周后阅读了关于SimPy 我设法理解了银行的例子,这很容易,但现在我仍然不知道如何建模老师给我的问题......
问题很大而且很广泛,但我只需要一点帮助,而不是完成整个项目,所以,如果有人可以提供帮助,我将不胜感激。
可以帮助我入门的减少问题是这样的:
假设您有 3 个车站(A、B、C)相隔一段距离(假设 100m),我有 2 列火车,一列在 A 上,一列在 C 上(train1 从 A 到 C,tran2 从 C 到 A)在哪里每列火车都有一个最大速度(假设两者都为 50m/s)和加速度(假设为 5m/s^2 和 -5m/s^2 用于制动),他们所要做的就是在每个车站停下几个秒(假设是 24 秒)并继续到下一个车站,当他们到达终点时,他们会等待额外的 20 秒(换轨),然后重新开始。
车站有乘客限制(他们不需要模拟)唯一的事情是每个车站都有随机数量的乘客,当火车到达时,一些人起床,另一些人下来......
所以,基本上我需要一个小模型的火车和这三个车站的车站......如果有人可以帮助我......
真正的问题有 22 个车站、2 个额外的换道车站、随机等待时间、42 列不同最高速度和容量的列车、根据车站和一天中的时间产生不同数量的乘客等等……所有这些东西我以后可以管理,但是火车站系统的建模逻辑我好像搞不明白……谢谢大家的帮助!
python - 如何在不等待 SimPy 的情况下定期生成事件?
我正在学习 SimPy。目前我需要定期调用一个方法,直到模拟结束。
我写的像
由于 中的陈述while True:
,它应该产生target.do()
每 1.0 个时间单位。因此输出应该是:
但实际上,它target.do()
每 6.0 个时间单位产生一次(yield
保持等待直到target.do()
完成):
我想知道如何将目标函数定期生成到计划中,而无需等到它完成执行?
谢谢!……
python - 多个实例的故障/修复的简单优先级
我一直在尝试 Simpy 手册中的总线故障示例,我真的很难理解为什么当我创建多个总线实例时,最后一个实例似乎在第一次修复后得到“顺序”。我已经修改了手册中的示例代码,略低于 initialize() 语句,以创建两个 Bus 实例(Bus1 和 Bus2)。这是我的代码:
上面给出了以下输出:
现在,问题是:在 t=600 点,为什么 1 号巴士在 2 号巴士发生故障之前就修好了?我原以为两辆巴士都会发生故障并以“锁定步骤”进行维修。此外,如果我创建四个总线,前三个失败并在“锁定步骤”中得到修复,如下所示;但是,在第一次维修后,4 号巴士在 20 点前下车。我无法弄清楚为什么会发生这种情况,并且希望任何人都可以提供任何见解。它总是发生在最后一个实例上。
谢谢,西摩
python - Getting signalparam of Event in simpy
I am using SimPy for a time-based simulation.
I have a Messager process which listens for a specific event, and returns the parameters of that event when it occurs:
this works fine. However, in reality there is more than one Event which should be handled by the Messager, and I want the Messager to return the signalparam for the causative Event in a list of events:
how do I access the signalparam of the Event which has occurred?
python - Python with SimPy on Eclipse 安装错误(Windows 7)
我在 Eclipse 中使用 PyDev 已经有一段时间了,没有任何问题。今天我在我的 Python 中安装了 SimPy,我认为它安装正常,这意味着在空闲命令中,例如:
工作正常。
然后我尝试再次配置 PyDev,以便可以将 SimPy 与 eclipse 一起使用。在 Eclipse 中,我选择了 Windows->Preferences->PyDev->Interpreter – Python。然后是新的,命名为 Python 2.7 并添加 C:\Python27\python.exe 作为解释器可执行文件。这就是我过去所做的并且工作得很好。
但是现在我收到一条错误消息“在解释器上获取信息时出错”。从 ErrorLog 我得到:尝试创建解释器信息时标准输出中没有输出。错误输出包含:ImportError: No module named site
在我的家庭变量中,我有:
PYTHONHOME -> C:\Python27
PYTHONPATH -> C:\Python27\Lib;C:\Python27\Lib;C:\Python27\SimPy
谁能告诉我出了什么问题?我的系统是Windows 7。谢谢!
python - python (SimPy) 生成遵循 erlang 分布的随机数
我正在使用 Python(主要是 SimPy 包,但它与我认为的问题无关),对一些系统进行建模并运行模拟。为此,我需要生成遵循分布的随机数。到目前为止,通过导入随机数(例如从随机导入 *)并使用 expovariate 或 normalvariate 方法,我已经完成了一些分布,如指数和正态分布。但是,我找不到任何随机产生遵循 Erlang 分布的数字的方法。所以:
- 有没有我忽略的方法?
- 我必须导入其他库吗?
- 我可以做一些解决方法吗?(认为我可以使用指数分布来产生随机的“Erlang”数字,但我不确定如何。一段代码可能对我有帮助。
先感谢您!
python - Python SimPy:如何拆分或复制客户?
这是我试图在 SimPy 中实现的:
客户首先进入服务器 A 服务 5 分钟。然后每个客户分成两个,一个去Server B服务3分钟,一个去Server C服务2分钟。
我编写了以下代码,但根据输出似乎无法正常工作。另外我不确定我使用复制功能的方式是否正确,因为我想拆分每个离开服务器 A 的客户,但我觉得我的代码可能只适用于第一个客户。
任何帮助,将不胜感激。
输出:
python - 同时发生多次的简单事件
我正在使用Simpy 模拟器的SimEvent类来定义一些事件(比如a,b,c)。现在我有一个等待事件a、b和c的进程,如下所示。
一旦发生这些事件中的任何一个,该过程将被重新激活。在我的情况下,事件可以发生多次。即两个或多个进程可以在同一仿真时间调用a.signal() 。如果,假设事件a发生 3 次,我如何获得该信息?eventsFired数组是否重复了相同的事件?
python - 无法在 python 中发现 nameError
这是我的代码:
我想要做的是打印出目的地在其名称不存在时无法到达,但我仍然遇到通常的python错误:
python - How to enable interaction between object in different modules
I am using SimPy, and I try to simulate a network.
This is my main module:
I want an object of class message, which is activated by an object of class node, to interrrupt
an object of class Network (topology)
.
But I'm getting an error:
And I don't know how to make an object global. And if I type topology in python shell then it shows me object topology, so why can't message see it?