ModEst:Q&A lopende estafette: verschil tussen versies

Uit Systeemmodellering
Naar navigatie springen Naar zoeken springen
 
(186 tussenliggende versies door 2 gebruikers niet weergegeven)
Regel 23: Regel 23:
 
'''Moet ik over elke beslissing die ik neem in de estafette een vraag sturen naar de docenten?'''
 
'''Moet ik over elke beslissing die ik neem in de estafette een vraag sturen naar de docenten?'''
 
:Nee, maak vooral zelf je modelleerkeuzes! Als je aan het modelleren bent, moet je heel veel kleine en grote beslissingen nemen. Vaak zijn er meerdere goede mogelijkheden. Als je een aanname kunt onderbouwen, hoef je daar geen toestemming voor te vragen. Denk vooral aan [[Ockham]].
 
:Nee, maak vooral zelf je modelleerkeuzes! Als je aan het modelleren bent, moet je heel veel kleine en grote beslissingen nemen. Vaak zijn er meerdere goede mogelijkheden. Als je een aanname kunt onderbouwen, hoef je daar geen toestemming voor te vragen. Denk vooral aan [[Ockham]].
 +
 +
= Bijlagen zijn leeg of niet te wijzigen =
 +
'''Afbeeldingen in Word en PowerPoint kunnen niet aangepast worden / Het Vensim-bestand is leeg. Mag ik dat mijn voorgangers aanrekenen?'''
 +
:Nee, dat mag je niet. Het bijvoegen van PowerPoint en/of VenSim is een ''service'' aan de opvolgers, en is gewenst maar '''niet''' verplicht.
 +
:Een handgetekende systeemschets of VSD kan even goed zijn als een afbeelding in PowerPoint of een VenSim-model.
 +
:Je moet het diagram zelf op zijn merites beoordelen: zijn grootheden wel grootheden? gaan er geen informatiepijlen een voorraadgrootheid IN? (dit zijn voorbeelden van evidente fouten en dus reden voor 2 sterren) of zijn stroompijlen niet recht of niet met dubbele lijnen ("overige kwaliteiten") of zonder "kraan" ("substantiële kritiek op primaire kwaliteiten") genoteerd?
 +
:Alleen dit soort inhoudelijke kritiek kan reden zijn om minder sterren toe te kennen. Geef duidelijke argumenten en pas de beslisboom correct toe.
  
 
= Verwijzing naar de Q&A =
 
= Verwijzing naar de Q&A =
Regel 33: Regel 40:
 
== Onderzoeksvraag ==
 
== Onderzoeksvraag ==
 
'''Mag je bij "... gegeven ''x'', ''y'' en ''z''" veronderstellen dat die gegeven grootheden constant zijn?'''
 
'''Mag je bij "... gegeven ''x'', ''y'' en ''z''" veronderstellen dat die gegeven grootheden constant zijn?'''
:Indien er geen reden is om aan te nemen dat exogene grootheden dynamisch zijn, dan mag je ze constant veronderstellen.
+
:Indien er geen reden is om aan te nemen dat exogene grootheden dynamisch zijn, dan mag je veronderstellen dat ze constant zijn ''tijdens een run''.
:Bij sommige vraagstukken (C, D en E in Estafette A) wordt expliciet aangegeven welke exogene grootheden tijdsafhankelijk zijn en daarom bij de operationalisatie (estafettestap 2) als een functie van de tijd moeten worden gedefineerd, d.w.z. x = f(t) (zie [[Functievoorschrift]]).
+
:Het is wel de bedoeling dat je ze opneemt in het experimenteel ontwerp, dus van run tot run kunnen ze wel een andere waarde krijgen.
 +
:Bij sommige vraagstukken wordt expliciet aangegeven welke exogene grootheden tijdsafhankelijk zijn en daarom bij de operationalisatie (estafettestap 2) als een functie van de tijd moeten worden gedefineerd, d.w.z. x = f(t) (zie [[Functievoorschrift]]).
  
 
'''De casus vraagt een probabilistisch model en in de onderzoeksvraag wordt naar een kansverdeling gevraagd. Als wij in de vergelijkingen al weergeven welke kansverdeling gebruikt moet worden, geven wij al antwoord op de onderzoeksvraag. Wat wordt hier bedoeld?'''
 
'''De casus vraagt een probabilistisch model en in de onderzoeksvraag wordt naar een kansverdeling gevraagd. Als wij in de vergelijkingen al weergeven welke kansverdeling gebruikt moet worden, geven wij al antwoord op de onderzoeksvraag. Wat wordt hier bedoeld?'''
 
