(Latest Revision: Oct 09, 2022)

SOLUTION TO:
CS 4440 Practice Exercise
Interval Scheduling and Interval Partitioning Problems


The Given Intervals
(07, 23)
(19, 30)
(09, 17)
(26, 29)
(05, 14)
(04, 08)
(00, 03)
(25, 28)
(20, 27)
(02, 05)
(15, 22)
(11, 18)
(12, 21)
(06, 13)
Here is the same list of intervals (stably) sorted by increasing finish time:
(00, 03)
(02, 05)
(04, 08)
(06, 13)
(05, 14)
(09, 17)
(11, 18)
(12, 21)
(15, 22)
(07, 23)
(20, 27)
(25, 28)
(26, 29)
(19, 30)
Here is the list with letters next to the intervals chosen by the "Scheduling Intervals" algorithm:
(00, 03)   A
(02, 05)
(04, 08)   B
(06, 13)
(05, 14)
(09, 17)   C
(11, 18)
(12, 21)
(15, 22)
(07, 23)
(20, 27)   D
(25, 28)
(26, 29)
(19, 30)
Here is the same list of intervals (stably) sorted by increasing start time:
(00, 03)
(02, 05)
(04, 08)
(05, 14)
(06, 13)
(07, 23)
(09, 17)
(11, 18)
(12, 21)
(15, 22)
(19, 30)
(20, 27)
(25, 28)
(26, 29)
Solution Chosen by the Interval Partitioning Algorithm:
Classroom A (00, 03) (04, 08) (09, 17) (20, 27)
Classroom B          (02, 05) (05, 14) (19, 30)
Classroom C                   (06, 13) (15, 22)
Classroom D                            (07, 23)
Classroom E                   (11, 18) (25, 28)
Classroom F                   (12, 21) (26, 29)


     Interval Partitioning Work
