1. A method of allocating a plurality of resources to handle a plurality of concurrent tasks, comprising the steps of: (a) predicting a load of concurrent tasks to be handled during a forthcoming period; (b) identifying at least one characteristic of each respective task to be handled; (c) determining a set of resources available for handling concurrent tasks during the forthcoming period, each resource having at least one resource characteristic relating to its efficiency in handling a respective task in dependence on the respective at least one characteristic; and (d) in dependence on at least a relationship of each of a predicted load of tasks to be concurrently handled during the forthcoming period, the determined availability of resources for handling the concurrent tasks, a utility of each respective task to be handled, and a cost of each available resource, selecting, with an automated processor, an optimum association of at least one resource to handle each respective concurrent task, at least one resource handling a respective task having an efficiency of handling tasks per unit time below that of a most efficient available resource.