steel stacking.pdf

Embed Size (px)

Citation preview

  • 7/30/2019 steel stacking.pdf

    1/47

  • 7/30/2019 steel stacking.pdf

    2/47

    Problem descriptionSolution methodsProblem variants

    Conclusions

    Contents

    1 Problem description

    2 Solution methodsMIP solution

    Branch-and-boundSimulation-based optimization

    3 Problem variantsMore general structures

    Limited movementsDynamicsOther objectives

    4 Conclusions

    Joao Pedro Pedroso Steel stacking

  • 7/30/2019 steel stacking.pdf

    3/47

    Problem descriptionSolution methodsProblem variants

    Conclusions

    Contents

    1 Problem description

    2 Solution methodsMIP solution

    Branch-and-boundSimulation-based optimization

    3 Problem variantsMore general structures

    Limited movementsDynamicsOther objectives

    4 Conclusions

    Joao Pedro Pedroso Steel stacking

  • 7/30/2019 steel stacking.pdf

    4/47

    Problem descriptionSolution methodsProblem variants

    Conclusions

    Informal problem description

    Context

    A steel producer has a warehouse where the final product isstocked

    large steel bars enter the warehouse when production finishesbars leave the warehouse on trucks or ships for transportingthem to the final customer

    there is a crane in the warehouse, which moves the bars one

    at a timethe warehouse has p different places

    each place can be empty, or keep a stack of steel bars

    Joao Pedro Pedroso Steel stacking

    P bl d i i

  • 7/30/2019 steel stacking.pdf

    5/47

    Problem descriptionSolution methodsProblem variants

    Conclusions

    Informal problem description

    Assumptions

    capacity of the stacks is infinite

    no delays on crane movements

    crane can move only one item at a time

    only the item on the top of the stack can be moved

    item on top of each stack may have to be relocated(reshuffling)

    Objective

    minimize the number of movements made by the crane

    Joao Pedro Pedroso Steel stacking

    P bl d i ti

  • 7/30/2019 steel stacking.pdf

    6/47

    Problem descriptionSolution methodsProblem variants

    Conclusions

    Steel stacking

    Joao Pedro Pedroso Steel stacking

    Problem description

  • 7/30/2019 steel stacking.pdf

    7/47

    Problem descriptionSolution methodsProblem variants

    Conclusions

    Steel stacking

    Data

    p N number of stacks on the warehousen N number of itemsRi N, i = 1, . . . , n release datesDi N, i = 1, . . . , n delivery dates

    Joao Pedro Pedroso Steel stacking

    Problem description

  • 7/30/2019 steel stacking.pdf

    8/47

    Problem descriptionSolution methodsProblem variants

    Conclusions

    Steel stacking

    Constraintscrane can move only the item on top of the stack

    release and delivery dates must be satisfied

    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)Joao Pedro Pedroso Steel stacking

    Problem description

  • 7/30/2019 steel stacking.pdf

    9/47

    Problem descriptionSolution methodsProblem variants

    Conclusions

    Example

    A16

    B10

    C

    12D14

    stack 2stack 1stack 0 stack 3

    (client)(production)

    Movements:

    []

    Joao Pedro Pedroso Steel stacking

    Problem description

  • 7/30/2019 steel stacking.pdf

    10/47

    Problem descriptionSolution methodsProblem variants

    Conclusions

    Example step 1

    A16

    B10

    C

    12D14

    stack 2stack 1stack 0 stack 3

    (client)(production)

    Movements:

    []

    Joao Pedro Pedroso Steel stacking

    Problem description

  • 7/30/2019 steel stacking.pdf

    11/47

    pSolution methodsProblem variants

    Conclusions

    Example step 1

    B10

    C

    12D14

    stack 2stack 1stack 0 stack 3

    (client)(production)

    A16

    Movements:

    [(0, 1)]

    Joao Pedro Pedroso Steel stacking

    Problem description

  • 7/30/2019 steel stacking.pdf

    12/47

    pSolution methodsProblem variants

    Conclusions

    Example step 2

    B10

    C

    12D14

    stack 2stack 1stack 0 stack 3

    (client)(production)

    A16

    Movements:

    [(0, 1)]

    Joao Pedro Pedroso Steel stacking

    Problem description

  • 7/30/2019 steel stacking.pdf

    13/47

    Solution methodsProblem variants

    Conclusions

    Example step 2

    C

    12D14

    stack 2stack 1stack 0 stack 3

    (client)(production)

    A16

    B10

    Movements:

    [(0, 1), (0, 1)]

    Joao Pedro Pedroso Steel stacking

    Problem descriptionS l h d

  • 7/30/2019 steel stacking.pdf

    14/47

    Solution methodsProblem variants

    Conclusions

    Example step 3

    C

    12D14

    stack 2stack 1stack 0 stack 3

    (client)(production)

    A16

    B10

    Movements:

    [(0, 1), (0, 1)]

    Joao Pedro Pedroso Steel stacking

    Problem descriptionS l i h d

  • 7/30/2019 steel stacking.pdf

    15/47

    Solution methodsProblem variants

    Conclusions

    Example step 3

    D14

    stack 2stack 1stack 0 stack 3

    (client)(production)

    A16

    B10

    C12

    Movements:

    [(0, 1), (0, 1), (0, 2)]

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSol tio ethods

  • 7/30/2019 steel stacking.pdf

    16/47

    Solution methodsProblem variants

    Conclusions

    Example step 4

    D14

    stack 2stack 1stack 0 stack 3

    (client)(production)

    A16

    B10

    C12

    Movements:

    [(0, 1), (0, 1), (0, 2)]

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methods

  • 7/30/2019 steel stacking.pdf

    17/47

    Solution methodsProblem variants

    Conclusions

    Example step 4

    stack 2stack 1stack 0 stack 3

    (client)(production)

    A16

    B10

    C12

    D14

    Movements:

    [(0, 1), (0, 1), (0, 2), (0, 2)]

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methods

  • 7/30/2019 steel stacking.pdf

    18/47

    Solution methodsProblem variants

    Conclusions

    Example step 5

    stack 2stack 1stack 0 stack 3

    (client)(production)

    A16

    B10

    C12

    D14

    Movements:

    [(0, 1), (0, 1), (0, 2), (0, 2)]

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methods

  • 7/30/2019 steel stacking.pdf

    19/47

    Solution methodsProblem variants

    Conclusions

    Example step 5

    stack 2stack 1stack 0 stack 3

    (client)(production)

    A16

    C12

    D14

    B10

    Movements:

    [(0, 1), (0, 1), (0, 2), (0, 2), (1, 3)]

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methods

  • 7/30/2019 steel stacking.pdf

    20/47

    So ut o et odsProblem variants

    Conclusions

    Example step 6

    stack 2stack 1stack 0 stack 3

    (client)(production)

    A16

    C12

    D14

    B10

    Movements:

    [(0, 1), (0, 1), (0, 2), (0, 2), (1, 3)]

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methods

  • 7/30/2019 steel stacking.pdf

    21/47

    Problem variantsConclusions

    Example step 6

    stack 2stack 1stack 0 stack 3

    (client)(production)

    A16

    C12

    B10

    D14

    Movements:

    [(0, 1), (0, 1), (0, 2), (0, 2), (1, 3), (2, 1)]

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methods

  • 7/30/2019 steel stacking.pdf

    22/47

    Problem variantsConclusions

    Example step 7

    stack 2stack 1stack 0 stack 3

    (client)(production)

    A16

    C12

    B 10D14

    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.

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methods

  • 7/30/2019 steel stacking.pdf

    23/47

    Problem variantsConclusions

    Solution representation: MIP

    If we want to solve the problem with standard optimization tools:MIP formulation:

    Sets

    T N time horizon (the number of periods in the model)N N number of items

    W N the number of stacks in the warehouse (warehousewidth).

    H N the maximum number of items that can be in a stack

    at any given instant (warehouse height).R RN item release dates (Ri denotes the release date of itemi).

    D RN item due dates (Di denotes the due date of item i).

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methodsP bl i

  • 7/30/2019 steel stacking.pdf

    24/47

    Problem variantsConclusions

    Solution representation: MIP

    Problem: number of periods that have to be considered

    Worst case: T = 2N +N1

    n=1 n

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methodsP bl i t

  • 7/30/2019 steel stacking.pdf

    25/47

    Problem variantsConclusions

    Solution representation: MIP

    MIP formulation

    Variables

    xijnt 1 if item n is released into position (i,j) at period t

    yijklnt 1 if item n is relocated from position (i,j) into (k, l)at period t

    zijnt 1 if item n is delivered from position (i,j) at period tant 1 if item n has not entered the warehouse yet at pe-

    riod tbijnt 1 if item n is in row j of stack i at period t

    cnt 1 if item n has already left the warehouse at period t

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methodsProblem variants

  • 7/30/2019 steel stacking.pdf

    26/47

    Problem variantsConclusions

    Solution representation: branch-and-bound

    Branch-and-bound

    When an item is released/relocated:Check all stacks where it can be placedCreate a branch for each of them

    When an item is delivered from top: move without branching.

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methodsProblem variants

    MIP solutionBranch-and-bound

  • 7/30/2019 steel stacking.pdf

    27/47

    Problem variantsConclusions

    Simulation-based optimization

    Contents

    1 Problem description

    2 Solution methodsMIP solutionBranch-and-boundSimulation-based optimization

    3 Problem variantsMore general structuresLimited movements

    DynamicsOther objectives

    4 Conclusions

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methodsProblem variants

    MIP solutionBranch-and-boundS

  • 7/30/2019 steel stacking.pdf

    28/47

    Problem variantsConclusions

    Simulation-based optimization

    MIP

    formulate the problem, create modelread an instance

    send it to a solver

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methodsProblem variants

    MIP solutionBranch-and-boundSi l i b d i i i

  • 7/30/2019 steel stacking.pdf

    29/47

    Problem variantsConclusions

    Simulation-based optimization

    Branch-and-bound method

    (1) create empty queue Q(2) push root node into Q(3) while Q is not empty

    (4) pop a node from Q(5) i item to be placed next on node (6) foreach stack s where i can be placed(7) a copy of node (8) place item i in stack s on node

    (9) execute deliveries from top of stacks in

    (10) if is a leaf node(11) check if contains a better solution(12) push node into Q

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methodsProblem variants

    MIP solutionBranch-and-boundSi l ti b d ti i ti

  • 7/30/2019 steel stacking.pdf

    30/47

    ConclusionsSimulation-based optimization

    Discrete event simulation

    type of simulation used on systems where the state variationsare discrete

    computationally inexpensive

    In our case:each simulation run involves some randomness: stack for each itemis selected randomly from list of candidates

    different runs lead to different solutions

    at the end, choose the best run (a large number of runs may berequired for obtaining good results)

    several stacking strategies (heuristics) can be used and tested

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methodsProblem variants

    MIP solutionBranch-and-boundSimulation based optimization

  • 7/30/2019 steel stacking.pdf

    31/47

    ConclusionsSimulation-based optimization

    Simulation strategy:

    Heuristics for choosing a stack for an item are applied

    1 on arrival of an item

    2 when moving an item from the top, to reach another below it

    (reshuffling).

    Processing order

    delivery has precedence over stacking released items

    simultaneous releases are processed by inverse delivery datesimultaneous deliveries are processed from top to bottom ofthe stack

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methodsProblem variants

    MIP solutionBranch-and-boundSimulation-based optimization

  • 7/30/2019 steel stacking.pdf

    32/47

    ConclusionsSimulation-based optimization

    Simultaneous deliveries:

    10

    stack 2stack 1

    16

    10

    14

    12

    A

    B

    C

    D

    E

    No specified order onsimultaneous deliveries:

    1 {C, D} : s2 s1

    2 E : s2 client3 {D, C, A} : s1 s24 B : s1 client

    7 movements

    Deliveries processed by itemdepth:

    1 A : s1 s2

    2 B : s1 client3 {A, C, D} : s2 s14 E : s2 client

    6 movements

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methodsProblem variants

    C l i

    MIP solutionBranch-and-boundSimulation-based optimization

  • 7/30/2019 steel stacking.pdf

    33/47

    ConclusionsSimulation based optimization

    Positioning heuristics

    When placing an item

    each position (i.e., each stack) is assigned a value, accordingto some rules

    construct a candidate list of positions with best classification(depends on the heuristics used)

    from this list, randomly choose one for placing the item

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methodsProblem variants

    C l i

    MIP solutionBranch-and-boundSimulation-based optimization

  • 7/30/2019 steel stacking.pdf

    34/47

    ConclusionsSimulation based optimization

    Heuristics: Optimize flexibility

    we define flexibility of a position as the maximum number ofitems with different delivery dates that can be stacked,without causing an inversion

    candidate stacks for an item are those which:

    maximize flexibility and cause no inversionminimize flexibility, if an inversion is unavoidable

    stack 1

    3

    8

    5

    1

    23

    6 4

    stack 1 stack 2

    3A B

    C

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methodsProblem variants

    Conclusions

    MIP solutionBranch-and-boundSimulation-based optimization

  • 7/30/2019 steel stacking.pdf

    35/47

    Conclusionsp

    Simulation-based optimization

    For this stacking heuristics:

    do N independent simulation runschoose the run that lead to less crane movements

    For each of the N runs:for each item, choose a stack according to the selectedheuristicscontinue processing item releases and deliveries, until havingall items delivered

    return the number of movements required, and thecorresponding movement list

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methodsProblem variants

    Conclusions

    More general structuresLimited movementsDynamicsOther objectives

  • 7/30/2019 steel stacking.pdf

    36/47

    Conclusions Other objectives

    Contents

    1 Problem description

    2 Solution methodsMIP solutionBranch-and-bound

    Simulation-based optimization

    3 Problem variantsMore general structuresLimited movements

    DynamicsOther objectives

    4 Conclusions

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methodsProblem variants

    Conclusions

    More general structuresLimited movementsDynamicsOther objectives

  • 7/30/2019 steel stacking.pdf

    37/47

    Conclusions Other objectives

    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 whereitems are placed in a horizontal configuration, with accessfrom two ends;

    2 crane movements are limited, and thus the number of stacksthat can be reached from a given position is limited;

    3 placement in certain stacks limits crane movements, i.e., thegraph of connections is dynamically changed when items are

    placed;4 crane movements induce significant delays, making the

    assumption of immediate delivery unviable;

    5 other objectives.

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methodsProblem variants

    Conclusions

    More general structuresLimited movementsDynamicsOther objectives

  • 7/30/2019 steel stacking.pdf

    38/47

    Conclusions Other objectives

    More general structures

    E.g., double ended queues

    B10

    queue 1

    C12

    queue 3

    A16

    D14

    queue 2

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methodsProblem variants

    Conclusions

    More general structuresLimited movementsDynamicsOther objectives

  • 7/30/2019 steel stacking.pdf

    39/47

    u j

    Limited movements

    queue 1 queue 3queue 2

    21 3

    queue n

    n

    C12

    B10

    16A

    14D

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methodsProblem variants

    Conclusions

    More general structuresLimited movementsDynamicsOther objectives

  • 7/30/2019 steel stacking.pdf

    40/47

    j

    Dynamics

    queue 1 queue 3queue 2

    21 3

    queue n

    n

    C12

    B10

    16A

    14D

    1510

    71510

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methodsProblem variants

    Conclusions

    More general structuresLimited movementsDynamicsOther objectives

  • 7/30/2019 steel stacking.pdf

    41/47

    Dynamics: allowed movements change 1

    queue 1 queue 3queue 2

    21 3

    queue n

    n

    C12

    B10

    16A

    14D

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methodsProblem variants

    Conclusions

    More general structuresLimited movementsDynamicsOther objectives

  • 7/30/2019 steel stacking.pdf

    42/47

    Dynamics: allowed movements change 2

    queue 1 queue 3queue 2

    21 3

    queue n

    n

    C12

    B10

    16A

    14D

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methodsProblem variants

    Conclusions

    More general structuresLimited movementsDynamicsOther objectives

  • 7/30/2019 steel stacking.pdf

    43/47

    Dynamics: allowed movements change 3

    queue 1 queue 3queue 2

    21 3

    queue n

    n

    C12

    B10

    16A

    14D

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methodsProblem variants

    Conclusions

    More general structuresLimited movementsDynamicsOther objectives

  • 7/30/2019 steel stacking.pdf

    44/47

    Dynamics: times change

    queue 1 queue 3queue 2

    21 3

    queue n

    n

    C12

    B10

    16A

    14D

    15 25

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methodsProblem variants

    Conclusions

    More general structuresLimited movementsDynamicsOther objectives

  • 7/30/2019 steel stacking.pdf

    45/47

    Other objectives

    Another interesting variant:

    1 minimize time of service of track/ship;

    2 items are rearranged before track of ship arrive;3 aim: having the minimum number of movements for loading

    the track/ship;

    4 in some variants: more than one item may be moved a the

    same time.

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methodsProblem variants

    Conclusions

  • 7/30/2019 steel stacking.pdf

    46/47

    Contents

    1 Problem description

    2 Solution methodsMIP solutionBranch-and-bound

    Simulation-based optimization

    3 Problem variantsMore general structuresLimited movements

    DynamicsOther objectives

    4 Conclusions

    Joao Pedro Pedroso Steel stacking

    Problem descriptionSolution methodsProblem variants

    Conclusions

  • 7/30/2019 steel stacking.pdf

    47/47

    Conclusions

    Problem tackled: difficult (decision in one step may haveconsequences much later).

    For tackling it:

    MIP model;Specialized branch-and-bound;Simulation-based optimization.

    Problem has many interesting variants.

    Dynamics: configuration may change upon decisions taken.

    Modeling issues: language for formalizing problem description.

    New solution approaches: finite state automata.

    Joao Pedro Pedroso Steel stacking