Search code examples
simulationanylogictrend

Anylogic: adjust number of visitors over time (with trend?)


I am trying to create a trend in which visitors to an event slowly decline every year. This is the setup: https://i.sstatic.net/ETZo1.jpg I want to ensure that for instance in year 1 there are 100,000 visitors but the next year this declines with 1%, so that next year only 99,000 visitors are present and the year after that 99.000*0.99 so in the total of those years 297.010 people have visited. (So, the Stock value of visitors being 297.010 after a simulation of 3 years) What values/formulas should I give my NewInfoRealVisitors variable and flow equation for example? Or all the other variables for that matter


Solution

  • Ok, a lot of things to do here, first your structure is wrong and should be like this: Model Structure

    visitorsPerYear = annualVisitors it's the same variable, but defined as a flow and as a stock at the same time

    annualVisitorsDecline = annualVisitors*declineRate

    Now, to obtain the exact values you want (total visitors = 297010) you need to use years as the model time units and you need to use 1 as the fixed time step: enter image description here

    And finally, you need to run the model in virtual time (as fast as possible) because otherwise anylogic changes your fixed time step without your control enter image description here

    If you don't do all this, you will just get an approximation of 297.010 based on Euler equations... close enough, but not exactly it.