问题标签 [event-simulation]

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.

0 投票
0 回答
24 浏览

python - 为什么我的事件类型 7 删除了我的第 46 个客户放弃时间?

这是删除我的客户之前的一次迭代 46

在这里您可以在事件类型中看到条目 [5,0, 46] 已被删除

大家好,我正在尝试编写一个算法,可以模拟将出租车打给乘客的过程。每个事件类型都有数字编码:
所以 ET == 1 只是出租车到达事件,
2:客户到达,
3:终止事件,
4:出租车放弃,
5:客户没有耐心,
7:只是出租车将客户带到目的地并与另一位客户重新匹配。

事件日历 (EC) 中的第 0 个条目是距离下一次出租车到达的时间,
事件日历中的第 1 个条目是距离下一个客户到达的时间,事件日历中的
第 2 个条目是终止时间。

EC 列将随着事件类型 (ET) 的变化而更新。

LT 只是出租车的列表:

  • 第 0 个条目是状态:“0”是空闲,“1”是忙
  • 第一个和第二个条目是所述到达出租车的 x 和 y 坐标
  • 第三个条目是该出租车的 ID

同样适用于 LC,但第 3 和第 4 项表示客户想去的目的地。

当客户到达时,要么他/她立即得到匹配,要么我为他们分配对应的耐心时间和如下所示的事件:[5,0,id_customer]。如果客户在他们的耐心时间到期之前没有匹配到司机,那么算法会在那之后删除他们。

我相信我的问题发生在ET == 7. 因此,出租车 54 应该将 43 带到他/她的目的地,然后根据 min_distance 重新匹配到客户 45 或 46(我选择欧几里德距离和 min_distance 为任意值)。无论哪一个匹配,算法都会删除客户的耐心时间,这是一个[5,0,45][5,0,46](但不是两个,因为如果你查看出租车列表,只有一辆出租车,两者都不能匹配到一辆出租车)。

抱歉,这篇文章很长,如果没有上述所有细节,我无法解释。谢谢阅读

0 投票
1 回答
94 浏览

python - SimPy 和 PyQt 交互

我一直在寻求让 PyQt 和 SimPy 相互“交谈”。例如,在下面的代码中,我有一个带有单个标签的 PyQt 小部件,用于显示 SimPy 环境时间。我希望这个标签随着模拟的进行而更新(我试图用这个simpy_generator函数来展示它——小部件中的标签被更新,SimPy 超时一个单位时间,并且这种模式重复)。

