outline problem definition related works & complexity milp formulation solution algorithms...
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”