这个示例展示了如何通过使用优先队列、实体输入开关和实体输出开关块最小化为高优先级客户提供服务所需的时间。根据客户的服务优先次序为他们提供服务。在本例中,有两种类型的客户进入一个排队系统。一类代表具有高度紧急的高优先级客户。第二类客户的优先级较低,得到的服务也不那么紧急。优先级队列将高优先级客户置于低优先级客户之前。
在模型中,客户到达由实体生成和实体发生器1表示。
在实体生成器模块中,客户间到达时间由平均值为的指数分布生成3
。
实体产生模块生成具有属性的实体,优先
和开始时间
。该优先
属性被设置为1
,这是客户的服务急迫性。该开始时间
属性也被设置为1
,初始化在所述模型中使用的开始时间值。
类似地,实体发生器1产生其帧间到达时间从指数分布产生,平均的实体1
。这些实体具有相同的属性,优先
和开始时间
。该优先
属性被设置为2
这是客户的服务急迫性。该开始时间
属性被设置为1
。
实体输出开关块接受实体生成器和实体生成器1生成的实体并将它们转发到优先队列。
实体队列块代表他们根据他们的服务的紧迫性客户并优先的排队。
该容量的实体队列块为25
。
队列类型被设置为优先级
根据其优先级值的实体进行排序。
优先源被设置为优先
,它是用于实体排序的属性。
选方向被设置为提升
。值较低的实体优先
被放置在队列的前面。在这种设置中,客户优先
的价值1
优先于客户提供的价值2
。
Simu万博1manbetxlink的功能块用于时间戳进入实体队列块的实体。
在实体队列块,在事件动作选项卡,条目操作时,使用以下代码,以便每当实体进入块时,getCurrentTime ()
万博1manbetxSimulink的函数被调用。
实体。开始时间= getCurrentTime ();
在Simuli万博1manbetxnk功能块,一个数字时钟块用于时间戳进入实体队列块的实体。
实体服务器块代表客户收到的服务。
实体输出开关模块输出的实体出发。
交换准则被设置为从属性
,其选择基于实体属性离开路径。
交换机属性名称被设置为优先
。如果优先
值是1
中,块切换到输出端口1
如果优先
值是2
中,块切换到输出端口2
对于实体出发。
当实体进入实体终结者块,则recordHighPriorityWaitTimes(开始时间)
函数被调用来计算在实体队列块实体的到来,并从实体终结者块其离开之间花费的时间。
在实体终结者块,在事件动作选项卡,条目中,recordHighPriorityWaitTimes(开始时间)
函数被调用。
该函数的输入参数是STARTIME
,这是当该实体进入实体队列块已记录的时间戳。
Simu万博1manbetxlink的功能块采用这种说法,并计算开始时间和离开时间之间的差异。
同样的,recordLowPriorityWaitTimes(开始时间)
函数计算低优先级的实体的时间。
所计算的总服务时间是由控制板范围块显示。
该模型的模拟时间设为One hundred.
。
模拟模型,观察仪表板中的范围块显示的结果。该块显示,高优先级客户的等待时间比低优先级客户显著少。
实体输入开关|实体输出开关|实体队列|实体服务器|万博1manbetxSimulink的功能