The previous chapters have led you through a do-it-yourself version of a transportation planning simulation. Irrespective of the fact if you have really implemented all of it, or just pieces, or none at all, several things should have become clear:
Transportation simulations do not only consist of the traffic modules, where cars and people move through the system, but also of strategic/tactical modules which simulate the human decision-making that generate the traffic in the first place.
Although a whole transportation simulation package is a complex software system, programming a ``lite'' version that concentrates on the most important aspects is a manageable task.
Modern computer science tools, in particular object-oriented programming languages, are very helpful for programming these types of simulations. The challenge is to find a good balance between where these additional language features really help and where they make things uncomprehensible to the uninitiated.
These past chapters have attempted to concentrate on the bare-boned essentials. Clearly, what is essential and what not depends on one's preferences and taste. The focus of this text is on the multi-agent view, i.e. the fact that a transportation simulation can be seen as a simulation of many intelligent, interacting agents. In consequence, we have stressed that all individual travelers make their individual plans, and that these plans can be revised in iterated simulations - in other words, the agents learn. The underlying traffic simulation, a 1-lane cellular automata simulation, was designed such that it could execute individual plans in a meaningful way, but it was not attempted to make that simulation realistic.
The following chapters of this text will show how that simulation can be improved. Improvements are primarily into two directions: (i) more realism; (ii) truly agent-based view. These aspects will be discussed in more detail in the introduction to Sec. .
[[following goes where??]]
More realism. In particular the traffic simulation can be made much more realistic. We will first show one version (the queue simulation) which is both more realistic and computationally much faster; it however models traffic on a higher level of abstraction which is sometimes more difficult to grasp. Higher levels of realism are also introduced for the router (time dependence, other modes of transportation), and, to some extent, for activity generation. All these are researched intensely, since multi-agent simulation has opened the way to new exciting possibilities.
Truly agent-based view. The simulation described in the last chapters depends on file-based interfaces, and these interfaces imply that the sequencing of the simulation is organized around modules. In general, modules will run sequentially, each module modifying some aspect of the system state that is displayed by the collection of input and output files. One will however easily recognize that this organization of the simulation is not truly agent-based, that is, the agent is not truly at the center. For example, programming an agent that uses mutation and crossover to create new strategies from the ones it has already tried out is awkward with the described framework.