主要内容

将交通交叉路口建模为排队网络

这个例子展示了如何创建一个SimEvents®模型来表示一个车辆交通网络,并研究当网络处于稳态时车辆的平均等待时间。

假设一个车辆交通网络由两个车辆入口和两个车辆出口点组成,在下面的图中分别用棕色和绿色节点表示。网络中的每个蓝色节点代表一个有红绿灯的路线交叉口,箭头代表每个交叉口的路线连接。箭头旁边的值表示在该十字路口行驶的车辆的百分比。

车辆进入网络的速率用带速率的泊松过程表示0.5为条目1而且0.15为条目2.服务率表示车辆在每个路口停留的时间,由带均值的指数分布得出1.箭头值是车辆在十字路口选择路线的概率。

交通网络模型

为了表示车辆交通网络,该模型使用实体生成器、实体服务器、实体队列、实体输入开关、实体输出开关和实体终止块。

模型=“QueueServerTransportationNetwork”;open_system(模型);

模型汽车到达

两个实体生成器块表示网络入口点。它们的实体生成间隔时间设置为创建泊松到达过程。

这是代码相生的时间行动条目的字段1块。

%随机数生成coder.extrinsic (“兰德”);ValEntry1 = 1;ValEntry1 = rand ();模式:指数分布μ= 0.5;dt = -1/ * log(1 - ValEntry1);

在代码中,μ为泊松到达率。的coder.extrinsic(“兰德”)使用是因为没有为随机化分配唯一的种子。有关事件操作中随机数生成的详细信息,请参见事件动作语言和随机数生成.要了解更多关于外部函数的信息,请参见使用mxArrays

模型车辆路线选择

实体有一个路线接受值的属性12.属性的值决定了实体从哪个输出端口分离出一个实体输出开关块。

此代码在项行动实体服务器的1表示Node表示的交叉口车辆的随机路径选择1

Coin1 = 1;coder.extrinsic (“兰德”);Coin1 =兰德;如果Coin1 <= 0.2实体。路线= 1;其他的实体。路线= 2;结束

这是一个随机的例子路线属性分配时,实体进入实体服务器1块。的价值路线是根据随机变量的值分配的吗兰德它的值介于0而且1路线就变成了1如果兰德是否小于等于0.2,或2如果兰德大于0.2

模型路十字路口

每个蓝色节点代表一个路由交叉点,包括一个无限容量的队列,以及一个服务时间从具有平均值的指数分布中绘制的服务器1

实体服务器1包含这个代码。

模式:指数分布coder.extrinsic (“兰德”);Val1 = 1;Val1 = rand ();μ= 1;dt = -mu * log(1 - Val1);

计算网络中车辆的平均等待时间

该网络被构造成一个满足这些条件的开放杰克逊网络。

  • 所有到达的车辆都可以退出网络。

  • 车辆到达用泊松过程表示。

  • 车辆驶离路口时采用先进先出的原则。交叉口的等待时间与均值呈指数分布1

  • 离开十字路口的车辆要么走一条可用的路线,要么离开这个网络。

  • 各路口队列的利用率均小于1

在稳定状态下,开放Jackson网络中的每个队列都独立表现为M/M/1队列。网络的行为是均衡分布中各个队列的产物。有关M/M/1队列的更多信息,请参见M / M / 1排队系统

每个节点的车辆到达率我美元用这个公式计算。

美元\ lambda_i = r_i + \ sum_ {j = 1} ^ N \ theta_{他}\ lambda_j,美元

的公式:

  • r_i美元节点的外部到达率是多少我美元

  • 美元$ j = 1 \ ldots N进入节点的箭头总数是多少我美元

  • 美元\ theta_{他}$选择节点的概率是多少我美元从节点$ j $

  • \ lambda_j美元车辆到节点的总到达率是多少$ j $

对于网络中的所有节点,方程采用这种矩阵形式。

美元\λ= R (I - \θ)^ {1}$

在这里,\θ美元路由矩阵,每个元素代表从节点转移的概率$ j $到节点我美元

对于这里研究的网络,这是路由矩阵。

$\theta = \left[\begin{array}{cccc} 0 &0.2 & # 38;0.8 & # 38;\ \ 0 & # 38;0 & # 38;0.7 & # 38;0.3 \ \ 0 & # 38;0 & # 38;0 & # 38;0.4 \ \ 0 & # 38; 0 & 0 & 0 \end{array}\right]$

R美元是每个节点的外部到达向量。

$R = \left[\begin{array}{cccc} 0.5 &0 & # 38;0 & # 38;0.15 \{数组}\正确]美元结束

使用这些值,计算每个节点的平均到达率。

$\lambda = \left[\begin{array}{cccc} 0.5 &0.1 & # 38;0.47 & # 38;0.368 \{数组}\正确]美元结束

每个节点作为一个独立的M/M/1队列,每个节点的平均等待时间我美元由这个公式计算。看到M / M / 1排队系统

$ \ rho_i = \压裂{\ lambda_i} {1 - \ lambda_i} $

的每个元素,计算出每个节点的平均等待时间\λ美元

$\rho = \left[\begin{array}{cccc} 1 &0.11 & # 38;0.88 & # 38;0.58 \{数组}\正确]美元结束

查看仿真结果

对模型进行仿真,观察到网络中各队列的平均等待时间与理论计算结果吻合。

  • 节点中队列的等待时间1收敛于1

  • 节点中队列的等待时间2收敛于0.11

  • 节点中队列的等待时间3.收敛于0.88

  • 节点中队列的等待时间4收敛于0.58

参考文献

[1]杰克逊,詹姆斯R。运筹学第五卷第四期(1957年8月),第518-521页。

Baidu
map