1. A method for allocating resources of a group of resources to tasks of a group of tasks, the method comprising: forming a resource set comprising a resource record for resources of the group of resources, each resource record having one or more fields representative of attributes of the respective resource; forming a task set comprising a task record for tasks of the group of tasks, each task record having one or more fields, each field holding data representative of an attribute of the respective task; condensing the task set by one or more iterations of the steps of: i. selecting two or more tasks of the task set; ii. adding to the task set an aggregate task record having one or more fields, each such field corresponding to a field of each of the task records of the selected tasks and holding data representative of the collective attributes of the task records of the selected tasks in those fields; and iii. removing the task records of the selected tasks from the task set; forming at least two mappings of some or all of the members of the resource set on to one or more members of the task set; calculating, for each of the mappings, a rating value dependent on the allocation of resources to the or each aggregate task in that mapping; comparing the rating values of the mappings; and selecting one of the mappings for further processing in dependence on the result of the said comparing step.