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 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: {o a, …, o i } (j = 9) Colours: {red, green, blue, orange, brown} (k = 5) p = 2 abcdefghi
An Example Solution f gi e cd b h a 6 Slabs: (size 4)(size 3)(size 1) (size 3)(size 1) 2
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, …, s j }. –Domains size . Solution quality:
Slab Variable Redundancy Some slab variables may be redundant: –0 is added to the domain of each s i. –If s i is not necessary to solve the problem, s i = 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) oaoa obob ococ odod s1s s2s s3s s4s4 0000
More Slab Symmetry Slab variables assigned the same size are indistinguishable. When s i and s i+1 have the same assignment, the corresponding rows of the order matrix are lexicographically ordered. E.g 0110.
Model A Colour Matrix (colourMa) RedGreenBlueOrange s1s s2s s3s s4s Channelling:
Model A of the Example Problem oaoa obob ococ odod oeoe ofof ogog ohoh oioi oaoa obob ococ odod oeoe ofof ogog ohoh oioi s1s1 1 s2s2 1 … RedGreenBlueOrangeBrown s1s1 1 s2s2 1 …
A Solution: Model A oaoa obob ococ odod oeoe ofof ogog ohoh oioi oaoa obob ococ odod oeoe ofof ogog ohoh oioi s1s s2s s3s s4s … RedGreenBlueOrangeBrown s1s s2s s3s s4s …00000 s 1 = 4, s 2 = 3, s 3 = 3, s 4 = 3, s i = 0 (5 i 9)
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) AssWt i is the weight of orders assigned to s i. –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) Waste i = s i – AssWt i –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 Waste i 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) oaoa obob ococ odod z1z z3z z4z4 1000
Model B, Phase 1 Colour Matrix (ColourMb) RedGreenBlueOrange z1z z3z z4z Channelling:
A Solution: Model B, Phase oaoa obob ococ odod oeoe ofof ogog ohoh oioi oaoa obob ococ odod oeoe ofof ogog ohoh oioi z1z z3z z4z RedGreenBlueOrangeBrown z1z z3z z4z z 1 = 0, z 3 = 3, z 4 = 1
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 oaoa obob ococ odod oeoe ofof ogog ohoh oioi oaoa obob ococ odod oeoe ofof s1s s2s s3s Slabs of size 3 1 Slab of size 4 ogog ohoh oioi s1s1 111
The Price of Ambiguity Model B, Phase 1 is ambiguous. Phase 2 sub-problems may be inconsistent. Due to interaction between weight/colour constraints oaoa obob ococ odod p = 1 oaoa obob ococ odod s1s1 ???? s2s2 ???? 2 Slabs of size 4
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: –o a = 4 o b = 4 o c = 4 o d = 4 z 4 > 2
A Model B Solution Cycle Phase 1 Phase 2 Solution Constraints
A Dual Model A/B Combines model A and model B, phase 1. Variables: –Explicit slab variables (s i ) and slab-size variables (z i ). –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) = z i. Between order matrices and S: –Oa[i, j] = 1 Ob[i, s j ] = 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 OrdersOptimalModel AModel AB : 14, 0.1s 78: 486, 0.2s 77: 1841, 0.6s 83: 14, 0.1s 78: 452, 0.2s 77: 1714, 0.6s : 14, 0.1s 80: 451, 0.2s 79: 1536, 0.5s 83: 14, 0.1s 80: 407, 0.2s 79: 1447, 0.4s : 16, 0.1s 89: 819, 0.2s 88: 934, 0.3s 87: 8797, 1.2s 95: 16, 0.1s 89: 726, 0.3s 88: 841, 0.4s 87: 8612, 2.2s : 21, 0.1s 94: 5108, 1.1s 93: 5619, 1.2s 92: 17734, 3.6s 95: 21, 0.2s 94: 4950, 1.3s 93: 5456, 1.5s 92: 17190, 4.7s
Results OrdersOptimalModel AModel AB : 17, 0.1s 101: 5112, 0.9s 100: 5305, 0.9s 99: 92441, 17.8s 107: 17, 0.1s 101: 3673, 0.9s 100: 3866, 0.9s 99: 89618, 23.5s : 23, 0.1s 105: 13074, 2.6s 104: 26757, 5.5s 103: , 50.2s 107: 23, 0.1s 105: 11556, 2.9s 104: 24792, 6.6s 103: , 67.1s : 19, 0.2s 111: 1012, 0.4s 110: , 253.4s 119: s 111: 977, 0.4s 110: , 350.3s
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. –aDCSP.