Agent-based and Individual-based Modeling: A Practical Introduction

NetLogo Information

NetLogo is a platform specifically for agent-based modeling: it provides a conceptual approach, a high-level programming language, graphical interfaces, automated simulation experiments, etc. NetLogo is free; available for Windows, MacIntosh, and Linux computers; and includes very complete and professional documentation and tutorials. NetLogo was written by Uri Wilensky, who founded and directs the Center for Connected Learning and Computer-Based Modeling at Northwestern University, where NetLogo is developed and maintained. NetLogo can be downloaded from their site.

The NetLogo programming information and example models in Agent-based and Individual-based Modeling: A Practical Introduction, and on this site, use the current Version 5 of NetLogo. (Specifically, the NetLogo codes on this web site were last revised in NetLogo version 5.0RC2, released in October 2011. They have been tested and work in NetLogo 5.2, which was released in 2015.) However, our book's text was finalized just as the first preliminary version of NetLogo 5.0 was released, so the book's text and figures do not fully represent, or make full use of, the changes between versions 4.1 and 5.0.

Here are characteristics of NetLogo 5 that are not fully implemented in our book.

  • There is a new View setting called "Frame rate" that can have very important effects on execution speed. Its purpose is to keep the model from running too fast to observe on the View, but it can be overridden when you want higher speed. See the new Frame Rate section of the Programming Guide, which is under the heading of "View updates".
  • The "Information" tab is now called the "Info" tab, and the "Procedures" tab is now the "Code" tab.
  • Version 5 allows the Interface plots to contain the code that defines what they graph. We do not encourage use of this capability, preferring to keep the plotting code in procedures on the Code tab, where it is more visible and harder to forget about. Simply delete the command (often, plot count turtles) that is automatically inserted at "Plot update commands" in the Plot edit dialog.
  • On the Info tab, there is now a markup language letting you format text. See the new Info Tab section of the NetLogo User Manual.
  • There is a new programming concept called "tasks" (with its own section of the Programming Guide), which is beyond the level of programming sophistication reached in our book.

All the NetLogo code in the book should still work in version 4.1. However, the NetLogo programs provided on our downloads page generally do not work when opened in NetLogo 4.1; plots created in version 5.0 appear to lose their pen names (referred to in the code by set-current-plot-pen) when opened in 4.1. This problem is easily corrected by editing the plot to add the pens that are referred to in the code.

NetLogo Citation, Copyright, and Donations

When you produce and publish work using NetLogo, please remember to cite it correctly and to comply with its copyright. Information on citations and the copyright are built into NetLogo: click on "Help" in the main menu and select "About NetLogo".

We strongly encourage you to contribute to the NetLogo project at Northwestern University via their web site. You can, for example, include a contribution in your course fee or in your research project budget. (We have never had a funding agency question a "software support" budget item that contributes to a free software platform such as NetLogo.)

NetLogo Support

Having problems installing, running, or programming NetLogo? We cannot help you directly because NetLogo already has excellent user support resources. Try these:

  • The NetLogo User Manual (just click "help" in NetLogo), including its tutorials, interface and programming guides, and FAQ.

  • The "Code examples" section of NetLogo's built-in Models Library. This should be one of the first places to look to learn how to do something new.

  • The NetLogo Users Group email list, which you can find from NetLogo's help menu (just click "help", then "NetLogo Users Group"). This is an on-line forum that all NetLogo users should belong to. You can post questions to the group, but please be kind to the nice people who answer questions (out of kindness and love of NetLogo) by first searching the group's email archives thoroughly to see whether your question has already been answered.

  • The NetLogo team is now encouraging people to submit programming questions to "Stack Overflow", an on-line community of programmers that post and answer questions. Go to: http://stackoverflow.com/questions/tagged/netlogo (and, again, search the archives before posting a question).