Optimization vs. Adaptation
A word on optimization. This is feasible for static problem domains, like airplane wings, since the problem domain (laws of aerodynamics) doesn't change. In dynamic problem domains, such as traffic or societies, you can't really optimize, because the "optimum" is changing constantly (if it is knowable). In these circumstances, indeed the system tries to find the "best" solution for the current situation (optimize), but since the optimization process neither reaches an optimum nor stabilizes, it would be better described as an adaptation process. Like this you can understand why short term decisions lead to long term failures. More on my paper: Self-Organizing Traffic Lights . Complex Systems 16(1): 29-53. [ preprint ]