Download presentation

Presentation is loading. Please wait.

Published byYolanda Lothrop Modified about 1 year ago

1
Jonathan Chan

2
Scheduling problems of type Pm|prec|C max that are easily solvable ◦ Infinite machines: P∞|p j =1,prec|Cmax ◦ Intree, outtree precedence: Pm|p j =1,intree|C max & Pm|p j =1,outtree|C max However, Pm|prec|C max is NP-hard for 2≤m

3
Critical path rule (CP rule) ◦ Gives the highest priority to the job at the head of the longest string of jobs in the precedence graph Largest Number of Successors (LNS rule) ◦ Job with the largest total number of successors in the precedence constraints graph takes the highest priority Fujii, Kasami, Ninomiya algorithm ◦ Matching problem- find the maximum number of disjoint compatible task pairs

4
Consider P2| prec, p j =1| C max with 10 jobs BOTH CP and LNS achieve the optimal schedule M1J3J7J8J9J4 M2J2J1J6J5J10 Critical Path: C max = 5 M1J3J1J8J9J4 M2J2J7J6J5J10 Largest Number of Successors: C max =

5
Consider P2| prec, p j =1 | C max with 8 jobs. All jobs have unit processing times. LNS achieves the optimal schedule M1J3J2J7J5J8 M2J1 IDLE J6J4 Critical Path Solution: C max = 5 M1J2J3J6J4 M2J1J7J5J8 Largest Number of Successors: C max =

6
Consider P2| prec | C max with 6 jobs. All jobs have unit processing times. CP achieves the optimal schedule M1J1J6J3 M2J4J2J5 Critical Path Solution: C max = 3 Largest Number of Successors: C max = M1J4J1J2J3 M2J6J5 Idle

7
Optimal Sequencing of Two Equivalent Processors by Fujii, Kasami, Ninomiya ◦ Algorithm for solving P2|prec, p j =1|C max in O(n 3 ) time for any arbitrary precedence constraint ◦ Step1: Find all disjoint compatible task pairs by constructing a graph G j consisting of n vertices, where two vertices i and j are connected by an edge if there does not exist a path from i and j ◦ Step 2: Determine the maximum set of edges such that no two contain the same vertices ◦ Step 3: Schedule each job pair in order of their precedence relations

8
Step 1: Construct the disjoint compatible task pair graph G j Precedence GraphGraph G j

9
Step 2: Let A 1 be the max set of disjoint compatible task pairs, and A 2 be the set of remaining tasks A 1 = {(T 3, T 5 ), (T 1, T 6 ), (T 2,T 4 )} A 2 = {0}

10
Step 3: Basically schedule each job pair in order of their precedence relations, where β 1, …β n-m is the optimal sequence such that β i is either a single task or task pair j =1 S 1 = {T 1, T 2, T 3, T 4, T 5, T 6 } M 1 =A 1 = {(T 3, T 5 ), (T 1, T 6 ), (T 2,T 4 )} β 1 = (T 1, T 6 ) j=2 S 2 = { T 2, T 3, T 4, T 5 } M 2 = {(T 3, T 5 ), (T 2,T 4 )} β 2 = (T 2,T 4 ) j=3 S 3 = { T 3, T 5 } M 3 = {(T 3, T 5 )} β 3 = (T 3, T 5 ) Solution: C max = 3 M1J1J2J3 M2J6J4J5

11
Marc T. Kaufman disproves this claim that the algorithm can be applied to 3 processors Counterexample: P3|prec, p j =1| C max The max set of disjoint compatible task pairs is {T 1, T 5, T 6 }, {T 4, T 2, T 3 }, suggesting that C max =2. However, the optimal schedule is actually C max =3, and the optimal partition is {T 1, T 4 }, {T 2, T 3, T 5 }, {T 6 }

12
# MachinesSolution MethodEx 1Ex 2Ex 3 2 machinesCP RuleOptimalNot optimalOptimal LNS RuleOptimal Not optimal FKN algorithmOptimal 3 machinesCP RuleOptimal LNS RuleOptimal 4 machinesCP RuleOptimal LNS RuleOptimal The quality of the solution methods, as you increase the number of machines, depends on the type of precedence constraints

13
Example of P4|prec, p j =1|C max ◦ CP Rule: C max = 4 ◦ LNS Rule: C max = 4 ◦ Optimal: C max =3 Observation: if the number of nodes without any predecessors is less than the number of processors, then the CP rule and LNS rule will achieve the optimal schedule

Similar presentations

© 2016 SlidePlayer.com Inc.

All rights reserved.

Ads by Google