:Als in de onderzoeksvraag naar een kansverdeling wordt gevraagd (zoals "Wat is de kansverdeling van de wachttijd?"), wordt een ''[[Kansverdeling#Empirische_verdeling|empirische verdeling]]'' bedoeld: een verdeling die is gebaseerd ''op de uitkomsten van het model''.
 
:Als in de onderzoeksvraag naar een kansverdeling wordt gevraagd (zoals "Wat is de kansverdeling van de wachttijd?"), wordt een ''[[Kansverdeling#Empirische_verdeling|empirische verdeling]]'' bedoeld: een verdeling die is gebaseerd ''op de uitkomsten van het model''.
 
:Stel dat dit de berekende wachttijden zijn in minuten (op grootte gesorteerd): 1,3; 1,5; 1,5; 1,9; 2,1; 2,3; 2,7; 3,1; 3,9; 4,4.  
 
:Stel dat dit de berekende wachttijden zijn in minuten (op grootte gesorteerd): 1,3; 1,5; 1,5; 1,9; 2,1; 2,3; 2,7; 3,1; 3,9; 4,4.  
:Dan kun je bijvoorbeeld een staafdiagram maken voor de wachttijden binnen intervallen [0, 1>, [1, 2>, [2, 3>, [3, 4> en [4, 5>, die respectievelijk 0%, 40%, 30%, 20% en 10% hoog zijn.
+
:Dan kun je bijvoorbeeld een [[Staafdiagram#Histogram|histogram]] maken voor de wachttijden binnen intervallen [0, 1>, [1, 2>, [2, 3>, [3, 4> en [4, 5>, die respectievelijk 0%, 40%, 30%, 20% en 10% hoog zijn.
  
 
'''Wanneer wij een reeks uitkomsten hebben, welke functie in Excel kan dan worden gebruikt om hier een kansverdeling uit te halen?'''
 
'''Wanneer wij een reeks uitkomsten hebben, welke functie in Excel kan dan worden gebruikt om hier een kansverdeling uit te halen?'''
:Daar is geen functie voor in Excel. Het is dan de bedoeling dat je de [[Kansverdeling#Empirische_verdeling|empirische verdeling]] laat zien in een staafdiagram zoals beschreven in de vraag hierboven.
+
:Daar is geen functie voor in Excel. Het is dan de bedoeling dat je de [[Kansverdeling#Empirische_verdeling|empirische verdeling]] laat zien in een histogram zoals beschreven in de vraag hierboven. Lees [[Staafdiagram#Histogram_maken_in_Excel|deze tekst]] hier op de wiki.
  
 
== Modelschema ==
 
== Modelschema ==
Regel 48: Regel 56:
 
:Een interne variabele wordt door het model berekend op basis van de gekozen waarden van de invoervariabelen. De invoervariabelen zélf worden door het model niet veranderd.
 
:Een interne variabele wordt door het model berekend op basis van de gekozen waarden van de invoervariabelen. De invoervariabelen zélf worden door het model niet veranderd.
 
:Als je bijvoorbeeld een [[discretetijdmodel]] maakt om te bepalen hoe lang het duurt om water aan de kook te brengen om thee te zetten, zijn ''de begintemperatuur van het water'' en ''het vermogen van de waterkoker'' '''invoervariabelen''', zijn ''de temperatuur van het water op een bepaald moment'' (die dus door het model berekend wordt) en ''de verstreken tijd'' '''interne variabelen''', en is ''de tijd die nodig is om 100 °C te bereiken'' (die dus ook berekend wordt) de '''uitvoervariabele'''.
 
:Als je bijvoorbeeld een [[discretetijdmodel]] maakt om te bepalen hoe lang het duurt om water aan de kook te brengen om thee te zetten, zijn ''de begintemperatuur van het water'' en ''het vermogen van de waterkoker'' '''invoervariabelen''', zijn ''de temperatuur van het water op een bepaald moment'' (die dus door het model berekend wordt) en ''de verstreken tijd'' '''interne variabelen''', en is ''de tijd die nodig is om 100 °C te bereiken'' (die dus ook berekend wordt) de '''uitvoervariabele'''.
 +
 +
'''Moet je in het modelschema al stochasten zetten of pas in de modelvergelijkingen?'''
 +
:Een [[stochast|stochastische variabele]] hoort in het modelschema te staan. Schrijf je in een vergelijking bijvoorbeeld:
 +
::A = 123 + B / U(1, C)
 +
:dan is U(1, C) wel ''stochastisch'', maar geen variabele maar een "anoniem" toevalsgetal uit een uniforme kansverdeling, vergelijkbaar met de "anonieme" constante 123: die vermeld je ook niet in het modelschema. De parameter C is wél een variabele die in het modelschema moet staan.
 +
:Noteer je deze vergelijking als twee aparte, dus bijvoorbeeld:
 +
::A = 123 + B/D
 +
::D ~ U(1, C)
 +
:dan is D een stochastische ''variabele'', en hoort daarom in het modelschema te staan.
 +
 +
'''Als om een kans of een kansverdeling wordt gevraagd, worden dat dan uitvoervariabelen in het modelschema?'''
 +
:Als je een modelvergelijking voor een gevraagde kans ''p'' opneemt in je operationele model (bijvoorbeeld ''p'' = &Sigma;<sub>t</sub>X<sub>t</sub>/N bij een simulatietijd van N tijdstappen), dan wordt daarmee ''p'' een uitvoervariabele, en die hoort dan als zodanig in je modelschema te staan.
 +
:Een [[kansverdeling]] is zelf geen variabele, maar een ''eigenschap'' van een stochastische variabele. Die [[stochast]] is dan een uitvoervariabele van je model.
 +
:N.B. Uitvoervariabelen zijn per definitie "de variabelen waarvan je de waarden wilt zien", dus ook de variabelen die volgens de opdracht je in een grafiek moet weergeven zijn uitvoervariabelen.
  
 
== Systeemschets ==
 
== Systeemschets ==
 
'''Mag je in de systeemschets gebruik maken van een legenda of moet alles in de schets zelf staan?'''
 
'''Mag je in de systeemschets gebruik maken van een legenda of moet alles in de schets zelf staan?'''
 
:Een systeemschets moet direct herkenbaar zijn, dus zou er geen legenda nodig moeten zijn (een legenda is nodig voor ''[[Representatie#Symbolisch|symbolische]]'' representatie, en afgezien van de tekst van de labels hoort een systeemschets geen symbolische elementen te bevatten).
 
:Een systeemschets moet direct herkenbaar zijn, dus zou er geen legenda nodig moeten zijn (een legenda is nodig voor ''[[Representatie#Symbolisch|symbolische]]'' representatie, en afgezien van de tekst van de labels hoort een systeemschets geen symbolische elementen te bevatten).
 +
 +
'''Onze voorganger heeft de systeemschets niet in het Powerpoint-document gezet. Daardoor kunnen wij die niet aanpassen of checken over de bronvermelding klopt. Heeft dit gevolgen voor de beoordeling?'''
 +
:Het indienen van een diagram in een formaat dat je kunt aanpassen is een ''service'' die je biedt aan je opvolger. Het is ''wenselijk'' dat je dat doet, maar ''geen essentieel onderdeel van de opdracht''. Het is dus ook nog steeds toegestaan om bijvoorbeeld een foto van een handgetekend diagram te gebruiken, of een afbeelding gemaakt m.b.v. een ander tekenpakket. Dat geldt ook voor systeemschetsen.
  
 
== Conceptueel model ==
 
== Conceptueel model ==
Regel 60: Regel 85:
  
 
:De genoemde modellen kunnen ieder afzonderlijk voldoende zijn als conceptueel model, maar je [[conceptueel model|conceptuele model]] moet ''alle'' concepten en onderlinge relaties weergeven die volgens jou van belang zijn voor het beantwoorden van de onderzoeksvraag. Het kan dus goed zijn dat je meerdere diagrammen nodig hebt in je representatie van je conceptuele model.
 
:De genoemde modellen kunnen ieder afzonderlijk voldoende zijn als conceptueel model, maar je [[conceptueel model|conceptuele model]] moet ''alle'' concepten en onderlinge relaties weergeven die volgens jou van belang zijn voor het beantwoorden van de onderzoeksvraag. Het kan dus goed zijn dat je meerdere diagrammen nodig hebt in je representatie van je conceptuele model.
 +
 +
'''Is een causalerelatiediagram / toestandsdiagram / voorraad-stroomdiagram verplicht?'''
 +
 +
:Nee. De conceptualisatie moet ''alle'' concepten en onderlinge relaties weergeven. Als dat kan met één type diagram, is het niet nodig er meer op te nemen. Mocht dat het gekozen conceptuele model erg verduidelijken, dan ''mag'' het uiteraard wel.
 +
:Wanneer gevraag wordt een cybernetisch model te construeren, is het niet verplicht dit ook te tekenen. Het kan duidelijk zijn om een plaatje toe te voegen (en dan een op de casus toegespitst plaatje, niet van het [[Cybernetisch_model|standaard CM]]), maar noodzakelijk is dit niet: het kan ook duidelijk in tekst weergegeven worden (zie het voorbeeld bij [[ModEst:Conceptueel_model|de instructies voor Stap 1]]).
 +
 +
'''Gevraagd wordt om een ''dynamisch'' model. Moet een CRD dan altijd een feedbacklus bevatten?'''
 +
 +
:Nee. De dynamiek kan ook een "externe" oorzaak hebben. Denk bijv. aan de dag-nachtcyclus die voor een dynamische opwekking van elektriciteit door een zonnepaneel zorgt. Maar ook een grootheid waarvan de waarde niet varieert (bijv. de valversnelling) kan voor dynamiek zorgen. De snelheid van een vallend voorwerp neemt immers per tijdstap toe.
 +
:Kenmerk van een dynamisch model is dat het de toestandsverandering van het systeem in de loop van de tijd laat zien. Wat die verandering veroorzaakt kan van model tot model heel verschillend zijn. Daarbij kan een feedbacklus een rol spelen, maar dat hoeft niet.
 +
:Omgekeerd geldt wel altijd dit: Als een [[Causalerelatiediagram|CRD]] een feedbakclus bevat, dan beschrijft het een dynamisch systeem.
 +
 +
 +
'''Moet je in een conceptueel model ook natuurconstanten opnemen?'''
 +
 +
:Je conceptuele model moet ''alle'' relevante grootheden in het systeem benoemen. Het maakt niet uit of ze constant zijn of van waarde kunnen veranderen. Natuurconstanten zoals bijv. de valversnelling zijn [[Grootheid|grootheden]] die meestal niet expliciet als "gegeven" in de onderzoeksvraag worden vermeld, maar wel relevant kunnen zijn en dan dus in je model benoemd moeten worden.
 +
:N.B. Wiskundige constanten zoals &pi; zijn geen natuurconstanten, dus die laat je weg.
  
 
'''Alle concepten en relaties in een toestandsdiagram?'''
 
'''Alle concepten en relaties in een toestandsdiagram?'''
Regel 65: Regel 107:
 
Wij hebben voor een toestandsdiagram gekozen, en het wordt daarin heel onoverzichtelijk om alle grootheden toe te voegen. Op de wikipagina wordt niet echt goed duidelijk hoe dit moet met de toestandsdiagram. Moeten ''alle'' grootheden uit de systeemschets aangegeven worden in het toestandsdiagram?
 
Wij hebben voor een toestandsdiagram gekozen, en het wordt daarin heel onoverzichtelijk om alle grootheden toe te voegen. Op de wikipagina wordt niet echt goed duidelijk hoe dit moet met de toestandsdiagram. Moeten ''alle'' grootheden uit de systeemschets aangegeven worden in het toestandsdiagram?
 
:Je conceptuele model moet ''alle'' concepten en onderlinge relaties weergeven die volgens jou van belang zijn voor het beantwoorden van de onderzoeksvraag. Als dit niet duidelijk kan in een toestandsdiagram, dan is een toestandsdiagram in dit geval blijkbaar niet voldoende als conceptueel model (dat geldt wel vaker voor een toestandsdiagram overigens). Je zult daarnaast dus nog een andere representatie moeten gebruiken.
 
:Je conceptuele model moet ''alle'' concepten en onderlinge relaties weergeven die volgens jou van belang zijn voor het beantwoorden van de onderzoeksvraag. Als dit niet duidelijk kan in een toestandsdiagram, dan is een toestandsdiagram in dit geval blijkbaar niet voldoende als conceptueel model (dat geldt wel vaker voor een toestandsdiagram overigens). Je zult daarnaast dus nog een andere representatie moeten gebruiken.
 
'''Is een causalerelatiediagram / toestandsdiagram / voorraad-stroomdiagram verplicht?'''
 
 
:Nee. De conceptualisatie moet ''alle'' concepten en onderlinge relaties weergeven. Als dat kan met één type diagram, is het niet nodig er meer op te nemen. Mocht dat het gekozen conceptuele model erg verduidelijken, dan ''mag'' het uiteraard wel.
 
:Wanneer gevraag wordt een cybernetisch model te construeren, is het niet verplicht dit ook te tekenen. Het kan duidelijk zijn om een plaatje toe te voegen (en dan een op de casus toegespitst plaatje, niet van het [[Cybernetisch_model|standaard CM]]), maar noodzakelijk is dit niet: het kan ook duidelijk in tekst weergegeven worden.
 
  
 
'''Moet je bij grootheden in een conceptueel model aangeven of het om een kans of een kansverdeling gaat?'''
 
'''Moet je bij grootheden in een conceptueel model aangeven of het om een kans of een kansverdeling gaat?'''
 
:In een VSD of CRD of systeemschets horen alleen [[grootheid|grootheden]] te staan. [[Kansverdeling]]en zijn geen grootheden -- probeer maar: "De kansverdeling van het aantal lekke banden neemt toe." is geen correcte en betekenisvolle Nederlandse zin, maar "Het aantal lekke banden neemt toe." is dat wel.
 
:In een VSD of CRD of systeemschets horen alleen [[grootheid|grootheden]] te staan. [[Kansverdeling]]en zijn geen grootheden -- probeer maar: "De kansverdeling van het aantal lekke banden neemt toe." is geen correcte en betekenisvolle Nederlandse zin, maar "Het aantal lekke banden neemt toe." is dat wel.
 
:Voor "kans" ligt dat anders: kansen zijn wel grootheden: "De kans op een lekke band neemt toe." is wél een grammaticaal correcte en betekenisvolle zin. Vandaar dat je in een VSD regelmatig kansen zult zien staan, vaak als [[Modelschema|exogene]] grootheden omdat kansen vaak als gegeven moeten worden beschouwd. Maar let op: ze kunnen ook [[Modelschema|endogeen]] zijn. Wanneer bijvoorbeeld gegeven is dat een kans lineair toeneemt, kun je die als een [[Voorraad-stroomdiagram|voorraadgrootheid]] weergeven met een constante instroom.
 
:Voor "kans" ligt dat anders: kansen zijn wel grootheden: "De kans op een lekke band neemt toe." is wél een grammaticaal correcte en betekenisvolle zin. Vandaar dat je in een VSD regelmatig kansen zult zien staan, vaak als [[Modelschema|exogene]] grootheden omdat kansen vaak als gegeven moeten worden beschouwd. Maar let op: ze kunnen ook [[Modelschema|endogeen]] zijn. Wanneer bijvoorbeeld gegeven is dat een kans lineair toeneemt, kun je die als een [[Voorraad-stroomdiagram|voorraadgrootheid]] weergeven met een constante instroom.
:Een kans kan zelfs de uitvoervariabele zijn, zoals bijvoorbeeld bij het [[Multinomiaal logitmodel|MNL-model]]. Maar let op: die kans wordt berekend door een ''deterministisch'' model. Bij een ''probabilistisch'' model bepaal je kansen o.b.v. [[Experimenteel ontwerp#Aantal replicaties|replicaties]], dus door het model een (groot) aantal keren door te rekenen. Dat geeft dan een kans''verdeling''. Met een ''kans'' wordt de kansverdeling op een binaire variabele bedoeld, waarbij 1 weergeeft dat de gebeurtenis waarvoor de kans moet worden bepaald tijdens de modelrun optreedt. In zulke gevallen is het beter om in je conceptuele model die binaire grootheid op te nemen (bijv. "lekke band JA/NEE"). Op die manier maak je ondubbelzinnig duidelijk dat je model straks óf een 1 óf een 0 als uitvoerwaarde moet hebben.  
+
:Een kans kan zelfs de uitvoervariabele zijn. Bij een ''probabilistisch'' model bepaal je kansen o.b.v. [[Experimenteel ontwerp#Aantal replicaties|replicaties]], dus door het model een (groot) aantal keren door te rekenen. Dat geeft dan een kans''verdeling''. Met een ''kans'' wordt de kansverdeling op een binaire variabele bedoeld, waarbij 1 weergeeft dat de gebeurtenis waarvoor de kans moet worden bepaald tijdens de modelrun optreedt. In zulke gevallen is het beter om in je conceptuele model die binaire grootheid op te nemen (bijv. "lekke band JA/NEE"). Op die manier maak je ondubbelzinnig duidelijk dat je model straks óf een 1 óf een 0 als uitvoerwaarde moet hebben.  
  
 
'''Is het toegestaan om een aantal met # weer te geven in een conceptueel model (systeemschets, [[causalerelatiediagram|CRD]], [[voorraad-stroomdiagram|VSD]])? Bijvoorbeeld # wachtende klanten?'''
 
'''Is het toegestaan om een aantal met # weer te geven in een conceptueel model (systeemschets, [[causalerelatiediagram|CRD]], [[voorraad-stroomdiagram|VSD]])? Bijvoorbeeld # wachtende klanten?'''
Regel 84: Regel 121:
 
:* het symbool dat je ervoor gebruikt (bijvoorbeeld n<sub>k</sub>);
 
:* het symbool dat je ervoor gebruikt (bijvoorbeeld n<sub>k</sub>);
 
:* de eenheid die je ervoor gebruikt (in dit geval dus #<sub>klant</sub>).
 
:* de eenheid die je ervoor gebruikt (in dit geval dus #<sub>klant</sub>).
 
'''Moet je een tijd in een sinusfunctie ook meenemen in je dimensieanalyse?'''
 
:Ja. Als je bijvoorbeeld de functie b·sin(c·t) hebt, moet c·t dimensieloos zijn. De grootheid c moet dus de dimensie tijd<sup>-1</sup> hebben, ofwel een frequentie zijn.
 
:Dit geldt voor meer wiskundige functies: ook het argument (= dat wat tussen haakjes staat) van een cosinus, of de exponent van een e-macht, moeten dimensieloos zijn.
 
:(Dit is niet zo’n bekend gegeven; reken je voorgangers daar dus niet streng op af.)
 
  
 
== Cybernetisch model ==
 
== Cybernetisch model ==
Regel 105: Regel 137:
 
'''Mogen er meerdere stromen één voorraad ingaan? Dus meerdere instroompijlen naar een rechthoek, met maar één uitstroompijl?'''
 
'''Mogen er meerdere stromen één voorraad ingaan? Dus meerdere instroompijlen naar een rechthoek, met maar één uitstroompijl?'''
  
:Dat mag, bijvoorbeeld als die stromen een verschillende oorzaak hebben. Zo kun je bij een stuwmeer van een [https://nl.wikipedia.org/wiki/Pompcentrale pompcentrale] op hetzelfde moment waterinstroom hebben door de pomp én door instromende riviertjes. Die stromen kunnen onafhankelijk van elkaar toe- of afnemen, dus dat kan in het VSD het best met twee pijlen weergegeven worden. Ook twee of meer uitgaande pijlen mag, overigens.
+
:Dat mag, bijvoorbeeld als die stromen een verschillende oorzaak hebben. Zo kun je bij een stuwmeer van een [https://nl.wikipedia.org/wiki/Pompcentrale pompcentrale] op hetzelfde moment waterinstroom hebben door de pomp én door instromende riviertjes. Die stromen kunnen onafhankelijk van elkaar toe- of afnemen, dus dat kan in het VSD het best met twee pijlen weergegeven worden. Ook twee of meer uitgaande pijlen mag, overigens &ndash; zie [[Voorraad-stroomdiagram#Bevolking|dit voorbeeld hier op de wiki]].
  
 
'''Ik moet in mijn model het totaal berekenen van twee voorraadgrootheden. Hoe geef ik dat aan in het VSD?'''
 
'''Ik moet in mijn model het totaal berekenen van twee voorraadgrootheden. Hoe geef ik dat aan in het VSD?'''
Regel 113: Regel 145:
 
'''Hoe geef je in een VSD de initiële waarde van een voorraadgrootheid weer?'''
 
'''Hoe geef je in een VSD de initiële waarde van een voorraadgrootheid weer?'''
 
:Niet. De initiële waarde van een voorraadgrootheid introduceert immers geen ''nieuwe'' grootheid in de zin van "een nieuwe eigenschap van het systeem". Bij operationalisatie heb je ook geen extra symbool nodig. Als een voorraadgrootheid in het operationele model variabele G wordt, dan geeft G<sub>0</sub> die grootheid op t=0 weer. De standaard beginwaarde voor voorraadgrootheden is 0. Als je de initialisatie expliciet wilt weergeven doe je dat d.m.v. een vergelijking direct voorafgaand aan de differentievergelijking, bijv. G<sub>0</sub> = 123, gevolgd door G<sub>t+&Delta;t</sub> = G<sub>t</sub> - Bin(G<sub>t</sub>, ''p'').
 
:Niet. De initiële waarde van een voorraadgrootheid introduceert immers geen ''nieuwe'' grootheid in de zin van "een nieuwe eigenschap van het systeem". Bij operationalisatie heb je ook geen extra symbool nodig. Als een voorraadgrootheid in het operationele model variabele G wordt, dan geeft G<sub>0</sub> die grootheid op t=0 weer. De standaard beginwaarde voor voorraadgrootheden is 0. Als je de initialisatie expliciet wilt weergeven doe je dat d.m.v. een vergelijking direct voorafgaand aan de differentievergelijking, bijv. G<sub>0</sub> = 123, gevolgd door G<sub>t+&Delta;t</sub> = G<sub>t</sub> - Bin(G<sub>t</sub>, ''p'').
:N.B. In Vensim kun je de initialisatie wel grafisch weergeven, maar dat is een kunstgreep t.b.v. het kunnen doorrekenen van het model. Bij implementatie in Excel kun je de beginwaarde invullen op de rij die correspondeert met t=0.
+
:N.B. In Vensim kun je de initialisatie wel grafisch weergeven, maar dat is een kunstgreep t.b.v. het kunnen doorrekenen van het model. '''Gebruik deze mogelijkheid dus niet!''' Bij implementatie in Excel kun je de beginwaarde invullen op de rij die correspondeert met t=0.
  
 
== Tijdsafhankelijke exogene grootheden als functies weergeven ==
 
== Tijdsafhankelijke exogene grootheden als functies weergeven ==
 
'''Als in de onderzoeksvraag wordt gesteld dat bepaalde grootheden gegeven zijn, dan zijn die exogeen. Maar als je tijdsafhankelijke variabelen als functies van tijd t moet weergeven, dan zijn die variabelen endogeen. Hoe zit dat?'''<br>
 
'''Als in de onderzoeksvraag wordt gesteld dat bepaalde grootheden gegeven zijn, dan zijn die exogeen. Maar als je tijdsafhankelijke variabelen als functies van tijd t moet weergeven, dan zijn die variabelen endogeen. Hoe zit dat?'''<br>
:Bij operationalisatie van een dynamische exogene grootheid kun je kiezen: óf je geeft die grootheid weer met een [[gegevensverzameling]] óf je geeft hem weer met een tijdsafhankelijke functie f(t). In het oorspronkelijke [[causalerelatiediagram]] of [[voorraad-stroomdiagram]] zal deze grootheden dan geen ingaande pijlen hebben. Als je hem operationaliseert m.b.v. een [[Notatie van vergelijkingen#Modelvergelijkingen|vergelijking]], bijv. X<sub>t</sub> = ''a''&middot;cos(b&middot;t), dan is X<sub>t</sub> inderdaad wél endogeen. Wat dan exogeen wordt zijn de [[parameter]]s in het [[functievoorschrift]], dus hier worden ''a'' en ''b'' invoervariabelen van het model. Die variabelen staan dan natuurlijk wel voor specifieke grootheden: in dit geval is ''a'' de ''amplitude'' van de fluctuatie in X terwijl ''b'' proportioneel is met de ''frequentie'' van de fluctuatie.
+
:Bij operationalisatie van een dynamische exogene grootheid kun je kiezen: óf je geeft die grootheid weer met een [[gegevensverzameling]] óf je geeft hem weer met een tijdsafhankelijke functie f(t). In het oorspronkelijke [[causalerelatiediagram]] of [[voorraad-stroomdiagram]] zal deze grootheid dan geen ingaande pijlen hebben. Als je hem operationaliseert m.b.v. een [[Notatie van vergelijkingen#Modelvergelijkingen|vergelijking]], bijv. X<sub>t</sub> = ''a''&middot;cos(b&middot;t), dan is X<sub>t</sub> inderdaad wél endogeen. Wat dan exogeen wordt zijn de [[parameter]]s in het [[functievoorschrift]], dus hier worden ''a'' en ''b'' invoervariabelen van het model. Die variabelen staan dan natuurlijk wel voor specifieke grootheden: in dit geval is ''a'' de ''amplitude'' van de fluctuatie in X terwijl ''b'' proportioneel is met de ''frequentie'' van de fluctuatie.
 
:Kies je voor operationalisatie in de vorm van een functievoorschrift met parameters, dan is het wenselijk dat je de parametergrootheden ook opneemt in je conceptuele model(len). De oorspronkelijke endogene grootheid zal dan ingaande pijlen krijgen en op die manier endogeen worden.
 
:Kies je voor operationalisatie in de vorm van een functievoorschrift met parameters, dan is het wenselijk dat je de parametergrootheden ook opneemt in je conceptuele model(len). De oorspronkelijke endogene grootheid zal dan ingaande pijlen krijgen en op die manier endogeen worden.
 
== Tijdsafhankelijke exogene variabelen operationaliseren ==
 
  
 
'''Hoe stel ik de vergelijking van een "afgekapte" sinusfunctie op?'''<br>
 
'''Hoe stel ik de vergelijking van een "afgekapte" sinusfunctie op?'''<br>
Bij vraagstuk C en D moet je schommelingen in exogene variabelen geïdealiseerd weergeven m.b.v. een optelling van (co)sinusfuncties met verschillende amplitudes en periodes, waarbij je waarden < 0 opvat als 0. Hoe zet je dat in een modelvergelijking?
+
Bij een vraagstuk moet je schommelingen in exogene variabelen geïdealiseerd weergeven m.b.v. een optelling van (co)sinusfuncties met verschillende amplitudes en periodes, waarbij je waarden < 0 opvat als 0. Hoe zet je dat in een modelvergelijking?
  
 
:Maak eerst een modelvergelijking die het gewenste "grillig" flucturerende gedrag weergeeft. Je kunt zelf m.b.v een lijngrafiek in Excel nagaan of dat gedrag bij bepaalde parameterwaarden genoeg lijkt op het gedrag in de opgave.
 
:Maak eerst een modelvergelijking die het gewenste "grillig" flucturerende gedrag weergeeft. Je kunt zelf m.b.v een lijngrafiek in Excel nagaan of dat gedrag bij bepaalde parameterwaarden genoeg lijkt op het gedrag in de opgave.
 
:Een functie die bestaat uit optelling van ''a''&middot;cos(''n''&middot;t)  zal periodiek symmetrisch om de tijdas "kronkelen". Door er een constante bij op te tellen kun je er voor zorgen dat hij hoger of lager t.o.v. de tijdas ligt.
 
:Een functie die bestaat uit optelling van ''a''&middot;cos(''n''&middot;t)  zal periodiek symmetrisch om de tijdas "kronkelen". Door er een constante bij op te tellen kun je er voor zorgen dat hij hoger of lager t.o.v. de tijdas ligt.
 
:Om er voor te zorgen dat de functiewaarde 0 is wanneer f(t) < 0 gebruik je een [[Notatie van vergelijkingen#Conditionele vergelijkingen|conditionele vergelijking]] (met grote accolade).
 
:Om er voor te zorgen dat de functiewaarde 0 is wanneer f(t) < 0 gebruik je een [[Notatie van vergelijkingen#Conditionele vergelijkingen|conditionele vergelijking]] (met grote accolade).
 +
 +
== Dimensieanalyse ==
 +
 +
'''Moet je een tijd in een sinusfunctie ook meenemen in je dimensieanalyse?'''
 +
:Ja. Als je bijvoorbeeld de functie b·sin(c·t) hebt, moet c·t dimensieloos zijn. De grootheid c moet dus de dimensie tijd<sup>-1</sup> hebben, ofwel een frequentie zijn.
 +
:Dit geldt voor meer wiskundige functies: ook het argument (= dat wat tussen haakjes staat) van een cosinus, of de exponent van een e-macht, moeten dimensieloos zijn.
 +
:(Dit is niet zo’n bekend gegeven; reken je voorgangers daar dus niet streng op af.)
 +
  
 
'''Wij hebben een tijdsafhankelijke exogene variabele m.b.v. een functie geoperationaliseerd. Moeten we ook op die functie dimensieanalyse uitvoeren?'''
 
'''Wij hebben een tijdsafhankelijke exogene variabele m.b.v. een functie geoperationaliseerd. Moeten we ook op die functie dimensieanalyse uitvoeren?'''
: Dat is alleen nodig wanneer je de parameters in het functievoorschrift als grootheden benoemt die natuurlijke eenheden hebben. Als je bijvoorbeeld een exogene grootheid ''snelheid'' in je model hebt opgenomen en daarvoor als eenheid km/h hebt gekozen, en je wilt aangeven dat die snelheid als functie van de tijd verandert <u>'''zonder'''</u> de oorzaken daarvan in je model op te nemen, dan operationaliseer je hem als v<sub>t</sub> = f(t) waar f(t) dan een [[functievoorschrift]] is. Omdat alle grootheden waarvan ''snelheid'' afhankelijk zou kunnen zijn (denk aan versnellingen en vertragingen a.g.v. krachten) <u>'''buiten'''</u> de systeemgrenzen vallen (en dus niet benoemd worden en evenmin een eenheid hebben) is f(t) geheel abstract, en dan is het niet nodig om dimensieanalyse op het functievoorschrift van f uit te voeren.
+
: Ja. Lees de uitleg bij de voorgaande vraag en daarna dit voorbeeld. Wanneer je een flucturerende waterstand weergeeft als W<sub>t</sub> = A&middot;cos(2&pi;&middot;t / T), dan wordt W<sub>t</sub> (in m t.o.v [https://www.rijkswaterstaat.nl/zakelijk/open-data/normaal-amsterdams-peil NAP]) endogeen, en zijn de [[parameter]]s A en T exogeen. Je moet dan laten zien dat A de ''amplitude'' (in m) van de fluctuatie in de waterstand weergeeft, en T (in h) de ''periode'' van de fluctuatie. Als de tijd t ook eenheid h heeft is de vergelijking dimensioneel correct.
 +
 
 +
==Vroegste tijdstip bepalen waarop een conditie WAAR wordt==
 +
'''Hoe bereken je in Excel het tijdstip waarop bijv. de maximale snelheid bereikt wordt?'''
 +
:Eerst bereken je de hoogste snelheid m.b.v. de functie <tt>MAX</tt>. Als die snelheid bijv. in kolom H staat en rij 10 overeenkomt met t=0, dan is de Excelformule bijvoorbeeld <tt>=MAX(H10:H310)</tt> wanneer je in totaal 300 tijdstappen simuleert.
 +
:Daarna zoek je de "index" van die hoogste waarde in de kolom met snelheid m.b.v. de functie <tt>VERGELIJKEN</tt>.
 +
:Als je de waarde van v<sub>max</sub> bijvoorbeeld in cel C3 berekent en de snelheid v<sub>t</sub> dus in kolom H staat met in rij 10 de waarde voor t=0, rij 11 voor t=1, enzovoorts t/m bijv. rij 310, dan gebruik je als formule <tt>=VERGELIJKEN(C3; H10:H310)</tt>
 +
:De ''index''waarde die je krijgt is de positie van de gezochte waarde in de tijdreeks (in dit voorbeeld een getal tussen 1 en 300).
 +
: Het tijdstip is dan (deze indexwaarde min 1) maal de tijdstap &Delta;t. De "min 1" is nodig omdat index 1 tijd t=0 aangeeft.
 +
 
 +
'''Hoe krijg je dan de waarde van een bepaalde variabele, bijvoorbeeld de verplaatsing, op dat tijdstip?'''
 +
:Als je de index hebt gevonden, dan zoek je ''in de kolom voor de verplaatsing'' de waarde die bij die index hoort m.b.v. de funtie VERSCHUIVING.
 +
:Staat de indexwaarde in cel C3 en de verplaatsing s<sub>t</sub> bijvoorbeeld in kolom D (met in rij 10 weer de waarde voor t=0, rij 11 voor t=1, enzovoorts t/m rij 310) dan is de formule die de gezochte verplaatsing geeft <tt>=VERSCHUIVING(D15; C3-1; 0)</tt>
 +
:Je trekt dus 1 af van de index omdat 1 overeenkomt tijdstip met t=0.
 +
 
 +
'''In het voorbeeldmodel wordt een andere methode gebruikt om het tijdstip van een gebeurtenis te bepalen. Hoe werkt die?'''
 +
:Je kunt in Excel ook een extra kolom aanmaken waarin je als de conditie WAAR is de tijd zet en anders een lege string. Als de tijd t in kolom A staat dan is voor het hierboven gegeven voorbeeld de formule in de extra kolom voor rij 10 <tt>=ALS(H10=C$3; A10; "")</tt>. Als je deze formule hebt gekopieerd naar alle cellen in de extra kolom (dus rij 11 t/m 310) dan zie je in die kolom eerst een aantal schijnbaar lege cellen (de lege strings "") en vanaf het tijdstip waarop de hoogste snelheid wordt bereikt de tijd zoals die in kolom A staat. Het vroegste tijdstip bereken je dan door over die hele kolom (bijv. kolom K) het minimum te berekenen m.b.v. <tt>=MIN(K10:K310)</tt>.
 +
 
 +
==Regelmatig terugkerende gebeurtenis==
 +
'''Hoe geef je in vergelijkingen (en in Excel) weer dat een gebeurtenis met een vaste frequentie optreedt?'''
 +
:Als die gebeurtenis ''f'' keer per uur optreedt, dan betekent dat dat er tussen twee opeenvolgende gebeurtenissen steeds 1/''f'' uur zit. Je kunt dat dan modelleren door behalve een binaire variabele (met 1 = "de gebeurtenis treedt op") een ''timer''-variabele aan je model toe te voegen. Zo'n ''timer'' kun je dan zien als een voorraadgrootheid (in uren) die per tijdstap &Delta;t uur afneemt. Op het moment dat die voorraad dan "op" zou raken is, vul je hem weer met de tussentijd 1/''f''. Zie [[Excel:Timer voor regelmatige gebeurtenis]] voor een voorbeeld.
 +
 
 +
==Activiteit met variabele tijdsduur==
 +
'''Hoe geef je weer dat een activiteit binnen het systeem soms kort en soms ook lang kan duren?'''<br>
 +
Als bijvoorbeeld in een [[wachtrijmodel]] de ''bedieningstijd'' een [[stochast]] is, dan kun je dat niet meer eenvoudig weergeven door de tijdstap van je model gelijk te stellen aan de constante bedieningstijd. Hoe los je dit op?
 +
:Net als bij een regelmatig terugkerende gebeurtenis (zie vorige vraag) kun je dan een ''timer''-variabele gebruiken. Op het tijdstip ''t'' dat de activiteit van start gaat bepaal je de duur ''d'' van die activiteit door een toevalsgetal uit de [[kansverdeling]] van de tijdsduur te trekken, en dan gebruik je de ''timer''-variabele ''b'' om bij te houden of de bedieningseenheid "bezig" is.
 +
:Dus bijvoorbeeld ''d''<sub>t</sub> ~ Tri(1, 10, 3) als de activiteit start, en 0 anders (dus een [[Notatie_van_vergelijkingen#Conditionele_vergelijkingen|conditionele vergelijking]] met twee mogelijkheden), en dan ''b''<sub>t+&Delta;t</sub> = ''b''<sub>t</sub> - &Delta;t als ''b''<sub>t</sub> > 0, en  ''d''<sub>t</sub> anders (dus ook een conditionele vergelijking met twee mogelijkheden). De bedieningseenheid is "bezig" zolang de ''timer''-variabele ''b'' een positieve waarde heeft.
 +
:Denk goed na over wat de conditie "als de activiteit start" is. Bij een wachtrijmodel is dat als (1) er een nieuwe aankomst is, of de wachtrijlengte > 0 is, '''en''' (2) de bedieningseenheid vrij is. Als variabele ''a'' het aantal aankomsten weergeeft dan is die conditie dus ''a''<sub>t</sub> + ''w''<sub>t</sub> > 0 &and; ''b''<sub>t</sub> &le; 0.
  
 
== Gevoeligheidsanalyse ==
 
== Gevoeligheidsanalyse ==
 +
'''Voor gevoeligheidsanalyse worden twee verschillende methoden gegeven. Hoe zit dat?'''
 +
 +
Volgens de wikipagina moet je zowel +10% als -10% veranderen. De voorbeelden op college en Brightspace veranderen alleen met +20%. Welke methode moet je gebruiken?
 +
 +
:Het basisidee van gevoeligheidsanalyse is dat je wilt weten hoe je model reageert op een kleine verandering in 1 invoervariabele. Dat idee kun je op verschillende manieren uitwerken. De methode [[Gevoeligheidsanalyse|op de wikipagina]] is iets uitgebreider: door zowel effect van een kleine toename als het effect van een kleine afname te berekenen krijg je (samen met de basiswaarde) 3 waarden. Daaraan kun je dan zien of de verandering in beide richtingen evenredig is, en daaraan kun je zien dat het om een lineair verband gaat. Bij het [[Netto contante waarde]]-voorbeeld op de wiki is dat zo voor alle parameters behalve de discontovoet en de termijn.
 +
:De methode op de wiki is 2x zoveel werk, want je moet per invoervariabele 2 runs doen en de uitkomsten daarvan noteren. De methode die we aanbevelen voor de estafette is voldoende om te bepalen of het model gevoelig is. Of die gevoeligheid lineair is, is minder belangrijk om te weten.
 +
 
'''Hoe doe je gevoeligheidsanalyse bij een dynamisch model?'''
 
'''Hoe doe je gevoeligheidsanalyse bij een dynamisch model?'''
  
Regel 167: Regel 239:
 
:Zie ook [[Experimenteel_ontwerp#Aantal_replicaties|de pagina over het experimenteel ontwerp]] en [[Bestand:TB112-replicaties.pdf]], waarin wordt uitgelegd hoe je snel veel replicaties kunt maken.
 
:Zie ook [[Experimenteel_ontwerp#Aantal_replicaties|de pagina over het experimenteel ontwerp]] en [[Bestand:TB112-replicaties.pdf]], waarin wordt uitgelegd hoe je snel veel replicaties kunt maken.
 
:Vaak gedraagt een model zich aan het begin nog even wat anders dan later, omdat de variabelen zich nog wat moeten aanpassen — dan kun je de de eerste zoveel tijdstappen uit de statistieken laten. Soms is een minimum of maximum niet zo zinnig, omdat een variabelewaarde blijft toenemen. In dat geval kun je bijvoorbeeld de stijging zelf (de toename gedurende een bepaalde tijd) gebruiken voor de statistiek.
 
:Vaak gedraagt een model zich aan het begin nog even wat anders dan later, omdat de variabelen zich nog wat moeten aanpassen — dan kun je de de eerste zoveel tijdstappen uit de statistieken laten. Soms is een minimum of maximum niet zo zinnig, omdat een variabelewaarde blijft toenemen. In dat geval kun je bijvoorbeeld de stijging zelf (de toename gedurende een bepaalde tijd) gebruiken voor de statistiek.
 +
 +
'''Moet je alle beschrijvende statistieken implementeren in Excel, óók als de uitvoervariabele een binaire variabele is?'''
 +
:Bij een probabilistisch model moet je '''altijd''' [[beschrijvende statistiek]]en berekenen. Bij binaire uitvoervariabelen lijken MIN en MAX niet echt relevant, maar je kunt er wel mooi mee controleren of de uitvoervariabele überhaupt wel van waarde verandert.
 +
:De standaarddeviatie σ is veel minder interessant dan het gemiddelde μ (want dát is de benadering van de kans ''p'' waar je naar op zoek bent), maar toch geeft die &sigma; informatie. Theoretisch (d.w.z. wiskundig afgeleid) is de standaarddeviatie van Bin(N, ''p'') gelijk aan √(''p''·(1-''p'')/N). Bij een binaire variabele met kans ''p'' op een 1 is N=1, dus is de standaarddeviatie in theorie √(''p''·(1-''p'')). Dit betekent dat je, als je het gemiddelde (over alle replicaties) μ van de binaire uitvoervariabele als kans ''p'' ziet, kunt checken of de waarde √(μ·(1-μ)) inderdaad dicht in de buurt zit van de standaarddeviatie (over alle replicaties) σ van de binaire uitvoervariabele. Net als MIN en MAX geeft dus ook σ informatie over of de uitvoer van je replicaties "klopt".
  
 
'''Onze grafieken met gemiddelde &mu; en &sigma; over steeds meer replicaties convergeren niet. Hoe kan dat?'''
 
'''Onze grafieken met gemiddelde &mu; en &sigma; over steeds meer replicaties convergeren niet. Hoe kan dat?'''
:Dat gebeurt typysch als je formule voor de berekening van het gemiddelde niet het juiste celbereik aangeeft.
+
:Dat gebeurt typisch als je formule voor de berekening van het gemiddelde niet het juiste celbereik aangeeft.
 
:Stel dat je in kolom '''R''' je uitvoerwaarde per replicatie hebt staan, en het gemiddelde over 1, 2, ..., N replicaties in de kolom '''S''' daarnaast berekent. Als je data in bijv. rij 5 begint, dan staat in cel '''S5''' de formule <tt>=GEMIDDELDE(R$5:R5)</tt>, in cel '''S6''' dan <tt>=GEMIDDELDE(R$5:R6)</tt>, enzovoorts (dus het celbereik wordt steeds 1 rij groter).
 
:Stel dat je in kolom '''R''' je uitvoerwaarde per replicatie hebt staan, en het gemiddelde over 1, 2, ..., N replicaties in de kolom '''S''' daarnaast berekent. Als je data in bijv. rij 5 begint, dan staat in cel '''S5''' de formule <tt>=GEMIDDELDE(R$5:R5)</tt>, in cel '''S6''' dan <tt>=GEMIDDELDE(R$5:R6)</tt>, enzovoorts (dus het celbereik wordt steeds 1 rij groter).
 
:Twee fouten zijn snel gemaakt: Je kunt het '''dollarteken''' in <tt>R$5</tt> zijn vergeten, of je kunt in plaats van de '''dubbele punt''' een '''puntkomma''' hebben gebruikt (dus <tt>=GEMIDDELDE(R$5;R6)</tt>). Beide notaties zijn geldig in Excel, maar geven een heel andere uitkomst dan bedoeld.
 
:Twee fouten zijn snel gemaakt: Je kunt het '''dollarteken''' in <tt>R$5</tt> zijn vergeten, of je kunt in plaats van de '''dubbele punt''' een '''puntkomma''' hebben gebruikt (dus <tt>=GEMIDDELDE(R$5;R6)</tt>). Beide notaties zijn geldig in Excel, maar geven een heel andere uitkomst dan bedoeld.
 +
 +
==Histogrammen in verslaglegging==
 +
'''Moet je, als om een kansverdeling wordt gevraagd, bij <u>elk</u> experiment ook een histogram in je verslag opnemen?'''<br>
 +
Wij hebben een experimenteel ontwerp met 10 experimenten, en dan is 10 grafieken maken niet alleen veel werk, maar wordt het verslag ook erg lang.
 +
:Aparte histogrammen zijn '''niet''' nodig wanneer de kansverdelingen allemaal ongeveer dezelfde vorm hebben (en dat is meestal het geval). Het is dan voldoende om dat expliciet te vermelden (met verwijzing naar het histogram dat in &sect;3 staat), en dan in de overzichtstabel voor elkk experiment de vier beschrijvende statistieken te laten zien. Uit die μ, σ, MIN en MAX kun je dan al opmaken hoe de vorm verandert: lagere MIN en/of lager gemiddelde betekent bijv. dat de "bult" naar links verschuift, lagere standaarddeviatie dat de "bult" smaller is, hogere MAX dat de "staart" langer is.
  
 
== Notatie in verslag ==
 
== Notatie in verslag ==
Regel 182: Regel 263:
 
:waarbij dan wordt uitgelegd wat de kans p inhoudt, en '''niet'''  
 
:waarbij dan wordt uitgelegd wat de kans p inhoudt, en '''niet'''  
 
::<tt>=BINOMIALE.INV(1;K14;ASELECT())</tt>
 
::<tt>=BINOMIALE.INV(1;K14;ASELECT())</tt>
:In het <u>implementatie</u>hoofdstuk kan het bij bijzondere vergelijkingen (zoals de implementatie van sommen m.b.v. <tt>VERSCHUIVING</tt>, of van kansverdelingen zoals hierboven) zinvol zijn om de Excelformule te geven. Dat is echter niet verplicht, dus geen essentieel onderdeel van het verslag.
+
:In het <u>implementatie</u>hoofdstuk kan het bij bijzondere vergelijkingen (zoals de implementatie van sommen m.b.v. <tt>VERSCHUIVING</tt>, of van kansverdelingen zoals hierboven) zinvol zijn om de Excelformule te geven. Dat is echter <u>niet</u> verplicht, dus geen essentieel onderdeel van het verslag.
 +
 
 +
'''Kan Excel ook afronden op een aantal significante cijfers i.p.v. een aantal decimalen?'''
 +
:Helaas niet. Alleen het aantal decimalen kun je regelen. Doe dat ook zodat de decimale punt of komma binnen de kolommen recht uitgelijnd staat en je daardoor goed kunt zien of getallen toenemen of juist afnemen.
 +
:Kies ''per variabele'' een geschikt aantal decimalen!
 +
:Vermeld in je verslaglegging eventueel de significantie, en noem dan ook de beperking van Excel op dit gebied.
 +
:N.B. Zo'n vermelding is dan heel zorgvuldig, maar <u>niet</u> verplicht dus <u>geen</u> reden om een lagere beoordeling te geven.
  
 
== Voorkomen van kringverwijzing ==
 
== Voorkomen van kringverwijzing ==
  
 
'''Hoe voorkomen we een kringverwijzing in Excel?'''
 
'''Hoe voorkomen we een kringverwijzing in Excel?'''
:Een "kringverwijzing" in Excel ontstaat als je ''binnen dezelfde tijdstap'' (= rij in Excel) een variabele wilt berekenen op basis van een andere variabele, maar ook omgekeerd.
+
:Wanneer je een Excel-bestand opent en er verschijnt een waarschuwing dat er ''kringverwijzingen'' zijn aangetroffen, negeer die waarschuwing dan niet – je implementatie in Excel is dan fout. Excel laat je zelfs zien waar de fout zit: met blauwe stippen en pijlen worden de cellen aangewezen waar het mis gaat. Maak gebruik van die informatie!
:Als je bijvoorbeeld de bereidheid om in een rij te gaan staan berekent uit de nieuwe rijlengte, maar de nieuwe rijlengte ook wilt berekenen op basis van diezelfde bereidheid.
+
:Een "kringverwijzing" in Excel ontstaat als je in een formule in een cel verwijst naar de cel zelf, eventueel via andere cellen. Zoals wanneer er in een ALS-functie in C13 verwezen wordt naar E13, maar E13 gebruik maakt van de waarde van C13. Dan zou eerst de waarde van C13 bekend moeten zijn voordat de waarde van C13 bepaald kan worden, wat uiteraard niet mogelijk is.
 +
:Bijvoorbeeld wanneer je de bereidheid om in een rij te gaan staan berekent uit de nieuwe rijlengte, maar de nieuwe rijlengte ook wilt berekenen op basis van diezelfde bereidheid.
 
:Dit kun je voorkomen door de één van de twee te baseren op de ''vorige'' waarde. In dit geval is het logisch om de ''nieuwe'' rijlengte te bepalen op basis van de ''vorige'' bereidheid. Je kunt het je als volgt voorstellen: de ''nieuwe'' rijlengte is het resultaat van de ''oude'' rijlengte en de bereidheid die er op dat moment (in de vorige tijdstap dus) was. De ''nieuwe'' bereidheid (die weer zal gelden tot de volgende tijdstap) volgt uit de ''nieuwe'' rijlengte.
 
:Dit kun je voorkomen door de één van de twee te baseren op de ''vorige'' waarde. In dit geval is het logisch om de ''nieuwe'' rijlengte te bepalen op basis van de ''vorige'' bereidheid. Je kunt het je als volgt voorstellen: de ''nieuwe'' rijlengte is het resultaat van de ''oude'' rijlengte en de bereidheid die er op dat moment (in de vorige tijdstap dus) was. De ''nieuwe'' bereidheid (die weer zal gelden tot de volgende tijdstap) volgt uit de ''nieuwe'' rijlengte.
 +
 +
'''Is een differentievergelijking niet altijd cyclisch?'''
 +
:Nee, zeker niet. Een [[Discretetijdmodel|differentievergelijking]] stelt immers dat de waarde van een variabele X voor tijdstip t+Δt (dus het volgende tijdstip) gelijk is aan de waarde van X voor tijdstip t (het huidige tijdstip) plus ( (instroom op tijdstip t min uitstroom op tijdstip t) maal de duur van 1 tijdstap).
 +
:Bij implementatie in Excel moet je zorgen dat elk tijdstip een eigen rij heeft. Als je de formule voor X<sub>t+Δt</sub> dan bijv. in rij 20 zet, dan wordt (als je het correct doet) in die formule alleen verwezen wordt naar cellen in rij 19 (het vorige tijdstip t dus) of naar vaste parameters (celreferenties die je vastzet met $, dus bijv. C$5).
 +
 +
== Excel wordt traag ==
 +
 +
'''Excel doet er heel lang over om het model te laden / door te rekenen / op te slaan. Wat kan ik daaraan doen?'''
 +
:Excel wordt traag wanneer het heel veel berekeningen moet doen. Probeer daarom altijd om je model niet groter te maken dan nodig is:
 +
:* niet meer tijdstappen dan nodig;
 +
:* ''bij een probabilistisch model:'' niet meer replicaties dan nodig.
 +
:Als je model dan nog steeds veel rekentijd vraagt, dan kun je het automatisch doorrekenen uitzetten. Normaal rekent Excel na elke wijziging het model door. In het hoofdmenu '''Formulas''' vind je de optie '''Calculation Options''' waarmee je Excel zo kunt instellen dat het alleen formules berekent nadat je op functietoets F9 drukt (''Manual'') of dat Excel het model wel doorrekent maar niet de datatabel met replicaties (''Automatic Except for Data Tables'').
 +
:'''Let op:''' Als je het automatisch doorrekenen uitzet, geef dat dan duidelijk aan in het werkblad (bijv. met links bovenaan de tekst "<span style="color:red">LET OP: Automatisch doorrekenen staat UIT. Druk op F9 om door te rekenen</span>") zodat anderen die met jouw model moeten werken snappen waarom het model niet lijkt te reageren op veranderingen in invoervariabelen.
 +
 +
= Inhaalestafette =
 +
 +
=== Vraagstuk A &ndash; Aanstekelijk gehoest ===
 +
'''Mag je de kans op hoesten als een voorraadgrootheid weergeven?'''
 +
:Een kans is een grootheid (een kans'''verdeling''' niet!) en als een grootheid kan toenemen en/of afnemen en niet negatief mag worden dan kun je hem als een voorraadgrootheid zien en de toename/afname weergeven als in- en uitstroom. In dit geval dus JA: elke keer dat er gehoest wordt stroomt er wat in, en elke tijdstap waarin er niet gehoest wordt stroomt er wat uit (mits de kans nog groter is dan de gegeven basiskans).
 +
 +
=== Vraagstuk B &ndash; Blinde hoek ===
 +
'''Draait de docent verder als er nog vragen in het kwadrant zijn, of draait deze pas als alle vragen in het kwadrant beantwoord zijn?'''
 +
:De onderzoeksvraag maakt duidelijk dat de draaifrequentie ''f'' gegeven is, en ook de totale tijd t<sub>B</sub> (incl. looptijd van/naar het midden) die het kost om een vraag te beantwoorden. Je mag dan aannemen dat de kloktijd (t) na terugkeer in het midden bepaalt naar welk kwadrant de docent kijkt. Dat kan dus hetzelfde kwadrant zijn, maar ook (zeker wanneer t<sub>B</sub> > 1/''f'' ) een volgend kwadrant (of zelfs 2 of 3 kwadranten verder).
 +
 +
'''Moet het VSD 4 vooraden voor ieder kwadrant hebben, of mag je 1 voorraad tekenen en in de toelichting zeggen dat deze keer 4 moet?'''<br>
 +
Anders wordt mijn VSD een spaghettidiagram waar Ockham niet meer met zijn mes doorheen komt...
 +
:Inderdaad is het bij systemen die een aantal gelijke subsystemen bevatten prima om de werking van één zo'n subsysteem weer te geven, en dan in de toelichting helder uiteen te zetten hoe die overige subsystemen in het geheel passen.
 +
 +
'''Hoe bepaal je de kansverdeling van de wachttijd van een student?'''
 +
:Omdat de kansverdeling van de wachttijd ''per student'' wordt gevraagd zou je eigenlijk je model zó moeten maken dat je per student die een vraag heeft bijhoudt op welk tijdstip die student een hand opsteekt en op welk tijdstip de docent de vraag van deze student beantwoord. Dat maakt het model behoorlijk ingewikkeld.
 +
:Een eenvoudiger (maar minder precieze) benadering is dat je ''per replicatie'' per kwadrant de ''gemiddelde'' wachttijd bepaalt, en dan van die gemiddeldes (4 kwadranten, dus 4 getallen per replicatie) de kansverdeling weergeeft in de vorm van een histogram.
 +
:De gemiddelde wachttijd ''per kwadrant'' (waarvan er dus 4 zijn) is dan de som (over alle tijdstippen t) van de lengte van de wachtrij in dat kwadrant op tijdstip t gedeeld door het totale aantal vragen dat in dat kwadrant is gesteld.
 +
:Je model heeft dus alleen al voor de wachttijdbepaling 4 uitvoervariabelen. Voer je bijv. 200 replicaties uit dan heb je een dataset van 200x4 = 800 getallen. Door die in één histogram weer te geven krijg je een beeld van de gemiddelde wachttijd per student.
 +
 +
=== Vraagstuk C &ndash; Campuskaart checken ===
 +
'''Het ''prercentage studenten die geen identiteitsbewijs bij zich hebben'', is dat een groep die al voor de check bij de hoofdsurveillant de zaal verlaat bij het krijgen van rood licht, of wordt daarmee de groep bedoeld die na controle door de hoofdsurveillant niet mag deelnemen aan het tentamen?'''
 +
:Mijn interpretatie van de tekst zou zijn: mensen zonder (functionerende) collegekaart gaan in de rij staan voor de hoofdsurveillant. Wanneer die dan om een legitimatiebewijs vraagt blijkt pas of de student de zaal moet verlaten (en dat impliceert dat de student de zaal dus wel is binnengegaan maar niet naar een tafeltje mag lopen).
 +
:Zou je aannemen dat een deel van de studenten zonder ID dat al meteen bedenken en spontaan weggaan, dan moet je daarvoor een extra parameter toevoegen ("fractie die bedenkt dat ze geen ID bij zich hebben") en die staat niet in het lijstje van gegeven grootheden.
 +
 +
=== Vraagstuk D &ndash; Dringen bij de deur ===
 +
 +
=== Vraagstuk E &ndash; Eén tegelijk! ===
 +
 +
=== Vraagstuk F &ndash; Flinke loopafstand! ===
 +
  
 
= Estafette B =
 
= Estafette B =
  
=== Vraagstuk A – Afleveren van pakketjes ===
 
'''Wordt het uurloon  aan het einde van de werkdag berekend door het totaal op één dag verdiende bedrag te delen door het aantal gewerkte uren?'''
 
:Goede vraag ter verduidelijking. Dat is inderdaad wat hier met "uurloon" bedoeld wordt.
 
  
=== Vraagstuk B – Bijvullen van flesjes met ontsmettingsvloeistof ===
+
=== Vraagstuk A &ndash; Afhandeling van grote vrachtwagens ===
 +
'''Wij krijgen bij het implementeren negatieve waarden voor de wachtrij en ook voor het aantal doorgezette vrachtwagens. Hoe kan dat?'''<br>
 +
Wij hebben als invoervariabele de aankomstfrequentie ''f'', aantal platforms N<sub>P</sub>, en lostijd &lambda;. Als tijdsafhankelijke variabelen hebben we: aantal aankomsten A, aantal wachtende vrachtwagens W, aantal doorgezette vrachtwagens D, aantal bezette platforms B en aantal vertrekkende brachtwagens V. Het gekke is dat D en W bij ons negatief worden. Hoe lossen we dat op?
 +
:Check vooral eerst je modelvergelijkingen. W en B zijn voorraadgrootheden, dus daarvoor moeten differentievergelijkingen zijn opgesteld. A is dan de instroom in W, en D de uitstroom uit W, dus W<sub>t+&Delta;t</sub> = W<sub>t</sub> + A<sub>t</sub> &minus; D<sub>t</sub>. Voor de bezette platforms moet gelden: B<sub>t+&Delta;t</sub> = B<sub>t</sub> + D<sub>t</sub> &minus; V<sub>t</sub>.
 +
:A is Poisson(''f''&middot;&Delta;t)-verdeeld, dus dat geeft nooit een getal < 0. D moet ook altijd groter dan of gelijk aan 0 zijn: min(N<sub>P</sub> &minus; B<sub>t</sub>, W<sub>t</sub>). Bij een stochastische lostijd zou je dan bijv. V<sub>t</sub> ~ Bin(B<sub>t</sub>, &Delta;t/&lambda;) dus een geheel toevalsgetal tussen 0 en het aantal bezette platforms.
 +
:Maar gegeven is dat de lostijd constant is. Mogelijk nemen jullie daarom aan dat de uitstroom V constant is, en dan kan die uitstroom er dus voor zorgen dat het aantal vrije platforms groter wordt dan N<sub>P</sub> en dat kan dan misschien wel gekke waarden gaan opleveren.
 +
:Je hebt daarom nog een hulpvariabele nodig: de "voorraad loswerk" uitgedrukt in tijd. Zodra een vrachtwagen wordt doorgezet komt er &lambda; uur bij, en elke tijdstap gaat er B<sub>t</sub>&middot;&Delta;t vanaf (elk ''bezette'' platform is immers "aan het werk" en verlaagt daarmee de "voorraad loswerk").
 +
:Die "voorraad loswerk" L is dan de voorraadgrootheid, en niet B. Je krijgt dan als differentievergelijking L<sub>t+&Delta;t</sub> = L<sub>t</sub> + D<sub>t</sub>&middot;&lambda; &minus; B<sub>t</sub>&middot;&Delta;t. Het aantal bezette platforms bereken je dan als B<sub>t</sub> = ⌈L<sub>t</sub>/&lambda;⌉ (dus altijd naar ''boven'' afgerond, zie [[notatie van vergelijkingen]]).
 +
:Als je deze vergelijkingen netjes in Excel implementeert zou je geen negatieve waarden moeten krijgen.
  
=== Vraagstuk C – "Corona-proof" houden van winkelcentrum ===
+
=== Vraagstuk B &ndash; Bekeuring voor appen tijdens het fietsen ===
'''Is het bij een VSD correct om een wisselwerking tussen twee voorraadgrootheden te hebben?'''<br>Dus tussen twee rechthoeken een dubbele pijl heen én een dubbele pijl terug, bijv. van het plein naar winkel A en van winkel A terug naar het plein?
+
'''Hoe geef je de pakkans weer in een VSD?'''
:Dat is zeker heel goed mogelijk. In Vensim is het wel even wat werk om de layout OK te krijgen, maar het kan daarin wel netjes worden weergegeven.
+
:Als een gebeurtenis X tijdens de simulatietijd (dus in één run) meer dan 1x kan optreden (bijv. elke appende fietser die langs komt ''kan'' aangehouden worden) dan is de gevraagde kans "aantal keer dat X gebeurt gedeeld door aantal keer dat X had ''kunnen'' gebeuren" (dus bij de fietsers: totaal aantal appende fietsers dat aangehouden wordt gedeeld door totaal aantal appende fietsers dat langskomt).
 +
:Als je het aantal "bezette" boa's als voorraadgrootheid neemt dan zal de totale ''instroom'' in die voorraad het aantal aangehouden fietsers zijn. Je zou dat totaal dus ook als een voorraadgrootheid kunnen zien, met een instroom die dan steeds hetzelfde is als de instroom in het aantal bezette boa's, maar zonder uitstroom.
 +
:De voorraadgrootheid "bezette boa's" heeft uiteraard wél een uitstroom, die mede afhankelijk is van de gemiddelde tijd die het kost om een proces-verbaal op te maken.
  
'''Is het gewenste maximum aantal mensen op het plein niet ook een "gegeven"?'''
+
'''Hoe kun je bepalen aan welke boa je de appende fietsers die langskomen moet toewijzen?'''<br>
:Inderdaad had dat gewenste maximum aantal mensen ook als "gegeven" moeten worden vermeld. Bedenk wel dat de BOA's (net als een thermostaat) bij het handhaven '''twee''' grenswaarden zullen hanteren: één waarboven ze beginnen met weren, en een waaronder ze weer stoppen met weren.
+
Dat moet natuurlijk een boa zijn die nog niet bezet is, maar als je dat voor een team van 6 boa's moet doen wordt dat heel ingewikkeld. Hoe pakken we dit aan?
 +
:De eerste stap om dit probleem te vereenvoudigen is dat je het [[aankomstproces]] (&larr; lees deze uitleg!) zó modelleert dat er per tijdstap hooguit 1 appende fietser aankomt. Dat kan prima als je maar een korte tijdstap neemt. Die moet flink korter zijn dan de kortste tijd die nodig is om een proces-verbaal uit te schrijven (dus neem bijv. &Delta;t = 0,5 minuut of 0,01 h).
 +
:De tweede stap is dat je je aan de aanwijzing houdt: per boa een aparte "timer-variabele", bijv. b<sub>1,t</sub> tot en met b<sub>6,t</sub>. Die "timers" geven dan aan hoe lang de boa nog bezig is -- zie [[ModEst:Q&A lopende estafette#Activiteit met variabele tijdsduur|deze uitleg op deze Q&A]]. Alle b<sub>i,t</sub> (voor i = 1, ..., 6) zijn aanvankelijk 0.
 +
:Als er op tijdstip t een appende fietser langskomt (bijv. weergegeven door binaire variabele A<sub>t</sub>) dan kun je je model zo maken dat die fietser bekeurd wordt door de eerste boa die niet nog bezig is. Het "nummer" van die boa is dan min({i: b<sub>i,t&minus;&Delta;t</sub> = 0}), d.w.z. de laagste waarde van i waarvoor geldt dat de i<sup>de</sup> boa in de vorige tijdstap beschikbaar was of beschikbaar kwam.
 +
:Je kunt dit ook oplossen door voor de i<sup>de</sup> boa (vanaf i = 2) te kijken of b<sub>j,t</sub> > 0 voor alle "eerdere boa's", dus voor j = 1 t/m i-1. Als dat dan zo is én b<sub>i,t&minus;&Delta;t</sub> = 0 (dus de i<sup>de</sup> boa is zelf niet bezet), dan krijgt b<sub>i,t</sub> als waarde de tijdsduur (volgens een gegeven kansverdeling) van deze nieuwe aanhouding+bekeuring.
 +
:De vergelijking voor b<sub>i,t</sub> is in beide oplossingen dus een [[Notatie van vergelijkingen#Conditionele vergelijkingen|conditionele vergelijking]].
  
'''Er wordt niet aangegeven hoelang men op het plein is of een kans dat ze daar zijn of iets dergelijks. Is er een looptijd die we weten?'''
+
'''Mag je het operationele model ook versimpelen door de bezette boa's met maar één variabele weer te geven?'''
:Eigenlijk is de situatie op het plein niet zo anders dan die in een winkel. Iemand komt het plein op, loopt daar even, en gaat dan een winkel in of het plein af. Het plein overlopen duurt niet zo lang, maar sommige mensen gaat misschien even op een bankje zitten, of blijven staan praten. Daar kun je wel een 'verhaal' van maken met bijbehorende gemiddelde verblijftijd op het plein.
+
:Je bedoelt zoiets als: B<sub>t+&Delta;t</sub> = B<sub>t</sub> + (aantal nieuwe aanhoudingen in tijdstap t) &minus; Bin(B<sub>t</sub>, &Delta;t/&beta;) waarin &beta; dan de gemiddelde duur van het bekeuren van één fietser is.
:Na die verblijftijd gaan de mensen van het plein volgens een te kiezen verdeling een van de winkels in, of verlaten ze het winkelcentrum.
+
:Ja, dat is ook een bruikbare oplossing, al maakt het je model beperkter doordat je dan niet met verschillende kansverdelingen voor de duur van het opmaken van proces-verbaal kunt experimenteren.
  
=== Vraagstuk D – Duo’s samenstellen voor estafette ===
+
=== Vraagstuk C &ndash; Concurrentie tussen fietsenstallingen ===
 +
'''Hoe geef je een locatie weer als grootheid?'''
 +
:Een locatie representeer je met twee grootheden, bijv. coördinaten X en Y (in m).
 +
:Bij dit vraagstuk heb je te maken met de gegeven locaties van de twee fietsenstallingen, en verder met de bestemmingslocatie van elke fietser (of groep fietsers) die aankomt.
 +
:In je operationele model geeft zijn de X en de Y van de bestemmingslocaties dan [[Kansverdeling#Uniforme verdeling|uniform]] verdeelde [[stochast]]en (want volgens het vraagstuk is elke locatie binnen de stad even waarschijnlijk als bestemming).
  
'''Welke kansverdeling kies je om een kans lineair te laten toenemen?'''
+
'''Hoe bepeaal je dan de instroom in een stalling?'''
:Je bedoelt: "Hoe kan ik de ''kans'' op een gebeurtenis lineair laten toenemen?" Een kans is immers gewoon een getal tussen 0 en 1. Om een kans ''p'' lineair toe te laten nemen gebruik je een vergelijking, bijvoorbeeld (simpel) ''p''<sub>t</sub> = 0.01&middot;t, of (netter) als een differentievergelijking ''p''<sub>t+&Delta;t</sub> = ''p''<sub>t</sub> + &alpha;. Die kans kun je dan weer gebruiken als parameter voor (bijvoorbeeld) een binomiale verdeling. ''N.B. Zorg er in je vergelijking wel voor dat de waarde van ''p'' altijd tussen 0 en 1 zal liggen.''
+
:Stel: aantal aankomende fietsers in een tijdstap is F<sub>t</sub> ~ Poisson(Δt·&phi;) met &phi; de aankomstfrequentie.
 +
:Gegeven is: as er meer dan 1 fietser aankomt dan is het een groepje en mag je dat groepje als één geheel beschouwen.
 +
:Dat groepje van F<sub>t</sub> fietsers parkeert dan in de dichtstbijzijnde stalling als daarin nog minstens F<sub>t</sub> plekken zijn; zo niet, dan in de andere stalling als daar nog genoeg plek is, en anders parkeren ze niet in een stalling (dus dan geen instroom in stalling A en ook niet in stalling B).
 +
:Per aankomend groepje (dus als F<sub>t</sub> > 0) bepaal je eerst de bestemming: FX<sub>t</sub> ~ U(0, L) en FY<sub>t</sub> ~ U(0, L) met L de lengte (= breedte) van de stad.
 +
:Als de stallingen resp. locatie (AX, AY) en (BX, BY) hebben, dan kun je eenvoudig bepalen of (FX<sub>t</sub>, FY<sub>t</sub>) dichter bij stalling A ligt of juist dichter bij stalling B. Doe dat met een conditionele verglijking s<sub>t</sub> = { ... die 1 geeft als stalling A het dichtstbij is.
 +
:De instroom &Phi;<sub>A,t</sub> in stalling A is dan gelijk aan s<sub>t</sub>&middot;F<sub>t</sub> als aantal vrije plaatsen in A &ge; F<sub>t</sub> (en anders 0).
 +
:Als F<sub>t</sub> > &Phi;<sub>A,t</sub> dan weet je: de fietsers zijn '''niet''' ingestroomd in stalling A, dus gaan ze naar stalling B, dus &Phi;<sub>B,t</sub> = F<sub>t</sub> als F<sub>t</sub> > &Phi;<sub>A,t</sub> én er nog genoeg plek is in stalling B (en anders 0).
 +
:Zo gaat het ook vanzelf goed als stalling B te weinig plek heeft: de instroom in stalling B is dan ook 0.
  
=== Vraagstuk E – Ernstige ziekteverschijnselen ===
+
=== Vraagstuk D &ndash; Druk kruispunt ===
'''Hoe bereken je de tijd totdat het ziekenhuis voor het eerst patiënten moet weigeren?'''
+
'''Mogen we aannemen dat de aankomstfrequentie constant is?'''
:Dit is gelijk aan het vroegste tijdstip waarop het aantal nieuw aankomende patiënten groter is dan het aantal nog vrije bedden. Dat kun je op dezelfde manier wiskundig weergeven als "het moment waarop het bootje de overkant bereikt" bij [[ModEst:Q%26A_lopende_estafette#Vraagstuk_A_.E2.80.93_Afwijkend_bootje|vraagstuk A van estafette A]].
+
:De aankomstfrequentie is typisch een invoervariabele, en die heeft tijdens een simulatierun een constante waarde. Je hoeft bij dit vraagstuk dus geen sinusfunctie of zoiets te gebruiken om drukkere en minder drukke periodes te simuleren.
 +
:'''Let wel op!''' Gevraagd wordt om een ''probabilistisch'' dynamisch model, dus het aantal fietsers dat per tijdstap aankomt bereken je als een toevalsgetal uit de Poissonverdeling. Lees dus vooral de pagina [[Aankomstproces]] nog eens.
  
'''Hoe bereken je de uitstroom uit het ziekenhuis?'''
+
=== Vraagstuk E &ndash; Eénrichtingsverkeer ===
:Hoe je in een probabilistisch model de uitstroom uit een voorraadgrootheid o.b.v. een gemiddelde verblijftijd berekent wordt uitgelegd in het artikel over het [[voorraad-stroomdiagram#Wat_als_stroomgrootheden_stochastisch_zijn.3F|voorraad-stroomdiagram]].
+
'''Hoe formuleer je de tijd die het kost om tegen het verkeer in te gaan?'''<br>
 +
We denken aan zoiets als l<sub>straat</sub> / v<sub>fiets</sub> + kans op afstappen &middot; afstaptijd, maar we komen er niet uit.
 +
:Dit is '''niet''' de goede aanpak. Gevraagd wordt op een '''dynamisch''' model dat de rit tegen het verkeer in simuleert, en dan de tijdsduur om tot de bestemming halverwege de straat te komen vergelijkt met de tijd die het kost als je omrijdt. De voorbeeldgrafiek laat zien dat je '''per tijdstap''' de afgelegde afstand moet bepalen. Dat wijst op een voorraadgrootheid met als instroom de fietssnelheid maal de tijdstap, maar 0 als de fietser een tegenligger moet laten passeren.
 +
:De modelvergelijking van een voorraadgrootheid is dan per definitie een differentievergelijking. In dit geval is er geen uitstroom, dus krijg je iets als s<sub>t+&Delta;t</sub> = s<sub>t</sub> + v<sub>t</sub>&middot;&Delta;t waarin v<sub>t</sub> de snelheid op tijdstip t weergeeft. Voor die snelheid moet je dan een conditionele vergelijking opstellen:  v<sub>t</sub> = 0 als afgestapt of bij bestemming aangekomen, en v<sub>fiets</sub> anders.
 +
:Of de bezorger is afgestapt hangt dan af van de gebeurtenis "er komt een auto aan", en modelleer je met een aparte ''timer''-variabele (zie de aanwijzing bij dit vraagstuk).
 +
:Of de bezorger bij de bestemming is aangekomen kun je zien aan de afgelegde afstand: dat is zo als s<sub>t</sub> &ge; l<sub>straat</sub> / 2.
  
=== Vraagstuk F – Fanatieke feestgangers ===
+
=== Vraagstuk F &ndash; Fietsenstalling met drie verdiepingen ===
 +
'''De verdiepingen zijn aparte voorraadgrootheden. Stromen fietser dan door eerdere verdiepingen heen als die vol zitten?'''
 +
:Voor elke verdieping is het aantal op die verdieping ''gestalde'' fietsen een vorraadgrootheid. Dat betekent dat je daarin '''niet''' de fietsers moet meetellen die op een verdieping doorrijden op zoek naar de eerste vrije plek. Zou je dat wel doen, dan verblijft zo'n "passant" toch gedurende een tijdstap in verdieping 1 en daarna mogelijk ook nog een tijdstap in verdieping 2 voordat hij op verdieping 3 belandt. Bij een korte tijdstap van bijv. 30 seconden is dat dan niet onrealistisch, maar bij langere tijdstappen geeft het aantal fietsers in een voorraadgrootheid dan niet het aantal ''gestalde'' fietsen weer en wordt de bezettingsgraad dus stelselmatig hoger dan hij in werkelijkheid is.
 +
:Je weet: aankomende fietsers vullen eerst de vrije plekken in verdieping 1 op, en gaan daarna pas zoeken op verdieping 2 of 3. Het aankomstproces genereert elke tijdstap een aantal nieuwe fietsers, en dat aantal moet je verdelen over de drie verdiepingen: instroom in verdieping 2 mag pas als verdieping 1 helemaal vol zit, en instroom in verdieping 3 pas als verdieping 2 helemaal vol zit. In een VSD heeft dan "aantal plekken per verdieping" een + pijl naar de instroom in een verdieping, terwijl vanuit de voorraad fietsen op die verdieping juist een &minus; pijl naar de instroom gaat (want vol is vol). De instroom in verdieping 1 gaat af van het aantal aangekomen fietsers, en het aantal dat dan nog over is gaat naar de volgende verdieping. Zo ook voor verdieping 3.
 +
:Elke verdieping heeft dan uiteraard een uitstroom die de fietsers weergeeft die daadwerkelijk de stalling verlaten.
  
=== Vraagstuk G – Gespreid downloaden graag! ===
+
=== Vraagstuk G &ndash; GPS van slag ===
 +
'''Volgens de onderzoeksvraag moeten we de invloed van de kansverdeling van de rijrichting op de gevraagde grootheden weergeven. Hoe doe je dat in een conceptueel model?'''
 +
:Goede vraag, want de rijrichting is N, O, Z of W en dat is geen ordinale [[schaal]]. Daardoor kun je niet eenduidig een &plus; of een &minus; langs de beïnvloedingspijlen vanuit de grootheid "rijrichting" zetten.
 +
:De oplossing is in dit geval dat je de rijrichting als exogene grootheid ziet (het is immers een [[stochast]]) en dan de invloed ervan op de (X, Y)-positie van de auto (d.w.z. de invloed op twee grootheden: X en Y) met pijlen weergeeft die je dan met een vraagteken ? labelt.
 +
:Dat vraagteken geeft dan weer dat de invloed van de rijrichting op X resp. Y niet eenduidig is gedefinieerd. In je begeleidende tekst licht je dan toe hoe die beïnvloeding werkt (dus bijv. "Bij rijrichting N neemt Y toe en blijft X gelijk") en leg je uit hoe een [[kansverdeling]] voor het bereik van de grootheid "rijrichting" (dus de waardenverzameling {N, O, Z, W}) eruit zou kunnen zien.
  
= Estafette A =
+
'''Betekent een grotere tussenafstand van de straten dat de breedte van de wegen ook groter is?'''
 +
:Denk aan Ockham en verwaarloos de breedte van de weg (dus abstraheer een weg tot een lijn). Je kunt dan aannemen dat de "bloklengte" de tussenafstand plus 1 wegbreedte is.
 +
 
 +
'''Als de stad groter wordt dan wordt de gereden afstand waarschijnlijk ook groter, maar dat hoeft niet. Zet je dan toch een + langs de pijl van "stadsgrootte" naar "gereden afstand"?'''
 +
:Het is in dit geval beter om onderscheid te maken tussen het ''aantal'' bloklengtes dat de auto rijdt en de gegeven bloklengte (= afstand tussen straten). Je kunt de gereden afstand immers bepalen door per kruispunt een bloklengte (in m) in de voorraadgrootheid "afgelegde afstand" te laten stromen, maar je kunt evengoed een voorraad "gepasseerde kruispunten" hebben waar dan steeds 1 instroomt, en dan de afgelegde afstand laten beïnvloeden door dat aantal kruispunten en de bloklengte.
 +
:De instroom van de voorraadgrootheid wordt bepaald door de positie van de auto: zolang die niet aan de rand van de stad is komt er sowieso een bloklengte bij. Daarnaast moet je dan de positie van de auto bijhouden: die verschuift bij elk kruispunt aselect 1 bloklengte naar het Noorden, Oosten, Zuiden of Westen. Representeer de positie met twee grootheden, bijv. coördinaten X en Y (in m).
 +
:'''''Let op:''''' In een VSD geef je [[kansverdeling]]en '''niet''' als grootheden weer. Een kansverdeling is een eigenschap van een [[stochast]], stochasten zijn variabelen, en variabelen geven grootheden weer. In een VSD zet je alleen de grootheden en hun onderlinge relaties, en zie je dus niet of een grootheid stochastisch is.
 +
 
 +
'''Hoe formuleer je een kansverdeling op de rijrichting?'''
 +
:Wat je nodig hebt is een discrete kansverdeling die per kruising bepaalt hoe groot de kans is dat de GPS "Noord" aangeeft, hoe groot de kans op "Oost" is, enzovoorts.
 +
:Stel dat R<sub>i</sub> &isin; {N, O, Z, W} weergeeft wat de nieuwe rijrichting wordt bij de i<sup>de</sup> kruising die de auto passeert. De kansverdeling kun je dan noteren als een conditionele vergelijking waarin je o.b.v. dat toevalsgetal de rijrichting bepaalt: R<sub>i</sub> = '''{''' ''(dus een grote accolade)'' met rechts daarvan, onder elkaar, deze vier opties:
 +
:: N als u<sub>i</sub> < p<sub>N</sub>
 +
:: O als u<sub>i</sub> < p<sub>N</sub> + p<sub>O</sub>
 +
:: Z als u<sub>i</sub> < p<sub>N</sub> + p<sub>O</sub> + p<sub>Z</sub>
 +
:: W anders
 +
:waarbij u<sub>i</sub> dan een toevalsgetal uit de uniforme verdeling is, dus:
 +
::u<sub>i</sub> ~ U(0, 1)
 +
:Verder moet dan gelden dat de som van de kansen p<sub>N</sub> + p<sub>O</sub> + p<sub>Z</sub> + p<sub>W</sub> = 1. Die kansen op N, O en Z zijn dan invoervariabelen die tussen 0 en 1 in moeten liggen. De kans op W is dan gelijk aan 1 min de som van de ingevoerde drie andere kansen.
 +
:Zo "rol" je dus als het ware 1x met een "dobbelsteen", en daarna kijk je welke richting bij de "worp" hoort.
  
=== Vraagstuk A – Afwijkend bootje ===
+
=== Vraagstuk H &ndash; Halte met veel wachtende mensen ===
'''Hoe bereken je hoe lang het duurt voordat het bootje de overkant bereikt?'''<br>
+
'''Volgens de onderzoeksvraag is de kans''verdeling'' van de tussenaankomsttijd van de trams een gegeven. Hoe kan dat?'''<br>
Gevraagd wordt om de afgelegde afstand. Het bootje vaart met constante snelheid v, dus is de afstand ''v''&middot;t maar dan voor t op het moment dat het bootje de overkant bereikt. Hoe noteer je dat in een vergelijking?
+
Een gegeven moet toch een invoervariabele worden? Bij een kans kan dat, maar hoe voer je dan een kans''verdeling'' in?
:De positie van het bootje is (zo blijkt uit de voorbeeldgrafiek) tijdafhankelijk: (''x''<sub>t</sub>, ''y''<sub>t</sub>) met beginpositie (0, 0). Geef je de breedte van de rivier weer als variabele ''b'', dan is het bootje aan de overkant zodra ''x''<sub>t</sub> &ge; ''b''. Je zoekt dus naar de ''laagste waarde'' van t waarvoor ''x''<sub>t</sub> &ge; ''b''. De vergelijking voor die waarde noteer je als t<sub>eind</sub> = min({t | ''x''<sub>t</sub> &ge; ''b''}). In woorden staat daar dan: "De eindtijd is gelijk aan de laagste waarde in de [[verzameling]] van tijdstippen t waarvoor geldt dat ''x''<sub>t</sub> groter is dan ''b''". Zie ook: [[Notatie van vergelijkingen]]
+
:Goede vraag! Het betekent dat je bij je operationalisatie ófwel je model verder beperkt (dat mag immers altijd -- binnen redelijke grenzen) ófwel m.b.v. een conditionele vergelijking bepaalt uit welke kansverdeling je een toevalsgetal trekt.
 +
:Bij de eerste aanpak beperk je je door bijv. alleen de MIN en MAX waarden van de tussenaankomsttijd als invoervariabelen kiest, en dan als kansverdeling kiest voor een uniforme verdeling U(MIN, MAX) of voor een symmetrische driehoeksverdeling Tri(MIN, MAX) of voor nog iets ingewikkelders als MIN + MAX&middot;Bin(1000, 0.3)/1000 om kansverdeling met een "scheve bult" te krijgen. De gebruiker van je model kan dan nog wel de parameters MIN en MAX instellen, maar niet de vorm van de kansverdeling.
 +
:Bij de tweede aanpak voeg je een extra invoervariabele K toe die het "nummer" van de kansverdelingen die je in je model opneemt weergeeft. Zo kun je de gebruiker van je model bijvoorbeeld de keuze geven uit één van de drie hierboven genoemde kansverdelingen, en dan de tussenaankomsttijd TAT<sub>i</sub> voor de i<sup>de</sup> tram berekenen als TAT<sub>i</sub> = { ... (dus een grote accolade) met daarachter onder elkaar de drie opties, bijv.
 +
::U(MIN, MAX) als K = 1
 +
::Tri(MIN, MAX) als K = 2
 +
::MIN + MAX&middot;Bin(1000, 0.3)/1000 anders
 +
:Je kunt bij dit vraagstuk zelf bepalen welke aanpak je volgt. Licht dat dan wel kort toe. Dat geldt voor beide gegeven kansverdelingen.
 +
:'''Tip:''' bij het aantal vrije zitplaatsen moet je uiteraard een discrete kansverdeling gebruiken. Bovendien kan het aantal vrije plaatsen nooit groter zijn dan het eindige aantal plaatsen in een tram. Dat wijst dan duidelijk in de richting van één bepaalde kansverdeling.
  
=== Vraagstuk B – Beheer van waterbassins ===
+
= Estafette A =
'''Hoe bereken je het tijdstip waarop er tekort aan water ontstaat?'''<br>
 
De tweede onderzoeksvraag vraagt op welk tijdstip er een tekort aan water ontstaat (per bassin). Het lijkt mij dat dit af te lezen is aan de grafiek: wanneer de waterhoeveelheid 0 bereikt, is er een tekort aan water. Hoe geef je dit weer als modelvergelijking?
 
:Inderdaad kun je dit aflezen aan de grafiek, precies zoals je het omschrijft. Wiskundig gezien ben je op zoek naar de waarde van t waarbij de waterhoeveelheid Q ''voor het eerst'' nul wordt. Dat kun je ook formuleren als "de laagste waarde van t waavoor geldt dat Q<sub>t</sub> = 0". Wiskundig noteer je dit dan als t<sub>tekort</sub> = min({t | Q<sub>t</sub> = 0}). Zie ook de vergelijkbare vraag bij vraagstuk A.
 
  
'''Is de formule V<sub>A, t+1</sub> = V<sub>A, t</sub> + (I<sub>A</sub> - B<sub>A</sub> - I<sub>B</sub>)*1 tijdsafhankelijk?'''
+
=== Vraagstuk A – Afzetten! ===
:Hoeveel meer bewijs van tijdsafhankelijkheid wil je hebben als 't+1' en 't' expliciet in de formule staan?
 
  
=== Vraagstuk C Curtailment vanwege congestie op het netwerk ===
+
=== Vraagstuk B Van bovenaan de boog naar de grond ===
'''In de beschrijving van vraagstuk C zijn grafieken van wind en zon als voorbeeld gegeven. Hoe maak je zo'n functie met sinussen?'''
+
'''Hoe geef je in een conceptueel model weer dat het kind niet verder meer afdaalt zodra het met de voeten op de grond staat?'''
:In het geval van de zonne-energie gaat het om een sinus met een ''lage frequentie'' en een ''grote amplitude'' met daar bovenop een sinus met een ''hogere frequentie'' en een ''fluctuerende amplitude''. De fluctuerende amplitude is verkregen door de hoogfrequente sinus te vermenigvuldigen met een sinus die een frequentie heeft tussen die van de andere twee sinussen in. De laagfrequente sinus modelleert het dagritme, en de hoogfrequente sinus bootst de kortere fluctuaties na, zoals 'wolken voor de zon'. In het voorbeeldplaatje zie je ook dat de zonnefunctie niet symmetrisch rond de tijdas ligt: er is een constante bij de functie opgeteld.
+
:Het handigste is dat je gebruik maakt van een binaire grootheid, bijvoorbeeld "voet aan de grond [JA/NEE]". Die wordt dan negatief beïnvloed door de grootheid "voethoogte" die dan uiteraard afhangt van de grootheden "handhoogte" en "lengte van kind".
:Uit deze beschrijving blijkt dat voor de zonne-intensiteit I bijvoorbeeld kan gelden:
+
:Die binaire grootheid heeft dan weer een negatieve (!) invloed op de instroom in de voorraadgrootheid (in dit geval: het aantal sporten dat het kind is afgedaald). Want die instroom moet 0 zijn vanaf het moment dat het kind de grond raakt.
::I(t) = a·sin(&alpha;t) + b·sin(&beta;t)·sin(&gamma;t) + c,
+
:Je kunt het uiteraard ook omdraaien door de binaire grootheid "nog géén voet aan de grond [JA/NEE]" te noemen. Daarmee geef je weer dat die grootheid 1 is zolang het kind nog verder moet afdalen, en dan heeft de binaire grootheid juist een ''positieve'' invloed op de instroom in het aantal afgedaalde sporten.
:waarin a > b en &alpha; < &beta; < &gamma;. De waarde van &alpha; moet zo gekozen worden dat er een 24-uurs-cyclus ontstaat (hint: reken 24 uur om naar 2&pi;). Het stuk b·sin(&beta;t) is de fluctuerende amplitude van de sin(&gamma;t). Je moet er ook voor zorgen dat de uitkomst nul wordt wanneer de functie onder nul zakt (want negatieve zonnestraling bestaat niet).
 
:Door wat te spelen met de waarden van de overige parameters, kun je in de buurt komen van de voorbeeldplaatjes (die niet meer zijn dan voorbeelden, dus je hoeft zeker niet exact hetzelfde te krijgen).
 
:Voor de windenergie kun je op een overeenkomstige manier een functie bouwen, maar daar hoeft de laagfrequente sinus niet een periode van 24 uur te hebben.
 
  
'''Hoe zorg je dat de hoogste piek van het opgewekte vermogen gelijk is aan de waarde van een invoervariabele?'''
+
=== Vraagstuk C – Cascade van water ===
:Inderdaad kun je het maximum vermogen P<sub>MAX</sub> van een energiepark als invoervariabele zien. De functie vermenigvuldig je dan met P<sub>MAX</sub>. Je moet er dan alleen nog voor zorgen dat die functie hooguit waarde 1 heeft.
 
:Het bereik van een standaard (co)sinusfunctie is het interval [-1, 1]. De som van M (co)sinusfuncties ''a''<sub>1</sub>&middot;sin(''b''<sub>1</sub>&middot;t) + ''a''<sub>2</sub>&middot;sin(''b''<sub>2</sub>&middot;t) + ... + ''a''<sub>M</sub>&middot;sin(''b''<sub>M</sub>&middot;t) zal daarom maximaal gelijk zijn aan S&nbsp;=&nbsp;''a''<sub>1</sub>+''a''<sub>2</sub>+ ... +''a''<sub>M</sub>. Om ervoor te zorgen dat de functie die het vermogen van een energiepark beschrijft maximaal P<sub>MAX</sub> is moet je dus vermenigvuldigen met P<sub>MAX</sub> maar dan ook delen door S.
 
  
'''Moet je om de windenergie te berekenen de windsnelheid omrekenen naar vermogen?'''
+
=== Vraagstuk D – Draaitoestel aanduwen ===
:Nee: de in de opdracht gegeven voorbeeldfuncties beschrijven al ''het energetische vermogen''; een omrekening is dus niet meer nodig.
 
:(Het vermogen is evenredig met de derde macht van de windsnelheid, maar dan is er ook nog een maximum per turbine boven een bepaalde windsnelheid. Dat wordt in dit geval onnodig ingewikkeld.)
 
  
=== Vraagstuk D Docent krijgt het druk ===
+
=== Vraagstuk E Evenwichtstoer ===
'''Onze lijndiagram met het aantal uren rust van de docent ziet er anders uit dan de voorbeeldgrafiek in de opgave. Hoe kan dat? En is dat erg?'''
+
'''In de gegeven modelvergelijkingen komt de lengte van de wipwap niet voor. Moeten we die dan wel gebruiken?'''
:De vorm van de grafiek volgt niet alleen uit de vergelijkingen die je hebt opgesteld, maar ook uit de lengte van je tijdstap.
+
:Ai, jullie hebben gelijk, die lengte had er beter wel in kunnen staan. 
:Wanneer je "rust" voor de docent opvat als "een tijdstap waarin er geen vragen voor de docent zijn" (dus een tijdstap waarvoor de voorraadgrootheid nul is), dan is de uitvoervariabele dus het aantal van dergelijke tijdstappen in de afgelopen 24 uur.
+
:Je ''hoeft'' het gegeven dat een wipwap niet oneindig lang zal zijn niet te gebruiken, maar het is natuurlijk beter als je dat toevoegt.
:Meestal geldt: hoe kleiner de tijdstap, hoe "gladder" het verloop van de grafiek. De voorbeeldgrafiek is gebaseerd op een tijdstap van 1 uur. Dat maakt implementatie in Excel eenvoudiger omdat dan elke rij 1 uur is en je met de functie AANTAL.ALS(''celbereik'', 0) het aantal uur "rust" in dat celbereik kunt tellen. Een celbereik van 24 uur noteer je dan in Excel bijvoorbeeld als <tt>C10:C33</tt>.
+
:De modelvergelijking voor de afstand van een kind vanaf het midden van de wipwap wordt dan:
:Wanneer je in je toelichting bij je modeluitkomsten goed kunt verklaren waarom je grafiek een bepaalde vorm heeft, dan is het niet erg als hij er anders uitziet dan de voorbeeldgrafiek.
+
::s<sub>B,t+Δt</sub> = min(L/2, s<sub>B,t</sub> + B<sub>B,t</sub>·v·Δt)
 +
:waarin de invoervariabele L dan de lengte representeert. Zo kan de verplaatsing van kind B niet groter worden dan een halve wipwaplengte.
 +
:Voor kind A moet je dan uiteraard ook het naar boven schuiven op deze manier modelleren.
  
=== Vraagstuk E – Eén winkelmandje per klant ===
+
'''Als wij kind B massa 50 kg geven, dan geeft het model de foutmelding #REF! in cel H4. Is dat een fout in het model?'''  
'''Hoe bereken je de maximale lengte van de wachtrij?'''<br>
+
:Nee, niet echt. Excel geeft die melding doordat t<sub>omklap</sub> 0 is (er vindt geen omklap plaats) en dus het aantal tijdstappen in cel L3 nul is. Die cel L3 wordt gebruikt in cel H4 om het gemiddelde van kolom H te bepalen over het in cel L3 berekende aantal tijdstappen: <tt>=AVERAGE(OFFSET(H11;0;0;'''<u>L3</u>''';1))</tt>. Doordat L3 nul is geeft Excel de melding #REF! om aan te geven dat een bereik van 0 rijen niet bruikbaar is om een gemiddelde over te bepalen.
Gevraagd wordt om niet alleen het verloop van de wachtrijlengte te laten zien, maar ook te bepalen hoeveel mensen staan te wachten wanneer de wachtrij het langst is. Hoe noteer je dat in een vergelijking?
+
:Probeer je de situatie voor te stellen: als kind B zoveel zwaarder is dan kind A, dan is de lengte van 4 meter te kort voor kind A om genoeg hefboomwerking te krijgen om kind B op te tillen. Maak je kind A ook wat zwaarder, of zet je kind B dichter bij het kantelpunt (bijv. s<sub>B,0</sub> = 0,2) dan werkt het model wel weer goed. Dat lukt ook als je de wipwap langer maakt (bijv. 10 m).  
:Als je de uitvoervariabele W<sub>t</sub> gebruikt om het aantal wachtende klanten weer te geven, en ook W<sub>MAX</sub> als uitvoervariabele neemt, dan kun je de vergelijking voor de hoogste waarde noteren als:
+
:Dat je een foutmelding krijgt betekent dus niet dat het model niet goed werkt. Het is wel een beperking van het model qua "gebruiksvriendelijkheid": de standaardfoutmelding #REF! is niet erg informatief. Het zou mooier zijn wanneer je in cel H4 de foutmelding voorkomt door in H4 bijv. deze formule te zetten:
::W<sub>MAX</sub> = max(W<sub>t</sub>) voor t &isin; [0, t<sub>eind</sub>]
+
::<tt>=IF(L3<=0;"Geen omklap!";AVERAGE(OFFSET(H11;0;0;L3;1)))</tt>
:of m.b.v. de formule-editor nog iets compacter:
 
::[[Bestand:maxWt.png|x20px]]
 
:In woorden staat daar dan: "... de hoogste waarde van W<sub>t</sub> voor alle tijdstippen t op het gesloten interval tussen 0 en t<sub>eind</sub> (met t<sub>eind</sub> de eindtijd van de simulatie). Bij de tweede notatie wordt het [[Domein van een variabele|domein]] van t niet expliciet gedefinieerd, en dan moet je het lezen als "het maximum over ''alle'' tijdstippen t".
 
  
=== Vraagstuk F – Fietsers maken noodstop ===
+
=== Vraagstuk F – Filmpje faalt... ===
'''Hoe kunnen we krachten, versnellingen en vertragingen in een CRD zetten?'''
 
:Voor de fysische grootheden ''versnelling'' en ''snelheid'' is een [[Causalerelatiediagram|CRD]] een beetje problematisch.
 
:Of een versnelling (de a in F=m·a dus) nu ''toeneemt'' of ''afneemt'', de snelheid blijft steeds ''toenemen''. Dat is lastig weergeven in een CRD.
 
:Pas wanneer de versnelling ''negatief'' wordt, gaat de snelheid afnemen (in het gewone spraakgebruik heet het dan "vertraging", maar fysische gezien is het een negatieve versnelling).
 
:Je kunt dit daarom beter weergeven in een [[Voorraad-stroomdiagram|VSD]], met een 'versnelling' als instroom en een 'vertraging' als uitstoom voor de voorraadgrootheid 'snelheid'.
 
:(Helemaal blij is de fysicus dan nog steeds niet, want de grootheid a springt dan van de instroom naar de uitstroom als deze negatief wordt. Maar in een vraagstuk waar een fietser óf harder trapt om te versnellen óf in de remmen gaat, is daar wel overheen te komen.)
 
  
'''Hoe komen we aan de formule voor de volgafstand?'''
+
=== Vraagstuk G – Glijbaan ===
:Niet.
+
'''Gevraagd wordt om een dynamisch model. We hebben een CRD opgesteld maar daar zit geen lus in. Is dat fout?'''
:Je moet een ''dynamisch'' model maken, wat inhoudt dat je tijdstap na tijdstap bepaalt wat de nieuwe snelheden zijn (op basis van de oude snelheden en de versnelling of vertraging) en de daaruit volgende nieuwe locaties (op basis van de nieuwe snelheden). De volgafstand is dan het verschil tussen de locaties (vergeet niet de lengte van een fiets in mindering te brengen), dus die is een ''uitvoervariabele'' van het model.
+
:Nee. De dynamiek van het systeem volgt uit de valversnelling. In het CRD geef je de invloed van valversnelling op snelheid met een pijl weer, maar je trekt geen pijl van snelheid naar zichtzelf om aan te geven dat de snelheid op t+Δt gelijk is aan de snelheid op t plus versnelling maal de tijdstap Δt. Zoiets doe je ook niet voor de afgelegde afstand, maar ook die verandert uiteraard in de tijd. Dat het systeem dynamisch is kun je duidelijk maken in je toelichting bij het CRD.
 +
:Er zit overigens wel één expliciete terugkoppeling in het systeem: zodra het ijsblok de grond raakt wordt de snelheid ervan 0. Je zou dit in je CRD voor de vrije-valfase van het systeem expliciet kunnen maken met een binaire grootheid ''op de grond [JA/NEE]'' en dan in je CRD deze lus tekenen: ''verticale snelheid'' &mdash;(-)&rarr; ''hoogte van het ijsblok'' &mdash;(-)&rarr; ''op de grond [JA/NEE]'' &mdash;(-)&rarr; ''verticale snelheid''.
  
'''Moeten we de remweg berekenen?'''
+
'''In de onderzoeksvraag staat dat de massa van het ijsblok gegeven is. Die speelt toch geen rol als er geen wrijvingskracht is?'''
:Nee. De vraag gaat over de ''volgafstand'' en het eventueel ''botsen'' van de fietsers. Daar heb je de remweg niet voor nodig. Een ''formule'' afleiden voor de remweg is dus ook niet nodig (en zou, net als bij de vorige vraag, voorbijgaan aan het feit dat je een ''dynamisch'' model moet maken: de remweg zou dus moeten volgen ''uit de modelberekeningen'', niet uit een kant-en-klare formule).
+
:De massa van het ijsblok speelt inderdaad geen rol, dus dat is verwarrend. Dat was geen opzet! In de modelvergelijkingen staat nergens een ''m'' omdat de valversnelling ''g'' genoeg is om de snelheid te bepalen.
  
=== Vraagstuk G – Gistproductie ===
+
'''In de onderzoeksvraag staat de hoogte van de glijbaan als gegeven. Moet dat geen aparte modelparameter zijn?'''
'''Doordat we geen gegevens hebben over de batchtijd, de vermenigvuldigingstijd, met hoeveel bacteriën het systeem begint en hoeveel bacteriën erover blijven na de spoeling lukt het ons niet om een model te maken. Wat nu?'''
+
:Nee, dat is niet nodig (denk aan [[Ockham|Ockham's scheermes]]). Uit het vraagstuk blijkt duidelijk dat de hoogte van de glijbaan gelijk is aan de hoogte van het ijsblok op tijdstip t=0. Dat betekent dat ''h''<sub>0</sub> een modelparameter is. Dat is dus een invoervariabele, en die zet je dan met een ingaande pijl links in het modelschema. ''h''<sub>t</sub> is dan een interne variabele. Zo staat variabele ''h'' dus 2x in het schema, maar dat mag in zulke gevallen. Het is dan wel netjes als je bij het modelschema toelicht dat ''h''<sub>t</sub> de hoogte voor tijdstippen t&nbsp;>&nbsp;0 weergeeft.
:Van sommige grootheden (bijv. de [https://nl.wikipedia.org/wiki/Dichtheid_(natuurkunde) dichtheid] en de [https://nl.wikipedia.org/wiki/Soortelijke_warmte soortelijke warmte] van een stof, of de [[efficiëntie]] van een energiecentrale) kun je de waarde opzoeken. Voor onbekende grootheden (zoals hier de eigenschappen van het productieproces en de bacteriestam) doe je verstandige aannames. Houd die dan simpel zodat je het modelgedrag kan controleren met eenvoudige berekeningen.
+
:''In het algemeen geldt:'' Omdat elke differentievergelijking een beginwaarde moet hebben ''kán'' de betreffende variabele voor tijdstip 0 een modelparameter zijn, maar dat ''hoeft'' niet wanneer die beginwaarde 0 is (want dat is de standaard aanname).
:Neem in dit vraagstuk als batchduur dus eerst 1 uur, en neem als tijdstap van je model dan die batchduur (dus ook 1 uur). Neem voor de groeifactor en de desinfectiefactor "ronde getallen": een beginwaarde 1000 en groeifactor 1,1 zou dan groei 1000&rarr;1100&rarr;1210 enz. moeten geven, en bij een desinfectiefactor van bijv. 90% zou je een daling van bijv. 10.000&rarr;1000&rarr;100 enz. moeten zien. Voor de drempelwaarden van de regeling van dit cybernetische systeem kies je dan bijv. om bij 10.000 of meer bactieriën te beginnen met spoelen en dan pas te stoppen met spoelen zodra het aantal bacteriën onder de 1000 komt. Dan kun je goed controleren of de grafiek van je uitvoervariabele tussen die twee waarden "pingpongt" (met een beetje ''"overshoot"'' en ''"undershoot"'', zie bijv. [https://nl.wikipedia.org/wiki/Cv-regeling#Kamerthermostaat_met_anticipatie deze uitleg van de werking van een thermostaat]).
 
  
= Warmloopestafette =
+
=== Vraagstuk H – Hoop zand ===
M.b.t. de vraagstukken van de warmloopestafette zijn geen vragen gesteld.
+
'''Waarom heeft in het causalerelatiediagram een toename van het initiële volume een negatieve relatie met de hoogte?'''
 +
:Het initiële volume is een vast gegeven. Het kan niet toenemen. Het bepaalt wel (samen met de initiële hoogte en initiële diameter) de vorm van de kegel, en die blijft hetzelfde. Daarom staat er in de uitwerking:
 +
Omdat gegeven is dat de verhouding hoogte : diameter van grondoppervlak hetzelfde blijft kun je de hoogte en de diameter van het grondoppervlak afleiden uit de beginwaarde van deze twee grootheden en het beginvolume van de zandhoop.
 +
:Bedenk dat een "negatieve relatie" (dus een pijl met een min erlangs) kan wijzen op een deling in de modelvergelijking. De hoogte van de zandhoop op tijdstip ''t'' is gelijk aan het volume van de zandhoop (op tijdstip ''t'') maal de verhouding (initiële hoogte / initieel volume).
 +
:Ga zelf na dat dit dimensioneel correct is.  
 +
:Intuïtief is het beter te begrijpen als je bedenkt dat als het volume met ''p''% toeneemt, de hoogte ook met ''p''% toeneemt (t.o.v. de initiële hoogte), dus dat hoogte ''h''<sub>t</sub> = ''h''<sub>0</sub>&middot;''V''<sub>t</sub>/''V''<sub>0</sub>. Je moet dus echt '''delen''' door het initiële volume.

Huidige versie van 27 mrt 2024 om 08:50

Op deze pagina verzamelen we antwoorden op vragen die n.a.v. de lopende estafette worden gesteld.

Kijk a.j.b. eerst of je hier al antwoord vindt op je vragen voordat je een vraag stelt via Presto.

Voor niet-inhoudelijke vragen m.b.t. de modelleerestafette is er deze algemene Q&A. Faq.png

Inhoud

Hulp vragen

Hoe vraag ik om hulp?

In Presto staat onderaan de opdracht-schermen (voor uploaden en review) een knop waarmee je een vraag-dialoog kunt oproepen.
Mail dus niet rechtstreeks, tenzij het absoluut noodzakelijk is dat je een bestand meestuurt.

Kan ik ook naar de kamer van een van de docenten gaan met een vraag?

Nee, want we behandelen de gestelde vragen zo veel mogelijk in volgorde van binnenkomst.
Het zou niet fair zijn tegenover eerdere vragenstellers als we "langslopers" dan sneller zouden helpen.

Helpt het als ik mijn vraag afsluit met "Ik hoor graag zo spoedig mogelijk van u"?

Nee. Integendeel. Zeker niet als je dat mailtje vrijdagavond half zeven verstuurt.
Wij doen ons best binnen redelijke tijd te antwoorden, maar wij hebben ook andere bezigheden (zoals familie, vrienden en hobby's).

Moet ik over elke beslissing die ik neem in de estafette een vraag sturen naar de docenten?

Nee, maak vooral zelf je modelleerkeuzes! Als je aan het modelleren bent, moet je heel veel kleine en grote beslissingen nemen. Vaak zijn er meerdere goede mogelijkheden. Als je een aanname kunt onderbouwen, hoef je daar geen toestemming voor te vragen. Denk vooral aan Ockham.

Bijlagen zijn leeg of niet te wijzigen

Afbeeldingen in Word en PowerPoint kunnen niet aangepast worden / Het Vensim-bestand is leeg. Mag ik dat mijn voorgangers aanrekenen?

Nee, dat mag je niet. Het bijvoegen van PowerPoint en/of VenSim is een service aan de opvolgers, en is gewenst maar niet verplicht.
Een handgetekende systeemschets of VSD kan even goed zijn als een afbeelding in PowerPoint of een VenSim-model.
Je moet het diagram zelf op zijn merites beoordelen: zijn grootheden wel grootheden? gaan er geen informatiepijlen een voorraadgrootheid IN? (dit zijn voorbeelden van evidente fouten en dus reden voor 2 sterren) of zijn stroompijlen niet recht of niet met dubbele lijnen ("overige kwaliteiten") of zonder "kraan" ("substantiële kritiek op primaire kwaliteiten") genoteerd?
Alleen dit soort inhoudelijke kritiek kan reden zijn om minder sterren toe te kennen. Geef duidelijke argumenten en pas de beslisboom correct toe.

Verwijzing naar de Q&A

Mag in de tekst verwezen worden naar de Q&A van de wiki, zonder naar een concreet punt te verwijzen? Onze voorgangers geven zelf geen toelichting over dit punt en verwijzen alleen maar. Is dit toegestaan?

Je mag naar iedere bron verwijzen, mits er een goede bronvermelding bij staat (in dit geval dus de URL van de Q&A in APA-stijl). Mooier is natuurlijk om wat er in de Q&A staat te verwerken in het verslag. In dat geval is het, omdat het een onderwijssituatie is en de Q&A onderdeel is van het lesmateriaal, niet per se nodig een bronvermelding op te nemen, al kan dat nooit kwaad natuurlijk.

Algemene modelleervragen

Onderzoeksvraag

Mag je bij "... gegeven x, y en z" veronderstellen dat die gegeven grootheden constant zijn?

Indien er geen reden is om aan te nemen dat exogene grootheden dynamisch zijn, dan mag je veronderstellen dat ze constant zijn tijdens een run.
Het is wel de bedoeling dat je ze opneemt in het experimenteel ontwerp, dus van run tot run kunnen ze wel een andere waarde krijgen.
Bij sommige vraagstukken wordt expliciet aangegeven welke exogene grootheden tijdsafhankelijk zijn en daarom bij de operationalisatie (estafettestap 2) als een functie van de tijd moeten worden gedefineerd, d.w.z. x = f(t) (zie Functievoorschrift).

De casus vraagt een probabilistisch model en in de onderzoeksvraag wordt naar een kansverdeling gevraagd. Als wij in de vergelijkingen al weergeven welke kansverdeling gebruikt moet worden, geven wij al antwoord op de onderzoeksvraag. Wat wordt hier bedoeld?

Als in de onderzoeksvraag naar een kansverdeling wordt gevraagd (zoals "Wat is de kansverdeling van de wachttijd?"), wordt een empirische verdeling bedoeld: een verdeling die is gebaseerd op de uitkomsten van het model.
Stel dat dit de berekende wachttijden zijn in minuten (op grootte gesorteerd): 1,3; 1,5; 1,5; 1,9; 2,1; 2,3; 2,7; 3,1; 3,9; 4,4.
Dan kun je bijvoorbeeld een histogram maken voor de wachttijden binnen intervallen [0, 1>, [1, 2>, [2, 3>, [3, 4> en [4, 5>, die respectievelijk 0%, 40%, 30%, 20% en 10% hoog zijn.

Wanneer wij een reeks uitkomsten hebben, welke functie in Excel kan dan worden gebruikt om hier een kansverdeling uit te halen?

Daar is geen functie voor in Excel. Het is dan de bedoeling dat je de empirische verdeling laat zien in een histogram zoals beschreven in de vraag hierboven. Lees deze tekst hier op de wiki.

Modelschema

Hoe kunnen wij het onderscheid tussen invoervariabelen en interne variabelen het best zien?

Een interne variabele wordt door het model berekend op basis van de gekozen waarden van de invoervariabelen. De invoervariabelen zélf worden door het model niet veranderd.
Als je bijvoorbeeld een discretetijdmodel maakt om te bepalen hoe lang het duurt om water aan de kook te brengen om thee te zetten, zijn de begintemperatuur van het water en het vermogen van de waterkoker invoervariabelen, zijn de temperatuur van het water op een bepaald moment (die dus door het model berekend wordt) en de verstreken tijd interne variabelen, en is de tijd die nodig is om 100 °C te bereiken (die dus ook berekend wordt) de uitvoervariabele.

Moet je in het modelschema al stochasten zetten of pas in de modelvergelijkingen?

Een stochastische variabele hoort in het modelschema te staan. Schrijf je in een vergelijking bijvoorbeeld:
A = 123 + B / U(1, C)
dan is U(1, C) wel stochastisch, maar geen variabele maar een "anoniem" toevalsgetal uit een uniforme kansverdeling, vergelijkbaar met de "anonieme" constante 123: die vermeld je ook niet in het modelschema. De parameter C is wél een variabele die in het modelschema moet staan.
Noteer je deze vergelijking als twee aparte, dus bijvoorbeeld:
A = 123 + B/D
D ~ U(1, C)
dan is D een stochastische variabele, en hoort daarom in het modelschema te staan.

Als om een kans of een kansverdeling wordt gevraagd, worden dat dan uitvoervariabelen in het modelschema?

Als je een modelvergelijking voor een gevraagde kans p opneemt in je operationele model (bijvoorbeeld p = ΣtXt/N bij een simulatietijd van N tijdstappen), dan wordt daarmee p een uitvoervariabele, en die hoort dan als zodanig in je modelschema te staan.
Een kansverdeling is zelf geen variabele, maar een eigenschap van een stochastische variabele. Die stochast is dan een uitvoervariabele van je model.
N.B. Uitvoervariabelen zijn per definitie "de variabelen waarvan je de waarden wilt zien", dus ook de variabelen die volgens de opdracht je in een grafiek moet weergeven zijn uitvoervariabelen.

Systeemschets

Mag je in de systeemschets gebruik maken van een legenda of moet alles in de schets zelf staan?

Een systeemschets moet direct herkenbaar zijn, dus zou er geen legenda nodig moeten zijn (een legenda is nodig voor symbolische representatie, en afgezien van de tekst van de labels hoort een systeemschets geen symbolische elementen te bevatten).

Onze voorganger heeft de systeemschets niet in het Powerpoint-document gezet. Daardoor kunnen wij die niet aanpassen of checken over de bronvermelding klopt. Heeft dit gevolgen voor de beoordeling?

Het indienen van een diagram in een formaat dat je kunt aanpassen is een service die je biedt aan je opvolger. Het is wenselijk dat je dat doet, maar geen essentieel onderdeel van de opdracht. Het is dus ook nog steeds toegestaan om bijvoorbeeld een foto van een handgetekend diagram te gebruiken, of een afbeelding gemaakt m.b.v. een ander tekenpakket. Dat geldt ook voor systeemschetsen.

Conceptueel model

Kan ik meerdere modellen opnemen in het conceptuele model?

Is het mogelijk om meerdere modellen, zoals een voorraad-stroomdiagram, toestandsdiagram en cybernetisch model, op te nemen in de conceptualisatie van het systeem?

De genoemde modellen kunnen ieder afzonderlijk voldoende zijn als conceptueel model, maar je conceptuele model moet alle concepten en onderlinge relaties weergeven die volgens jou van belang zijn voor het beantwoorden van de onderzoeksvraag. Het kan dus goed zijn dat je meerdere diagrammen nodig hebt in je representatie van je conceptuele model.

Is een causalerelatiediagram / toestandsdiagram / voorraad-stroomdiagram verplicht?

Nee. De conceptualisatie moet alle concepten en onderlinge relaties weergeven. Als dat kan met één type diagram, is het niet nodig er meer op te nemen. Mocht dat het gekozen conceptuele model erg verduidelijken, dan mag het uiteraard wel.
Wanneer gevraag wordt een cybernetisch model te construeren, is het niet verplicht dit ook te tekenen. Het kan duidelijk zijn om een plaatje toe te voegen (en dan een op de casus toegespitst plaatje, niet van het standaard CM), maar noodzakelijk is dit niet: het kan ook duidelijk in tekst weergegeven worden (zie het voorbeeld bij de instructies voor Stap 1).

Gevraagd wordt om een dynamisch model. Moet een CRD dan altijd een feedbacklus bevatten?

Nee. De dynamiek kan ook een "externe" oorzaak hebben. Denk bijv. aan de dag-nachtcyclus die voor een dynamische opwekking van elektriciteit door een zonnepaneel zorgt. Maar ook een grootheid waarvan de waarde niet varieert (bijv. de valversnelling) kan voor dynamiek zorgen. De snelheid van een vallend voorwerp neemt immers per tijdstap toe.
Kenmerk van een dynamisch model is dat het de toestandsverandering van het systeem in de loop van de tijd laat zien. Wat die verandering veroorzaakt kan van model tot model heel verschillend zijn. Daarbij kan een feedbacklus een rol spelen, maar dat hoeft niet.
Omgekeerd geldt wel altijd dit: Als een CRD een feedbakclus bevat, dan beschrijft het een dynamisch systeem.


Moet je in een conceptueel model ook natuurconstanten opnemen?

Je conceptuele model moet alle relevante grootheden in het systeem benoemen. Het maakt niet uit of ze constant zijn of van waarde kunnen veranderen. Natuurconstanten zoals bijv. de valversnelling zijn grootheden die meestal niet expliciet als "gegeven" in de onderzoeksvraag worden vermeld, maar wel relevant kunnen zijn en dan dus in je model benoemd moeten worden.
N.B. Wiskundige constanten zoals π zijn geen natuurconstanten, dus die laat je weg.

Alle concepten en relaties in een toestandsdiagram?

Wij hebben voor een toestandsdiagram gekozen, en het wordt daarin heel onoverzichtelijk om alle grootheden toe te voegen. Op de wikipagina wordt niet echt goed duidelijk hoe dit moet met de toestandsdiagram. Moeten alle grootheden uit de systeemschets aangegeven worden in het toestandsdiagram?

Je conceptuele model moet alle concepten en onderlinge relaties weergeven die volgens jou van belang zijn voor het beantwoorden van de onderzoeksvraag. Als dit niet duidelijk kan in een toestandsdiagram, dan is een toestandsdiagram in dit geval blijkbaar niet voldoende als conceptueel model (dat geldt wel vaker voor een toestandsdiagram overigens). Je zult daarnaast dus nog een andere representatie moeten gebruiken.

Moet je bij grootheden in een conceptueel model aangeven of het om een kans of een kansverdeling gaat?

In een VSD of CRD of systeemschets horen alleen grootheden te staan. Kansverdelingen zijn geen grootheden -- probeer maar: "De kansverdeling van het aantal lekke banden neemt toe." is geen correcte en betekenisvolle Nederlandse zin, maar "Het aantal lekke banden neemt toe." is dat wel.
Voor "kans" ligt dat anders: kansen zijn wel grootheden: "De kans op een lekke band neemt toe." is wél een grammaticaal correcte en betekenisvolle zin. Vandaar dat je in een VSD regelmatig kansen zult zien staan, vaak als exogene grootheden omdat kansen vaak als gegeven moeten worden beschouwd. Maar let op: ze kunnen ook endogeen zijn. Wanneer bijvoorbeeld gegeven is dat een kans lineair toeneemt, kun je die als een voorraadgrootheid weergeven met een constante instroom.
Een kans kan zelfs de uitvoervariabele zijn. Bij een probabilistisch model bepaal je kansen o.b.v. replicaties, dus door het model een (groot) aantal keren door te rekenen. Dat geeft dan een kansverdeling. Met een kans wordt de kansverdeling op een binaire variabele bedoeld, waarbij 1 weergeeft dat de gebeurtenis waarvoor de kans moet worden bepaald tijdens de modelrun optreedt. In zulke gevallen is het beter om in je conceptuele model die binaire grootheid op te nemen (bijv. "lekke band JA/NEE"). Op die manier maak je ondubbelzinnig duidelijk dat je model straks óf een 1 óf een 0 als uitvoerwaarde moet hebben.

Is het toegestaan om een aantal met # weer te geven in een conceptueel model (systeemschets, CRD, VSD)? Bijvoorbeeld # wachtende klanten?

Het teken # (dat inderdaad voor "aantal" staat) gebruiken we om eenheden te noteren wanneer het gaat om dimensieloze grootheden die een aantal aangeven. Zie deze uitleg m.b.t. dimensieanalyse.
Datzelfde teken gebruiken in de naam van een grootheid zou tot verwarring kunnen leiden. Noteer de grootheid "aantal wachtenden" daarom niet als "# wachtenden". Het gebruikelijke symbool voor een grootheid die een aantal voorstelt, is n. In een operationeel model kun je het aantal wachtende klanten dus bijvoorbeeld noteren als variabele nk. Noteer de eenheid van grootheden die aantallen zijn wél als #, of liever nog als #klant (dus met datgene wat je telt als subscript).
Hou dus goed uit elkaar:
  • de naam van de grootheid zelf (bijvoorbeeld "aantal wachtenden");
  • het symbool dat je ervoor gebruikt (bijvoorbeeld nk);
  • de eenheid die je ervoor gebruikt (in dit geval dus #klant).

Cybernetisch model

Kan een cybernetisch model gebruikt worden als systeemschets?

Het diagram van het cybernetische model dat op de wiki staat, is te schematisch om te gebruiken als systeemschets.
Je kunt de systeemschets wel baseren op dat diagram, maar dan moeten alle onderdelen worden vervangen door direct herkenbare afbeeldingen.

Kan een cybernetisch model in stap 1 worden gebruikt in plaats van een causalerelatiediagram, voorraad-stroomdiagram of toestandsdiagram?

Het cybernetische model is een conceptueel model, want het is een representatie van een systeem waarin je concepten en hun onderlinge relaties weergeeft die volgens jou van belang zijn voor het beantwoorden van de onderzoeksvraag. Maar je kunt er meestal niet alle concepten en relaties die van belang zijn goed in kwijt, dus het kan geen causalerelatiediagram, voorraad-stroomdiagram of toestandsdiagram vervangen. Die diagrammen zijn óók conceptuele modellen, maar laten op een andere manier concepten en relaties in het systeem zien. Een cybernetisch model kan dus wel als aanvulling gebruikt worden, vooral om het deel van het systeem weer te geven dat voor de regeling zorgt, maar dat is bijna nooit genoeg om het hele conceptuele model te representeren.
Als je een cybernetisch model gebruikt, is het niet voldoende om het plaatje van de wiki rechtstreeks over te nemen. Je zult het dan moeten aanpassen door de gegeven termen specifieker te maken (in het geval van een thermostaat kunnen "werkelijke uitvoer" en "gewenste uitvoer" bijvoorbeeld "gemeten temperatuur" en "gewenste temperatuur" worden; "comparator" wordt dan "thermostaat").

Voorraad-stroomdiagram

Mogen er meerdere stromen één voorraad ingaan? Dus meerdere instroompijlen naar een rechthoek, met maar één uitstroompijl?

Dat mag, bijvoorbeeld als die stromen een verschillende oorzaak hebben. Zo kun je bij een stuwmeer van een pompcentrale op hetzelfde moment waterinstroom hebben door de pomp én door instromende riviertjes. Die stromen kunnen onafhankelijk van elkaar toe- of afnemen, dus dat kan in het VSD het best met twee pijlen weergegeven worden. Ook twee of meer uitgaande pijlen mag, overigens – zie dit voorbeeld hier op de wiki.

Ik moet in mijn model het totaal berekenen van twee voorraadgrootheden. Hoe geef ik dat aan in het VSD?

Stel dat je je voorraadgrootheden A en B hebt genoemd, en dat je het totaal dat je wilt berekenen C noemt. Teken C dan als een informatiegrootheid (dus geen rechthoek!), en teken een informatiepijl vanuit A naar C en ook zo'n pijl vanuit B naar C. Beide pijlen label je met een +. In de toelichtende tekst leg je uit dat het om een optelling gaat (voor zover dat niet al blijkt uit de naamgeving van C).

Hoe geef je in een VSD de initiële waarde van een voorraadgrootheid weer?

Niet. De initiële waarde van een voorraadgrootheid introduceert immers geen nieuwe grootheid in de zin van "een nieuwe eigenschap van het systeem". Bij operationalisatie heb je ook geen extra symbool nodig. Als een voorraadgrootheid in het operationele model variabele G wordt, dan geeft G0 die grootheid op t=0 weer. De standaard beginwaarde voor voorraadgrootheden is 0. Als je de initialisatie expliciet wilt weergeven doe je dat d.m.v. een vergelijking direct voorafgaand aan de differentievergelijking, bijv. G0 = 123, gevolgd door Gt+Δt = Gt - Bin(Gt, p).
N.B. In Vensim kun je de initialisatie wel grafisch weergeven, maar dat is een kunstgreep t.b.v. het kunnen doorrekenen van het model. Gebruik deze mogelijkheid dus niet! Bij implementatie in Excel kun je de beginwaarde invullen op de rij die correspondeert met t=0.

Tijdsafhankelijke exogene grootheden als functies weergeven

Als in de onderzoeksvraag wordt gesteld dat bepaalde grootheden gegeven zijn, dan zijn die exogeen. Maar als je tijdsafhankelijke variabelen als functies van tijd t moet weergeven, dan zijn die variabelen endogeen. Hoe zit dat?

Bij operationalisatie van een dynamische exogene grootheid kun je kiezen: óf je geeft die grootheid weer met een gegevensverzameling óf je geeft hem weer met een tijdsafhankelijke functie f(t). In het oorspronkelijke causalerelatiediagram of voorraad-stroomdiagram zal deze grootheid dan geen ingaande pijlen hebben. Als je hem operationaliseert m.b.v. een vergelijking, bijv. Xt = a·cos(b·t), dan is Xt inderdaad wél endogeen. Wat dan exogeen wordt zijn de parameters in het functievoorschrift, dus hier worden a en b invoervariabelen van het model. Die variabelen staan dan natuurlijk wel voor specifieke grootheden: in dit geval is a de amplitude van de fluctuatie in X terwijl b proportioneel is met de frequentie van de fluctuatie.
Kies je voor operationalisatie in de vorm van een functievoorschrift met parameters, dan is het wenselijk dat je de parametergrootheden ook opneemt in je conceptuele model(len). De oorspronkelijke endogene grootheid zal dan ingaande pijlen krijgen en op die manier endogeen worden.

Hoe stel ik de vergelijking van een "afgekapte" sinusfunctie op?
Bij een vraagstuk moet je schommelingen in exogene variabelen geïdealiseerd weergeven m.b.v. een optelling van (co)sinusfuncties met verschillende amplitudes en periodes, waarbij je waarden < 0 opvat als 0. Hoe zet je dat in een modelvergelijking?

Maak eerst een modelvergelijking die het gewenste "grillig" flucturerende gedrag weergeeft. Je kunt zelf m.b.v een lijngrafiek in Excel nagaan of dat gedrag bij bepaalde parameterwaarden genoeg lijkt op het gedrag in de opgave.
Een functie die bestaat uit optelling van a·cos(n·t) zal periodiek symmetrisch om de tijdas "kronkelen". Door er een constante bij op te tellen kun je er voor zorgen dat hij hoger of lager t.o.v. de tijdas ligt.
Om er voor te zorgen dat de functiewaarde 0 is wanneer f(t) < 0 gebruik je een conditionele vergelijking (met grote accolade).

Dimensieanalyse

Moet je een tijd in een sinusfunctie ook meenemen in je dimensieanalyse?

Ja. Als je bijvoorbeeld de functie b·sin(c·t) hebt, moet c·t dimensieloos zijn. De grootheid c moet dus de dimensie tijd-1 hebben, ofwel een frequentie zijn.
Dit geldt voor meer wiskundige functies: ook het argument (= dat wat tussen haakjes staat) van een cosinus, of de exponent van een e-macht, moeten dimensieloos zijn.
(Dit is niet zo’n bekend gegeven; reken je voorgangers daar dus niet streng op af.)


Wij hebben een tijdsafhankelijke exogene variabele m.b.v. een functie geoperationaliseerd. Moeten we ook op die functie dimensieanalyse uitvoeren?

Ja. Lees de uitleg bij de voorgaande vraag en daarna dit voorbeeld. Wanneer je een flucturerende waterstand weergeeft als Wt = A·cos(2π·t / T), dan wordt Wt (in m t.o.v NAP) endogeen, en zijn de parameters A en T exogeen. Je moet dan laten zien dat A de amplitude (in m) van de fluctuatie in de waterstand weergeeft, en T (in h) de periode van de fluctuatie. Als de tijd t ook eenheid h heeft is de vergelijking dimensioneel correct.

Vroegste tijdstip bepalen waarop een conditie WAAR wordt

Hoe bereken je in Excel het tijdstip waarop bijv. de maximale snelheid bereikt wordt?

Eerst bereken je de hoogste snelheid m.b.v. de functie MAX. Als die snelheid bijv. in kolom H staat en rij 10 overeenkomt met t=0, dan is de Excelformule bijvoorbeeld =MAX(H10:H310) wanneer je in totaal 300 tijdstappen simuleert.
Daarna zoek je de "index" van die hoogste waarde in de kolom met snelheid m.b.v. de functie VERGELIJKEN.
Als je de waarde van vmax bijvoorbeeld in cel C3 berekent en de snelheid vt dus in kolom H staat met in rij 10 de waarde voor t=0, rij 11 voor t=1, enzovoorts t/m bijv. rij 310, dan gebruik je als formule =VERGELIJKEN(C3; H10:H310)
De indexwaarde die je krijgt is de positie van de gezochte waarde in de tijdreeks (in dit voorbeeld een getal tussen 1 en 300).
Het tijdstip is dan (deze indexwaarde min 1) maal de tijdstap Δt. De "min 1" is nodig omdat index 1 tijd t=0 aangeeft.

Hoe krijg je dan de waarde van een bepaalde variabele, bijvoorbeeld de verplaatsing, op dat tijdstip?

Als je de index hebt gevonden, dan zoek je in de kolom voor de verplaatsing de waarde die bij die index hoort m.b.v. de funtie VERSCHUIVING.
Staat de indexwaarde in cel C3 en de verplaatsing st bijvoorbeeld in kolom D (met in rij 10 weer de waarde voor t=0, rij 11 voor t=1, enzovoorts t/m rij 310) dan is de formule die de gezochte verplaatsing geeft =VERSCHUIVING(D15; C3-1; 0)
Je trekt dus 1 af van de index omdat 1 overeenkomt tijdstip met t=0.

In het voorbeeldmodel wordt een andere methode gebruikt om het tijdstip van een gebeurtenis te bepalen. Hoe werkt die?

Je kunt in Excel ook een extra kolom aanmaken waarin je als de conditie WAAR is de tijd zet en anders een lege string. Als de tijd t in kolom A staat dan is voor het hierboven gegeven voorbeeld de formule in de extra kolom voor rij 10 =ALS(H10=C$3; A10; ""). Als je deze formule hebt gekopieerd naar alle cellen in de extra kolom (dus rij 11 t/m 310) dan zie je in die kolom eerst een aantal schijnbaar lege cellen (de lege strings "") en vanaf het tijdstip waarop de hoogste snelheid wordt bereikt de tijd zoals die in kolom A staat. Het vroegste tijdstip bereken je dan door over die hele kolom (bijv. kolom K) het minimum te berekenen m.b.v. =MIN(K10:K310).

Regelmatig terugkerende gebeurtenis

Hoe geef je in vergelijkingen (en in Excel) weer dat een gebeurtenis met een vaste frequentie optreedt?

Als die gebeurtenis f keer per uur optreedt, dan betekent dat dat er tussen twee opeenvolgende gebeurtenissen steeds 1/f uur zit. Je kunt dat dan modelleren door behalve een binaire variabele (met 1 = "de gebeurtenis treedt op") een timer-variabele aan je model toe te voegen. Zo'n timer kun je dan zien als een voorraadgrootheid (in uren) die per tijdstap Δt uur afneemt. Op het moment dat die voorraad dan "op" zou raken is, vul je hem weer met de tussentijd 1/f. Zie Excel:Timer voor regelmatige gebeurtenis voor een voorbeeld.

Activiteit met variabele tijdsduur

Hoe geef je weer dat een activiteit binnen het systeem soms kort en soms ook lang kan duren?
Als bijvoorbeeld in een wachtrijmodel de bedieningstijd een stochast is, dan kun je dat niet meer eenvoudig weergeven door de tijdstap van je model gelijk te stellen aan de constante bedieningstijd. Hoe los je dit op?

Net als bij een regelmatig terugkerende gebeurtenis (zie vorige vraag) kun je dan een timer-variabele gebruiken. Op het tijdstip t dat de activiteit van start gaat bepaal je de duur d van die activiteit door een toevalsgetal uit de kansverdeling van de tijdsduur te trekken, en dan gebruik je de timer-variabele b om bij te houden of de bedieningseenheid "bezig" is.
Dus bijvoorbeeld dt ~ Tri(1, 10, 3) als de activiteit start, en 0 anders (dus een conditionele vergelijking met twee mogelijkheden), en dan bt+Δt = bt - Δt als bt > 0, en dt anders (dus ook een conditionele vergelijking met twee mogelijkheden). De bedieningseenheid is "bezig" zolang de timer-variabele b een positieve waarde heeft.
Denk goed na over wat de conditie "als de activiteit start" is. Bij een wachtrijmodel is dat als (1) er een nieuwe aankomst is, of de wachtrijlengte > 0 is, en (2) de bedieningseenheid vrij is. Als variabele a het aantal aankomsten weergeeft dan is die conditie dus at + wt > 0 ∧ bt ≤ 0.

Gevoeligheidsanalyse

Voor gevoeligheidsanalyse worden twee verschillende methoden gegeven. Hoe zit dat?

Volgens de wikipagina moet je zowel +10% als -10% veranderen. De voorbeelden op college en Brightspace veranderen alleen met +20%. Welke methode moet je gebruiken?

Het basisidee van gevoeligheidsanalyse is dat je wilt weten hoe je model reageert op een kleine verandering in 1 invoervariabele. Dat idee kun je op verschillende manieren uitwerken. De methode op de wikipagina is iets uitgebreider: door zowel effect van een kleine toename als het effect van een kleine afname te berekenen krijg je (samen met de basiswaarde) 3 waarden. Daaraan kun je dan zien of de verandering in beide richtingen evenredig is, en daaraan kun je zien dat het om een lineair verband gaat. Bij het Netto contante waarde-voorbeeld op de wiki is dat zo voor alle parameters behalve de discontovoet en de termijn.
De methode op de wiki is 2x zoveel werk, want je moet per invoervariabele 2 runs doen en de uitkomsten daarvan noteren. De methode die we aanbevelen voor de estafette is voldoende om te bepalen of het model gevoelig is. Of die gevoeligheid lineair is, is minder belangrijk om te weten.

Hoe doe je gevoeligheidsanalyse bij een dynamisch model?

Als een uitvoervariabele X tijdsafhankelijk is krijg je heel veel uitvoerwaarden Xt. Welke waarde moet je dan gebruiken om de vergelijking te maken met de uitkomsten van het basisscenario?

Bij een dynamisch model krijg je voor de uitvoervariabelen inderdaad tijdreeksen. De gevoeligheidsanalyse voer je daarom niet uit op deze reeksen, maar op de beschrijvende statistieken van die reeksen (laagste waarde MIN, hoogste waarde MAX, gemiddelde waarde μ en de standaarddeviatie σ). De voorbeeldmodellen die op BrightSpace staan laten zien hoe je in Excel die beschrijvende statistieken per uitvoervariabele berekent. Bij de gevoeligheidsanalyse kijk je dan hoeveel (%) elk van deze vier statistieken verandert wanneer je een invoervariabele 10% hoger maakt (of een ander niet te klein en ook niet te groot percentage).

Excel biedt verschillende functies voor standaarddeviatie. Welke moet je gebruiken?

Voor simulatiemodellen zoals je die bij dit vak maakt gebruik je STDEV.P.

Differentievergelijking

Wij gebruiken de differentievergelijking Nt+Δt = Nt–Δt + S·Δt, is dat correct?

Nee, want jullie gebruiken twee notatieversies door elkaar.
Een differentievergelijking:
drukt de huidige waarde van een variabele uit op basis van de waarde die deze variabele in de vorige tijdstap had:
xt = f(xt-Δt)
of (wat wis- en natuurkundig op hetzelfde neerkomt):
drukt de waarde van een variabele in de volgende tijdstap uit op basis van de huidige waarde van die variabele:
xt+Δt = f(xt)
Zowel links als rechts van het =-teken moet dus expliciet verwezen worden naar de bedoelde tijdstap.
Zie hiervoor ook de wiki-pagina over het discretetijdmodel.

Poisson-verdeling

Ik gebruik de Poisson-verdeling en heb de kansverdeling opgesteld voor de aankomstfrequentie, in de volgende vorm: P(fA=k) = (fAk/k!) · (e-k ).

Dit is inderdaad de bijbehorende verdeling, maar daarmee kun je geen Poisson-verdeelde toevalsgetallen genereren.
Zie hiervoor vooral het overzicht dat op de wiki staat om stochasten te genereren: Excel:Kansverdelingen.

Replicaties

In een probabilistisch dynamisch model hebben we in iedere tijdstap uitvoervariabelen. We nemen aan dat ook dan weer replicaties moeten worden uitgevoerd, maar dan voor alle tijdstappen. Hoe implementeren we dit in Excel?

Bij een probabilistisch model kun je gebruikmaken van beschrijvende statistieken. Zo kun je bijvoorbeeld het minimum, maximum en gemiddelde van de tijdreeksen bepalen. Maar omdat iedere run van je model weer andere getallen oplevert, moet je vervolgens van deze beschrijvende statistieken weer de beschrijvende statistieken gebruiken.
Als je bijvoorbeeld bij één run het minimum, maximum en gemiddelde van een tijdreeks berekent, moet je over alle replicaties dáár weer het gemiddelde van nemen, dus: het gemiddelde van de minima, het gemiddelde van de maxima en het gemiddelde van de gemiddelden.
Zie ook de pagina over het experimenteel ontwerp en Bestand:TB112-replicaties.pdf, waarin wordt uitgelegd hoe je snel veel replicaties kunt maken.
Vaak gedraagt een model zich aan het begin nog even wat anders dan later, omdat de variabelen zich nog wat moeten aanpassen — dan kun je de de eerste zoveel tijdstappen uit de statistieken laten. Soms is een minimum of maximum niet zo zinnig, omdat een variabelewaarde blijft toenemen. In dat geval kun je bijvoorbeeld de stijging zelf (de toename gedurende een bepaalde tijd) gebruiken voor de statistiek.

Moet je alle beschrijvende statistieken implementeren in Excel, óók als de uitvoervariabele een binaire variabele is?

Bij een probabilistisch model moet je altijd beschrijvende statistieken berekenen. Bij binaire uitvoervariabelen lijken MIN en MAX niet echt relevant, maar je kunt er wel mooi mee controleren of de uitvoervariabele überhaupt wel van waarde verandert.
De standaarddeviatie σ is veel minder interessant dan het gemiddelde μ (want dát is de benadering van de kans p waar je naar op zoek bent), maar toch geeft die σ informatie. Theoretisch (d.w.z. wiskundig afgeleid) is de standaarddeviatie van Bin(N, p) gelijk aan √(p·(1-p)/N). Bij een binaire variabele met kans p op een 1 is N=1, dus is de standaarddeviatie in theorie √(p·(1-p)). Dit betekent dat je, als je het gemiddelde (over alle replicaties) μ van de binaire uitvoervariabele als kans p ziet, kunt checken of de waarde √(μ·(1-μ)) inderdaad dicht in de buurt zit van de standaarddeviatie (over alle replicaties) σ van de binaire uitvoervariabele. Net als MIN en MAX geeft dus ook σ informatie over of de uitvoer van je replicaties "klopt".

Onze grafieken met gemiddelde μ en σ over steeds meer replicaties convergeren niet. Hoe kan dat?

Dat gebeurt typisch als je formule voor de berekening van het gemiddelde niet het juiste celbereik aangeeft.
Stel dat je in kolom R je uitvoerwaarde per replicatie hebt staan, en het gemiddelde over 1, 2, ..., N replicaties in de kolom S daarnaast berekent. Als je data in bijv. rij 5 begint, dan staat in cel S5 de formule =GEMIDDELDE(R$5:R5), in cel S6 dan =GEMIDDELDE(R$5:R6), enzovoorts (dus het celbereik wordt steeds 1 rij groter).
Twee fouten zijn snel gemaakt: Je kunt het dollarteken in R$5 zijn vergeten, of je kunt in plaats van de dubbele punt een puntkomma hebben gebruikt (dus =GEMIDDELDE(R$5;R6)). Beide notaties zijn geldig in Excel, maar geven een heel andere uitkomst dan bedoeld.

Histogrammen in verslaglegging

Moet je, als om een kansverdeling wordt gevraagd, bij elk experiment ook een histogram in je verslag opnemen?
Wij hebben een experimenteel ontwerp met 10 experimenten, en dan is 10 grafieken maken niet alleen veel werk, maar wordt het verslag ook erg lang.

Aparte histogrammen zijn niet nodig wanneer de kansverdelingen allemaal ongeveer dezelfde vorm hebben (en dat is meestal het geval). Het is dan voldoende om dat expliciet te vermelden (met verwijzing naar het histogram dat in §3 staat), en dan in de overzichtstabel voor elkk experiment de vier beschrijvende statistieken te laten zien. Uit die μ, σ, MIN en MAX kun je dan al opmaken hoe de vorm verandert: lagere MIN en/of lager gemiddelde betekent bijv. dat de "bult" naar links verschuift, lagere standaarddeviatie dat de "bult" smaller is, hogere MAX dat de "staart" langer is.

Notatie in verslag

Moeten de Excel-formules in het verslag staan?

In het implementatiehoofdstuk staan geen formules zoals die in Excel zijn ingevoerd, alleen een doorlopende tekst. Is dit een essentiële fout?

Formules in het verslag moeten in het operationalisatiehoofdstuk in wiskundige notatie staan. Dus bijvoorbeeld
M ~ Bin(1, p),
waarbij dan wordt uitgelegd wat de kans p inhoudt, en niet
=BINOMIALE.INV(1;K14;ASELECT())
In het implementatiehoofdstuk kan het bij bijzondere vergelijkingen (zoals de implementatie van sommen m.b.v. VERSCHUIVING, of van kansverdelingen zoals hierboven) zinvol zijn om de Excelformule te geven. Dat is echter niet verplicht, dus geen essentieel onderdeel van het verslag.

Kan Excel ook afronden op een aantal significante cijfers i.p.v. een aantal decimalen?

Helaas niet. Alleen het aantal decimalen kun je regelen. Doe dat ook zodat de decimale punt of komma binnen de kolommen recht uitgelijnd staat en je daardoor goed kunt zien of getallen toenemen of juist afnemen.
Kies per variabele een geschikt aantal decimalen!
Vermeld in je verslaglegging eventueel de significantie, en noem dan ook de beperking van Excel op dit gebied.
N.B. Zo'n vermelding is dan heel zorgvuldig, maar niet verplicht dus geen reden om een lagere beoordeling te geven.

Voorkomen van kringverwijzing

Hoe voorkomen we een kringverwijzing in Excel?

Wanneer je een Excel-bestand opent en er verschijnt een waarschuwing dat er kringverwijzingen zijn aangetroffen, negeer die waarschuwing dan niet – je implementatie in Excel is dan fout. Excel laat je zelfs zien waar de fout zit: met blauwe stippen en pijlen worden de cellen aangewezen waar het mis gaat. Maak gebruik van die informatie!
Een "kringverwijzing" in Excel ontstaat als je in een formule in een cel verwijst naar de cel zelf, eventueel via andere cellen. Zoals wanneer er in een ALS-functie in C13 verwezen wordt naar E13, maar E13 gebruik maakt van de waarde van C13. Dan zou eerst de waarde van C13 bekend moeten zijn voordat de waarde van C13 bepaald kan worden, wat uiteraard niet mogelijk is.
Bijvoorbeeld wanneer je de bereidheid om in een rij te gaan staan berekent uit de nieuwe rijlengte, maar de nieuwe rijlengte ook wilt berekenen op basis van diezelfde bereidheid.
Dit kun je voorkomen door de één van de twee te baseren op de vorige waarde. In dit geval is het logisch om de nieuwe rijlengte te bepalen op basis van de vorige bereidheid. Je kunt het je als volgt voorstellen: de nieuwe rijlengte is het resultaat van de oude rijlengte en de bereidheid die er op dat moment (in de vorige tijdstap dus) was. De nieuwe bereidheid (die weer zal gelden tot de volgende tijdstap) volgt uit de nieuwe rijlengte.

Is een differentievergelijking niet altijd cyclisch?

Nee, zeker niet. Een differentievergelijking stelt immers dat de waarde van een variabele X voor tijdstip t+Δt (dus het volgende tijdstip) gelijk is aan de waarde van X voor tijdstip t (het huidige tijdstip) plus ( (instroom op tijdstip t min uitstroom op tijdstip t) maal de duur van 1 tijdstap).
Bij implementatie in Excel moet je zorgen dat elk tijdstip een eigen rij heeft. Als je de formule voor Xt+Δt dan bijv. in rij 20 zet, dan wordt (als je het correct doet) in die formule alleen verwezen wordt naar cellen in rij 19 (het vorige tijdstip t dus) of naar vaste parameters (celreferenties die je vastzet met $, dus bijv. C$5).

Excel wordt traag

Excel doet er heel lang over om het model te laden / door te rekenen / op te slaan. Wat kan ik daaraan doen?

Excel wordt traag wanneer het heel veel berekeningen moet doen. Probeer daarom altijd om je model niet groter te maken dan nodig is:
  • niet meer tijdstappen dan nodig;
  • bij een probabilistisch model: niet meer replicaties dan nodig.
Als je model dan nog steeds veel rekentijd vraagt, dan kun je het automatisch doorrekenen uitzetten. Normaal rekent Excel na elke wijziging het model door. In het hoofdmenu Formulas vind je de optie Calculation Options waarmee je Excel zo kunt instellen dat het alleen formules berekent nadat je op functietoets F9 drukt (Manual) of dat Excel het model wel doorrekent maar niet de datatabel met replicaties (Automatic Except for Data Tables).
Let op: Als je het automatisch doorrekenen uitzet, geef dat dan duidelijk aan in het werkblad (bijv. met links bovenaan de tekst "LET OP: Automatisch doorrekenen staat UIT. Druk op F9 om door te rekenen") zodat anderen die met jouw model moeten werken snappen waarom het model niet lijkt te reageren op veranderingen in invoervariabelen.

Inhaalestafette

Vraagstuk A – Aanstekelijk gehoest

Mag je de kans op hoesten als een voorraadgrootheid weergeven?

Een kans is een grootheid (een kansverdeling niet!) en als een grootheid kan toenemen en/of afnemen en niet negatief mag worden dan kun je hem als een voorraadgrootheid zien en de toename/afname weergeven als in- en uitstroom. In dit geval dus JA: elke keer dat er gehoest wordt stroomt er wat in, en elke tijdstap waarin er niet gehoest wordt stroomt er wat uit (mits de kans nog groter is dan de gegeven basiskans).

Vraagstuk B – Blinde hoek

Draait de docent verder als er nog vragen in het kwadrant zijn, of draait deze pas als alle vragen in het kwadrant beantwoord zijn?

De onderzoeksvraag maakt duidelijk dat de draaifrequentie f gegeven is, en ook de totale tijd tB (incl. looptijd van/naar het midden) die het kost om een vraag te beantwoorden. Je mag dan aannemen dat de kloktijd (t) na terugkeer in het midden bepaalt naar welk kwadrant de docent kijkt. Dat kan dus hetzelfde kwadrant zijn, maar ook (zeker wanneer tB > 1/f ) een volgend kwadrant (of zelfs 2 of 3 kwadranten verder).

Moet het VSD 4 vooraden voor ieder kwadrant hebben, of mag je 1 voorraad tekenen en in de toelichting zeggen dat deze keer 4 moet?
Anders wordt mijn VSD een spaghettidiagram waar Ockham niet meer met zijn mes doorheen komt...

Inderdaad is het bij systemen die een aantal gelijke subsystemen bevatten prima om de werking van één zo'n subsysteem weer te geven, en dan in de toelichting helder uiteen te zetten hoe die overige subsystemen in het geheel passen.

Hoe bepaal je de kansverdeling van de wachttijd van een student?

Omdat de kansverdeling van de wachttijd per student wordt gevraagd zou je eigenlijk je model zó moeten maken dat je per student die een vraag heeft bijhoudt op welk tijdstip die student een hand opsteekt en op welk tijdstip de docent de vraag van deze student beantwoord. Dat maakt het model behoorlijk ingewikkeld.
Een eenvoudiger (maar minder precieze) benadering is dat je per replicatie per kwadrant de gemiddelde wachttijd bepaalt, en dan van die gemiddeldes (4 kwadranten, dus 4 getallen per replicatie) de kansverdeling weergeeft in de vorm van een histogram.
De gemiddelde wachttijd per kwadrant (waarvan er dus 4 zijn) is dan de som (over alle tijdstippen t) van de lengte van de wachtrij in dat kwadrant op tijdstip t gedeeld door het totale aantal vragen dat in dat kwadrant is gesteld.
Je model heeft dus alleen al voor de wachttijdbepaling 4 uitvoervariabelen. Voer je bijv. 200 replicaties uit dan heb je een dataset van 200x4 = 800 getallen. Door die in één histogram weer te geven krijg je een beeld van de gemiddelde wachttijd per student.

Vraagstuk C – Campuskaart checken

Het prercentage studenten die geen identiteitsbewijs bij zich hebben, is dat een groep die al voor de check bij de hoofdsurveillant de zaal verlaat bij het krijgen van rood licht, of wordt daarmee de groep bedoeld die na controle door de hoofdsurveillant niet mag deelnemen aan het tentamen?

Mijn interpretatie van de tekst zou zijn: mensen zonder (functionerende) collegekaart gaan in de rij staan voor de hoofdsurveillant. Wanneer die dan om een legitimatiebewijs vraagt blijkt pas of de student de zaal moet verlaten (en dat impliceert dat de student de zaal dus wel is binnengegaan maar niet naar een tafeltje mag lopen).
Zou je aannemen dat een deel van de studenten zonder ID dat al meteen bedenken en spontaan weggaan, dan moet je daarvoor een extra parameter toevoegen ("fractie die bedenkt dat ze geen ID bij zich hebben") en die staat niet in het lijstje van gegeven grootheden.

Vraagstuk D – Dringen bij de deur

Vraagstuk E – Eén tegelijk!

Vraagstuk F – Flinke loopafstand!

Estafette B

Vraagstuk A – Afhandeling van grote vrachtwagens

Wij krijgen bij het implementeren negatieve waarden voor de wachtrij en ook voor het aantal doorgezette vrachtwagens. Hoe kan dat?
Wij hebben als invoervariabele de aankomstfrequentie f, aantal platforms NP, en lostijd λ. Als tijdsafhankelijke variabelen hebben we: aantal aankomsten A, aantal wachtende vrachtwagens W, aantal doorgezette vrachtwagens D, aantal bezette platforms B en aantal vertrekkende brachtwagens V. Het gekke is dat D en W bij ons negatief worden. Hoe lossen we dat op?

Check vooral eerst je modelvergelijkingen. W en B zijn voorraadgrootheden, dus daarvoor moeten differentievergelijkingen zijn opgesteld. A is dan de instroom in W, en D de uitstroom uit W, dus Wt+Δt = Wt + At − Dt. Voor de bezette platforms moet gelden: Bt+Δt = Bt + Dt − Vt.
A is Poisson(f·Δt)-verdeeld, dus dat geeft nooit een getal < 0. D moet ook altijd groter dan of gelijk aan 0 zijn: min(NP − Bt, Wt). Bij een stochastische lostijd zou je dan bijv. Vt ~ Bin(Bt, Δt/λ) dus een geheel toevalsgetal tussen 0 en het aantal bezette platforms.
Maar gegeven is dat de lostijd constant is. Mogelijk nemen jullie daarom aan dat de uitstroom V constant is, en dan kan die uitstroom er dus voor zorgen dat het aantal vrije platforms groter wordt dan NP en dat kan dan misschien wel gekke waarden gaan opleveren.
Je hebt daarom nog een hulpvariabele nodig: de "voorraad loswerk" uitgedrukt in tijd. Zodra een vrachtwagen wordt doorgezet komt er λ uur bij, en elke tijdstap gaat er Bt·Δt vanaf (elk bezette platform is immers "aan het werk" en verlaagt daarmee de "voorraad loswerk").
Die "voorraad loswerk" L is dan de voorraadgrootheid, en niet B. Je krijgt dan als differentievergelijking Lt+Δt = Lt + Dt·λ − Bt·Δt. Het aantal bezette platforms bereken je dan als Bt = ⌈Lt/λ⌉ (dus altijd naar boven afgerond, zie notatie van vergelijkingen).
Als je deze vergelijkingen netjes in Excel implementeert zou je geen negatieve waarden moeten krijgen.

Vraagstuk B – Bekeuring voor appen tijdens het fietsen

Hoe geef je de pakkans weer in een VSD?

Als een gebeurtenis X tijdens de simulatietijd (dus in één run) meer dan 1x kan optreden (bijv. elke appende fietser die langs komt kan aangehouden worden) dan is de gevraagde kans "aantal keer dat X gebeurt gedeeld door aantal keer dat X had kunnen gebeuren" (dus bij de fietsers: totaal aantal appende fietsers dat aangehouden wordt gedeeld door totaal aantal appende fietsers dat langskomt).
Als je het aantal "bezette" boa's als voorraadgrootheid neemt dan zal de totale instroom in die voorraad het aantal aangehouden fietsers zijn. Je zou dat totaal dus ook als een voorraadgrootheid kunnen zien, met een instroom die dan steeds hetzelfde is als de instroom in het aantal bezette boa's, maar zonder uitstroom.
De voorraadgrootheid "bezette boa's" heeft uiteraard wél een uitstroom, die mede afhankelijk is van de gemiddelde tijd die het kost om een proces-verbaal op te maken.

Hoe kun je bepalen aan welke boa je de appende fietsers die langskomen moet toewijzen?
Dat moet natuurlijk een boa zijn die nog niet bezet is, maar als je dat voor een team van 6 boa's moet doen wordt dat heel ingewikkeld. Hoe pakken we dit aan?

De eerste stap om dit probleem te vereenvoudigen is dat je het aankomstproces (← lees deze uitleg!) zó modelleert dat er per tijdstap hooguit 1 appende fietser aankomt. Dat kan prima als je maar een korte tijdstap neemt. Die moet flink korter zijn dan de kortste tijd die nodig is om een proces-verbaal uit te schrijven (dus neem bijv. Δt = 0,5 minuut of 0,01 h).
De tweede stap is dat je je aan de aanwijzing houdt: per boa een aparte "timer-variabele", bijv. b1,t tot en met b6,t. Die "timers" geven dan aan hoe lang de boa nog bezig is -- zie deze uitleg op deze Q&A. Alle bi,t (voor i = 1, ..., 6) zijn aanvankelijk 0.
Als er op tijdstip t een appende fietser langskomt (bijv. weergegeven door binaire variabele At) dan kun je je model zo maken dat die fietser bekeurd wordt door de eerste boa die niet nog bezig is. Het "nummer" van die boa is dan min({i: bi,t−Δt = 0}), d.w.z. de laagste waarde van i waarvoor geldt dat de ide boa in de vorige tijdstap beschikbaar was of beschikbaar kwam.
Je kunt dit ook oplossen door voor de ide boa (vanaf i = 2) te kijken of bj,t > 0 voor alle "eerdere boa's", dus voor j = 1 t/m i-1. Als dat dan zo is én bi,t−Δt = 0 (dus de ide boa is zelf niet bezet), dan krijgt bi,t als waarde de tijdsduur (volgens een gegeven kansverdeling) van deze nieuwe aanhouding+bekeuring.
De vergelijking voor bi,t is in beide oplossingen dus een conditionele vergelijking.

Mag je het operationele model ook versimpelen door de bezette boa's met maar één variabele weer te geven?

Je bedoelt zoiets als: Bt+Δt = Bt + (aantal nieuwe aanhoudingen in tijdstap t) − Bin(Bt, Δt/β) waarin β dan de gemiddelde duur van het bekeuren van één fietser is.
Ja, dat is ook een bruikbare oplossing, al maakt het je model beperkter doordat je dan niet met verschillende kansverdelingen voor de duur van het opmaken van proces-verbaal kunt experimenteren.

Vraagstuk C – Concurrentie tussen fietsenstallingen

Hoe geef je een locatie weer als grootheid?

Een locatie representeer je met twee grootheden, bijv. coördinaten X en Y (in m).
Bij dit vraagstuk heb je te maken met de gegeven locaties van de twee fietsenstallingen, en verder met de bestemmingslocatie van elke fietser (of groep fietsers) die aankomt.
In je operationele model geeft zijn de X en de Y van de bestemmingslocaties dan uniform verdeelde stochasten (want volgens het vraagstuk is elke locatie binnen de stad even waarschijnlijk als bestemming).

Hoe bepeaal je dan de instroom in een stalling?

Stel: aantal aankomende fietsers in een tijdstap is Ft ~ Poisson(Δt·φ) met φ de aankomstfrequentie.
Gegeven is: as er meer dan 1 fietser aankomt dan is het een groepje en mag je dat groepje als één geheel beschouwen.
Dat groepje van Ft fietsers parkeert dan in de dichtstbijzijnde stalling als daarin nog minstens Ft plekken zijn; zo niet, dan in de andere stalling als daar nog genoeg plek is, en anders parkeren ze niet in een stalling (dus dan geen instroom in stalling A en ook niet in stalling B).
Per aankomend groepje (dus als Ft > 0) bepaal je eerst de bestemming: FXt ~ U(0, L) en FYt ~ U(0, L) met L de lengte (= breedte) van de stad.
Als de stallingen resp. locatie (AX, AY) en (BX, BY) hebben, dan kun je eenvoudig bepalen of (FXt, FYt) dichter bij stalling A ligt of juist dichter bij stalling B. Doe dat met een conditionele verglijking st = { ... die 1 geeft als stalling A het dichtstbij is.
De instroom ΦA,t in stalling A is dan gelijk aan st·Ft als aantal vrije plaatsen in A ≥ Ft (en anders 0).
Als Ft > ΦA,t dan weet je: de fietsers zijn niet ingestroomd in stalling A, dus gaan ze naar stalling B, dus ΦB,t = Ft als Ft > ΦA,t én er nog genoeg plek is in stalling B (en anders 0).
Zo gaat het ook vanzelf goed als stalling B te weinig plek heeft: de instroom in stalling B is dan ook 0.

Vraagstuk D – Druk kruispunt

Mogen we aannemen dat de aankomstfrequentie constant is?

De aankomstfrequentie is typisch een invoervariabele, en die heeft tijdens een simulatierun een constante waarde. Je hoeft bij dit vraagstuk dus geen sinusfunctie of zoiets te gebruiken om drukkere en minder drukke periodes te simuleren.
Let wel op! Gevraagd wordt om een probabilistisch dynamisch model, dus het aantal fietsers dat per tijdstap aankomt bereken je als een toevalsgetal uit de Poissonverdeling. Lees dus vooral de pagina Aankomstproces nog eens.

Vraagstuk E – Eénrichtingsverkeer

Hoe formuleer je de tijd die het kost om tegen het verkeer in te gaan?
We denken aan zoiets als lstraat / vfiets + kans op afstappen · afstaptijd, maar we komen er niet uit.

Dit is niet de goede aanpak. Gevraagd wordt op een dynamisch model dat de rit tegen het verkeer in simuleert, en dan de tijdsduur om tot de bestemming halverwege de straat te komen vergelijkt met de tijd die het kost als je omrijdt. De voorbeeldgrafiek laat zien dat je per tijdstap de afgelegde afstand moet bepalen. Dat wijst op een voorraadgrootheid met als instroom de fietssnelheid maal de tijdstap, maar 0 als de fietser een tegenligger moet laten passeren.
De modelvergelijking van een voorraadgrootheid is dan per definitie een differentievergelijking. In dit geval is er geen uitstroom, dus krijg je iets als st+Δt = st + vt·Δt waarin vt de snelheid op tijdstip t weergeeft. Voor die snelheid moet je dan een conditionele vergelijking opstellen: vt = 0 als afgestapt of bij bestemming aangekomen, en vfiets anders.
Of de bezorger is afgestapt hangt dan af van de gebeurtenis "er komt een auto aan", en modelleer je met een aparte timer-variabele (zie de aanwijzing bij dit vraagstuk).
Of de bezorger bij de bestemming is aangekomen kun je zien aan de afgelegde afstand: dat is zo als st ≥ lstraat / 2.

Vraagstuk F – Fietsenstalling met drie verdiepingen

De verdiepingen zijn aparte voorraadgrootheden. Stromen fietser dan door eerdere verdiepingen heen als die vol zitten?

Voor elke verdieping is het aantal op die verdieping gestalde fietsen een vorraadgrootheid. Dat betekent dat je daarin niet de fietsers moet meetellen die op een verdieping doorrijden op zoek naar de eerste vrije plek. Zou je dat wel doen, dan verblijft zo'n "passant" toch gedurende een tijdstap in verdieping 1 en daarna mogelijk ook nog een tijdstap in verdieping 2 voordat hij op verdieping 3 belandt. Bij een korte tijdstap van bijv. 30 seconden is dat dan niet onrealistisch, maar bij langere tijdstappen geeft het aantal fietsers in een voorraadgrootheid dan niet het aantal gestalde fietsen weer en wordt de bezettingsgraad dus stelselmatig hoger dan hij in werkelijkheid is.
Je weet: aankomende fietsers vullen eerst de vrije plekken in verdieping 1 op, en gaan daarna pas zoeken op verdieping 2 of 3. Het aankomstproces genereert elke tijdstap een aantal nieuwe fietsers, en dat aantal moet je verdelen over de drie verdiepingen: instroom in verdieping 2 mag pas als verdieping 1 helemaal vol zit, en instroom in verdieping 3 pas als verdieping 2 helemaal vol zit. In een VSD heeft dan "aantal plekken per verdieping" een + pijl naar de instroom in een verdieping, terwijl vanuit de voorraad fietsen op die verdieping juist een − pijl naar de instroom gaat (want vol is vol). De instroom in verdieping 1 gaat af van het aantal aangekomen fietsers, en het aantal dat dan nog over is gaat naar de volgende verdieping. Zo ook voor verdieping 3.
Elke verdieping heeft dan uiteraard een uitstroom die de fietsers weergeeft die daadwerkelijk de stalling verlaten.

Vraagstuk G – GPS van slag

Volgens de onderzoeksvraag moeten we de invloed van de kansverdeling van de rijrichting op de gevraagde grootheden weergeven. Hoe doe je dat in een conceptueel model?

Goede vraag, want de rijrichting is N, O, Z of W en dat is geen ordinale schaal. Daardoor kun je niet eenduidig een &plus; of een − langs de beïnvloedingspijlen vanuit de grootheid "rijrichting" zetten.
De oplossing is in dit geval dat je de rijrichting als exogene grootheid ziet (het is immers een stochast) en dan de invloed ervan op de (X, Y)-positie van de auto (d.w.z. de invloed op twee grootheden: X en Y) met pijlen weergeeft die je dan met een vraagteken ? labelt.
Dat vraagteken geeft dan weer dat de invloed van de rijrichting op X resp. Y niet eenduidig is gedefinieerd. In je begeleidende tekst licht je dan toe hoe die beïnvloeding werkt (dus bijv. "Bij rijrichting N neemt Y toe en blijft X gelijk") en leg je uit hoe een kansverdeling voor het bereik van de grootheid "rijrichting" (dus de waardenverzameling {N, O, Z, W}) eruit zou kunnen zien.

Betekent een grotere tussenafstand van de straten dat de breedte van de wegen ook groter is?

Denk aan Ockham en verwaarloos de breedte van de weg (dus abstraheer een weg tot een lijn). Je kunt dan aannemen dat de "bloklengte" de tussenafstand plus 1 wegbreedte is.

Als de stad groter wordt dan wordt de gereden afstand waarschijnlijk ook groter, maar dat hoeft niet. Zet je dan toch een + langs de pijl van "stadsgrootte" naar "gereden afstand"?

Het is in dit geval beter om onderscheid te maken tussen het aantal bloklengtes dat de auto rijdt en de gegeven bloklengte (= afstand tussen straten). Je kunt de gereden afstand immers bepalen door per kruispunt een bloklengte (in m) in de voorraadgrootheid "afgelegde afstand" te laten stromen, maar je kunt evengoed een voorraad "gepasseerde kruispunten" hebben waar dan steeds 1 instroomt, en dan de afgelegde afstand laten beïnvloeden door dat aantal kruispunten en de bloklengte.
De instroom van de voorraadgrootheid wordt bepaald door de positie van de auto: zolang die niet aan de rand van de stad is komt er sowieso een bloklengte bij. Daarnaast moet je dan de positie van de auto bijhouden: die verschuift bij elk kruispunt aselect 1 bloklengte naar het Noorden, Oosten, Zuiden of Westen. Representeer de positie met twee grootheden, bijv. coördinaten X en Y (in m).
Let op: In een VSD geef je kansverdelingen niet als grootheden weer. Een kansverdeling is een eigenschap van een stochast, stochasten zijn variabelen, en variabelen geven grootheden weer. In een VSD zet je alleen de grootheden en hun onderlinge relaties, en zie je dus niet of een grootheid stochastisch is.

Hoe formuleer je een kansverdeling op de rijrichting?

Wat je nodig hebt is een discrete kansverdeling die per kruising bepaalt hoe groot de kans is dat de GPS "Noord" aangeeft, hoe groot de kans op "Oost" is, enzovoorts.
Stel dat Ri ∈ {N, O, Z, W} weergeeft wat de nieuwe rijrichting wordt bij de ide kruising die de auto passeert. De kansverdeling kun je dan noteren als een conditionele vergelijking waarin je o.b.v. dat toevalsgetal de rijrichting bepaalt: Ri = { (dus een grote accolade) met rechts daarvan, onder elkaar, deze vier opties:
N als ui < pN
O als ui < pN + pO
Z als ui < pN + pO + pZ
W anders
waarbij ui dan een toevalsgetal uit de uniforme verdeling is, dus:
ui ~ U(0, 1)
Verder moet dan gelden dat de som van de kansen pN + pO + pZ + pW = 1. Die kansen op N, O en Z zijn dan invoervariabelen die tussen 0 en 1 in moeten liggen. De kans op W is dan gelijk aan 1 min de som van de ingevoerde drie andere kansen.
Zo "rol" je dus als het ware 1x met een "dobbelsteen", en daarna kijk je welke richting bij de "worp" hoort.

Vraagstuk H – Halte met veel wachtende mensen

Volgens de onderzoeksvraag is de kansverdeling van de tussenaankomsttijd van de trams een gegeven. Hoe kan dat?
Een gegeven moet toch een invoervariabele worden? Bij een kans kan dat, maar hoe voer je dan een kansverdeling in?

Goede vraag! Het betekent dat je bij je operationalisatie ófwel je model verder beperkt (dat mag immers altijd -- binnen redelijke grenzen) ófwel m.b.v. een conditionele vergelijking bepaalt uit welke kansverdeling je een toevalsgetal trekt.
Bij de eerste aanpak beperk je je door bijv. alleen de MIN en MAX waarden van de tussenaankomsttijd als invoervariabelen kiest, en dan als kansverdeling kiest voor een uniforme verdeling U(MIN, MAX) of voor een symmetrische driehoeksverdeling Tri(MIN, MAX) of voor nog iets ingewikkelders als MIN + MAX·Bin(1000, 0.3)/1000 om kansverdeling met een "scheve bult" te krijgen. De gebruiker van je model kan dan nog wel de parameters MIN en MAX instellen, maar niet de vorm van de kansverdeling.
Bij de tweede aanpak voeg je een extra invoervariabele K toe die het "nummer" van de kansverdelingen die je in je model opneemt weergeeft. Zo kun je de gebruiker van je model bijvoorbeeld de keuze geven uit één van de drie hierboven genoemde kansverdelingen, en dan de tussenaankomsttijd TATi voor de ide tram berekenen als TATi = { ... (dus een grote accolade) met daarachter onder elkaar de drie opties, bijv.
U(MIN, MAX) als K = 1
Tri(MIN, MAX) als K = 2
MIN + MAX·Bin(1000, 0.3)/1000 anders
Je kunt bij dit vraagstuk zelf bepalen welke aanpak je volgt. Licht dat dan wel kort toe. Dat geldt voor beide gegeven kansverdelingen.
Tip: bij het aantal vrije zitplaatsen moet je uiteraard een discrete kansverdeling gebruiken. Bovendien kan het aantal vrije plaatsen nooit groter zijn dan het eindige aantal plaatsen in een tram. Dat wijst dan duidelijk in de richting van één bepaalde kansverdeling.

Estafette A

Vraagstuk A – Afzetten!

Vraagstuk B – Van bovenaan de boog naar de grond

Hoe geef je in een conceptueel model weer dat het kind niet verder meer afdaalt zodra het met de voeten op de grond staat?

Het handigste is dat je gebruik maakt van een binaire grootheid, bijvoorbeeld "voet aan de grond [JA/NEE]". Die wordt dan negatief beïnvloed door de grootheid "voethoogte" die dan uiteraard afhangt van de grootheden "handhoogte" en "lengte van kind".
Die binaire grootheid heeft dan weer een negatieve (!) invloed op de instroom in de voorraadgrootheid (in dit geval: het aantal sporten dat het kind is afgedaald). Want die instroom moet 0 zijn vanaf het moment dat het kind de grond raakt.
Je kunt het uiteraard ook omdraaien door de binaire grootheid "nog géén voet aan de grond [JA/NEE]" te noemen. Daarmee geef je weer dat die grootheid 1 is zolang het kind nog verder moet afdalen, en dan heeft de binaire grootheid juist een positieve invloed op de instroom in het aantal afgedaalde sporten.

Vraagstuk C – Cascade van water

Vraagstuk D – Draaitoestel aanduwen

Vraagstuk E – Evenwichtstoer

In de gegeven modelvergelijkingen komt de lengte van de wipwap niet voor. Moeten we die dan wel gebruiken?

Ai, jullie hebben gelijk, die lengte had er beter wel in kunnen staan.
Je hoeft het gegeven dat een wipwap niet oneindig lang zal zijn niet te gebruiken, maar het is natuurlijk beter als je dat toevoegt.
De modelvergelijking voor de afstand van een kind vanaf het midden van de wipwap wordt dan:
sB,t+Δt = min(L/2, sB,t + BB,t·v·Δt)
waarin de invoervariabele L dan de lengte representeert. Zo kan de verplaatsing van kind B niet groter worden dan een halve wipwaplengte.
Voor kind A moet je dan uiteraard ook het naar boven schuiven op deze manier modelleren.

Als wij kind B massa 50 kg geven, dan geeft het model de foutmelding #REF! in cel H4. Is dat een fout in het model?

Nee, niet echt. Excel geeft die melding doordat tomklap 0 is (er vindt geen omklap plaats) en dus het aantal tijdstappen in cel L3 nul is. Die cel L3 wordt gebruikt in cel H4 om het gemiddelde van kolom H te bepalen over het in cel L3 berekende aantal tijdstappen: =AVERAGE(OFFSET(H11;0;0;L3;1)). Doordat L3 nul is geeft Excel de melding #REF! om aan te geven dat een bereik van 0 rijen niet bruikbaar is om een gemiddelde over te bepalen.
Probeer je de situatie voor te stellen: als kind B zoveel zwaarder is dan kind A, dan is de lengte van 4 meter te kort voor kind A om genoeg hefboomwerking te krijgen om kind B op te tillen. Maak je kind A ook wat zwaarder, of zet je kind B dichter bij het kantelpunt (bijv. sB,0 = 0,2) dan werkt het model wel weer goed. Dat lukt ook als je de wipwap langer maakt (bijv. 10 m).
Dat je een foutmelding krijgt betekent dus niet dat het model niet goed werkt. Het is wel een beperking van het model qua "gebruiksvriendelijkheid": de standaardfoutmelding #REF! is niet erg informatief. Het zou mooier zijn wanneer je in cel H4 de foutmelding voorkomt door in H4 bijv. deze formule te zetten:
=IF(L3<=0;"Geen omklap!";AVERAGE(OFFSET(H11;0;0;L3;1)))

Vraagstuk F – Filmpje faalt...

Vraagstuk G – Glijbaan

Gevraagd wordt om een dynamisch model. We hebben een CRD opgesteld maar daar zit geen lus in. Is dat fout?

Nee. De dynamiek van het systeem volgt uit de valversnelling. In het CRD geef je de invloed van valversnelling op snelheid met een pijl weer, maar je trekt geen pijl van snelheid naar zichtzelf om aan te geven dat de snelheid op t+Δt gelijk is aan de snelheid op t plus versnelling maal de tijdstap Δt. Zoiets doe je ook niet voor de afgelegde afstand, maar ook die verandert uiteraard in de tijd. Dat het systeem dynamisch is kun je duidelijk maken in je toelichting bij het CRD.
Er zit overigens wel één expliciete terugkoppeling in het systeem: zodra het ijsblok de grond raakt wordt de snelheid ervan 0. Je zou dit in je CRD voor de vrije-valfase van het systeem expliciet kunnen maken met een binaire grootheid op de grond [JA/NEE] en dan in je CRD deze lus tekenen: verticale snelheid —(-)→ hoogte van het ijsblok —(-)→ op de grond [JA/NEE] —(-)→ verticale snelheid.

In de onderzoeksvraag staat dat de massa van het ijsblok gegeven is. Die speelt toch geen rol als er geen wrijvingskracht is?

De massa van het ijsblok speelt inderdaad geen rol, dus dat is verwarrend. Dat was geen opzet! In de modelvergelijkingen staat nergens een m omdat de valversnelling g genoeg is om de snelheid te bepalen.

In de onderzoeksvraag staat de hoogte van de glijbaan als gegeven. Moet dat geen aparte modelparameter zijn?

Nee, dat is niet nodig (denk aan Ockham's scheermes). Uit het vraagstuk blijkt duidelijk dat de hoogte van de glijbaan gelijk is aan de hoogte van het ijsblok op tijdstip t=0. Dat betekent dat h0 een modelparameter is. Dat is dus een invoervariabele, en die zet je dan met een ingaande pijl links in het modelschema. ht is dan een interne variabele. Zo staat variabele h dus 2x in het schema, maar dat mag in zulke gevallen. Het is dan wel netjes als je bij het modelschema toelicht dat ht de hoogte voor tijdstippen t > 0 weergeeft.
In het algemeen geldt: Omdat elke differentievergelijking een beginwaarde moet hebben kán de betreffende variabele voor tijdstip 0 een modelparameter zijn, maar dat hoeft niet wanneer die beginwaarde 0 is (want dat is de standaard aanname).

Vraagstuk H – Hoop zand

Waarom heeft in het causalerelatiediagram een toename van het initiële volume een negatieve relatie met de hoogte?

Het initiële volume is een vast gegeven. Het kan niet toenemen. Het bepaalt wel (samen met de initiële hoogte en initiële diameter) de vorm van de kegel, en die blijft hetzelfde. Daarom staat er in de uitwerking:
Omdat gegeven is dat de verhouding hoogte : diameter van grondoppervlak hetzelfde blijft kun je de hoogte en de diameter van het grondoppervlak afleiden uit de beginwaarde van deze twee grootheden en het beginvolume van de zandhoop.
Bedenk dat een "negatieve relatie" (dus een pijl met een min erlangs) kan wijzen op een deling in de modelvergelijking. De hoogte van de zandhoop op tijdstip t is gelijk aan het volume van de zandhoop (op tijdstip t) maal de verhouding (initiële hoogte / initieel volume).
Ga zelf na dat dit dimensioneel correct is.
Intuïtief is het beter te begrijpen als je bedenkt dat als het volume met p% toeneemt, de hoogte ook met p% toeneemt (t.o.v. de initiële hoogte), dus dat hoogte ht = h0·Vt/V0. Je moet dus echt delen door het initiële volume.