240 likes | 390 Vues
Modelling a Steel Mill Slab Design Problem. Alan Frisch, Ian Miguel, Toby Walsh AI Group University of York. Background/Motivation. Many problems exhibit some structural flexibility. E.g. the number required of a certain type of variable .
E N D
Modelling a Steel Mill Slab Design Problem Alan Frisch, Ian Miguel, Toby Walsh AI Group University of York
Background/Motivation • Many problems exhibit some structural flexibility. • E.g. the number required of a certain type of variable. • Flexibility must be resolved during the solution process. • Slab design representative of this type of problem. • Dawande et al. ” Variable Sized Bin Packing with Color Constraints”. • Approximation algorithms guaranteed to be within some bound of an optimal solution
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, minimising total slab capacity. 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.
An Example • Slab Sizes: {1, 3, 4} ( = 3) • Orders: {oa, …, oi} (j = 9) • Colours: {red, green, blue, orange, brown} (k = 5) • p = 2 2 1 3 Solution: 2 1 1 1 1 3 1 2 2 1 1 1 1 1 1 a b c d e f g h i
Model A – Redundant Variables • Number of slabs is not fixed. • Assume highest order weight does not exceed maximum slab size. • Slab variables: {s1, …, sj}. • Value is size of slab. • Solution quality:
Slab Variable Redundancy/Symmetry • 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 variables are indistinguishable. • So model A suffers from symmetry: • Counteract with binary symmetry-breaking constraints: s1s2, s2s3, etc.
Model A Order Matrix • Slab variables assigned the same • size are indistinguishable. • When si = si+1: • Corresponding rows of orderAare lexicographically ordered. • E.g. 1001 0110.
Model A Colour Matrix Channelling:
A Solution: Model A 3 2 2 1 1 1 1 1 1 oa ob oc od oe of og oh oi
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 (under conditions 1, 2).
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. • Phase 1: • Slab size variables, {z1, z2, …}. • Domains: {0, …, j} number of slabs of corresponding sized used. • Solution quality:
Model B, Phase 1 Order Matrices 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
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 • Phase 2 sub-problems may be inconsistent. • Isolate reasons for failure. • Post constraints at phase 1. • Solve phase 1 again. • E.g. oa = 4 ob = 4 oc = 4 od = 4 z4 > 2 3 3 1 1 oa ob oc od Slab Sizes: {4}, p = 1 • 2 Slabs of size 4
A Dual Model A/B • Model A and model B, phase 1. • Explicit slab variables (si) and slab-size variables (zi). • Order matrices referring to explicit slabs (orderA) and to slab-sizes (orderB). • Both types of colour matrix. • Channelling constraints between the models maintain consistency, aid pruning. • Number of occurrences of i in {s1, …, sj} = zi. • orderA[h, i] = 1orderB[h, si] = 1.
A/B Search Strategies • 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 constrain model A variables. • Analogous to pure model B approach. • Interleaved Strategy: • 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. • Use dynamic programming information.
Conclusions • Results only on small instances. • All models need further development: • More implied constraints. • Better heuristics • Set variable model: • Each represents a slab • Domain is set of orders assigned. • Activity DCSP model: • Model A slab variables `activated’ according to remaining capacity of open slabs.