ModEst:Q&A lopende estafette: verschil tussen versies

Uit Systeemmodellering
Naar navigatie springen Naar zoeken springen
Regel 220: Regel 220:
 
=== Vraagstuk F – Fietserskruising ===
 
=== Vraagstuk F – Fietserskruising ===
 
'''Hoe bepaal ik de maximale wachttijd van de fietsers?'''<br>
 
'''Hoe bepaal ik de maximale wachttijd van de fietsers?'''<br>
Als N het aantal wachtenden is, is de maximale '''lengte''' van de wachtrij te berekenen met _max_(N<sub>t</sub>) (over alle tijdstappen t). Maar dat is niet de wachttijd. Hoe bereken ik die?
+
Als N het aantal wachtenden is, is de maximale '''lengte''' van de wachtrij te berekenen met ''max''(N<sub>t</sub>) (over alle tijdstappen t). Maar dat is niet de wachttijd. Hoe bereken ik die?
 
:Goede vraag. Er zijn twee manieren om dat te doen. De meest nauwkeurige, maar ook de meest lastige, is dat je kiest voor een model met variabele tijdstap, waarbij je van elke fietser zowel de aankomsttijd als de vertrektijd bijhoudt. Maar omdat de verkeersregeling een variabele tijd "groen" geeft, is het berekenen van de vertrektijd m.b.v. een vergelijking erg ingewikkeld.
 
:Goede vraag. Er zijn twee manieren om dat te doen. De meest nauwkeurige, maar ook de meest lastige, is dat je kiest voor een model met variabele tijdstap, waarbij je van elke fietser zowel de aankomsttijd als de vertrektijd bijhoudt. Maar omdat de verkeersregeling een variabele tijd "groen" geeft, is het berekenen van de vertrektijd m.b.v. een vergelijking erg ingewikkeld.
 
:''Je moet dus vereenvoudigen.'' Eén manier om dat te doen is dat je de maximale wachtrijlengte deelt door de verwerkingscapaciteit van het kruispunt. Je doet dan dus de aanname dat de wachtrij nooit zo lang worden dat het verkeerslicht op rood springt terwijl er nog fietsers staan. Je weet dan wel dat je bij grote drukte die maximale wachttijd onderschat. Dat is dan een beperking van je model waar in Stap 4 op gewezen moet worden.
 
:''Je moet dus vereenvoudigen.'' Eén manier om dat te doen is dat je de maximale wachtrijlengte deelt door de verwerkingscapaciteit van het kruispunt. Je doet dan dus de aanname dat de wachtrij nooit zo lang worden dat het verkeerslicht op rood springt terwijl er nog fietsers staan. Je weet dan wel dat je bij grote drukte die maximale wachttijd onderschat. Dat is dan een beperking van je model waar in Stap 4 op gewezen moet worden.

Versie van 19 mrt 2021 12:58

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

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

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

Inhoud

Hulp vragen

Hoe vraag ik om hulp?

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

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

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

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

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

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

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

Verwijzing naar de Q&A

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

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

Algemene modelleervragen

Onderzoeksvraag

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

Indien er geen reden is om aan te nemen dat exogene grootheden dynamisch zijn, dan mag je ze constant veronderstellen.
Bij sommige vraagstukken (C, D en E in Estafette A) wordt expliciet aangegeven welke exogene grootheden tijdsafhankelijk zijn en daarom bij de operationalisatie (estafettestap 2) als een functie van de tijd moeten worden gedefineerd, d.w.z. x = f(t) (zie Functievoorschrift).

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 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 empirische verdeling laat zien in een staafdiagram zoals beschreven in de vraag hierboven.

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.

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.

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.

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.

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, zoals bijvoorbeeld bij het MNL-model. Maar let op: die kans wordt berekend door een deterministisch model. 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).

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

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

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.

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

Tijdsafhankelijke exogene variabelen operationaliseren

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

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

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

Dat is alleen nodig wanneer je de parameters in het functievoorschrift als grootheden benoemt die natuurlijke eenheden hebben. Als je bijvoorbeeld een exogene grootheid snelheid in je model hebt opgenomen en daarvoor als eenheid km/h hebt gekozen, en je wilt aangeven dat die snelheid als functie van de tijd verandert zonder de oorzaken daarvan in je model op te nemen, dan operationaliseer je hem als vt = f(t) waar f(t) dan een functievoorschrift is. Omdat alle grootheden waarvan snelheid afhankelijk zou kunnen zijn (denk aan versnellingen en vertragingen a.g.v. krachten) buiten de systeemgrenzen vallen (en dus niet benoemd worden en evenmin een eenheid hebben) is f(t) geheel abstract, en dan is het niet nodig om dimensieanalyse op het functievoorschrift van f uit te voeren.

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.

Gevoeligheidsanalyse

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

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.

Voorkomen van kringverwijzing

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

Vraagstuk A – Amerikaanse internationale luchthaven

Vraagstuk B – Besparen door koudeopslag

Wat is het verschil tussen de omgevingstemperatuur (Tomg) en de buitentemperatuur, en wat is precies de minimumtemperatuur?

De omgevingstemperatuur is gelijk aan de buitentemperatuur: de containers staan in de openlucht.
De minimumtemperatuur is de temperatuur waarmee gekoeld wordt (vergelijk het met de temperatuur van het koelelement in een koelkast).

Is Tmin de laagste temperatuur die de container moet bereiken?

Nee: Tmin is de temperatuur van het koelelement. Die moet altijd lager zijn dan de laagste temperatuur die je in de container wilt bereiken, anders duurt het 'oneindig lang' voordat de container die laagste temperatuur bereikt (probeer dat maar uit in het model).

Vraagstuk C – Concurrerende social media platforms

Vraagstuk D – Drukte op een metrostation

Vraagstuk E – Ecologisch verantwoord vissen

Vraagstuk F – Fietserskruising

Hoe bepaal ik de maximale wachttijd van de fietsers?
Als N het aantal wachtenden is, is de maximale lengte van de wachtrij te berekenen met max(Nt) (over alle tijdstappen t). Maar dat is niet de wachttijd. Hoe bereken ik die?

Goede vraag. Er zijn twee manieren om dat te doen. De meest nauwkeurige, maar ook de meest lastige, is dat je kiest voor een model met variabele tijdstap, waarbij je van elke fietser zowel de aankomsttijd als de vertrektijd bijhoudt. Maar omdat de verkeersregeling een variabele tijd "groen" geeft, is het berekenen van de vertrektijd m.b.v. een vergelijking erg ingewikkeld.
Je moet dus vereenvoudigen. Eén manier om dat te doen is dat je de maximale wachtrijlengte deelt door de verwerkingscapaciteit van het kruispunt. Je doet dan dus de aanname dat de wachtrij nooit zo lang worden dat het verkeerslicht op rood springt terwijl er nog fietsers staan. Je weet dan wel dat je bij grote drukte die maximale wachttijd onderschat. Dat is dan een beperking van je model waar in Stap 4 op gewezen moet worden.

Estafette B

Vraagstuk A – Afleveren van pakketjes

Wordt het uurloon aan het einde van de werkdag berekend door het totaal op één dag verdiende bedrag te delen door het aantal gewerkte uren?

Goede vraag ter verduidelijking. Dat is inderdaad wat hier met "uurloon" bedoeld wordt.

Vraagstuk B – Bijvullen van flesjes met ontsmettingsvloeistof

Vraagstuk C – "Corona-proof" houden van winkelcentrum

Is het bij een VSD correct om een wisselwerking tussen twee voorraadgrootheden te hebben?
Dus tussen twee rechthoeken een dubbele pijl heen én een dubbele pijl terug, bijv. van het plein naar winkel A en van winkel A terug naar het plein?

Dat is zeker heel goed mogelijk. In Vensim is het wel even wat werk om de layout OK te krijgen, maar het kan daarin wel netjes worden weergegeven.

Is het gewenste maximum aantal mensen op het plein niet ook een "gegeven"?

Inderdaad had dat gewenste maximum aantal mensen ook als "gegeven" moeten worden vermeld. Bedenk wel dat de BOA's (net als een thermostaat) bij het handhaven twee grenswaarden zullen hanteren: één waarboven ze beginnen met weren, en een waaronder ze weer stoppen met weren.

Er wordt niet aangegeven hoelang men op het plein is of een kans dat ze daar zijn of iets dergelijks. Is er een looptijd die we weten?

Eigenlijk is de situatie op het plein niet zo anders dan die in een winkel. Iemand komt het plein op, loopt daar even, en gaat dan een winkel in of het plein af. Het plein overlopen duurt niet zo lang, maar sommige mensen gaat misschien even op een bankje zitten, of blijven staan praten. Daar kun je wel een 'verhaal' van maken met bijbehorende gemiddelde verblijftijd op het plein.
Na die verblijftijd gaan de mensen van het plein volgens een te kiezen verdeling een van de winkels in, of verlaten ze het winkelcentrum.

Zij de twee uitvoervariabelen (de frequentie waarmee de BOA’s het plein afsluiten en de periode dat ze de toegang gesloten houden) niet eigenlijk hetzelfde?

Bij een cybernetische regeling is het goed om twéé grenzen te hebben: een bovengrens waarboven de nieuwe toestand ingaat, en een ondergrens waaronder weer naar de eerdere toestand wordt teruggeschakeld. Bij een thermostaat wordt dit ook toegepast: zo voorkom je aan-uit-aan-uit-gedrag. Zo'n regeling wordt hier ook bedoeld, en dan gaan die twee variabelen niet meer over hetzelfde.

Vraagstuk D – Duo’s samenstellen voor estafette

Welke kansverdeling kies je om een kans lineair te laten toenemen?

Je bedoelt: "Hoe kan ik de kans op een gebeurtenis lineair laten toenemen?" Een kans is immers gewoon een getal tussen 0 en 1. Om een kans p lineair toe te laten nemen gebruik je een vergelijking, bijvoorbeeld (simpel) pt = 0.01·t, of (netter) als een differentievergelijking pt+Δt = pt + α. Die kans kun je dan weer gebruiken als parameter voor (bijvoorbeeld) een binomiale verdeling. N.B. Zorg er in je vergelijking wel voor dat de waarde van p altijd tussen 0 en 1 zal liggen.

Vraagstuk E – Ernstige ziekteverschijnselen

Hoe bereken je de tijd totdat het ziekenhuis voor het eerst patiënten moet weigeren?

Dit is gelijk aan het vroegste tijdstip waarop het aantal nieuw aankomende patiënten groter is dan het aantal nog vrije bedden. Dat kun je op dezelfde manier wiskundig weergeven als "het moment waarop het bootje de overkant bereikt" bij vraagstuk A van estafette A.

Hoe bereken je de uitstroom uit het ziekenhuis?

Hoe je in een probabilistisch model de uitstroom uit een voorraadgrootheid o.b.v. een gemiddelde verblijftijd berekent wordt uitgelegd in het artikel over het voorraad-stroomdiagram.

Vraagstuk F – Fanatieke feestgangers

Hoe bereken je het aantal nieuwe besmettingen?

Het aanta nieuwe besmettingen wordt bepaald door zowel het aantal gezonde als het aantal besmette leden. Voor beide voorraadgrootheden geldt: hoe meer in deze "voorraad", hoe groter het aantal besmettingen. Dan is er ook nog de besmettelijkheid van het virus: hoe groter, hoe meer besmettingen.
Verder moet gelden: nooit meer nieuwe besmettingen dan dat er nog gezonde mensen zijn. Dat wijst op een binomiale verdeling met N gelijk aan het aantal nog gezonde clubleden en kans p afhankelijk van het percentage besmette leden en de besmettelijkheid van het virus.

In de voorbeeldgrafiek staat dat het aantal besmette clubleden omhoog en naar beneden gaat. Betekent dit dat ze ook herstellen?

Nee. De aanname is dat wie besmet raakt uiteindelijk ook symptomen krijgt. En die mensen worden uit de club gegooid, dus zo daalt het aantal besmette leden. En dus ook het totaal aantal clubleden, natuurlijk, maar dat zie je niet in de grafiek.

Hoe bereken je het aantal besmette leden dat uit de club wordt gezet?

Zie de "latentietijd" als de gemiddelde verblijftijd in de "voorraad" besmette leden. Hoe je in een probabilistisch model de uitstroom uit een voorraadgrootheid o.b.v. een gemiddelde verblijftijd berekent wordt uitgelegd in het artikel over het voorraad-stroomdiagram.

Vraagstuk G – Gespreid downloaden graag!

Wij willen de reactietijd van de studenten als een stochast weergeven. Is de exponentiële verdeling dan geschikt?

