420 likes | 661 Views
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:
E N D
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 2 1 1 1 1 1 1 a b c d e f g h i
An Example Solution • 6 Slabs: 2 h 3 1 e 2 1 b f a 1 1 1 1 g c d i (size 4) (size 3) (size 3) (size 1) (size 1) (size 1)
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: {s1, …, 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: s1s2, s2s3, etc.
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 (colourMa) Channelling:
Model A of the Example Problem 3 2 2 1 1 1 1 1 1 oa ob oc od oe of og oh oi
A Solution: Model A 3 2 2 1 1 1 1 1 1 oa ob oc od oe of og oh oi s1 = 4, s2 = 3, s3 = 3, s4 = 3, si = 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) • AssWti 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 – AssWti • 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: • Construct/solve an abstraction of the problem. • 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, {z1, z2, …}. • Domains: {0, …, j} number of slabs of corresponding sized used. • Solution quality:
Model B, Phase 1 Colour Matrix (ColourMb) Channelling:
A Solution: Model B, Phase 1 3 2 2 1 1 1 1 1 1 oa ob oc od oe of og oh oi • z1 = 0, z3 = 3, z4 = 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 3 2 2 1 1 1 1 1 1 oa ob oc od oe of og oh oi • 3 Slabs of size 3 • 1 Slab of size 4
The Price of Ambiguity • Model B, Phase 1 is ambiguous. • Phase 2 sub-problems may be inconsistent. • Due to interaction between weight/colour constraints. 3 3 p = 1 1 1 oa ob oc od • 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: • oa = 4 ob = 4 oc = 4 od = 4 z4 > 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 matricesand S: • Oa[i, j] = 1Ob[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.
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.