一种用于排队机的等待时间预测方法
技术领域
本发明涉及一种用于排队机的等待时间预测方法,属于控制技术领域。
背景技术
在日常生活和工作中,排队是一种非常普遍的现象,顾客在排队过程中经常会遇到劳累、拥挤和混乱等现象。目前排队机被广泛应用于银行、医院、餐厅等多个领域,能够很好的解决顾客在排队时所遇的问题,为顾客提供一个较为公平和舒适的排队方式。然而,现有的排队机通常只能提供等待人数的信息,不能预估顾客需要等待的时间,顾客只能自己大概估计等待时间,往往会出现很大的误差,造成长时间等待或错过服务机会。专利号为200710027670.2的中国专利公开了一种智能排队叫号系统,可根据排队论方法预测顾客等待的时间,然后在号码纸上打印出顾客的返回时段,顾客取号后可以离开现场处理其他事物,只需在号码纸上建议的时段返回现场,以达到合理安排时间的目的,同时避免顾客错过服务机会。但是这种方法强调的是针对过号重排现象提出的二次排队模型,对预测等待时间的精确性要求低,并且不能根据最新的排队信息对顾客的等待时间及时进行修正,一旦对某个顾客等待时间的预测出现误差,其后每一位顾客的等待时间均会受到误差影响,即误差具有累积效应。
发明内容
本发明要解决的技术问题是根据现有技术存在的缺陷,提出一种用于排队机的等待时间预测方法,能够根据最新的排队信息对顾客的等待时间进行修正,以避免对顾客等待时间的预测出现误差。
本发明通过以下技术方案来解决技术问题,一种用于排队机的等待时间预测方法,该方法的装置包括输入装置,用于输入顾客到来前若干个历史服务周期内所有历史顾客的到达时刻、到达时队长和真实等待时间信息;信息采集装置,用于采集顾客到达信息和排队顾客接受服务信息;数据采集模块,用于采集到来顾客信息,并记录该顾客到达时刻、到达时队长和真实等待时间;表格自动生成模块,用于统计一个历史服务周期内所有历史顾客到达时刻、到达时队长和真实等待时间,并生成顾客等待时间表;计算模块,用于从顾客等待时间表获取数据并根据所述数据计算到来顾客需要等待的时间;检测模块,用于获取顾客信息并对顾客的状态进行判断;显示模块,用于输出显示计算模块获取的到来顾客预测等待时间;中央处理器,用于接受数据采集模块、表格自动生成模块、信息采集模块、计算模块、检测模块和显示模块发出的信息,对信息进行处理并协调分配各模块的运行工作;还包括与中央处理器连接的打印装置,用于打印到来顾客的预测等待信息;该方法包括以下步骤:
步骤一数据采集模块采集输入装置输入的顾客到达前若干个历史服务周期内所有历史顾客的到达时刻,到达时的队长和真实等待时间,并传送至表格自动生成模块,表格自动生成模块生成包含顾客到达前若干个历史服务周期内每一个历史顾客到达时刻、到达时队长和真实等待时间信息的顾客等待时间表,并将顾客等待时间表输送至中央处理器;
步骤二信息采集装置将顾客到来信息发送至中央处理器,中央处理器处理后将该到来顾客的信息传输至数据采集模块,数据采集模块记录该顾客的到达时刻和到达时的队长,进入步骤三;
步骤三检测模块获取到来顾客需要排队等待的信息后,发送信号至中央处理器,中央处理器根据该信号进行处理并控制计算模块利用顾客等待时间表计算该顾客的预测等待时间并将预测等待时间传送至显示模块由其显示输出,进入步骤四;
步骤四信息采集装置获取排队顾客接受服务的信息后,发送信号至中央处理器,中央处理器接到信号后计算接受服务顾客的真实等待时间并将该真实等待时间发送至数据采集块,数据采集模块记录该接受服务顾客的真实等待时间,并由中央处理器控制计算模块重新计算剩余的每一位排队顾客需要等待的时间;
步骤五循环操作步骤二至四,直至一个服务周期结束。这样,提供了一种基于数据挖掘技术的顾客等待时间获取方法,可靠性和实用性高,不仅为顾客提供了准确的排队等待时间,还可以根据顾客接受服务的情况,当有排队顾客出队时自动调整剩余顾客的等待时间,进而使顾客在排队过程中随时获知新的等待时间,避免对顾客等待时间的预测出现误差。
本发明通过以下技术措施来解决技术问题:
上述步骤一中所述生成顾客等待时间表的步骤具体包括:
㈠输入装置将一个历史服务周期内每一个历史顾客的到达时刻,到达时的队长和真实等待时间数据输入数据采集模块,分别记为ti,ni和Δti,并传送至表格生成模块,表格生成模块生成顾客等待时间表格{(ti,ni,Δti)},其中i为正整数;
㈡表格生成模块采用输入的数据对所述顾客等待时间表格进行填充,得到第一周期顾客等待时间表;
㈢重复执行步骤㈠和㈡的操作m-1次,得到对应的第二、第三、第四…第m周期顾客等待时间表,表格生成模块将第一、第二、第三…第m周期顾客等待时间表自然连接,得到基于m个周期的顾客等待时间表。其中m可为10~100。
进一步的,在所述步骤㈡中,表格生成模块对顾客等待时间表进行填充时,对于没有顾客到来的时刻,将该时刻的到达时队长设为上一个顾客到达时刻的到达时队长,等待时间设为上一个顾客到达时刻的等待时间。
上述步骤二中,获取顾客到来信息的步骤为:将到来的顾客信息记为X,且设有顾客到来的状态为1,没有顾客到来的状态为0,中央处理器调信息采集装置采集的顾客到来信息,并根据⑺式对是否有顾客到来进行判断,
X=1 ⑺
若X=1,有顾客到来,数据采集模块记录该顾客的到达时刻和到达时队长,进入步骤三,若X=0,没有顾客到来,操作结束,进入步骤四。
上述步骤三中,获取顾客需要排队等待信息的步骤为:设到来顾客到达时的队长为n,检测模块通过中央处理器从数据采集模块调顾客到达时的队长,并根据⑴式对顾客是否需要排队等待进行判断,
n>0 ⑴
若n>0,顾客需要排队等待,计算模块获取该顾客需要等待的时间并将该预测等待时间传送至显示模块输出显示,若n=0,顾客无需等待,可直接接受服务,操作结束,进入步骤四。
进一步的,所述计算模块获取顾客预测等待时间的具体步骤为:
①设到来顾客的到达时刻为t,计算模块通过中央处理器从数据采集模块调顾客到达时刻并将该顾客的到达时刻与顾客等待时间表中的历史顾客到达时刻相匹配,从顾客等待时间表中找出与该顾客到达时刻相符的数据,得到第一数组{(t,nk,Δtk)},设k=1,2…M,其中M为第一数组的元素个数,其中nk为从顾客等待时间表中找出的其历史到达时刻与t相同的历史顾客到达时队长,Δtk为从顾客等待时间表中找出的其历史到达时刻与t相同的历史顾客等待时间;
②在第一数组中找出符合nk∈[n-x,n+x]条件的数据,得到第二数组{(t,nj,Δtj)},设x=0,且j=1,2…N,其中N为第二数组的元素个数;
③计算模块根据⑵式对是否计算该到来顾客的预测等待时间进行判断,
N≥b ⑵
其中b为预设值,是用于预测该顾客等待时间的历史数据个数,可根据顾客流量以及要求预测的时间准确性而定,由输入装置通过数据采集模块输入至中央处理器,再由计算模块从中央处理器调b值,若N≥b,则进入步骤④,否则,设x=x+1,返回步骤②;
④设到来顾客的预测等待时间为Δtc,计算模块根据⑶式计算该顾客需要等待的时间,
Δtc=∑WjΔtj ⑶
其中,Wj为权重,且Wj=1/N,j=1,...N,Δtj为经过步骤①和②两次筛选后得到的历史顾客等待时间,j=1,...N(N为上述第二数组的元素个数N)。
上述步骤四中,获取排队顾客接受服务信息的步骤包括:将排队顾客信息记为Y,且设有排队顾客接受服务的状态为1,没有排队顾客接受服务的状态为0,中央处理器调信息采集装置采集的排队顾客信息并根据⑷式对是否有排队的顾客接受服务进行判断,
Y=1 ⑷
若Y=1,有排队顾客接受服务,中央处理器根据⑻式计算接受服务顾客的真实等待时间并将该真实等待时间发送至数据采集块,
Δtr=T-t ⑻
其中Δtr为接受服务顾客的真实等待时间,t为接受服务顾客的到达时刻,T为接受服务顾客接受服务的时刻,数据采集模块记录该接受服务顾客的真实等待时间后将该接受服务顾客的到达时刻,到达时队长和真实等待时间传送至表格生成模块,并由计算模块重新计算剩余的排队顾客需要等待的时间,若Y=0,没有排队的顾客接受服务,操作结束,返回步骤二。
进一步的,所述重新计算剩余顾客等待时间的步骤具体包括:
a.设接受服务顾客的队数为n′,计算模块根据⑸式对排队等待的顾客状态进行判断,
n-n′>0 ⑸
其中n、n′为正整数,若n-n′>0,顾客接受服务后当前队伍的队长大于零,有顾客等待服务,进入步骤b,若n-n′=0,此时没有顾客等待服务,操作结束,返回步骤二;
b.将剩余排队顾客的修正等待时间设为Δtf,计算模块根据⑹式对剩余排队顾客的等待时间进行修正,然后返回步骤二,
Δtf=aΔt cf+(1-a)(Δtr-Δtc) ⑹
其中,Δtcf是剩余排队顾客修正前的预测等待时间,a是修正前预测等待时间在修正时的权重,一种简单的取法是a=0.5,另外也可将a赋初值后采用自适应的方法进行调整,Δtr为接受服务顾客的真实等待时间,Δtc为接受服务顾客的预测等待时间,f=1,2,…n-n′。
再进一步的,在所述步骤a前还具有以下步骤:数据采集模块记录接受服务顾客的真实等待时间Δtr,及其到达时刻t和到达时对长n,并传送至表格自动生成模块生成数据(t,n,Δtr)。
更近一步的,还包括步骤六采用一个结束的服务周期的数据对顾客等待时间表进行更新,其具体步骤包括:
c.表格自动生成模块根据一个结束的服务周期内记录每一个顾客的数据(t,n,Δtr)生成新顾客等待时间数组{(ti,ni,Δtri)};
d.对顾客等待时间数组进行填充,并且对于没有顾客到来的时刻,将其到达时队长设为上一个顾客到达时刻的到达时队长,等待时间设为上一个顾客到达时刻的等待时间,得到新一周期顾客等待时间数组;
e.将顾客等待时间表中的第一周期顾客等待时间数组删除,并将新一周期顾客等待时间数组增添到顾客等待时间表的尾部,生成新的顾客等待时间表。
本发明的优点是在顾客到来时能够初步预测顾客的等待时间,并且预测的精确性高,避免出现预测误差,便于顾客合理安排时间,提高了时间利用率,同时能够随时根据顾客排队信息对其等待时间进行修正,避免顾客错过服务机会,降低了空号率,最终提高了服务质量,避免顾客因长时间排队引起的不满或流失问题。
附图说明
图1为本发明的工作流程图。
图2为本发明中获取及修正顾客等待时间的流程图。
图3为本发明中预测顾客等待时间的流程图。
图4为本发明的装置原理图。
具体实施方式
本发明用于排队机的等待时间预测方法,包括下面步骤:步骤一数据采集模块采集由输入装置输入的新到来顾客到达前1~100个历史服务周期(一般一个历史服务周期可设置为一天)内所有历史顾客的到达时刻,到达时的队长和真实等待时间等信息,并传送至表格自动生成模块,由表格自动生成模块生成包含1~100个历史服务周期内每一个历史顾客到达时刻,到达时的队长和真实等待时间等信息的顾客等待时间表,并将顾客等待时间表输送至中央处理器储存;步骤二采用信息采集装置获取顾客到来信息后,发送信号至中央处理器,中央处理器再将到来顾客信息发送至数据采集模块,数据采集模块记录该顾客的到达时刻和到达时的队长,进入步骤三;步骤三采用检测模块获取到来顾客需要排队等待的信息后,发送处理信号至中央处理器,中央处理器根据该处理信号发送信息至计算模块,控制计算模块利用顾客等待时间表预测该顾客的等待时间并将预测等待时间传送至显示模块由其显示输出,并由打印装置打印,进入步骤四;步骤四采用信息采集装置块获取排队顾客接受服务的信息后,发送信号至中央处理器,中央处理器收到信号后计算接受服务顾客的真实等待时间并将真实等待时间发送至数据采集模块,数据采集模块记录该顾客的真实等待时间后将该接受服务顾客的到达时刻,到达时队长和真实等待时间发送至表格自动生成模块,同时中央处理器控制计算模块重新计算剩余的每一位排队顾客需要等待的时间,以对剩余排队顾客的等待时间进行修正;步骤五循环操作步骤二至四,直至一个服务周期结束。
实施例一
如图4所示,本实施例的装置包括输入装置,用于输入顾客到来前若干个历史服务周期内所有历史顾客的到达时刻、到达时队长和真实等待时间信息;信息采集装置,用于采集顾客到达信息和排队顾客接受服务信息;数据采集模块,用于采集到来顾客信息,并记录该顾客到达时刻、到达时队长和真实等待时间;表格自动生成模块,用于统计一个历史服务周期内所有历史顾客到达时刻、到达时队长和真实等待时间,并生成顾客等待时间表;计算模块,用于从顾客等待时间表获取数据并根据所述数据计算到来顾客需要等待的时间;检测模块,用于获取顾客信息并对顾客的状态进行判断;显示模块,用于输出显示计算模块获取的到来顾客预测等待时间;中央处理器,用于接受数据采集模块、表格自动生成模块、信息采集模块、计算模块、检测模块和显示模块发出的信息,对信息进行处理并协调分配各模块的运行工作;还包括与中央处理器连接的打印装置,用于打印到来顾客的序号、到达时间、到达时队长和预测等待时间等信息。
本实施例用于排队机的等待时间预测方法,如图1所示,包括以下三个步骤:S1.采集数据,生成顾客等待时间表;S2.在一个服务周期内,利用顾客等待时间表预测顾客等待时间;S3.一个服务周期结束后,用该周期的数据更新顾客等待时间表。在步骤S1中,数据采集模块通过输入装置输入采集顾客到达前的一个历史服务周期(一般一个周期为一天)内的每一个历史顾客的到达时刻、到达时队长和真实等待时间等历史数据,分别记为ti,ni和Δti,并将历史数据传送至表格自动生成模块,采用表格自动生成模块生成顾客等待时间表格{(ti,ni,Δti)},其中i为正整数,表示一个服务周期内到达的顾客数,又为数组{(ti,ni,Δti)}的元素个数,然后表格自动生成模块采用所统计的历史数据对顾客等待时间表格进行填充,就得到第一周期顾客等待时间表,填充时对于没有顾客到来的时刻,将此时的到达时队长设为上一个顾客的到达时队长,等待时间设为上一个顾客的等待时间,然后重复执行采集统计历史数据、生成并填充顾客等待时间表等步骤49次,得到对应的第二、第三、第四…第49周期顾客等待时间表,将第一、第二、第三…第50周期顾客等待时间表自然连接,最后得到基于50个历史周期的顾客等待时间表。
图2给出了本实施例的步骤S2中获取及修正顾客等待时间的实现流程,其具体的实现如下所述:
首先,要判断是否有顾客到来,具体为将到来的顾客信息标记为X,且设有顾客到来的状态为1,没有顾客到来的状态为0,中央处理器调信息采集装置采集的到来顾客信息,并根据⑺式(即X=1)对是否有顾客到来进行判断,当X=1时,有顾客到来,中央处理器控制数据采集模块记录该顾客的到达时刻t和到达时队长n。其次,获取到来顾客是否需要排队等待的信息,此时检测模块通过中央处理器从数据采集模块调顾客到达时的队长n,并根据⑴式(即n>0)对顾客是否需要排队等待进行判断,当n>0时,顾客需要排队等待,中央处理器控制计算模块计算获取该顾客需要等待的时间△tc并将该预测等待时间△tc传送至显示模块后输出显示,同时中央处理器控制打印机打印该顾客的预测等待时间。然后,获取排队顾客是否接受服务的信息,将排队顾客标记为Y,且设排队顾客接受服务的状态为1,排队顾客没有接受服务的状态为0,中央处理器调信息采集模块采集的排队顾客信息并根据⑷式(即Y=1)对是否有排队的顾客接受服务进行判断,当Y=1时,说明有排队顾客接受了服务,中央处理器根据⑻式(即Δtr=T-t)计算接受服务顾客的真实等待时间Δtr并将该真实等待时间发送至数据采集模块,其中t为接受服务顾客的到达时刻,T为该顾客接受服务的时刻,数据采集模块记录该顾客的真实等待时间Δtr,然后将该顾客的真实等待时间Δtr及其到达时刻t和到达时对长n传送至表格自动生成模块,生成数据(t,n,Δtr)。最后,中央处理器控制计算模块对剩余的排队顾客的预测等待时间Δtc进行修正。修正排队顾客的预测等待时间Δtc时,设接受服务顾客的队数为n′,计算模块通过中央处理器从数据采集模块、信息采集模块分别调n值、n′值并根据⑸式(即n-n′>0)对排队等待的顾客状态进行判断,其中n′为正整数,且n′一般为1,n为截止到顾客接收服务为止数据采集模块记录的当前最后一个到来顾客的到达时队长(即队伍的当前队长),n-n′表示有顾客接受服务后当前队伍的队长,当n-n′>0时,顾客接受服务后当前队伍的队长大于零,有顾客等待服务,将剩余排队顾客修正后的预测等待时间设为Δtf,计算模块根据⑹式{即Δtf=aΔt cf+(1-a)(Δtr-Δtc)}对剩余排队顾客的等待时间进行修正,其中,Δtcf是剩余排队顾客修正前的预测等待时间,a是修正前预测等待时间在修正时的权重,且a=0.5,Δtr为该接受服务顾客的真实等待时间,Δtc为该接受服务顾客的预测等待时间,f=1,2,…n-n′(可为n-1),修正后得到新的等待时间Δtf,返回上面步骤重新判断是否有顾客到来。
其中,预测顾客等待时间△tc的步骤具体为:计算模块调顾客的到达时刻t并将该时刻t与顾客等待时间表中的历史顾客到达时刻ti相匹配,从中找出与该时刻t相符时刻的数据(具体流程为在顾客等待时间表{(ti,ni,Δti)}中找出符合t∈[t-h,t+h]条件的数据,即可得到第一数组{(t,nk,Δtk)},其中h为0~5min),筛选重排后得到符合历史到达时刻与t匹配的第一数组{(t,nk,Δtk)},设k=1,2…M,其中M为正整数,表示为第一数组的元素个数,或{(t,nk,Δtk)}矩阵的行数,其中nk为从顾客等待时间表中找出的其历史到达时刻与t相同的历史顾客到达时队长,Δtk为从顾客等待时间表中找出的其历史到达时刻与t相同的历史顾客等待时间。在第一数组{(t,nk,Δtk)}中找出符合nk∈[n-x,n+x]这一条件的数据后,筛选重排得到第二数组{(t,nj,Δtj)},统计其个数N,设x=0,且j=1,2…N,其中N为第二数组的元素个数,或{(t,nj,Δtj)}矩阵的行数。获得第二数组后,计算模块通过中央处理器从数据采集模块调b值并根据⑵式(即N≥b)对是否计算顾客的预测等待时间进行判断,其中b为预设值,是用于预测等待时间的历史数据个数,可根据顾客流量以及要求预测的时间准确性而定,对时间准确性的要求越高则取值越大,一般b值可通过输入装置输入数据采集模块,此时m=50(即50个历史周期),对于一个等待人数通常在10~30的餐厅,预设值b可取100,当N≥b时,计算模块根据⑶式(即Δtc=∑WjΔtj)计算顾客的预测等待时间△tc,其中,Wj为权重,且Wj=1/N,Δtj为经过两次筛选重排后得到的历史顾客等待时间,j=1,...N,其中N为上述第二数组的元素个数(见图3)。
在步骤S3中,一个服务周期结束后,采用该服务周期的数据对顾客等待时间表进行更新,其具体步骤包括:表格自动生成模块从数据采集模块调上一个结束的服务周期内记录每一个顾客的数据(t,n,Δtr)并根据数据(t,n,Δtr)生成新顾客等待时间数组{(ti,ni,Δtri)},然后表格自动生成模块对顾客等待时间数组进行填充,并且对于没有顾客到来的时刻,将其到达时队长设为上一个顾客到达时刻的到达时队长,等待时间设为上一个顾客到达时刻的等待时间,得到新一周期顾客等待时间数组,最后表格自动生成模块将顾客等待时间表中的第一周期顾客等待时间数组删除,将新一周期的顾客等待时间数组增添到顾客等待时间表的尾部,就生成了新的顾客等待时间表。
实施例二
本实施例提供了一种餐厅用排队机的等待时间预测方法,通过输入装置将前两个历史服务周期(截取前两天的中午11:30~11:45这一时段)内每一个顾客的到达时刻ti、达到时队长ni和真实等待时间Δti等数据输入数据采集模块,并将数据传送至表格自动生成模块,表格自动生成模块先根据要求生成顾客等待时间表格{(ti,ni,Δti)}(i取为正整数),然后采用数据对顾客等待时间表格进行填充,且填充时对于没有顾客到来的时刻,将此时的到达时队长设为上一个顾客的到达时队长,等待时间设为上一个顾客的等待时间,得到一个历史周期的顾客等待时间表,见表1。
表1基于两个时段的顾客等待时间表
序号 |
到达时刻ti |
到达时队长ni |
真实等待时间Δti(min) |
1 |
11::30 |
0 |
0 |
2 |
11::31 |
0 |
0 |
3 |
11:32 |
1 |
5 |
4 |
11:33 |
2 |
7 |
5 |
11:34 |
2 |
7 |
6 |
11:35 |
3 |
8 |
7 |
11:36 |
3 |
8 |
8 |
11:37 |
4 |
7 |
9 |
11:38 |
5 |
8 |
10 |
11:39 |
6 |
10 |
11 |
11:40 |
7 |
10 |
12 |
11:41 |
8 |
13 |
13 |
11:42 |
9 |
15 |
14 |
11:43 |
9 |
15 |
15 |
11:44 |
10 |
18 |
16 |
11:45 |
11 |
23 |
序号 |
到达时刻ti |
到达时队长ni |
真实等待时间Δti(min) |
1 |
11::30 |
1 |
3 |
2 |
11::31 |
1 |
3 |
3 |
11:32 |
2 |
4 |
4 |
11:33 |
3 |
7 |
5 |
11:34 |
4 |
11 |
6 |
11:35 |
4 |
11 |
7 |
11:36 |
5 |
16 |
8 |
11:37 |
6 |
22 |
9 |
11:38 |
7 |
25 |
10 |
11:39 |
7 |
25 |
11 |
11:40 |
8 |
23 |
12 |
11:41 |
8 |
23 |
13 |
11:42 |
9 |
22 |
14 |
11:43 |
9 |
22 |
15 |
11:44 |
9 |
22 |
16 |
11:45 |
10 |
20 |
11:35时,信息采集装置采集到顾客甲到来信息并发送信息至中央处理器,中央处理器根据⑺式(即X=1)判断X=1,有顾客到来,并控制数据采集模块采集记录该到来的顾客甲的到达时刻t(t=11:35)和到达时队长n(n=3)。检测模块通过中央处理器调该顾客甲到达时的队长n并根据⑴式(即n>0)得出n>0,该顾客甲需要排队等待,需对等待时间进行预测。计算模块通过中央处理器调该顾客甲的到达时刻t并将t与顾客等待时间表{(ti,ni,Δti)}中的历史顾客到达时刻ti相匹配,从中找出符合Δti与t相同这一条件的数据,筛选重排后得到第一数组{(t,nk,Δtk)},第一数组见表2,其中k=1,2。然后在第一数组{(t,nk,Δtk)}中找出符合nk∈[n-x,n+x]这一条件的数据(设x=0,即nk=3),筛选重排得到第二数组{(t,nj,Δtj)},第二数组见表3,统计数组中元素个数N,得到j=1(N取为1)。
表2第一数组
序号 |
到达时刻t |
到达时队长nk |
真实等待时间Δtk(min) |
1 |
11::35 |
3 |
8 |
2 |
11::35 |
4 |
11 |
表3第二数组
序号 |
到达时刻t |
到达时队长nj |
真实等待时间Δtj(min) |
1 |
11::35 |
3 |
8 |
然后中央处理器控制计算模块从数据采集模块调b值(2个历史周期条件下,对于一个等待队数通常在5~13的餐厅,预设值b可取1)并根据⑵式(即N≥b)判断是否计算顾客甲的预测等待时间,此时N=b,计算模块再根据⑶式(即Δtc=∑WjΔtj)计算顾客甲的预测等待时间△tc,即△tc=1×8=8min。中央处理器控制计算模块将该预测等待时间△tc传送至显示模块输出显示,同时中央处理器还控制打印装置打印该顾客的预测等待时间。同理,11:38有另一顾客乙到来,此时该顾客乙的到达时队长为4,预测等待时间为11min。
11:42,顾客甲接受服务,信息采集装置采集该顾客甲接受服务信息并发送至中央处理器,中央处理器根据⑷式(Y=1)确定有排队客户接受了服务Y=1,并根据⑻式(Δtr=T-t)确定顾客甲的真实等待时间为7min,中央处理器将顾客甲的真实等待时间发送至至数据采集模块,数据采集模块记录顾客甲的真实等待时间,然后将顾客甲的真实等待时间及其到达时刻t和到达时对长n传送至表格自动生成模块,生成数据(11:35,3,7)。顾客甲的数据生成后,中央处理器控制计算模块对剩余的排队顾客(例如顾客乙)的预测等待时间Δtc进行修正。修正顾客乙的预测等待时间Δtc时,计算模块通过中央处理器n、n′值并根据⑸式(即n-n′>0)判断顾客排队状态,其中n′至少为2,即至少还有一个顾客乙等待服务,计算模块根据⑹式{即Δtf=aΔt cf+(1-a)(Δtr-Δtc)}对剩余排队顾客乙的等待时间Δtf进行修正,其中,Δtcf是顾客乙修正前的预测等待时间(取11min),a=0.5,Δtr为顾客甲的真实等待时间(取7min),Δtc为顾客甲的预测等待时间(取8min),修正后得到新的等待时间Δtf为5min。
实施例三
本实施例与实施例一的不同之处在于,数据采集模块采集10个服务周期的历史数据后,由表格自动生成模块生成基于10个历史服务周期的顾客等待时间表。顾客等待时间表生成后,中央处理器根据⑺式(X=1)检测顾客是否到来,当X=0时,说明没有顾客到来,这一步的操作结束,再由中央处理器根据⑷式(Y=1)判断是否有排队的顾客接受服务,当Y=0时,没有排队的顾客接受服务,这一步操作结束,返回重新检测是否有顾客到来。
实施例四
本实施例与实施例一的不同之处在于:数据采集模块采集25个服务周期的历史数据后,由表格自动生成模块生成基于25个历史服务周期的顾客等待时间表。在步骤S2中,检测模块可以根据⑴式(n>0)判断到来的顾客是否需要排队等待,当n=0时,顾客无需等待,可直接接受服务,这一步操作结束,因为有顾客接受了服务,数据采集模块记录该顾客的真实等待时间Δtr,及其到达时刻t和到达时对长n,生成数据(t,n,Δtr)。
实施例五
本实施例与实施例一的不同之处在于:数据采集模块采集100个服务周期的历史数据后,由表格自动生成模块生成基于100个历史服务周期的顾客等待时间表。在预测顾客等待时间Δtc时,计算模块可以根据⑵式(N≥b)判断是否需要计算顾客的等待时间,此时m=100(100个历史周期),对于一个等待人数通常在10~30的餐厅,预设值b可取200,当N<b时,设x=x+1,j=j+1,返回上一步在第一数组{(t,nk,Δtk)}中找出nk∈[n-x,n+x]条件的数据,筛选重排得到第二数组{(t,nj,Δtj)},统计其个数N,其中j=1,2…N,然后再由计算模块根据⑵式重复判断,直至N≥b后预测顾客等待时间Δtc。
实施例六
本实施例与实施例一的不同之处在于:数据采集模块采集75个服务周期的历史数据后,由表格自动生成模块生成基于75个历史服务周期的顾客等待时间表。在修正顾客的等待时间时,计算模块根据⑸式(n-n′>0)判断排队等待的顾客状态,当n-n′=0时,没有顾客等待服务,这一步操作结束,返回重新检测是否有顾客到来。