Dat zou kunnen (met λ = 1/R als je als gemiddelde R wilt hebben). Maar dat veronderstelt wel dat je een model met variabele tijdstap maakt, waarbij dan elke tijdstap precies 1 student voor het eerst op de knop klikt.
Als je een model met vaste tijdstap Δt maakt is de exponentiële verdeling ongeschikt. In dat geval kun je de gemiddelde reactietijd van studenten zien als hun gemiddelde "verblijftijd" in de voorraad studenten die nog niet gestart zijn (N). De uitstroom is dan Bin(Nt, Δt/R) verdeeld. Dit staat uitgelegd bij het voorraad-stroomdiagram.

Hoe modelleer je het "ongeduld" van studenten? Moet je daar een kansverdeling voor definiëren?

Niet voor de grootheid "ongeduld" zelf. De wachtende studenten (voorraad W) zullen zo nu en dan opnieuw klikken. Hoe groter hun ongeduld, hoe vaker ze dat zullen doen -- gemiddeld per uur. En ook: hoe meer wachtende studenten, hoe meer er zullen klikken. Dan heeft het aantal extra requests typisch de verdeling Bin(Wt, p) waar p de kans is dat 1 student gedurende 1 tijdstap opnieuw klikt. Hoe ongeduldiger, hoe groter die kans p, dus is p de variabele die de grootheid "ongeduld" weergeeft.

Estafette A

Vraagstuk A – Afwijkend bootje

Hoe bereken je hoe lang het duurt voordat het bootje de overkant bereikt?
Gevraagd wordt om de afgelegde afstand. Het bootje vaart met constante snelheid v, dus is de afstand v·t maar dan voor t op het moment dat het bootje de overkant bereikt. Hoe noteer je dat in een vergelijking?

De positie van het bootje is (zo blijkt uit de voorbeeldgrafiek) tijdafhankelijk: (xt, yt) met beginpositie (0, 0). Geef je de breedte van de rivier weer als variabele b, dan is het bootje aan de overkant zodra xtb. Je zoekt dus naar de laagste waarde van t waarvoor xtb. De vergelijking voor die waarde noteer je als teind = min({t | xtb}). In woorden staat daar dan: "De eindtijd is gelijk aan de laagste waarde in de verzameling van tijdstippen t waarvoor geldt dat xt groter is dan b". Zie ook: Notatie van vergelijkingen

Vraagstuk B – Beheer van waterbassins

Hoe bereken je het tijdstip waarop er tekort aan water ontstaat?
De tweede onderzoeksvraag vraagt op welk tijdstip er een tekort aan water ontstaat (per bassin). Het lijkt mij dat dit af te lezen is aan de grafiek: wanneer de waterhoeveelheid 0 bereikt, is er een tekort aan water. Hoe geef je dit weer als modelvergelijking?

Inderdaad kun je dit aflezen aan de grafiek, precies zoals je het omschrijft. Wiskundig gezien ben je op zoek naar de waarde van t waarbij de waterhoeveelheid Q voor het eerst nul wordt. Dat kun je ook formuleren als "de laagste waarde van t waavoor geldt dat Qt = 0". Wiskundig noteer je dit dan als ttekort = min({t | Qt = 0}). Zie ook de vergelijkbare vraag bij vraagstuk A.

Is de formule VA, t+1 = VA, t + (IA - BA - IB)*1 tijdsafhankelijk?

Hoeveel meer bewijs van tijdsafhankelijkheid wil je hebben als 't+1' en 't' expliciet in de formule staan?

Vraagstuk C – Curtailment vanwege congestie op het netwerk

In de beschrijving van vraagstuk C zijn grafieken van wind en zon als voorbeeld gegeven. Hoe maak je zo'n functie met sinussen?

