Create Presentation
Download Presentation

Download Presentation
## Flow Shop Production

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**Flow Shop Production**http://business.mrwood.com.au/unit3/opstrat/opstrat1.asp**Flow shop layout**cf. Heizer, J., Render, B., Operations Management, Prentice Hall, 2006, Chapter 9 cf. Francis, R., McGinnis, L., White, J., Facility Layout and Location: An Analytical Approach, Prentice Hall, 1992**Flow shop production**• Object-oriented • Assignment is derived from the item´s work plans. • Uniform material flow: • Linear assignment (in most cases) • Useful if (and only if) only one kind of product or a limited amount of different kinds of products is manufactured (i.e. low variety – high volume)**Flow shop production**According to time-dependencies we distinguish between • Flow shop production without fixed time restriction for each workstation („Reihenfertigung“) • Flow shop production with fixed time restriction for each workstation (Assembly line balancing, „Fließbandabgleich“)**Flow shop production**• No fixed time restriction for the workload of each workstation: • Intermediate inventories are needed • Material flow should be similiar for all products • Some workstations may be skipped, but going back to a previous department is not possible • Processing times may differ between products**Flow shop production**• Fixed time restricition (for each workstation): • Balancing problems • Cycle time („Taktzeit“): upper bound for the workload of each workstation. • Idle time: if the workload of a station is smaller than the cycle time. • Production lines, assembly lines • automated system (simultaneous shifting)**Assembly line balancing**• Production rate = Reciprocal of cycle time • The line proceeds continuously. • Workers proceed within their station parallel with their workpiece until it reaches the end of the station; afterwards they return to the beginning of the station. • Further possibilites: • Line stops during processing time • Intermittent transport: workpieces are transported between the stations.**Assembly line balancing**• „Fließbandabstimmung“, „Fließbandaustaktung“, „Leistungsabstimmung“, „Bandabgleich“ • The mulit-level production process is decomomposed into n operations/tasks for each product. • Processing time tjfor each operation j • Restrictions due to production sequence of precedences may occur and are displayed using a precedence graph: • Directed graph witout cyles G = (V, E, t) • No parallel arcs or loops • Relation i< j is true for all (i, j)**Example**Precedence graph**Flow shop production**• Machines (workstations) are assigned in a row, each station contains 1 or more operations/tasks. • Each operation is assigned to exactly 1 station • i before j , (i, j) E: • i and j in same station or • i in an earlier station than j • Assignment of operations to stations: • Time- or cost oriented objective function • Precedence conditions • Optimize cycle time • Simultaneous determination of number of stations and cycle time**Single product problems**• Simple assembly line balancing problem • Basic model with alternative objectives**Single product problems**Assumptions: • 1 homogenuous product is produced by performing n operations • given processing times ti for operations j = 1,...,n • Precedence graph • Same cycle time for all stations • fixed starting rate („Anstoßrate“) • all stations are equally equipped (workers and utilities) • no parallel stations • closed stations • workpieces are attached to the line**Alternative1**Minimization of number of stationsm (cycle time is given): Cycle time c: • lower bound for number of stations • upper bound for number of stations**Alternative 1**Derivation of upper bound: t(Sk) … workload of station kSk, k = 1, ..., m Integer property Sum of inequalities and integer property of m tmax + t(Sk) > c i.e. t(Sk) c + 1 - tmaxk =1,...,m-1 upper bound**Alternative 2**Minimization of cycle time (i.e. maximization of prodcution rate) lower bound for cycle time c: • tmax =max {tj j = 1, ... , n} … processing time of longest operation ctmax • Maximum production amount qmaxin time horizon T is given • Given number of stations m**Alternative 2**• lower bound for cycle time: • upper bound for cycle time**Alternative 3**Maximization of efficiency („Bandwirkungsgrad“) • Determination of: • Cycle time c • Number of stations m Efficiency („BG“) • BG = 1 100% efficiency (no idle time)**Alternative 3**• Lower bound for cycle time: see Alternative 2 • Upper bound for cycle time cmax is given • Lower bound for number of stations • Upper bound for number of stations**ExampIe**• T = 7,5 hours • Minimum production amount qmin = 600 units • seconds/unit**ExampIe**tj = 55 No maximum production amount Minimum cycle timecmin = tmax = 10 seconds/unit**ExampIe**Combinations of m and c leading to feasible solutions.**ExampIe**• maximum BG = 1(is reached only with invalid values m = 1 and c = 55) • Optimal BG = 0,982(feasible values for m and c: 10 c45 und m 2) m = 2 stations c = 28 seconds/unit**Example**Possible cycle times c for varying number of stations m Increasing cycle time Reduction of BG (increasing idle time) until 1 station can be omitted. BG has a local maximum for each number of stations m with the minimum cycle time c where a feasible solution for m exists.**Further objectives**Maximization of BG is equivalent to • Minimization of total processing time („Durchlaufzeit“): D = m c • Minimization of sum of idle times: • Minimization of ratio of idle time: LA = = 1 – BG • Minimization of total waiting time:**LP formulation**We distinguish between: • LP-Formulation for given cycle time • LP-Formulation for given number of stations • Mathematical formulation for maximization of efficiency**LP formulation for given cycle time**• Binary variables: • = number of station, where operation j is assigned to • Assumption: Graph G has only 1 sink, which is node n j = 1, ..., n k = 1, ..., mmax**LP formulation for given cycle time**Objective function: Constraints: j = 1, ... , n ... j on exactly 1 station • k = 1, ... , mmax ... Cycle time … Precedence cond. ... Binary variables j and k**Notes**Possible extensions: • Assignment restrictions (for utilities or positions) • elimination of variables or fix them to 0 • Restrictions according to operations • Operations h and j with (h, j) are not allowed to be assigned to the same station.**LP formulation for given number of stations**• Replace mmax by the given number of stations m • c becomes an additional variable**LP formulation for given number of stations**Objective function: Minimize Z(x, c) = c … cycle time Constraints: j = 1, ... , n ...j on exactly 1 station k = 1, ... , m ... cycle time ... precedence cond. j und k ... binary variables c 0 and integer**LP formulation for maximization of BG**• If neither cycle time c nor number of stations m is given take the formulation for given cycle time. Objective function (nonlinear): Additional constraints:c cmax c cmin**LP formulation for maximization of BG**• Derive a LP again Weight cycle time and number of stations with factors w1 and w2 Objective function (linear): Minimize Z(x,c) = w1(kxnk) + w2c Large Lp-models! Many binary variables!**Heuristic methods in case of given cycle time**• Many heuristic methods(mostly priorityrule methods) • Shortened exact methods • Enumerative methods**Priorityrule methods**• Determine a priortity value PVj for each operation j • Prioritiy list • A non-assigned operation j can be assigned to station k if • all his precedessors are already assigned to a station 1,..k and • the remaining idle time in station k is equal or larger than the processing time of operation j**Priorityrule methods**• Requirements: • Cycle time c • Operations j=1,...,n with processing times tj c • Precedence graph, defined by a set of precedessors • Variables • k number of current station • idle time of current station • Lp set of already assigned operations • Ls sorted list of n operations in respect to priority value**Priorityrule methods**• Operation j Lp can be assigned, if tjand h Lp is true for all h V(j) • Start with station 1 and fill one station after the other • From the list of operations ready to be assigned to the current station the highest prioritized is taken • Open a new station if the current station is filled to the maximum**Priorityrule methods**Start: determine list Ls by applying a prioritiy rule; k := 0; LP := <]; ... No operations assigned so far Iteration: repeat k := k+1; := c; while there is an operation in list Ls that can be assigned to station k do begin select and delete the first operation j (that can be assigned to) from list Ls; Lp:= < Lp,j]; :=- tj end; untilLs= <]; Result:Lp contains a valid sorted list of operations with m = k stations. Single-pass- vs. multi-pass-heuristics(procedure is performed once or several times)**Priorityrule methods**• Rule 1: Random choice of operations • Rule 2: Choose operations due to monotonuously decreasing (or increasing) processing time: PVj: = tj • Rule 3: Choose operations due to monotonuously decreasing (or increasing) number of direct followers: PVj : = (j) • Rule 4: Choose operations due to monotonuously increasing depths of operations in G:PVj : = number of arcs in the longest way from a source of the graph to j**Priorityrule methods**• Rule 5 Choose operations due to monotonuously decreasing positional weight („Positionswert“): • Rule 6: Choose operations due to monotonuously increasing upper bound for the minimum number of stations needed for j and all it´s predecessors: • Rule 7: Choose operations due to monotonuously increasing upper bound for the latest possible station of j:**Example – Rule 5**S1 = {1,3,2,4,6} S2 = {7,8,5,9,10,11} S3 = {12} 42 31 23 16 20 18 15 11 25 18 12 1 m = 3 stations Cycle time c = 28 -> BG = tj / (3*28) = 0,655**Example– Regel 7, 6 und 2**• = 3 1 2 1 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 2 2 2 6 9 4 5 4 2 3 7 3 1 10 1 Apply rule 7 (latest possible station) at first If this leads to equally prioritized operatios -> apply rule 6 (minimum number of stations for j and all predecessors) If this leads to equally prioritized operatios -> apply rule 2 (decreasing processing times tj) Solution: c = 28 m = 2; BG = 0,982 S1 = {1,3,2,4,5} ; S2 = {7,9,6,8,10,11,12}**More heuristic methods**• Stochastic elements for rules 2 to 7: • Random selection of the next operation (out of the set of operations ready to be applied) • Selection probabilities: proportional or reciprocally proportional to the priority value • Randomly chosen priority rule • Enumerative heuristics: • Determination of the set of all feasible assignments for the first station • Choose the assignment leading to the minimum idle time • Proceed the same way with the next station, and so on (greedy)**Further heuristic methods**• Heuristics for cutting&packing problems • Precedence conditions have to be considered as well • E.g.: generalization of first-fit-decreasing heuristic for the bin packing problem. • Shortest-path-problem with exponential number of nodes • Exchange methods: • Exchange of operations between stations • Objective: improvement in terms of the subordinate objective of equally utilized stations**Worst-Case analysis of heuristics**Solution characteristics for integer c and tj (j = 1,...,n) for Alternative 2: Total workload of 2 neigboured stations has to exceed the cycle time Worst-Case bounds for the deviation of a solution with m Stations from a solution with m* stations: m/m* 2 - 2/m* for even m and m/m* 2 - 1/m* for odd m m < cm*/(c - tmax + 1) + 1**Determination of cyle time c**• Given number of stations • Cycle time unknown • Minimize cycle time (alternative 1) or • Optimize cycle time together with the number of stations trying to maximize the system´s efficiency (alternative 3).**Iterative approach for determination of minimal cycle time**• Calculate the theoretical minimal cycle time:(or cmin = tmax if this is larger) and c = cmin • Find an optimal solution for c with minimum m(c) by applying methods presented for alternative 1 • If m(c) is larger than the given number of stations: increase c by (integer value) and repeat step 2.**Iterative approach for determination of minimal cycle time**• Repeat until feasible solution with cycle time c and number of stations m is found • If > 1, an interval reduction can be applied: if for c a solution with number of stations m has been found and for c- not, one can try to find a solution for c-/2 and so on…**Example – rule 5**m = 5 stations Find: maximum production rate, i.e. minimum cycle time cmin = tj/m = 55/5 = 11 (11 > tmax = 10)**Example – rule 5**Solution c = 11: {1,3}, {2,6}, {4,7,9}, {8,5}, {10,11}, {12} Needed: 6 > m = 5 stations c = 12, assign operation 12 to station 5 S5 = {10,11,12} For larger problems: usually, c leading to an assignment for the given number of stations, is much larger than cmin. Thus, stepwise increase of c by 1 would be too time consuming -> increase by > 1 is recommended.**Classification of complex line balancing problems**Parameters: • Number of products • Assignment restrictions • Parallel stations • Equipment of stations • Station boundaries • Starting rate • Connection between items and transportation system • Different technologies • Objectives