ModEst:Q&A lopende estafette: verschil tussen versies

Uit Systeemmodellering
Naar navigatie springen Naar zoeken springen
 
(266 tussenliggende versies door 2 gebruikers niet weergegeven)
Regel 1: Regel 1:
    Op deze pagina verzamelen we antwoorden op vragen die n.a.v. de lopende estafette worden gesteld.   
+
<div style="font-size: 12pt; padding:4px; background-color:#e0f8ff;border:2px dotted #90c0e0";margin-bottom: 8px>
    '''''Kijk a.j.b. eerst of je hier al antwoord vindt op je vragen voordat je een vraag stelt via Presto.'''''
+
'''''Het modelleerpracticum wordt niet meer in estafettevorm aangeboden!'''''
  
Voor '''niet-inhoudelijke''' vragen m.b.t. de [[ModEst:ModelleerEstafette|modelleerestafette]] is er '''[[ModEst:Q&A|deze algemene Q&A]]'''. [[Bestand:faq.png|x36px|link=ModEst:Q&A]]
+
<small>Op deze pagina verzamelden we antwoorden op vragen die n.a.v. de lopende estafette werden gesteld.<br>
 +
We hebben deze pagina voor dit collegejaar (2024-2025) opgeschoond door alle organisatorische en technische vragen te verwijderen.</small>
 +
</div>
 +
<div><br></div>
  
= Hulp vragen =
+
== 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]]).
  
'''Hoe vraag ik om hulp?'''
+
'''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?'''
:In Presto staat onderaan de opdracht-schermen (voor uploaden en review) een knop waarmee je een vraag-dialoog kunt oproepen.
+
: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''.
:Mail dus '''niet''' meer rechtstreeks, tenzij het ''absoluut'' noodzakelijk is dat je een bestand meestuurt.
+
: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#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.
  
'''Kan ik ook naar de kamer van een van de docenten gaan met een vraag?'''
+
'''Wanneer wij een reeks uitkomsten hebben, welke functie in Excel kan dan worden gebruikt om hier een kansverdeling uit te halen?'''
:Nee, want we behandelen de gestelde vragen zo veel mogelijk in volgorde van binnenkomst.
+
: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.
: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]].
 
 
 
= 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 =
 
  
 
== Modelschema ==
 
== Modelschema ==
Regel 32: Regel 25:
 
: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 ==
Regel 44: Regel 51:
  
 
: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 49: Regel 72:
 
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.
 +
 +
'''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.
 +
: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. 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 74: Regel 102:
 
'''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?'''
  
 
: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).
 
: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 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. '''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?'''<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 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.
 +
 +
'''Hoe stel ik de vergelijking van een "afgekapte" sinusfunctie op?'''<br>
 +
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''&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).
 +
 +
== 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.
 +
 +
 +
'''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 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 formuleer je wiskundig het tijdstip waarop bijv. de maximale snelheid bereikt wordt?'''
 +
:Meer algemeen ben je op zoek naar een tijdstip waarop het systeem in een specifieke toestand verkeert. Zo'n toestand kun je altijd noteren m.b.v. van een [[Logische symbolen|logische conditie]] net zoals die langs de pijlen van een [[eindigetoestandsautomaat]]. In dit geval wil je noteren dat de snelheid van iets (bijv. een fietser die een helling afrijdt) op tijdstip ''t'' groter of gelijk is aan de hoogste snelheid die die fietser gedurende de afdaling bereikt. Je moet dan dus eerst die hoogst bereikte snelheid ''v''<sub>max</sub> bepalen. Zoals [[Notatie van vergelijkingen|hier]] uitgelegd noteer je dat met de functie ''max'' zo:
 +
::''v''<sub>max</sub> = max(''v''<sub>0</sub>, ..., ''v''<sub>''t''<small>eind</small>)
 +
:waar ''t''<sub>eind</sub> het laatste tijdstip van de simulatie is.
 +
:Nu kun je de toestand "de fietser rijdt met de hoogste snelheid" noteren als de conditie ''v''<sub>t</sub> = ''v''<sub>max</sub>.
 +
:Tenslotte wil je weten: op welk tijdstip rijdt de fietser voor het eerst zo hard? Met andere woorden: wat is de laagste waarde van tijd t waarop ''v''<sub>t</sub> = ''v''<sub>max</sub>? Zoals [[Verzameling|hier]] uitgelegd noteer je de verzameling van '''alle''' tijdstippen waarop de fietser zo hard rijdt als {t: v<sub>t</sub> = v<sub>max</sub>}. De laagste waarde van ''t'' krijg je dan zo:
 +
::t<sub>msb</sub> = min({t: v<sub>t</sub> = v<sub>max</sub>})
 +
:("msb" staat voor "maximale snelheid bereikt").
 +
 +
'''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 107: Regel 204:
 
:Dit is inderdaad de bijbehorende ''verdeling'', maar daarmee kun je geen Poisson-verdeelde toevalsgetallen ''genereren''.
 
: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]].
 
:Zie hiervoor vooral het overzicht dat op de wiki staat om stochasten te genereren: [[Excel:Kansverdelingen]].
 
==Onderzoeksvraag waarin naar een kansverdeling gevraagd wordt==
 
 
'''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''.
 
: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.
 
 
'''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.
 
  
 
==Replicaties==
 
==Replicaties==
Regel 125: Regel 212:
 
: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?'''
 +
: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).
 +
: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 135: Regel 236:
 
: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.
  
= Inhaalestafette =
+
'''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).
== A. Afdaling van een helling ==
+
: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).
 
 
'''In de onderzoeksvraag staat niet dat de massa gegeven is. Betekent dit dat je die dan niet hoeft te gebruiken in de formules?'''
 
:In de onderzoeksvraag betekent de formulering "gegeven..." dat de variabelen die daarna volgen, moeten worden opgenomen in het experimenteel ontwerp. Maar dit betekent ''niet'' dat andere grootheden niet in de formules terug hoeven te komen: je hebt bijvoorbeeld ook nog ''constanten''. In dit geval staat in de opdrachtomschrijving dat de massa 75 kg is. Die heb je nodig om, op basis van ''de versnelling zonder te remmen'' en ''de remkracht'', de ''resulterende versnelling'' te berekenen (waaruit dan weer de snelheid op de volgende tijdstap berekend kan worden).
 
 
 
'''Hoe moeten we omgaan met de variërende versnelling en de remkracht?'''
 
:In de opgave is gegeven: "Daardoor varieert de versnelling van het karretje sterk." Hiermee wordt de versnelling bedoeld die het karretje zou hebben ''als er niet geremd wordt''. Daar kun je dan een stochast van maken.
 
:Vervolgens wordt er geremd, wat resulteert in de ''werkelijke'' versnelling van het karretje. Daarbij is de massa van belang.
 
 
 
== B. Burgers op de barbecue ==
 
 
 
== C. Coronavirus noopt tot thuiswerken ==
 
 
 
== D. Douchen in een hotel ==
 
 
 
'''Als er warm water is voor 6 douches terwijl er 8 personen staan te douchen, krijgen er dan 2 koud water?'''
 
 
 
:Nee, het warme water verdeelt zich dan over 8 douches, en daardoor krijgen alle 8 personen ''onvoldoende'' warm water: hetzij warm genoeg maar onvoldoende debiet (thermostaatkraan), hetzij te koud (traditionele mengkraan).
 
 
 
== E. Elektrische deelscooters opladen ==
 
 
 
'''Het komt voor dat een scooter niet terug is van zijn bezorging maar er wel al een bestelling weg moet. Moeten we hiervoor corrigeren? Of mogen we idealiseren en kunnen we ervan uit dat dit gewoon kan?'''
 
 
 
:Je mag uiteraard idealiseren, maar zorg er wel voor dat je (in elk geval bij implementatie) aan de modeluitvoer kunt zien óf dat voorkomt. Dus als bij N scooters in bedrijf de rijtijd (= ritafstand gedeeld door de gemiddelde rijsnelheid) groter is dan de som van N tussenaankomsttijden van bezorgopdrachten, dan kun je dat bijv. aangeven met een binaire variabele zodat je kunt tellen hoe vaak dat gebeurt.
 
:Beter nog: Het verschil tussen rijtijd en genoemde som is de laadtijd (= tijd dat scooter aan de laadpaal staat). Wordt die laadtijd negatief, dan was de scooter nog niet terug toen hij alweer moest vertrekken. Zodra in een modelrun (= replicatie) de laadtijd op die manier negatief wordt is het te druk voor het aantal scooters N.
 
