Oefeningen:Beslismodel
Oefeningen bij het artikel Beslismodel
Inhoud
Herhalingsvragen
Meerkeuzevragen
Oefenopgaven
De volgende oefenopgaven behoren niet tot de stof voor Systeemmodellering (TB112), maar zijn bedoeld voor studenten die bezig zijn met Besliskunde (TB135).
Met deze oefenopgaven kun je nagaan of je voldoend vaardigheid hebt in het wiskundig formuleren van beslisproblemen.
De vraagstukken gaan over:
- het kiezen van beslisvariabelen
- het formuleren van het streefdoel
- het formuleren van randvoorwaarden
Door op te klikken krijg je het antwoord te zien.
(a) Beslisvariabelen definiëren
Definieer voor elk van de volgende beslissingssituaties elegante beslisvariabelen, d.w.z. dat je de handelingsvrijheid van de beslisser correct weergeeft met zo min mogelijk variabelen. Ga vervolgens na hoeveel vrijheidsgraden het beslisprobleem heeft.
- Een student wil op één vaste dag van de week werken.Dit is een 1-uit-n-keuzeprobleem, dus kunnen we een enkelvoudige variabele gebruiken:
- x ∈ {ma, di, wo, do, vr, za, zo}
Het probleem heeft 1 vrijheidsgraad, want er is één beslisvariabele. Het aantal elementen van het domein van die variabele doet er niet toe.
- Een student wil elke week op twee vaste dagdelen werken.
De eenvoudigste representatie is een uitbreiding op de vorige opgave: twee enkelvoudige beslisvariabelen:
- x ∈ {ma, di, wo, do, vr, za, zo} en y ∈ {ochtend, middag, avond}
Het beslisprobleem heeft dan 2 vrijheidsgraden.
Je kunt het ook als een m-uit-n-keuzeprobleem opvatten. In dat geval gebruik je een matrix van binaire beslisvariabelen. Er zijn dan 7×3 = 21 dagdelen, dus definiëren we een 7×3-matrix:
- matrix X met xi,j ∈ {0, 1} voor i = 1, ..., 7 en j = 1, ..., 2 waarbij xi,j = 1 ⇔ de student op dag i deel j werkt.
Dit probleem heeft dan 14 vrijheidsgraden.
- Een student wil in de periode maandag – vrijdag 18 zelfstudie-uren inplannen.Dit is duidelijk een m-uit-n-keuzeprobleem, dus nemen we weer een matrix van binaire variabelen. We gaan uit van reguliere werktijd, dus 5×8 = 40 uren:
- matrix X met xi,j ∈ {0, 1} voor i = 1, ..., 5 en j = 1, ..., 8 waarbij xi,j = 1 ⇔ de student op dag i uur j studeert.
Het beslisprobleem heeft zo 40 vrijheidsgraden.
- Een docent wil een tentamen maken met 20 meerkeuzevragen over 6 verschillende onderwerpen.Dit is een toewijzingsprobleem. We zouden kunnen kiezen voor een vector met 20 geheeltallige variabelen die het nummer van het onderwerp (1 – 6) aangeven:
- vector X met xi ∈ {1, ..., 6} voor i = 1, ..., 20
Maar waarschijnlijk is wordt het formuleren van randvoorwaarden gemakkelijker als we binaire beslisvariabelen gebruiken:
- matrix X met xi,j ∈ {0, 1} voor i = 1, ..., 20, en j = 1, ..., 6 waarbij xi,j = 1 ⇔ vraag i betreft onderwerp j.
In het eerste model heeft het beslisprobleem 20 vrijheidsgraden, in het tweede geval 120.
- Een docent wil voor vijf open vragen het maximaal aantal te behalen punten bepalen.Omdat bij dit beslisprobleem een abstract aantal wordt verdeeld, ligt het wél voor de hand een vector met 5 geheeltallige variabelen te nemen die per vraag het aantal te behalen punten aangeven:
- vector X met xi ∈ ℕ voor i = 1, ..., 5
Het beslisprobleem heeft zo 5 vrijheidsgraden.
- Een voetbalelftal minus de doelverdediger wil zich in twee groepen van 5 opdelen om strafschoppen op het doel te oefenen.Dit is weer een toewijzingsprobleem, en waarschijnlijk wordt het formuleren van randvoorwaarden gemakkelijker als we binaire beslisvariabelen gebruiken:
- matrix X met xi,j ∈ {0, 1} voor i = 1, ..., 10 en j = 1, ..., 2 waarbij xi,j = 1 ⇔ speler i zit in subteam j
Merk op dat het gaat om toewijzing aan 2 subteams; dat die uit 5 personen bestaan is hier nog niet relevant.
Het beslisprobleem heeft zo 20 vrijheidsgraden. - Een trainer wil uit 23 spelers een elftal samenstellen waarbij elke speler een specifieke positie in de 5-3-2-opstelling krijgt.Dit lijkt een m-uit-n-keuzeprobleem, maar omdat elk van de 11 te selecteren spelers een specifieke plaats in de opstelling krijgt, is het een toewijzingsprobleem. We nemen dus weer binaire beslisvariabelen:
- matric X met xi,j ∈ {0, 1} voor i = 1, ..., 23 en j = 1, ..., 11 waarbij xi,j = 1 ⇔ speler i staat op positie j
Het beslisprobleem heeft zo 253 vrijheidsgraden.
- Het WK-gastland wil n wedstrijden verdelen over m stadions.Alweer een toewijzingsprobleem, maar nu met onbekende aantallen:
- matrix X met xi,j ∈ {0, 1} voor i = 1, ..., n en j = 1, ..., m waarbij xi,j = 1 ⇔ wedstrijd i wordt gespeeld in stadion j
Het beslisprobleem heeft zo n·m vrijheidsgraden.
- Een grote onderneming wil een voetbalteam dat deelneemt aan het WK sponsoren.Dit is een 1-uit- n-keuzeprobleem, dus volstaat een enkele geheeltallige beslisvariabele:
x ∈ {1, ..., n} waarbij de nummers overeenkomen met de n deelnemende teams.
Het beslisprobleem heeft zo n vrijheidsgraden (bij het laatste WK was n = 32).
- Een groep van vier voetbalsupporters wil kaarten kopen voor één of meer WK-wedstrijden.De vier supporters kunnen ieder een willekeurig aantal kaarten kopen. We representeren dit door per supporter voor elke wedstrijd met binaire beslisvariabelen aan te geven of hij/zij voor die wedstrijd een toegangskaart koopt:
- matrix X met xi,j ∈ {0, 1} voor i = 1, ..., 4 en j = 1, ..., n waarbij xi,j = 1 ⇔ speler i koopt toegangskaart voor wedstrijd j
Het beslisprobleem heeft zo 4n vrijheidsgraden.
Merk op dat je bij meerdimensionale matrices zelf mag kiezen waar de dimensies voor staan. Er is dus geen regel die bijv. stelt dat je dat wat moet worden toegewezen in rijen moet zetten, en dat waaraan wordt toegewezen in kolommen.
(b) Streefdoel definiëren
Geef voor elk van de hierboven gedefinieerde beslissingssituaties een wiskundige formulering voor het voor die situatie meest voor de hand liggende streefdoel. Definieer zelf de daarbij passende criteriumvariabelen, gegeven de volgende preferenties:
- De student waardeert bepaalde tijdstippen vooral om te studeren, andere tijdstippen vooral om te werken, en weer andere om vrij te hebben voor sport of uitgaan.
- De docent wil zijn tentamen zo maken dat de vragen zo evenwichtig mogelijk verdeeld zijn over de behandelde onderwerpen (bijv. 25% A, 10% B, 15% C, 20% D, 20% E en 10% F).
- Het subteam dat bij de oefenstrafschoppen de meeste doelpunten scoort wint, dus is het zaak dat de twee subteams qua samenstelling even sterk zijn.
- De trainer wil de meest fitte spelers opstellen.
- Het WK-gastland wil de meest populaire wedstrijden in de grootste stadions laten spelen.
- De sponsor wil zo veel mogelijk exposure, en dus het team met de hoogste verwachte speeltijd tijdens het WK.
- De voetbalsupporters willen zoveel mogelijk plezier aan het WK beleven. Ze hebben allen hun eigen voorkeur t.a.v. de wedstrijden, en daarbij ook nog hun voorkeur t.a.v. elkaar. Het plezier dat iemand beleeft aan een wedstrijd wordt groter naarmate ze de groepsleden die meegaan gezelliger vinden.
- Een student wil op één vaste dag van de week werken.
- MAX: u(x)
- waarbij
- x ∈ {ma, di, wo, do, vr, za, zo} de beslisvariabele
- u(x) het nut dat de student ontleent aan het werken op dag x
- Een student wil elke week op twee vaste dagdelen werken.
- MAX: ∑i=17 ∑j=13 ui,j∙xi,j
- waarbij
- xi,j ∊ {0, 1} voor i = 1, ..., 7 en j = 1, ..., 3 de beslisvariabelen (met xi,j = 1 ⇔ de student op dag i deel j werkt)
- ui,j het nut dat de student ontleent aan het werken op deel j van dag i
- Merk op dat de regels onder “waarbij” beginnen met de definitie van de beslisvariabele uit de voorgaande opgave.
- Een student wil op één vaste dag van de week werken.
- MAX: ∑i=15 ∑j=18 ui,j∙xi,j
- waarbij
- xi,j ∊ {0, 1} voor i = 1, ..., 5 en j = 1, ..., 8 de beslisvariabelen (met xi,j = 1 ⇔ de student op dag i uur j studeert)
- ui,j het nut dat de student ontleent aan zelfstudie op deel j van dag i
- Een docent wil een tentamen maken met 20 meerkeuzevragen over 6 verschillende onderwerpen.
Gegeven was dat de docent zijn tentamen zo wil maken dat de vragen zo evenwichtig mogelijk verdeeld zijn over de behandelde onderwerpen. De verdeling naar relevantie van onderwerp was bij wijze van voorbeeld gegeven als 25% A, 10% B, 15% C, 20% D, 20% E en 10% F. In onze uitwerking noemen we die percentages ri, en et aantal vragen per onderwerp geven we weer als ai (i = 1, ..., 6). Voor de zes onderwerpen moet dan de verhouding ai/ri voor alle i gelijk zijn. Om de “gelijkheid” van de verdeling over onderwerpen te bepalen kunnen we de variantie als maat gebruiken: als die minimaal is, is de “gelijkheid” maximaal. Het streefdoel kunnen we daarom formuleren als:
- MIN: ∑i=16 ∑j=16 (ai / ri − aj / rj)2
- waarbij
- xi,j ∈ {0, 1} voor i = 1, ..., 20 en j = 1, ..., 5 de beslisvariabelen (met xi,j = 1 ⇔ vraag i betreft onderwerp j)
- aj = ∑i=120xi,j voor j = 1, ..., 5 (dus aj is het aantal vragen over onderwerp j)
- ri,j ∈ [0, 1] de relatieve relevantie van onderwerp j (voor j = 1, ..., 5)
- met als randvoorwaarde
- ∑j=15 ri = 1 (de waarden van de vijf "relevanties" ri tellen op tot 100%)
Merk op dat het gebruikelijk is om randvoorwaarden die alleen betrekking hebben op criteriumvariabelen uit de doelfunctie hier alvast te geven (dus direct na de doelfunctie).
- Een docent wil voor vijf open vragen (één over elk onderwerp) het maximaal aantal te behalen punten bepalen.
Ook hier is het streefdoel gelijkheid, maar nu van de verdeling van punten. In plaats van het aantal meerkeuzevragen staat xj nu voor het aantal te verdelen punten over vraag j. Het streefdoel (het aantal punten per vraag moet proportioneel zijn met de relevantie van het onderwerp) lijkt sterk op dat van de vorige opdracht:
- MIN: ∑i=15 ∑j=120 (xi/ri − xj/rj)2
- waarbij
- xi ∈ ℕ (voor i = 1, ..., 5) de beslisvariabele (het aantal punten voor vraag i)
- ri ∈ [0, 1] (voor i = 1, ..., 5) de relatieve relevantie van onderwerp i
- met als randvoorwaarde
- ∑i=15ri = 1 (de waarden van de zes ri tellen op tot 100%)
- Een voetbalelftal minus de doelverdediger wil zich in twee groepen van 5 opdelen om strafschoppen op het doel te oefenen.
Hier was het streefdoel dat de twee subteams qua samenstelling even sterk zijn. De sterkte van de spelers geven we weer met de variabele si (voor i = 1, ..., 10). Het streefdoel wordt dan:
- MIN: |∑i=110(xi,1 − xi,2)∙si| (minimaliseer het absolute verschil in teamsterkte)
- waarbij
- xi,j ∈ {0, 1} (voor i = 1, ..., 10 en j = 1, ..., 2) met xi,j = 1 ⇔ speler i zit in subteam j
- si ∈ ℝ\ℝ‾ (voor i = 1, ..., 10) de sterkte van speler i als niet-negatief reëel getal
- Een trainer wil uit 23 spelers een elftal samenstellen waarbij elke speler een specifieke positie in de 5-3-2-opstelling krijgt.
Gegeven was dat de trainer de meest fitte spelers wil opstellen. De fitheid van de spelers geven we weer als fi (voor i = 1, ..., 23) op een schaal van 0 tot 100%. Het streefdoel wordt dan:
- MAX: ∑i=123 ∑j=111 fi∙xi,j
- waarbij
- xi,j ∈ {0, 1} (voor i = 1, ..., 23 en j = 1, ..., 11) de beslisvariabelen (met xi,j = 1 ⇔ speler i staat opgesteld op positie j)
- fi ∈ [0, 1] (voor i = 1, ..., 23) de fitheid van speler i
- Het WK-gastland wil n wedstrijden verdelen over m stadions.
Gegeven was dat het WK-gastland de meest populaire wedstrijden in de grootste stadions wil laten spelen. De populariteit van wedstrijd i geven we weer als het verwachte aantal toeschouwers ai, de capaciteit van stadion j als cj (het aantal plaatsen in het stadion). Het streefdoel wordt dan:
- MAX: ∑i=1n ∑j=1m xi,j∙min(ai, cj) (maximaliseer het minimum van belangstelling en capaciteit)
- waarbij
- xi,j ∈ {0, 1} (voor i = 1, ..., n en j = 1, ..., m) de beslisvariabelen (met xi,j = 1 ⇔ wedstrijd i wordt gespeeld in stadion j
- ai ∈ ℕ (voor i = 1, ..., n) het verwachte aantal toeschouwers bij wedstrijd i
- cj ∈ ℕ (voor j = 1, ..., m) het aantal beschikbare plaatsen in stadion j
- Een grote onderneming wil een voetbalteam dat deelneemt aan het WK sponsoren.
Gegeven was dat de sponsor het team wil sponsoren met de hoogste verwachte speeltijd tijdens het WK. De totale speeltijd hangt af van de kans dat een team doorgaat naar de volgende ronde. Er zijn 5 rondes, dus een team kan maximaal 4× naar de volgende ronde. De kans dat dat team x doorgaat in ronde i geven we weer als px,i. Omdat elk team in ronde 1 evenveel wedstrijde speelt maakt dat niet uit voor de doelfunctie. De speeltijd is in principe 2×45 minuten, maar omdat er soms verlengingen zijn geven we die hier weer als de constante S. Voor het maximaliseren maakt de waarde van die constante S evenmin uit, want de doelfunctie is:
- MAX: ∑i=14 px,i∙S (maximaliseer de verwachte speeltijd)
- waarbij
- x ∈ {1, ..., n} de beslisvariabele (het te sponsoren team)
- px,i ∈ [0, 1] de kans dat dat team x doorgaat in ronde i
- S ∈ ℝ+ de gemiddelde speeltijd van één wedstrijd
Merk op dat we hier het probabilistische aspect vereenvoudigd hebben door te stellen dat px,i de kans is dat team x doorgaat in ronde i. Mooier was geweest te stellen dat het om de voorwaardelijke kans gaat dat het team wint, dus gegeven dat het team al in ronde i-1 staat. De doelfunctie zou dan echter veel ingewikkelder worden omdat dan vier keer de regel van Bayes moet worden toegepast. (Mooie extra oefening: werk dit zelf uit)
- Een groep van vier voetbalsupporters wil kaarten kopen voor één of meer WK-wedstrijden.
Gegeven was dat de voetbalsupporters zoveel mogelijk plezier aan het WK willen beleven. Ze hebben allen hun eigen voorkeur t.a.v. de wedstrijden. Dat geven we weer als het nut u. Verder hebben ze ook nog hun voorkeur t.a.v. elkaar. Hoe persoon i persoon j waardeert geven we weer als wi,j. Op een schaal van -1 tot +1. Iedereen vindt uiteraard zichzelf erg leuk (wi,i = 1 voor i = 1, ..., 4). Het plezier dat supporter i beleeft aan wedstrijd j zien we als het product van ui,j met de gezelligheid gi,j (dus subjectief volgens supporter i) van het groepje dat samen gaat.
- MAX: ∑i=14 ∑j=1nxi,j∙ui,j∙gi,j
- waarbij
- xi,j ∊ {0, 1} (voor i = 1, ..., 4 en j = 1, ..., n) de beslisvariabelen (met xi,j = 1 ⇔ supporter i gaat naar wedstrijd j)
- ui,j ∊ [0, 1] (voor i = 1, ..., 4 en j = 1, ..., n) het nut dat supporter i ontleent aan wedstrijd j
- gi,j = ∑k=14xk,j∙wi,k de gezelligheidsfactor is som van waardering van i voor de supporters k die ook naar wedstrijd j gaan
Merk op dat we hier de extra criteriumvariabele gi,j enkel definiëren om de formule voor het streefdoel leesbaar te houden. De variabele gi,j is op deze manier een interne variabele van het beslismodel.
(c) Randvoorwaarden definiëren
Geef voor de hierboven gedefinieerde beslissingssituaties een wiskundige formulering voor elk van de volgende randvoorwaarden, gebruik makend van de reeds gedefinieerde beslisvariabelen en criteriumvariabelen.
- De eerste student wil niet in het weekeinde werken.
- x ∉ {za, zo}
- De tweede student wil twee dagdelen werken, maar die mogen niet op dezelfde dag vallen.
- ∑i=17 ∑j=12 xi,j = 2
- ∀i ∈ {1, ..., 7}: ∑j=12 xi,j ≤ 1
- De derde student wil elke werkdag minimaal 2 en maximaal 5 uur aan zelfstudie besteden. Daarbij heeft hij op maandag en woensdag 4 uur college, op donderdag 6 uur, en op dinsdag en vrijdag 2 uur.
Het aantal college-uren op dag i geven we weer als ci, dus de vector C = (4, 2, 4, 6, 2). De randvoorwaarde is dan:
- ∀i ∈ {1, ..., 5}: 2 ≤ ∑j=18 xi,j ≤ min(5, 8 − ci)
want per dag zijn er dan maximaal 8 − ci uren beschikbaar, maar daarvan wil de student niet meer dan 5 aan zelfstudie besteden.
- De vragen moeten gegroepeerd per onderwerp worden aangeboden, en over elk onderwerp moeten minimaal 2 vragen gesteld worden.
Als beslisvariabelen hadden we xi,j ∊ {0, 1} gekozen waarbij xi,j = 1 ⇔ vraag i betreft onderwerp j. Gegroepeerd per onderwerp betekent dan dat voor elk onderwerp j de nummers i van de vragen over dat onderwerp opeenvolgend moeten zijn. Dat betekent dan dat er hooguit één vraag i over onderwerp j bestaat die een voorgaande vraag i-1 heeft met een ander onderwerp. Dit kunnen we formuleren als:
- ∀j: #{i: xi,j = 1 ∧ xi-1,j ≠ 1} ≤ 1
De tweede randvoorwaarde (over elk onderwerp moeten minimaal 2 vragen gesteld worden) is weer van een vorm die we al veel vaker hebben gezien:
- ∀j: ∑i=120 xi-1,j ≥ 2
- Elke vraag moet minimaal 2 punten opleveren, samen moeten de vragen 70 punten opleveren, en vraag 2 en vraag 5 bestaan beide uit twee deelvragen die qua zwaarte 1:2 moeten tellen.
Als beslisvariabelen hadden we het aantal punten per vraag i genomen: xi ∊ ℕ (voor i = 1, ..., 5). De drie randvoorwaarden kunnen we dan zo formuleren:
- ∀i∈{1,...,5}: xi ≥ 2
- ∑i=15 xi = 70
- i∈{2,5} ⇒ ∃j∈N: xi = 3j (het aantal punten voor vraag 2 en 5 moet deelbaar zijn door 3)
- Elke speler moet in één subteam zitten.
- ∀i∈{1,...,10}: ∑j=12 xi,j = 1
- Van de 23 geselecteerde spelers kunnen er 3 alleen als doelverdediger worden opgesteld, 8 alleen als spits, 5 alleen als middenvelder, en 5 alleen als verdediger.
Er wordt hier niet gegeven om welke spelers het gaat, dus moeten we daarvan abstraheren. Dat doen we door een matrix met binaire variabelen pi,j te introduceren (voor i = 1, ..., 23 en j = 1, ..., 4) met pi,j = 1 ⇔ speler i op positie j kan worden opgesteld (waarbij positie 1 = doelverdediger, 2 = verdediger, 3 = middenvelder, 4 = spits). Als beslisvariabele hadden we xi,j gekozen met xi,j = 1 ⇔ speler i op positie j staat. De randvoorwaarde is dan dat er 11 spelers op plaatsen staan opgesteld waarop ze ook opgesteld kúnnen worden:
- ∑i=123 ∑j=14 xi,j∙pi,j = 11
- Elke wedstrijd moet in één stadion gespeeld worden (structurele randvoorwaarde), en het verschil in aantal gespeelde wedstrijden mag per stadion niet meer dan 3 verschillen.
De eerste randvoorwaarde heeft een vertrouwde vorm:
- ∀i∈{1,...,n}: ∑j=1m xi,j = 1
De tweede randvoorwaarde betreft het aantal wedstrijden per stadion. Dat aantal noemen we aj (voor j = 1, ..., m). De randvoorwaarde is dan eenvoudig te formuleren:
- maxj aj − minkak ≤ 3 (voor j, k = 1, ..., m)
- met
- aj = ∑i=1n xi,j
- Stel dat elk team verschillende sponsorbedragen vraagt: een bedrag voor de 3 poulewedstrijden (ongeacht de uitslag), en een steeds hoger bedrag voor elke volgende wedstrijd in de knockout-fase. Het verwachte sponsorbedrag mag hooguit 0,5 miljoen euro zijn, en absoluut nooit hoger uitvallen dan 1 miljoen euro.
Bij het definiëren van het streefdoel voor deze situatie hadden we al de volgende variabelen:
- x ∈ {1, ..., n} de beslisvariabele (het te sponsoren team)
- px,i ∈ [0, 1] de kans dat dat team x doorgaat in ronde i (voor i = 1, ..., 4)
Als extra criteriumvariabelen definiëren we nu:
- bx,i ∈ ℝ de door team x gevraagde bedragen (voor i = 0, ..., 4 met bx,0 het bedrag voor de 3 poulewedstrijden)
De twee randvoorwaarden zijn dan:
- bx,0 + ∑i=14 px,i∙bx,i ≤ 5∙105 (het verwachte bedrag is hooguit 0,5 miljoen)
- ∑i=04 bx,i ≤ 106 (het maximale bedrag is hooguit 1 miljoen)
- De vier supporters willen in geen geval alleen naar een wedstrijd. Verder hebben de supporters ieder een verschillend maximumbedrag dat ze aan toegangskaarten kunnen uitgeven.
Als beslisvariabelen hadden we:
- xi,j ∊ {0, 1} (voor i = 1, ..., 4 en j = 1, ..., n) met xi,j = 1 ⇔ supporter i gaat naar wedstrijd j
Over de prijzen van de toegangskaarten en de individuele budgetten van de vier supporters hadden we nog niets aangenomen. Daarom definiëren we nu:
- pj ∊ ℝ+ (voor j = 1, ..., n) de prijs van een toegangskaart voor wedstrijd j
- bi ∊ ℝ+ (voor i = 1, ..., 4) het maximale bedrag dat speler i kan uitgeven
De eerste randvoorwaarde kunnen we dan zo formuleren:
- ∀j∈{1,...,n}: aj = 0 ∨ aj ≥ 2
- met
- aj = ∑i=14 xi,j (het aantal groepsleden dat naar wedstrijd j gaat)
De tweede randvoorwaarde is dan:
- ∀i∈{1,...,4}: ∑j=1npj∙xi,j ≤ bi