Date post: | 01-Jan-2016 |
Category: |
Documents |
Upload: | brenna-camacho |
View: | 20 times |
Download: | 0 times |
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