А смысл вообще иметь 3-ю колонку если при любых перестановках общее время (сумма второй колонки) не меняется и оптимизировать нечего? Или в задаче есть ещё какие-то не обозначенные условия, влияющие на время выполнения заданий. Без них случай с одним потоком выполнения заданий тривиален и не интересен: выполняй любое готовое к выполнению (т.е. уже выполнены все задания, от которых зависит это) задание, да и всё, автоматом получишь оптимальное решение.
Вот когда потоков выполнения больше одного и есть зависимости между заданиями, вот тогда и становится интересно. Пример (указаны длительности заданий):
Поток
.
Поток
.
Если зависимости заданы как
, то я посмотрю как Вы попытаетесь переставить задания
. И что при этом придётся вычислять и проверять.