a hybrid approach for saint-gobain cutting glass problem Mirsad - - PowerPoint PPT Presentation

a hybrid approach for saint gobain cutting glass problem
SMART_READER_LITE
LIVE PREVIEW

a hybrid approach for saint-gobain cutting glass problem Mirsad - - PowerPoint PPT Presentation

a hybrid approach for saint-gobain cutting glass problem Mirsad Buljuba si c, Michel Vasquez LGI2P Introduction Saint Gobain Manufacture and sale of flat glass #1 in Europe #2 worldwide 2 Saint Gobain Manufacture and


slide-1
SLIDE 1

a hybrid approach for saint-gobain cutting glass problem

Mirsad Buljubaˇ si´ c, Michel Vasquez

LGI2P

slide-2
SLIDE 2

Introduction

slide-3
SLIDE 3

Saint Gobain

Manufacture and sale of flat glass

  • #1 in Europe
  • #2 worldwide

2

slide-4
SLIDE 4

Saint Gobain

Manufacture and sale of flat glass

  • #1 in Europe
  • #2 worldwide

ROADEF/EURO Challenge 2018

  • Feb 2017 - Jan 2018
  • 64 registered teams
  • combinatorial optimization problem
  • http://www.roadef.org/challenge/2018/en/

2

slide-5
SLIDE 5

Saint Gobain

3

slide-6
SLIDE 6

Saint Gobain

3

slide-7
SLIDE 7

Saint Gobain

3

slide-8
SLIDE 8

Saint Gobain

The glass float is cut in jumbo’s of standard size (3m x 6m) Jumbo’s are then stacked and sent to transformers Transformers cut jumbo’s in smaller glass pieces Glass pieces are then sold to customers to match their needs

3

slide-9
SLIDE 9

Specific constraints

Defects

Defects arise on jumbo’s due to the complicated glass melting process, due to the moving of jumbo’s,... (air bubbles trapped in the glass, cracks or impacts from moving, stone - not melted material) Do not produce a glass piece having defects!

4

slide-10
SLIDE 10

Problem Definition

slide-11
SLIDE 11

Problem

Input: a set of jumbo’s with their defects and a set of glass pieces to cut

6

slide-12
SLIDE 12

Problem

Input: a set of jumbo’s with their defects and a set of glass pieces to cut Objective: design a set of cutting patterns for the jumbo’s of minimal glass loss

6

slide-13
SLIDE 13

Problem

Input: a set of jumbo’s with their defects and a set of glass pieces to cut Objective: design a set of cutting patterns for the jumbo’s of minimal glass loss Constraints: Cut all pieces ordered by a customer Each piece has to be defect free Respect cutting (from technical limitation and glass property) and organisationnal (from organisation in production units) constraints

6

slide-14
SLIDE 14

Problem

Input: a set of jumbo’s with their defects and a set of glass pieces to cut Objective: design a set of cutting patterns for the jumbo’s of minimal glass loss Constraints: Cut all pieces ordered by a customer Each piece has to be defect free Respect cutting (from technical limitation and glass property) and organisationnal (from organisation in production units) constraints This problem is a two-dimensional bin-packing problem (a jumbo = a bin, a glass piece = an item)

6

slide-15
SLIDE 15

Cutting constraints

Only guillotine cuts are allowed

7

slide-16
SLIDE 16

Cutting constraints

Only guillotine cuts are allowed 1 2 3 4 5 1 2 3 5 4

7

slide-17
SLIDE 17

Cutting constraints

The number of cuts to obtain an item is at most 3

8

slide-18
SLIDE 18

Cutting constraints

Only one extra cut is allowed after a 3-cut to remove waste

9

slide-19
SLIDE 19

Cutting constraints

Only one extra cut is allowed after a 3-cut to remove waste

9

slide-20
SLIDE 20

Cutting constraints

10

slide-21
SLIDE 21

Valid cutting example

11

slide-22
SLIDE 22

Organisationnal constraints

Bins have the same size and may contain rectangular defects Bins are stacked and have to be considered as ordered when designing cutting patterns

12

slide-23
SLIDE 23

Organisationnal constraints

Bins have the same size and may contain rectangular defects Bins are stacked and have to be considered as ordered when designing cutting patterns

12

slide-24
SLIDE 24

Organisationnal constraints

Items have to be cut in a given order (a stack) to respect production planning

13

slide-25
SLIDE 25

Problem

The problem to deal with is a two-dimensional bin-packing problem with: Defects on bins Order on bins Order on items Considering unrestricted 3-stage guillotine cutting patterns with trimming

14

slide-26
SLIDE 26

Problem

Find a set of cutting patterns ensuring all constraints and of minimal loss (dashed lines) A typical problem size: 300 items (< 700), 3 defects per bin, 20 item stacks

15

slide-27
SLIDE 27

Proposed solution

slide-28
SLIDE 28

Task

