排队叫号python编程_一种自主选时排队叫号算法

一种自主选时排队叫号算法

【专利摘要】本发明涉及一种自主选时排队叫号算法,根据营业场所特定时间的接待能力和预约顾客与非预约顾客的比例,提供全新的叫号算法来解决顾客在所选时间段内来办理业务的叫号次序。

【专利说明】一种自主选时排队叫号算法

【技术领域】

[0001]本发明涉及一种自主选时排队叫号算法。

【背景技术】

[0002]针对需要长时间排队的场所,现有的发明专利报道了如“一种自主选时排队机及排队方法”(CN201210177187.3),以减少顾客现场排队等待的时间,减少营业场所现场排队的人数。即“通过对时间段的安排,在无形中将人群分组,以达到对空间和时间的合理分配。

[0003]但是由于其排队逻辑与传统排队机有着较大的差别,不能完全按照传统排队机给出的流水号按顺序依次进行叫号,所以需要提供一套全新的叫号算法,解决顾客在所选时间段内来办理业务的叫号次序问题。该算法的设计原则需要既能够提高叫号的效率,又体现排队的公平。

【发明内容】

[0004]本发明提供一种自主选时排队叫号算法,顾客在自己所选的时间段前往特定的营业场所,即可办理所需业务,并且该算法能够同时处理预约顾客和非预约顾客,达到为所有顾客节约时间成本的效果。

[0005]本发明所述的自主选时排队叫号算法包括如下步骤,

[0006](I)将特定营业场所营业时间段的划分为若干时间段,并通过统计分析计算相应单位时间段的顾客接待最大量X ;

[0007](2)预约特定时间段的顾客可以通过排队机现场选择时间段,或通过互联网、手机等远程手段选择时间段,根据预约顾客和非预约顾客的比例,匹配预设的叫号规则,对顾客的业务办理次序进行排序。

[0008](3)顾客在规定的截止时间前到现场认为预约信息有效,否则视为无效,需要重新预约。

[0009]如果在某一时间段内业务办理时间有延迟或是业务提前办完,则顺延调整下一个时间段时间安排。

[0010]如果营业场所现场排队机有叫号系统,可以通过扫描顾客预约小票的二维码、输入手机预约码等方式判断顾客到现场办理业务的时间,叫号系统按照顾客实际到来的次序叫号。

[0011]如果营业场所现场排队机没有叫号系统,可以通过现场工作人员收取顾客的预约小票,按照顾客的实际到来次序叫号。

[0012]根据所述的预约客户和非预约客户的比例,匹配预设叫号规则分为如下四种,

[0013]规则一、所有顾客都是预约客户,且单独叫号(即每次只叫一个排队序号),系统提示顾客预约时间段结束的时间点为到达营业场所的截止时间,则按照这X位顾客实际到来的次序进行叫号。

[0014]例如,X= 10,预约时间顺序为:X1/X2/X3/X4/X5/X6/X7/X8/X9/X10

[0015]实际到现场办理业务时间顺序为:X2/X5/X1/X4/X7/X8/X3/X9/X10/X6,

[0016]则叫号次序为:X2/X5/X1/X4/X7/X8/X3/X9/X10/X6。

[0017]如果在本时间段内预约的号提前被叫完,则将下一时间段内的顾客按照实际到来顺序在本时间段内提前叫;

[0018]例如预约时间顺序为图1所示:

[0019]在9:00-9:30这个时间段内实际到现场的顾客顺序为:X2X4X3X5X1Y3Y2Y1

[0020]而在9:00-9:30这个时间段内预约的X组顾客已经提前叫完。

[0021]则继续叫:Υ3Υ2Υ1。

[0022]如果在某个时间段内预约的人实际到来的时间不连续出现空挡,则把下一个时段实际到来的顾客插入到空余时间段内提前叫号。

[0023]例如图2所示情况:

[0024]为了减少顾客预约后不到现场造成的时间浪费,可以在营业场所某一时间段内最大接待能力的基础上再增加几个人。

[0025]为了减少出现空挡的情况,系统对顾客办理业务的提示时间可以提前一些。

[0026]此种叫号规则的好处是提高了叫号的效率,如果顾客预约后没有到现场办理业务,则不会被叫号,减少了叫空号的时间浪费;另外体现了排队的公平性,即谁先到就先叫谁。

[0027]匹配此种规则的叫号算法适用于银行营业网点、医院候诊室、政府服务机构、餐饮店面等需要单独叫号的场所。

[0028]规则二、所有顾客都使用了按时间段预约的模式,且批量叫号(即每次叫一批号),

