CN109583840A - 一种排班方法、装置及设备 - Google Patents

一种排班方法、装置及设备 Download PDF

Info

Publication number
CN109583840A
CN109583840A CN201811469172.8A CN201811469172A CN109583840A CN 109583840 A CN109583840 A CN 109583840A CN 201811469172 A CN201811469172 A CN 201811469172A CN 109583840 A CN109583840 A CN 109583840A
Authority
CN
China
Prior art keywords
employee
class
grade
order according
period
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.)
Pending
Application number
CN201811469172.8A
Other languages
English (en)
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.)
Chongqing Taishiqi Technology Co Ltd
Original Assignee
Chongqing Taishiqi Technology Co Ltd
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 Chongqing Taishiqi Technology Co Ltd filed Critical Chongqing Taishiqi Technology Co Ltd
Priority to CN201811469172.8A priority Critical patent/CN109583840A/zh
Publication of CN109583840A publication Critical patent/CN109583840A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups
    • G06Q10/1097Task assignment

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种排班方法,能响应排班指令,获取预存的待排班员工及其空闲时段、及各个时段的员工需求数量,进而确定由待排班员工组成的满足预设条件的员工组合,其中预设条件为该员工组合在各个时段的员工供给数量均不小于所述员工需求数量,最后对该员工组合中的待排班员工进行编排得到排班结果。可见,该方法实现了响应排班指令利用处理器自动完成排班的目的,由于处理器运算速度远高于人类,因此避免了人工排班时耗时较长的问题,显著提高了排班效率,此外该方法考虑了待排班员工灵活多变的空闲时段限制因素,因此具有较强的场景适应性。此外,本发明还提供了一种排班装置、设备及计算机可读存储介质,其作用与上述方法相对应。

Description

