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