[0029]假设X = 5,某营业场所按30分钟划分为一个时间段,其叫号算法如下图3所示:

[0030]排队系统提示组I的5位顾客(Χ1Χ2Χ3Χ4Χ5)在9:00前到现场办理业务,顾客按时到达现场后,系统批量叫这一组人(组I)同时办理业务。

[0031]由于是批量叫号,系统提示预约顾客这个时间段开头的时间点为到达营业场所的截止时间。

[0032]如果在本时间段内的分组中有空余的位置,可以安排后面时段已经前来排队的人加入进去。

[0033]匹配此种规则的叫号算法适用于在某个时间段内需要批量叫号的场所。例如大型游乐场热门项目、医院检查科室、旅游景点、大型展会等营业场所。

[0034]规则三、只有部分顾客都使用了按时间段预约的模式,且单独叫号(即每次只叫一个排队序号)

[0035]营业场所在某一时间段内只能预约Υ(Υ〈Χ)位顾客,预约顾客按照时间段进行预约,非预约顾客现场依次取号,不划分时间段。

[0036]系统提示顾客预约时间段结束的时间点为到达营业场所的截止时间,

[0037]例如,Χ>5且Y = 5时,如图4所示

[0038]按照顾客实际到来的顺序叫号,第一时间段内,预约的顾客优先。非预约顾客按照排号次序随后依次叫号。第二时间段则先叫第二时间段的预约顾客,叫号规则同上。

[0039]如特定时间段内预约的顾客没有连续的到来,则在空余时间将非预约顾客插入并按顺序叫号。

[0040]此种规则与规则一相比其优点在于:营业场所不需要准确估计某一个时间段内可以最多接待的人数,有一定的调整空间和灵活性;不需要要求每位顾客都使用这种自主选时的排队算法;适合初次使用自主选时排队算法的营业场所。

[0041]匹配此种规则的叫号算法适用于银行营业网点、医院候诊室、政府服务机构、餐饮店面等需要单独叫号的场所。

[0042]规则四、只有部分顾客使用了按时间段预约的模式,且批量叫号(即每次叫一批号)

[0043]营业场所某一时间段内只能预约Y(Y〈X)位顾客,其余Z(Z = X-Y)位顾客按照现场排队次序依次选取。

[0044]例如-X= 10且Y = 5时,如图5所示

[0045]系统提示Χ1Χ2Χ3Χ4Χ5这5位顾客在9:00前到现场办理业务,顾客按时到达现场后,将这5位预约的顾客及非预约顾客中排在前5位的顾客分为一组(即Χ1Χ2Χ3Χ4Χ5Ζ1Ζ2Ζ3Ζ4Ζ5),系统批量叫这一组10个人同时办理业务。

[0046]由于是批量叫号,系统提示预约顾客这个时间段开头的时间点为到达营业场所的截止时间。

[0047]如果在本时间段内的分组中有空余的位置,可以安排后面时段已经前来排队的非预约客户加入进去。

[0048]此种规则与规则二相比其优点在于:营业场所不需要准确估计某一个时间段内可以最多接待的人数,有一定的调整空间和灵活性;不需要要求每位顾客都使用这种自主选时的排队算法,适合初次使用自主选时排队算法的营业场所。

[0049]匹配此种规则的叫号算法适用于在某个时间段内需要批量叫号的场所。例如大型游乐场热门项目、医院检查科室、旅游景点、大型展会等营业场所。

【专利附图】

【附图说明】

[0050]图1.叫号规则一预约时间示意图。

[0051]图2.叫号规则一中,如预约的人实际到来的时间不连续出现空挡时,下一个时段实际到来的顾客插入到空余时间段内提前叫号的处理范例示意图。

[0052]图3.叫号规则二预约时间示意图。

[0053]图4.叫号规则三排列示意图。

[0054]图5.叫号规则四排列示意图。

【权利要求】

1.一种自主选时排队叫号算法,包括如下步骤, (1)将特定营业场所营业时间段的划分为若干时间段,并通过统计分析计算相应单位时间段的顾客接待最大量X ; (2)预约特定时间段的顾客可以通过排队机现场选择时间段,或通过互联网、手机等远程手段选择时间段,根据预约顾客和非预约顾客的比例,匹配预设的叫号规则,对顾客的业务办理次序进行排序; (3)顾客在规定的截止时间前到现场,则预约信息有效,否则需要顾客重新预约。