一种排班方法、装置及设备
技术领域
本发明涉及计算机领域,特别涉及一种排班方法、装置、设备及计算机可读存储介质。
背景技术
目前,在很多场合,比如餐厅、医院、ktv、快捷餐厅等企业单位都会聘用一些临时工。由于临时工的可工作时间往往不固定,且各个临时工的可工作时间往往不同,因此给排班任务造成较大的困难。
传统的排班往往通过人工来进行,负责排班的人通过询问各个员工的可工作时间,并确定在各个时段需要的员工数量,来对员工的工作时间进行编排。由于员工的可工作时间动态变化,且排班过程需要考虑诸多限制因素,因此单纯通过人工进行排班会耗费较多的时间,导致排班效率低下。
发明内容
本发明的目的是提供一种排班方法、装置、设备、及计算机可读存储介质,用以解决传统的人工排班的方式会耗费较多的时间,导致排班效率低下的问题。具体解决方案如下所示:
第一方面,本发明提供了一种排班方法,包括:
响应于排班指令,获取预存的待排班员工、所述待排班员工的空闲时段、以及在预设时间的各个时段的员工需求数量;
确定由多个所述待排班员工组成的满足预设条件的员工组合,其中,所述预设条件为所述员工组合在所述预设时间的各个时段的员工供给数量均不小于所述员工需求数量,所述员工供给数量根据所述员工组合中各个待排班员工的空闲时段计算得到;
对所述员工组合中的待排班员工的空闲时段进行编排,得到排班结果。
可选的,所述确定由多个所述待排班员工组成的满足预设条件的员工组合,包括:
确定由多个所述待排班员工组成的满足预设条件的多个员工组合;
所述对所述员工组合中的待排班员工的空闲时段进行编排,得到排班结果,包括:
分别对各个所述员工组合中的待排班员工的空闲时段进行编排,得到各个所述员工组合的排班结果;
对各个所述员工组合的排班结果进行筛选,得到最优排班结果。
可选的,所述确定由多个所述待排班员工组成的满足预设条件的员工组合,其中,所述预设条件为所述员工组合在所述预设时间的各个时段的员工供给数量均不小于所述员工需求数量,所述员工供给数量根据所述员工组合中各个待排班员工的空闲时段计算得到,包括:
对预存的所述待排班员工进行随机组合,得到多个员工组合;
从所述多个员工组合中筛选满足第一预设条件的多个员工组合,其中,所述第一预设条件为所述员工组合在所述预设时间的总员工供给数量不小于总员工需求数量,所述总员工需求数量为各个时段的员工需求数量之和,所述总员工供给数量为所述员工组合中各个待排班员工的空闲时段之和;
从所述满足第一预设条件的多个员工组合中,筛选满足第二预设条件的员工组合,其中,所述第二预设条件为所述员工组合在所述预设时间的各个时段的员工供给数量均不小于所述员工需求数量,所述员工供给数量根据所述员工组合中各个待排班员工的空闲时段计算得到。
可选的,所述从所述多个员工组合中筛选满足第一预设条件的多个员工组合,包括:
从所述多个员工组合中筛选满足第一预设条件的多个员工组合;
在所述满足第一预设条件的员工组合的数量超过预设数量时,选择所述满足第一预设条件的员工组合中所述总员工供给数量最大的预设数量的员工组合。
可选的,所述对所述员工组合中的待排班员工的空闲时段进行编排,得到排班结果,包括:
根据梯度下降法,对所述员工组合中的待排班员工的空闲时段进行编排,得到排班结果。
可选的,所述响应于排班指令,获取预存的待排班员工、所述待排班员工的空闲时段、以及在预设时间的各个时段的员工需求数量,包括:
响应于排班指令,确定预存的多个员工角色,并生成各个所述员工角色的排班任务;
在执行所述员工角色的排班任务时,获取预存的所述员工角色的待排班员工、所述员工角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述员工角色的员工需求数量。
可选的,所述在执行所述员工角色的排班任务时,获取预存的所述员工角色的待排班员工、所述员工角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述员工角色的员工需求数量,包括:
在执行所述员工角色的排班任务时,获取预存的所述员工角色的待排班员工、所述员工角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述员工角色的员工需求数量;
获取为所述员工角色的设置的管理员角色;
获取预存的所述管理员角色的待排班员工、所述管理员角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述管理员角色的员工需求数量。
第二方面,本发明提供了一种排班装置,包括:
数据获取模块:用于响应于排班指令,获取预存的待排班员工、所述待排班员工的空闲时段、以及在预设时间的各个时段的员工需求数量;
员工组合确定模块:用于确定由多个所述待排班员工组成的满足预设条件的员工组合,其中,所述预设条件为所述员工组合在所述预设时间的各个时段的员工供给数量均不小于所述员工需求数量,所述员工供给数量根据所述员工组合中各个待排班员工的空闲时段计算得到;
空闲时段编排模块:用于对所述员工组合中的待排班员工的空闲时段进行编排,得到排班结果。
可选的,所述员工组合确定模块具体用于:
确定由多个所述待排班员工组成的满足预设条件的多个员工组合;
所述空闲时段编排模块包括:
编排单元:用于分别对各个所述员工组合中的待排班员工的空闲时段进行编排,得到各个所述员工组合的排班结果;
筛选单元:用于对各个所述员工组合的排班结果进行筛选,得到最优排班结果。
可选的,所述员工组合确定模块包括:
随机组合单元:用于对预存的所述待排班员工进行随机组合,得到多个员工组合;
第一筛选单元:用于从所述多个员工组合中筛选满足第一预设条件的多个员工组合,其中,所述第一预设条件为所述员工组合在所述预设时间的总员工供给数量不小于总员工需求数量,所述总员工需求数量为各个时段的员工需求数量之和,所述总员工供给数量为所述员工组合中各个待排班员工的空闲时段之和;
第二筛选单元:用于从所述满足第一预设条件的多个员工组合中,筛选满足第二预设条件的员工组合,其中,所述第二预设条件为所述员工组合在所述预设时间的各个时段的员工供给数量均不小于所述员工需求数量,所述员工供给数量根据所述员工组合中各个待排班员工的空闲时段计算得到。
可选的,所述第一筛选单元包括:
筛选子单元:用于从所述多个员工组合中筛选满足第一预设条件的多个员工组合;
选择子单元:用于在所述满足第一预设条件的员工组合的数量超过预设数量时,选择所述满足第一预设条件的员工组合中所述总员工供给数量最大的预设数量的员工组合。
可选的,所述空闲时段编排模块具体用于:
根据梯度下降法,对所述员工组合中的待排班员工的空闲时段进行编排,得到排班结果。
可选的,所述数据获取模块包括:
角色任务生成单元:用于响应于排班指令,确定预存的多个员工角色,并生成各个所述员工角色的排班任务;
角色任务执行单元:用于在执行所述员工角色的排班任务时,获取预存的所述员工角色的待排班员工、所述员工角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述员工角色的员工需求数量。
可选的,所述角色任务执行单元包括:
第一执行子单元:用于在执行所述员工角色的排班任务时,获取预存的所述员工角色的待排班员工、所述员工角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述员工角色的员工需求数量;
第二执行子单元:用于获取为所述员工角色的设置的管理员角色;
第三执行子单元:用于获取预存的所述管理员角色的待排班员工、所述管理员角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述管理员角色的员工需求数量。
第三方面,本发明提供了一种排班设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序时实现以下步骤:
响应于排班指令,获取预存的待排班员工、所述待排班员工的空闲时段、以及在预设时间的各个时段的员工需求数量;确定由多个所述待排班员工组成的满足预设条件的员工组合,其中,所述预设条件为所述员工组合在所述预设时间的各个时段的员工供给数量均不小于所述员工需求数量,所述员工供给数量根据所述员工组合中各个待排班员工的空闲时段计算得到;对所述员工组合中的待排班员工的空闲时段进行编排,得到排班结果。
可选的,所述处理器在执行所述存储器上的计算机程序时,具体可以实现以下步骤:
确定由多个所述待排班员工组成的满足预设条件的多个员工组合;
分别对各个所述员工组合中的待排班员工的空闲时段进行编排,得到各个所述员工组合的排班结果;
对各个所述员工组合的排班结果进行筛选,得到最优排班结果。
可选的,所述处理器在执行所述存储器上的计算机程序时,具体可以实现以下步骤:
对预存的所述待排班员工进行随机组合,得到多个员工组合;
从所述多个员工组合中筛选满足第一预设条件的多个员工组合,其中,所述第一预设条件为所述员工组合在所述预设时间的总员工供给数量不小于总员工需求数量,所述总员工需求数量为各个时段的员工需求数量之和,所述总员工供给数量为所述员工组合中各个待排班员工的空闲时段之和;
从所述满足第一预设条件的多个员工组合中,筛选满足第二预设条件的员工组合,其中,所述第二预设条件为所述员工组合在所述预设时间的各个时段的员工供给数量均不小于所述员工需求数量,所述员工供给数量根据所述员工组合中各个待排班员工的空闲时段计算得到。
可选的,所述处理器在执行所述存储器上的计算机程序时,具体可以实现以下步骤:
从所述多个员工组合中筛选满足第一预设条件的多个员工组合;
在所述满足第一预设条件的员工组合的数量超过预设数量时,选择所述满足第一预设条件的员工组合中所述总员工供给数量最大的预设数量的员工组合。
可选的,所述处理器在执行所述存储器上的计算机程序时,具体可以实现以下步骤:
根据梯度下降法,对所述员工组合中的待排班员工的空闲时段进行编排,得到排班结果。
可选的,所述处理器在执行所述存储器上的计算机程序时,具体可以实现以下步骤:
响应于排班指令,确定预存的多个员工角色,并生成各个所述员工角色的排班任务;
在执行所述员工角色的排班任务时,获取预存的所述员工角色的待排班员工、所述员工角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述员工角色的员工需求数量。
可选的,所述处理器在执行所述存储器上的计算机程序时,具体可以实现以下步骤:
在执行所述员工角色的排班任务时,获取预存的所述员工角色的待排班员工、所述员工角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述员工角色的员工需求数量;
获取为所述员工角色的设置的管理员角色;
获取预存的所述管理员角色的待排班员工、所述管理员角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述管理员角色的员工需求数量。
第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
响应于排班指令,获取预存的待排班员工、所述待排班员工的空闲时段、以及在预设时间的各个时段的员工需求数量;确定由多个所述待排班员工组成的满足预设条件的员工组合,其中,所述预设条件为所述员工组合在所述预设时间的各个时段的员工供给数量均不小于所述员工需求数量,所述员工供给数量根据所述员工组合中各个待排班员工的空闲时段计算得到;对所述员工组合中的待排班员工的空闲时段进行编排,得到排班结果。
可选的,所述计算机可读存储介质上的计算机程序被处理器执行时,具体可以实现以下步骤:
确定由多个所述待排班员工组成的满足预设条件的多个员工组合;
分别对各个所述员工组合中的待排班员工的空闲时段进行编排,得到各个所述员工组合的排班结果;
对各个所述员工组合的排班结果进行筛选,得到最优排班结果。
可选的,所述计算机可读存储介质上的计算机程序被处理器执行时,具体可以实现以下步骤:
对预存的所述待排班员工进行随机组合,得到多个员工组合;
从所述多个员工组合中筛选满足第一预设条件的多个员工组合,其中,所述第一预设条件为所述员工组合在所述预设时间的总员工供给数量不小于总员工需求数量,所述总员工需求数量为各个时段的员工需求数量之和,所述总员工供给数量为所述员工组合中各个待排班员工的空闲时段之和;
从所述满足第一预设条件的多个员工组合中,筛选满足第二预设条件的员工组合,其中,所述第二预设条件为所述员工组合在所述预设时间的各个时段的员工供给数量均不小于所述员工需求数量,所述员工供给数量根据所述员工组合中各个待排班员工的空闲时段计算得到。
可选的,所述计算机可读存储介质上的计算机程序被处理器执行时,具体可以实现以下步骤:
从所述多个员工组合中筛选满足第一预设条件的多个员工组合;
在所述满足第一预设条件的员工组合的数量超过预设数量时,选择所述满足第一预设条件的员工组合中所述总员工供给数量最大的预设数量的员工组合。
可选的,所述计算机可读存储介质上的计算机程序被处理器执行时,具体可以实现以下步骤:
根据梯度下降法,对所述员工组合中的待排班员工的空闲时段进行编排,得到排班结果。
可选的,所述计算机可读存储介质上的计算机程序被处理器执行时,具体可以实现以下步骤:
响应于排班指令,确定预存的多个员工角色,并生成各个所述员工角色的排班任务;
在执行所述员工角色的排班任务时,获取预存的所述员工角色的待排班员工、所述员工角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述员工角色的员工需求数量。
可选的,所述计算机可读存储介质上的计算机程序被处理器执行时,具体可以实现以下步骤:
在执行所述员工角色的排班任务时,获取预存的所述员工角色的待排班员工、所述员工角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述员工角色的员工需求数量;
获取为所述员工角色的设置的管理员角色;
获取预存的所述管理员角色的待排班员工、所述管理员角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述管理员角色的员工需求数量。
综上,本发明所提供的一种排班方法,能够响应于排班指令,获取预存的待排班员工、待排班员工的空闲时段、以及在预设时间的各个时段的员工需求数量,进而确定由多个待排班员工组成的满足预设条件的员工组合,其中,预设条件为该员工组合在预设时间的各个时段的员工供给数量均不小于所述员工需求数量,最后对该员工组合中的待排班员工的空闲时段进行编排,得到排班结果。可见,该方法实现了响应于排班指令的下发利用处理器自动完成排班的目的,由于处理器运算速度远高于人类,因此避免了人工排班时耗时较长的问题,显著提高了排班效率,此外该方法考虑了待排班员工灵活多变的空闲时段、以及各个时段的员工需求量的限制因素,因此具有较强的场景适应性。
此外,本发明还提供了一种排班装置、设备及计算机可读存储介质,其作用与上述方法相对应,这里不再赘述。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所提供的一种排班方法实施例一的实现流程图;
图2为本发明所提供的一种排班方法实施例一中的预设时间划分示意图;
图3为本发明所提供的一种排班方法实施例二的实现流程图;
图4为本发明所提供的一种排班方法实施例三的一种执行方式;
图5为本发明所提供的一种排班方法实施例三的另一种执行方式;
图6为本发明所提供的一种排班装置实施例的功能框图;
图7为本发明提供的一种排班设备的结构示意图。
具体实施方式
本发明的核心是提供一种排班方法、装置、设备及计算机可读存储介质,实现了自动排班的目的,显著提高了排班效率,且具有较强的场景适应能力。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面对本发明提供的一种排班方法实施例一进行介绍,参见图1,实施例一包括:
步骤S101:响应于排班指令,获取预存的待排班员工、所述待排班员工的空闲时段、以及在预设时间的各个时段的员工需求数量。
下面对本实施例以及下文可能会涉及的一些概念进行解释:
上述排班指令指的是触发排班过程的指令,该指令可以由用户直接下发,也可以在某些条件下自动生成,例如达到预设排班时间点;
预存的待排班员工指的是预先录入排班系统的员工,空闲时段指的是员工的可工作的且允许进行自由排班的时段,空闲时段也需要在排班过程之前预先录入排班系统,具体的,待排班员工可以由排班系统管理员进行录入,空闲时段可以由已经录入排班系统的员工自行录入;
上述预设时间,指的是本次排班针对的时间段,具体的,预设时间可能与排班指令相关联,例如,排班指令中要求对未来一周进行排班,那么这里预设时间指的就是未来一周;
上述员工需求数量,指的是在上述预设时间的各个时段所需要的员工数量,需要说明的是,本发明不考虑员工之间业务能力的差别,仅仅以员工数量作为参考。此外,考虑到后续计算需求,本发明预先设置了时间粒度,即上述时段的时间跨度,并规定排班过程中所涉及的时间段均为该时间粒度的整数倍。具体的,如图2所示,假设上述预设时间为9时到14时,时间粒度可以设置为半小时,那么上述空闲时段也必须为整数个时间粒度,不能从某个时间粒度的中间开始或结束工作,此外最终排班结果中各个员工的工作时间也为整数个时间粒度。上述时间粒度的具体数值可以根据实际情况来确定,本发明对此不做限定。
步骤S102:确定由多个所述待排班员工组成的满足预设条件的员工组合。
其中,所述预设条件为所述员工组合在所述预设时间的各个时段的员工供给数量均不小于所述员工需求数量,所述员工供给数量根据所述员工组合中各个待排班员工的空闲时段计算得到。
举例来说,如表1所示,假设预设时间包括4个时段,员工组合A包括5个员工,分别确定员工的各个时段是否为空闲时段,若是,则将贡献记为1,否则记为0,对组合内所有员工进行上述操作,最终统计整个组合在各个时段的贡献,然后判断各个时段的贡献是都不小于需求,比如,表1所示的组合在时段1的贡献为3,若3不小于需求数a,则认为在时段1该组合的贡献不小于需求,当在所有时段上述情况均成立,则认为该组合满足上述预设条件。
表1
步骤S103:对所述员工组合中的待排班员工的空闲时段进行编排,得到排班结果。
具体的,排班结果包含了在上述预设时间内的各个时段有哪个或哪些员工进行工作的信息。
本实施例所提供一种排班方法,能够响应于排班指令,获取预存的待排班员工、待排班员工的空闲时段、以及在预设时间的各个时段的员工需求数量,进而确定由多个待排班员工组成的满足预设条件的员工组合,其中,预设条件为该员工组合在预设时间的各个时段的员工供给数量均不小于所述员工需求数量,最后对该员工组合中的待排班员工的空闲时段进行编排,得到排班结果。可见,该方法实现了响应于排班指令的下发利用处理器自动完成排班的目的,由于处理器运算速度远高于人类,因此避免了人工排班时耗时较长的问题,显著提高了排班效率,此外该方法考虑了待排班员工灵活多变的空闲时段、以及各个时段的员工需求量的限制因素,因此具有较强的场景适应性。
本发明还提供了一种排班方法实施例二,实施例二基于上述实施例一实现,并在实施例一的基础上进行了一定程度的拓展。具体的,实施例二的实施过程相较于上述实施例一存在至少以下三点区别:
区别1,本实施例对实施例一中步骤S102即筛选满足预设条件的过程进行了细分,即下文将会描述的步骤S202到步骤S204,大大减小了计算量,具体分析见下文;
区别2,本实施例提供了为员工组合中各个员工编排空闲时间的具体编排策略,即下述梯度下降法,此外,在编排过程中还考虑了最大工作时长的限制;
区别3,考虑到当筛选出的员工组合的数量为多个时,假设每个员工组合对应一个排班结果,那么最终会存在多个排班结果,本实施例针对这种情况,提供了从多个排班结果筛选出最优排班结果的实现方法。
下面对实施例二的实现过程进行描述,参见图3,实施例二具体包括以下步骤:
步骤S201:响应于排班指令,获取预存的待排班员工、待排班员工的空闲时段、以及在预设时间的各个时段的员工需求数量。
步骤S202:对预存的所述待排班员工进行随机组合,得到多个员工组合。
具体的,作为一种可选的实现方式,本实施例中随机组合的方式可以如下:在不限定员工组合中员工数量的条件下,假设存在M个员工,每个员工只存在两种情况:在某组合中,或不在某组合中,因此,可以得到N种员工组合,N为2的M次幂。本实施例从这N中员工组合中抽取一定数量的员工组合,以进行后续排班。
步骤S203:从上述多个员工组合中筛选满足第一预设条件的多个员工组合。
其中,所述第一预设条件为所述员工组合在所述预设时间的总员工供给数量不小于总员工需求数量,所述总员工需求数量为各个时段的员工需求数量之和,所述总员工供给数量为所述员工组合中各个待排班员工的空闲时段之和。以表2为例,假设预设时间包括4个时段,员工组合A包括5个员工,各个员工在上述预设时间的总贡献分别为2、3、1、2、4,那么整个员工组合在上述预设时间的总贡献为2+3+1+2+4=12,而在预设时间的各个时段的需求分别为a、b、c、d,那么在预设时间的总需求为a+b+c+d=e,若12不小于e,则认为员工组合A为满足上述第一条件的员工组合。
表2
考虑到某些情况下,满足第一预设条件的员工组合数量可能较多,为了减小计算量,可以预先设置一个参考数值,以下将参考数值成为预设数量,在所述满足第一预设条件的员工组合的数量超过预设数量时,选择所述满足第一预设条件的员工组合中所述总员工供给数量最大的预设数量的员工组合。以及,在某些情况下,满足第一预设条件的员工组合数量较少,此时可以按照各个员工组合的总员工供给数量由大到小的顺序排列,并取排列中前预设百分比数量的员工组合。
步骤S204:从所述满足第一预设条件的多个员工组合中,筛选满足第二预设条件的多个员工组合,其中,所述第二预设条件为所述员工组合在所述预设时间的各个时段的员工供给数量均不小于所述员工需求数量,所述员工供给数量根据所述员工组合中各个待排班员工的空闲时段计算得到。
本实施例中的第二预设条件与实施例一中第一预设条件相对应,此处不再展开介绍。
步骤S205:根据梯度下降法,分别对各个所述员工组合中的待排班员工的空闲时段进行编排,得到各个所述员工组合的排班结果。
本实施例定义了一个梯度计算函数,初始条件下,将员工组合中各个员工的空闲时段均安排在排班表上,然后,每次移除一个员工的一个时间粒度(作为一种可选的实施方式,本实施例这里只移除员工的起始时段或终止时段,其中,起始时段和终止时段分别为该员工的空闲时段中的第一个时段和最后一个时段),并计算梯度值,最终得到一定数量的梯度值,将最大的梯度值对应的时间段移除,得到排班结果。
值得一提的是,本实施例中还可以设置员工最大工作时长、最短工作时长,在编排过程中,可以综合考虑这些限制因素,增强了本实施例的适用性。
步骤S206:对各个所述员工组合的排班结果进行筛选,得到最优排班结果。
需要说明的是,在实际应用中,根据上述方式计算得到的排班结果可能并不是完美的,比如,可能存在某些时段的供给数量略小于或略大于需求数量的情况。因此,可以以上述现象为依据,筛选出最优的排班结果。具体的,统计各个排班结果中供给数量与需求数量不对等的次数,以及每次供给数量与需求数量的差值,并进行累计,如表3所示,A组员工在各个时段中供给数量与需求数量的总差值为0+1+2+0=3,可以依照这种方式,统计各个员工组合的总差值,选取总差值最小的组合作为最优员工组合。
表3
本发明还提供了一种排班方法实施例三,相较于上述两个实施例,实施例三考虑到了对多种角色的员工进行排班的需求,实现了为多种角色的员工进行排班的方法。
具体的,实施例三具体包括:
步骤S301:响应于排班指令,确定待排班的多个员工角色,并生成各个所述员工角色的排班任务。
步骤S301:分别执行各个员工角色的排班任务。
对于排班任务的执行过程,具体可以参照上述两个实施例,这里不再展开描述。
需要说明的是,对于各个员工角色的排班任务的执行方式,本实施例不做限定,以三个员工角色的情况为例,可以是如图4所示的并行执行方式,也可以是如图5所示的按照某种先手顺序依次执行的执行方式。
此外,考虑到在实际生活中,在为某类角色的员工进行排班时,还需要考虑为该角色的员工配置管理员,例如领班或经理等角色。因此,作为一种优选的实施方式,本实施例中的各个员工角色的排班任务中,可以不仅仅包括该员工角色的排班任务,还可以包括为该员工角色设置的特殊角色的员工的排班任务,例如管理员角色。
本发明还提供了一种排班方法实施例四,实施例四以为餐厅排班为例,描述了排班方法的程序设计方式。具体如下所述:
首先,描述实施例四中的词汇定义,需要说明的是,前述实施例的概念定义并不适用于实施例四:
时段(section):基础单位时间,根据需求暂时定义为半个小时一个时段;
普通资源(resource):人力资源数量*时段;
角色资源(role resource):特定角色的人力资源数量*时段;
总资源供给(total resource supply):一天能提供的最多资源;
总资源需求(total resource demand):一天总共的资源需求;
时段资源供给(sectional resource supply):一个基础时间单位的资源供给;
时段资源需求(sectional resource demand):一个基础单位时间的资源需求;
资源匮乏(resource deficiency):供给小于需求的时候回出现资源匮乏;
资源过剩(resource excess):供给大于需求的时候回出现资源匮乏;
超时(overwork):一个员工的工作时间超过一天规定的最大工作时间;
角色(role):使用者定义的员工角色。例如经理、厨师、服务员;
区间(interval):员工工作的起止时间区间;
空闲区间(availability):员工的空闲区间;
时段模板(template):一天的时间内,每一个基础时段所对应的资源数量(可以是供给、需求,也可以是匮乏、过剩)。
然后,对实施例四中的常量定义进行描述:
N:员工数量;
Ct:总共资源漏斗的容量(Total Capacity);
Cs:时段资源漏斗的容量(Sectinal Capacity);
Ca:编排漏斗的容量(Arrangemental Capacity)。
此外,还有后续排班过程会用到的分值标准(以下评分标准可根据实际需求进行调整):
总超时分=所有员工超时之和*超时分(10分);
总资源过剩分=所有工作时段资源过剩之和*资源过剩分(1分);
总角色资源过剩分=0;
总资源不足分=所有工作时段资源匮乏之和*资源匮乏分(3分);
总角色资源匮乏分=所有工作时段角色资源匮乏之和*资源匮乏分(4分);
总得分为以上所有得分之和,分数越低则排班效果越好。分数为0则为满足排班所有要求。
具体的,实施例四提供的排班方法的输入包括以下几项内容:
具体的,实施例四提供的排班方法的输出内容包括:
上面对实施例四会用到的一些词汇、常量、评分标准、以及排班方法的输入输出进行了介绍,下面对排班过程的实现步骤进行描述,主要包括以下三个步骤:
步骤一:总共资源漏斗,对于总共N个员工,选择任意数量的员工组成组合,总共有2^N种排列方法。由于计算能力的局限,我们随机选择Ct个员工组合放入总共资源漏斗。总共资源漏斗会根据尽量筛选掉有总资源匮乏和总角色资源匮乏情况原则,返回出总资源匮乏和总角色资源匮乏之和最少的Cs种情况。
步骤二:时段资源漏斗,根据总共资源漏斗的结果,我们筛选其中时段资源匮乏和时段角色资源匮乏之和最少的Ca种情况。
步骤三:编排漏斗,根据时段资源漏斗的结果,我们用梯度下降法,找到每一种情况的局部最解(local optimum),再用我们的计分方法来计算这种编排方法的分数,其中找到最优的一种编排方案。
下面分别对上述三个步骤进行详尽的描述:
首先是步骤一,总资源漏斗的实现步骤:
步骤S401:随机从2^N个排列组合情况内,抽取出Ct种情况:我们可以找到一个大于0且小于2^N的随机数奇数s。因为2^N仅有质因子2且s为奇数,因此s与2^N互质。
步骤S402:然后,我们从i=s开始,做Ct次迭代,每次i增加s,如果i>=Ct则i=i-Ct。当i为0或者是我们已经取到了Ct种情况的时候,我们停止迭代。这样我们就能随机选择min(Ct,2^N)种不相同的员工组合情况。
步骤S403:针对于整数i,我们可以将它看做是二进制的选择方法,如果总共有5个员工,i为13,那么就是01101,则意味着我们选择了第一,第三,第四位员工(从右往左数)。所有的员工组合都用一个整数来表示。
步骤S404:针对每一个员工组合,我们会用计算他们的总资源匮乏与总角色资源匮乏之和来当做他们的分数,根据得分放入一个容量为Cs最大堆(Max Heap)里面。
步骤S405:如果最大堆的Top组合得分为0(没有总资源、总角色资源匮乏的情况)并且最大堆满载的时候(Size等于Capacity),我们可以停止迭代,因为我们已经获得了Cs种没有总资源匮乏的随机组合。
按照此方法,我们最终能获得min(Cs,2^N)种总资源、总角色资源匮乏最少的员工组合。
然后是步骤二,时段资源漏斗实现步骤包括:
步骤S501:我们从总资源漏斗的结果中一次取出每一种员工组合。针对每一种员工组合,我们计算他们每一个时段资源匮乏与角色资源匮乏之和来当做他们的分数,根据得分放入一个容量为Ca最大堆(Max Heap)里面。
步骤S502:如果最大堆的Top组合得分为0(没有时段资源、时段角色资源匮乏的情况)并且最大堆满载的时候(Size等于Capacity),我们可以停止迭代,因为我们已经获得了Ca种没有总资源匮乏的随机组合。
按照此方法,我们最终能获得min(Cs,2^N)种时段资源、时段角色资源匮乏最少的员工组合。
最后是步骤三,编排漏斗的实现步骤如下:
步骤S601:首先我们从排班需求中找到所有的时段角色资源需求模板和时段资源需求模板,将这些资源需模板求依次放入一个数组中(前n-1项为各角色资源需求,末项为总资源需求)。
步骤S602:我们从时段资源漏斗的结果中一次取出每一种员工组合的空闲时段进行编排计算。计算过程包括以下步骤:
步骤S6021:我们假设该员工组合的所有员工都将他们的全部空闲时间安排在工作上。针对改组员工组合,我们计算出所有的角色供给模板和总资源供给模板,将这些资源供给模板依次放入一个数组中(和资源需求数组顺序一致)。通过矩阵计算供给数组与需求数组的差,我们得到资源差异数组(其中正值为资源过剩,负值为资源匮乏)。
步骤S6022:对于任意一个员工的任意一个工作区间,我们都可以表示为n*48+s(n为这个员工的indx,s为这个时段,一天有24个小时,48个时段)。具体的,我们创建一个区间Map用于储存员工区间起止的对应关系。例如:第3个员工,早上10点(第20个时段)到下午2点(第27个时段)有空。一天有48个时段,则map[3*48+20]=27,map[3*48+27]=20。
步骤S6023:因为之前的资源漏斗的移除了资源匮乏的情况,我们假设所有员工的所有空闲时间段都用于工作。我们每一次操作都将移除一个员工的一个工作时段,来尽量减少,来达到局部最优化。我们定义一个梯度分数计算函数,这个函数的意义为,如果我们将一个员工的某个工作时段去掉,整个员工组合的评分会下降的数值。梯度函数的最终分数为以下三项分数之和:
总资源梯度分数:在资源差异数组中,找到最后一项,也就是总资源差异的时段模板。在这个时段模板中,找到我们想要去掉的这个工作时段所对应的资源差异时段的值。如果这个值>0,则意味如果我们去掉这个一个工作时段,我们会减少一个时段的资源过剩。那么总得分会下降一个单位的资源过剩分(注意:分越低表示排班方法越理想)。如果<=0,则意味如果我们去掉这个工作时段,总得分会上升一个单位的资源匮乏分。
角色资源梯度分数:如果员工没有任何特殊角色则跳过这一项。如果员工有角色,则找到改角色对应的时间模板,并在这个模板中找到这个时段所对应的值。同上,如果数值>0,则减去一个单位的角色资源过剩分。
最后计算工作超时分:通过区间map找到该员工工作区间的另一端。例如如果是第3个员工的第20个时段,则map[3*48+20],结果为27。两个值差的绝对值再加以,就是这个员工工作的时间长。如果时长超过最大工作时间,则减少一个单位的超时分。否则对总得分不造成影响。
需要注意的是,本实施例规定每个员工的工作时间必须为连续的,所以我们每一次只移除员工工作区间的开始或者结束时段。
步骤S6024:再创建一个Max Heap,将所有员工的开始、结束时段放入这个MaxHeap,他们的分数为梯度函数的计算结果,同时将计算结果缓存。我们将每次移除一个梯度得分最大的时段。
具体的,当某员工的某时段的梯度得分为最大,且该时段的分值大于0(梯度还有下降的空间),我们重新计算一次该时段的得分(因为随着我们移除其他的间时段,这个时段的梯度得分可能会改变),然后重新计算的得分一定会小于等于原得分。理由如下:
第一,超时分与工作时长的关系为恒增大,因为我们只会移除工作时段,所以工作时长只会减少,所以超时分会变小或者不变;第二,资源过剩和资源匮乏得分同理可证,也是会减小或者保持不变。
然后,将新得分与原得分进行比较,如果新得分大于等于这个最大时段得分,则这个时段为当前梯度分数最大的时段。如果这个时段得分>0,我们将移除这个时段。如果得分小于最大时段得分,我们就把这个时段重新放入max heap中。
步骤S6025:移除时段,移除时段的时候同时更新区间map。如果移除之后的区间还满足最短工作时间要求,则将下一个时段放入heap和map中,如果不满足则将另一个时间段同时移除map。在while循环里面我们会检查这个时段是否存在于map中,如果不存在的话则说明这个时段已经被移除了,则跳过。
当heap的top值<=0的时候,我们已经达到局部最优解,我们将时段资源漏斗的所有组合进行此操作,得分最低的解为本次搜索的最优排班方案。
下面对本发明实施例提供的一种排班装置进行介绍,下文描述的一种排班装置与上文描述的一种排班方法可相互对应参照。
如图6所示,该装置包括:
数据获取模块601:用于响应于排班指令,获取预存的待排班员工、所述待排班员工的空闲时段、以及在预设时间的各个时段的员工需求数量。
员工组合确定模块602:用于确定由多个所述待排班员工组成的满足预设条件的员工组合,其中,所述预设条件为所述员工组合在所述预设时间的各个时段的员工供给数量均不小于所述员工需求数量,所述员工供给数量根据所述员工组合中各个待排班员工的空闲时段计算得到。
空闲时段编排模块603:用于对所述员工组合中的待排班员工的空闲时段进行编排,得到排班结果。
在一些具体的实施例中,所述员工组合确定模块602具体用于:
确定由多个所述待排班员工组成的满足预设条件的多个员工组合;
所述空闲时段编排模块603包括:
编排单元6031:用于分别对各个所述员工组合中的待排班员工的空闲时段进行编排,得到各个所述员工组合的排班结果;
筛选单元6032:用于对各个所述员工组合的排班结果进行筛选,得到最优排班结果。
在一些具体的实施例中,所述员工组合确定模块602包括:
随机组合单元6021:用于对预存的所述待排班员工进行随机组合,得到多个员工组合;
第一筛选单元6022:用于从所述多个员工组合中筛选满足第一预设条件的多个员工组合,其中,所述第一预设条件为所述员工组合在所述预设时间的总员工供给数量不小于总员工需求数量,所述总员工需求数量为各个时段的员工需求数量之和,所述总员工供给数量为所述员工组合中各个待排班员工的空闲时段之和;
第二筛选单元6023:用于从所述满足第一预设条件的多个员工组合中,筛选满足第二预设条件的员工组合,其中,所述第二预设条件为所述员工组合在所述预设时间的各个时段的员工供给数量均不小于所述员工需求数量,所述员工供给数量根据所述员工组合中各个待排班员工的空闲时段计算得到。
在一些具体的实施例中,所述第一筛选单元6022包括:
筛选子单元:用于从所述多个员工组合中筛选满足第一预设条件的多个员工组合;
选择子单元:用于在所述满足第一预设条件的员工组合的数量超过预设数量时,选择所述满足第一预设条件的员工组合中所述总员工供给数量最大的预设数量的员工组合。
在一些具体的实施例中,所述空闲时段编排模块603具体用于:
根据梯度下降法,对所述员工组合中的待排班员工的空闲时段进行编排,得到排班结果。
在一些具体的实施例中,所述数据获取模块601包括:
角色任务生成单元6011:用于响应于排班指令,确定预存的多个员工角色,并生成各个所述员工角色的排班任务;
角色任务执行单元6012:用于在执行所述员工角色的排班任务时,获取预存的所述员工角色的待排班员工、所述员工角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述员工角色的员工需求数量。
在一些具体的实施例中,所述角色任务执行单元6012包括:
第一执行子单元:用于在执行所述员工角色的排班任务时,获取预存的所述员工角色的待排班员工、所述员工角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述员工角色的员工需求数量;
第二执行子单元:用于获取为所述员工角色的设置的管理员角色;
第三执行子单元:用于获取预存的所述管理员角色的待排班员工、所述管理员角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述管理员角色的员工需求数量。
本实施例的一种排班装置用于实现前述的一种排班方法,因此该装置中的具体实施方式可见前文中的一种排班方法的实施例部分,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
另外,由于本实施例的一种排班装置用于实现前述的一种排班方法,因此其作用与上述方法的作用相对应,这里不再赘述。
此外,本发明还提供了一种排班设备实施例,如图7所示,该设备具体包括:
存储器701:用于存储计算机程序;
处理器702:用于执行所述计算机程序时实现以下步骤:
响应于排班指令,获取预存的待排班员工、所述待排班员工的空闲时段、以及在预设时间的各个时段的员工需求数量;确定由多个所述待排班员工组成的满足预设条件的员工组合,其中,所述预设条件为所述员工组合在所述预设时间的各个时段的员工供给数量均不小于所述员工需求数量,所述员工供给数量根据所述员工组合中各个待排班员工的空闲时段计算得到;对所述员工组合中的待排班员工的空闲时段进行编排,得到排班结果。
作为一种可选的实施方式,所述处理器702在执行所述存储器701上的计算机程序时,具体可以实现以下步骤:
确定由多个所述待排班员工组成的满足预设条件的多个员工组合;
分别对各个所述员工组合中的待排班员工的空闲时段进行编排,得到各个所述员工组合的排班结果;
对各个所述员工组合的排班结果进行筛选,得到最优排班结果。
作为一种可选的实施方式,所述处理器702在执行所述存储器701上的计算机程序时,具体可以实现以下步骤:
对预存的所述待排班员工进行随机组合,得到多个员工组合;
从所述多个员工组合中筛选满足第一预设条件的多个员工组合,其中,所述第一预设条件为所述员工组合在所述预设时间的总员工供给数量不小于总员工需求数量,所述总员工需求数量为各个时段的员工需求数量之和,所述总员工供给数量为所述员工组合中各个待排班员工的空闲时段之和;
从所述满足第一预设条件的多个员工组合中,筛选满足第二预设条件的员工组合,其中,所述第二预设条件为所述员工组合在所述预设时间的各个时段的员工供给数量均不小于所述员工需求数量,所述员工供给数量根据所述员工组合中各个待排班员工的空闲时段计算得到。
作为一种可选的实施方式,所述处理器702在执行所述存储器701上的计算机程序时,具体可以实现以下步骤:
从所述多个员工组合中筛选满足第一预设条件的多个员工组合;
在所述满足第一预设条件的员工组合的数量超过预设数量时,选择所述满足第一预设条件的员工组合中所述总员工供给数量最大的预设数量的员工组合。
作为一种可选的实施方式,所述处理器702在执行所述存储器701上的计算机程序时,具体可以实现以下步骤:
根据梯度下降法,对所述员工组合中的待排班员工的空闲时段进行编排,得到排班结果。
作为一种可选的实施方式,所述处理器702在执行所述存储器701上的计算机程序时,具体可以实现以下步骤:
响应于排班指令,确定预存的多个员工角色,并生成各个所述员工角色的排班任务;
在执行所述员工角色的排班任务时,获取预存的所述员工角色的待排班员工、所述员工角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述员工角色的员工需求数量。
作为一种可选的实施方式,所述处理器702在执行所述存储器701上的计算机程序时,具体可以实现以下步骤:
在执行所述员工角色的排班任务时,获取预存的所述员工角色的待排班员工、所述员工角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述员工角色的员工需求数量;
获取为所述员工角色的设置的管理员角色;
获取预存的所述管理员角色的待排班员工、所述管理员角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述管理员角色的员工需求数量。
本实施例的一种排班设备用于实现前述的一种排班方法,因此该设备的具体实施方式可见前文中的一种排班方法的实施例部分,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
另外,由于本实施例的一种排班设备用于实现前述的一种排班方法,因此其作用与上述方法的作用相对应,这里不再赘述。
最后,本发明提供了一种计算机可读存储介质实施例,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
响应于排班指令,获取预存的待排班员工、所述待排班员工的空闲时段、以及在预设时间的各个时段的员工需求数量;确定由多个所述待排班员工组成的满足预设条件的员工组合,其中,所述预设条件为所述员工组合在所述预设时间的各个时段的员工供给数量均不小于所述员工需求数量,所述员工供给数量根据所述员工组合中各个待排班员工的空闲时段计算得到;对所述员工组合中的待排班员工的空闲时段进行编排,得到排班结果。
在一些具体的实施方式中,所述计算机可读存储介质上的计算机程序被处理器执行时,具体可以实现以下步骤:
确定由多个所述待排班员工组成的满足预设条件的多个员工组合;
分别对各个所述员工组合中的待排班员工的空闲时段进行编排,得到各个所述员工组合的排班结果;
对各个所述员工组合的排班结果进行筛选,得到最优排班结果。
在一些具体的实施方式中,所述计算机可读存储介质上的计算机程序被处理器执行时,具体可以实现以下步骤:
对预存的所述待排班员工进行随机组合,得到多个员工组合;
从所述多个员工组合中筛选满足第一预设条件的多个员工组合,其中,所述第一预设条件为所述员工组合在所述预设时间的总员工供给数量不小于总员工需求数量,所述总员工需求数量为各个时段的员工需求数量之和,所述总员工供给数量为所述员工组合中各个待排班员工的空闲时段之和;
从所述满足第一预设条件的多个员工组合中,筛选满足第二预设条件的员工组合,其中,所述第二预设条件为所述员工组合在所述预设时间的各个时段的员工供给数量均不小于所述员工需求数量,所述员工供给数量根据所述员工组合中各个待排班员工的空闲时段计算得到。
在一些具体的实施方式中,所述计算机可读存储介质上的计算机程序被处理器执行时,具体可以实现以下步骤:
从所述多个员工组合中筛选满足第一预设条件的多个员工组合;
在所述满足第一预设条件的员工组合的数量超过预设数量时,选择所述满足第一预设条件的员工组合中所述总员工供给数量最大的预设数量的员工组合。
在一些具体的实施方式中,所述计算机可读存储介质上的计算机程序被处理器执行时,具体可以实现以下步骤:
根据梯度下降法,对所述员工组合中的待排班员工的空闲时段进行编排,得到排班结果。
在一些具体的实施方式中,所述计算机可读存储介质上的计算机程序被处理器执行时,具体可以实现以下步骤:
响应于排班指令,确定预存的多个员工角色,并生成各个所述员工角色的排班任务;
在执行所述员工角色的排班任务时,获取预存的所述员工角色的待排班员工、所述员工角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述员工角色的员工需求数量。
在一些具体的实施方式中,所述计算机可读存储介质上的计算机程序被处理器执行时,具体可以实现以下步骤:
在执行所述员工角色的排班任务时,获取预存的所述员工角色的待排班员工、所述员工角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述员工角色的员工需求数量;
获取为所述员工角色的设置的管理员角色;
获取预存的所述管理员角色的待排班员工、所述管理员角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述管理员角色的员工需求数量。
本实施例的一种计算机可读存储介质用于实现前述的一种排班方法,因此其具体实施方式可见前文中的一种排班方法的实施例部分,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
另外,由于本实施例的一种计算机可读存储介质用于实现前述的一种排班方法,因此其作用与上述方法的作用相对应,这里不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种排班方法、装置、设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (10)

1.一种排班方法,其特征在于,包括:
响应于排班指令,获取预存的待排班员工、所述待排班员工的空闲时段、以及在预设时间的各个时段的员工需求数量;
确定由多个所述待排班员工组成的满足预设条件的员工组合,其中,所述预设条件为所述员工组合在所述预设时间的各个时段的员工供给数量均不小于所述员工需求数量,所述员工供给数量根据所述员工组合中各个待排班员工的空闲时段计算得到;
对所述员工组合中的待排班员工的空闲时段进行编排,得到排班结果。
2.如权利要求1所述的方法,其特征在于,所述确定由多个所述待排班员工组成的满足预设条件的员工组合,包括:
确定由多个所述待排班员工组成的满足预设条件的多个员工组合;
所述对所述员工组合中的待排班员工的空闲时段进行编排,得到排班结果,包括:
分别对各个所述员工组合中的待排班员工的空闲时段进行编排,得到各个所述员工组合的排班结果;
对各个所述员工组合的排班结果进行筛选,得到最优排班结果。
3.如权利要求2所述的方法,其特征在于,所述确定由多个所述待排班员工组成的满足预设条件的员工组合,其中,所述预设条件为所述员工组合在所述预设时间的各个时段的员工供给数量均不小于所述员工需求数量,所述员工供给数量根据所述员工组合中各个待排班员工的空闲时段计算得到,包括:
对预存的所述待排班员工进行随机组合,得到多个员工组合;
从所述多个员工组合中筛选满足第一预设条件的多个员工组合,其中,所述第一预设条件为所述员工组合在所述预设时间的总员工供给数量不小于总员工需求数量,所述总员工需求数量为各个时段的员工需求数量之和,所述总员工供给数量为所述员工组合中各个待排班员工的空闲时段之和;
从所述满足第一预设条件的多个员工组合中,筛选满足第二预设条件的员工组合,其中,所述第二预设条件为所述员工组合在所述预设时间的各个时段的员工供给数量均不小于所述员工需求数量,所述员工供给数量根据所述员工组合中各个待排班员工的空闲时段计算得到。
4.如权利要求3所述的方法,其特征在于,所述从所述多个员工组合中筛选满足第一预设条件的多个员工组合,包括:
从所述多个员工组合中筛选满足第一预设条件的多个员工组合;
在所述满足第一预设条件的员工组合的数量超过预设数量时,选择所述满足第一预设条件的员工组合中所述总员工供给数量最大的预设数量的员工组合。
5.如权利要求1所述的方法,其特征在于,所述对所述员工组合中的待排班员工的空闲时段进行编排,得到排班结果,包括:
根据梯度下降法,对所述员工组合中的待排班员工的空闲时段进行编排,得到排班结果。
6.如权利要求1-5任意一项所述的方法,其特征在于,所述响应于排班指令,获取预存的待排班员工、所述待排班员工的空闲时段、以及在预设时间的各个时段的员工需求数量,包括:
响应于排班指令,确定预存的多个员工角色,并生成各个所述员工角色的排班任务;
在执行所述员工角色的排班任务时,获取预存的所述员工角色的待排班员工、所述员工角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述员工角色的员工需求数量。
7.如权利要求6所述的方法,其特征在于,所述在执行所述员工角色的排班任务时,获取预存的所述员工角色的待排班员工、所述员工角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述员工角色的员工需求数量,包括:
在执行所述员工角色的排班任务时,获取预存的所述员工角色的待排班员工、所述员工角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述员工角色的员工需求数量;
获取为所述员工角色的设置的管理员角色;
获取预存的所述管理员角色的待排班员工、所述管理员角色的待排班员工的空闲时段、以及在预设时间的各个时段的所述管理员角色的员工需求数量。
8.一种排班装置,其特征在于,包括:
数据获取模块:用于响应于排班指令,获取预存的待排班员工、所述待排班员工的空闲时段、以及在预设时间的各个时段的员工需求数量;
员工组合确定模块:用于确定由多个所述待排班员工组成的满足预设条件的员工组合,其中,所述预设条件为所述员工组合在所述预设时间的各个时段的员工供给数量均不小于所述员工需求数量,所述员工供给数量根据所述员工组合中各个待排班员工的空闲时段计算得到;
空闲时段编排模块:用于对所述员工组合中的待排班员工的空闲时段进行编排,得到排班结果。
9.一种排班设备,其特征在于,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序以实现如权利要求1-7任意一项所述的一种排班方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7任意一项所述的一种排班方法的步骤。
CN201811469172.8A 2018-11-27 2018-11-27 一种排班方法、装置及设备 Pending CN109583840A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811469172.8A CN109583840A (zh) 2018-11-27 2018-11-27 一种排班方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811469172.8A CN109583840A (zh) 2018-11-27 2018-11-27 一种排班方法、装置及设备

