The CityDev model, is an urban multi-agent simulation that includes all the aspects, such as monetary fluxes, of the urban system and has been conceived as a comprehensive urban simulation that allows the participation of human users.

CityDev is based on agents, goods and markets that allow agents to trade on the goods. Each agent (household, industrial, commercial or private service firm, public service, and developer) produces goods and services (labor, consumer goods, services, and buildings) by using other goods (land, raw materials, etc.) and trades the produced goods on the markets (labor market, consumer goods market, private and public services market, and real estate market).  
Agents are located in the physical space. A grid of 100 x 100 squared cells, each 200 x 200 meters, is the spatial pattern of the simulation. Built-up 3D cells can be superimposed for a multi-floor building. In other words, the buildings of the city are considered to be composed of indivisible 3D cells so that mixed use of a cell can be easily attained and eventually changed when an agent relocates.            
Markets exist in relation to goods, in the sense that each type of goods has its specialized market. Markets are like channels that allow agents to interact. Their mission is the most efficient assignment of goods to agents by using price as the main criterion. Concerning the clearing process, markets are distinguished into two types. In the first, the seller establishes the price and the consumer chooses the goods with the lowest price, and also considers the transportation cost. In the second type, (auction market) the consumer bids for the goods, which are then assigned to the highest bidder, as happens in the real estate market. The bid is generally calculated as the amount established for land rent minus transportation costs.            
The actions of the agents are the engine of the model. Through an action, which in essence is a choice among alternatives, an agent establishes relations between agents, goods and markets. To buy (get) from a market, to produce goods, and to sell (put) on the market is the basic set of actions that relates agents and goods. The recursive dynamics include, at each step, the performance of the three basic actions – buy, produce, and sell – so that the “buy” action of the next step follows the “sell” action of the previous step. While a firm performs all the three actions, buying raw material, producing, and finally selling the produced good, a household, as a consumer agent, essentially performs only the “get” action: she buys goods, including buildings, gets a job from the labor market, and participates in the production process as an employee.            

A strategy is related to each action. The strategy considers a set of inputs coming from the environment and tells the agents the best choice for reaching its goal: the amount of profit in the case of a producer and the quantity of consumed goods in the case of a consumer. Input comes from both the natural environmental conditions and the economic environmental conditions that are the result of the previous agent’s decisions. Space is usually included in the strategy because movement through space represents a cost.
Strategies are the core of the urban multiagent system. Strategies utilize the theory and the knowledge gained from observing reality and include planning and choosing. Planning is the establishment of quantities that will constrain the future action of an agent. Planning may be a simple activity, for example, a household “plans” to spend the budget for consumer goods. It becomes more complex when a firm, considering the profits earned in the previous step, establishes the quantity of goods to produce in the next step, and the corresponding price. Choosing means to find among many, the object most suitable for the planned action. Choosing includes to buy the cheaper consumer good, or finding the best plot of land among those owned by a developer, where to carry out the construction.
The interaction among agents simulates the whole economic system and the urban fabric results as a product of this interaction

In the demand-supply approach, transport arises as a consequence of the economic dynamics. Transport cost is assigned to each set of goods as a part of its price. This cost depends on the frequency with which the goods are bought, or on the number of commuting trips. The starting place for shopping can be the house or the workplace, and multi-purpose trips are allowed in case a household buys both consumer goods and services. The cost depends on the distance traveled, which is calculated using the road network, as well as the congestion that results from the agents’ movements in the previous step. For each couple of nodes, the minimum path is considered so that each movement of an agent is assigned to the correct link. The sum of fluxes in each link generates the congestion, which in turn influences the transportation cost in the next step.
The macro-economics dynamic of the model is rooted in basic economic theory: an outside demand for an industrial product or for commercial and service activities, which is usual in a big city, stimulates the production of exogenously related sectors, such as industry. Households are generated whose members work in industrial fi rms. Because households demand final consumer goods, commercial firms are generated, which in turn employ workers, and so on. Each agent needs a building to live or work in; this in turn generates developers who build the urban fabric.

The simulation runs in steps. Each of these steps represents one year of the real life of the city. Each step has four phases: generation of agents trading in the markets, including selling and buying, production, and updating. The updating phase is crucial for the functioning of the model. The budgets of the agents are updated and each producer agent plans the production phase for the next period: How many goods to produce, how much raw material to buy for production during the buying phase in the next step, etc. In addition, the outside demand is updated and used for generating the new agents demanded by the economic process. During the generation of agents phase, new agents are generated when requested by the economic demand. Selling is the natural follow-up to the production of the previous step, in the sense that all produced goods are put up for sale in the appropriate market. The buying phase depends on the planning established in the previous updating phase as well as on the availability of the desired goods in the market. The production phase depends on the update in the previous step, as well as on the input from production that the agent has been able to collect.

CityDev is thus able to simulate the development of an urban fabric starting from a seed.

Including land use, commuters, and several other things...