本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種自動(dòng)排班的全局調(diào)整系統(tǒng)及方法。
背景技術(shù):
排班是合理安排上班人力的重要手段,在所有企業(yè)中均廣泛應(yīng)用。排班主要是根據(jù)公司實(shí)際業(yè)務(wù)發(fā)展需要,合理的安排各個(gè)時(shí)間段內(nèi)上班人力,保證滿足公司業(yè)務(wù)需求,且又不引起人力資源的浪費(fèi)。一般企業(yè)中大都由管理人員或者專門的排班師進(jìn)行手動(dòng)排班,該工作方式存在天然缺陷:1)排班結(jié)果難以量化比較,排班人員的經(jīng)驗(yàn)、技能、應(yīng)變能力等各方面的綜合素質(zhì)都會(huì)影響排班結(jié)果。2)排班的效率低、耗時(shí)長,對(duì)排班人員的工作壓力提出較高要求。3)每個(gè)排班人員有自己的排班風(fēng)格和偏好,會(huì)引起排班結(jié)果存在較大差異,對(duì)上班員工的自我調(diào)節(jié)能力存在一定的考驗(yàn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是為了克服現(xiàn)有技術(shù)中采用手動(dòng)排班導(dǎo)致的排班效率不高、排班公平性較差的缺陷,提供一種自動(dòng)排班的全局調(diào)整系統(tǒng)及方法。
本發(fā)明是通過下述技術(shù)方案來解決上述技術(shù)問題:
一種自動(dòng)排班的全局調(diào)整方法,包括以下步驟:
S1、獲取所有班組的多個(gè)下班時(shí)間,根據(jù)所述下班時(shí)間計(jì)算對(duì)應(yīng)的上班時(shí)間;
S2、對(duì)所述上班時(shí)間進(jìn)行遍歷,獲取最晚上班時(shí)間;
S3、將多個(gè)所述上班時(shí)間與所述最晚上班時(shí)間進(jìn)行對(duì)比,獲取與所述最晚上班時(shí)間的時(shí)間間隔不大于第一時(shí)間值的上班時(shí)間所對(duì)應(yīng)的班組;
S4、將所述所對(duì)應(yīng)的班組的上班時(shí)長減小一第二時(shí)間值。
較佳地,在步驟S2中,對(duì)所述下班時(shí)間進(jìn)行遍歷,獲取最早下班時(shí)間;
在步驟S3中,將多個(gè)下班時(shí)間與所述最早下班時(shí)間進(jìn)行對(duì)比,獲取與所述最早下班時(shí)間的時(shí)間間隔不小于第三時(shí)間值的下班時(shí)間所對(duì)應(yīng)的班組。
較佳地,在步驟S1之前,還包括以下步驟:
S00、所述班組包括多個(gè)實(shí)際放休組和多個(gè)可放休組,獲取所述實(shí)際放休組和所述可放休組的累計(jì)加班時(shí)間。
較佳地,在步驟S00之后,還包括以下步驟:
S01、獲取所述實(shí)際放休組中具有最小累計(jì)加班時(shí)間的班組,以及可放休組中具有最大累計(jì)加班時(shí)間的班組,并在所述最小累計(jì)加班時(shí)間小于所述最大累計(jì)加班時(shí)間,交換所述實(shí)際放休組中具有最小累計(jì)加班時(shí)間的班組和所述可放休組中具有最大累計(jì)加班時(shí)間的班組的排班狀態(tài);所述排班狀態(tài)包括上班和休息。
較佳地,在步驟S01中,將所述實(shí)際放休組中具有最小累計(jì)加班時(shí)間的班組的排班狀態(tài)設(shè)置為上班,將所述可放休組中具有最大累計(jì)加班時(shí)間的班組的排班狀態(tài)設(shè)置為休息。
一種自動(dòng)排班的全局調(diào)整系統(tǒng),包括:
時(shí)間獲取模塊,用于獲取所有班組的多個(gè)下班時(shí)間,根據(jù)所述下班時(shí)間計(jì)算對(duì)應(yīng)的上班時(shí)間;
時(shí)間篩選模塊,用于對(duì)所述上班時(shí)間進(jìn)行遍歷,獲取最晚上班時(shí)間;
第一對(duì)比模塊,用于將多個(gè)所述上班時(shí)間與所述最晚上班時(shí)間進(jìn)行對(duì)比,獲取與所述最晚上班時(shí)間的時(shí)間間隔不大于第一時(shí)間值的上班時(shí)間所對(duì)應(yīng)的班組;
調(diào)整模塊,用于將所述所對(duì)應(yīng)的班組的上班時(shí)長減小一第二時(shí)間值。
較佳地,所述時(shí)間篩選模塊還用于對(duì)所述下班時(shí)間進(jìn)行遍歷,獲取最早下班時(shí)間;所述第一對(duì)比模塊還用于將多個(gè)下班時(shí)間與所述最早下班時(shí)間進(jìn)行對(duì)比,獲取與所述最早下班時(shí)間的時(shí)間間隔不小于一第三時(shí)間值的下班時(shí)間所對(duì)應(yīng)的班組。
較佳地,所述全局調(diào)整系統(tǒng)還包括:加班時(shí)間獲取模塊,所述班組包括多個(gè)實(shí)際放休組和多個(gè)可放休組;所述加班時(shí)間獲取模塊用于獲取所述實(shí)際放休組和所述可放休組的累計(jì)加班時(shí)間。
較佳地,所述全局調(diào)整系統(tǒng)還包括第二對(duì)比模塊,所述第二對(duì)比模塊用于獲取所述實(shí)際放休組中具有最小累計(jì)加班時(shí)間的班組,以及可放休組中具有最大累計(jì)加班時(shí)間的班組,并在所述最小累計(jì)加班時(shí)間小于所述最大累計(jì)加班時(shí)間,交換所述實(shí)際放休組中具有最小累計(jì)加班時(shí)間的班組和所述可放休組中具有最大累計(jì)加班時(shí)間的班組的排班狀態(tài);所述排班狀態(tài)包括上班和休息。
較佳地,所述第二對(duì)比模塊還用于將所述實(shí)際放休組中具有最小累計(jì)加班時(shí)間的班組的排班狀態(tài)設(shè)置為上班,以及將所述可放休組中具有最大累計(jì)加班時(shí)間的班組的排班狀態(tài)設(shè)置為休息。
本發(fā)明的積極進(jìn)步效果在于:本發(fā)明的自動(dòng)排班的全局調(diào)整系統(tǒng)及方法可以保證所有班組的排班的公平性,提高了人力利用率。
附圖說明
圖1為本發(fā)明一較佳實(shí)施例的自動(dòng)排班的全局調(diào)整方法的流程圖。
圖2為本發(fā)明一較佳實(shí)施例的自動(dòng)排班的全局調(diào)整系統(tǒng)的結(jié)構(gòu)示意圖圖。
具體實(shí)施方式
下面通過實(shí)施例的方式進(jìn)一步說明本發(fā)明,但并不因此將本發(fā)明限制在所述的實(shí)施例范圍之中。
如圖1所示,一種自動(dòng)排班的全局調(diào)整方法,包括以下步驟:
步驟101、所述班組包括多個(gè)實(shí)際放休組和多個(gè)可放休組,獲取所述實(shí)際放休組和所述可放休組的累計(jì)加班時(shí)間。
步驟102、獲取所述實(shí)際放休組中具有最小累計(jì)加班時(shí)間的班組,以及可放休組中具有最大累計(jì)加班時(shí)間的班組,并在所述最小累計(jì)加班時(shí)間小于所述最大累計(jì)加班時(shí)間,交換所述實(shí)際放休組中具有最小累計(jì)加班時(shí)間的班組和所述可放休組中具有最大累計(jì)加班時(shí)間的班組的排班狀態(tài);所述排班狀態(tài)包括上班和休息。其中,將所述實(shí)際放休組中具有最小累計(jì)加班時(shí)間的班組的排班狀態(tài)設(shè)置為上班,將所述可放休組中具有最大累計(jì)加班時(shí)間的班組的排班狀態(tài)設(shè)置為休息。通過多次重復(fù)步驟106中的實(shí)際放休組中的班組的最小累計(jì)加班時(shí)間和可放休組中的班組的最大累計(jì)加班時(shí)間的對(duì)比,直至實(shí)際放休組中的班組的最小累計(jì)加班時(shí)間大于可放休組中的班組的最大累計(jì)甲板時(shí)間。保證各班組的歷史加班時(shí)間和放休時(shí)間趨于一致。
比如,若處于業(yè)務(wù)旺季,在安排加班時(shí),優(yōu)先安排歷史加班累計(jì)時(shí)間最少的班組;若處于業(yè)務(wù)淡季,若安排放休時(shí),則優(yōu)先安排歷史加班累計(jì)最多的組。
步驟103、獲取所有班組的多個(gè)下班時(shí)間,根據(jù)所述下班時(shí)間計(jì)算對(duì)應(yīng)的上班時(shí)間。
步驟104、對(duì)所述上班時(shí)間進(jìn)行遍歷,獲取最晚上班時(shí)間。并且在步驟104中,對(duì)所述下班時(shí)間進(jìn)行遍歷,獲取最早下班時(shí)間。
步驟105、將多個(gè)所述上班時(shí)間與所述最晚上班時(shí)間進(jìn)行對(duì)比,獲取與所述最晚上班時(shí)間的時(shí)間間隔不大于第一時(shí)間值的上班時(shí)間所對(duì)應(yīng)的班組。在步驟105中,還包括:將多個(gè)下班時(shí)間與所述最早下班時(shí)間進(jìn)行對(duì)比,獲取與所述最早下班時(shí)間的時(shí)間間隔不小于第三時(shí)間值的下班時(shí)間所對(duì)應(yīng)的班組。比如第一時(shí)間值可以取為1小時(shí),第一時(shí)間值的取值并不限定于此。
步驟106、將所述所對(duì)應(yīng)的班組的上班時(shí)長減小一第二時(shí)間值。比如該第二時(shí)間值為0.5小時(shí),第二時(shí)間值的取值并不限定于此。這樣可以要求每天先來上班的組先下班,同時(shí)避免出現(xiàn)先來上班的組后下班;以及,每天同時(shí)下班的組,其上班時(shí)間差距不能超過預(yù)設(shè)的第一時(shí)間值。
這樣,通過縮短特定班組的上班時(shí)長以及調(diào)整相應(yīng)班組的加班和放休,保證所有班組的排班的公平性,提高了人力利用率。
在實(shí)際的計(jì)算機(jī)程序中,可以通過多級(jí)遺傳算法來迭代以獲取最優(yōu)自動(dòng)排班表。
如圖2所示,一種自動(dòng)排班的全局調(diào)整系統(tǒng),包括:
時(shí)間獲取模塊11,用于獲取所有班組的多個(gè)下班時(shí)間,根據(jù)所述下班時(shí)間計(jì)算對(duì)應(yīng)的上班時(shí)間。
時(shí)間篩選模塊12,用于對(duì)所述上班時(shí)間進(jìn)行遍歷,獲取最晚上班時(shí)間。
第一對(duì)比模塊13,用于將多個(gè)所述上班時(shí)間與所述最晚上班時(shí)間進(jìn)行對(duì)比,獲取與所述最晚上班時(shí)間的時(shí)間間隔不大于第一時(shí)間值的上班時(shí)間所對(duì)應(yīng)的班組。
調(diào)整模塊14,用于將所述所對(duì)應(yīng)的班組的上班時(shí)長減小一第二時(shí)間值。
所述時(shí)間篩選模塊12還用于對(duì)所述下班時(shí)間進(jìn)行遍歷,獲取最早下班時(shí)間;所述第一對(duì)比模塊還用于將多個(gè)下班時(shí)間與所述最早下班時(shí)間進(jìn)行對(duì)比,獲取與所述最早下班時(shí)間的時(shí)間間隔不小于一第三時(shí)間值的下班時(shí)間所對(duì)應(yīng)的班組。
所述全局調(diào)整系統(tǒng)還包括:加班時(shí)間獲取模塊15,所述班組包括多個(gè)實(shí)際放休組和多個(gè)可放休組;所述加班時(shí)間獲取模塊15用于獲取所述實(shí)際放休組和所述可放休組的累計(jì)加班時(shí)間。
所述全局調(diào)整系統(tǒng)還包括第二對(duì)比模塊16,所述第二對(duì)比模塊16用于獲取所述實(shí)際放休組中具有最小累計(jì)加班時(shí)間的班組,以及可放休組中具有最大累計(jì)加班時(shí)間的班組,并在所述最小累計(jì)加班時(shí)間小于所述最大累計(jì)加班時(shí)間,交換所述實(shí)際放休組中具有最小累計(jì)加班時(shí)間的班組和所述可放休組中具有最大累計(jì)加班時(shí)間的班組的排班狀態(tài);所述排班狀態(tài)包括上班和休息。
所述第二對(duì)比模塊16還用于將所述實(shí)際放休組中具有最小累計(jì)加班時(shí)間的班組的排班狀態(tài)設(shè)置為上班,以及將所述可放休組中具有最大累計(jì)加班時(shí)間的班組的排班狀態(tài)設(shè)置為休息。
通過縮短特定班組的上班時(shí)長以及調(diào)整相應(yīng)班組的加班和放休,保證所有班組的排班的公平性,提高了人力利用率。
雖然以上描述了本發(fā)明的具體實(shí)施方式,但是本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,這僅是舉例說明,本發(fā)明的保護(hù)范圍是由所附權(quán)利要求書限定的。本領(lǐng)域的技術(shù)人員在不背離本發(fā)明的原理和實(shí)質(zhì)的前提下,可以對(duì)這些實(shí)施方式做出多種變更或修改,但這些變更和修改均落入本發(fā)明的保護(hù)范圍。