Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

System dynamics but with math - guidance needed!

  1. Feb 9, 2012 #1
    A couple of months ago, in-between jobs, I was doing some light research work at Cornell and sitting in on some classes (hiding behind a Big Red hoodie) when a graduate student offhandedly introduced the class to system dynamics and continued rambling on. I knew immediately that that was what I wanted to do.

    I graduated a year ago with a degree in information technology and minors in math and econ. More than anything I enjoyed graph theory, microeconomics, data mining, probability, database design, etc... but looking back on it I realize I honestly just loved modeling things! Turning a shopping site into its component tables or determining the games firm play when in direct competition with one another--really anything involving coming up with a well-defined representation of a complex real-world thing. Everything else was just going through the motions.

    Since then I've looked into system dynamics (stocks and flows and such) and one thing worries me. Whenever a fishery is mentioned (and man, do system dynamics textbooks love their fisheries) and a section details how some stock of fish f(t) is making fishy love and growing at a rate of r*f(t), it is always accompanied by a screenshot of a red curve in some computer program. I'm willing to bet this line is being created by taking teensy-tiny timesteps and incrementing the stock of fish bit by bit. Why is an equation not given? Why does the book not mention that this model can be reduced to the equation f(t) = f(0) * e^rt ? No computer needed!

    So here is where you can help: What field of math would provide the methodology for determining which models could be "equationized", and what tools would be used in distilling a model to simple equations dependent only on t? It would be great if this is exactly what's to come from delving deeper into system dynamics, but I definitely don't want every model to be resolved by putting it into a computer, pressing the "Run" button, and seeing what number pops up. Where's the fun in that? Since elementary school the mantra has always been, "Simplify, simplify, simplify!"

    And if nothing you read above makes sense, you can still help me here:
    Suppose that same stock of fish is leveling off due to an overcrowding effect. There are still fish born every day, but fewer as the days go on. Suppose that the rate of growth of the stock of fish f(t) can be represented as r/f(t) for r > 0 at any point in time t. How could this be reduced to a simple equation dependent only on t (and an initial value at t=0, of course), what tools would you use to do it, and where can I learn more!?
  2. jcsd
  3. Feb 9, 2012 #2


    User Avatar
    Science Advisor
    Homework Helper

    No comment on an "education" system that gave you minors in math and economics without ever learning about differential equations ...

    But that's what you need. Start with ordinary diff. eq's (ODEs) then move on to partial diff eq's (PDEs). You may need some calculus courses as prerequisites.

    However most DEs can't be solved analytically, which is where you come back to computing - and a numerical methods course will teach you that getting good numerical answers isn't quite as simple as just "taking teensy-tiny timesteps".
  4. Feb 9, 2012 #3
    Thanks so much for your response. I'm very appreciative!

    Getting a degree as a web developer I don't think anyone was really looking out to see if I had proper academic form outside of the required classes. I actually did take a class in partial differential equations on my own volition pretty early on (and multivariate calculus, too) but honestly after a couple of years without any sort of rigorous application I've all but lost it!

    What about the methodology for collapsing a model to PDEs? Would you expect that to always be as simple as "thinking through it" or is there a field (possibly system dynamics) that you would imagine to be particularly useful? When you say, "a numerical methods course," are there any other terms I should look out for or be aware of? "Numerical Analysis" surely, but maybe you have an idea of sub-fields or related materials.

    So I suppose for the example I posted the equation to solve would just be df/dt = r/f ? Sorry to bother you but I am dreadfully out of practice!
  5. Feb 11, 2012 #4
    No offense intended, but I too am quite surprised that you got that far without realizing that what you are talking about is a differential equation. A differential equation can be defined as a function dy/dt=f(y,t) where t is the independant variable and y is a function dependant on the independant variable t and a solution of the differnetial equation is a function y(t) such that upon substitution into the function for all values of the independant variable t f(y(t),t)=dy/dt.

    I am not entirely sure, but it would seems as though what you are describing is a type of logistic population growth model. If you assume that the growth rate of the population is proportional to the current population then you get dP/dt=kP, whose solution would be Poe-kt+C, where C is a constant that uniquely specifies the function. (the initial P is a constant of integration as well, but you can assume there is another C value for additional modelling purposes. Say a certain amount of licenses are issued per year for the consumption of this population which contributes to a change in the population) However, it seems as though you are also assuming that there exists a carrying capacity of the environment. That is, some value N for which if y(t)>N then dy/dt<0 and if y(t)<N then dy/dt>0. P(t) will tend towards N until it evens out. This assumption can be introduced by adding in a simple factor of (1-P/N) into the previous equation. Now you have that dP/dt=kP(1-P/N), this is so that as P approaches N the ratio P/N approaches 1 and thus dP/dt approaches zero. That is the same as saying that if the population starts off above the carrying capacity it will die off until it reaches the carrying capacity of the environment and if the population is less than the carrying capacity of the environment it will increase until it reaches that point.

    From there if you are interested you can study how all of the solutions would tend towards the two "equilibrium" or "stable state" solutions (when dP/dt=0) that is when P=0 and when P=N. Of course P cannot be less than zero in this model and so the solutions will tend towards N. Because the differential equation has an infinite collection of solutions which differ by an arbitrary constant C you can study how the behavior of the solutions change as you change the arbitrary parameter C. Sometimes there will exist values of the parameter C such that the "qualitative" or long-term behavior of the system will change and you can study these points and gain information about the long-term behavior of the system. These points are called bifurcation points.

    I hope that was not too much, but I hope I helped. The point is, study differential equations and you will certainly learn a bit about modelling.

    (By the way the one you wanted to solve would be dP/dt=kP and then using seperation of variables which is really a substitution of variables you re-arrange the terms such that each pariable appears on opposite sides of the equation and integrate. So you get dP/P=kdt the integral of which is ln(P)=kT+C and then exponentiating yields the previously stated equation.
  6. Feb 11, 2012 #5


    User Avatar
    Science Advisor

    Hey xpoisnp and welcome to the forums.

    In addition to the above posters comments, I wish to add that you can also study models that use difference equations instead of differential equations.

    The difference between the two is that one deals with continuous time change and the other deals with discrete time change. They are both used to model the kinds of systems you are describing and for difference equations you might want to look into modelling financial systems like annuities and also things like fish management and pest control for farming.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook