根据优先级排序实体,服务高优先级客户
这个例子展示了如何通过使用优先级队列和实体输入开关和实体输出开关块最小化服务高优先级客户所需的时间。根据客户的服务优先级为其提供服务。在本例中,有两种类型的顾客进入排队系统。一种类型代表具有高度紧迫性的高优先级客户。第二类客户的优先级较低,服务不那么紧急。优先级队列将高优先级客户置于低优先级客户之前。
建立模型
在模型中,到达的客户由Entity Generator和Entity Generator1表示。
在实体生成器块中,客户间隔到达时间是由平均值的指数分布生成的
3.
.
实体生成器块生成具有属性的实体,
优先级
而且开始时间
.的优先级
属性设置为1
,即客户的服务紧急程度。的开始时间
属性也设置为1
,它初始化模型中使用的开始时间值。
类似地,Entity Generator1生成的实体的间隔到达时间是由平均值为的指数分布生成的
1
.实体具有相同的属性,优先级
而且开始时间
.的优先级
属性设置为2
这是客户的服务紧急程度。的开始时间
属性设置为1
.
实体输出开关块接受实体生成器和实体生成器1块生成的实体,并将它们转发到优先队列。
实体队列块表示客户的排队情况,并根据其服务紧急程度对其进行优先级排序。
的能力实体队列块的值为
25
.
队列类型设置为
优先级
根据实体的优先级值对其进行排序。
优先级的源设置为
优先级
,该属性用于对实体进行排序。
排序方向设置为
提升
.值较低的实体优先级
都排在队列的前面。在这个设置中,客户与优先级
的价值1
是否优先于价值为的客户2
.
Simu金宝applink Function块用于戳戳进入实体队列块的实体。
在实体队列块中,在事件动作选项卡,在条目操作时,将使用以下代码,以便每当实体进入块时
getCurrentTime ()
金宝app调用Simulink函数。
实体。starttime = getCurrentTime();
在Simuli金宝appnk函数块中,数字时钟块用于对进入实体队列块的实体进行时间戳记录。
实体服务器块表示客户接收的服务。
实体输出开关块输出离开的实体。
切换准则设置为
从属性
,它根据实体属性选择出发路径。
交换机属性名称设置为
优先级
.如果优先级
值是1
,块切换到输出端口1
如果优先级
值是2
,块切换到输出端口2
实体离开。
当实体进入实体终止符块时,recordHighPriorityWaitTimes(开始时间)
函数被调用来计算从实体到达实体队列块到离开实体终止块所花费的时间。
在实体终止符块中事件动作选项卡,在条目,
recordHighPriorityWaitTimes(开始时间)
函数被调用。
函数的输入参数是
startime
,这是当实体进入实体队列块时记录的时间戳。
Simu金宝applink Function块接受这个参数并计算开始时间和出发时间之间的差值。
类似地,
recordLowPriorityWaitTimes(开始时间)
函数计算低优先级实体的时间。
计算出的总服务时间由Dashboard Scope块显示。
模拟模型与结果回顾
设置模型的仿真时间为One hundred.
.
模拟模型并观察Dashboard Scope块中显示的结果。该块表明,高优先级客户的等待时间明显小于低优先级客户。
另请参阅
实体队列|实体服务器|实体输出开关|实体输入开关|金宝app仿真软件的功能