Scheduling a sequence of tasks - in the acceptation of finding the execution times - is not a trivial problem when the optimization criterion is irregular as for instance in earliness-tardiness problems. This paper presents an efficient Dynamic Programming algorithm to solve the problem with general cost functions depending on the end time of the tasks, idle time costs and variable durations also depending in the execution time of the tasks. The algorithm is also valid when the precedence graph is a tree and it can be adapted to determine the possible execution windows for each task not to exceed a maximum fixed cost.
European Journal of Operational Research 165, p.82-96. http://dx.doi.org/10.1016/j.ejor.2004.01.025