In het geval van de zonne-energie gaat het om een sinus met een lage frequentie en een grote amplitude met daar bovenop een sinus met een hogere frequentie en een fluctuerende amplitude. De fluctuerende amplitude is verkregen door de hoogfrequente sinus te vermenigvuldigen met een sinus die een frequentie heeft tussen die van de andere twee sinussen in. De laagfrequente sinus modelleert het dagritme, en de hoogfrequente sinus bootst de kortere fluctuaties na, zoals 'wolken voor de zon'. In het voorbeeldplaatje zie je ook dat de zonnefunctie niet symmetrisch rond de tijdas ligt: er is een constante bij de functie opgeteld.
Uit deze beschrijving blijkt dat voor de zonne-intensiteit I bijvoorbeeld kan gelden:
I(t) = a·sin(αt) + b·sin(βt)·sin(γt) + c,
waarin a > b en α < β < γ. De waarde van α moet zo gekozen worden dat er een 24-uurs-cyclus ontstaat (hint: reken 24 uur om naar 2π). Het stuk b·sin(βt) is de fluctuerende amplitude van de sin(γt). Je moet er ook voor zorgen dat de uitkomst nul wordt wanneer de functie onder nul zakt (want negatieve zonnestraling bestaat niet).
Door wat te spelen met de waarden van de overige parameters, kun je in de buurt komen van de voorbeeldplaatjes (die niet meer zijn dan voorbeelden, dus je hoeft zeker niet exact hetzelfde te krijgen).
Voor de windenergie kun je op een overeenkomstige manier een functie bouwen, maar daar hoeft de laagfrequente sinus niet een periode van 24 uur te hebben.

Hoe zorg je dat de hoogste piek van het opgewekte vermogen gelijk is aan de waarde van een invoervariabele?

Inderdaad kun je het maximum vermogen PMAX van een energiepark als invoervariabele zien. De functie vermenigvuldig je dan met PMAX. Je moet er dan alleen nog voor zorgen dat die functie hooguit waarde 1 heeft.
Het bereik van een standaard (co)sinusfunctie is het interval [-1, 1]. De som van M (co)sinusfuncties a1·sin(b1·t) + a2·sin(b2·t) + ... + aM·sin(bM·t) zal daarom maximaal gelijk zijn aan S = a1+a2+ ... +aM. Om ervoor te zorgen dat de functie die het vermogen van een energiepark beschrijft maximaal PMAX is moet je dus vermenigvuldigen met PMAX maar dan ook delen door S.

Moet je om de windenergie te berekenen de windsnelheid omrekenen naar vermogen?

Nee: de in de opdracht gegeven voorbeeldfuncties beschrijven al het energetische vermogen; een omrekening is dus niet meer nodig.
(Het vermogen is evenredig met de derde macht van de windsnelheid, maar dan is er ook nog een maximum per turbine boven een bepaalde windsnelheid. Dat wordt in dit geval onnodig ingewikkeld.)

Vraagstuk D – Docent krijgt het druk

Onze lijndiagram met het aantal uren rust van de docent ziet er anders uit dan de voorbeeldgrafiek in de opgave. Hoe kan dat? En is dat erg?

De vorm van de grafiek volgt niet alleen uit de vergelijkingen die je hebt opgesteld, maar ook uit de lengte van je tijdstap.
Wanneer je "rust" voor de docent opvat als "een tijdstap waarin er geen vragen voor de docent zijn" (dus een tijdstap waarvoor de voorraadgrootheid nul is), dan is de uitvoervariabele dus het aantal van dergelijke tijdstappen in de afgelopen 24 uur.
Meestal geldt: hoe kleiner de tijdstap, hoe "gladder" het verloop van de grafiek. De voorbeeldgrafiek is gebaseerd op een tijdstap van 1 uur. Dat maakt implementatie in Excel eenvoudiger omdat dan elke rij 1 uur is en je met de functie AANTAL.ALS(celbereik, 0) het aantal uur "rust" in dat celbereik kunt tellen. Een celbereik van 24 uur noteer je dan in Excel bijvoorbeeld als C10:C33.
Wanneer je in je toelichting bij je modeluitkomsten goed kunt verklaren waarom je grafiek een bepaalde vorm heeft, dan is het niet erg als hij er anders uitziet dan de voorbeeldgrafiek.

Vraagstuk E – Eén winkelmandje per klant

Hoe bereken je de maximale lengte van de wachtrij?
Gevraagd wordt om niet alleen het verloop van de wachtrijlengte te laten zien, maar ook te bepalen hoeveel mensen staan te wachten wanneer de wachtrij het langst is. Hoe noteer je dat in een vergelijking?