(00, 03) X (02, 05) (04, 08) (05, 14) (06, 13) (07, 23) (09, 17) (11, 18) (12, 21) (15, 22) (19, 30) (20, 27) (25, 28) (26, 29) Classroom A: (00, 03) <== PQ Top (00, 03) X (02, 05) X (04, 08) (05, 14) (06, 13) (07, 23) (09, 17) (11, 18) (12, 21) (15, 22) (19, 30) (20, 27) (25, 28) (26, 29) Classroom A: (00, 03) <== PQ Top Classroom B: (02, 05) (00, 03) X (02, 05) X (04, 08) X (05, 14) (06, 13) (07, 23) (09, 17) (11, 18) (12, 21) (15, 22) (19, 30) (20, 27) (25, 28) (26, 29) Classroom B: (02, 05) <== PQ Top Classroom A: (00, 03) (04, 08) (00, 03) X (02, 05) X (04, 08) X (05, 14) X (06, 13) (07, 23) (09, 17) (11, 18) (12, 21) (15, 22) (19, 30) (20, 27) (25, 28) (26, 29) Classroom A: (00, 03) (04, 08) <== PQ Top Classroom B: (02, 05) (05, 14) (00, 03) X (02, 05) X (04, 08) X (05, 14) X (06, 13) X (07, 23) (09, 17) (11, 18) (12, 21) (15, 22) (19, 30) (20, 27) (25, 28) (26, 29) Classroom A: (00, 03) (04, 08) <== PQ Top Classroom C: (06, 13) Classroom B: (02, 05) (05, 14) (00, 03) X (02, 05) X (04, 08) X (05, 14) X (06, 13) X (07, 23) X (09, 17) (11, 18) (12, 21) (15, 22) (19, 30) (20, 27) (25, 28) (26, 29) Classroom A: (00, 03) (04, 08) <== PQ Top Classroom C: (06, 13) Classroom B: (02, 05) (05, 14) Classroom D: (07, 23) (00, 03) X (02, 05) X (04, 08) X (05, 14) X (06, 13) X (07, 23) X (09, 17) X (11, 18) (12, 21) (15, 22) (19, 30) (20, 27) (25, 28) (26, 29) Classroom C: (06, 13) <== PQ Top Classroom B: (02, 05) (05, 14) Classroom A: (00, 03) (04, 08) (09, 17) Classroom D: (07, 23) (00, 03) X (02, 05) X (04, 08) X (05, 14) X (06, 13) X (07, 23) X (09, 17) X (11, 18) X (12, 21) (15, 22) (19, 30) (20, 27) (25, 28) (26, 29) Classroom C: (06, 13) <== PQ Top Classroom B: (02, 05) (05, 14) Classroom A: (00, 03) (04, 08) (09, 17) Classroom E: (11, 18) Classroom D: (07, 23) (00, 03) X (02, 05) X (04, 08) X (05, 14) X (06, 13) X (07, 23) X (09, 17) X (11, 18) X (12, 21) X (15, 22) (19, 30) (20, 27) (25, 28) (26, 29) Classroom C: (06, 13) <== PQ Top Classroom B: (02, 05) (05, 14) Classroom A: (00, 03) (04, 08) (09, 17) Classroom E: (11, 18) Classroom F: (12, 21) Classroom D: (07, 23) (00, 03) X (02, 05) X (04, 08) X (05, 14) X (06, 13) X (07, 23) X (09, 17) X (11, 18) X (12, 21) X (15, 22) X (19, 30) (20, 27) (25, 28) (26, 29) Classroom B: (02, 05) (05, 14) <== PQ Top Classroom A: (00, 03) (04, 08) (09, 17) Classroom E: (11, 18) Classroom F: (12, 21) Classroom C: (06, 13) (15, 22) Classroom D: (07, 23) (00, 03) X (02, 05) X (04, 08) X (05, 14) X (06, 13) X (07, 23) X (09, 17) X (11, 18) X (12, 21) X (15, 22) X (19, 30) X (20, 27) (25, 28) (26, 29) Classroom A: (00, 03) (04, 08) (09, 17) <== PQ Top Classroom E: (11, 18) Classroom F: (12, 21) Classroom C: (06, 13) (15, 22) Classroom D: (07, 23) Classroom B: (02, 05) (05, 14) (19, 30) (00, 03) X (02, 05) X (04, 08) X (05, 14) X (06, 13) X (07, 23) X (09, 17) X (11, 18) X (12, 21) X (15, 22) X (19, 30) X (20, 27) X (25, 28) (26, 29) Classroom E: (11, 18) <== PQ Top Classroom F: (12, 21) Classroom C: (06, 13) (15, 22) Classroom D: (07, 23) Classroom A: (00, 03) (04, 08) (09, 17) (20, 27) Classroom B: (02, 05) (05, 14) (19, 30) (00, 03) X (02, 05) X (04, 08) X (05, 14) X (06, 13) X (07, 23) X (09, 17) X (11, 18) X (12, 21) X (15, 22) X (19, 30) X (20, 27) X (25, 28) X (26, 29) Classroom F: (12, 21) <== PQ Top Classroom C: (06, 13) (15, 22) Classroom D: (07, 23) Classroom A: (00, 03) (04, 08) (09, 17) (20, 27) Classroom E: (11, 18) (25, 28) Classroom B: (02, 05) (05, 14) (19, 30) (00, 03) X (02, 05) X (04, 08) X (05, 14) X (06, 13) X (07, 23) X (09, 17) X (11, 18) X (12, 21) X (15, 22) X (19, 30) X (20, 27) X (25, 28) X (26, 29) X Classroom C: (06, 13) (15, 22) <== PQ Top Classroom D: (07, 23) Classroom A: (00, 03) (04, 08) (09, 17) (20, 27) Classroom E: (11, 18) (25, 28) Classroom F: (12, 21) (26, 29) Classroom B: (02, 05) (05, 14) (19, 30) After Sorting the classrooms into alphabetical order instead of priority order: Classroom A: (00, 03) (04, 08) (09, 17) (20, 27) Classroom B: (02, 05) (05, 14) (19, 30) Classroom C: (06, 13) (15, 22) Classroom D: (07, 23) Classroom E: (11, 18) (25, 28) Classroom F: (12, 21) (26, 29)