Publications (1)

Publication Number Publication Date
CN109583840A true CN109583840A (zh) 2019-04-05

Family

ID=65927109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811469172.8A Pending CN109583840A (zh) 2018-11-27 2018-11-27 一种排班方法、装置及设备

Country Status (1)

Country Link
CN (1) CN109583840A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110705815A (zh) * 2019-08-12 2020-01-17 瑞幸咖啡信息技术(厦门)有限公司 门店排班系统及方法
CN111639880A (zh) * 2020-06-09 2020-09-08 上海迎盾科技有限公司 智能排班方法及装置、计算机可读存储介质
CN112396257A (zh) * 2020-12-24 2021-02-23 亿景智联(北京)科技有限公司 利用强化学习实现的排班规划的方法和系统
CN113066543A (zh) * 2021-04-12 2021-07-02 北京药明津石医药科技有限公司 临床研究协调员排程方法、装置、计算机设备和存储介质
CN113379205A (zh) * 2021-05-28 2021-09-10 上海春秋航空科技有限公司 一种机组排班方法
CN113570178A (zh) * 2020-04-28 2021-10-29 阿里巴巴集团控股有限公司 排班方法、设备、装置及存储介质

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110705815A (zh) * 2019-08-12 2020-01-17 瑞幸咖啡信息技术(厦门)有限公司 门店排班系统及方法
CN113570178A (zh) * 2020-04-28 2021-10-29 阿里巴巴集团控股有限公司 排班方法、设备、装置及存储介质
CN111639880A (zh) * 2020-06-09 2020-09-08 上海迎盾科技有限公司 智能排班方法及装置、计算机可读存储介质
CN112396257A (zh) * 2020-12-24 2021-02-23 亿景智联(北京)科技有限公司 利用强化学习实现的排班规划的方法和系统
CN113066543A (zh) * 2021-04-12 2021-07-02 北京药明津石医药科技有限公司 临床研究协调员排程方法、装置、计算机设备和存储介质
CN113066543B (zh) * 2021-04-12 2022-04-19 上海药明津石医药科技有限公司 临床研究协调员排程方法、装置、计算机设备和存储介质
CN113379205A (zh) * 2021-05-28 2021-09-10 上海春秋航空科技有限公司 一种机组排班方法
CN113379205B (zh) * 2021-05-28 2023-08-18 上海春秋航空科技有限公司 一种机组排班方法

