Population Simulation
Programs 
population_sim_100.7 (published 20090803)
population_sim_100.8 (published 20100402)
source code (written in HPBASIC for OpenVMS) 
Notes 
This population simulation is a quick hack to test a few ideas rolling around my head
The output of this program is textbased (not graphical)
Click for other totally free BASIC, C, C++, and DCL programs for OpenVMS
 Sample Run 1 (onechild percouple policy)
 drops by 1/3 after 41 years
 Sample Run 2 (onechild percouple policy with 1% unplanned teenage mating)
 Sample Run 3 (twochild percouple policy)
 Sample Run 4 (onechild percouple policy; mating is spread across five years)
 drops by 1/3 after 42 years
 Sample Run 5 (onechild percouple policy; mating is spread across five years)
 drops by 1/3 after 44 years

Implementation Notes:
 this is an idealized society where everyone lives to old age then dies in the same year on December 31
 selected groups mate all on the same day then give birth on September 1
 selected groups only mate within their own age group
 all mating produces an equal number of males and females
 this society starts with an evenly distributed population then begins implementing the desired policy
 all logic (except repro_fraction) is implemented with integers. I did this to make this simulation more deterministic AND to
make sure we don't have fractional people.
 Legend:
PR = Planned Reproduction
TR = Teenage Reproduction
Observations
 if every couple produces two children, the population will remain constant (because when the parents die, two replacements
will remain)
 since the reproduction rate adds to (or subtracts from) the total population, then the maximum average life span plays a
larger roll than you would suspect.
 a true onechildpercouple policy will require 41 years to cut the population in half (if the average maximum age is 75).
 a tiny amount of unplanned teenage reproduction will grow the population faster than you would suspect.
 my implementation is not as restrictive as you might think.
 Whether mating is restricted to people in the same age group OR matting is unfettered, their offspring
all contribute to the same baby pool which then ripples through to the end.
 People dying all in the same year is not a problem. In realty, some will die earlier while others might
die later so it all averages out. This simulation would have a problem only if people died before they reproduced.
Back to
Home
Neil Rieck
Waterloo, Ontario, Canada.