Contents College 9 • Chapter 9 • additional (sheets): – workforce planning – resource loading 1 Hierarchical capacity planning Aggregate/ strategic planning Strategic Tactical Operational Rough-cut process planning Resource loading Engineering & process planning Scheduling 2 Workforce planning • Strategic level: workforce planning – hiring/firing staff – training staff • Tactical level: resource loading – planning overtime work – hiring temporary staff (e.g. Randstad) – subcontracting Long term decisions Intermediate term decisions • Operational level: workforce scheduling – staffing – shift scheduling – days-off scheduling Short term decisions 3 Capacity planning solution techniques • (Strategic) workforce planning: – linear programming • (Tactical) resource loading: – integer linear programming – stochastic techniques • (Operational) workforce scheduling: – integer linear programming – cyclic staffing algorithms 4 Workforce planning LP model (1 product, various machines) • Demand forecast: dt demand dt (t) sales (St) restriction: d S dt (t) t t • Machine capacity restriction (machine j): aj = production time on machine j cjt = capacity machine j in period t Xt = amount produced in period t a j X t c jt (j, t) 5 Workforce planning LP model (cont.) • Inventory balance restrictions: It = inventory in period t I0 0 I t I t-1 X t S t (t 1) • Workforce balance restrictions (operators): Wt = workforce in period t (initial workforce=w) Ht = hired workforce in period t Ft = fired workforce in period t W0 w Wt Wt-1 Ht Ft (t 1) 6 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 bX t Wt Ot (j, t) • objective: maximize net profit, including labor, overtime, inventory, hiring/firing costs 7 Workforce planning LP model overview max T s S t 1 t i I t w Wt o O t h Ht f Ft subject to : dt S t dt (t) j machine, t period X t production in t a j X t c jt (j, t) S t amount sold in t I t I t 1 X t S t (t 1); I0 0 Wt workforce in t I t inventory at end of t Wt Wt 1 Ht Ft (t 1); W0 w O bX t Wt O t (t) X t , S t , I t , O t , Wt , Ht , Ft 0 (t) t overtime in t Ht hired workforce in t Ft fired workforce in t 8 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. 3. 4. 5. 6. Assembly (A) Cleaning (C) Painting (P) Decoration (D) Quality control (Q) 9 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) 10 Resource loading example (cont.) example data customer order 1 2 3 4 5 6 7 processing times (hours) 1 S (37) S (18) S (20) A (10) S (16) S (36) S (15) A A A C A A A 2 (19) (12) (21) (25) (33) (16) (10) 3 C (14) C (15) C (17) D (16) C (14) C (20) C (15) 4 D (32) P (10) Q (8) Q (7) P (16) P (15) P (15) 5 6 Q (5) D (14) Q (10) D (15) Q (9) D (15) Q (10) D (20) Q (10) due date (week) 7 8 5 5 9 9 6 Example customer order: S A C P D Q 11 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 12 Resource loading example (cont.) loading method of planner • customer order consists of x jobs, each corresponding to a production activity due • lead time = 1 week per job number date of jobs • operator and machine capacity (week) check per department 7 5 8 6 • repair plan, if infeasible 5 4 • let each department solve their 5 4 9 6 scheduling problem 9 6 6 6 start time (week) 3 3 2 2 4 4 1 13 30 order1 25 order2 5 hours Machine capacity check for Ddepartment: 35 order3 20 order4 1 15 order5 order6 7 10 4 5 2 6 7 8 order7 0 0 1 2 3 4 5 6 9 weeks 20 18 16 14 hours Machine capacity check for Qdepartment: 5 12 order2 order3 3 10 order1 order4 8 order5 6 7 4 2 4 order6 6 1 2 0 0 1 2 3 4 5 weeks 6 7 8 9 order7 30 order1 25 order2 5 hours Machine capacity check for Ddepartment: 35 order3 20 order4 1 15 order5 order6 7 10 4 5 2 6 7 8 order7 0 0 1 2 3 4 5 6 9 weeks 35 Optimal loading of D-department: 30 order1 25 hours order2 4 20 1 order3 order4 1 15 order5 order6 10 7 5 2 6 5 6 7 8 order7 7 0 0 1 2 3 4 5 weeks 9 20 18 16 14 hours Machine capacity check for Qdepartment: 5 12 order2 order3 3 10 order1 order4 8 order5 6 7 4 2 4 order6 6 order7 1 2 0 0 1 2 3 4 5 6 7 8 9 weeks 20 Optimal loading of Q-department: 18 16 order1 hours 14 order2 1 12 order3 10 order4 8 order5 6 4 3 4 4 5 7 2 6 7 5 6 order7 2 0 0 1 2 3 weeks 8 order6 9 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 17 Resource loading problems formal 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 18 Resource loading problems (cont.) formal description • Resource capacity constraints: – Operator capacity: regular, overtime, subcontracting – Machine group capacity: regular hiring, • Objective: assign jobs to machines and operators, and: minimize the cost of the use of non-regular capacity 19 Resource loading Model 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 20 Resource loading Model formulation (cont.) Order plan represented by a binary column: 2 1 3 21 Resource loading Model 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 22 Column generation algorithm Solve Restricted Linear Program (RLP) Solve pricing algorithm Columns exist with negative reduced costs? no Add columns to RLP yes LP relaxation solved 23 Model formulation (cont.) MILP model for resource loading minimize (o O h H s S X 1 (j ) t t t t t t subject to: mt objective function ) m select order plan jk k Fbjt abjtk X jk F bjt (b, j , t ) k 1 (b, j ) match order schedule with order plan all work must be done t pbj Fbjt S mt mcmt (m, t ) {b , j | b on m} pbj Fbjt ct Ot H t S mt (t ) b, j Fbjt , Ot , H t , S mt , X jk 0 m machine capacity restriction operator capacity restriction 24 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) 25 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 26 Days-off scheduling (cont.) W = required workforce 3 lower bounds on W: 1. weekend constraint: k 2 k1 W max(n1 , n7 ) k2 k 2 max(n1 , n7 ) W k 2 k1 2. total demand constraint: 1 7 5W n j W n j j1 5 j1 7 3. maximum daily demand constraint: W max n j k 2 max(n1 , n7 ) 1 7 W max nj , n j , max j k k 5 j 1 2 1 j 27 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 28 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 29 Days-off scheduling algorithm (cont.) • STEP 3: Categorize employees in week i type type type type T1 T2 T3 T4 weekend weekend weekend weekend i i i i off off on on weekend weekend weekend weekend i+1 i+1 i+1 i+1 off on off on Off-days required during week i 0 1 1 2 note: |T3|+|T4| = n, and |T2|+|T4| = n |T2|=|T3| pair each employee of T2 with an employee of T3 30 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. 31 Days-off scheduling example Demand requirement: day SMTWTFS requirement 1 0 3 3 3 3 2 n = max(d1,d7)=2 k 1 1, k 2 3 3 n 1 7 W max , n j , max n j max3,3,3 3 j 3 1 5 j 1 surplus: day S M T W T F S u(j) 1 3 0 0 0 0 0 day-pairs: Sun-Mon & Mon-Mon 32 Days-off scheduling example (cont.) employee S S M T W T F S S M T W T F S S M T W T F S 1 XX XX 2 XX 3 XX employee S S M T W T F S S M T W T F S S M T W T F S 1 XX XX 2 XX 3 X X XX employee S S M T W T F S S M T W T F S S M T W T F S 1 XX X XX 2 X XX 3 X X XX 33 Days-off scheduling example (cont.) employee S S M T W T F S S M T W T F S S M T W T F S 1 XX X X X XX 2 X XX 3 X X XX employee S S M T W T F S S M T W T F S S M T W T F S 1 XX X X X XX 2 X XX X 3 X X X XX employee S S M T W T F S S M T W T F S S M T W T F S 1 XX X X X XX 2 X XX X 3 X X X XX 34 Days-off scheduling example (cont.) employee S S M T W T F S S M T W T F S S M T W T F S 1 XX X X X XX 2 X XX X X X 3 X X X XX employee S S M T W T F S S M T W T F S S M T W T F S 1 XX X X X X XX 2 X XX X X X 3 X X X XX X Minimum 4-day, maximum 6-day work stretch: employee S S M T W T F S S M T W T F S S M T W T F S 1 XX X X X X XX 2 X XX X X X 35 3 X X X XX X Days-off scheduling algorithm properties • If all off-pairs are distinct maximum workstretch is 5 days • Schedule always satisfies the constraints • There exists an optimal cyclic schedule, that may be found by the algorithm 36 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 37 Shift scheduling ILP model min c1 x1 c 2 x 2 ... c n x n subject to : a11 x1 a12 x 2 ... a1n x n b1 N patterns m periods bi = requirement a21 x1 a22 x 2 ... a2n x n b 2 am1 x1 am2 x 2 ... amn x n bm x j 0 ( j 1, , n), integer T min c x Ax b x0 38 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 39 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 1 0 0 1 • Example: (3,5)-cyclic staffing problem: 1 1 0 0 • Columns of A do not always have a A 1 1 1 0 contiguous set of ones LP solution 0 1 1 1 close to ILP solution 0 0 1 1 40 1 1 0 0 1 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: x1 ... x n x ... x * 1 * n x1 ... x n x1* ... x *n added to LP' added to LP' ' 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 41 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: 0 1 1 1 0 0 \ 1 1 0 0 1 1 A 0 \ 1 1 0 , 0 \ 1 0 0 0 1 0 0 \ 1 1 0 0 0 0 42 solved by algorithm 9.4.1 (cyclic staffing algorithm) Extensions of cyclic staffing (cont.) • Cyclic staffing with linear penalties for underand overstaffing – varying demand bi – penalty ci’ and ci’’ for under- and overstaffing – understaffing = x’ overstaffing = bi- (ai1x1+ … + ai1x1) - xi’ model: min c x c' x 'c' ' (b A x x ' ) A x Ix' b x0 43 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 44 ILP model for crew scheduling min c1 x1 c 2 x 2 ... c n x n subject to : N round trips m jobs a11 x1 a12 x 2 ... a1n x n 1 a21 x1 a22 x 2 ... a2n x n 1 am1 x1 am2 x 2 ... amn x n 1 x j {0,1} 45
© Copyright 2025 Paperzz