A work allocation system has a plurality of agents that bid for work in
accordance with preferences and behavior of corresponding resources. Each
agent represents a group of resources and is arranged to evaluate the
likelihood that at least one resource in the group can carry out a work
item. The evaluation is dependent on work items previously selected
and/or carried out by the resource, so that the agent effectively models
the preferences of its workers. The agent can use this preference
information to decide a bidding strategy (i.e. to decide which work items
it can bid for), and, having successfully bid for a work item, can
allocate work based on individual characteristics and observed work
preferences. The bidding for work between agents is, for example,
conducted in accordance with contract net based negotiation.