Similar Documents

Publication Publication Date Title
CN109583840A (zh) 一种排班方法、装置及设备
CN110751358A (zh) 一种机场地面服务人员的排班方法、电子设备及存储介质
CN110209728A (zh) 一种分布式异构数据库同步方法、电子设备及存储介质
CN108197296A (zh) 基于Elasticsearch索引的数据存储方法
CN107092655A (zh) 用于Android宽屏设备中组图的循环展示方法及系统
CN107665212A (zh) 一种实现法院分案的方法及装置
CN108647771A (zh) 一种混合云环境下科学工作流数据的布局方法
CN109669644A (zh) 一种数据存储的方法和装置
CN111539613A (zh) 案件分配方法及装置
CN109710227A (zh) 一种纹理图集调度的方法
CN110460987B (zh) 一种写卡方法、装置、服务器和存储介质
CN102103607A (zh) 一种无刷新批量上传图片并自动获取图片信息的技术
CN107943927B (zh) 一种分布式存储系统中多维数据的存储模式转换方法
CN109660623A (zh) 一种云服务资源的分配方法、装置和计算机可读存储介质
CN105930521B (zh) 一种数据库管理装置和方法
CN106815720A (zh) 自动排班的全局调整系统及方法
CN103164340B (zh) 对象的存储方法及装置、终端
CN106156197A (zh) 一种数据库的查询方法和装置
Rjoub Courses timetabling based on hill climbing algorithm
CN106126343A (zh) 基于增量式分区策略的MapReduce数据均衡方法
CN103064862A (zh) 一种多指标排序数据处理方法及设备
CN102208080A (zh) 一种优化服务资源的方法及系统
Silverman et al. Sample size re-estimation and other midcourse adjustments with sequential parallel comparison design
CN113807065B (zh) 一种颜色均衡的方法、装置及电子设备
CN110046173A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190405

RJ01 Rejection of invention patent application after publication