220 likes | 337 Views
Scheduling Jobs on Parallel Machines to Maximize Revenue. The 7th Seminar on Scheduling and Manufacturing Processes „New Challenges in Scheduling Theory” Marseille- Luminy (France), May 12 -16 , 2008. Małgorzata Sterna , Jacek Juraszek Poznań University of Technology ( Poland )
E N D
Scheduling Jobs onParallel Machines to Maximize Revenue The 7th Seminar on Scheduling and Manufacturing Processes„New Challenges in Scheduling Theory”Marseille-Luminy (France), May 12-16, 2008 Małgorzata Sterna, JacekJuraszek Poznań University of Technology (Poland) Erwin Pesch University of Siegen (Germany)
Outline • Problem Definition • Related Works & Complexity • MILP Formulation • Solution Algorithms • Computational Experiments • Conclusions & Future Research M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”
Problem definition • a 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– wjmax{0, Cj– dj} =qj– wjTj • for rejected jobs Qj= 0 M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”
Problem definition • make-to-order manufacturing J2 J1 J3 J5 J5 J4 r2 r3 r4 r1 r5 d1 d3 d4 d5 d2 D5 D4 D2 D3 D1 M1 M2 ΣQj= q1 +q2 +(q3-w3T3) +(q4-w4T4) M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”
Related Works & Complexity • Weighted 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 1994 • e.g. Kethley, Allidae 2002 • Job selection and scheduling problem • with 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 M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”
MILP Formulation M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”
Solution Algorithms • solution algorithm has to decide about: • jobs acceptance • jobs assignment to machines • jobs scheduling on machines • branch and bound algorithm • list scheduling heuristic algorithm • simulated annealing metaheuristic algorithm M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”
List Scheduling Heuristic • assigning 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 M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”
Priority Dispatching Rules • static (at time zero) • dynamic (at time t) M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”
Branch and Bound Algorithm • assigning a job to m+1 machines • analyzing all possible partitions of jobs to machines • machine Mm+1 collects rejected jobs • sequencing jobs on machines • analyzing 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 M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”
Simulated Annealing Algorithm • generate initial solution S as the best solution of list scheduling algorithm with different rules • set initial temperature T0 • while termination conditions not met do • pick at random neighbor solution S’ • improve solution S’ with embedded SA • if 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 system • decrease temperature geometrically after the given number of iterations M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”
Solution representation & Move definition • solution 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 M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”
Computational Experiments • algorithms implemented in Java (JDK 1.6 MAC OS X) under MAC OS X 10.5 (Leopard) • randomly generated problem instances of various sizes and difficulty • computational experiments on Intel Core 2 Duo 2.4GHz, RAM 2GB 667 MHz DDR2 M.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 (2)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 instances M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”
List Scheduling Algorithm • comparison of the best rule to optimal solutions M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”
List Scheduling Algorithm M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”
List Scheduling Algorithm M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”
Simulated Annealing Algorithm • comparison to optimal solutions M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”
Simulated Annealing Algorithm • improvement of initial solutions M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”
Simulated Annealing Algorithm • No of iterations • % of iterations to best solution M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”
Conclusions & Future Research • improving 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 problem • concrete delivery problem • on-line approach M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”