230 likes | 443 Views
Lot sizing and scheduling. Continuous manufacturing, flow shop, make-to-stock: Longer planning horizon Long runs, large setup times: cost minimization Usually repetitive structure: rotation schedule Degrees of freedom: cycle length, sequencing within cycle Intuition: increasing lot size
E N D
Lot sizing and scheduling Continuous manufacturing, flow shop, make-to-stock: • Longer planning horizon • Long runs, large setup times: cost minimization • Usually repetitive structure: rotation schedule • Degrees of freedom: cycle length, sequencing within cycle • Intuition: increasing lot size • inventory costs per unit of time • setup costs per unit of time • Examples in process industry: AKZO, Grolsch, NedCar
ELSP ELSP: Economic lot sizing and scheduling problem • Determination of lot sizes, sequence of lots (cycle) • Cost minimization: setup times/costs vs. inventory costs Standard ELSP: • 1 machine: produces item j with rate qj per time unit. • n items with processing time pj qj=1/pj • constant demand rate gj • invent. costs hj, setup cost cjk (j k), setup time sjk • cycle: j1, …,jh, corresponding run times: tj1, …,tjh
Feasibility check • Feasibility q > g (demand can be met) g/q < 1 < 1 (=machine utilization) When m>1 and n>1:
m=1, n=1, s=0 • Notation: demand rate g, production rate q, cycle length x • inventory over time during a cycle: t(q-g) t x tq = gx t=gx/q Average inventory over x:
M=1, n=1, s=0, cont. • Demand over cycle = gx • length production run to meet demand = gx/q = t • inventory growth rate = (q-g) • maximal inventory = (q-g)gx/q • Averaged inventory costs per unit of time: • Averaged setup costs per unit of time: • Optimal cycle length: • Optimal lot size: • Idle time = cycle length - length production run = x - t = , where = machine utiliz.
M=1, n=1, s=0, cont. • If production rate is ‘high’, then: • the lot size is then: this is the Economic Order Quantity (EOQ) assumption EOQ: setup cost, but no setup time as long as EOQ-lot size is feasible if increase x until
Examples M=1, n=1, s=0 • q=90, c=$2000, g=50, h=$20, no setup time • determine cycle time • determine lot size • determine machine utilization • determine idle time • how much setup time is allowed, when cycle time remains optimal? • q=0.3333, c=$90, g=0.10, h=$5, no setup time • determine x, lot size • determine total cost/day • q=0.3333, c=$90, g=0.10, h=$5 in discrete time • Find the optimal lot size by comparing total costs/day for relevant lot sizes
M=1, n>1, once per cycle, setups=0 • demand for prod. j over cycle = gjx, length prod.run of item j = gjx/qj • cycle consists of single runs of each item with identical cycle lengths: rotation schedule (sequence independent) • Now: • Hence:
Example 7.3.1: M=1, n>1, once per cycle, setups=0 • determine machine utilization • determine cycle time • determine EOQ-cycle time
m=1, n>1, j once per cycle, setups>0 • Solution OK if: = idle time • in case of sequence independent setup times: no sequencing required • in case of sequence dependent setup times sjk minimal by solving corresponding TSP, denote minimum by T Note: there are (n-1)! different sequences (rotation!!) • if then increase x until: (i.e., machine is never idle)
Example 7.3.2: M=1, n>1, once per cycle, sequence dependent setups • how many possible sequences are there? • when is a sequence feasible? • determine the optimal sequence by enumeration
§7.4: m=1, n>1, general cycle, setup times 0 • Feasible solution exists if and only if: (recall that: ) • NP hard problem: no efficient algorithms • Define sequence as: where: jk=k-th item in the sequence
m=1, n>1, general cycle, setup times 0 Define: • qk = production rate of k-th item in the sequence • tk = production time of k-th item in the sequence • uk = idle time after k-th item in the sequence • x = cycle time • v = time from start of production of item i in the k-th position until the next production of item i (in same or next cycle) then: qktk = total production during tk = total demand during v (demand must be met!) = gkv Hence:
m=1, n>1, general cycle, setup times 0 The highest inventory level is: (qk-gk)tk total inventory cost for k-th run: ELSP formulation: Ik = all positions where k is produced Lk = all items produced during v Meet demand k over cycle Meet demand k over v Cycle length
m=1, n>1, general cycle, setup times 0 (cont.) • ELSP master problem: sequence determination • ELSP subproblem: determination of cycle length, production & idle time • Frequency Fixing & Scheduling (FFS) heuristic 3 phases: 1. Computation of relative frequencies yk, tk 2. Adjustment of relative frequencies y’k, t’k 3. Sequencing Assumption: the yk runs of item k are of equal length (tk), and evenly spaced
FFS heuristic, phase 1: frequency fixing Computation of relative frequencies yk, tk prod. k is run with frequency yk. Determine yk as follows: determine tk: Lagrange multiplier Choose “appropriate” x and determine the resulting yk’s otherwise: =0
FFS heuristic, phase 2: frequency adjustment Computation of adjusted relative frequencies y’k, t’k Adjust yk and tk so that yk is integer result from literature: when the yk’s are chosen so that they are integer, and powers of 2 solution is within 6% of optimum Hence: determine y’k and the associated
FFS heuristic, phase 3: sequencing Computation of sequence in cycle Sequencing problem is equivalent to scheduling jobs on y’max parallel machines, minimizing the makespan Determine y’max=max(y’1,…y’n) = number of parallel machines For each item k, there are y’k jobs of length t’k, evenly spaced, i.e.: when m=6, and y’k=3, then there are two choices: assign the 3 jobs to (1,3,5) or to (2,4,6) Use variant of LPT-heuristic (longest processing time first) to assign the jobs in decreasing order of (y’k,t’k), with the additional restriction that jobs must be evenly spaced Finally, concatenate the schedules of the y’max machines
FFS examples 7.4.1: without setup times, x=2 7.4.2.: with setup times, x=3 1 machine, 4 items: Items 1 2 3 4 qj 400 400 500 400 gj 50 50 60 60 hj 20 20 30 70 cj 2000 2500 800 0 sj 0.5 0.2 0.1 0.2
FFS exampleschedule for y’4=4 Inventory levels 100 Item1 Item2 80 Item3 60 Item3 40 20 0 0.5 2 1 1.5 time Item4
More general ELSP models • m identical parallel machines, n items: each item must be assigned to exactly one machine: • if cycle times are identical on all machines, the loads on the respective machines must be balanced j’s added up per machine must be < 1 LPT heuristic may be applied to determine a good assignment • if cycle times are allowed to be different on the machines: * calculate cycle time for each item, as if it were a single item model * rank items in decreasing order of the cycle times * Use sequence in ranking to fill machines as long as j<1 NOTE: may lead to infeasible solution! swapping • m machines in series: • rotation schedules on both machines are the same • there may be waiting times on machine 2 (machine 1 may wait) • inventory costs remain the same; setup costs double
Exercises: • Pinedo, Chao : • 7.1 • 7.2 • 7.3