如何动态更改道路的通行能力

时间:2019-07-15 14:24:32

标签: anylogic

我绘制了一个道路网络,该网络需要在模型操作过程中动态更改道路的通行能力。例如,第一分钟的道路通行能力为1000 v / h,第二分钟的道路通行能力为500 v / h。

2 个答案:

答案 0 :(得分:3)

此解决方案不使用停车线,并且可以使事故在任意时刻发生在您想要的任何地方。 model structure

首先在源代码中将汽车人口添加到汽车人口中(请记住要使您的人口开始空着……默认值为100,您必须更改默认值): car source

您有一个普通的carMoveTo并带有一个事件,一个按钮或您想要的任何东西,您可以通过将汽车的速度更改为零来定义事故...因此,在15秒后的事件中,我造成了事故像这样:

Car car=cars.random(); //I choose a random car to be accidented
car.setPreferredSpeed(0,KPH); //speed to 0 kph making it stop
create_MyDynamicEvent(30,SECOND,car); //this will fix the accident in 30 seconds

动态事件具有以下代码: enter image description here

答案 1 :(得分:1)

您可以对这种情况进行建模:

Process Flows

在单独的“源和流程”(下部)中创建汽车,其中carMoveTo块的目标不是真正的目标,而是它将“分解”的位置,在此处标记为stopLine,在这里您可以看到停下的红色汽车。现在,其他汽车将自动绕过障碍物,一些汽车将不得不移动车道。这将隐式降低您的吞吐量。

在此示例中,breakDown(延迟)块定义了汽车破损/阻塞道路的时间,然后再次释放汽车并将像其他所有道路一样离开道路。