modelling a steel mill slab design problem
DESCRIPTION
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 . - PowerPoint PPT PresentationTRANSCRIPT
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
23
1 1 1 1 12
1
• Slab Sizes: {1, 3, 4} ( = 3)• Orders: {oa, …, oi} (j = 9) • Colours: {red, green, blue, orange, brown} (k = 5)• p = 2
a b c d e f g h i
2 3111
11
1
2Solution:
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:
i
i ttotalWeighs
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: s1 s2, s2 s3, etc.
Model A Order Matrix
oa ob oc od
s1 0 0 1 1
s2 0 1 0 0
s3 1 0 0 0
s4 0 0 0 0
i
A ihorderh 1],[
i
h
Ah sihorderoweighti ],[).(
• Slab variables assigned the same size are indistinguishable.
• When si = si+1:
• Corresponding rows of orderA are lexicographically ordered.
• E.g. 1001 0110.
Model A Colour Matrix
Red Green Blue Orange
s1 0 0 1 1
s2 0 1 0 0
s3 1 0 0 0
s4 0 0 0 0
Channelling:
1]),([1],[ iocolourcolourihorder hAA
pihcolourih
A ],[
A Solution: Model A
23
1 1 1 1 12
1oa ob oc od oe of og oh oi
order oa ob oc od oe of og oh oi
s1=4 0 0 0 0 0 0 1 1 1
s2=3 1 0 1 0 0 0 0 0 0
s3=3 0 1 0 0 0 0 0 0 0
s4=3 0 0 0 1 1 1 0 0 0
… 0 0 0 0 0 0 0 0 0
colour Red Green Blue Orange Brown
s1 0 0 0 1 1
s2 1 1 0 0 0
s3 0 1 0 0 0
s4 0 0 1 1 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:
i
i ttotalWeighoweight )(
][
)(
slabSizes
oweighti
i
• 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:
)max(
)(
i
i
i
assWt
oweight
Model A Implied Constraints (3)
• wastei = si – assWti
stemaxTotalWaoweightttotalWeighi
i )(
)(. iih wastemaxwasteh
i
iwastestemaxTotalWa
ih ooihih .)(.. hih oweightasaslabSizesaaioh
•
1. 2.
•
• (under conditions 1, 2).
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.
• Phase 1:– Slab size variables, {z1, z2, …}.
– Domains: {0, …, j} number of slabs of corresponding sized used.
– Solution quality: i
i ttotalWeighiz
Model B, Phase 1 Order Matricesoa ob oc od
z1 0 0 1 1
z3 0 1 0 0
z4 1 0 0 0
i
B ihorderh 1],[
i
h
Bh izihorderoweighti ],[).(
Red Green Blue Orange
z1 0 0 1 1
z3 0 1 0 0
z4 1 0 0 0
pzihcolouri i
h
B ],[
Channelling:
1]],[[1],[ ihrorderColoucolourihorder BB
A Solution: Model B, Phase 1
23
1 1 1 1 12
1oa ob oc od oe of og oh oi
oa ob oc od oe of og oh oi
z1=0 0 0 0 0 0 0 0 0 0
Z3=3 1 1 1 1 1 1 0 0 0
Z4=4 0 0 0 0 0 0 1 1 1
Red Green Blue Orange Brown
z1 0 0 0 0 0
z3 1 1 1 1 0
z4 0 0 0 1 1
Model B Implied Constraints
•
•
• Unary constraints on order matrix:
i
ii
i
i
zAssWt
oweight
)max(
)(
i
i ttotalWeighoweight )(
0],[][)(: ihorderislabSizesoweightih Bh
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
23
1 1 1 1 12
1oa ob oc od oe of og oh oi
oa ob oc od oe of
s1 1 0 1 0 0 0
s2 0 1 0 0 0 0
s3 0 0 0 1 1 1
• 3 Slabs of size 3 • 1 Slab of size 4
og oh oi
s1 1 1 1
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 31 1
oa ob oc od
oa ob oc od
s1 ? ? ? ?
s2 ? ? ? ?
• 2 Slabs of size 4
Slab Sizes: {4}, p = 1
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] = 1 orderB[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.
ResultsOrders Optimal Model A Model AB
15 92 95: 21, 0.1s
94: 5108, 1.1s
93: 5619, 1.2s
92: 17734, 3.6s
95: 21, 0.2s
94: 4529, 1.2s
93: 4948, 1.4s
92: 15983, 4.6s
16 99 107: 17, 0.1s
101: 5112, 0.9s
100: 5305, 0.9s
99: 92441, 17.8s
107: 17, 0.1s
101: 2934, 0.8s
100: 3103, 0.9s
99: 78548, 23.5s
17 103 107: 23, 0.1s
105: 13074, 2.6s
104: 26757, 5.5s
103: 237290, 50.2s
107: 23, 0.1s
105: 11201, 2.9s
104: 21580, 6.4s
103: 204513, 67.1s
18 110 119: 19, 0.2s
111: 1012, 0.4s
110: 1179281, 253.4s
119: 19. 0.2s
111: 988 0.4s
110: 1014092, 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.– 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.