Presentation is loading. Please wait.

Presentation is loading. Please wait.

PSOP: Using Search to Find Better Resource-Leveled Schedules Matt Ginsberg.

Similar presentations


Presentation on theme: "PSOP: Using Search to Find Better Resource-Leveled Schedules Matt Ginsberg."— Presentation transcript:

1 PSOP: Using Search to Find Better Resource-Leveled Schedules Matt Ginsberg

2 © 2005 On Time Systems, Inc.

3 Scheduling to an Academic Use small examples to:  Understand why scheduling is hard  Develop possible solutions Eventually, evaluate candidate approaches based on performance on real problems

4 PSOP: Using Search to Find Better Resource-Leveled Schedules Matt Ginsberg

5 PSOP: Using Search to Find Better Resource-Leveled Schedules Matt Ginsberg Why Scheduling is Like Tetris

6 © 2005 On Time Systems, Inc. Scheduling and Tetris The idea is to squish a lot of stuff into a small space It helps to know what’s coming I am terrible at both

7 © 2005 On Time Systems, Inc. Fact: Computer scientists tend to work on problems at which they are personally lousy. Consequence: Beware of people who say that they are working on “general intelligence.”

8 © 2005 On Time Systems, Inc. Summary The idea is to squish a lot of stuff into a small space It helps to know what’s coming I am terrible at both … but Tetris is much more forgiving than scheduling is

9 © 2005 On Time Systems, Inc. A Scheduling Problem The capacity of the red resource is one. The capacity of the blue resource is infinite. The capacity of the purple resource is two.

10 © 2005 On Time Systems, Inc. How Scheduling Algorithms Work 1.Select the highest- priority unscheduled task whose predecessors have all been scheduled. 2.Schedule it at its current early start. 3.Repeat.

11 © 2005 On Time Systems, Inc. How Scheduling Algorithms Work 1.Select the highest- priority unscheduled task whose predecessors have all been scheduled. 2.Schedule it at its current early start. 3.Repeat.

12 © 2005 On Time Systems, Inc. Order Matters 1.Select the highest- priority unscheduled task whose predecessors have all been scheduled. 2.Schedule it at its current early start. 3.Repeat.

13 © 2005 On Time Systems, Inc. Order Matters The purple resource has capacity two. The bottom task should not be scheduled last.

14 © 2005 On Time Systems, Inc. Order Matters The purple resource has capacity two. The bottom task should not be scheduled last.

15 © 2005 On Time Systems, Inc. Schedule the Longest Task First? 1 2 3

16 © 2005 On Time Systems, Inc. Schedule the Longest Task First? 1 2 3

17 © 2005 On Time Systems, Inc. Schedule the Least Float Task First 2 3 1

18 © 2005 On Time Systems, Inc. No Obvious Order Works longest, least float

19 © 2005 On Time Systems, Inc. No Obvious Order Works longest, least float

20 © 2005 On Time Systems, Inc. The Example in Primavera Use a silly order Prioritize by hand longest, least float

21 © 2005 On Time Systems, Inc. No Order Works

22 © 2005 On Time Systems, Inc. Least Float First least float

23 © 2005 On Time Systems, Inc. Most Float First? least float

24 © 2005 On Time Systems, Inc. The Order That Works Prioritize by hand? least float

25 © 2005 On Time Systems, Inc. Prioritization by Hand

26 © 2005 On Time Systems, Inc

27 © 2005 On Time Systems, Inc. Prioritization by Hand Unlikely to work in practice What can you do? Being good at Tetris will not save you

28 © 2005 On Time Systems, Inc. Outline If you want a good schedule, prioritization matters Not obvious how to prioritize automatically Prioritization by hand is impractical Schedule packing Squeaky wheel optimization  How it works  Strengths, weaknesses  Access

29 © 2005 On Time Systems, Inc. Schedule Packing WARNING: Contents may have settled during shipping

30 © 2005 On Time Systems, Inc. Schedule Packing 1.Slide tasks as far to right as possible 2.Reschedule using start time as priority

31 © 2005 On Time Systems, Inc. Outline If you want a good schedule, prioritization matters Not obvious how to prioritize automatically Prioritization by hand is impractical Schedule packing Squeaky wheel optimization  How it works  Strengths, weaknesses  Access

32 © 2005 On Time Systems, Inc. Squeaky Wheel Optimization Too many priority orders to figure out the best one Use search

33 © 2005 On Time Systems, Inc. think search Primavera schedule packing squeaky wheel P=NP?

34 © 2005 On Time Systems, Inc. Solving Problems Using Search The key is to control the search

35 © 2005 On Time Systems, Inc

36 © 2005 On Time Systems, Inc. Solving Problems Using Search The key is to control the search A machine can look at many candidate schedules, but it still needs to focus on schedules that are likely to be good Squeaky wheel: Analyze the current schedule before generating the next one

37 © 2005 On Time Systems, Inc. Squeaky Wheel Optimization C-A-P loop  Construct  Analyze  Prioritize

38 © 2005 On Time Systems, Inc. Squeaky Wheel Optimization C-A-P loop  Construct a schedule from current priorities  Analyze  Prioritize

39 © 2005 On Time Systems, Inc. Squeaky Wheel Optimization C-A-P loop  Construct a schedule from current priorities  Analyze to evaluate performance by task  Prioritize

40 © 2005 On Time Systems, Inc. Squeaky Wheel Optimization C-A-P loop  Construct a schedule from current priorities  Analyze to evaluate performance by task  Prioritize so that poorly scheduled tasks become more important The squeaky wheel gets the grease!

41 © 2005 On Time Systems, Inc. Squeaky Wheel Where no Order Worked

42 © 2005 On Time Systems, Inc. 3 Squeaky Wheel Where no Order Worked Search improves your ability to find good solutions, even if you guess wrong initially 1 2

43 © 2005 On Time Systems, Inc. Schedule Packing on This Problem

44 © 2005 On Time Systems, Inc. Squeaky Wheel

45 © 2005 On Time Systems, Inc. Enough Already with the Toy Problems! Turnaround data from existing Primavera customer 12,248 tasks, analyzed in 4.5 minutes Primavera length PSOP length Primavera overload PSOP overload Primavera leveled 47 days40 days43 hours11 hours Leveled within total float 30 days 10,561 hours2,653 hours

46 © 2005 On Time Systems, Inc. Pros and Cons Schedule Packing Simple Fast (because no search) Patented by Boeing Squeaky Wheel Not so simple Potentially slower because of search Better coverage Patented by U Oregon Available as an addon for Primavera 5.0

47 © 2005 On Time Systems, Inc. PSOP Demo

48 © 2005 On Time Systems, Inc. One Last Example sand and prepare mix and paint

49 © 2005 On Time Systems, Inc. One Last Example No predecessor-based algorithms works! Squeaky wheel need not follow “network” order Schedule packing does sand and prepare mix and paint

50 © 2005 On Time Systems, Inc. Pros and Cons Schedule Packing Simple Fast (because no search) Patented by Boeing Add search? Squeaky Wheel Not so simple Potentially slower because of search Still Patented by U Oregon Available as an addon for Primavera 5.0 Better coverage

51 © 2005 On Time Systems, Inc. Questions?


Download ppt "PSOP: Using Search to Find Better Resource-Leveled Schedules Matt Ginsberg."

Similar presentations


Ads by Google