:Het is niet erg wanneer dit voorkomt, maar het betekent wel dat de betreffende replicatie niet realistisch is, en het model bij de gekozen parameters dus niet valide. Dit is een mooi voorbeeld van wat je in Stap 4 moet uitleggen als "beperkingen van het model".
 
 
 
== F. Frustratie leidt tot vuurwerk ==
 
 
 
'''Hoe kan de parameter ''gemiddelde brandduur van een lont'' worden geïntegreerd in een voorraad-stroomdiagram?'''
 
 
 
:De simpelste manier is een vertraging. De brandduur van een lont is vergelijkbaar met de ''retentietijd'' van water in [[Voorraad-stroomdiagram#watercyclus|het voorbeeld van de '''watercyclus''']]. Daarmee kun je aangeven dat de stroom van ''rotjes met brandende lont'' naar ''exploderende rotjes'' geheel wordt bepaald door de stroom van ''rotjes in opslag'' naar ''rotjes met brandende lont'' één (of meer) tijdstappen daarvóór.
 
:Je kunt er ook voor kiezen om de uitstroom uit ''rotjes met brandende lont'' als een toevalsproces weer te geven. Die uitstroom wordt dan bepaald door zowel het aantal rotjes met brandende lont (dus een beïnvloedingspijl vanuit die voorraad naar de uitstroom) als de gemiddelde brandduur van een rotje (met vanuit deze grootheid dus óók een beïnvloedingspijl naar de uitstroom). Zoals uitgelegd onder [[Voorraad-stroomdiagram#Wat_als_stroomgrootheden_stochastisch_zijn.3F|'''Wat als stroomgrootheden stochastisch zijn?''']] laat dit zich dan operationaliseren m.b.v. een binomiale kansverdeling.
 
 
 
= Estafette B =
 
 
 
== A. Afdalen langs twee pistes ==
 
 
 
'''Is de lengte van de piste ook een invoervariabele?'''
 
:De lengte van de piste moet in ieder geval ergens bepaald worden. Het is wel mooi als je het parametriseert, zodat de gebruiker van je model dit getal kan aanpassen. Maar de pistelengte staat niet in de onderzoeksvraag genoemd achter "gegeven...", en hoeft dus strikt genomen niet in je experimenteel ontwerp opgenomen te worden.
 
 
 
'''Kun je ervan uitgaan dat bij de gemiddelde snelheid die je kan halen de kans op oponthoud al inbegrepen is? Of moet je nog een aparte vergelijking opstellen voor de kans op oponthoud?'''
 
:De gemiddelde snelheid is die ''terwijl je skiet''. Anders zou het lastig worden, omdat je (nog) niet weet hoe vaak je gemiddeld oponthoud hebt. Dat volgt juist uit je model (en de aannames die je daarin maakt). Je moet voor het oponthoud dus nog een stochast gebruiken.
 
 
 
'''Hoe moeten wij de verschillen in moeilijkheidsgraad definiëren? We kunnen hier geen getal aan koppelen waarbij de ene piste een hoger getal en dus een hogere moeilijkheidsgraad zou hebben en de andere een lagere.'''
 
:De moeilijkheidsgraad wordt eigenlijk vertaald naar de hogere gemiddelde snelheid van de skiër en de hogere valkans. Deze twee parameters bepalen (voor deze opdracht tenminste) de moeilijkheidsgraad.
 
 
 
'''Zijn de pistes precies even lang, of is de blauwe piste misschien toch langer? In de casus wordt gezegd dat ze even lang zijn, maar als ze op hetzelfde punt beginnen en op hetzelfde punt eindigen, zou de lengte van de blauwe piste langer moeten zijn dan de rode.'''
 
:Het klopt dat de steilheid van de piste meestal de maat is voor de zwaarte ervan. Je moet echter uitgaan van de gegevens die in de casusomschrijving staan, ook al kloppen die soms niet met een werkelijke situatie. (Om het werkbaar te houden moeten we soms wat concessies doen aan de realiteit.)
 
 
 
'''Hoe moeten we omgaan met de tijd die je kwijt bent als je valt?'''
 
:Het is handig om de tijdstap gelijk te maken aan de tijd die een skiër verliest bij een val: dan kun je in een tijdstap waarin de skiër valt de snelheid nul maken.
 
 
 
'''Moet de snelheid steeds veranderen?'''
 
 
 
In de casusbeschrijving staat: "Op beide pistes moet je hoe dan ook heel vaak je snelheid aanpassen". Betekent dit dat er voor elke tijdstap dat er geskied wordt andere snelheden moeten komen, die uiteindelijk met alle tijdstappen samen op die gemiddelde snelheid uitkomen?
 
:Er moet inderdaad per tijdstap een andere snelheid zijn. Maar als je die maakt met een stochast die zelf steeds de gemiddelde snelheid v<sub>gem</sub> als gemiddelde heeft, hoeft de gemiddelde snelheid ''van een enkele afdaling'' niet precies gelijk te zijn aan v<sub>gem</sub> (zelfs niet als je corrigeert voor de vertraging door vallen).
 
 
 
== B. Baan oversteken ==
 
 
 
'''Wachttijd als voorraadgrootheid?'''
 
 
 
Wij zijn bezig met een voorraad-stroomdiagram met de wachttijd als voorraadgrootheid. Nu moeten in een VSD de stroomgrootheden de eenheid van de voorraadgrootheid per tijdseenheid hebben. Maar bij de wachttijd wordt het dan tijdseenheid per tijdseenheid. Hoe moet dat?
 
:Het ligt bij een wachttijd niet voor de hand om deze als voorraadgrootheid op te vatten. Je ziet zelf al dat de stroomgrootheid er dan wat vreemd uit komt te zien: per seconde een seconde erbij. Daarnaast "stroomt" er niets uit: de wachttijd stijgt alleen maar. Een VSD voegt hier niet echt iets aan het begrip van het systeemgedrag toe. Geen VSD gebruiken dus.
 
 
 
'''Toestandsdiagram?'''
 
 
 
Dit gaat over kansen berekenen, dus het leek ons logisch dat er een toestandsdiagram gemaakt moest worden. Hoe kun je het verband kan aangeven tussen bijvoorbeeld de wachttijd en de frequentie van de schaatsers?
 
:Een toestandsdiagram zou hier de toestanden "wachten" en "oversteken" kunnen bevatten, maar dat is niet zo nuttig: zodra je kunt oversteken, is de wachttijd bekend (= de tijd die je moest wachten tot je kon oversteken). Als je dat een heleboel keer doet ("replicaties"), kun je op basis van de gevonden wachttijden een kansverdeling maken. Daar is dus geen toestandsdiagram voor nodig.
 
:Als de aankomstfrequentie van de schaatsers toeneemt, kun je verwachten dat de wachttijd toeneemt. Dat zou je in een (ander type) diagram kunnen weergeven.
 
 
 
'''We willen voor de aankomstfrequentie de driehoeksverdeling gebruiken. Wij vragen ons af hoe je de wachttijd kan berekenen met behulp van deze aankomstfrequentie en de oversteektijd.'''
 
:Het gaat hier over de tussentijd tussen aankomsten waarvan je kunt aannemen dat ze onafhankelijk zijn. Dat is dus een Poisson-proces, waarbij de tussenaankomsttijden negatief-exponentieel verdeeld zijn. Daar kun je dus beter geen driehoeksverdeling voor gebruiken. De wachttijd kun je niet echt "berekenen" (zoals in "berekenen met een formule"), maar die volgt uit je simulatie.
 
:In dit geval is een discretetijdmodel met een ''variabele'' tijdstap handig: iedere aankomst van een schaatser is dan een tijdstap. Zodra de tijdstap groter is dan de oversteektijd, kun je oversteken, en heb je een nieuwe waarde voor de wachttijd.
 
 
 
'''De schaatsers schaatsen niet allemaal in dezelfde baan. Moeten we meerdere banen maken waarin ze schaatsen?'''
 
:Je mag aannemen dat de schaatsers allemaal achter elkaar schaatsen (alsof ze in één baan schaatsen dus, al is dat eigenlijk niet zo). Voor het berekenen van de oversteektijd gebruik je echter wél de breedte van het kanaal.
 
 
 
== C. Cabinelift ==
 
 
 
'''Kan je er bij de cabinelift ervan uitgaan dat de cabines maximaal gevuld worden wanneer het mogelijk is?'''
 
 
 
Stel de capaciteit van een cabinelift is 5 personen. Je hebt een groep van 4 vrienden en een groep van 3 vrienden. Wanneer de cabinelift maximaal gevuld wordt, houd je 2 vrienden over. Kan je ervan uitgaan dat zulke groepen altijd zullen opsplitsen zodat de cabinelift maximaal gevuld wordt?
 
:Ja, daar kun je van uitgaan, want óf er staat een medewerker van de cabinelift die daarvoor zorgt, óf de sociale druk van de wachtenden achter je zorgt er wel voor dat je instapt. (Vriendengroepen die per se bij elkaar willen blijven, kunnen natuurlijk altijd anderen voor laten gaan om een cabine te vullen.)
 
 
 
'''Stel de gemiddelde aankomstfrequentie is 2 per seconde. Kan je er van uitgaan dat er 2 mensen per seconde aankomen of is het zo dat er soms 1 iemand aankomt en soms 3 of soms 0 en soms 4, waardoor het gemiddelde 2 blijft?'''
 
:Als je een model maakt waarin er in iedere seconde 2 mensen aankomen, is het model niet probabilistisch (vergelijk de pepernotencasus uit de vorige estafette: daar kwamen steeds evenveel mensen de supermarkt uit). Je moet dus een stochast definiëren met de juiste eigenschappen. (Gemiddeld twee mensen per seconde is overigens erg veel voor een skilift...)
 
 
 
'''Hoe kunnen we ervoor zorgen dat er alleen mensen de cabine ingaan op tijdstappen waarop er een cabine aanwezig is?'''
 
:Maak het jezelf gemakkelijk: gebruik de cabine als klok voor je model en werk per tijdstap de aankomst van een cabine af.
 
 
 
'''Wat wordt er bedoeld wordt met 'het aantal personen dat in een cabine zit'? Is het aantal personen dat in alle cabines bij elkaar zit, of het aantal personen dat in één enkele cabine zit?'''
 
:Daarmee wordt het aantal personen per cabine bedoeld.
 
 
 
'''Voor de eerste tijdstap willen we de aankomers op 0 zetten. Er is immers nog helemaal niemand bij de lift aangekomen als hij net net open is. Maar we hoorden dat dit niet 0 moet zijn, omdat er wel mensen aankomen in de tijdstap. Wat kunnen we het best doen?'''
 
:Het leuke van modelleren is dat je zelf keuzes mag maken — of de keuze aan de gebruiker van het model kan laten. Het is niet gek om aan te nemen dat er al een rij(tje) staat van mensen die aankwamen voordat de lift open ging. Daar kun je mooi een extra parameter van maken: lengte van de rij op het moment dat de lift opengaat. Dan kunnen de gebruikers van jullie model zelf bepalen wat ze daarvan vinden (en er eventueel toch een stochast van maken).
 
 
 
== D. Dak met sneeuw erop ==
 
 
 
'''Hoe verwerken we de tijd en de kans in de sneeuwdikte?'''
 
 
 
Het ene uur zal er veel meer sneeuw van het dak vallen dan het andere, waarin er misschien wel helemaal geen sneeuw naar beneden valt. Hoe kunnen wij de sneeuw die van het dak afvalt, koppelen aan zowel de tijd als de kans dat dit gebeurt? Voor het voorraad-stroomdiagram is namelijk ook de tijd van belang, omdat de eenheden voor en na de voorraad gelijk dienen te zijn.
 
:De sneeuwaangroei gebeurt met een snelheid (die een maat is voor de sneeuwval), dus als je die snelheid v noemt, komt er in een tijdstap v·Δt bij. Het wegschuiven van de sneeuw gebeurt ineens, met een kans die afhankelijk is van de sneeuwlaagdikte ''op dat moment''. Je kunt dus bijvoorbeeld zo redeneren: als de stochast die bepaalt of de sneeuw gaat schuiven (op basis van de oude sneeuwdikte) gelijk is aan 1, dan wordt de sneeuwdikte gelijk aan alleen de sneeuwaangroei (want de oude sneeuw is weggegleden), en anders wordt de sneeuwdikte opgehoogd met de waarde van de sneeuwaangroei.
 
:De eenheid van de uitgaande stroom is dan eigenlijk ook m/s (er verdwijnt een bepaalde dikte in een tijdstap).
 
:(Let op: de stochast is ''niet'' "de kans", maar de stochast ''heeft een kans'' om een bepaalde waarde aan te nemen. Zie vooral het artikel waarin het concept [[stochast]] wordt uitgelegd.)
 
 
 
'''Mogen we ervan uitgaan dat het van het dak schuiven van de sneeuw geen tijd kost?'''
 
:Daar mag je inderdaad van uitgaan. In het voorbeeld hierboven gebeurt dat aan het begin van de tijdstap, waarna de sneeuwdikte dus gelijk wordt aan de sneeuwaangroei tijdens die tijdstap.
 
 
 
'''Wat moeten we doen met de helling van het dak?'''
 
 
 
Mogen wij ervan uitgaan dat de helling van het dak verwerkt is in de afschuifparameter of moeten we deze apart benoemen?
 
:De helling van het dak zit inderdaad verwerkt in de afschuifparameter. Dat mag me uiteraard noemen in je rapport (dat maakt het duidelijker voor de lezer), maar je hoeft er geen aparte parameter voor te gebruiken.
 
 
 
'''Waarom heeft de afschuifparameter de eenheid m<sup>-1</sup>?'''
 
:Twee redenen: (1) de kans neemt toe ''per meter'' sneeuwdikte; (2) een kans is een dimensieloos getal, dus moet de exponent (a·D) ook dimensieloos zijn (fysisch gezien moeten "exponenten van e" overigens ''altijd'' dimensieloos zijn).
 
 
 
'''De sneeuwaangroei is in mm/uur. Maar waarom is de parameter dan m<sup>-1</sup> en niet mm<sup>-1</sup>? Kunnen we beide grootheden dezelfde eenheden geven (dus beide mm) zodat het dimensioneel klopt?'''
 
:Als vermeld wordt dat een grootheid "de eenheid m heeft", kun je de grootheid ook meten of uitdrukken in cm, of mm, of een andere lengtemaat. Maar bij het invullen in vergelijkingen moet je wel altijd de basiseenheden gebruiken (in dit voorbeeld dus m).
 
:(Bedenk: in F=m·a mag je de massa niet in gram invullen; dat moet in kg, anders is de uitkomst niet in newton.)
 
:(Overigens: 'meter' en 'millimeter' hebben dezelfde dimensie.)
 
 
 
'''Mag de waarde van de afschuifparameter negatief zijn?'''
 
:Ja, dat is zelfs de bedoeling. Bij een positieve waarde van de afschuifparameter wordt de kans negatief, wat onmogelijk is. Als a negatief is, nadert de kans op afschuiven naar 1 als de laagdikte toeneemt.
 
 
 
'''Hoe moet je de kans van het schuiven van de sneeuw noteren? De sneeuw schuift namelijk of wel of niet.'''
 
:De ''kans'' dat de sneeuw gaat schuiven is p (en die staat in de opdracht gedefinieerd). Waarschijnlijk bedoel je "hoe moet je noteren óf de sneeuw in een bepaalde tijdstap gaat schuiven?". Dat kun je bijvoorbeeld doen door een stochast die de waarde 0 (niet schuiven) of 1 (wel schuiven) heeft. De kans op 1 is dan p (dus afhankelijk van D).
 
 
 
'''Wij krijgen een foutmelding bij de BINOMIALE.INV-functie in Excel als de sneeuwdikte nul is. Wat moeten we doen?'''
 
:Het tweede argument van deze functie (de kans) mag blijkbaar niet nul zijn. Dit kun je op twee manieren voorkomen: (1) door ''bij de berekening van de kans'' een heel klein getal (bijvoorbeeld 0,000001, dus 1 µm) op te tellen bij de dikte van de laag; (2) door de laagdikte na afschuiven niet nul te maken maar zo'n zelfde klein getal. Een laagdikte van 1 µm is verwaarloosbaar, en als je dat niet dun genoeg vindt, maak je er een nanometer van.
 
 
 
'''Als we de Exp-verdeling willen gebruiken, levert dat vreemde getallen op. Wat doen we fout?"
 
:De exp-functie die in de opgave genoemd wordt, is ''niet'' de negatief-exponentiële verdeling (dat is Exp — let op de hoofdletter). De functie exp(x) in de opgave is een andere notatie voor e<sup>x</sup> ("e tot de macht x"). Die implementeer je in Excel als EXP(), dus helemaal in kapitalen.
 
 
 
'''In stap 3 moet je de invoerwaarden verklaren. Maar van de afschuifparameter weten we eigenlijk niks af. Hoe zetten we dat in het verslag?'''
 
:Als a een te hoge negatieve waarde krijgt, gaat de sneeuw bijna altijd meteen schuiven, hoe dun de laag ook is. Dat is niet realistisch. Bij een waarde te dicht bij nul wordt de sneeuw metershoog voordat deze gaat schuiven. Je kunt in het verslag uitleggen dat je een waarde hebt gekozen waarbij de sneeuw een bepaalde (kies iets geloofwaardigs) dikte krijgt voordat deze wegschuift. (Doordat er een kans in het spel is, varieert dat natuurlijk, maar de sneeuw moet wel een redelijke dikte kunnen krijgen.)
 
 
 
'''Wat moeten we onderzoeken?'''
 
 
 
Normaal gesproken krijgen we een onderzoeksopdracht, zoals: "onderzoek wanneer...". In dit geval is er alleen een onderzoeksvraag. Moeten we alleen onderzoeken hoeveel de sneeuwdikte verandert wanneer je de parameters verandert?'''
 
:Strikt genomen is dat voldoende. Maar je kunt het zelf interessanter maken door bijvoorbeeld een empirische kansverdeling te maken van de dikte waarop de laag in de experimenten bleek te gaan schuiven. Of door je af te vragen bij welke waarde van de afschuifparameter er gedurende meer dan de helft van de tijd een sneeuwlaag met een dikte van 20 cm ligt.
 
:Impliciet zit er overigens al een extra opdracht in de beschrijving verborgen, doordat de afschuifparameter niet gegeven is. Je moet dus al wat experimenteren om die een waarde te geven waarbij er een realistische sneeuwlaag op het dak ontstaat (zie de vraag hierboven).
 
 
 
== E. Eten zonder te hoeven wachten ==
 
 
 
'''Mogen we ervan uitgaan als je met een groep binnenkomt, maar 1 iemand is eerder klaar met eten dat hij dan meteen vertrekt? En dus niet op de andere wacht?'''
 
 
 
:Ja, dat is een goede vereenvoudigende aanname. Mensen komen als groepje aan, maar kunnen individueel vertrekken.
 
 
 
'''Heeft het restaurant een flexibele tafelindeling?'''
 
 
 
Wanneer je met vier personen aankomt en er zijn twee tafels voor twee personen vrij, is het niet altijd mogelijk om plaats te nemen. Moeten we hier rekening mee houden?
 
:Nee, dat hoeft niet. Je mag er van uitgaan dat de vrije plaatsen altijd zodanig gecombineerd kunnen worden dat groepjes samen kunnen zitten.
 
 
 
'''Wat is het verband tussen de gemiddelde tijd dat gasten over hun maaltijd doen en het aantal gasten dat het restaurant verlaat?'''
 
 
 
:Hoe je een stochastische uitstroom uit een voorraadgrootheid kunt weergeven staat uitgelegd in [[Voorraad-stroomdiagram#Wat_als_stroomgrootheden_stochastisch_zijn?|het artikel over het '''voorraad-stroomdiagram''']].
 
 
 
'''Relatie tussen groepsgrootte en aankomstfrequentie?'''
 
 
 
In de onderzoeksvraag wordt gegeven dat de aankomstfrequentie bekend is. Gaat dit om het aantal personen dat per tijdseenheid aankomt of het aantal groepen dat per tijdseenheid aankomt? De grootte van de groep verandert namelijk elke keer.
 
: De eenvoudigste aanname is dat er per tijdstap één groep aankomt (met als grootte een toevalsgetal, waarbij 0 aangeeft dat er geen groep aankomt).
 
: Het is natuurlijk ook prima om twee kansverdelingen te gebruiken: één om te bepalen óf er een groep aankomt (0 = niet, 1 = wel), en indien wél een tweede kansverdeling om de groepsgrootte te bepalen.
 
 
 
== F. Finale met twee favorieten ==
 
 
 
'''Ard en Bart schaatsen rondjes met dezelfde gemiddelde tijd van 30 s. Zijn hun eindtijden dan niet altijd gelijk?'''
 
 
 
:We vragen om een ''probabilistisch'' model. De rondetijden van Ard en Bart zijn dus stochasten. Daardoor zal hun eindtijd (= de som over hun rondetijden) in elke ''run'' van je simulatiemodel anders zijn.
 
:Dat Art en Bart gemiddeld dezelfde rondetijd hebben maakt het juist spannend.
 
 
 
'''Hoe moeten we omgaan met de 1,5 s waarmee de rondetijd van Ard toeneemt?'''
 
:Ard rijdt gemiddeld zijn ronden in 30 s, maar doet er geleidelijk totaal 1,5 s langer over. Hij begint dus met een rondegemiddelde van 29,25 s (= 30 - 1,5/2). Dat is echter een stochast met een spreiding waar je een keuze voor moet maken. Vervolgens tel je er per ronde 1,5 gedeeld door N<sub>ronden</sub> - 1 bij op, zodat de laatste ronde 1,5 s langer duurt dan de eerste.
 
 
 
'''Wat is hier een geschikt conceptueel model?'''
 
 
 
De eindtijd van Ard resp. Bart is de som van hun rondetijden. Hoe geef je dat goed weer in een conceptueel model?
 
 
 
:In een causalerelatiediagram is de sommatie over rondes niet handig weer te geven. Je zou daarom het CRD kunnen beperken tot alleen de factoren die bepalend zijn voor de rondetijd van Ard en die van Bart, en dan met twee pijlen laten zien hoe die twee rondetijden het ''verschil in '''ronde'''tijd'' bepalen.
 
:In je toelichting moet je dan uitleggen dat je dit "deelmodel" dan even vaak moet doorrekenen als er rondes zijn, en dan de som nemen van de verschillen.
 
:Een voorraad-stroomdiagram is wél goed in het weergeven van "bakjes die vollopen", dus zou je er voor kunnen kiezen om de eindtijd van Ard en Bart als twee voorraadgrootheden weer te geven met als instroom hun rondetijd, en dan (net als in bovenbeschreven CRD) twee "informatiepijlen" kunnen gebruiken die dan met (+) resp. (-) naar de grootheid ''verschil in '''eind'''dtijd'' wijzen.
 
:MAAR: Zo wijk je wel flink af van de gebruikelijke betekenis van voorraden en stromen in een VSD, want normaal is de tijd geen voorraad, en gaan instromen juist per tijdstap &Delta;t.
 
:Áls je hier toch voor een VSD kiest, dan moet je in je toelichting uitleggen dat je het schema zo bedoelt, en dat de instromen dus niet per tijdstap gaan maar per ronde.
 
 
 
'''Welke kansverdeling moet worden gebruikt voor de verschillen in de eindtijden?'''
 
 
 
Om de onderzoeksvraag te beantwoorden moet worden gekeken naar de kansverdeling van het verschil in eindtijden. Welke kansverdeling moet hier gebruikt worden?
 
:Dit is niet een kansverdeling die je zelf moet ''kiezen'', maar die je moet ''afleiden uit de resultaten''. Het model levert een hele reeks eindtijdverschillen. Daarvan moet je de kansverdeling laten zien. Simpel voorbeeld: als de eindtijdverschillen 1, 2, 2, 3 en 4 seconden zijn, zijn de kansen op 1, 2, 3 en 4 seconden respectievelijk 0,2, 0,4, 0,2 en 0,2. Dat ''is'' dan de kansverdeling (die je in een staafdiagram kunt weergeven). Je krijgt uiteraard niet alleen gehele getallen, dus zul je geschikte "bakjes" moeten maken om de resultaten te groeperen, bijvoorbeeld [0, 0,5>, [0,5, 1,0>, enz.
 
 
 
== G. Glühwein ==
 
 
 
'''Moet de gevraagde kans dat iemand geen glas glühwein kan krijgen als grootheid in het conceptuele model benoemd worden?'''
 
 
 
:Dat hoeft niet per sé, maar zou wel kunnen. Die kans is immers gelijk aan 1 min het totale aantal geschonken glazen gedeeld door het totale aantal langsgekomen schaatsers (totalen berekend over de hele simulatietijd).
 
 
 
'''Hoe gaat dat bijvullen nou precies?'''
 
:Het idee is dat zodra er weer een volle ketel in de thermoskan past, de ketel weer gevuld wordt. De thermoskan heeft dus een minstens even groot volume als de elektrische ketel. Dit is ook aan de gegeven grafiek te zien. Aan het begin is de thermoskan helemaal vol, en de hoeveelheid stijgt steeds met relatief kleine stappen.
 
 
 
'''Hoe kan het dat er in de voorbeeldgrafiek meerdere tijdstappen achterelkaar een stijging te zien is? Zijn er meerdere ketels? Of duurt het bijvullen meerdere tijdstappen?'''
 
:Als de thermoskan veel groter is dan de ketel, kan het zijn dat, bij een groot aantal klanten, de lege ruimte in de thermoskan méér dan twee keer de inhoud van de ketel is, zodat er twee ketels achter elkaar bijgeschonken kunnen worden. Doordat er in de tussentijd ook klanten zullen zijn, hoeft de toename per keer niet hetzelfde te zijn.
 
:Overigens zijn de voorbeeldgrafieken ook maar voorbeelden. Er kunnen eigenschappen in de grafiek zijn die afwijken van de specifieke implementatie die jullie zelf hebben gemaakt.
 
 
 
== H. Heuvel met sleetjes ==
 
 
 
'''Hoe bepaal je het aantal sleetjes dat in gebruik is?'''
 
 
 
Wij hadden bedacht dat het aantal sleeën dat in gebruik is afhangt van het aantal kinderen dat gaat sleeën, het aantal kinderen dat nog bezig is met sleeën  en het aantal kinderen dat iets anders doet. Wij komen er niet uit van welke grootheden het aantal kinderen dat nog bezig is met sleeën  op een bepaald tijdstip afhangt. Wij denken dat wij hierbij gebruik moeten maken van de gemiddelde tijd dat een kind met een slee speelt, maar wij weten niet hoe precies.
 
:Als je naar de grafiek kijkt zie je dat het (constante!) aantal kinderen zich verdeelt over twee groepjes: "met slee" en "zonder slee". Er is dus geen derde groep.
 
:Hoe je de in- en uitstromen tussen de twee groepen kunt weergeven staat al uitgelegd in [[Voorraad-stroomdiagram#Wat_als_stroomgrootheden_stochastisch_zijn?|het artikel over het '''voorraad-stroomdiagram''']].
 
 
 
'''VDS of TD?'''
 
 
 
Kan een VSD bestaan uit twee voorraden, met heen en weer gaande stromen? De kinderen zouden van de voorraad "op een slee" naar de andere voorraad stromen, om later weer terug te stromen. Of is dit gedrag beter weer te geven met een toestandsdiagram waarbij kinderen ofwel aan het sleeën zijn, dan wel met ander vermaak bezig zijn?
 
:Een VSD kan prima op de voorgestelde manier bestaan uit twee voorraden met stromen ertussen. Met een toestandsdiagram kun je niet weergeven ''hoeveel'' kinderen in de ene of de andere toestand zitten: zo'n TD geldt eigenlijk ''per kind'' (en kan dus wel nuttig zijn, maar niet voor de aantallen).
 
 
 
'''Kunnen er in dezelfde tijdstap kinderen sleetjes innemen die net vrijgekomen zijn?'''
 
 
 
Stel het maximaal aantal sleetjes is in gebruik in de vorige tijdstap en in de huidige tijdstap gaan er kinderen van de sleetjes af. Kunnen er dan in diezelfde tijdstap meteen weer kinderen naar de sleetjes toegaan? En hoe ziet de voorwaarde voor het aantal kinderen dat gaat sleeën er dan uit?
 
:Het is wel logisch om ervan uit te gaan dat de sleetjes in dezelfde tijdstap weer bezet kunnen worden: kinderen houden het echt wel in de gaten als ze willen gaan sleeën.
 
:Het is handig om per activiteit een kolom te hebben met het aantal kinderen ''aan het begin van de tijdstap'', en dan twee kolommen waarin je de verandering bepaalt (zodat je daar in de volgende tijdstap de nieuwe waarden mee kunt uitrekenen). De kinderen die ''de sleetjes verlaten'' baseer je op het aantal kinderen dat aan het sleeën is (per kind een kans om te stoppen met sleeën), de kinderen die ''gaan sleeën'' baseer je op het aantal kinderen dat wat anders aan het doen is (per kind een kans om te willen sleeën) maar dan met als maximum het aantal vrije sleetjes.
 
 
 
= Estafette A =
 
 
 
== A. Appels waaien niet ver van de boom ==
 
 
 
'''Moeten we de luchtweerstand meenemen?'''
 
 
 
De vallende appel ondervindt naast de zwaartekracht ook luchtweerstand. Moeten we die ook modelleren?'''
 
:Als je bedenkt dat een appel niet erg hoog boven de rond hangt en daardoor geen hoge valsnelheid zal bereiken, zal de verticale luchtweerstand veel kleiner zijn dan de zwaartekracht. Dat je modeluitkomsten maar een klein beetje minder nauwkeurig zullen worden als je die weerstand weglaat is een goed argument om op dit punt Ockhams scheermes toe te passen.
 
:De ''horizontale'' luchtweerstand (of liever: de horizontale stuwkracht als gevolg van de windsnelheid, die wél hoog is) is wél belangrijk, want anders zou de appel zich niet horizontaal verplaatsen.
 
 
 
'''Moeten we niet uitgaan van de ''relatieve'' windsnelheid?'''
 
:Inderdaad zal de horizontale stuwkracht van de wind afnemen naarmate de horizontale snelheid van de appel (v<sub>ah</sub>) toeneemt, en zou je v<sub>wind</sub> - v<sub>ah</sub> in plaats van enkel v<sub>wind</sub> moeten gebruiken in de vergelijking voor de stuwkracht. Maar méér nog dan in het vorige antwoord geldt hier het argument dat vanwege de korte valtijd de horizontale snelheid van de appel t.o.v. de windsnelheid verwaarloosbaar klein zal blijven.
 
 
 
'''Door de windkracht ondervindt de appel in horizontale richting een versnelling en neemt de horizontale snelheid en zo de horizontale afstand toe. Wij weten echter ook dat als de appel bijvoorbeeld een meter naar rechts wordt geblazen, hij net iets later op de grond valt dan als hij loodrecht naar beneden valt. Hoe moeten we dit in het model opnemen?'''
 
:Niet. De verticale beweging en de horizontale beweging van een voorwerp zijn in dit geval onafhankelijk, omdat de weerstandskracht alleen voor de horizontale beweging wordt meegenomen. De valtijd wordt dan '''niet''' door de horizontale snelheid beïnvloed. (Zie bijvoorbeeld [https://www.physicsclassroom.com/mmedia/vectors/bds.cfm deze uitleg].)
 
 
 
'''Hoe moeten we de gevoeligheidsanalyse uitvoeren voor de verticale beweging?'''
 
 
 
Hoe moeten we bij de gevoeligheidsanalyse de invloed het veranderen van de invoerwaarden op de verticale afstand bepalen? We kunnen namelijk niet de eindafstand nemen, aangezien deze afstand uiteindelijk 0 wordt.
 
:Elke appel eindigt inderdaad op de grond, maar de onderzoeksvraag "Hoe verandert (in de loop van de tijd) de positie van een vallende appel?" kun je voor de gevoeligheidsanalyse bijvoorbeeld ook opvatten als "Hoe lang duurt de val van de appel?" Daarmee kun je de gevoeligheidsanalyse wél uitvoeren.
 
 
 
== B. Besmettelijke verkoudheid ==
 
 
 
'''Is het mogelijk dat een voorraad-stroomdiagram begint en eindigt in een blokje i.p.v. in een wolkje?'''
 
:De wolkjes in een VSD laten zien dat een stroom van buiten het systeem komt ("uit het niets ontstaat") of het systeem uitgaat ("zomaar verdwijnt"). In deze casus bevinden "degenen die nog niet ziek geweest zijn" en "degenen die ziek geweest zijn" zich binnen het systeem (anders zou je bijvoorbeeld niet kunnen bepalen welk deel van de bevolking nog niet besmet is). In zo'n geval kan een VSD dus beginnen en eindigen met een voorraad.
 
 
 
'''Hoe kunnen we de tijdsvertraging van drie dagen verwerken in de formule voor het aantal herstellende mensen?'''
 
:De mensen die op een bepaalde dag besmet raken, zijn na drie dagen niet meer besmettelijk. Dus het aantal mensen dat op een bepaalde dag niet meer besmettelijk wordt (bijvoorbeeld N<sub>nb, t</sub>, is gelijk aan het aantal mensen dat drie dagen daarvóór besmet raakte (bijvoorbeeld N<sub>b, t-3</sub>).
 
 
 
'''De onderzoeksvraag noemt maar één afhankelijke variabele, maar in de grafiek staan twee lijnen. Wat betekent dit?'''
 
:Goed punt. Dit is inderdaad dubbelzinnig. Volgens de onderzoeksvraag is het genoeg om het totaal aantal verkouden mensen (besmettelijk of niet meer, maar nog niet hersteld) te berekenen. De tweede lijn in de grafiek (aantal mensen dat verkouden is óf inmiddels hersteld en immuun) wordt niet in de onderzoeksvraag genoemd. Wie die grootheid niet in de conceptualisatie of operationalisatie heeft meegenomen voldoet daarom nog steeds aan de opdracht. ''Hou daar bij de beoordeling rekening mee.''
 
 
 
'''Hoef je die tweede uitvoervariabele dus niet meer te berekenen?'''
 
:Strikt genomen is dat dus niet nodig om aan de opdracht te voldoen. Het was natuurlijk wel de bedoeling dat het model ook die tweede variabele berekent. Dat vergt maar een kleine aanpassing aan je model: één extra vergelijking die het aantal herstelde personen optelt bij het aantal verkouden personen (de rode lijn in de grafiek).
 
 
 
== C. Chocolade smelten ==
 
 
 
'''LET OP: Bij deze casus mag je aannemen dat de temperatuur van de chocola met een constante snelheid daalt als de verwarming uitstaat, en met een (andere) constante snelheid stijgt als deze aanstaat.'''
 
 
 
'''Kan in een voorraad-stroomdiagram een informatiepijl vanuit een voorraad naar zowel de in- als de uitstroom gaan?
 
:Dat kan, als de voorraadgrootheid de in- en de uitstroom op verschillende manieren beïnvloedt. Denk aan de temperatuur van een kamer: de warmte die de verwarming aan de kamer levert (de instroom), wordt via de thermostaat door de kamertemperatuur bepaald, en het warmteverlies (de uitstroom) door geleiding door de ramen naar buiten is afhankelijk van het verschil tussen de temperatuur in de kamer en de buitentemperatuur.
 
 
 
'''Moeten we de soortelijke warmte erbij betrekken voor de opwarming en/of we de afkoelingswet bij het afkoelen?'''
 
:Dat hoeft niet. In de opgave staat over het afkoelen: "Neem aan dat door energieverlies de temperatuur van de chocola in het reservoir met een constante snelheid daalt als het verwarmingselement uit staat." Op dezelfde manier kun je aannemen dat de temperatuur met een constante snelheid ''stijgt'' als het verwarmingselement aan staat.
 
:Natuurkundig voegt de verwarming inderdaad ''warmte'' toe en stroomt er ''warmte'' weg door geleiding. Maar de warmte is recht evenredig met de temperatuur, dus je kunt de temperatuur gebruiken als "proxy" (een getal dat kan worden gebruikt om de waarde van iets anders te representeren) voor de warmte.
 
:Je kunt de temperatuur opvatten als een voorraadgrootheid die toe en af kan nemen, zodat je er een VSD van kunt maken. Natuurkundig is dat wat vreemd omdat het dus eigenlijk om warmte gaat, maar als je de “kranen” in het diagram “temperatuurstijging” en “temperatuurdaling” noemt, ziet het al een stuk logischer uit.
 
 
 
'''Hoe moeten wij de regelfrequentie opnemen in de vergelijkingen?'''
 
:De regelfrequentie (symbool: ''f'') kun je zien als het aantal keer per tijdseenheid dat de thermostaat "kijkt" of het verwarmingselement AAN of UIT moet. De eenvoudigste manier om dat te doen is de duur van de tijdstap gelijk te stellen aan 1/''f''.
 
 
 
'''Wordt met 'constante snelheid' bedoeld dat de verwarmsnelheid bij alle processen van chocolade smelten dezelfde waarde heeft of dat deze verschillende waarden kunnen hebben bij elk proces van chocolade smelten, maar wel altijd eenparig (constant) zijn?'''
 
:In de onderzoeksvraag staat "gegeven [...] het vermogen van het verwarmingselement, en het warmteverlies".
 
:Dit vermogen en het warmteverlies zijn dus ''parameters'' (invoervariabelen) en daarom per experiment constant (uitgedrukt in de stijg- en daalsnelheid van de temperatuur, zoals hierboven uitgelegd).
 
 
 
'''Kun je ervan uitgaan dat de afkoelsnelheid wanneer de opwarmsnelheid aanstaat alsnog geldt? Met als gevolg dat als de opwarmsnelheid en afkoelsnelheid gelijk zijn je een rechte lijn krijgt?'''
 
:Klopt! Dat is niet het meest interessante gedrag van het systeem natuurlijk, en in de praktijk komt het eigenlijk niet voor, maar binnen de systeemafbakening kan het optreden.
 
 
 
== D. Dakwater via regenton ==
 
 
 
'''Dak, ton, of dak én ton?"
 
 
 
Moeten we ervan uitgaan dat er regenwater valt op de diameter van de ton, dat er water op het dak valt en via een regenpijp in de ton komt, of moeten we alleen rekening houden met de oppervlakte van het dak? In de onderzoeksvraag staat namelijk niet dat de oppervlakte van het dak is gegeven. Dit is van belang om te weten hoeveel water er valt en dan uiteindelijk in de ton terecht komt.
 
:In ieder geval moet het water meegenomen worden dat op het dak komt: dat staat in de eerste zin van de omschrijving. Of je de regen die op de oppervlakte van de ton valt ook mee wilt nemen, kun je als modelleur zelf bepalen: het belangrijk is die hoeveelheid voor je uitkomst?
 
:In de opgave staat niet "gegeven de oppervlakte van het dak", dus strikt genomen hoef je de oppervlakte van het dak niet te ''variëren'' (dat is de strekking van de bewoording "gegeven..."). Maar dat betekent niet dat die oppervlakte niet van belang is, of dat je dus zelfs alléén hoeft te kijken naar het water dat rechtstreeks in de ton valt. Dus: de oppervlakte van het dak moet in het model zitten, en voor de omvang ervan zul je iets moeten bedenken.
 
 
 
'''Welke voorraadgrootheid: volume of hoogte van het water in de regenton?'''
 
:Aangezien de diameter en hoogte van de ton gegeven constanten zullen zijn, maakt het voor de dynamiek niet uit welke grootheid je gebruikt. Kies je voor hoogte, dan moet je de instroom en uitstroom uit de vooraad als een ''snelheid'' (in m/s) weergeven; kies je voor volume dan als een ''debiet'' (m<sup>3</sup>/s). Wees hoe dan ook alert op hoe je de uitstroom modelleert. De wet van Torricelli geeft je de snelheid (in m/2) van het uitstromende water; dat is niet dezelfde snelheid als die waarmee de waterhoogte in de regenton verandert!
 
 
 
'''Kan het waterpeil oneindig blijven stijgen?'''
 
:Nee. De hoogte van de ton is immers een gegeven. De ton zal dus overstromen, of (als er een goed sluitend deksel op zit) zal de instroom 0 zijn zodra de ton vol is (en het dakwater zal dan over de dakgootrand wegstromen). Welke aanname over de ton je hier doet zal dus bepalen hoe je je model maakt: overstromen betekent voor je VSD een tweede uitstroom uit de voorraadgrootheid (bedenk zelf welke grootheden die uitstroom bepalen); een sluitend deksel betekent een informatiepijl (&minus;) vanuit de voorraad naar de kraan van de instroompijl.
 
 
 
'''In de formule voor de uitstroomsnelheid is h "de afstand tussen het vloeistofoppervlak en het midden van de opening". Is het niet beter om te stellen dat de h de hoogte is van het waterpeil tot de onderkant van de opening?'''
 
:De wet van Torricelli geldt eigenlijk alleen voor een opening die zich ''geheel'' onder het waterpeil bevindt. Wanneer het waterpeil zich tussen de onderkant en de bovenkant van de opening bevindt, zou je een andere formule moeten gebruiken. Omdat dit maar voor een deel van de tijd geldt, passen we Ockham toe voor de uitstroomsnelheid: we doen dan feitelijk alsof de uitstroomopening geen verticale afmeting heeft, en meten de hoogte vanaf het midden van het gat. Maar voor het berekenen van het ''volumedebiet'' heb je uiteraard wél een oppervlak nodig, dus daarvoor geven we het gat dan toch een afmeting.
 
 
 
== E. Eikels zoeken ==
 
 
 
'''Alleen mooie eikels?'''
 
 
 
We denken Ockham’s scheermes toe te passen en mooie eikels als instroom te nemen en geen onderscheid te maken tussen mooi/lelijk/totaal aantal eikels. Is dit mogelijk?
 
 
 
:Dat is een prima idee! De niet-zo-mooie eikels die vallen spelen immers geen rol in dit vraagstuk.
 
 
 
'''Hoe kunnen we grootheden koppelen aan de oppervlakte van het park?'''
 
 
 
Als we het parkoppervlak meenemen zouden ''aantal nieuwe mooie eikels'' en ook ''aantal opgeraapte eikels'' als eenheid #/(m<sup>2</sup> h) hebben. Moet de capaciteit van een kind dan ook per m<sup>2</sup> wat inhoudt dat de meeste variabelen dan per m<sup>2</sup> per uur worden?   
 
 
 
: De denkrichting is goed, maar let op: zou je '''alles''' per m<sup>2</sup> doen (dus ook de voorraad mooie eikels in het park in #<sub>eikel</sub>/m<sup>2</sup>) dan speelt het parkoppervlak geen rol meer, terwijl die grootheid wel relevant zou moeten zijn (want genoemd in de onderzoeksvraag). De logische eenheid voor de voorraad is #<sub>eikel</sub> (mooie eikels, dus) en die voor de instroom en uitstroom is dan dus #<sub>eikel</sub>/h. Bedenk dan zelf hoe je van de valfrequentie (#<sub>eikel</sub>/(m<sup>2</sup> h)) naar #<sub>eikel</sub>/h komt. Doe hetzelfde voor de uitstroom: daarbij zal het aantal kinderen en rol spelen, en ook hun "zoekcapaciteit". Door nu al goed op de eenheden te letten (wetend dat wat de kinderen gezamenlijk vinden eenheid #<sub>eikel</sub>/h heeft) moet je voor die "zoekcapaciteit" de goede eenheid kunnen afleiden. Vergeet daarbij niet dat het aantal per uur opgeraapte eikels mede zal afhangen van hoeveel eikels er op de rond liggen.
 
 
 
'''Is het mogelijk dat in een voorraad-stroomdiagram een voorraad geen uitstroom heeft? En moet er altijd een wolkje gebruikt worden?'''
 
 
 
:De stromen in een VSD laten zien dat een voorraad toe- of afneemt. In deze casus neemt het "aantal verzamelde eikels" alleen maar toe (ze verdwijnen niet). In zo'n geval kan een VSD dus eindigen met een voorraad zonder uitstroom, en is er ook geen wolkje aan het eind.
 
 
 
'''Mogen we ervan uit gaan dat de kinderen alle eikels in één keer oprapen?'''
 
 
 
:In dat geval zou de voorraad eikels op de grond 0 zijn en blijven zolang er kinderen zijn. Dat systeemgedrag klopt niet met de gegeven grafiek.
 
 
 
'''Wat is een geschikte eenheid voor de zoekcapaciteit per kind?'''
 
 
 
Wij proberen de goede eenheid van de zoekcapaciteit te achterhalen. We denken dat het eikels/kind/uur zou moeten zijn.
 
 
 
:De dimensie verraadt al dat deze eenheid zou betekenen dat de het aantal gevonden eikels niet afhangt van het aantal eikels dat in het park ligt. Dat is niet logisch. Probeer je het systeem voor te stellen: Kinderen zullen per tijdseenheid maar een beperkt oppervlak kunnen doorzoeken. Dat suggereert als eenheid voor hun zoekcapaciteit m<sup>2</sup>/(#<sub>kind</sub> h). Vermenigvuldig je dat met hoeveel er gemiddeld ligt (#<sub>eikel</sub>/m<sup>2</sup>, want totaal aantal gedeeld door parkoppervlak) dan heb je hun opraapsnelheid. Ik zou me dan nog afvragen of een kind dat 1 m<sup>2</sup> doorzoekt altijd álle eikels vindt die op die vierkante meter liggen. Zo niet, dan wellicht een percentage daarvan? En in dat geval zou dat percentage de eenheid #<sub>eikel</sub>/#<sub>eikel</sub> hebben, d.w.z. dimensieloos zijn (wat overigens voor ieder percentage moet gelden).
 
 
 
== F. Fietsen met gewenste snelheid ==
 
 
 
'''Moeten wij constante krachten, zoals de weerstandskracht en de trapkracht (indien gebruikt), ook in het causalerelatiediagram zetten? En gelden zwaartekracht, massa of allebei als elementen van het causalerelatiediagram? Zwaartekracht omvat weliswaar massa maar de massa wordt specifiek benoemd in de onderzoeksvraag.'''
 
:In een CRD horen geen constanten te staan. '''Maar''': deze "constante krachten" zijn niet constant.
 
:Er zijn drie soorten getallen:
 
# Constanten (zoals 2 en π) die in je model écht niet veranderen. Die horen niet in een CRD.
 
# [[Parameter]]s: getallen die de gebruiker van je model zelf mag instellen (zoals de trapkracht).
 
# [[Variabele]]n: getallen die door het model zelf aangepast worden (zoals de snelheid van de fiets).
 
:Parameters en variabelen horen wél in een CRD, want hun onderlinge relaties moeten in het model worden vastgelegd. De weerstandskracht, de trapkracht en de massa moeten door de gebruiker van je model ingesteld kunnen worden, en hun invloed op de snelheid van de fiets moet door het model berekend worden. Dus opnemen in je CRD (of in een voorraad-stroomdiagram).
 
:De zwaartekracht speelt overigens geen rol in dit model: de beweging is horizontaal, en de zwaartekracht staat daar loodrecht op. Niet overal waar massa in het spel is, heeft de zwaartekracht invloed: alleen wanneer de beweging een verticale component heeft.
 
 
 
'''Kan het zijn dat wij twee cybernetische diagrammen moeten gebruiken (voor de twee situaties van de fietser: te hard of te zacht fietsen)?'''
 
:Eén cybernetisch model is voldoende: de comparator controleert zowel de ondergrens als de bovengrens. De comparator is in dit geval de fietser zelf, die vindt dat ze te langzaam dan wel snel genoeg gaat.
 
 
 
'''De spierkracht die de fietser uitoefent, wordt door een functie bepaald. Maar de spierkracht is ook een parameter die vooraf vastgesteld wordt. Is in dit geval de spierkracht binnen het modelschema een invoervariabele of een interne variabele?'''
 
:De spierkracht die ''op een bepaald moment'' wordt uitgeoefend, is afhankelijk van de snelheid van de fietser, en dus een (interne) [[variabele]]. Deze variabele kan twee waarden hebben: nul en de spierkracht die je van tevoren bepaald hebt. Die laatste waarde is een invoervariabele (ofwel [[parameter]]). Je moet die twee grootheden dus uit elkaar houden, en ze bijvoorbeeld F<sub>s</sub> ("de spierkracht") en F<sub>t</sub> ("de spierkracht op tijd t") noemen.
 
 
 
'''In de casus wordt gesteld dat een fietser wind in de rug heeft. Moeten we in onze diagrammen rekening houden met dat de wind in realiteit kan draaien ondanks dat er nadrukkelijk staat dat de wind in de rug komt? Oftewel, moet er een variabele windrichting gebruikt worden?'''
 
:Moeten we het jullie nóg makkelijker maken om [[Ockham]] toe te passen?
 
 
 
'''We willen in ons excel model graag werken met een v<sub>min</sub> en een v<sub>max</sub> als invoervariabelen (de onder- en bovengrens). Echter weten we niet hoe we de voorwaarde voor het trappen moeten formuleren.'''
 
:Voor de situaties ónder v<sub>min</sub> en bóven v<sub>max</sub> heb je het waarschijnlijk al door: respectievelijk "trappen" en "niet trappen". Als je tússen de grenswaarden zit, zijn er echter weer twee mogelijkheden: als je van ónder aan het komen bent (ofwel: als je al aan het trappen bent) moet je ''blijven'' trappen, maar kom je van boven (ofwel: je bent ''niet'' aan het trappen) dan moet je blijven "niet trappen". Dit kun je goed weergeven in een [[toestandsdiagram]] met "trappen" en "niet trappen" als toestanden.
 
 
 
'''We stellen dat de vertraging gelijk is aan de weerstandskracht gedeeld door de totale massa. Maar aangezien die beide constant zijn, kunnen we dan ook stellen dat de vertraging constant is?'''
 
:Natuurkundig kun je het veiligst stellen dat de versnelling (of de "vertraging", als de versnelling negatief is) van een voorwerp gelijk is aan het totaal van ''alle'' krachten gedeeld door de massa.
 
:Je kunt ook (zoals jullie waarschijnlijk doen op basis van een voorraad-stroomdiagram) eerst alle versnellingen en vertragingen van de afzonderlijke krachten apart berekenen en dan de resulterende versnelling (= vertraging bij negatieve waarde) daaruit berekenen. Dan is ''de vertraging door de weerstandskracht'' inderdaad constant, maar je kunt niet stellen dat "de vertraging constant is" (want die verandert steeds afhankelijk van of er getrapt wordt of niet).
 
 
 
== G. Gratis pepernoten ==
 
'''Is het de bedoeling om ervan uit te gaan dat er extra medewerkers ingeschakeld kunnen worden?'''
 
:De opdracht spreekt van "de rij". Denk aan [[Ockham]] en hou het simpel.
 
 
 
'''Weten klanten die overwegen om in de rij te gaan staan hoe lang de kraam over 1 klant doet?'''
 
 
 
Dus als een klant pepernoten wil, weet deze klant dan "Oh, de rij duurt 20 minuten, dus ga ik er niet in staan" of "Oh, de rij is 10 min, dus ik ga er wel in staan"? Of is de tijd dat 1 klant pepernoten krijgt (een gegeven) onbekend voor de klant achteraan in de rij?
 
:Deze vraag veronderstelt dat je de bereidheid van de klant om in de rij te gaan staan uitdrukt in tijd. Dat is, gegeven de opdracht, '''geen''' goede modelleerkeuze. Daarin staat immers ''"Neem aan dat het deel van deze klanten dat besluit om in de rij te gaan staan omgekeerd evenredig is met de lengte van de wachtrij."'' De bepalende factor is dus de ''lengte'' van de wachtrij, ongeacht de wachttijd (= lengte maal bedieningstijd).
 
:Beter is hier dus om het deel van de klanten dat in de rij gaat staan te berekenen als &beta;/L waarin L de lengte van de wachtrij is, en &beta; de bereidheid om in de rij te gaan staan wachten. Immers, hoe groter &beta; hoe groter de fractie &beta;/L. N.B. &beta; is een abstracte grootheid; kies de eenheid van &beta; zo dat de fractie &beta;/L dimensieloos is.
 
 
 
== H. Hout verzamelen en verbranden ==
 
 
 
'''Specifieke voorwaarden opnemen in een voorraad-stroomdiagram?'''   
 
 
 
Moet je een specifieke voorwaarde zoals hier de maximale hoeveelheid hout die gedragen kan worden door de boswachter (draagcapaciteit) in het conceptuele model (voorraad-stroomdiagram) opnemen? Idem voor de voorwaarde dat er per keer maar 5% van het dode hout in het bos kan worden verzameld.
 
 
 
:Het conceptuele model moet '''alle''' relevante ''grootheden'' en hun ''directe onderlinge relaties'' weergeven. Draagcapaciteit is dus zo'n grootheid. Ook dat maximum gedeelte van 5% moet je als grootheid benoemen (bijvoorbeeld "verzamelfractie" of "verzamelbaar deel").   
 
:Beide grootheden zijn direct van invloed op de hoeveelheid hout die de houthakker per keer (= tijdstap!) daadwerkelijk uit het bos haalt. Die grootheid (verzin zelf een geschikte naam) is de snelheid waarmee de hoeveelheid dood hout die nog in het bos ligt afneemt ("uitstroom").   
 
:N.B. De ''waarden'' van grootheden (bijv. die 5%) horen '''niet''' in een conceptueel model thuis. Genoemde getallen zijn invoerwaarden voor het computationele model.
 
 
 
'''Boswachter of houthakker?'''
 
 
 
De casusbeschrijving heeft het over een boswachter én over een houthakker. Hierbij weten we niet of we dit als twee personen moeten zien, of dat dit dezelfde persoon is.
 
 
 
:Het gaat hier om één persoon, ondanks deze formulering.
 
 
 
'''Moet het vuur ook als voorraadgrootheid gezien worden in een VSD?'''
 
 
 
:Het ligt hier voor de hand de hoeveelheid hout op de houtstapel naast de vuurkorf als voorraadgrootheid te zien. De vraag die je dan moet stellen is: hoe (en hoe snel) "stroomt" dat hout vanuit het bos via die houtstapel naar het vuur? En als het dan verbrandt, is het dan nog wel hout? Is het verbranden niet  gewoon een constante (!) uitstroom vanuit de houtstapel naast de vuurkorf? Een uitstroom die letterlijk in rook opgaat -- grappig dat dat wolkje hier echt van toepassing is.
 
 
 
'''In vraagstuk H staat dat maximaal 5% van het hout dat nog in het bos ligt, verzameld kan worden. Voor ons is het echter onduidelijk of deze 5% een constante is of dat deze steeds verandert, afhankelijk van de hoeveelheid hout die nog in het bos ligt. Dit zou namelijk betekenen dat eigenlijk nooit al het hout in het bos verzameld kan worden.'''
 
:"Vijf procent van het hout dat nog in het bos ligt" lijkt mij (IB) redelijk eenduidig: "van wat nog in het bos ligt", niet "van wat er oorspronkelijk lag". Dat daarmee nooit al het hout in het bos verzameld kan worden, is een juiste conclusie: het overblijvende hout wordt steeds schaarser, waardoor het steeds lastiger wordt nog iets te vinden. Naar het laatste houtje kun je lang zoeken.
 
 
 
'''Is de frequentie van het hout halen (eens in de 10 minuten) een invoervariabele? Hij staat niet in de onderzoeksvraag en daarom weten wij dit niet zeker.'''
 
:De tien minuten mag je inderdaad als vaststaand nemen.
 
  
'''Er zijn twee variabelen die een bepaalde limiet stellen, namelijk de draagcapaciteit en de 5%-eis. Wij komen er niet helemaal uit hoe je dit moet implementeren in een formule.'''
+
== Excel wordt traag ==
:Als 5% van wat er aan hout in het bos ligt, teveel is voor de boswachter om te dragen, is de draagcapaciteit de beperking. Is dat niet zo, dan neemt de boswachter die 5% mee. Zo heb je een voorwaarde plus twee mogelijke uitkomsten. Dat kun je dus noteren zoals beschreven in [[Functievoorschrift#Onderverdeling_van_het_domein|deze paragraaf]].
 
  
= Warmloopestafette =
+
'''Excel doet er heel lang over om het model te laden / door te rekenen / op te slaan. Wat kan ik daaraan doen?'''
M.b.t. de onderwerpen van de warmloopestafette zijn geen vragen gesteld.
+
: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.

Huidige versie van 14 nov 2024 om 06:50

Het modelleerpracticum wordt niet meer in estafettevorm aangeboden!

Op deze pagina verzamelden we antwoorden op vragen die n.a.v. de lopende estafette werden gesteld.
We hebben deze pagina voor dit collegejaar (2024-2025) opgeschoond door alle organisatorische en technische vragen te verwijderen.


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).

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.


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 formuleer je wiskundig het tijdstip waarop bijv. de maximale snelheid bereikt wordt?

Meer algemeen ben je op zoek naar een tijdstip waarop het systeem in een specifieke toestand verkeert. Zo'n toestand kun je altijd noteren m.b.v. van een logische conditie net zoals die langs de pijlen van een eindigetoestandsautomaat. In dit geval wil je noteren dat de snelheid van iets (bijv. een fietser die een helling afrijdt) op tijdstip t groter of gelijk is aan de hoogste snelheid die die fietser gedurende de afdaling bereikt. Je moet dan dus eerst die hoogst bereikte snelheid vmax bepalen. Zoals hier uitgelegd noteer je dat met de functie max zo:
vmax = max(v0, ..., vteind)
waar teind het laatste tijdstip van de simulatie is.
Nu kun je de toestand "de fietser rijdt met de hoogste snelheid" noteren als de conditie vt = vmax.
Tenslotte wil je weten: op welk tijdstip rijdt de fietser voor het eerst zo hard? Met andere woorden: wat is de laagste waarde van tijd t waarop vt = vmax? Zoals hier uitgelegd noteer je de verzameling van alle tijdstippen waarop de fietser zo hard rijdt als {t: vt = vmax}. De laagste waarde van t krijg je dan zo:
tmsb = min({t: vt = vmax})
("msb" staat voor "maximale snelheid bereikt").

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.