Lot sizing and scheduling Continuous manufacturing, flow shop, make-to-stock: Longer planning...

22
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
  • date post

    22-Dec-2015
  • Category

    Documents

  • view

    218
  • download

    0

Transcript of Lot sizing and scheduling Continuous manufacturing, flow shop, make-to-stock: Longer planning...

Lot sizing and schedulingContinuous 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

ELSPELSP: Economic lot sizing and scheduling problem

• Determination of lot sizes, sequence of lots (cycle)• Cost minimization:

setup times/costs vs. inventory costsStandard 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: 1j

j

m=1, n=1, s=0

• Notation: demand rate g, production rate q, cycle length x

• inventory over time during a cycle:

t x

t(q-g)

tq = gx t=gx/qAverage inventory over x: )

qxg

gx(21

)gq(qgx

21

x

))gq(t(21

x 2

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.

hxqg)gq(

21I

x1cS

)gq(hgqc2*x0)SI(

dxd

)gq(hqcg2*gx

)1(x)qg

1(xxqg

x

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 timeas long as EOQ-lot size is feasible

if increase x until

hgc2

)gq(hgqc2

qlimx

hgc2gx

)1(xs

)1(xs

1

sx)1(xs

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:

j

j

jjjj x

c)xρ1(gh

21

SI

jjjj

jj

)1(gh

c2*x0)SI(

dxd

Example 7.3.1: M=1, n>1, once per cycle, setups=0

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

• 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 TNote: there are (n-1)! different sequences (rotation!!)

• if then increase x until:

(i.e., machine is never idle)

*x)j

1(jk

s

*x)1(sminT jjk

)1(s

x

x)1(sminT

j

jk*

jjk

Example 7.3.2: M=1, n>1, once per cycle, sequence dependent setups

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

Items 1 2 3 4

s1k - 0.064 0.405 0.075

s2k 0.448 - 0.319 0.529

s3k 0.043 0.234 - 0.107

s4k 0.145 0.148 0.255 -

• 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

1j

j )1/(sx jjk

*

n)(h j,...,j,...,j hk1

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!)

= gkvHence:

k

kk

gtq

v

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:

2kk

kkkkkkkk )t(

gq

)gq(h21

t)gq(21

vh

x)ust(

h)1,..,k(for tgq

)ust(

n)1,..,k(for xgtq

.t.s

c)t(gq

)gq(h21

x1

minmin

j

jjj

kk

k

Lj

jjj

kIj

jk

k k

k2kk

kkkk

u,t,xS

k

k

kk

Meet demand k overcycle

Meet demand k over v

Cycle length

Ik = all positions where k is producedLk = all items produced during v

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

prod. k is run with frequency yk. Determine yk as follows:

determine tk:

1sc

as:satisfymust time, idle is there when

sca

xy:gives onminimizati

)gq(h21

a:where

)1(xys

xyc

yxa

min

k kk

kk

kk

kk

kkkkk

k

kk

k

kk

k k

k

x,yk

Computation of relative frequencies yk, tk

k

k

kk

kkkkkk y

xyqxg

txgytq

Lagrange multiplier

Choose “appropriate”x and determine the resulting yk’s

otherwise: =0

FFS heuristic, phase 2: frequency adjustment

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

Computation of adjusted relative frequencies y’k, t’k

k

kk 'y

x't

FFS heuristic, phase 3: sequencing

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

Computation of sequence in cycle

k

k'y

FFS examples

1 machine, 4 items:

Items 1 2 3 4qj 400 400 500 400

gj 50 50 60 60

hj 20 20 30 70

cj 20002500 800 0

sj 0.5 0.2 0.1 0.2

7.4.1: without setup times, x=27.4.2.: with setup times, x=3

20

40

60

80

100

Inventorylevels

0 0.5 1 1.5 2

time

Item3Item3

Item1 Item2

Item4

FFS exampleschedule for y’4=4

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