Handledning: Att bygga en modell (modelleringsverktyg)

I denna handledning beskrivs hur man konstruerar en modell för interaktioner mellan ett rovdjur (varg) och ett bytesdjur (älg). Vi kommer att använda oss av Insight Maker för denna uppgift. Med Insight Maker kan man bygga vissa modeller snabbt och gratis.

Gå till insightmaker.com. Innan det kan användas behöver man skapa ett gratiskonto. När det är klart loggar man in på sitt konto och klickar på "Create New Insight".

Create New Insight button

 

Låt oss nu skapa strukturen för en modell av en liten älgpopulation.

 

Skapa ett nytt Stock (bestånd) kallat Älgar.

Skapa ett nytt Flow (flöde) som går från det tomma området till posten Älgar. Ge flödet namnet Födda älgar.

Skapa ett nytt Flow (flöde) som går från posten Älgar till det tomma området. Ge flödet namnet Döda älgar.

Nu bör modelldiagrammet se ut ungefär så här:

Insightmodel-2.png

 

När strukturen nu har definierats matar vi in ekvationerna som ska definiera hur vårt älgbestånd beter sig. Vi utgår från 150 älgar till en början, och från konstanta födelse- och dödstal.

 

Ändra egenskapen Initial Value (initialt värde) för posten Älgar till 150.

Ändra egenskapen Flow Rate (flödeshastighet) för posten Födda älgar till 0.16*[Älgar].

Ändra egenskapen Flow Rate (flödeshastighet) för posten Döda älgar till 0.10*[Älgar].

Kör modellen. Här är provresultaten:

Insightmodel-3.png

Vi ser ett exponentiellt tillväxtmönster i modellen. Det beror på att födelsetalen är högre än dödstalen. Om motsatsen vore sann hade vi sett en populationsminskning över tid.

 

Låt oss nu skapa en vargpopulation.

Skapa ett nytt Stock (bestånd) kallat Vargar.

Skapa ett nytt Flow (flöde) som går från det tomma området till posten Vargar. Ge flödet namnet Födda vargar.

Skapa ett nytt Flow (flöde) som går från posten Vargar till det tomma området. Ge flödet namnet Döda vargar.

Nu bör modelldiagrammet se ut ungefär så här:

Insightmodel-4.png

 

Nu kan vi mata in ekvationer för att definiera vargpopulationens beteende.

 

Ändra egenskapen Initial Value (initialt värde) för posten Vargar till 100.

Ändra egenskapen Flow Rate (flödeshastighet) för posten Födda vargar till 0.2*[Vargar].

Ändra egenskapen Flow Rate (flödeshastighet) för posten Döda vargar till 0.12*[Vargar].

Kör modellen. Här är provresultaten:

Insightmodel-7.png

 

Så långt är allt som det ska.

 

Innan vi låter de två populationerna interagera ska vi göra vår modell mer modulär genom att placera alla konstanter i separata variabla poster. Då blir modellen lättare att underhålla.

Skapa en ny Variable (variabel) kallad Födelsetal älgar.

Skapa en ny Variable (variabel) kallad Födelsetal vargar.

Skapa en ny Variable (variabel) kallad Dödstal älgar.

Skapa en ny Variable (variabel) kallad Dödstal vargar.

Nu bör modelldiagrammet se ut ungefär så här:

Insightmodel-5.png

 

Skapa en ny Link (länk) som går från posten Födelsetal älgar till posten Födda älgar.

Skapa en ny Link (länk) som går från posten Födelsetal vargar till posten Födda vargar.

Skapa en ny Link (länk) som går från posten Dödstal älgar till posten Döda älgar.

Skapa en ny Link (länk) som går från posten Dödstal vargar till posten Döda vargar.

Nu bör modelldiagrammet se ut ungefär så här:

Insightmodel-6.png

 

Låt oss nu lägga till ekvationerna för de nya variablerna för att slutföra modulariseringen.

 

Ändra egenskapen Flow Rate (flödeshastighet) för posten Födda älgar till [Födelsetal älgar]*[Älgar].

Ändra egenskapen Equation (ekvation) för posten Födelsetal älgar till 0.16.

Ändra egenskapen Flow Rate (flödeshastighet) för posten Döda älgar till [Dödstal älgar]*[Älgar].

Ändra egenskapen Equation (ekvation) för posten Dödstal älgar till 0.10.

Ändra egenskapen Flow Rate (flödeshastighet) för posten Födda vargar till [Födelsetal vargar]*[Vargar].

Ändra egenskapen Equation (ekvation) för posten Födelsetal vargar till 0.2.

Ändra egenskapen Flow Rate (flödeshastighet) för posten Döda vargar till [Dödstal vargar]*[Vargar].

Ändra egenskapen Equation (ekvation) för posten Dödstal vargar till 0.12.

Klart! Nu kollar vi att vi får samma resultat som förut.

Kör modellen. Här är provresultaten:

Insightmodel-7.png

 

Nu är det dags att låta varg- och älgpopulationerna interagera. I denna modellutökning jagar vargarna älgarna och äter upp dem. Ju fler älgar vargarna fångar desto snabbare reproducerar de sig, och desto snabbare minskar älgpopulationen. Vi ska göra dödstalet för älgarna beroende av antalet vargar, och födelsetalet för vargarna beroende av antalet älgar.

 

Skapa en ny Link (länk) som går från posten Älgar till posten Födelsetal vargar.

Skapa en ny Link (länk) som går från posten Vargar till posten Dödstal älgar.

Nu bör modelldiagrammet se ut ungefär så här:

Insightmodel-8.png

 

Ändra egenskapen Equation (ekvation) för posten Födelsetal vargar till 0.001*[Älgar].

Ändra egenskapen Equation (ekvation) för posten Dödstal älgar till 0.0008*[Vargar].

Kör modellen. Här är provresultaten:

Insightmodel-9.png

 

Nu börjar det bli intressant! Låt oss nu göra vår simulering längre och mer exakt.

 

Ändra egenskapen Simulation Length (simuleringslängd) för Tidsinställningar Insightmodel-11.png till 100.

Ändra egenskapen Analysis Algorithm (analysalgoritm) för Tidsinställningar Insightmodel-11.png till Accurate (RK4).

Ändra egenskapen Simulation Time Step (simuleringstidssteg) för Tidsinställningar Insightmodel-11.png till 0.5.

Kör modellen. Här är provresultaten:

Insightmodel-10.png

Bra jobbat! Det oscillerande beteendet vi ser är typiskt för vissa predator-bytessystem. Vargarna dödar många av älgarna, men sedan har de inget att äta. Det leder till att vargpopulationen minskar och älgpopulationen kan återhämta sig. Detta upprepas i en kontinuerlig cykel.