将交通交叉口建模为排队网络
本示例展示了如何创建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.
模型车辆路线选择
实体有一个路线
接受值的属性1
或2
.该属性的值决定实体从哪个输出端口离开一个实体输出开关块。
该代码在项行动实体服务器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排队系统.
每个节点的车辆到达率用这个公式计算。
公式中:
节点的外部到达率是多少.
进入节点的箭头总数是多少.
选择节点的概率是多少从节点.
车辆到达节点的总速度是多少.
对于网络中的所有节点,方程采用这种矩阵形式。
在这里,路由矩阵,每个元素表示从节点转移的概率到节点.
对于这里研究的网络,这是路由矩阵。
是每个节点的外部到达向量。
使用这些值,计算每个节点的平均到达率。
每个节点作为一个独立的M/M/1队列,每个节点的平均等待时间由这个公式计算。看到M/M/1排队系统.
的每个元素,计算每个节点的平均等待时间.
查看仿真结果
对模型进行仿真,观察网络中各队列的平均等待时间与理论计算结果吻合。
节点中队列的等待时间
1
收敛于1
.
节点中队列的等待时间
2
收敛于0.11
.
节点中队列的等待时间
3.
收敛于0.88
.
节点中队列的等待时间
4
收敛于0.58
.
参考文献
詹姆斯·R·杰克逊。运筹学第五卷第四期(一九五七年八月),第518-521页