Als je de uitvoervariabele Wt gebruikt om het aantal wachtende klanten weer te geven, en ook WMAX als uitvoervariabele neemt, dan kun je de vergelijking voor de hoogste waarde noteren als:
WMAX = max(Wt) voor t ∈ [0, teind]
of m.b.v. de formule-editor nog iets compacter:
MaxWt.png
In woorden staat daar dan: "... de hoogste waarde van Wt voor alle tijdstippen t op het gesloten interval tussen 0 en teind (met teind de eindtijd van de simulatie). Bij de tweede notatie wordt het domein van t niet expliciet gedefinieerd, en dan moet je het lezen als "het maximum over alle tijdstippen t".

Vraagstuk F – Fietsers maken noodstop

Hoe kunnen we krachten, versnellingen en vertragingen in een CRD zetten?

Voor de fysische grootheden versnelling en snelheid is een CRD een beetje problematisch.
Of een versnelling (de a in F=m·a dus) nu toeneemt of afneemt, de snelheid blijft steeds toenemen. Dat is lastig weergeven in een CRD.
Pas wanneer de versnelling negatief wordt, gaat de snelheid afnemen (in het gewone spraakgebruik heet het dan "vertraging", maar fysische gezien is het een negatieve versnelling).
Je kunt dit daarom beter weergeven in een VSD, met een 'versnelling' als instroom en een 'vertraging' als uitstoom voor de voorraadgrootheid 'snelheid'.
(Helemaal blij is de fysicus dan nog steeds niet, want de grootheid a springt dan van de instroom naar de uitstroom als deze negatief wordt. Maar in een vraagstuk waar een fietser óf harder trapt om te versnellen óf in de remmen gaat, is daar wel overheen te komen.)

Hoe komen we aan de formule voor de volgafstand?

Niet.
Je moet een dynamisch model maken, wat inhoudt dat je tijdstap na tijdstap bepaalt wat de nieuwe snelheden zijn (op basis van de oude snelheden en de versnelling of vertraging) en de daaruit volgende nieuwe locaties (op basis van de nieuwe snelheden). De volgafstand is dan het verschil tussen de locaties (vergeet niet de lengte van een fiets in mindering te brengen), dus die is een uitvoervariabele van het model.

Moeten we de remweg berekenen?

Nee. De vraag gaat over de volgafstand en het eventueel botsen van de fietsers. Daar heb je de remweg niet voor nodig. Een formule afleiden voor de remweg is dus ook niet nodig (en zou, net als bij de vorige vraag, voorbijgaan aan het feit dat je een dynamisch model moet maken: de remweg zou dus moeten volgen uit de modelberekeningen, niet uit een kant-en-klare formule).

Vraagstuk G – Gistproductie

Doordat we geen gegevens hebben over de batchtijd, de vermenigvuldigingstijd, met hoeveel bacteriën het systeem begint en hoeveel bacteriën erover blijven na de spoeling lukt het ons niet om een model te maken. Wat nu?

Van sommige grootheden (bijv. de dichtheid en de soortelijke warmte van een stof, of de efficiëntie van een energiecentrale) kun je de waarde opzoeken. Voor onbekende grootheden (zoals hier de eigenschappen van het productieproces en de bacteriestam) doe je verstandige aannames. Houd die dan simpel zodat je het modelgedrag kan controleren met eenvoudige berekeningen.
Neem in dit vraagstuk als batchduur dus eerst 1 uur, en neem als tijdstap van je model dan die batchduur (dus ook 1 uur). Neem voor de groeifactor en de desinfectiefactor "ronde getallen": een beginwaarde 1000 en groeifactor 1,1 zou dan groei 1000→1100→1210 enz. moeten geven, en bij een desinfectiefactor van bijv. 90% zou je een daling van bijv. 10.000→1000→100 enz. moeten zien. Voor de drempelwaarden van de regeling van dit cybernetische systeem kies je dan bijv. om bij 10.000 of meer bactieriën te beginnen met spoelen en dan pas te stoppen met spoelen zodra het aantal bacteriën onder de 1000 komt. Dan kun je goed controleren of de grafiek van je uitvoervariabele tussen die twee waarden "pingpongt" (met een beetje "overshoot" en "undershoot", zie bijv. deze uitleg van de werking van een thermostaat).

Warmloopestafette

M.b.t. de vraagstukken van de warmloopestafette zijn geen vragen gesteld.