Panek Marseille

download Panek Marseille

of 28

Transcript of Panek Marseille

  • 8/11/2019 Panek Marseille

    1/28

    NIVERSITY OFU DORTMUND

    MILP Approach to the

    Axxom Case Study

    Sebastian Panek

  • 8/11/2019 Panek Marseille

    2/28

    NIVERSITY OFU DORTMUND

    Introduction

    What is this talk about?

    MILP formulation for the scheduling problem provided

    by Axxom (lacquer production)

    Whats new since our meeting in Sept. 02?

    Improved model and solution procedure, new results

    What about modeling TA as MILP?

    This work is still in progress...

  • 8/11/2019 Panek Marseille

    3/28

    NIVERSITY OFU DORTMUND

    Overview

    Short problem description

    MILP formulation

    Solution procedure Emprical studies

    Conclusions

  • 8/11/2019 Panek Marseille

    4/28

    NIVERSITY OFU DORTMUND

    Short problem description

  • 8/11/2019 Panek Marseille

    5/28

    NIVERSITY OFU DORTMUND

    Additional problem

    characteristics Additional restrictions for pairs of tasks:

    start-start restrictions

    end-start restrictions

    end-end restrictions

    Parallel allocation of mixing vessels

    Machine allocation

    allowed

    interval

  • 8/11/2019 Panek Marseille

    6/28

    NIVERSITY OFU DORTMUND

    Problem simplifications

    Labs are non-bottleneck resources, no exclusive

    resource allocation is needed (provided by Axxom)

    Individual colors for lacquers => many different

    products

    No batch merging is possible

    Only few jobs exceeding max. batch capacity

    Batch splitting is not considered

  • 8/11/2019 Panek Marseille

    7/28

    NIVERSITY OFU DORTMUND

    General approaches

    For short-term scheduling problems in the processing

    industry [Kondili,Floudas, Pantelides, Grossmann,...]:

    State Task Networks (STN)

    Resource Task Networks (RTN)

    Early formulations: discrete time

    Recent work: continuous time

    Task 1

    Task 2

    State A

    State B

    State C1

    1

    1

    1

  • 8/11/2019 Panek Marseille

    8/28

    NIVERSITY OFU DORTMUND

    General approaches (2)

    Advantages:

    Batch splitting/merging

    Mass balances

    Individual modeling of products

    Restrictions on storages

    Disadvantages:

    Continuous and discrete time models tend to require many

    points of time, number difficult to estimate Very detailed view of the problem not always necessary

    Problem: large models, difficult to solve

  • 8/11/2019 Panek Marseille

    9/28

    NIVERSITY OFU DORTMUND

    Our approach: sequencing based

    continuous time model Continuous time

    Individual representation of time for machines

    Focused on tasks and machines Products (states) are not considered explicitly

    Fixed batch sizes(no merging and splitting of

    batches)

    Grows according to the number of tasks and not tothe time horizon

  • 8/11/2019 Panek Marseille

    10/28

    NIVERSITY OFU DORTMUND

    MILP formulation of the

    continuous time model Real variables for starting and ending times of tasks

    Binary variables for the machine allocation

    task iis processed on machine k:

    Binary variables for the sequencing of tasks task iis processed before task hon machine k:

    ii es,

    1ik

    0,1 hikihk

  • 8/11/2019 Panek Marseille

    11/28

    NIVERSITY OFU DORTMUND

    Starting and ending times for

    allocated machines Starting and ending dates for tasks ion machines k

    Extra linear equations are needed to express

    nonlinear products of binary and real variables

    ikiik

    ikiik

    ee

    ss

    :

    :

  • 8/11/2019 Panek Marseille

    12/28

    NIVERSITY OFU DORTMUND

    Restrictions on binary variables

    Each task must be processed on 1 machine

    If both tasks iand hare processed on machine kthen

    either iis scheduled before hor vice versa

    1k

    ik

    hkikhikihk

  • 8/11/2019 Panek Marseille

    13/28

    NIVERSITY OFU DORTMUND

    Sequencing restrictions

    Tasks i, hprocessed on the same machine kmust

    not overlap each other

    Set iff task iis finished before task h

    ))(1(

    ))(1()1(

    hkikihkhkik

    hkikihkhkik

    Mmse

    MMse

    1ihk

  • 8/11/2019 Panek Marseille

    14/28

    NIVERSITY OFU DORTMUND

    Objective function

    Minimize too late and too early job completions

    ,0,max

    0,maxmin

    i

    ii

    i

    ii

    edeadline

    deadlineeJ

  • 8/11/2019 Panek Marseille

    15/28

    NIVERSITY OFU DORTMUND

    Additional heuristics

    1. Non-overtaking of non-overlapping jobs

    2. Non-overtaking of equal-typed jobs (M. Bozga)

    3. Earliest Due Date (EDD)

    hkikhi sereleasedeadline thenif

    hkikhihi setypetypedeadlinedeadline thenandif

    hkikhi sedeadlinedeadline thenif

  • 8/11/2019 Panek Marseille

    16/28

    NIVERSITY OFU DORTMUND

    2-step solution procedure

    1. Apply heuristics 3(EDD) by fixing some

    variables

    2. Solve the problem

    3. Relax and fix some variables according to

    heuristics 1+2

    4. Solve the problem again reusing previous solutionas initial integer solution

  • 8/11/2019 Panek Marseille

    17/28

    NIVERSITY OFU DORTMUND

    How is the model influenced

    by the heuristics?

    N: #Tasks, M: #Machines

    Most binary variables are variables.

    Worst case: # variables = O(N2

    M) (!!!)(i,h=1...N, k=1...M)

    # real variables = ~2NM

    But:

    When using heuristics, many binary variables are fixedand disappear from the model.

    We want to reduce O(N2M) to O(NM)! How that?

    ihk

    ihk

  • 8/11/2019 Panek Marseille

    18/28

    NIVERSITY OFU DORTMUND

    A little example:

    1 machine, 4 jobs, 1 task/job

    Job# 1 2 3 4

    Release 0 1 1 3

    Deadline 2 3 4 5

    Type 1 1 2 2

    ihk* **

    * **

    * * *

    * * *

    Matrix of

    variablesi=1

    2

    3

    4h=1 2 3

    4

  • 8/11/2019 Panek Marseille

    19/28

    NIVERSITY OFU DORTMUND

    Heuristics #1

    non-overlapping jobs

    Job# 1 2 3 4

    Release 0 1 1 3

    Deadline 2 3 4 5

    Type 1 1 2 2

    ihk* 1*

    * 1*

    * * *

    0 0 *

    Matrix of

    variablesi=1

    2

    3

    4h=1 2 3

    4

  • 8/11/2019 Panek Marseille

    20/28

    NIVERSITY OFU DORTMUND

    Heuristics #2

    equal-typed jobs

    Job# 1 2 3 4

    Release 0 1 1 3

    Deadline 2 3 4 5

    Type 1 1 2 2

    ihk1 1*

    0 1*

    * * 1

    0 0 0

    Matrix of

    variablesi=1

    2

    3

    4h=1 2 3

    4

  • 8/11/2019 Panek Marseille

    21/28

    NIVERSITY OFU DORTMUND

    Heuristics #2

    EDD

    Job# 1 2 3 4

    Release 0 1 1 3

    Deadline 2 3 4 5

    Type 1 1 2 2

    ihk1 11

    0 11

    0 0 1

    0 0 0

    Matrix of

    variablesi=1

    2

    3

    4h=1 2 3

    4

  • 8/11/2019 Panek Marseille

    22/28

    NIVERSITY OFU DORTMUND

    Empirical studies on the Axxom

    Case Study

    model scaled from 4up to 29jobs

    Jobs in job table sorted according to deadlines

    2-stage solution procedure (heuristics 3, 1+2) CPU usage limited to 20+20minutes

    Measurement of solution time,

    equations, real and binary variables,

    objective values and bounds

    Software: GAMS+Cplex

    Hardware: 1.5 GHz Athlon, 1 GB Ram

  • 8/11/2019 Panek Marseille

    23/28

    NIVERSITY OFU DORTMUND

    Objective values

    lower

    bounds

    integer

    solutions

    gap

  • 8/11/2019 Panek Marseille

    24/28

    NIVERSITY OFU DORTMUND

    Solution times

    20 min.limit was

    active for

    >10 jobs

  • 8/11/2019 Panek Marseille

    25/28

    NIVERSITY OFU DORTMUND

    Variables and Equations

    equations

    total

    variables

    binary

    variables

    ~50% of all

    Variables!

    U D

  • 8/11/2019 Panek Marseille

    26/28

    NIVERSITY OFU DORTMUND

    Gantt chart: 29 jobs

    2h of computation time, first integer solution after few min.(node 173)

    U D

  • 8/11/2019 Panek Marseille

    27/28

    NIVERSITY OFU DORTMUND

    22 jobs, moving horizon procedure

    Horizon: 7 jobs, 16 steps a 25 minutes, 300 MHz machine

    U D

  • 8/11/2019 Panek Marseille

    28/28

    NIVERSITY OFU DORTMUND

    Conclusions from empirical

    studies

    EDD heuristics at 1. stage helps finding integer solutions quickly

    (even for large instances!)

    2. stage usually cannot find better solutions (in short time)...

    but the number of binary variables is significantly reduced fromO(N2M)to O(NM)without restricting the problem too much

    for