Marco Bosco Valerio Gemmetto Dario Ricciardo

Simulation models for economics

Project work on

"Two Population model."

 

The applet requires Java 5 or higher. Java must be enabled in your browser settings. Mac users must have Mac OS X 10.4 or higher. Windows and Linux users may obtain the latest Java from Oracle's Java site.


Here you can find an introduction to the Two Population model application.


powered by NetLogo

view/download model file: two_population_model.nlogo

CODE

breed [ Blacks BlackAgent ]
breed [ Whites WhiteAgent ]
breed [ Grays GrayAgent ]

turtles-own [ age ]

to setup
  clear-all
  reset-ticks
  ask patches [ set pcolor 95 ]
  ask turtles [ set age 0 ]
  create-Blacks BlacksInitialNumber  ; initial number of agents of Black class
    [ set color Black 
      set shape "person"
      setxy random-xcor random-ycor ]
    
  create-Whites WhitesInitialNumber ; initial number of agents of White class 
     [ set color White 
       set shape "person"
       setxy random-xcor random-ycor ]
   
end

to move
  if count turtles = 0 [ stop ]
  if count turtles >= 2000 [ stop ]
  go
  perish
  beborn
  ask Blacks [ copulate ]
  ask turtles [ set age age + 1 ]
  tick
  if ticks >= 1000 [ stop ]
  
end
  
to go
  ask turtles
  [ forward random 2
    right random 360
  ]
  
end

to  perish
  ask Blacks
  [ if (random-float 1) <= (1 -(exp(-((age)/(BlacksAveDeathAge))))) [ die ] ; death of the agents of the Black class
  ]
  ask Whites
  [ if (random-float 1) <= (1 -(exp(-((age)/(WhitesAveDeathAge))))) [ die ] ; death of the agents of the White class
  ]
  ask Grays
  [ if (random-float 1) <= ((0.5)*(2 -((exp(-((age)/(BlacksAveDeathAge))))+((exp(-(age)/(WhitesAveDeathAge))))))) [ die ] ; death of the agents of the Gray class
  ]
  
end  
 
 to beborn 
  ask Blacks [
  if age = random-poisson BlacksAveReproductionAge
  [ hatch random-poisson BlacksAveChildrenNumber [ set age 0 ] ; birth of the agents of the Black class
  ]]
  
  ask Whites [
   if age = random-poisson WhitesAveReproductionAge
  [ hatch random-poisson WhitesAveChildrenNumber [ set age 0 ] ; birth of the agents of the White class
  ]]
  
 end  
  
  to copulate
  let partner one-of Whites-here    ; generation of Gray Agents
  if partner != nobody                            
    [ hatch-Grays ((0.5)*((random-poisson WhitesAveChildrenNumber)+(random-poisson BlacksAveChildrenNumber))) 
                   [  set age 0 
                      set color 3
                      set shape "person"
                      setxy random-xcor random-ycor ] ]
    
  end