CN114067483B - 智能排队叫号方法、装置、电子设备及介质 - Google Patents

智能排队叫号方法、装置、电子设备及介质 Download PDF

Info

Publication number
CN114067483B
CN114067483B CN202111398903.6A CN202111398903A CN114067483B CN 114067483 B CN114067483 B CN 114067483B CN 202111398903 A CN202111398903 A CN 202111398903A CN 114067483 B CN114067483 B CN 114067483B
Authority
CN
China
Prior art keywords
window
pheromone
client
time
jth
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111398903.6A
Other languages
English (en)
Other versions
CN114067483A (zh
Inventor
裴云曼
李文利
杜青
任雁飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202111398903.6A priority Critical patent/CN114067483B/zh
Publication of CN114067483A publication Critical patent/CN114067483A/zh
Application granted granted Critical
Publication of CN114067483B publication Critical patent/CN114067483B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C11/00Arrangements, systems or apparatus for checking, e.g. the occurrence of a condition, not provided for elsewhere
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C11/00Arrangements, systems or apparatus for checking, e.g. the occurrence of a condition, not provided for elsewhere
    • G07C2011/04Arrangements, systems or apparatus for checking, e.g. the occurrence of a condition, not provided for elsewhere related to queuing systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开提供一种智能排队叫号方法,涉及人工智能技术领域。该方法包括:S1,预设包含m位客户和n个窗口的排队叫号模型,根据排队叫号模型,初始化信息素矩阵、最优路径规则和蚂蚁总数;S2,使用蚁群优化算法进行循环迭代,判断当前迭代次数是否小于预设的最大迭代次数,如果是,则进行步骤S3~S5;否则结束蚁群迭代;S3,在当前迭代次数下,计算第k只蚂蚁为第i位客户选择第j个窗口的转移概率;S4,根据转移概率,将第i位客户与第j个窗口进行配对执行,更新第j个窗口的消耗状态;S5,重复步骤S3~S4直至所有蚂蚁均完成客户与窗口的配对,更新信息素矩阵。本公开还提供一种智能排队叫号装置、设备、存储介质和程序产品。

Description

智能排队叫号方法、装置、电子设备及介质
技术领域
本公开涉及人工智能技术领域,具体涉及一种智能排队叫号方法、装置、电子设备及介质。
背景技术
在当前数字化,智能化为特征的第四次工业革命的背景下,银行网点向智慧化、高效化、开放化发展,柜面业务逐渐被电子化所替代,但是网点作为与客户提供直接服务的唯一渠道,对厅堂及服务窗口的要求越来越高。在竞争激烈的市场环节下,服务质量逐渐成为竞争的核心要素。
目前,国内排队叫号系统沿用多年,窗口的数量和服务方式不完善,算法简单,需要大堂经理人工调整。由此,如何寻求一个高效、适当的排队叫号算法或策略,以提高服务效率,减少等待时间,提升客户体验等成为热点问题。
发明内容
针对现有技术的上述不足,本公开提供一种智能排队叫号方法、装置、电子设备及介质。
根据本公开的第一个方面,提供了一种智能排队叫号方法,包括以下步骤:S1,预设包含m位客户和n个窗口的排队叫号模型,根据排队叫号模型,初始化信息素矩阵、最优路径规则和蚂蚁总数a;S2,使用蚁群优化算法进行循环迭代,判断当前迭代次数是否小于预设的最大迭代次数,如果是,则进行步骤S3~S5;否则,结束蚁群迭代,根据最优路径规则输出最优的客户与窗口选择结果;S3,在当前迭代次数下,计算第k只蚂蚁为第i位客户选择第j个窗口的转移概率1≤k≤a,1≤i≤m,1≤j≤n;S4,根据转移概率/>将第i位客户与第j个窗口进行配对执行,更新第j个窗口的消耗状态;S5,重复步骤S3~S4直至所有蚂蚁均完成客户与窗口的配对,更新信息素矩阵。
根据本公开的实施例,排队叫号模型还包括预设以下参数中的至少一种:每位客户在每个窗口停留服务时间、每位客户在所有窗口的总等待时间、每位客户的排队忍耐时间、每位客户在每个窗口上的业务办理时间和每个窗口的业务办理总时长。
根据本公开的实施例,信息素矩阵初始化为m行n列的二维数组,并且二维数组中的各项元素赋值为0.1。
根据本公开的实施例,最优路径规则包括:计算并比较各个蚂蚁所走路径上对应信息素矩阵的信息素浓度总和;根据信息素浓度总和最大值对应的蚂蚁所走路径,确定最优的客户与窗口选择结果。
根据本公开的实施例,转移概率根据以下公式计算得出:
其中,τij(t)表示在t时刻第i位客户在第j个窗口上执行的信息素浓度;ηij(t)表示在t时刻第i位客户选择第j个窗口执行的启发式因子;α表示预设的信息素启发式因子;β表示预设的可见度因子;allowedk表示第k只蚂蚁尚未选择过的窗口序号集合。
根据本公开的实施例,在t时刻第i位客户选择第j个窗口执行的启发式因子ηij(t)根据以下公式计算得出:
其中,waiti表示第i位客户在所有窗口的总等待时间;toltimei表示第i位客户的排队忍耐时间;costj(t)表示在t时刻之前第j个窗口的业务办理总时长;exeij表示第i位客户在第j个窗口上的业务办理时间。
根据本公开的实施例,步骤S3之后,还包括:更新禁忌表和可搜索列表,禁忌表表征第k只蚂蚁已经访问过的窗口序号集合,可搜索列表表征第k只蚂蚁尚未选择过的窗口序号集合。
根据本公开的实施例,根据以下公式更新第j个窗口的消耗状态:
costj(t)=costj(t-1)+exeij
其中,costj(t)表示在t时刻,第j个窗口累积的业务办理总时长;costj(t-1)表示在紧邻t时刻的前一时刻,第j个窗口累积的业务办理总时长;exeij表示第i位客户在第j个窗口上执行的业务办理时间。
根据本公开的实施例,根据以下公式更新信息素矩阵:
其中,τij(t)表示在t时刻,第i位客户在第j个窗口上执行的信息素浓度;τij(t-1)表示在紧邻t时刻的前一时刻,第j个窗口上的信息素浓度;ρ表示预设的信息素挥发因子;g表示当前迭代次数;表示与当前迭代次数成正比的函数;/>表示第k只蚂蚁在第i位客户与第j个窗口配对后释放的信息素浓度;τmax表示预设的信息素浓度阈值。
根据本公开的实施例,函数根据以下公式计算得出:
其中,c表示常量,取值为正整数。
根据本公开的实施例,释放的信息素根据以下公式计算得出:
其中,O为信息素增量常数,表示每只蚂蚁释放信息素的强弱程度;表示预设的第j个窗口的业务办理总时长最大值。
本公开的第二方面提供了一种智能排队叫号装置,包括:模型初始化模块,用于预设包含m位客户和n个窗口的排队叫号模型,根据排队叫号模型,初始化信息素矩阵、最优路径规则和蚂蚁总数a;循环迭代模块,用于使用蚁群优化算法进行循环迭代,判断当前迭代次数是否小于预设的最大迭代次数,如果是,则进行概率计算模块、配对执行模块和矩阵更新模块的操作;否则,结束蚁群迭代,根据最优路径规则输出最优的客户与窗口选择结果;概率计算模块,用于在当前迭代次数下,计算第k只蚂蚁为第i位客户选择第j个窗口的转移概率1≤k≤a,1≤i≤m,1≤j≤n;配对执行模块,用于根据转移概率/>将第i位客户与第j个窗口进行配对执行,更新第j个窗口的消耗状态;矩阵更新模块,用于重复概率计算模块和配对执行模块的操作直至所有蚂蚁均完成客户与窗口的配对,更新信息素矩阵。
本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述智能排队叫号方法。
本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述智能排队叫号方法。
本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述智能排队叫号方法。
与现有技术相比,本公开提供的智能排队叫号方法、装置、电子设备及介质,至少具有以下有益效果:
本公开提出了一种基于客户体验与窗口状态的自适应蚁群优化算法,该蚁群优化算法利用窗口的状态及客户等待容忍度来修正启发式因子和释放信息素浓度,并以自适应的方式进行信息量的更新,避免早熟和局部收敛,提高全局搜素能力。该蚁群优化算法在客户队列完成时间、窗口资源利用率等方面均有良好表现,有效减少客户在窗口下的等待时间,提高服务效率,提升客户体验。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的智能排队叫号方法及装置的系统架构;
图2示意性示出了根据本公开实施例的智能排队叫号方法的流程图;
图3示意性示出了根据本公开实施例的智能排队叫号方法的操作流程图;
图4示意性示出了根据本公开实施例的设置最优路径规则的流程图;
图5示意性示出了根据本公开实施例的智能排队叫号装置的框图;
图6示意性示出了根据本公开实施例的适于实现智能排队叫号方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
本公开的实施例提供一种智能排队叫号方法、装置、设备、存储介质和程序产品,涉及人工智能技术领域。该方法包括以下步骤:S1,预设包含m位客户和n个窗口的排队叫号模型,根据排队叫号模型,初始化信息素矩阵、最优路径规则和蚂蚁总数a;S2,使用蚁群优化算法进行循环迭代,判断当前迭代次数是否小于预设的最大迭代次数,如果是,则进行步骤S3~S5;否则,结束蚁群迭代,根据最优路径规则输出最优的客户与窗口选择结果;S3,在当前迭代次数下,计算第k只蚂蚁为第i位客户选择第j个窗口的转移概率1≤k≤a,1≤i≤m,1≤j≤n;S4,根据转移概率/>将第i位客户与第j个窗口进行配对执行,更新第j个窗口的消耗状态;S5,重复步骤S3~S4直至所有蚂蚁均完成客户与窗口的配对,更新信息素矩阵。
在详细描述本公开的具体实施例之前,首先对蚁群优化算法的工作原理进行阐释,以便于更好地理解本公开。
蚁群优化算法是基于蚂蚁寻求最优路径的过程中所表现的共同行为来实现的。蚂蚁在外出寻找食物的路程中,在遇到一些新的路口,会随机的进行选择,会在选择的路径上释放一定量的信息素。路径越短信息素的量就越大,这表示该路径是最优的;而路径较较长时,那么信息素的量就减少。随着时间的推移,短路径的信息素不断地增加,长路径上的信息素不断挥发减少甚至消失。当后面的蚂蚁来到该路口时,就不在随机的选择下一路径,而是根据以前蚂蚁留下的信息素选择。通过这样不断的正反馈过程,蚁穴到食物源之间的最优路径最终被找出来了。
具体来说,一开始,对于一个新的食物源,蚂蚁还没有信息素的指导,它们会开展完全随机的路径搜索,即所有路径都有相同的概率被搜索到,即有着相同的初始信息素。接着,对于某一只蚂蚁,它会根据路径上的信息素浓度以及启发信息得到一定概率,并依次概率大小从当前站点走到下一个站点,即对路径进行选择。
图1示意性示出了根据本公开实施例的适于智能排队叫号方法及装置的系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本公开实施例所提供的智能排队叫号方法一般可以由服务器105执行。相应地,本公开实施例所提供的智能排队叫号装置一般可以设置于服务器105中。本公开实施例所提供的智能排队叫号方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的智能排队叫号装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
例如,本公开实施例的包含m位客户和n个窗口的排队叫号模型,以及信息素矩阵、最优路径规则和蚂蚁总数a的初始化信息这些数据均可以存储在终端设备101、102、103中,通过终端设备101、102、103将这些模型和数据发送至服务器105中,服务器105可以处理这些模型和数据,以输出最优的客户与窗口选择结果。另外,这些模型和数据还可以由服务器105接收并直接存储在服务器105中,由服务器105直接处理这些模型和数据,以输出最优的客户与窗口选择结果。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示意性示出了根据本公开实施例的智能排队叫号方法的流程图。图3示意性示出了根据本公开实施例的智能排队叫号方法的操作流程图。
结合图2~图3,该实施例的智能排队叫号方法可以包括操作S1~操作S5。
在操作S1,预设包含m位客户和n个窗口的排队叫号模型,根据排队叫号模型,初始化信息素矩阵、最优路径规则和蚂蚁总数a。
在操作S2,使用蚁群优化算法进行循环迭代,判断当前迭代次数是否小于预设的最大迭代次数,如果是,则进行步骤S3~S5;否则,结束蚁群迭代,根据最优路径规则输出最优的客户与窗口选择结果。
在操作S3,在当前迭代次数下,计算第k只蚂蚁为第i位客户选择第j个窗口的转移概率1≤k≤a,1≤i≤m,1≤j≤n。
在操作S4,根据转移概率将第i位客户与第j个窗口进行配对执行,更新第j个窗口的消耗状态。
在操作S5,重复步骤S3~S4直至所有蚂蚁均完成客户与窗口的配对,更新信息素矩阵。
通过本公开的实施例,通过对排队叫号模型的分析,提出一种基于客户体验与窗口状态的自适应蚁群优化算法,,可以输出最佳的客户与窗口选择结果,有效减少客户在窗口下的等待时间,提高服务效率,提升客户体验。
为了贴近实际的排队叫号场景,本实施例提供的排队叫号模型,还可以包括预设以下参数中的至少一种:每位客户在每个窗口停留服务时间、每位客户在所有窗口的总等待时间、每位客户的排队忍耐时间、每位客户在每个窗口上的业务办理时间和每个窗口的业务办理总时长。
具体地,排队叫号模型的形式化描述为:假设厅堂有m位客户,有n个可服务所有客户的综合性窗口,则可将客户集表示为C={C1,C2,…,Cm},窗口集表示为W={w1,w2,…,Wn}。
然后,每位客户在每个窗口停留服务时间可表示为Time={time1,time2,…,timem};每位客户在所有窗口的总等待时间可表示为Wait={wait1,wait2,…,waitm{;每位客户的排队忍耐时间可表示为Toltime={toltime1,toltime2,…,toltimem};每位客户在每个窗口上的业务办理时间可表示为exeij=ci/wj;每个窗口的业务办理总时长可表示为Cost={cost1,cost2,…,costm}。
可以理解的是,每位客户在每个窗口停留服务时间指的是m位客户分别在n个窗口办理业务的时间。exeij表示第i位客户在第j个窗口上的办理业务时间,与客户所要办理的业务类型以及柜员办理业务的效率有关。每个窗口的业务办理总时长指的是每个窗口的累积占用时间。
本公开实施例中,信息素矩阵初始化为m行n列的二维数组,并且二维数组中的各项元素赋值为0.1。
例如,信息素矩阵可以用pheromone[m][n]来表示,下表1给出了信息素矩阵pheromone[m][n]的初始化设置,矩阵中的各项元素均设置为0.1。
表1信息素矩阵的初始化设置
由于初始时刻,蚂蚁还没有信息素的指导,它们会开展完全随机的路径搜索,即所有路径都有相同的概率被搜索到,即有着相同的初始信息素。因此,本实施例可以统一初始化信息素矩阵,将矩阵中的各项元素均设置为0.1。在后续的每一次迭代的过程中会更新信息素矩阵pheromone[m][n]中的某些项信息素浓度。
需要说明的是,蚁群优化算法的具体实现中还包括初始化每个窗口的当前占用时间,初始化允许访问的客户列表,释放信息素浓度,随机选择一个窗口以及随机选择一个客户,更新窗口的消耗,客户列表中减少客户等操作,这是具体的代码实现,可以根据实际需要进行设置,具体本实施例不作赘述。
上述操作S1还可以包括随机选择蚁群的起始位置与目标位置,在起始位置与目标位置设置好后,整个蚁群从初始位置自由移动至目标位置即完成一次循环迭代。经过预设的最大迭代次数的迭代后,搜索到最优路径。
上述操作S2中,由于在整个蚁群算法中,一般要经过多次迭代,每一次迭代都会产生当前的最优分配策略,也就是局部最优解。迭代的次数越多,局部的最优解就会越接近全局的最优解。但是,迭代次数过多会造成性能下降。为避免此情况,将迭代次数设置为限定值,也即预设的最大迭代次数,在迭代这么多次后,就把当前的局部最优解当作全局最优解,也即结束蚁群迭代,根据最优路径规则输出最优的客户与窗口选择结果。
另外,图3中的任务表为空,是指当前蚂蚁已经将m位客户的所有客户与相应的窗口进行配对。并且,在单次迭代过程中,还需要保证a只蚂蚁中的每只蚂蚁均完成客户与窗口的配对。
图4示意性示出了根据本公开实施例的设置最优路径规则的流程图。
如图4所示,本公开实施例中,最优路径规则可以包括操作S410~操作S420。
在操作S410,计算并比较各个蚂蚁所走路径上对应信息素矩阵的信息素浓度总和。
在操作S420,根据信息素浓度总和最大值对应的蚂蚁所走路径,确定最优的客户与窗口选择结果。
需要说明的是,本实施例根据客户需要或者关注的各个窗口的业务办理总时长来进行最优的客户与窗口选择结果输出,在其他实施例中,可以根据窗口总的占用时间,客户最大等待时间,以及平均等待时间等因素来输出最优的客户与窗口选择结果,具体本发明不做限制。
本公开实施例中,转移概率根据以下公式计算得出:
其中,τij(t)表示在t时刻第i位客户在第j个窗口上执行的信息素浓度;ηij(t)表示在t时刻第i位客户选择第j个窗口执行的启发式因子;α表示预设的信息素启发式因子;β表示预设的可见度因子;allowedk表示第k只蚂蚁尚未选择过的窗口序号集合。
在蚁群优化算法中,信息素启发式因子α也表示信息的重要程度,α值越大,蚂蚁选择之前走过的路径的可能性就越大,搜索路径的随机性减弱;α值越小,蚁群搜索范围会减少,容易陷入局部最优。通常地,α的取值范围在[0,5],优选地,α可以取值1.0。
可见度因子β也表示期望的启发因子,也即启发信息的受重视程度。β值越大,蚁群就越容易选择局部较短路径,这时收敛速度加快,但是随机性却不高,容易得到局部的相对最优。通常地,β的取值范围在[0,5],优选地,β可以取值5.0。
本公开实施例中,在t时刻第i位客户选择第j个窗口执行的启发式因子ηij(t)根据以下公式计算得出:
其中,waiti表示第i位客户在所有窗口的总等待时间;toltimei表示第i位客户的排队忍耐时间;costj(t)表示在t时刻之前第j个窗口的业务办理总时长;exeij表示第i位客户在第j个窗口上的业务办理时间。
本公开实施例中,步骤S3之后,还包括:更新禁忌表和可搜索列表,禁忌表表征第k只蚂蚁已经访问过的窗口序号集合,可搜索列表表征第k只蚂蚁尚未选择过的窗口序号集合。
由于某些站点不需要被访问以及已经访问过的站点不需要重复被访问,可以建立禁忌表,将无需访问的站点存入禁忌表中。例如,当蚂蚁每到达一个站点时,可将该站点从可搜索列表中删除,也即加入至禁忌表中,避免重复选择。
本公开实施例中,根据以下公式更新第j个窗口的消耗状态:
costj(t)=costj(t-1)+exeij
其中,costj(t)表示在t时刻,第j个窗口累积的业务办理总时长;costj(t-1)表示在紧邻t时刻的前一时刻,第j个窗口累积的业务办理总时长;exeij表示第i位客户在第j个窗口上执行的业务办理时间。
由此,在第i位客户选择第j个窗口执行后,更新第j个窗口的消耗状态,可以将该消耗状态存储在一维数组中。
蚂蚁在路径搜索的过程当中会留下一定量的信息素,随着时间的累积会不断地增加,为了避免信息素产生的影响过多而覆盖启发信息带来的影响,因此当所有蚂蚁完成一次迭代的路径搜索时,会对所有路径上的信息素进行一次更新,新的信息素作为下一次迭代优化的依据。
本公开实施例中,根据以下公式更新信息素矩阵:
其中,τij(t)表示在t时刻,第i位客户在第j个窗口上执行的信息素浓度;τij(t-1)表示在紧邻t时刻的前一时刻,第j个窗口上的信息素浓度;ρ表示预设的信息素挥发因子;g表示当前迭代次数;表示与当前迭代次数成正比的函数;/>表示第k只蚂蚁在第i位客户与第j个窗口配对后释放的信息素浓度;τmax表示预设的信息素浓度阈值。
ρ表示信息素挥发因子,而(1-ρ)表示残留因子。ρ值过小时,在各个路径上残留的信息素过多,导致无效的路径继续被搜索,影响到收敛速率。ρ值过大时,无效的路径虽然可以被排除搜索,但是不能保证有效的路径也会被放弃搜索,影响到最优值的搜索。通常地,ρ的取值范围在[0.1,0.99],优选地,ρ可以取值为0.5。
进一步地,上述函数根据以下公式计算得出:
其中,c表示常量,取值为正整数,例如1、2或3。
进一步地,上述释放的信息素根据以下公式计算得出:
其中,Q为信息素增量常数,表示每只蚂蚁释放信息素的强弱程度,优选地,可以将Q取值为5.0;表示预设的第j个窗口的业务办理总时长最大值。
由此可见,这里根据客户需要或者关注的各个窗口的业务办理总时长,来进行最优的客户与窗口选择结果输出。
综上所述,本实施例提供的智能排队叫号方法,在蚁群优化算法利用窗口的状态及客户等待容忍度来修正启发式因子和释放信息素浓度,并以自适应的方式进行信息量的更新,多目标综合考虑排队叫号问题。进而,该蚁群优化算法在客户队列完成时间、窗口资源利用率等方面均有良好表现,有效减少客户在窗口下的等待时间,提高服务效率,提升客户体验。
基于同一发明构思,本公开实施例还提供了一种智能排队叫号装置。以下将结合图5对该装置进行详细描述。
图5示意性示出了根据本公开实施例的智能排队叫号装置的框图。
如图5所示,该实施例的智能排队叫号装置500包括模型初始化模块510、循环迭代模块520、概率计算模块530、配对执行模块540和和矩阵更新模块550。
模型初始化模块510,用于预设包含m位客户和n个窗口的排队叫号模型,根据排队叫号模型,初始化信息素矩阵、最优路径规则和蚂蚁总数a。在一实施例中,模型初始化模块510可以用于执行前文描述的操作S1,在此不再赘述。
循环迭代模块520,用于使用蚁群优化算法进行循环迭代,判断当前迭代次数是否小于预设的最大迭代次数,如果是,则进行概率计算模块530、配对执行模块540和矩阵更新模块550的操作;否则,结束蚁群迭代,根据最优路径规则输出最优的客户与窗口选择结果。在一实施例中,循环迭代模块520可以用于执行前文描述的操作S2,在此不再赘述。
概率计算模块530,用于在当前迭代次数下,计算第k只蚂蚁为第i位客户选择第j个窗口的转移概率1≤k≤a,1≤i≤m,1≤j≤n。在一实施例中,概率计算模块530可以用于执行前文描述的操作S3,在此不再赘述。
配对执行模块540,用于根据转移概率将第i位客户与第j个窗口进行配对执行,更新第j个窗口的消耗状态。在一实施例中,配对执行模块540可以用于执行前文描述的操作S4,在此不再赘述。
矩阵更新模块550,用于重复概率计算模块530和配对执行模块540的操作直至所有蚂蚁均完成客户与窗口的配对,更新信息素矩阵。在一实施例中,矩阵更新模块550可以用于执行前文描述的操作S5,在此不再赘述。
通过本公开的实施例,通过对排队叫号模型的分析,提出一种基于客户体验与窗口状态的自适应蚁群优化算法,有效减少客户在窗口下的等待时间,提高服务效率,提升客户体验。
根据本公开的实施例,模型初始化模块510、循环迭代模块520、概率计算模块530、配对执行模块540和和矩阵更新模块550中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,模型初始化模块510、循环迭代模块520、概率计算模块530、配对执行模块540和和矩阵更新模块550中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,模型初始化模块510、循环迭代模块520、概率计算模块530、配对执行模块540和和矩阵更新模块550中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图6示意性示出了根据本公开实施例的适于实现智能排队叫号方法的电子设备的方框图。
如图6所示,根据本公开实施例的电子设备600包括处理器601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。处理器601例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器601还可以包括用于缓存用途的板载存储器。处理器601可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 603中,存储有电子设备600操作所需的各种程序和数据。处理器601、ROM602以及RAM 603通过总线604彼此相连。处理器601通过执行ROM 602和/或RAM 603中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 602和RAM 603以外的一个或多个存储器中。处理器601也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备600还可以包括输入/输出(I/O)接口605,输入/输出(I/O)接口605也连接至总线604。电子设备600还可以包括连接至I/O接口605的以下部件中的一项或多项:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的智能排队叫号方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可渎存储介质可以包括上文描述的ROM 602和/或RAM 603和/或ROM 602和RAM 603以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的智能排队叫号方法。
在该计算机程序被处理器601执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分609被下载和安装,和/或从可拆卸介质611被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器601执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (10)

1.一种智能排队叫号方法,包括以下步骤:
S1,预设包含m位客户和n个窗口的排队叫号模型,根据所述排队叫号模型,初始化信息素矩阵、最优路径规则和蚂蚁总数a;
S2,使用蚁群优化算法进行循环迭代,判断当前迭代次数是否小于预设的最大迭代次数,如果是,则进行步骤S3~S5;否则,结束所述蚁群迭代,根据所述最优路径规则输出最优的客户与窗口选择结果;
S3,在所述当前迭代次数下,计算第k只蚂蚁为第i位客户选择第j个窗口的转移概率1≤k≤a,1≤i≤m,1≤j≤n;
S4,根据所述转移概率将第i位客户与第j个窗口进行配对执行,更新所述第j个窗口的消耗状态;
S5,重复步骤S3~S4直至所有蚂蚁均完成客户与窗口的配对,更新所述信息素矩阵;
所述转移概率根据以下公式计算得出:
其中,τij(t)表示在t时刻第i位客户在第j个窗口上执行的信息素浓度;ηij(t)表示在t时刻第i位客户选择第j个窗口执行的启发式因子;α表示预设的信息素启发式因子;β表示预设的可见度因子;allowedk表示第k只蚂蚁尚未选择过的窗口序号集合;
所述在t时刻第i位客户选择第j个窗口执行的启发式因子ηij(t)根据以下公式计算得出:
其中,waiti表示第i位客户在所有窗口的总等待时间;toltimei表示第i位客户的排队忍耐时间;costj(t)表示在t时刻之前第j个窗口的业务办理总时长;exeij表示第i位客户在第j个窗口上的业务办理时间;
根据以下公式更新所述信息素矩阵:
其中,τij(t)表示在t时刻,第i位客户在第j个窗口上执行的信息素浓度;τij(t-1)表示在紧邻所述t时刻的前一时刻,第j个窗口上的信息素浓度;ρ表示预设的信息素挥发因子;g表示当前迭代次数;表示与所述当前迭代次数成正比的函数;/>表示第k只蚂蚁在第i位客户与第j个窗口配对后释放的信息素浓度;τmax表示预设的信息素浓度阈值;
所述函数根据以下公式计算得出:
其中,c表示常量,取值为正整数;
所述释放的信息素根据以下公式计算得出:
其中,Q为信息素增量常数,表示每只蚂蚁释放信息素的强弱程度;表示预设的第j个窗口的业务办理总时长最大值。
2.根据权利要求1所述的方法,其中,所述排队叫号模型还包括预设以下参数中的至少一种:
每位客户在每个窗口停留服务时间、每位客户在所有窗口的总等待时间、每位客户的排队忍耐时间、每位客户在每个窗口上的业务办理时间和每个窗口的业务办理总时长。
3.根据权利要求1所述的方法,其中,所述信息素矩阵初始化为m行n列的二维数组,并且所述二维数组中的各项元素赋值为0.1。
4.根据权利要求1所述的方法,其中,所述最优路径规则包括:
计算并比较各个蚂蚁所走路径上对应所述信息素矩阵的信息素浓度总和;
根据所述信息素浓度总和最大值对应的蚂蚁所走路径,确定最优的客户与窗口选择结果。
5.根据权利要求1所述的方法,其中,所述步骤S3之后,还包括:
更新禁忌表和可搜索列表,所述禁忌表表征所述第k只蚂蚁已经访问过的窗口序号集合,所述可搜索列表表征所述第k只蚂蚁尚未选择过的窗口序号集合。
6.根据权利要求1所述的方法,其中,根据以下公式更新所述第j个窗口的消耗状态:
costj(t)=costj(t-1)+exeij
其中,costj(t)表示在t时刻,第j个窗口累积的业务办理总时长;costj(t-1)表示在紧邻所述t时刻的前一时刻,第j个窗口累积的业务办理总时长;exeij表示第i位客户在第j个窗口上执行的业务办理时间。
7.一种智能排队叫号装置,包括:
模型初始化模块,用于预设包含m位客户和n个窗口的排队叫号模型,根据所述排队叫号模型,初始化信息素矩阵、最优路径规则和蚂蚁总数a;
循环迭代模块,用于使用蚁群优化算法进行循环迭代,判断当前迭代次数是否小于预设的最大迭代次数,如果是,则进行概率计算模块、配对执行模块和矩阵更新模块的操作;否则,结束所述蚁群迭代,根据所述最优路径规则输出最优的客户与窗口选择结果;
概率计算模块,用于在所述当前迭代次数下,计算第k只蚂蚁为第i位客户选择第j个窗口的转移概率1≤k≤a,1≤i≤m,1≤j≤n;
配对执行模块,用于根据所述转移概率将第i位客户与第j个窗口进行配对执行,更新所述第j个窗口的消耗状态;
矩阵更新模块,用于重复所述概率计算模块和配对执行模块的操作直至所有蚂蚁均完成客户与窗口的配对,更新所述信息素矩阵;
所述转移概率根据以下公式计算得出:
其中,τij(t)表示在t时刻第i位客户在第j个窗口上执行的信息素浓度;ηij(t)表示在t时刻第i位客户选择第j个窗口执行的启发式因子;α表示预设的信息素启发式因子;β表示预设的可见度因子;allowedk表示第k只蚂蚁尚未选择过的窗口序号集合;
所述在t时刻第i位客户选择第j个窗口执行的启发式因子ηij(t)根据以下公式计算得出:
其中,waiti表示第i位客户在所有窗口的总等待时间;toltimei表示第i位客户的排队忍耐时间;costj(t)表示在t时刻之前第j个窗口的业务办理总时长;exeij表示第i位客户在第j个窗口上的业务办理时间;
根据以下公式更新所述信息素矩阵:
其中,τij(t)表示在t时刻,第i位客户在第j个窗口上执行的信息素浓度;τij(t-1)表示在紧邻所述t时刻的前一时刻,第j个窗口上的信息素浓度;ρ表示预设的信息素挥发因子;g表示当前迭代次数;表示与所述当前迭代次数成正比的函数;/>表示第k只蚂蚁在第i位客户与第j个窗口配对后释放的信息素浓度;τmax表示预设的信息素浓度阈值;
所述函数根据以下公式计算得出:
其中,c表示常量,取值为正整数;
所述释放的信息素根据以下公式计算得出:
其中,Q为信息素增量常数,表示每只蚂蚁释放信息素的强弱程度;表示预设的第j个窗口的业务办理总时长最大值。
8.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~6中任一项所述的方法。
9.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~6中任一项所述的方法。
10.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~6中任一项所述的方法。
CN202111398903.6A 2021-11-23 2021-11-23 智能排队叫号方法、装置、电子设备及介质 Active CN114067483B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111398903.6A CN114067483B (zh) 2021-11-23 2021-11-23 智能排队叫号方法、装置、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111398903.6A CN114067483B (zh) 2021-11-23 2021-11-23 智能排队叫号方法、装置、电子设备及介质

Publications (2)

Publication Number Publication Date
CN114067483A CN114067483A (zh) 2022-02-18
CN114067483B true CN114067483B (zh) 2024-05-31

Family

ID=80275958

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111398903.6A Active CN114067483B (zh) 2021-11-23 2021-11-23 智能排队叫号方法、装置、电子设备及介质

Country Status (1)

Country Link
CN (1) CN114067483B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1219318A (zh) * 1996-03-26 1999-06-09 英国电讯公司 呼叫排队与分配
CN107640049A (zh) * 2017-09-20 2018-01-30 东北大学 一种针对充电站的电动汽车有序充电的移动终端系统
CN109583627A (zh) * 2018-10-31 2019-04-05 北京航空航天大学 飞机着陆排队优化方法及装置
CN112862134A (zh) * 2019-11-12 2021-05-28 北京中电普华信息技术有限公司 电力营销业务中台的业务调度方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1219318A (zh) * 1996-03-26 1999-06-09 英国电讯公司 呼叫排队与分配
CN107640049A (zh) * 2017-09-20 2018-01-30 东北大学 一种针对充电站的电动汽车有序充电的移动终端系统
CN109583627A (zh) * 2018-10-31 2019-04-05 北京航空航天大学 飞机着陆排队优化方法及装置
CN112862134A (zh) * 2019-11-12 2021-05-28 北京中电普华信息技术有限公司 电力营销业务中台的业务调度方法及装置

Also Published As

Publication number Publication date
CN114067483A (zh) 2022-02-18

Similar Documents

Publication Publication Date Title
US11327814B2 (en) Semaphores for serverless computing
CN111866085B (zh) 基于区块链的数据存储方法、系统和装置
US11599774B2 (en) Training machine learning model
US9645743B2 (en) Selective I/O prioritization by system process/thread
US20170251081A1 (en) Content presentation based on a multi-task neural network
CN110309269B (zh) 应答处理方法及其系统、计算机系统及计算机可读介质
CN110314381B (zh) 任务处理方法及装置、计算机可读介质和电子设备
US20150363358A1 (en) Method and system for continuous optimization using a binary sampling device
CN110738436B (zh) 一种确定可用库存的方法和装置
CN112669084B (zh) 策略确定方法、设备及计算机可读存储介质
CN116032663A (zh) 基于边缘设备的隐私数据处理系统、方法、设备及介质
AU2022424003A1 (en) Exponentially smoothed categorical encoding to control access to a network resource
Ms et al. Profit maximization based task scheduling in hybrid clouds using whale optimization technique
Besharati et al. An Auction‐Based Bid Prediction Mechanism for Fog‐Cloud Offloading Using Q‐Learning
US11256748B2 (en) Complex modeling computational engine optimized to reduce redundant calculations
CN113076224B (zh) 数据备份方法、数据备份系统、电子设备及可读存储介质
CN114020469A (zh) 基于边缘节点的多任务学习方法、装置、介质与设备
CN114067483B (zh) 智能排队叫号方法、装置、电子设备及介质
US11354592B2 (en) Intelligent computation acceleration transform utility
CN113096295B (zh) 排号方法、排号装置、电子设备及计算机可读存储介质
CN114741618A (zh) 线下服务点推荐方法、推荐装置、设备及介质
CN113626175B (zh) 数据处理的方法和装置
CN113362097B (zh) 一种用户确定方法和装置
CN114647499A (zh) 异步作业任务并发控制方法、装置、电子设备和存储介质
CN113762570B (zh) 一种拣货任务组单方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant