140 likes | 263 Views
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
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