但是,我对如何使它起作用感到非常困惑。我知道 Qt 需要管理它的事件队列,并且更新通常会通过一些QTimer发出信号来触发它链接到的某个插槽的运行(在这种情况下是Window'方法)来完成。update但这似乎与 SimPy 自己的事件队列不兼容(或者更确切地说,我太无知了,无法理解它们应该如何交互);生成器需要作为一个进程添加到环境中,然后环境设置为运行直到完成(参见代码的注释部分)。

谁能告诉我如何才能做到这一点?

0 投票
0 回答
42 浏览

javascript - 在 Vuejs 的 TextBox/Input 中更改或输入值

我目前正在测试网站作为我的工作。我的行为就像使用该网站的最终用户。由于此作业重复执行一组操作。所以我编写了自己的 Chrome 扩展程序。我的扩展使用 Vanilla JS(没有 jQuery 或任何第三方库)。一切正常,直到我收到使用 Vuejs 的客户站点。我对 Vuejs 不太熟悉(我曾经使用过 Vanilla JS、jQuery、Angular)。

我使用 Vanilla JS 来模拟点击 Vuejs 按钮。可以的,没有问题。但不是文本框。我尝试更改值、textContent、innerText、innerHtml,它在文本框中显示字符串,但是当我提交时,Vuejs 通知填充文本框(这意味着文本框上没有字符串)。我也尝试更改该值,然后在该文本框上单击 dispatchEvent click、keyup、keydown、keypress,没有任何反应。

那么有 Vuejs 专家吗?请帮我找到在文本框上模拟文本输入的方法。或者给我关键词研究。

我很感激。感谢社区

0 投票
1 回答
92 浏览

python - 你能在 Python 上使用 SimPy 做一个闭环系统吗?

我正在尝试模拟一个可以驾驶汽车的车库。然后随着时间的推移,汽车需要一些维修,它们变得不可用。修好汽车后,它会回到车库。

我想知道您是否可以为这样的系统建模,让您可以将相同的汽车循环回车库?此外,有兴趣跟踪汽车的不可用性......

0 投票
1 回答
70 浏览

java - 如何在 Java 中运行带有仿真包的示例?

需要帮助来运行 JavaSim 模拟包中的示例。

https://github.com/nmcl/JavaSim

示例 Main.java 位于:

examples/src/main/java/org/javasim/examples/basic

附上错误截图 在此处输入图像描述

请注意,我也在 E​​clipse 中执行过:

右键单击项目文件夹-> 属性选择“Java 构建路径”单击顶部的“源”选项卡单击右侧面板上的“添加文件夹”选择的文件夹示例并应用

0 投票
0 回答
39 浏览

python - 虽然循环不断迭代在 Simpy 中第一次迭代时开始的作业?

我正在与 simpy 一起使用容器来安排作业。我面临一个问题,即只有那些在第一次迭代时开始的工作才会继续迭代。即前 3 个工作不断迭代。不让第 4 份工作进入这个过程。其次我还想知道所有作业的总执行时间?如果有人可以帮助我,我将不胜感激。

0 投票
1 回答
46 浏览

anylogic - 为什么延迟块为空时,Anylogic stopDelay() 函数会抛出错误?

我有一个活动

delay.stopDelay(delay.get(0));

它工作正常但是当延迟块变空时出现错误 在此处输入图像描述

0 投票
0 回答
19 浏览

r - 跨多个资源超时?煨 R - DES

我希望能找到解决 simmer 包问题的最佳方法。

在急诊科,患者决定入院,我们从定义的分布中抽取他们的住院时间,并将他们放在普通病床上(如果有)或紧急病床,直到有普通病床可用。

一些患者可能在整个住院期间都在急诊床上。因此,解决这个问题的最佳方法是什么?

如果我占用一张急救床,我将不得不反复检查是否有一张普通床可用,同时还要检查他们的 LOS 是否用完。

我感觉到有什么事情发生了,短暂的超时和回滚逻辑是正确的方法,但我需要确保如果患者在急诊床上度过 2 天,这是从他们在普通床上的总逗留时间中得出的.

要涵盖的示例场景:

患者 1 - 预计 LOS 10 天第 1-3 天在急诊床上,然后是第 4-10 天在普通床上,然后在第 10 天出院。

患者 2 - 预计 LOS 4 天 没有常规床位可用,患者在第 4 天直接进入出院轨迹。

患者 3 - 预计 LOS 5 天直接入住普通床,因为有一张可用的床。在第 5 天进展到出院轨迹。

任何帮助,将不胜感激。

0 投票
1 回答
44 浏览

anylogic - Anylogic:避免在占用块中不必要地执行进程

我正在尝试使用状态图来模拟制造过程。我已经通过状态图为特定机器创建了代理,并在资​​源池、获取块和释放块的帮助下根据制造过程连接了这些代理

在此处输入图像描述

我的代理正在通过资源池并抓住块。我期望一个接一个地运行模型,抓住块。但是,当我运行模型时,我的所有三个统计图都同时处于活动状态,这是我不想要的。有人可以建议我一种避免同时进行的可能方法吗?

0 投票
1 回答
82 浏览

python - 如何在 Simpy 模拟中结束进程

我是 SimPy 的新手,正在努力完成以下工作。模拟流程,每个流程都有不同的时间延迟。第一个过程完成后,我将中断我捕获的其他过程。但是一旦在 catch 块中,所有这些进程都会再次恢复,并且环境时钟会继续运行,直到所有这些进程都完成。我希望模拟在第一个进程完成后立即停止,然后更新其他进程的剩余时间并基本上停止一切,以便 env.now 时间在第一个进程完成时。

示例代码

类 Resource 有一个 start 和 run 方法,具有以下内容: 还假设每个资源在实例化时都有一个处理时间:每个资源还具有对其他资源的引用,为了保持简短,没有显示所有代码。

当前发生的情况是完成了最短的资源进程。对所有其他资源调用中断,并且正确更新 timeToProcess。但在此之后,环境运行以完成所有资源进程,并且 env.now 更改超出了预期的第一站。

我尝试了 env.exit() 但没有成功。simpy 中是否有任何方法可以立即停止模拟,无论安排什么进程。

问候