450 likes | 577 Views
Contents College 9. Chapter 9 additional (sheets): workforce planning resource loading. Hierarchical capacity planning. Aggregate/ strategic planning. Strategic. Rough-cut process planning. Resource loading. Tactical. Engineering & process planning. Scheduling. Operational.
E N D
Contents College 9 • Chapter 9 • additional (sheets): • workforce planning • resource loading
Hierarchical capacity planning Aggregate/ strategic planning Strategic Rough-cut process planning Resource loading Tactical Engineering & process planning Scheduling Operational
Workforce planning Long term decisions • Strategic level: workforce planning • hiring/firing staff • training staff • Tactical level: resource loading • planning overtime work • hiring temporary staff (e.g. Randstad) • subcontracting • Operational level: workforce scheduling • staffing • shift scheduling • days-off scheduling Intermediate term decisions Short term decisions
Capacity planningsolution techniques • (Strategic) workforce planning: • linear programming • (Tactical) resource loading: • integer linear programming • stochastic techniques • (Operational) workforce scheduling: • integer linear programming • cyclic staffing algorithms
Workforce planning LP model(1 product, various machines) • Demand forecast: sales (St) restriction: • Machine capacity restriction (machine j): aj = production time on machine j cjt = capacity machine j in period t Xt = amount produced in period t
Workforce planning LP model (cont.) • Inventory balance restrictions: It = inventory in period t • Workforce balance restrictions (operators): Wt = workforce in period t (initial workforce=w) Ht = hired workforce in period t Ft = fired workforce in period t
Workforce planning LP model (cont.) • Operator capacity restriction (machine j): b = man-hours required to produce one item Wt = Workforce in period t Ot = Overtime in period t Xt = amount produced in period t • objective: maximize net profit, including labor, overtime, inventory, hiring/firing costs
Resource loading example:furniture manufacturer Furniture manufacturer: • Produces large quantities of furniture to order • Mostly standard products (manufacture-to-order) • 6 production activities: 1. Sawmilling (S) 2. Assembly (A) 3. Cleaning (C) 4. Painting (P) 5. Decoration (D) 6. Quality control (Q)
Resource loading example (cont.) Order acceptance: • Sales department negotiates prices & due dates (i.e. delivery dates)with customers • Given are for each department: • available machine capacity (in hours per week) • operator capacity per week (regular & overtime)
Resource loading example (cont.)example data Example customer order: S A C P D Q
Resource loading questions During order acceptance, for any given set of orders, these questions need to be answered: • When should orders be released for production? • Can the delivery dates be met? • How much operator & machine capacity is required per department per week? • Is irregular capacity (e.g. overtime work, subcontracting) required? This problem is the so-called resource loading problem
Resource loading example (cont.)loading method of planner • customer order consists of x jobs, each corresponding to a production activity • lead time = 1 week per job • operator and machine capacity check per department • repair plan, if infeasible • let each department solve their scheduling problem
Machine capacity check for D-department: Machine capacity check for Q-department:
Machine capacity check for D-department: Optimal loading of D-department:
Machine capacity check for Q-department: Optimal loading of Q-department:
Repairing an infeasible plan Tardy orders may induce penalty costs Options to come to a feasible plan: • Shift jobs in time; split jobs over 2 or more weeks • Increase order lead time • Expand operator capacity (overtime, hiring staff) • Subcontracting jobs or entire orders
Resource loading problemsformal description • Production system: job shop with operators and machine groups • Demand: a predefined set of orders that consist of jobs • Time horizon/time unit: T periods (=weeks) / hours • Order constraints: release and due dates (weeks) • Job constraints: • Pre-emption is allowed • Precedence relations (generic) • Machine and operator requirement (hours) • Optional: one-job-per-order-per-week production policy • Minimal duration
Resource loading problems (cont.)formal description • Resource capacity constraints: • Operator capacity: regular, overtime, hiring, subcontracting • Machine group capacity: regular • Objective: assign jobs to machines and operators, and: minimize the cost of the use of non-regular capacity
Resource loadingModel formulation Order plan: indicates per job per order per week whether this job may be processed in that week Input for the model as binary columns Order schedule: indicates per job per order per week the fraction that is assigned to that week Output of the model; must match with order plan
Resource loadingModel formulation (cont.) Order plan represented by a binary column: 2 1 3
Resource loadingModel objective Select one order plan per order, and determine the corresponding order schedule. Minimize the use of non-regular capacity. PROBLEM: there are exponentially many feasible order plans SOLUTION: column generation approach
Column generation algorithm Solve Restricted Linear Program (RLP) Add columns to RLP Solve pricing algorithm Columns exist with negative reduced costs? yes no LP relaxation solved
Model formulation (cont.)MILP model for resource loading objective function minimize subject to: select order plan match order schedule with order plan all work must be done machine capacity restriction operator capacity restriction variable restrictions
Workforce scheduling topics (chapter 9) • Days-off scheduling • assigning employees to work-patterns • various assignment patterns over the cycle • Shift scheduling • assigning employees to shift-patterns • each shift has its own cost • objective: minimize cost • Cyclic staffing problem & extensions • assigning people to m-period cyclic schedule, so that requirement in each period is met • Crew scheduling • transportation crew scheduling (airline industry)
Days-off scheduling Find the minimum number of employees to cover a 7-day-a-week operation, so that the following constraints are satisfied: 1. The demand per day (nj) is met (n1=Sunday) 2. Each employee is given each k1 out of k2 weekends off 3. Each employee works exactly 5 out of 7 days 4. Each employee works no more than 6 consecutive days
Days-off scheduling (cont.) W = required workforce 3 lower bounds on W: 1. weekend constraint: 2. total demand constraint: 3. maximum daily demand constraint:
Days-off scheduling (cont.) Define: n = max (n1,n7) = maximum weekend demand uj = surplus of employees = W - nj (if j=2,…,6) n - nj (if j=1,7) Assumption: the first day to be scheduled is a Saturday
Days-off scheduling algorithm • STEP 1:schedule the weekends off maximum demand in weekend is n W-n empl. Free Cyclically assign the weekends of to W-n employees • STEP 2:Determine the additional off-day pairs Construct a list of n “off day”-pairs (k,l): • choose day k, such that uk =max (u1,…,u7) • choose day l (l k) such that ul 0, if ul = 0 for all l, then set l = k. • decrease uk and ul with 1 Pairs (k,k) are non-distinctive pairs
Off-days required during week i Days-off scheduling algorithm (cont.) • STEP 3:Categorize employees in week i type T1 weekend i off weekend i+1 off 0 type T2 weekend i off weekend i+1 on 1 type T3 weekend i on weekend i+1 off 1 type T4 weekend i on weekend i+1 on 2 note: |T3|+|T4| = n, and |T2|+|T4| = n |T2|=|T3| pair each employee of T2 with an employee of T3
Days-off scheduling algorithm (cont.) • STEP 4:Assign the n off-day pairs in week i First assign off-day pairs to the employees of T4 Then assign off-day pairs to the T2-T3 pairs of employees. Assign the earliest day to the T3-empl. Set i = i+1 and GO TO STEP 3.
Days-off scheduling example Demand requirement: n = max(d1,d7)=2 surplus: day-pairs: Sun-Mon & Mon-Mon
Days-off scheduling example (cont.) Minimum 4-day, maximum 6-day work stretch:
Days-off scheduling algorithm properties • If all off-pairs are distinct maximum work-stretch is 5 days • Schedule always satisfies the constraints • There exists an optimal cyclic schedule, that may be found by the algorithm
Shift scheduling • Generalization of days-off scheduling problem • Cycle of periods is predetermined (e.g. 1 day cycle, with periods of hours) • Several shift patterns, with associated costs cj. Shift pattern j is binary vector a(i,j). • Personnel requirement bi per period solution method: linear programming
Shift scheduling ILP model N patterns m periods bi = requirement
Shift scheduling ILP model properties • Strongly NP-hard problem • When shift-columns contain a contiguous set of 1’s, the LP-relaxation solution is integer (note: LP optimization in polynomial time) • Other special cases of shift scheduling also solvable: cyclic staffing problem
Cyclic staffing problem • Special case of shift planning problem • m-period cyclic schedule: period m is followed by period 1 • Personnel requirement is bi per period • Each person works k consecutive periods, and is free for the remaining m-k periods • Example: (3,5)-cyclic staffing problem: • Columns of A do not always have a contiguous set of ones LP solution close to ILP solution
Exact cyclic staffing algorithm STEP 1: solve LP-relaxation solution vector x* if x* integer done, else: go to step 2 STEP 2: form two linear programs LP’ and LP’’, so that these constraints are added respectively: LP’’ has an optimal solution that is integer if LP’ is not feasible LP’’ solution optimal otherwise: LP’ has an optimal solution that is integer, and the optimal solution is the best of the solutions of LP’ and LP’’
Extensions of cyclic staffing • Days-off scheduling with a fixed cycle • each employee 2 days off a week • every other weekend off (e.g. 1st, 3rd, 5th, etc.) solved by column generation • Cyclic staffing with overtime • 3 work shifts: 8:00-16:00, 16:00-0:00, 0:00-8:00 • matrix A: solved by algorithm 9.4.1 (cyclic staffing algorithm)
Extensions of cyclic staffing (cont.) • Cyclic staffing with linear penalties for under- and overstaffing • varying demand bi • penalty ci’ and ci’’ for under- and overstaffing • understaffing = x’ overstaffing = bi- (ai1x1+ … + ai1x1) - xi’ model: if c-c’’A0 and c’-c’’ 0 solvable by alg. 9.4.1
Crew scheduling • Applications in airline/transportation industry • Each crew performs a number of jobs (flight legs) in a so-called ‘round trip’ • There are m jobs (flight legs), and n feasible round trips • A round trip has costs cj • objective: choose a set of round trips, so that each flight leg is covered exactly once, by one and only one round trip set partitioning problem • solution method: column generation heuristic on ILP model
ILP model for crew scheduling N round trips m jobs