1 / 22

Scheduling Jobs on Parallel Machines to Maximize Revenue

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 )

elinor
Download Presentation

Scheduling Jobs on Parallel Machines to Maximize Revenue

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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)

  2. 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”

  3. 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”

  4. 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”

  5. 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”

  6. MILP Formulation M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

  7. 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”

  8. 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”

  9. Priority Dispatching Rules • static (at time zero) • dynamic (at time t) M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

  10. 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”

  11. 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”

  12. 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”

  13. 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”

  14. 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”

  15. List Scheduling Algorithm • comparison of the best rule to optimal solutions M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

  16. List Scheduling Algorithm M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

  17. List Scheduling Algorithm M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

  18. Simulated Annealing Algorithm • comparison to optimal solutions M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

  19. Simulated Annealing Algorithm • improvement of initial solutions M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

  20. Simulated Annealing Algorithm • No of iterations • % of iterations to best solution M.Sterna - „Scheduling Jobs on Parallel Machines to Maximize Revenue”

  21. 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”

  22. Thank you for your attention!

More Related