distribution of items to bins

  • rder of items inside each bin

cutting the the items inside the bin

items 1 2 3 4 5 6 7 8 9 ... 98 99 100 sol 1 100 75 20 3 19 12 5 6 ... 42 35 72 17

slide-29
SLIDE 29

Task

distribution of items to bins

  • rder of items inside each bin

cutting the the items inside the bin

items 1 2 3 4 5 6 7 8 9 ... 98 99 100 sol 1 100 75 20 3 19 12 5 6 ... 42 35 72

Greedy Heuristic Local Search Enumeration

17

slide-30
SLIDE 30

Greedy global: Bin by bin

Build solution by filling the bins one by one, put as much as possible in each bin

18

slide-31
SLIDE 31

Greedy global: Bin by bin

Build solution by filling the bins one by one, put as much as possible in each bin

Greedy + Enumeration + LS to fill the bin 1 as much as possible Greedy + Enumeration + LS to fill the bin 2 as much as possible . Greedy + Enumeration + LS to fill the last bin

18

slide-32
SLIDE 32

Greedy global: Bin by bin

Build solution by filling the bins one by one, put as much as possible in each bin

Greedy + Enumeration + LS to fill the bin 1 as much as possible Greedy + Enumeration + LS to fill the bin 2 as much as possible . Greedy + Enumeration + LS to fill the last bin

18

slide-33
SLIDE 33

Greedy global: Bin by bin

Build solution by filling the bins one by one, put as much as possible in each bin

Greedy + Enumeration + LS to fill the bin 1 as much as possible Greedy + Enumeration + LS to fill the bin 2 as much as possible . Greedy + Enumeration + LS to fill the last bin

18

slide-34
SLIDE 34

Greedy global: Bin by bin

Build solution by filling the bins one by one, put as much as possible in each bin

Greedy + Enumeration + LS to fill the bin 1 as much as possible Greedy + Enumeration + LS to fill the bin 2 as much as possible . Greedy + Enumeration + LS to fill the last bin

18

slide-35
SLIDE 35

Filling the bin

Task

Find the subset of non-assigned items that maximizes the usage

  • f bin i.e. minimizes the waste.

19

slide-36
SLIDE 36

Filling the bin

Task

Find the subset of non-assigned items that maximizes the usage

  • f bin i.e. minimizes the waste.

How? Local Search: add new item, swap two items,...

19

slide-37
SLIDE 37

Filling the bin

Task

Find the subset of non-assigned items that maximizes the usage

  • f bin i.e. minimizes the waste.

How? Local Search: add new item, swap two items,... Can we pack a given set of items in the bin? Greedy + Enumeration (backtracking)

19

slide-38
SLIDE 38

Packing: greedy + enumeration

Fill the bin by making 1-cuts one by one in a greedy way: always choose the 1-cut with minimum local waste Minimum waste 1-cut is found by enumerating all possible cuts

20

slide-39
SLIDE 39

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18

21

slide-40
SLIDE 40

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18

21

slide-41
SLIDE 41

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 1

21

slide-42
SLIDE 42

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 1 2

21

slide-43
SLIDE 43

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 1 2 19

21

slide-44
SLIDE 44

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 1 2 19

21

slide-45
SLIDE 45

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18

21

slide-46
SLIDE 46

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18

21

slide-47
SLIDE 47

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 1

21

slide-48
SLIDE 48

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 1 2

21

slide-49
SLIDE 49

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 1 2 19

21

slide-50
SLIDE 50

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 1

21

slide-51
SLIDE 51

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 1 2 19

21

slide-52
SLIDE 52

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 1 2 19

21

slide-53
SLIDE 53

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 3 1 2 19

21

slide-54
SLIDE 54

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 3 4 5 1 2 19

21

slide-55
SLIDE 55

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 3 4 5 20 1 2 19

21

slide-56
SLIDE 56

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 3 4 5 20 6 1 2 19

21

slide-57
SLIDE 57

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 3 4 5 20 6 7 1 2 19

21

slide-58
SLIDE 58

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 3 4 5 20 6 1 2 19

21

slide-59
SLIDE 59

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 3 4 5 20 6 7 1 2 19

21

slide-60
SLIDE 60

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 3 4 5 20 6 7 1 2 19

21

slide-61
SLIDE 61

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 8 3 4 5 20 6 7 1 2 19

21

slide-62
SLIDE 62

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 8 9 3 4 5 20 6 7 1 2 19

21

slide-63
SLIDE 63

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 8 9 3 4 5 20 6 7 1 2 19

21

slide-64
SLIDE 64

sequence: 0 1 2 19 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 8 9 3 4 5 20 6 7 1 2 19

21

slide-65
SLIDE 65

sequence: 19 0 1 2 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18

22

slide-66
SLIDE 66

sequence: 19 0 1 2 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 19

22

slide-67
SLIDE 67

sequence: 19 0 1 2 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1

