Modelling a Steel Mill Slab Design Problem Alan
Modelling a Steel Mill Slab Design Problem Alan Frisch, Ian Miguel, Toby Walsh AI Group University of York
Overview • • The slab design problem An example Model A Model B A dual model A/B Results Conclusion/Future Work
Background • This work is based on the problem as stated in: • “Variable Sized Bin Packing with Color Constraints”, Dawande, Kalagnanam and Sethuraman 1998. • Approximation algorithms guaranteed to be within some bound of an optimal solution.
Motivation • Many problems exhibit flexibility in portions of their structure. • Example: the number required of a certain type of variable. • Flexibility must be resolved during the solution process. • Slab design is a representative example of this type of problem.
The Slab Design Problem • The mill can make different slab sizes. • Given j input orders with: – A colour (route through the mill). – A weight. • Pack orders onto slabs such that the total slab capacity is minimised, subject to: – Capacity constraints. – Colour constraints.
Slab Design Constraints • Capacity: – Total weight of orders assigned to a slab cannot exceed slab capacity. • Colour: – Each slab can contain at most p of k total colours. – Reason: expensive to cut slabs up to send them to different parts of the mill.
An Example • Slab Sizes: {1, 3, 4} ( = 3) • Orders: {oa, …, oi} (j = 9) • Colours: {red, green, blue, orange, brown} (k = 5) • p=2 3 2 a 2 b 1 1 1 c d e f g 1 h i
An Example Solution • 6 Slabs: 2 2 (size 4) h 1 a 3 b 1 1 (size 3) e f g 1 (size 1) c 1 (size 1) d 1 (size 1) i
Model A – Redundant Variables • Number of slabs is not fixed. – Assume greatest order weight does not exceed maximum slab size. • A list, S, of slab variables: {s 1, …, sj}. – Domains size . • Solution quality:
Slab Variable Redundancy • Some slab variables may be redundant: – 0 is added to the domain of each si. – If si is not necessary to solve the problem, si = 0.
Slab Variable Symmetry • Slab variables are indistinguishable. • So model A suffers from symmetry: – Counteract with binary symmetry-breaking constraints: s 1 s 2, s 2 s 3, etc.
Model A Order Matrix (Oa) oa ob oc od s 1 0 0 1 1 s 2 0 1 0 0 s 3 1 0 0 0 s 4 0 0
More Slab Symmetry • Slab variables assigned the same size are indistinguishable. • When si and si+1 have the same assignment, the corresponding rows of the order matrix are lexicographically ordered. • E. g. 1001 0110.
Model A Colour Matrix (colour. Ma) Red Green Blue Orange s 1 0 0 1 1 s 2 0 1 0 0 s 3 1 0 0 0 s 4 0 0 Channelling:
Model A of the Example Problem 2 oa 3 1 oc ob 1 od 1 oe oa ob oc od oe of og oh oi s 1 1 s 2 … 1 1 of 2 oh 1 og Red s 1 1 s 2 … Green Blue 1 Orange 1 oi Brown
A Solution: Model A 3 2 oa 1 oc ob 1 od 1 oe 1 of 2 oh 1 og 1 oi s 1 = 4, s 2 = 3, s 3 = 3, s 4 = 3, si = 0 (5 i 9) Red Green Blue Orange Brown oa ob oc od oe of og oh oi s 1 0 0 0 1 1 1 s 1 0 0 0 1 1 s 2 1 0 0 0 0 s 2 1 1 0 0 0 s 3 0 1 0 0 0 s 4 0 0 0 1 1 1 0 0 0 s 4 0 0 1 1 0 … 0 0 0 0 0 … 0 0 0
Model A Implied Constraints • Combined weight of input orders is a lower bound on optimisation variable: • Lower bound on number of slabs required: • With symmetry-breaking constraints, decomposes into unary constraints on slab variables.
Model A Implied Constraints (2) • Ass. Wti is the weight of orders assigned to si. – Prune domains by reasoning about reachable values via dynamic programming [Trick, 2001]. – Incorporate both size and colour information. – More powerful if done during search (future work). • Minimum number of slabs required:
Model A Implied Constraints (3) • Wastei = si – Ass. Wti – the unused portion of a slab. • Upper bound on total waste: – Assume each order is assigned to an individual slab, with smallest size able to hold it. – Sum waste in each case: leads to upper bound for optimisation variable. – Upper bound on Wastei is the worst of these cases.
Model B – Abstraction • 2 -phase approach: 1. Construct/solve an abstraction of the problem. 2. Solve independent sub-problems, assigning a subset of the orders to slabs of a common size. • Solving phase 2 sub-problems either: – Provides a solution to the original problem, or: – Identifies new constraints which restrict set of solutions at phase 1.
Model B, Phase 1 • Number of slab sizes is fixed. • A list, Z, of slab size variables, {z 1, z 2, …}. – Domains: {0, …, j} number of slabs of corresponding sized used. • Solution quality:
Model B, Phase 1 Order Matrix (Ob) oa ob oc od z 1 0 0 1 1 z 3 0 1 0 0 z 4 1 0 0 0
Model B, Phase 1 Colour Matrix (Colour. Mb) Red Green Blue Orange z 1 0 0 1 1 z 3 0 1 0 0 z 4 1 0 0 0 Channelling:
A Solution: Model B, Phase 1 2 oa 3 ob 1 oc 1 od 1 oe 1 of 2 oh 1 og 1 oi • z 1 = 0, z 3 = 3, z 4 = 1 oa ob oc od oe of og oh oi z 1 0 0 0 0 0 z 3 1 1 1 0 0 0 z 4 0 0 0 1 1 1 Red z 1 0 z 3 1 z 4 0 Green Blue Orange Brown 0 1 0 1 0
Model B Implied Constraints • • • Unary constraints on order matrix:
Model B, Phase 2 • Model B, Phase 1 is ambiguous. • A Phase 1 solution does provide: – Number and sizes of slabs required. – Size of slab each order is assigned to. – Quality of final solution. • Phase 1 solution used to construct much simpler, independent, phase 2 sub-problems.
Model B, Phase 2 Sub-problems 2 oa 3 ob 1 oc 1 od 1 oe • 3 Slabs of size 3 1 of 1 og 2 oh • 1 Slab of size 4 oa ob oc od oe of og oh oi s 1 1 0 0 0 s 2 0 1 0 0 s 1 1 s 3 0 0 0 1 1 oi
The Price of Ambiguity p=1 3 oa 3 ob 1 oc • 2 Slabs of size 4 oa ob oc od s 1 ? ? s 2 ? ? 1 od • Model B, Phase 1 is ambiguous. • Phase 2 sub-problems may be inconsistent. • Due to interaction between weight/colour constraints.
Conflict Recording • Not simply underestimation of optimisation variable: – May be incorrect combination of slab sizes. – Or wrong assignment of orders to sizes. • Solution: – Isolate reasons for failure. – Post constraints at phase 1. – Solve phase 1 again. • Example: – oa = 4 ob = 4 oc = 4 od = 4 z 4 > 2
A Model B Solution Cycle Phase 1 Solution Phase 2 Constraints
A Dual Model A/B • Combines model A and model B, phase 1. • Variables: – Explicit slab variables (si) and slab-size variables (zi). – Order matrices referring to explicit slabs (Oa) and to slab-sizes (Ob). – Both types of colour matrix.
Channelling Constraints • Constraints for individual models as previously described. • Channelling constraints between the models maintain consistency, aid pruning. • Between S and Z: – (Number of occurrences of i in S) = zi. • Between order matrices and S: – Oa[i, j] = 1 Ob[i, sj] = 1.
A/B Search Strategy • Instantiate model A variables first: – Channelling constraints ensure model B variables instantiated. – Analogous to pure model A approach. • Instantiate model B variables first: – Channelling constraints do not force instantiation of model A variables. – Model A variables are constrained though. – Analogous to pure model B approach.
A/B Search Strategies 2 • Other search strategies exploit more complete view offered by model A/B. • Interleave instantiation of variables from 2 basic models: – Obtain most efficient pruning of the search space.
Results Orders Optimal Model AB 12 77 83: 14, 0. 1 s 78: 486, 0. 2 s 77: 1841, 0. 6 s 83: 14, 0. 1 s 78: 452, 0. 2 s 77: 1714, 0. 6 s 13 79 83: 14, 0. 1 s 80: 451, 0. 2 s 79: 1536, 0. 5 s 83: 14, 0. 1 s 80: 407, 0. 2 s 79: 1447, 0. 4 s 14 87 95: 16, 0. 1 s 89: 819, 0. 2 s 88: 934, 0. 3 s 87: 8797, 1. 2 s 95: 16, 0. 1 s 89: 726, 0. 3 s 88: 841, 0. 4 s 87: 8612, 2. 2 s 15 92 95: 21, 0. 1 s 94: 5108, 1. 1 s 93: 5619, 1. 2 s 92: 17734, 3. 6 s 95: 21, 0. 2 s 94: 4950, 1. 3 s 93: 5456, 1. 5 s 92: 17190, 4. 7 s
Results Orders Optimal Model AB 16 99 107: 17, 0. 1 s 101: 5112, 0. 9 s 100: 5305, 0. 9 s 99: 92441, 17. 8 s 107: 17, 0. 1 s 101: 3673, 0. 9 s 100: 3866, 0. 9 s 99: 89618, 23. 5 s 17 103 107: 23, 0. 1 s 105: 13074, 2. 6 s 104: 26757, 5. 5 s 103: 237290, 50. 2 s 107: 23, 0. 1 s 105: 11556, 2. 9 s 104: 24792, 6. 6 s 103: 228918, 67. 1 s 18 110 119: 19, 0. 2 s 111: 1012, 0. 4 s 110: 1179281, 253. 4 s 119: 19. 0. 1 s 111: 977, 0. 4 s 110: 1153031, 350. 3 s
Model B Results? • On these problems, many solutions at phase 1. • Cycle is therefore lengthy. • Improve efficiency: – Model phase 1 as a dynamic CSP. – Reduce arity of recorded constraints. – Phase 1 heuristics
Other Models • Set variables: – Each represents a slab – Domain is set of orders assigned. • Activity-based dynamic CSP: – Model A slab variables used. – Only `activated’ according to remaining capacity of activated slabs.
Conclusions • Results only on small instances. • All models need further development: – More implied constraints. – Better heuristics • Explore new models: – Set variables. – a. DCSP.
- Slides: 39