A method of scheduling and making material time balancing decisions for a
set of balanced tasks. The method includes steps of scheduling a first
task from among the set of tasks, maintaining a reversible buffer over
the interval, values of which over the time interval define a buffer
profile. The buffer profile indicates the balance of items consumed by
already scheduled tasks over the time interval. The next task to be
scheduled is then selected from among all schedulable tasks of the set of
tasks. A schedulable task is defined as a task that produces a quantity
of items that is less than or equal to the balance of items consumed by
the already scheduled tasks, as indicated by the buffer profile. The
selected task may then be scheduled such that the end time of the
selected task is latest.