问题标签 [traffic-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 投票
2 回答
88 浏览

java - Netlogo流量模拟的Java实现

我是 Netlogo 模拟主题的新手。我正在收集有关调用不同交通模拟器的信息。Netlogo 是否有可能通过控制代理或流量的库接收来自 Java 端的调用,或者有一些扩展能够通过一些外部逻辑来处理它?

例如,SUMO 模拟器是完全为交通模拟而设计的,使用 TraCI 连接很容易控制它。是否有可能仅使用 Java/Python/C++ 代码在 NetLogo 中编写类似的网格模拟,或者 NetLogo 模拟器需要在 NetLogo 界面中使用清晰的徽标语义代码?

我的比较是由我对使用命令行、库或 API 的特定解决方案性能的调查引起的。似乎 NetLogo 需要受 Logo 启发的代码,它使用 GUI 界面模拟流程。这个系统中的 GUI 似乎是一个相当大的减速...

由于它没有通信接口,而且似乎是一个基于 GUI 的单线程模拟器,我认为它主要用于基本模拟。

我对这个假设是否正确?它是不是一个不能在大型分布式系统中使用并且通常用于学生展示目的的标志启发解释器?

0 投票
2 回答
135 浏览

python - 在 Traci 的 Sumo-gui 中显示/打印文本

我正在用 python 学习 Sumo/Traci。

我想在运行的 Sumo-gui 中显示/打印一些值(使用 python 从 Traci 检索)。

在显示和运行模拟时是否有任何文本显示?

你能指出我该怎么做吗?

先感谢您!

0 投票
0 回答
34 浏览

omnet++ - 带有 Omnet++ 的 Zigbee 协议

如何在 omnet++ 上模拟 zigbee 协议?我正在使用 omnet 5.6.4 和 inet 4.0。

有什么我可以参考的资源吗?我找不到任何重要的东西。我目前正在尝试修改 inet4.0 上 802.15.4 示例中的可用代码,但并没有为我在此处发布任何代码做太多事情。

0 投票
0 回答
684 浏览

java - Tomcat在负载下响应时间慢

我们有一个 Web 应用程序,它使用在 Java 8 JAX-RS 中开发的 REST 服务和部署在 Apache tomcat 9 上的 WAR。最近我们在生产中遇到了一个问题,即 Tomcat 在高流量下响应非常慢,并且偶尔也会断开连接。所以我们决定运行一些负载测试来确定我们系统的吞吐量。

我们在生产中使用以下规格 -

  • 带有 64 位 JVM 的 ubuntu 18.04 Open JDK
  • 16 核 CPU 和 64 GB RAM
  • 雄猫 9

我们的 Tomcat 服务器 XML 配置是 -

我们有一个 REST API,它是一个简单的“ping”方法,它返回一个简单的 JSON 响应,带有 200。例如

我们使用它来使用Apache JMeter 5.4.1 执行负载测试。我们的发现:

线程数 平均响应时间(毫秒) 1 分钟内的总请求数
50 12 243,002
100 22 277,016
250 40 384,729
500 76 400,048
1,000 124 469,712
2,000 229 480,784
5,000 507 336,921
10,000 1,843 74,677

正如我们所见,即使负载较小,如 100 或 250 个线程,平均响应时间也开始增加。这是一个简单的 REST API,没有任何数据库连接或逻辑。我们观察到我们的 CPU 使用率从未超过 40%,内存使用率随时保持在 10% 以下。Tomcat 进程永远不会占用超过 4 GB。我们甚至检查了最大打开文件限制,但它设置为 65000,这远高于我们的要求。所以我们无法弄清楚瓶颈在哪里,导致响应时间与没有线程成比例地减少。

我们尝试更改服务器 xml 参数,如 maxThreads、acceptCount、maxConnections 等,但没有显着变化。我们还尝试设置最大堆设置,但没有帮助。只有当我们在 catalina.sh 中添加垃圾收集参数时,我们观察到大约 15-25% 的轻微性能提升的唯一变化是 - -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=20 -XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70

我们需要弄清楚在 CPU 和内存未充分利用的情况下,我们的系统处理负载的能力是多少,我们不知道为什么即使在 100-200 个线程的低并发情况下它还要花费更多时间来处理请求。我们不知道接下来要采取哪些步骤来提高吞吐量。

任何帮助,将不胜感激。谢谢。

0 投票
1 回答
144 浏览

sumo - SUMO 中的巴士是否可以根据其路线中未预先定义的巴士站的部分停靠接载或允许乘客离开?

我已经在 SUMO 中定义了多条车道的公交路线,但我看到乘客只能在这些公交车站进出公交车。在我的国家,公共汽车并不总是非常有条理,虽然它们会在预定的公共汽车站停靠,但当乘客在公共汽车内按铃时也会停下来,或者当他们在路上看到公共汽车时可以通过发出信号来上车。如何在 SUMO 中建模?

0 投票
1 回答
104 浏览

c++ - omn​​et++ 三个节点(或三个以上)之间的通信

所以我想配置三个节点如何相互通信,但有两种方式。我尝试了不同的方法,但所有错误都不同,它甚至没有运行模拟,但是这段代码运行了模拟 GUI,但无法运行模拟

代码如下

.NED 文件代码

.CC 代码:

0 投票
1 回答
53 浏览

java - JMeter 同步所有线程

在Jmeter我有这种情况:

  • 线程组(N-Tread,RumpUp=X 秒)
    • 循环1(n次)
      • JavaSampler1
    • 同步
    • 睡觉
    • 循环2(n次)
      • JavaSampler2

我想要的是一旦线程组启动,我希望所有线程在执行 Loop1 之后阻塞(同步)。一旦线程全部同步并阻塞,我想开始一个“睡眠”阶段 X 秒,然后一起重新启动它们

0 投票
1 回答
61 浏览

xml - Sumo 随机 Trips Xml 文件未生成,

一旦给出命令 randomTrips.py -n sumotest.net.xml -o sumotest.trips.xml pycharm 正在打开,寻求帮助 谢谢,Abhiram

0 投票
1 回答
869 浏览

docker - Docker 流量控制 (tc) - 未找到指定的 qdisc

0 投票
1 回答
215 浏览

simulation - 如何为基于代理的模型实施基于规则的决策者?

我很难理解如何在我尝试开发的基于代理的模型中结合基于规则的决策制定方法。

代理的界面非常简单。

为了这个例子,让我们假设代理代表车辆,它们在一个大型仓库内穿过道路,以装载和卸载他们的货物。他们的路线(道路序列,从起点到代理的目的地)由另一个代理,主管分配。车辆代理的目标是遍历其指定的路线,卸载货物,装载新的,接收主管指定的另一条路线并重复该过程。

车辆还必须意识到潜在的碰撞,例如在交叉点,并根据某些规则给予优先权(例如,载有最重货物的车辆具有优先权)。

据我了解,这是我要构建的代理的内部结构:

在此处输入图像描述

所以车辆代理可以是这样的:

对于 Vehicle 代理的内部状态,我正在考虑类似:

对于此示例,必须为车辆代理实施 3 条规则。

  1. 如果另一辆车在代理附近(例如小于 50 米),则货物最重的那辆优先,其他代理必须保持其位置。
  2. 当代理到达目的地时,他们卸下货物,装载新货物并等待主管分配新路线。
  3. 在任何给定时刻,无论出于何种原因,主管都可能发送命令,接收车辆必须遵守该命令(保持位置或继续)。

VehicleStateUpdater 必须考虑代理的当前状态、接收到的感知类型并相应地更改状态。因此,为了使状态反映例如主管收到了一条命令,可以按如下方式对其进行修改:

其中 RadioCommand 可以是值为 None、Hold、Continue 的枚举。

但是现在我还必须在代理状态下注册,如果另一辆车正在接近。所以我必须向 VehicleState 添加另一个属性。

这就是我很难理解如何进行的地方,而且我觉得我并没有真正遵循正确的方法。首先,我不确定如何使 VehicleState 类更加模块化和可扩展。其次,我不确定如何实现定义决策过程的基于规则的部分。我应该创建互斥规则(这意味着每个可能的状态必须对应不超过一个规则)?是否有一种设计方法可以让我添加额外的规则,而不必来回切换 VehicleState 类并添加/修改属性,以确保代理的内部状态可以处理每种可能的 Percept 类型?

我已经看过《人工智能:现代方法》教材和其他资源中演示的示例,但是当必须设计更复杂的模型时,可用示例太简单了,我无法“掌握”相关概念。

如果有人能指出关于基于规则部分的实施的正确方向,我将不胜感激。

我正在用 C# 编写,但据我所知,它与我试图解决的更广泛的问题并不真正相关。

更新:

我尝试合并的规则示例:

我也尝试实施的代理决策者示例。