2.根据权利要求1所述的自主选时排队叫号算法,其特征在于, 步骤(2)所述的预设叫号规则分为如下四种, 规则一, ①所有顾客都是预约客户,且单独叫号, ②系统提示顾客预约时间段结束的时间点为到达营业场所的截止时间, ③系统按照X位顾客实际到达的次序进行叫号; 规则二, ①所有顾客都是预约客户,且批量叫号, ②系统提示顾客预约时间段开头的时间点为到达营业场所的截止时间, ③系统将预约的X位顾客分为一组,在特定时间段按组名叫号,组内顾客在特定时间内同时办理业务;规则三, ①部分顾客都使用了按时间段预约的模式,且单独叫号, ②在某一时间段内只能预约Y(Y〈X)位顾客,预约顾客按照时间段进行预约,非预约顾客现场依次取号,不划分时间段, ③系统提示顾客预约时间段结束的时间点为到达营业场所的截止时间, ④按照顾客实际到来的顺序叫号,特定时间段内,预约的顾客优先,非预约顾客按照排号次序随后依次叫号; 规则四, ①只有部分顾客使用了按时间段预约的模式,且批量叫号, ②在某一时间段内只能预约Y(Y〈x)位顾客,其余z(z= X-Y)位顾客按照现场排队次序依次选取, ③系统提示顾客预约时间段开头的时间点为到达营业场所的截止时间, ④系统将Y位预约顾客及Z位非预约顾客(X= Υ+Ζ)分为一组,在特定时间段按组名叫号,组内顾客在特定时间内同时办理业务。

3.根据权利要求2所述的自主选时排队叫号算法,其特征在于,所述规则一还包括, ④如本时间段内预约号提前叫完,则将下一时间段内的顾客按照实际到达顺序在本时间段内提前叫号, 或⑤如本时间段内预约顾客实际到达的时间不连续出现空余时间段,则把下一个时段实际到来的顾客按实际到达顺序插入所述空余时间段内提前叫号。

4.根据权利要求2所述的自主选时排队叫号算法,其特征在于,所述规则二还包括, ④如本时间段内的分组中有空余的位置,则安排后面时段已经到达的顾客加入本组。

5.根据权利要求2所述的自主选时排队叫号算法,其特征在于,所述规则三还包括, ⑤如特定时间段内预约的顾客没有连续的到来,则在空余时间将非预约顾客插入并按顺序叫号。

6.根据权利要求2所述的自主选时排队叫号算法,其特征在于,所述规则四还包括, ⑤如果在本时间段内的分组中有空余的位置,可以安排后面时段已经到达的非预约客户加入本组。

7.根据权利要求1-6任一所述的自主选时排队叫号算法,其特征在于,如果在某一时间段内业务办理时间有延迟或是提前办理完,则顺延调整下一个时间段时间安排。

【文档编号】G07C11/00GK104464069SQ201410603254

【公开日】2015年3月25日 申请日期:2014年11月2日 优先权日:2014年11月2日

【发明者】李光磊 申请人:李光磊

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的排队系统的 Python 编程示例: ```python # 定义一个队列来存储等待叫的人 queue = [] # 定义一个计数器,用来生成叫 counter = 1 # 进入排队循环 while True: # 打印出当前叫的最大编 print("当前叫:", counter) # 提示用户输入命令 cmd = input("请输入命令('q'代表退出,'n'代表下一位):") # 如果用户输入了 'q',则退出排队循环 if cmd == 'q': print("退出排队系统") break # 如果用户输入了 'n',则尝试叫下一位 if cmd == 'n': # 如果队列为空,打印提示信息 if len(queue) == 0: print("当前队列为空,无法叫") else: # 取出队列中的第一位,并打印出叫信息 name = queue.pop(0) print("请 %s 前往 %d 窗口办理业务" % (name, counter)) counter += 1 # 如果用户输入了其他命令,则将其作为名字加入队列 else: queue.append(cmd) print("%s 已加入排队队列,当前队列长度为 %d" % (cmd, len(queue))) ``` 这段代码实现了一个简单的排队系统,其中: - `queue` 变量是一个列表,用来存储等待叫的人的名字。 - `counter` 变量是一个计数器,用来生成叫。 - 程序进入一个无限循环,每次循环会打印出当前的叫,并提示用户输入命令。 - 如果用户输入了 'q',则退出排队循环。 - 如果用户输入了 'n',则尝试叫下一位。如果队列为空,则打印提示信息;否则,取出队列中的第一位,并打印出叫信息。 - 如果用户输入了其他命令,则将其作为名字加入队列,并打印提示信息。 你可以根据实际需求进行修改和扩展,例如增加多个窗口、排队等待时间等功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值