问题标签 [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 流量模拟中的 AttributeError 和语法
我正在尝试创建单个车道上交通拥堵的离散事件模拟。车道分为 10 段,即每辆车通过的“宽度”。这些段都需要 1 个单位的时间才能通过。我目前的设置有汽车以相同的速度通过,但我会改变它以允许慢速行驶的汽车花费更长的时间并造成交通拥堵。每个路段都是一个资源,如果当前正在使用,则受 request() 函数的约束。
我在 python 中用 simpy 来做这个。请记住,我几乎没有使用 python 的经验。这是我的代码:
运行它会给我以下错误:
我有两个问题:1)这个错误的原因是什么?修复这个原因会使我的代码工作吗?2)有没有更优化的方法来用simpy编写这种模拟?- 特别是路段,很多相同的代码被一遍又一遍地重写。
python - 使用 simpy 监控函数名错误
对python非常陌生,并尝试使用我在网上找到的简单脚本来排队时间。当我使用“监视器”时出现名称错误 - 我认为这是 SimPy 的一部分。我应该从其他地方导入监视器吗?
在此先感谢您的帮助!
见下文:
simpy - Simpy 商店批处理
我正在尝试创建一个生产者/消费者模拟,消费者在其中批量处理项目。问题是 Store.get() 函数一被调用就会从 Store 中删除项目,但我需要它等到我调用了 yield:
产生以下输出:
将 maxQD 设置为 2 时,我会期望:
消费者阻塞直到成功获得 4 个项目,而生产者无法添加超过 2 个。
你可以通过检查 len(Q.items) 来解决这个问题:
但是你仍然会得到令人沮丧的行为,即 get() 在 yield 之前删除了项目,这使得它看起来像 5 个项目被添加到 Q (注意 maxQD 更改为 4):
python - 队列大小似乎是 SimPy 中的 ENV 大小
我刚刚开始进行事件模拟,并且在监控队列时遇到了一些问题。
似乎每次我检查队列时,它实际上都在显示 Env.now。有什么建议吗?
结果:
python - Simpy如何访问资源队列中的对象
我正在将用 Simpy 2 编写的代码移动到版本 3,但找不到与以下操作等效的代码。
在下面的代码中,我在 Simpy 资源的 activeQ 中访问作业对象(派生自类 job_(Process))。
要在 Simpy 3 中执行此操作,我尝试了以下操作
buffers[mc_no].users
它返回 Request() 对象的列表。使用这些对象,我无法访问创建它们的进程,也无法访问这些进程函数所属的对象。(使用资源对象的“put_queue”和“get_queue”没有帮助)
有什么建议么 ?
python - 在 python 中导入 simpy - 未命名的模块错误
我正在尝试simpy
在 python 中导入包,但是出现未命名的模块错误。我在 Mac OSX 上并已anaconda
安装。我使用pip install simpy
命令安装了它。这些输出也可能会有所帮助:
(如果相关,我使用 PyCharm 作为 IDE)
events - SimPy 中的事件队列
我来自 SystemC 世界,我正在尝试用 Python 编写一些简单的代码。我想知道 Python 是否有类似于 peq_with_get() (来自 SystemC)的东西,它基本上是一个队列,保留了对事件的所有触发器。我开发了以下代码来测试它,但它似乎不起作用。想知道你们是否可以指导我了解 simpy 是否有事件队列。
python - 资源未在 Simpy 中释放 - 我做错了什么?
我已经按照建议简化了代表问题的代码并尝试进行调试。
这是仍然包含错误的代码的最简单版本:
运行这个的输出:
如您所见,资源显然是在“路线 a”上释放的,但是在路线 a 或路线 b 上都无法获取其他资源。
我对此感到非常困惑。任何帮助将非常感激!
python - Simpy 资源:获取 ID?
我有两条机场跑道作为 Simpy 资源:
这一切正常,但是我如何访问跑道 ID(1 或 2),以便我可以得到诸如“飞机 #1 从跑道 #1 起飞”之类的输出?