22

slide-68
SLIDE 68

sequence: 19 0 1 2 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 2

22

slide-69
SLIDE 69

sequence: 19 0 1 2 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 2

22

slide-70
SLIDE 70

sequence: 19 0 1 2 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 2

22

slide-71
SLIDE 71

sequence: 19 0 1 2 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 3 19 1 2

22

slide-72
SLIDE 72

sequence: 19 0 1 2 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 3 4 5 19 1 2

22

slide-73
SLIDE 73

sequence: 19 0 1 2 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 3 4 5 20 19 1 2

22

slide-74
SLIDE 74

sequence: 19 0 1 2 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 3 4 5 20 6 7 19 1 2

22

slide-75
SLIDE 75

sequence: 19 0 1 2 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 3 4 5 20 6 19 1 2

22

slide-76
SLIDE 76

sequence: 19 0 1 2 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 3 4 5 20 6 7 19 1 2

22

slide-77
SLIDE 77

sequence: 19 0 1 2 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 3 4 5 20 6 7 19 1 2

22

slide-78
SLIDE 78

sequence: 19 0 1 2 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 8 3 4 5 20 6 7 19 1 2

22

slide-79
SLIDE 79

sequence: 19 0 1 2 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 8 9 3 4 5 20 6 7 19 1 2

22

slide-80
SLIDE 80

sequence: 19 0 1 2 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 8 9 3 4 5 20 6 7 19 1 2

22

slide-81
SLIDE 81

sequence: 19 0 1 2 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 8 9 3 4 5 20 6 7 19 1 2

22

slide-82
SLIDE 82

sequence: 19 0 1 2 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 10 8 9 3 4 5 20 6 7 19 1 2

22

slide-83
SLIDE 83

sequence: 19 0 1 2 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 10 11 8 9 3 4 5 20 6 7 19 1 2

22

slide-84
SLIDE 84

sequence: 19 0 1 2 3 4 5 20 6 7 8 9 10 11 12 13 14 15 16 17 18 10 11 8 9 3 4 5 20 6 7 19 1 2

22

slide-85
SLIDE 85

Consistent Neighborhood Tabu search

explores partial and ”consistent” solutions, rearranging the items assigned to a single bin and non-assigned items Consistent Neighborhood Search for One-Dimensional Bin Packing and Two-Dimensional Vector Packing Computers & Operations Research, 2016

BIN NON-ASSIGNED ITEMS Local Search Moves

23

slide-86
SLIDE 86

Consistent Neighborhood Tabu search

explores partial and ”consistent” solutions, rearranging the items assigned to a single bin and non-assigned items Consistent Neighborhood Search for One-Dimensional Bin Packing and Two-Dimensional Vector Packing Computers & Operations Research, 2016

BIN NON-ASSIGNED ITEMS Local Search Moves

23

slide-87
SLIDE 87

B6 Solution

24

slide-88
SLIDE 88

B6 Solution

24

slide-89
SLIDE 89

B6 Solution

24

slide-90
SLIDE 90

B6 Solution

24

slide-91
SLIDE 91

B6 Solution

24

slide-92
SLIDE 92

B6 Solution

24

slide-93
SLIDE 93

B6 Solution

24

slide-94
SLIDE 94

B6 Solution

24

slide-95
SLIDE 95

B6 Solution

24

slide-96
SLIDE 96

B6 Solution

24

slide-97
SLIDE 97

Computational results

slide-98
SLIDE 98

Results

Dataset B Inst loss BKS loss(%) B1 2722308 2661318 3.48 B2 15137885 13674125 4.38 B3 18191093 18191093 4.64 B4 9857995 8269045 5.64 B5 72155615 72155615 18.41 B6 11407117 11195257 5.40 B7 8891889 8355819 4.36 B8 16067959 16067959 4.05 B9 17484577 17484577 5.38 B10 24095813 21951533 6.25 B11 22584380 22584380 5.73 B12 15903967 13958707 5.60 B13 26634915 24471375 5.26 B14 9449200 8656330 4.93 B15 26616371 24517031 5.11 avg 5.91 26

slide-99
SLIDE 99

Results

Dataset B Inst loss BKS loss(%) B1 2722308 2661318 3.48 B2 15137885 13674125 4.38 B3 18191093 18191093 4.64 B4 9857995 8269045 5.64 B5 72155615 72155615 18.41 B6 11407117 11195257 5.40 B7 8891889 8355819 4.36 B8 16067959 16067959 4.05 B9 17484577 17484577 5.38 B10 24095813 21951533 6.25 B11 22584380 22584380 5.73 B12 15903967 13958707 5.60 B13 26634915 24471375 5.26 B14 9449200 8656330 4.93 B15 26616371 24517031 5.11 avg 5.91 B + X: 8/30 best solutions 26

slide-100
SLIDE 100

27

slide-101
SLIDE 101

thanks