minimum dissatisfaction personnel scheduling

14
Minimum Dissatisfaction Personnel Scheduling Mugurel Ionut Andreica Politehnica University of Bucharest Computer Science Department Romulus Andreica, Angela Andreica Commercial Academy Satu Mare

Upload: brenna-camacho

Post on 01-Jan-2016

21 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

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 !