Minimum Dissatisfaction Personnel Scheduling Mugurel Ionut Andreica Politehnica University of Bucharest Computer Science Department Romulus Andreica, Angela Andreica Commercial Academy Satu Mare
Minimum Dissatisfaction Personnel Scheduling 2 Summary Motivation Personnel Scheduling Model Scheduling with Personnel Ordering Restrictions Scheduling with Increasing Optimal Employee Times Conclusions & Future Work
Minimum Dissatisfaction Personnel Scheduling 3 Motivation personnel scheuling objectives –maximize productivity –minimize losses –maximize profit –maximize satisfaction –minimize dissatisfaction
Minimum Dissatisfaction Personnel Scheduling 4 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 5 Scheduling with Personnel Ordering Restrictions (1/5) any number of activities –take “zero” time to execute –ta i =time when activity i is scheduled dissatisfaction of employee j: ds(j,t) –ds(j,t)=w j ·|t-te j | –w j =“weight” of the employee j –te j =optimal employee time (for employee j) a(j)=the activity to which employee j is assigned total dissatisfaction:
Minimum Dissatisfaction Personnel Scheduling 6 Scheduling with Personnel Ordering Restrictions (2/5) we can choose –total number of activities –times when activities are executed ordering of activties: ta i i<j –assignment of employees to activities objective: minimize total dissatisfaction constraints –u 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 7 Scheduling with Personnel Ordering Restrictions (3/5) T max =max{te i } not too large + integer time moments => dynamic programming algorithm (O(N·T max )) –D min [i,t]=the minimum overall dissatisfaction of the employees i, i+1, …, N, if they are assigned to activities scheduled at time moments t’≥t – D min [N+1, t]=0 –
Minimum Dissatisfaction Personnel Scheduling 8 Scheduling with Personnel Ordering Restrictions (4/5) greedy algorithm –T max 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]=w j, if te j ≤tasgn[j] dinc[j]=–w j, if te j >tasgn[j] –maintain an array incsum:
Minimum Dissatisfaction Personnel Scheduling 9 Scheduling with Personnel Ordering Restrictions (5/5) select the minimum value of the array incsum (incsum[p]) –incsum[p]<0 T shift =largest negative value from the set {tasgn[q]-te q | p≤q≤N } increase tasgn[q] (p≤q≤N) by |T shift | –incsum[p]≥0 the algorithm stops easy implementation: O(N 2 ) tricky implementation (using the segment tree data structure): O(N·log(N))
Minimum Dissatisfaction Personnel Scheduling 10 Scheduling with Increasing Optimal Employee Times (1/3) same problem parameters as before, except: –te 1 ≤te 2 ≤…≤te N constraints –fixed number of activities: k –schedule activities only at optimal employee times extra parameter: –if an activity is scheduled at time te i => de i (employer’s dissatisfaction) new objective –minimize total dissatisfaction: employees’ dissatisfaction + employer’s dissatisfaction
Minimum Dissatisfaction Personnel Scheduling 11 Scheduling with Increasing Optimal Employee Times (2/3) dynamic programming algorithm D min [i,j,0]=the minimum overall dissatisfaction if the i th activity is scheduled at time te j (and all the employees 1,2,…,j are assigned to one of the activities 1,2,..,i) D min [i,j,1]=the minimum overall dissatisfaction if the i th activity is scheduled at a time moment t≤te j (and all the employees 1,2,…,j are assigned to one of the activities 1,2,..,i)
Minimum Dissatisfaction Personnel Scheduling 12 Scheduling with Increasing Optimal Employee Times (3/3) initial values –D min [0,0,0]=D min [0,0,1]=0 –D min [0,j,0]=D min [0,j,1]=+∞ (for j>0) the answer=D min [k,N,1] naive algorithm: O(N 2 ·k) tricky implementation: O(N·k) –lower envelope of half-lines –double-ended queue (deque) data structure
Minimum Dissatisfaction Personnel Scheduling 13 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 14 Thank You !