Scheduling software is disclosed which is adapted to: receive input data
sets for each of a plurality of tasks, each data set including a value
for a resource required to perform the task and a rule relating to
performance of the task; having regard to the rules in the data sets,
order tasks in accordance with one or more predetermined criteria;
calculate, using each of the values for the resource from individual
tasks, a value for a parameter of the resource, wherein the value is
calculated upon the basis of a function which is an algebra homomorphism.