(Latest Revision:
Feb 22, 2021)
SOLUTION TO:
CS 4440 Practice Exercise
Interval Scheduling and Interval Partitioning Problems
The Given Intervals
(08, 13)
(16, 23)
(20, 26)
(07, 14)
(24, 27)
(21, 25)
(15, 19)
(03, 10)
(11, 17)
(00, 05)
(12, 18)
(06, 22)
(01, 04)
(02, 09)
Here is the same list of intervals (stably) sorted by increasing finish time:
(01, 04)
(00, 05)
(02, 09)
(03, 10)
(08, 13)
(07, 14)
(11, 17)
(12, 18)
(15, 19)
(06, 22)
(16, 23)
(21, 25)
(20, 26)
(24, 27)
Here is the list with letters next to the intervals chosen by the "Scheduling Intervals" algorithm:
(01, 04) A
(00, 05)
(02, 09)
(03, 10)
(08, 13) B
(07, 14)
(11, 17)
(12, 18)
(15, 19) C
(06, 22)
(16, 23)
(21, 25) D
(20, 26)
(24, 27)
Here is the same list of intervals (stably) sorted by increasing start time:
(00, 05)
(01, 04)
(02, 09)
(03, 10)
(06, 22)
(07, 14)
(08, 13)
(11, 17)
(12, 18)
(15, 19)
(16, 23)
(20, 26)
(21, 25)
(24, 27)
Solution Chosen by the Interval Partitioning Algorithm:
Classroom A: (00, 05) (07, 14) (16, 23)
Classroom B: (01, 04) (06, 22)
Classroom C: (02, 09) (11, 17) (20, 26)
Classroom D: (03, 10) (12, 18) (21, 25)
Classroom E: (08, 13) (15, 19)(24, 27)
Interval Partitioning Work
(00, 05) X
(01, 04)
(02, 09)
(03, 10)
(06, 22)
(07, 14)
(08, 13)
(11, 17)
(12, 18)
(15, 19)
(16, 23)
(20, 26)
(21, 25)
(24, 27)
Classroom A: (00, 05) <== PQ Top
(00, 05) X
(01, 04) X
(02, 09)
(03, 10)
(06, 22)
(07, 14)
(08, 13)
(11, 17)
(12, 18)
(15, 19)
(16, 23)
(20, 26)
(21, 25)
(24, 27)
Classroom A: (00, 05)
Classroom B: (01, 04) <== PQ Top
(00, 05) X
(01, 04) X
(02, 09) X
(03, 10)
(06, 22)
(07, 14)
(08, 13)
(11, 17)
(12, 18)
(15, 19)
(16, 23)
(20, 26)
(21, 25)
(24, 27)
Classroom A: (00, 05)
Classroom B: (01, 04) <== PQ Top (we only had to check B to know neither A nor B is compatible with (02, 09))
Classroom C: (02, 09)
(00, 05) X
(01, 04) X
(02, 09) X
(03, 10) X
(06, 22)
(07, 14)
(08, 13)
(11, 17)
(12, 18)
(15, 19)
(16, 23)
(20, 26)
(21, 25)
(24, 27)
Classroom A: (00, 05)
Classroom B: (01, 04) <== PQ Top (we only had to check B to know neither A, B, nor C is compatible with (03, 10))
Classroom C: (02, 09)
Classroom D: (03, 10)
(00, 05) X
(01, 04) X
(02, 09) X
(03, 10) X
(06, 22) X
(07, 14)
(08, 13)
(11, 17)
(12, 18)
(15, 19)
(16, 23)
(20, 26)
(21, 25)
(24, 27)
Classroom A: (00, 05) <== PQ Top
Classroom B: (01, 04) (06, 22)
Classroom C: (02, 09)
Classroom D: (03, 10)
(00, 05) X
(01, 04) X
(02, 09) X
(03, 10) X
(06, 22) X
(07, 14) X
(08, 13)
(11, 17)
(12, 18)
(15, 19)
(16, 23)
(20, 26)
(21, 25)
(24, 27)
Classroom A: (00, 05) (07, 14)
Classroom B: (01, 04) (06, 22)
Classroom C: (02, 09) <== PQ Top
Classroom D: (03, 10)
(00, 05) X
(01, 04) X
(02, 09) X
(03, 10) X
(06, 22) X
(07, 14) X
(08, 13) X
(11, 17)
(12, 18)
(15, 19)
(16, 23)
(20, 26)
(21, 25)
(24, 27)
Classroom A: (00, 05) (07, 14)
Classroom B: (01, 04) (06, 22)
Classroom C: (02, 09) <== PQ Top (we only had to check C to know neither A, B, C, nor D is compatible with (08, 13))
Classroom D: (03, 10)
Classroom E: (08, 13)
(00, 05) X
(01, 04) X
(02, 09) X
(03, 10) X
(06, 22) X
(07, 14) X
(08, 13) X
(11, 17) X
(12, 18)
(15, 19)
(16, 23)
(20, 26)
(21, 25)
(24, 27)
Classroom A: (00, 05) (07, 14)
Classroom B: (01, 04) (06, 22)
Classroom C: (02, 09) (11, 17)
Classroom D: (03, 10) <== PQ Top
Classroom E: (08, 13)
(00, 05) X
(01, 04) X
(02, 09) X
(03, 10) X
(06, 22) X
(07, 14) X
(08, 13) X
(11, 17) X
(12, 18) X
(15, 19)
(16, 23)
(20, 26)
(21, 25)
(24, 27)
Classroom A: (00, 05) (07, 14)
Classroom B: (01, 04) (06, 22)
Classroom C: (02, 09) (11, 17)
Classroom D: (03, 10) (12, 18)
Classroom E: (08, 13) <== PQ Top
(00, 05) X
(01, 04) X
(02, 09) X
(03, 10) X
(06, 22) X
(07, 14) X
(08, 13) X
(11, 17) X
(12, 18) X
(15, 19) X
(16, 23)
(20, 26)
(21, 25)
(24, 27)
Classroom A: (00, 05) (07, 14) <== PQ Top
Classroom B: (01, 04) (06, 22)
Classroom C: (02, 09) (11, 17)
Classroom D: (03, 10) (12, 18)
Classroom E: (08, 13) (15, 19)
(00, 05) X
(01, 04) X
(02, 09) X
(03, 10) X
(06, 22) X
(07, 14) X
(08, 13) X
(11, 17) X
(12, 18) X
(15, 19) X
(16, 23) X
(20, 26)
(21, 25)
(24, 27)
Classroom A: (00, 05) (07, 14) (16, 23)
Classroom B: (01, 04) (06, 22)
Classroom C: (02, 09) (11, 17) <== PQ Top
Classroom D: (03, 10) (12, 18)
Classroom E: (08, 13) (15, 19)
(00, 05) X
(01, 04) X
(02, 09) X
(03, 10) X
(06, 22) X
(07, 14) X
(08, 13) X
(11, 17) X
(12, 18) X
(15, 19) X
(16, 23) X
(20, 26) X
(21, 25)
(24, 27)
Classroom A: (00, 05) (07, 14) (16, 23)
Classroom B: (01, 04) (06, 22)
Classroom C: (02, 09) (11, 17) (20, 26)
Classroom D: (03, 10) (12, 18) <== PQ Top
Classroom E: (08, 13) (15, 19)
(00, 05) X
(01, 04) X
(02, 09) X
(03, 10) X
(06, 22) X
(07, 14) X
(08, 13) X
(11, 17) X
(12, 18) X
(15, 19) X
(16, 23) X
(20, 26) X
(21, 25) X
(24, 27)
Classroom A: (00, 05) (07, 14) (16, 23)
Classroom B: (01, 04) (06, 22)
Classroom C: (02, 09) (11, 17) (20, 26)
Classroom D: (03, 10) (12, 18) (21, 25)
Classroom E: (08, 13) (15, 19) <== PQ Top
(00, 05) X
(01, 04) X
(02, 09) X
(03, 10) X
(06, 22) X
(07, 14) X
(08, 13) X
(11, 17) X
(12, 18) X
(15, 19) X
(16, 23) X
(20, 26) X
(21, 25) X
(24, 27) X
Classroom A: (00, 05) (07, 14) (16, 23)
Classroom B: (01, 04) (06, 22) <== PQ Top
Classroom C: (02, 09) (11, 17) (20, 26)
Classroom D: (03, 10) (12, 18) (21, 25)
Classroom E: (08, 13) (15, 19) (24, 27)