140 likes | 203 Views
This research focuses on a personnel scheduling model aiming to maximize satisfaction and minimize dissatisfaction among employees. The model involves fixed work quantities, time-dependent linear employee dissatisfaction functions, and ordering restrictions. The scheduling approach includes dynamic programming algorithms and greedy strategies to minimize total dissatisfaction. Future work includes optimizing schedules for increasing optimal employee times. The study provides a comprehensive solution for efficient and effective personnel scheduling.
E N D
Minimum Dissatisfaction Personnel Scheduling Mugurel Ionut Andreica Politehnica University of Bucharest Computer Science Department Romulus Andreica, Angela Andreica Commercial Academy Satu Mare
Summary • Motivation • Personnel Scheduling Model • Scheduling with Personnel Ordering Restrictions • Scheduling with Increasing Optimal Employee Times • Conclusions & Future Work Minimum Dissatisfaction Personnel Scheduling
Motivation • personnel scheuling objectives • maximize productivity • minimize losses • maximize profit • maximize satisfaction • minimize dissatisfaction Minimum Dissatisfaction Personnel Scheduling
Personnel Scheduling Model • fixed quantity of work • arbitrarily decomposable into a sequence of activities • N employees • employee dissatisfaction=time dependent linear function • constraints • ordering constraints • time constraints Minimum Dissatisfaction Personnel Scheduling
Scheduling with Personnel Ordering Restrictions (1/5) • any number of activities • take “zero” time to execute • tai=time when activity i is scheduled • dissatisfaction of employee j: ds(j,t) • ds(j,t)=wj·|t-tej| • wj=“weight” of the employee j • tej=optimal employee time (for employee j) • a(j)=the activity to which employee j is assigned • total dissatisfaction: Minimum Dissatisfaction Personnel Scheduling
Scheduling with Personnel Ordering Restrictions (2/5) • we can choose • total number of activities • times when activities are executed • ordering of activties: tai<taj => i<j • assignment of employees to activities • objective: minimize total dissatisfaction • constraints • u<v => a(u)≤a(v) • ordering of employees (1,2,...,n) => employee u must be assigned to an earlier (the same) activity than (as) employee v (u<v) Minimum Dissatisfaction Personnel Scheduling
Scheduling with Personnel Ordering Restrictions (3/5) • Tmax=max{tei} not too large + integer time moments => dynamic programming algorithm (O(N·Tmax)) • Dmin[i,t]=the minimum overalldissatisfaction of the employees i, i+1, …, N, if they are assigned to activities scheduled at time moments t’≥t • Dmin[N+1, t]=0 Minimum Dissatisfaction Personnel Scheduling
Scheduling with Personnel Ordering Restrictions (4/5) • greedy algorithm • Tmax may be arbitrary • (integer time moments) • tasgn[i]=the time moment when a(i) is scheduled • initially, tasgn[i]=0 (for all employees) • during the algorithm’s execution • if (tasgn[i]=t) => may increase to t’>t (preserving the ordering constraints) • dinc[j]=the value by which the dissatisfaction of employee j increases if the employee is reassigned to an activity starting at time (tasgn[i]+1) • dinc[j]=wj, if tej≤tasgn[j] • dinc[j]=–wj, if tej>tasgn[j] • maintain an array incsum: Minimum Dissatisfaction Personnel Scheduling
Scheduling with Personnel Ordering Restrictions (5/5) • select the minimum value of the array incsum (incsum[p]) • incsum[p]<0 • Tshift=largest negative value from the set {tasgn[q]-teq | p≤q≤N } • increase tasgn[q] (p≤q≤N) by |Tshift| • incsum[p]≥0 • the algorithm stops • easy implementation: O(N2) • tricky implementation (using the segment tree data structure): O(N·log(N)) Minimum Dissatisfaction Personnel Scheduling
Scheduling with Increasing Optimal Employee Times (1/3) • same problem parameters as before, except: • te1≤te2≤…≤teN • constraints • fixed number of activities: k • schedule activities only at optimal employee times • extra parameter: • if an activity is scheduled at time tei => dei (employer’s dissatisfaction) • new objective • minimize total dissatisfaction: employees’ dissatisfaction + employer’s dissatisfaction Minimum Dissatisfaction Personnel Scheduling
Scheduling with Increasing Optimal Employee Times (2/3) • dynamic programming algorithm • Dmin[i,j,0]=the minimum overall dissatisfaction if the ith activity is scheduled at time tej (and all the employees 1,2,…,j are assigned to one of the activities 1,2,..,i) • Dmin[i,j,1]=the minimum overall dissatisfaction if the ith activity is scheduled at a time moment t≤tej (and all the employees 1,2,…,j are assigned to one of the activities 1,2,..,i) Minimum Dissatisfaction Personnel Scheduling
Scheduling with Increasing Optimal Employee Times (3/3) • initial values • Dmin[0,0,0]=Dmin[0,0,1]=0 • Dmin[0,j,0]=Dmin[0,j,1]=+∞ (for j>0) • the answer=Dmin[k,N,1] • naive algorithm: O(N2·k) • tricky implementation: O(N·k) • lower envelope of half-lines • double-ended queue (deque) data structure Minimum Dissatisfaction Personnel Scheduling
Conclusions & Future Work • two (related) personnel scheduling problems • employee dissatisfaction -- time-dependent linear functions • complete matehmatical models + efficient algorithms for computing optimal schedules • results: mainly of theoretical interest => first step towards (more) practical situations Minimum Dissatisfaction Personnel Scheduling
Thank You ! Minimum Dissatisfaction Personnel Scheduling