chain: work=4 critical_path=4 makespan=4 schedule=[['A'], ['B'], ['C'], ['D']]
diamond: work=4 critical_path=3 makespan=3 schedule=[['A'], ['B', 'C'], ['D']]
independent: work=4 critical_path=1 makespan=2 schedule=[['A', 'B'], ['C', 'D']]
Six-task barrier with two workers: work bound=3, path bound=2, actual optimal makespan=4.
