Heterogeneous agents may have interdependent actions due to limited resources needed by several of the agents. Example domains include network traffic problems in which several different agents must send information through the same network; and load balancing in which several computer processes or users have a limited amount of computing power to share among them. Designers of multiagent systems with limited resources must decide how the agents will share the resources.
One interesting network traffic problem called Braess' paradox has been studied from a multiagent perspective using GAs [30]. Braess' paradox is the phenomenon of adding more resources to a network but getting worse performance. Glance and Hogg claim that under certain conditions, including usage-dependent resource costs, agents that are sharing the network and reasoning separately about which path of the network to use cannot achieve global optimal performance [30]. Glance and Hogg use GAs to represent different parts of a contrived sample network. Arora and Sen then improve the GA representation slightly and show that with the new representation, the system is actually able to find the globally optimal traffic flow [4].
Adaptive load balancing has been studied as a multiagent problem by allowing different agents to decide which processor to use at a given time. Using RL, Schaerf et al. show that the heterogeneous agents can achieve reasonable load balance without any central control and without communication among agents [76]. The agents keep track of how long a job takes when it is scheduled on a given resource, and they are given some incentive to explore untried processors or processors that did poorly in the past.