NRE 501.039
GIS and Landscape Modeling
F
all 2003
Prof. Dan Brown


Agent-Based Modeling

For this lab assignment you are asked to explore the functioning of a very simple model of residential development around an initial city center.  The model was created using a modeling environment called NetLogo, which permits the creation of simple models and the creation of standard user interfaces that can be easily placed on the WWW.  The model is embedded as a JAVA applet in this page.  You can see the code for the model by clicking the link underneath the applet. 


The Model

The model is a version of SOME (Sluce's Original Model for Experimentation), which has been developed for the purposes of exploring the processes that influence sprawl in the exurban environment around a city.  It's simplicity keeps its processes relatively intuitive, so that we can experiment with these dynamics.

The model simulates development using residential and service agents that enter the world at a given rate (for this exercise the rate is set to 10 residents per time step and 1 service center for each 100 residents).  Residents locate themselves on the cells that maximize their utility.  However, they only get to sample some small number of cells before selecting one.  The parameter "numtests" determines how many cells each resident gets to sample and, in this version of the model, it can be set to any value from 1 to 30 (15 is default).  By providing the residents incomplete information about the cells in the landscape, this process represents a form of bounded rationality.Utility is calculated for each sampled cell based on the aesthetic quality of the cell and its calculated distance from the nearest service center. The utility function is as follows:

 utility of a cell to a resident = (  ( 1 / sddist  ) ^ alphaS ) * ( quality ) ^ alphaQ ))

An initial service center is placed in the center cell, and the distance of each cell to the nearest service center (sddist) is calculated each time a new service center enters.  The aesthetic quality of each cell is set at the beginning of each model run using a random map that is smoothed to some degree, specified by a smoothness parameter (called "smoothness") that can be set.  The smoothness parameter introduces spatial autocorrelation into the aesthetic quality map, and increases the level of spatial autocorrelation at higher parameter values.  (The aesthetic quality map could be read from a GIS data layer if we wanted to evaluate these dynamics in a particular place). The importance residents place on aesthetic quality (alphaQ) and distance (alphaS) is set according to a parameter called "Space-Quality-Tradeoff."  If this value is 1.0, each factor is given equal weight in the calculation of utility.  A value of 2.0 places all emphasis on distance, with no consideration of aesthetic quality.  Conversely, a value of 0.0, forces the residents to consider only aesthetic quality, with no consideration of service center distance.  All residents have the same utility function and parameter values. 

Two important feedbacks can be present in the model. 

First, if "luab?" (stands for "land use affects beauty") is switched on, each development reduces the aesthetic quality of the cells around it. This can result in changing the decisions made by the subsequent residents as they evaluate the aesthetic quality of available cells. This process can reduce desirability of locations selected early in the model run and can serve as a form of negative feedback.

Second, each time a new set of 100 residents has entered, a new service center locates by selecting a random direction and moving out from the last resident until it finds an unoccupied cell.  This is a relatively crude approach to locating service centers, but it captures our intuition that services tend to locate near people, who can serve as both customers and employees. This process can reinforce the location decisions of early residents as a form of positive feedback.

Because our interest has been in using ABMs to help understand urban sprawl, we have incorporated a measure of sprawl into the model.  The measure is simply the number of developments (residents or service centers) that are located out side a specified distance radius from the center cell.  The circle defined by this radius is displayed in yellow on the screen and can be changed using the "radius" parameter.  At each time step, the cells that fall outside the specified radius are counted and the number is plotted on the graph.  Model settings that locate more residents outside the radius at a given time step indicate a system with more sprawl. 

The model is set up to run until a total of 1600 residents have entered the landscape, at which point it stops.

Something to think about:  Think about the research questions one might be able to answer with a model like that described.  If can think of a question that the model cannot answer, think about how the model would need to be changed in order to answer the question.

Running the Model

Here's the model. Run it with the default parameter settings just to see it work.  First, you need to click "setup" to create the initial service center and the aesthetic quality map.  Then, click "go once" to see what happens in a single time step.  Be sure it's doing what you expected.  Once you are sure you understand what's happening, click "go" to run the model out until 1600 residents have entered.  Also, change the parameter settings to see if they have the effects on the spatial patterns that you expect them to have.

Suggestions for further experimentation and questions are provided below the model.

created with NetLogo; view/download model file: some3.nlogo


Experiments

Based on your own hypotheses about the effects that the "Space-Quality-Tradeoff," "numtests," and "luab?" parameters have on sprawl, test these hypotheses with the model.  Run the model under each of at least two experimental settings of the model (more if you're feeling adventurous). Design these experimental settings in a way that allows you to test your hypotheses.  For example, if you have a specific hypothesis about the effects of the Space-Quality-Tradeoff parameter on sprawl, then run the model with the other parameters fixed, but with two or three settings of Space-Quality-Tradeoff.  Or, you could hypothesize about the effects that changing combinations of parameters will have.  For example, you could see if you can find the parameter settings that produce the most (or least) sprawl.

Set the smoothness and radius parameters how you like, but use the same settings for each of your experimental settings.

For your experiments, measure the amount of sprawl by recording the number of developments outside the radius at the end of the model run.  You can read the numbers off the graph by pointing your mouse at the appropriate location on the graph.  Run the model at least five times for each parameter setting and record the average and standard deviation of the number of developments outside the radius.  This will allow you to compare model settings for the degree of sprawl they produce.  State your hypotheses explicitly and nterpret the results of these experiments.  Was sprawl greater or lesser under any of your experimental settings?  Are these differences consistent with your hypotheses?

Turn in by 5 pm on Wednesday Dec 10 an approx. 1-page write-up based on your analysis.  Include a single table with the numeric results from your experiments.  Be sure to include a description of the model parameter settings in the table, to describe each of the experimental settings.