Agent-based modeling is a type of microsimulation that adds "personalities" and "behaviors" of agents, such as social patterns, intelligence or adaptive behaviors. Expanding the traffic example used in microsimulation explanation, a driver agent who has learned that traffic on his usual route to work is heavy may try another route in an attempt to speed his journey. In adaptive agent-based modeling, that same driver will learn over time which route to work is the fastest and alter his behavior accordingly. Most agent-based simulations are designed so users can alter assumptions or inputs, run another simulation, and see how those changes impact the overall system. Often small changes can lead to unintended consequences.
Agent-based modeling is most effectively used in problems that have many interacting, intelligent objects that make decisions, like human behavior simulations.