主要内容

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

本示例展示了如何创建SimEvents®模型来表示车辆交通网络,并在网络处于稳态时调查车辆的平均等待时间。

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

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

模型交通网络

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

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

模型车辆抵港

两个Entity Generator块表示网络入口点。它们的实体间代时间被设置为创建泊松到达过程。

这是代际时间作用入口栏1块。

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

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

模型车辆路线选择

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

该代码在项行动实体服务器1为节点表示的交叉口车辆的随机路线选择1

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

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

模型路由交叉口

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

实体服务器1包含此代码。

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

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

网络构造为满足这些条件的开放Jackson网络。

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

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

  • 车辆驶离十字路口时采用先进先出的原则。交叉口等待时间呈指数分布,具有均值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 $

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

$\lambda = R(I-\theta)^{-1}$

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

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

$\theta = \left[\begin{array}{cccc} 0 &0.2 & # 38;0.8 & # 38;0\\ 0 &0 & # 38;0.7 & # 38;0.3\\ 0 &0 & # 38;0 & # 38;0.4\\ 0 & 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

参考文献

詹姆斯·R·杰克逊。运筹学第五卷第四期(一九五七年八月),第518-521页

Baidu
map