in assenza di vincoli di risorse, e mi pare questo il caso, un algoritmo come il PERT è più che sufficiente:
http://it.wikipedia.org/wiki/PERT/CPM

in altre parole ogni attività è modellata come un nodo di un grafo a cui si aggiungono un nodo sorgente e un nodo pozzo. A quel punto si calcola il cammino massimo (il duale del cammino minimo) per determinare l'istante di inizio di ogni attività, e altre informazioni utili.