outline problem definition related works & complexity milp formulation solution algorithms...

Post on 21-Jan-2016

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Outline

Problem Definition

Related Works & Complexity

MILP Formulation

Solution Algorithms

Computational Experiments

Conclusions & Future Research

2/26M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

Problem definitiona set of identical parallel machines M={M1, ..., Mm}a set of jobs J={J1, ..., Jn} described by:

processing time – pj

release time – rj

deadline – Dj

due date – dj

revenue – qj

weight/cost– wj

goal: selecting and scheduling jobs after release times before deadlines in order to maximize revenue Qj = qj – wj max{0, Cj – dj}

= qj – wj max{0, Tj} for rejected jobs Qj = 0

3/26M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

M1

M2

J1

Problem definitionmake-to-order manufacturing

4/26M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

r1

q1

J2

+q2

+(q3-w3T3)

+(q4-w4T4)

d1 D1r5 D5d5

r4 d4 D4r2 d2 D2r3 d3 D3

ΣQj

=

Related Works & ComplexityWeighted tardiness problems

1||ΣwjTj is unary NP-hard (Lawler 1977; Lenstra, Rinnoy Kan, Brucker 1977)

1||ΣTj is binary NP-hard (Du, Leung 1990)

Scheduling with deadlines and due dates e.g. Hariri, Potts 1994e.g. Kethley, Allidae 2002

Job selection and scheduling problemwith lateness penalty is NP-hard

(Slotnik, Morton 1996; Ghosh 1997)with tardiness penalty is NP-hard

(Slotnik, Morton 2007)with setup times (Bilgintürk, Oğuz, Salman 2007)

Parallel machine problems 5/26M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

MILP Formulation

6/26M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

otherwise,0

M on position th-i on executed is J,1 kjjkix

njxn

i

m

kjki ..11

1

1

1

nimknj

..11..1

..1

nimkxn

jjki ..1;..11

1

)1..(1;..111

)1(

nimkxxn

jjki

n

jijk

nimknjxjki ..1);1..(1;..1}1,0{

nimktki ..1;..10

nimkrxtn

jjjkiki ..1;..1

1

nimkpDxtn

jjjjkiki ..1;..1)(

1

)1..(1;..11

)1(

nimktpxtn

jikjjkiki

nimkdptwqxQn

jjjkijjjkiki ..1;..1}),0max{(

1

niQ im ..10)1(

1

1 1

maxm

k

n

ikiQ

Solution Algorithmssolution algorithm has to decide about:

jobs acceptancejobs assignment to machinesjobs scheduling on machines

branch and bound algorithmlist scheduling heuristic algorithmsimulated annealing metaheuristic algorithm

7/26M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

List Scheduling Heuristicassigning to a free machine an available job

whose release time rj is exceeded

which can be completed before deadline Dj

which gives some revenue if completed after due date dj

selected according to priority dispatching rule

jobs which cannot be feasibly processed or which give no revenue are rejected

8/26M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

Priority Dispatching Rulesstatic (at time zero)

9/26M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

j

j

p

qmax

j

j

w

qmax

}min{ jp

}max{jq

)}(max{ jjjj dDwq

dynamic (at time t) random

j

jjjj

p

dptwq )},0max{max

)},0max{max{ jjjj dptwq

)}(min{ jjj dptw

Branch and Bound Algorithmassigning a job to m+1 machines

analyzing all possible partitions of jobs to machines

machine Mm+1 collects rejected jobs

sequencing jobs on machinesanalyzing all feasible permutations of subsets of

jobs on machines

upper bound – current revenue increased by the total revenue from non-assigned jobs

initial lower bound – the best heuristic solution of list scheduling algorithm with different rules

10/26M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

Simulated Annealing Algorithmgenerate initial solution S as the best solution

of list scheduling algorithm with different rules

set initial temperature T0

while termination conditions not met dopick at random neighbor solution S’improve solution S’ with embedded SAif Q(S’)>Q(S) then replace S with S’ else accept

with probability exp(-ΔQ/T)if necessary apply diversification by fluctuating

solution randomly and reheating the systemdecrease temperature geometrically after the

given number of iterations 11/26M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

Solution representation & Move definitionsolution is represented as an assignment of jobs

to m+1 machines (Mm+1 collects rejected jobs)scheduling jobs on machines by an exact approach

shifting – selecting 2 machines and shifting one job from the first to the second one

interchanging – selecting 2 machines and interchanging 2 jobs between them

probability of selecting dummy machine Mm+1

influences the process of job acceptance/rejection

12/26M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

Computational Experimentsalgorithms implemented in Java (JDK 1.6 MAC

OS X) under MAC OS X 10.5 (Leopard)randomly generated problem instances of

various sizes and difficultycomputational experiments on Intel Core 2 Duo

2.4GHz, RAM 2GB 667 MHz DDR2

13/26M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

Test Data large instances:

m=5, 10, 15, 20 n/m=2, 5, 10, 15 (n 300)

small instances: m=2, 3, 4 n/m=3, 4, 5 (n 20)

5 instances for pairs of parameters (m, n/m)

4 variants of each instance (with various difficulty) rj[0, pj], =1, 3 dj[rj+pj, (rj+pj)], Dj[dj, dj], =1.25, 1.5 wj[5, 10]; pj[10, 100], qj[10, 100]

320 large instances, 72 small instances14/26M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

List Scheduling Algorithmcomparison of the best rule to optimal

solutions

15/26M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

List Scheduling Algorithm

16/26M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

List Scheduling Algorithm

17/26M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

Simulated Annealing Algorithmcomparison to optimal solutions

19/26M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

Simulated Annealing Algorithmimprovement of initial solutions

23/26M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

Random Solutionscomparison of random rule to optimal

solutions

24/26M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

Simulated Annealing Algorithmcomparison to random solutions

25/26M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

Simulated Annealing Algorithm

26/26M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

Conclusions & Future Researchimproving branch and bound algorithm –

better bounds improving simulated annealing algorithm –

move definitions using problem specific knowledge

improving list scheduling algorithm – looking for efficient priority dispatching rules

order acceptance and scheduling in the real-world problemconcrete delivery problemon-line approach

27/26M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

top related