Académique Documents
Professionnel Documents
Culture Documents
Steel stacking
A problem in inventory management in the steel industry
Jo ao Pedro Pedroso
Part of the presentation concerns joint work with Rui Rei and Mikio Kubo.
Jo ao Pedro Pedroso Steel stacking
Contents
1 2
Problem description Solution methods MIP solution Branch-and-bound Simulation-based optimization Problem variants More general structures Limited movements Dynamics Other objectives Conclusions
Jo ao Pedro Pedroso Steel stacking
Contents
1 2
Problem description Solution methods MIP solution Branch-and-bound Simulation-based optimization Problem variants More general structures Limited movements Dynamics Other objectives Conclusions
Jo ao Pedro Pedroso Steel stacking
Jo ao Pedro Pedroso
Steel stacking
Jo ao Pedro Pedroso
Steel stacking
Steel stacking
Jo ao Pedro Pedroso
Steel stacking
Steel stacking
Data pN nN R N, i = 1, . . . , n i Di N, i = 1, . . . , n number of stacks on the warehouse number of items release dates delivery dates
Jo ao Pedro Pedroso
Steel stacking
Steel stacking
Constraints crane can move only the item on top of the stack release and delivery dates must be satised the valid movements depend on R , D , and on the choices made up to the moment. Solution representation List of movements from a stack (o ) to another (d ) M = [(o1 , d1 ), . . . , (ok , dk )] 0 oi p and 1 di p + 1} stack 0 represents the production facility stack p + 1 represents the customer track/ship. we want to minimize the number of movements (size of M )
Jo ao Pedro Pedroso Steel stacking
Example
A B
16 10 C 12 D 14 stack 0 (production)
Movements: []
Jo ao Pedro Pedroso Steel stacking
stack 1
stack 2
stack 3 (client)
Example step 1
A B
16 10 C 12 D 14 stack 0 (production)
Movements: []
Jo ao Pedro Pedroso Steel stacking
stack 1
stack 2
stack 3 (client)
Example step 1
10 12 D 14
C
stack 0 (production)
Movements: [(0, 1)]
16 stack 1
stack 2
stack 3 (client)
Jo ao Pedro Pedroso
Steel stacking
Example step 2
10 12 D 14
C
stack 0 (production)
Movements: [(0, 1)]
16 stack 1
stack 2
stack 3 (client)
Jo ao Pedro Pedroso
Steel stacking
Example step 2
C D
12 14
stack 0 (production)
Movements: [(0, 1), (0, 1)]
10 16 stack 1
A
stack 2
stack 3 (client)
Jo ao Pedro Pedroso
Steel stacking
Example step 3
C D
12 14
stack 0 (production)
Movements: [(0, 1), (0, 1)]
10 16 stack 1
A
stack 2
stack 3 (client)
Jo ao Pedro Pedroso
Steel stacking
Example step 3
14
stack 0 (production)
Movements: [(0, 1), (0, 1), (0, 2)]
10 16 stack 1
A
12 stack 2
stack 3 (client)
Jo ao Pedro Pedroso
Steel stacking
Example step 4
14
stack 0 (production)
Movements: [(0, 1), (0, 1), (0, 2)]
10 16 stack 1
A
12 stack 2
stack 3 (client)
Jo ao Pedro Pedroso
Steel stacking
Example step 4
stack 0 (production)
10 A 16 stack 1
14 12 stack 2
C
stack 3 (client)
Example step 5
stack 0 (production)
10 A 16 stack 1
14 12 stack 2
C
stack 3 (client)
Example step 5
stack 0 (production)
16 stack 1
14 C 12 stack 2
10
stack 3 (client)
Movements: [(0, 1), (0, 1), (0, 2), (0, 2), (1, 3)]
Jo ao Pedro Pedroso Steel stacking
Example step 6
stack 0 (production)
16 stack 1
14 C 12 stack 2
10
stack 3 (client)
Movements: [(0, 1), (0, 1), (0, 2), (0, 2), (1, 3)]
Jo ao Pedro Pedroso Steel stacking
Example step 6
stack 0 (production)
14 A 16 stack 1
10
12 stack 2
stack 3 (client)
Movements: [(0, 1), (0, 1), (0, 2), (0, 2), (1, 3), (2, 1)]
Jo ao Pedro Pedroso Steel stacking
Example step 7
stack 0 (production)
14 A 16 stack 1
10
12 stack 2
stack 3 (client)
Movements: [(0, 1), (0, 1), (0, 2), (0, 2), (1, 3), (2, 1), (2, 3), (1, 3), (1, 3)] This information is complemented with release and due dates.
Jo ao Pedro Pedroso Steel stacking
Worst case: T = 2N +
N 1 n=1 n
Jo ao Pedro Pedroso
Steel stacking
Jo ao Pedro Pedroso
Steel stacking
Jo ao Pedro Pedroso
Steel stacking
Contents
1 2
Problem description Solution methods MIP solution Branch-and-bound Simulation-based optimization Problem variants More general structures Limited movements Dynamics Other objectives Conclusions
Jo ao Pedro Pedroso Steel stacking
MIP
Jo ao Pedro Pedroso
Steel stacking
Branch-and-bound method
(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) create empty queue Q push root node into Q while Q is not empty pop a node from Q i item to be placed next on node foreach stack s where i can be placed a copy of node place item i in stack s on node execute deliveries from top of stacks in if is a leaf node check if contains a better solution push node into Q
Jo ao Pedro Pedroso Steel stacking
Jo ao Pedro Pedroso
Steel stacking
Simulation strategy:
Heuristics for choosing a stack for an item are applied
1 2
on arrival of an item when moving an item from the top, to reach another below it (reshuing).
Processing order delivery has precedence over stacking released items simultaneous releases are processed by inverse delivery date simultaneous deliveries are processed from top to bottom of the stack
Jo ao Pedro Pedroso
Steel stacking
Simultaneous deliveries:
12 14 E 10 stack 2
D C
16 10 stack 1
B
Steel stacking
Positioning heuristics
When placing an item each position (i.e., each stack) is assigned a value, according to some rules construct a candidate list of positions with best classication (depends on the heuristics used) from this list, randomly choose one for placing the item
Jo ao Pedro Pedroso
Steel stacking
1 2 3 8 3 5 stack 1
Jo ao Pedro Pedroso
B 6 4 stack 1 stack 2
Steel stacking
Simulation-based optimization
Jo ao Pedro Pedroso
Steel stacking
Contents
1 2
Problem description Solution methods MIP solution Branch-and-bound Simulation-based optimization Problem variants More general structures Limited movements Dynamics Other objectives Conclusions
Jo ao Pedro Pedroso Steel stacking
Problem variants
There are many variants of the problem with practical interest:
1
stacks are replaced by more general structures, such as double-ended queues; this allows modeling e.g. cases where items are placed in a horizontal conguration, with access from two ends; crane movements are limited, and thus the number of stacks that can be reached from a given position is limited; placement in certain stacks limits crane movements, i.e., the graph of connections is dynamically changed when items are placed; crane movements induce signicant delays, making the assumption of immediate delivery unviable; other objectives.
Jo ao Pedro Pedroso Steel stacking
14
10 C 12 A 16
queue 1
Jo ao Pedro Pedroso
queue 2
Steel stacking
queue 3
Limited movements
14
10 12 A 16
C
queue n n
queue 1 1
Jo ao Pedro Pedroso
queue 2 2
Steel stacking
queue 3 3
Dynamics
14
10 12 A 16
C
14
10 12 A 16
C
queue n n
queue 1 1
Jo ao Pedro Pedroso
queue 2 2
Steel stacking
queue 3 3
14
10 12 A 16
C
queue n n
queue 1 1
Jo ao Pedro Pedroso
queue 2 2
Steel stacking
queue 3 3
14
10 12 A 16
C
queue n n
queue 1 1
Jo ao Pedro Pedroso
queue 2 2
Steel stacking
queue 3 3
14
10 12 A 16
C
queue n n
queue 1 1
Jo ao Pedro Pedroso
queue 2 queue 3 2 3 15 25
Steel stacking
Other objectives
minimize time of service of track/ship; items are rearranged before track of ship arrive; aim: having the minimum number of movements for loading the track/ship; in some variants: more than one item may be moved a the same time.
Jo ao Pedro Pedroso
Steel stacking
Contents
1 2
Problem description Solution methods MIP solution Branch-and-bound Simulation-based optimization Problem variants More general structures Limited movements Dynamics Other objectives Conclusions
Jo ao Pedro Pedroso Steel stacking
Conclusions
Problem tackled: dicult (decision in one step may have consequences much later). For tackling it:
MIP model; Specialized branch-and-bound; Simulation-based optimization.
Problem has many interesting variants. Dynamics: conguration may change upon decisions taken. Modeling issues: language for formalizing problem description. New solution approaches: nite state automata.
Jo ao Pedro Pedroso
Steel stacking