a hybrid metaheuristic for production planning
play

A hybrid metaheuristic for production planning Jo ao Pedro PEDROSO - PowerPoint PPT Presentation

A hybrid metaheuristic for production planning Jo ao Pedro PEDROSO Universidade do Porto, Portugal jpp@ncc.up.pt Makoto OHNISHI Fujitsu Research Institute, Japan ohnishi@fri.fujitsu.com Mikio KUBO Tokyo University of Marine Science and


  1. A hybrid metaheuristic for production planning Jo˜ ao Pedro PEDROSO Universidade do Porto, Portugal jpp@ncc.up.pt Makoto OHNISHI Fujitsu Research Institute, Japan ohnishi@fri.fujitsu.com Mikio KUBO Tokyo University of Marine Science and Technology, Japan kubo@e.kaiyodai.ac.jp MIC, Vienna, August 2005

  2. Introduction This work deals with two problems arising in production planning: • lot sizing • scheduling • usually these problems are treated separately • for both problems: exact solution can be rather hard • appropriate solvers are different: – lot sizing − → mixed integer programming (MIP) – scheduling − → constraint programming • metaheuristics: provide a unified framework • this work: focus on the integration 1

  3. Motivation • Practical problem: – large industry – stable demand – production site where raw materials are transformed into end products. • Currently: – scheduling operations come from customer orders – scheduling based on feasibility: no notion of cost involved – demand is stable − → why not think about lot sizes? • Aim: – formalise the problem – lot sizing + scheduling − → scheduling operations derived from good/optimal lot sizes – implement a prototype – check feasibility of the approach with nearly-real data • Planning: – Short term (scheduling): monthly basis – Medium term (lot sizing): yearly basis 2

  4. Background Previous work in this area: LISCOS European project • Exact approaches • MIP for lot sizing • Constraint programming for scheduling • Both are commercial solvers • Cost − → not appropriate for prototyping − → metaheuristics 3

  5. Lot sizing Considering all the orders, for the whole of Demand the planning horizon, decide: Lot • quantity of each lot to be produced • when to produce each lot • (not concerned with order of production in the machines) Machine Machine Machine t=1 1 2 3 Machine Machine Machine t=2 1 2 3 . . . 4

  6. Scheduling For each operation of a given period of the Operations lot sizing problem: • assign it to a machine • assign it an order in the operations of that machine • detail: machines can operate in several modes : – full capacity − → higher cost – reduced capacity − → lower cost Machine Machine Machine 1 2 3 5

  7. Time horizons • are different for lot sizing and for scheduling • horizon for scheduling ↔ one period of lot sizing model • usually: scheduling only for the first period of lot sizing lot sizing 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 scheduling 6

  8. Main solution procedure Start Solve lot Prepare sizing prob scheduling problem Solve Add constraint scheduling cutting current problem solution N Y Feasible? Stop 7

  9. Lot sizing model • Costs: – setup (fixed) costs – variable production costs – inventory – backlog • Decision varibles: – manufacture or not of a product in each period: setup, binary variable y pmt ∗ y pmt = 1 if product p is manufactured in machine m during period t ∗ y pmt = 0 otherwise – amount produced: continuous variable x pmt ∗ corresponding to y pmt . ∗ x pmt > 0 ⇒ y pmt = 1 – inventory h pt and backlog g pt 8

  10. Objective setup costs: F = P P P t ∈T f pmt y pmt p ∈P m ∈M • f pmt is the cost of setting up machine m on period t for producing p variable costs: V = P P P t ∈T v pmt x pmt p ∈P m ∈M • v pmt is the variable cost of production of p on machine m , period t inventory costs: I = P P t ∈T i pt h pt p ∈P • h pt is the amount of product p that is kept in inventory at the end of period t • i pt is the unit inventory cost for product p on period t backlog costs: B = P P t ∈T b pt g pt p ∈P • g pt is the amount of product p that failed to meet demand at the end of period t • b pt is the unit backlog cost for product p on period t . objective: minimise z = F + V + I + B 9

  11. Constraints: flow conservation: X h p,t − 1 − g p,t − 1 + x pmt = D pt + h pt − g pt ∀ p ∈ P , ∀ t ∈ T . m ∈M p h p 0 , h pT : initial and final inventory g p 0 , g pT : initial and final backlog time availability on each period: „ x pmt « X + τ pmt y pmt ≤ A mt ∀ m ∈ M , ∀ t ∈ T . γ pm p ∈P : m ∈M p γ pm is the total capacity of production of product p on machine m per time unit τ pmt is the setup time required if there is production of p on machine m during period t A mt is the number of time units available for production on machine m during period t . setup constraints: x pmt ≤ γ pm A mt y pmt 10

  12. minimise z = F + V + I + B X X X subject to : F = f pmt y pmt p ∈P m ∈M t ∈T X X X V = v pmt x pmt p ∈P m ∈M t ∈T X X I = i pt h pt p ∈P t ∈T X X B = b pt g pt p ∈P t ∈T X h p,t − 1 − g p,t − 1 + x pmt = D pt + h pt − g pt , ∀ p ∈ P , ∀ t ∈ T m ∈M p „ x pmt « X + τ pmt y pmt ≤ A mt , ∀ m ∈ M , ∀ t ∈ T γ pm p ∈P : m ∈M p ∀ p ∈ P , ∀ m ∈ M p , ∀ t ∈ T x pmt ≤ γ pm A mt y pmt R + F, V, I, B ∈ I R + , h pt , g pt ∈ I ∀ p ∈ P , ∀ t ∈ T R + , y pmt ∈ { 0 , 1 } , x pmt ∈ I ∀ p ∈ P , ∀ m ∈ M , ∀ t ∈ T 11

  13. Construction: relax-and-fix-one-product • construction of a solution: based on partial relaxations of the initial problem • variant of the classic relax-and-fix heuristic 12

  14. Relax-and-fix • each period is treated independently t=1 • relax all the variables except those of period 1 : – keep y pm 1 integer – relax integrity for all other y pmt t=2 • solve this MIP, determining heuristic values for ¯ y pm 1 . . . t=T 13

  15. Relax-and-fix • each period is treated independently t=1 • relax all the variables except those of period 1 : – keep y pm 1 integer – relax integrity for all other y pmt t=2 • solve this MIP, determining heuristic values for ¯ y pm 1 • move to the second period: . . . – variables of the first period are fixed at y pm 1 = ¯ y pm 1 – variables y pm 2 are integer t=T – and all the other y pmt relaxed • this determines the heuristic value for y pm 2 14

  16. Relax-and-fix • each period is treated independently t=1 • relax all the variables except those of period 1 : – keep y pm 1 integer – relax integrity for all other y pmt t=2 • solve this MIP, determining heuristic values for ¯ y pm 1 • move to the second period: . . . – variables of the first period are fixed at y pm 1 = ¯ y pm 1 – variables y pm 2 are integer – and all the other y pmt relaxed t=T • this determines the heuristic value for y pm 2 • these steps are repeated, until all the y variables are fixed 15

  17. Relax-and-fix • each period is treated independently t=1 • relax all the variables except those of period 1 : – keep y pm 1 integer – relax integrity for all other y pmt t=2 • solve this MIP, determining heuristic values for ¯ y pm 1 • move to the second period: . . . – variables of the first period are fixed at y pm 1 = ¯ y pm 1 – variables y pm 2 are integer – and all the other y pmt relaxed t=T • this determines the heuristic value for y pm 2 • these steps are repeated, until all the y variables are fixed 16

  18. Relax-and-fix heuristic. • reported to provide very good solutions for many lot sizing problems • however, for large instances the exact MIP solution of even a single period can be too time consuming • we propose a variant were each MIP determines only the variables of one period that concern a single product → relax-and-fix-one-product 17

  19. Relax-and-fix-one-product variant. RelaxAndFixOneProduct () t=1 (1) relax all y pmt as continuous variables (2) for t = 1 to T (3) foreach p ∈ P t=2 foreach m ∈ M p (4) (5) set y pmt as integer y pmt , ∀ m ∈ M p (6) solve MIP → ¯ . . . foreach m ∈ M p (7) (8) fix y pmt := ¯ y pmt (9) return ¯ y t=T 18

  20. Relax-and-fix-one-product variant. RelaxAndFixOneProduct () t=1 (1) relax all y pmt as continuous variables (2) for t = 1 to T (3) foreach p ∈ P t=2 foreach m ∈ M p (4) (5) set y pmt as integer y pmt , ∀ m ∈ M p (6) solve MIP → ¯ . . . foreach m ∈ M p (7) (8) fix y pmt := ¯ y pmt (9) return ¯ y t=T 19

  21. Relax-and-fix-one-product variant. RelaxAndFixOneProduct () t=1 (1) relax all y pmt as continuous variables (2) for t = 1 to T (3) foreach p ∈ P t=2 foreach m ∈ M p (4) (5) set y pmt as integer y pmt , ∀ m ∈ M p (6) solve MIP → ¯ . . . foreach m ∈ M p (7) (8) fix y pmt := ¯ y pmt (9) return ¯ y t=T 20

  22. Relax-and-fix-one-product variant. RelaxAndFixOneProduct () t=1 (1) relax all y pmt as continuous variables (2) for t = 1 to T (3) foreach p ∈ P t=2 foreach m ∈ M p (4) (5) set y pmt as integer y pmt , ∀ m ∈ M p (6) solve MIP → ¯ . . . foreach m ∈ M p (7) (8) fix y pmt := ¯ y pmt (9) return ¯ y t=T 21

  23. Relax-and-fix-one-product variant. RelaxAndFixOneProduct () t=1 (1) relax all y pmt as continuous variables (2) for t = 1 to T (3) foreach p ∈ P t=2 foreach m ∈ M p (4) (5) set y pmt as integer y pmt , ∀ m ∈ M p (6) solve MIP → ¯ . . . foreach m ∈ M p (7) (8) fix y pmt := ¯ y pmt (9) return ¯ y t=T 22

  24. Relax-and-fix-one-product variant. RelaxAndFixOneProduct () t=1 (1) relax all y pmt as continuous variables (2) for t = 1 to T (3) foreach p ∈ P t=2 foreach m ∈ M p (4) (5) set y pmt as integer y pmt , ∀ m ∈ M p (6) solve MIP → ¯ . . . foreach m ∈ M p (7) (8) fix y pmt := ¯ y pmt (9) return ¯ y t=T 23

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend