minimum dissatisfaction personnel scheduling
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Minimum Dissatisfaction Personnel Scheduling
Mugurel Ionut AndreicaPolitehnica University of Bucharest
Computer Science Department
Romulus Andreica, Angela AndreicaCommercial 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– 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: ),( )(
1ja
N
j
tajdsD
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: 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
7
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 overall dissatisfaction of
the employees i, i+1, …, N, if they are assigned to activities scheduled at time moments t’≥t
– Dmin[N+1, t]=0
–
],1[),(
]1,[min],[
min
min
1min tiDtids
tiDtiD
Ni
Minimum Dissatisfaction Personnel Scheduling
8
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:
N
jp
pdincjincsum ][][
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
• 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
10
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
11
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
12
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
})(]1,',1[{min]0,,[1'
min'0
min
j
jppjpj
jjtetewdejiDjiD
})(]0,',[{min]1,,[1'
'min'1
min
j
jpjpp
jjtetewjiDjiD
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 !