Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am looking for a software that can simulate simple economics behaviour.

For example, I would like to create 100 households, with different utility functions, then run the simulation and see how demands, supplies and prices develop over time.

This can be an interesting way to see the formulas in action.

share

migration rejected from economics.stackexchange.com Oct 3 '13 at 20:05

This question came from our site for economists and graduate-level economics students. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as off-topic by gnat, Ozz, GlenH7, MichaelT, Michael Kohne Oct 3 '13 at 20:05

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – gnat, Ozz, GlenH7, MichaelT, Michael Kohne
If this question can be reworded to fit the rules in the help center, please edit the question.

comments disabled on deleted / locked posts

2 Answers 2

up vote 10 down vote accepted

What you described does not necessarily require an agent-based-model (ABM). What you describe could instead be realized in a microsimulation model. Both simulation methods feature a micro and a macro level and interactions between these.

The main differences are that in ABMs, individuals can interact with each other (e.g. in a geographically defined ‘field’), and the macro level will be the sum of micro behaviour and/or effects resulting from said interaction. In micro-simulations, individuals only interact with each other through the macro level (e.g. by supplying something to the “market”) and the macro level results from the aggregation of micro level units (think of aggregate demand/supply).

You can implement microsimulations in all ABM simulation toolkits, but you will not need to implement fields or similar, where agents wander around and interact with their neighbours.

Refer to this table, which classifies simulation models:

Simulation overview chart

Source: Gilbert, N./Troitzsch, K. (2005). Simulation for the Social Scientist. Buckingham: Open University Press, p. 13

This paper by Robert Axelrod contains some general elaborations about the role of simulation is social sciences and advice for researchers.

As @prototoast has mentioned, RePast is the most sophisticated and powerful simulation environment out there. Mastering it requires Java programming skills, and proper display of simulation output can be difficult.

NetLogo, mentioned by @Weijie, is more user-friendly. Its main assets are (1) that the code is interpreted instead of compiled and (2) the easy adjustments of the GUI. This means that models can be built and adjusted very easily. However, the built-in programming language lacks the clarity of Java and is not object-oriented, so larger simulations will soon become messy.

Another alternative might be Ascape/Escape. I haven’t used it so I cannot comment it. It appears to feature model-building wizards of some sort that might replace writing java code yourself.

share
locked by Community Oct 3 '13 at 20:05
comments disabled on deleted / locked posts

It sounds like you are looking to do is called Agent-Based Computational Economics (ACE). A good overview of the topic can be found in this paper by professor Leigh Tesfatsion of Iowa State University.

Another paper by Gilbert and Bankes provides a good overview of the various programming environments used to implement these models. Repast, a Java-based library, appears to be the most widely implemented.

No matter what you choose, it is going to be a somewhat intensive exercise on your part. There are not, to the best of my knowledge, any publicly available implementations that facilitate rapid evaluation based upon user-defined parameters.

share
locked by Community Oct 3 '13 at 20:05
comments disabled on deleted / locked posts

Not the answer you're looking for? Browse other questions tagged or ask your own question.