Lineair programmeren > De simplexmethode
12345De simplexmethode

Antwoorden van de opgaven

Opgave V1
a

Het zijn `z le 50` , `x le 100` , `10x + 20y + 2z le 2020` en `25x + 100y + 3z le 7750` .

b

`z + s_4 = 50` , `x + s_3 = 100` , `10x + 20y + 2z + s_2 = 2020` .

c

Zie de Uitleg 1.

Opgave 1
a

De eerste vergelijking wordt `y = 101 - 0,5x - 0,1z - 0,05s_1` .
De tweede vergelijking wordt `y = 77,5 - 0,25x - 0,03z - 0,01s_2` .

b

Je krijgt:

`0,5x + 0,14z + 0,1s_1 - 0,02s_2`

`=`

`47`

`0,25x + y + 0,03z + 0,01s_2`

`=`

`77,5`

`x + s_3`

`=`

`100`

`z +s_4`

`=`

`50`

`23250 + 25x + 11z - 3s_2`

`=`

`W`

c

De eerste heeft de kleinste positieve constante: `x = 94 - 0,28z - 0,2s_1 + 0,04s_2` .

d

Je krijgt:

`x + 0,28z + 0,2s_1 - 0,04s_2`

`=`

`94`

`y - 0,04z - 0,05s_1 + 0,02s_2`

`=`

`54`

`text(-)0,28z - 0,2s_1 + 0,4s_2 + s_3`

`=`

`6`

`z + s_4`

`=`

`50`

`25600 + 4z - 5s_1 - 2s_2`

`=`

`W`

e

Je krijgt:

`x + 0,2s_1 - 0,04s_2 - 0,28s_4`

`=`

`80`

`y - 0,05s_1 + 0,02s_2 +0,04s_4`

`=`

`56`

`text(-)0,2s_1 + 0,4s_2 + s_3 +0,28s_4`

`=`

`20`

`z + s_4`

`=`

`50`

`25800 - 5s_1 - 2s_2 -4s_4`

`=`

`W`

f

Je moet `s_1 = s_2 = s_4 = 0` stellen. Dat geeft:

`y`

`=`

`56`

`x`

`=`

`80`

`s_3`

`=`

`20`

`z`

`=`

`50`

`25800`

`=`

`W`

`W` is dus maximaal `25800` als `x = 80` , `y = 56` en `z = 50` .

Opgave 2
a

Neem de rij waarbij je de kleinste (niet negatieve) verhouding hebt. Dit geeft `470/5 = 94` , `(77,50)/(0,25) = 310` en `100/1 = 100` (bij de andere deel je door `0` ). Bij de eerste rij krijg je de kleinste verhouding.

Deel nu deze hele rij door `5` , dit geeft `x + 0,28z + 0,2s_1 - 0,04s_2 = 94` . Trek deze rij zo vaak als nodig is van de andere rijen af, zodat overal in de andere rijen nullen staan op de plaats waar in de tweede rij de `1` staat. Dit geeft:

`x` `y` `z` `s_1` `s_2` `s_3` `s_4`
`1` `0` `0,28` `0,2` `text(-)0,04` `0` `0` `94`
`0` `1` `text(-)0,04` `text(-)0,05` `0,02` `0` `0` `54`
`0` `0` `text(-)0,28` `text(-)0,2` `0,04` `1` `0` `6`
`0` `0` `1` `0` `0` `0` `1` `50`
`0` `0` `4` `text(-)5` `text(-)2` `0` `0` `text(-)25600`
b

Kijk welke verhouding voor `z` het kleinste is, dat is `50/1 = 50` , want de eerste verhouding `94/(0,28) ~~ 335,71` is groter en de andere zijn negatief.

Omdat er al een `1` staat onder `z` , kun je deze direct van de andere rijen aftrekken. Dit geeft als derde simplextableau:

`x` `y` `z` `s_1` `s_2` `s_3` `s_4`
`1` `0` `0` `0,2` `text(-)0,04` `0` `text(-)0,28` `80`
`0` `1` `0` `text(-)0,05` `0,02` `0` `0,04` `56`
`0` `0` `0` `text(-)0,2` `text(-)0,04` `1` `0,28` `20`
`0` `0` `1` `0` `0` `0` `1` `50`
`0` `0` `0` `text(-)5` `text(-)2` `0` `text(-)4` `text(-)25800`

De kolommen `x` , `y` en `z` bestaan nu uit een enkele `1` en verder nullen. Neem `s_1 = 0` , `s_2 = 0` en `s_4 = 0` en alle variabelen staan vast.

Opgave 3
a

De rijen geven voornamelijk de randvoorwaarden aan, alleen de onderste rij bevat de doelfunctie. In plaats van `0` rechtsonderin, komt er nu `text(-)25000` te staan. Als je deze onderste rij wijzigt in `text(-)x - y - z = W - 25000` blijven de randvoorwaarden hetzelfde en kun je `W = 25000 - x - y - z` minimaliseren.

b

Het eerste simplextableau is:

`x` `y` `z` `s_1` `s_2` `s_3` `s_4`
`10` `20` `2` `1` `0` `0` `0` `2020`
`25` `100` `3` `0` `1` `0` `0` `7750`
`1` `0` `0` `0` `0` `1` `0` `100`
`0` `0` `1` `0` `0` `0` `1` `50`
`text(-)1` `text(-)1` `text(-)1` `0` `0` `0` `0` `text(-)25000`

Kijk nu naar de grootste negatieve coëfficiënt in de onderste rij. Omdat er drie dezelfde staan, mag je er een kiezen. Kies de eerste kolom. Van de verhoudingen `2020/10 = 202, 7750/25 = 310` en `100/1 = 100` is de laatste het kleinst.
Het tweede simplextableau wordt:

`x` `y` `z` `s_1` `s_2` `s_3` `s_4`
`0` `20` `2` `1` `0` `text(-)10` `0` `1020`
`0` `100` `3` `0` `1` `text(-)25` `0` `5250`
`1` `0` `0` `0` `0` `1` `0` `100`
`0` `0` `1` `0` `0` `0` `1` `50`
`0` `text(-)1` `text(-)1` `0` `0` `1` `0` `text(-) 24900`

Van de verhoudingen `1020/2 = 510, 5250/3 = 1750` en `50/1 = 50` is de laatste het kleinst.
Het derde simplextableau wordt:

`x` `y` `z` `s_1` `s_2` `s_3` `s_4`
`0` `20` `0` `1` `0` `text(-)10` `text(-)2` `920`
`0` `100` `0` `0` `1` `text(-)25` `text(-)3` `5100`
`1` `0` `0` `0` `0` `1` `0` `100`
`0` `0` `1` `0` `0` `0` `1` `50`
`0` `text(-)1` `0` `0` `0` `1` `1` `text(-) 24850`

Van de verhoudingen `920/20 = 46` en `5100/100 = 51` is de eerste het kleinst.
Het vierde en laatste simplextableau wordt:

`x` `y` `z` `s_1` `s_2` `s_3` `s_4`
`0` `1` `0` `0,05` `0` `text(-)0,5` `text(-)0,1` `46`
`0` `0` `0` `text(-)5` `1` `25` `7` `500`
`1` `0` `0` `0` `0` `1` `0` `100`
`0` `0` `1` `0` `0` `0` `1` `50`
`0` `0` `0` `0` `0,05` `0,5` `0,9` `text(-) 24804`

In de onderste rij staat nu `0,05s_2 + 0,5s_3 + 0,9s_4 - W = text(-)24804` en dus geldt `W = 24804+0,05s_2+0,5s_3+0,9s_4` moet minimaal zijn. Kies `s_2 = s_3 = s_4 = 0` .

`W` is minimaal als `x = 100` , `y = 46` en `z = 50` . De minimale waarde is `24804` .

Opgave 4
a

Uit de onderste rij kun je de vergelijking halen: `text(-)1s_1 -10s_2 - W = text(-)880` .
Je vindt een maximale waarde voor `W = 880 -1s_1 -10s_2` door te kiezen `s_1 = s_2 = 0` .
Dit is ook snel te zien: als je de eerste twee spelingsvariabelen op nul zet, dan staat de rest van de variabelen vast. Omdat in de onderste rij geen positieve getallen staan, heb je de maximale waarde voor `W` gevonden.

b

Lees af uit het simplextableau: `x_1 = 12` en `x_2 = 28` .
Kies voor `s_1 = s_2 = 0` om `W` te maximaliseren.
Voor `s_3 = 210` klopt ook de derde rij.

Opgave 5

De maximale waarde is ongeveer 782,22.

Opgave 6
a

Als je de eerste twee spelingsvariabelen ( `s_1` en `s_2` ) op `0` zet, dan krijg je wel een waarde voor `W` , maar nog geen waarden voor `s` , `e` , `m` en `z` . Want in de eerste rij staat bijvoorbeeld: `e+0,03s_1-0,08s_4=62,50` , maar je weet niet wat `s_4` is.
Bij het laatste tableau moeten de eerste drie spelingsvariabelen en de waarde voor `m` op `0` worden gezet, maar dan vind je naast `m=0` ook waarden voor `s` , `e` en `z` .

b

Directeur A:
Omdat in de onderste rij het derde getal negatief is, is `m=0` . De andere variabelen krijgen de waarde:

`s = 80` , `e = 150` en `z = 200` .

Directeur B: `s = 150` , `e = 62,5` , `m = 52,5` en `z = 137` .
Omdat je geen halve vliegtuigen bouwt, zal `e = 63` en `m = 53` zijn.

Opgave 7
a

In het simplextableau staat `s_1` , `s_2` en `s_3` . Er zijn drie spelingsvariabelen.

b

De kolommen `x_1` en `x_2` bevatten alleen een enkele `1` . Je kunt nu door `s_1 = s_2 = 0` te kiezen een maximale waarde krijgen voor `text(-)s_1 - 13s_2 - W = text(-)925` . Nu is in te zien dat als je de eerste twee spelingsvariabelen op nul zet, de rest van de variabelen vaststaan. Omdat in de onderste rij geen positieve getallen staan, heb je de maximale waarde voor `W` gevonden.

c

`x_1 = 18,75` en `x_2 = 31,25` .
De maximale waarde van `W` is `925` .

Opgave 8

Het eerste simplextableau:

`x_1` `x_2` `s_1` `s_2` `s_3`
`1` `2` `1` `0` `0` `160`
`0` `1` `0` `1` `0` `60`
`4` `1` `0` `0` `1` `400`
`1` `1` `0` `0` `0` `0`

Omdat er twee dezelfde coëfficiënten in de onderste rij staan, mag je er willekeurig een kiezen.
Kies bijvoorbeeld de eerste.
Van de verhoudingen `160/1 = 160` en `400/4 = 100` is de tweede het kleinst.

Het tweede simplextableau wordt:

`x_1` `x_2` `s_1` `s_2` `s_3`
`0` `1,75` `1` `0` `text(-)0,25` `60`
`0` `1` `0` `1` `0` `60`
`1` `0,25` `0` `0` `0,25` `100`
`0` `0,75` `0` `0` `text(-)0,25` `text(-)100`

Nu is `0,75` de grootste coëfficiënt en van de verhoudingen `60/(1,75)~~34` , `60/1 = 60` en `100/(0,25) = 400` is de eerste het kleinst.

Het derde en laatste simplextableau wordt:

`x_1` `x_2` `s_1` `s_2` `s_3`
`0` `1` `0,57` `0` `text(-)0,14` `34,29`
`0` `0` `text(-)0,57` `1` `text(-)0,14` `25,71`
`1` `0` `text(-)0,14` `0` `0,29` `91,43`
`0` `0` `text(-)0,43` `0` `text(-)0,14` `text(-)125,71`

`W` is maximaal ongeveer `125,71` .

Opgave 9
a

Het kost veel geld om de containers te vervoeren, er wordt dus niet zomaar gevlogen naar elke willekeurige luchthaven. Alleen van luchthavens met een overschot wordt gevlogen en alleen naar luchthavens met een tekort wordt gevlogen. Alleen voor deze combinaties zie je de onderlinge afstand in de tabel.

b

Naar Amsterdam moeten in totaal `500` containers worden gevlogen. Stel het aantal containers vanuit Athene `a` , vanuit Berlijn `b` en vanuit Londen `c` . Vanuit Rome moeten er dan nog `500 - a - b - c` komen.

Naar Dublin moeten in totaal `300` containers. Stel het aantal containers vanuit Athene `d` , vanuit Berlijn `e` en vanuit Londen `f` . Dan komen er vanuit Rome nog `300 - d-e-f` containers.

Voor Lissabon heeft Athene dan nog `400 - a-d` containers beschikbaar. Berlijn heeft nog `300 - b - e` containers en Londen heeft nog `680 - c - f` containers beschikbaar. Vanuit Rome kunnen er nog `200 - (500-a-b-c) - (300 - d-e-f) =`
`a+b+c+d+e+f -600` containers komen.

Er zijn zes beslissingsvariabelen. Een mogelijk transportschema is:

Amsterdam Dublin Lissabon
Athene `a` `d` `400 - a - d`
Berlijn `b` `e` `300 - b - e`
Londen `c` `f` `680 - c - f`
Rome `500 - a - b - c` `300 - d - e - f` `a + b + c + d + e + f - 600`
c

De randvoorwaarden zijn:

  • `a, b, c, d, e, f ge 0` (Er zijn geen negatieve aantallen.)

  • `a + b + c le 500` (Amsterdam heeft er `500` nodig.)

  • `d + e + f le 300` (Dublin heeft er `300` nodig.)

  • `a + d le 400` (Athene heeft er `400` over.)

  • `b + e le 300` (Berlijn heeft er `300` over.)

  • `c + f le 680` (Londen heeft er `680` over.)

  • `a + b + c + d + e + f ge 600` (Rome mag geen containers ontvangen.)

De doelfunctie wordt verkregen door alle aantallen containers te vermenigvuldigen met de onderlinge afstand. Hieruit volgt:
`T = 3800000 - 500a - 1400b - 1000c - 200d - 900e - 1100f`

d

De eerste randvoorwaarden zijn allemaal standaard, zodat `a ge 0` , enzovoort.
Daarna volgen nog zes randvoorwaarden waarvoor in de simplexmethode een spelingsvariabele moet worden toegevoegd.

e

Invullen in de Excel Oplosser geeft:

aantal vw1 vw2 vw3 vw4 vw5 vw6 doel
`a` `0` `1` `0` `1` `0` `0` `1`
`b` `300` `1` `0` `0` `1` `0` `1`
`c` `200` `1` `0` `0` `0` `1` `1`
`d` `0` `0` `1` `1` `0` `0` `1`
`e` `0` `0` `1` `0` `1` `0` `1`
`f` `300` `0` `1` `0` `0` `1` `1`
totaal `500` `300` `0` `300` `500` `800` `2850000`

Het minimum is `2850000` km.

Opgave 10

Uit één rol snijd je drie keer rollen van `60` cm breed. Je kunt ook uit één rol een rol van `60` cm en `120` cm snijden, enzovoort. In de tabel is weergegeven welke combinaties winst opleveren.
`x_1` is de variabele die staat voor het aantal rollen dat in driemaal `60` cm versneden worden, enzovoort.

`x_1` `x_2` `x_3` `x_4`
60 3 1 1 0
90 0 1 0 2
120 0 0 1 0
opbrengst 90 70 80 80
kosten 60 60 60 60
winst 30 10 20 20

Andere combinaties leveren geen winst op.
De doelfunctie is `W = 30x_1 + 10x_2 + 20x_3 + 20x_4` en deze moet worden gemaximaliseerd onder de voorwaarden:

  • `3x_1+x_2+x_3 le 9`

  • `x_2+2x_4 le 10`

  • `x_3 le 6`

Stel hierbij het eerste simplextableau op:

`x_1` `x_2` `x_3` `x_4` `s_1` `s_2` `s_3`
`3` `1` `1` `0` `1` `0` `0` `9`
`0` `1` `0` `2` `0` `1` `0` `10`
`0` `0` `1` `0` `0` `0` `1` `6`
`30` `10` `20` `20` `0` `0` `0` `0`

Het tweede simplextableau is:

`x_1` `x_2` `x_3` `x_4` `s_1` `s_2` `s_3`
`1` `1/3` `1/3` `0` `1/3` `0` `0` `3`
`0` `1` `0` `2` `0` `1` `0` `10`
`0` `0` `1` `0` `0` `0` `1` `6`
`0` `0` `10` `20` `text(-)10` `0` `0` `text(-)90`

Het derde simplextableau is:

`x_1` `x_2` `x_3` `x_4` `s_1` `s_2` `s_3`
`1` `1/3` `1/3` `0` `1/3` `0` `0` `3`
`0` `1/2` `0` `1` `0` `1/2` `0` `5`
`0` `0` `1` `0` `0` `0` `1` `6`
`0` `text(-)10` `10` `0` `text(-)10` `text(-)10` `0` `text(-)190`

Het laatste simplextableau is:

`x_1` `x_2` `x_3` `x_4` `s_1` `s_2` `s_3`
`1` `1/3` `0` `0` `1/3` `0` `text(-)1/3` `1`
`0` `1/2` `0` `1` `0` `1/2` `0` `5`
`0` `0` `1` `0` `0` `0` `1` `6`
`0` `text(-)10` `0` `0` `text(-)10` `text(-)10` `text(-)10` `text(-)250`

Kies: `x_2=s_1=s_2=s_3=0, x_1=1, x_3=6` en `x_4=5` .
Snijd:

  • `1` rol in driemaal `60` cm;

  • `6` rollen in `60` cm en `120` cm;

  • `5` rollen in tweemaal `90` cm.

Dit geeft een maximale winst van € 250,00.

(naar: Pythagoras (wiskundetijdschrift voor jongeren))

Opgave 11
a

Bijvoorbeeld `a` ton A, `b` ton B en `c` ton C.

b

`W = 57/4 a + 49/6 b + 33/2 c - 400`

c

Randvoorwaarden: `0 le a le 20` , `0 le b le 40` , `0 le c le 30` en `1/2 a + 1/6 b + c le 40` .

d

`4`

e

De maximale winst is € 596,67

Opgave 12Broodjes verkopen
Broodjes verkopen
a

`3x+4y+4z le 360`

b

`x le 100` , `y le 75` en `z le 90` .

c

`W = x+2y+1,5z`

d

Laat `s_1` t/m `s_4` de spelingsvariabelen zijn, dan:

`x+s_1` `=` `100`

`y+s_2` `=` `75`

`z+s_3` `=` `90`

`3x+4y+4z+s_4` `=` `360`

`x+2y+1,5z` `=` `W`

Het eerste simplextableau ziet er als volgt uit:

1 0 0 1 0 0 0 100
0 1 0 0 1 0 0 75
0 0 1 0 0 1 0 90
3 4 4 0 0 0 1 360
1 2 1,50 0 0 0 0 0

De grootste coëfficiënt op de onderste rij is `2` .

Van de verhoudingen `75/1 = 75` en `360/4 = 90` is de eerste het kleinst.

Het tweede simplextableau wordt:

1 0 0 1 0 0 0 100
0 1 0 0 1 0 0 75
0 0 1 0 0 1 0 90
3 0 4 0 -4 0 1 60
1 0 1,50 0 -2 0 0 -150

De grootste coëfficiënt op de onderste rij is `1,5` .

Van de verhoudingen `90/1 = 90` en `60/4 = 15` is de laatste het kleinst.

Het derde en laatste simplextableau wordt:

1 0 0 1 0 0 0 100
0 1 0 0 1 0 0 75
-3/4 0 0 0 1 1 -1/4 75
3/4 0 1 0 -1 0 1/4 15
-1/8 0 0 0 -1/2 0 -3/8 -172,5

Nu ben je klaar!
In de onderste rij staat: `W_(text(max)) = 172,50- 1/8x - 1/2s_2 - 3/8s_4` .
Kies `x = s_2 = s_4 = 0` .
Dan zie je dat `y = 75` (broodjes avocado) en `z = 15` (broodjes zalm) en dat `W_(text(max)) = 172,50` euro.

Opgave 13Stroop
Stroop
a

De randvoorwaarden zijn:

  • `x ge 0` , `y ge 0` en `z ge 0`

  • `2x+3z le 15`

  • `2y+z le 10`

  • `x+2y le 14`

  • `2,3x+2,4y+2,9z le 25`

De doelfunctie is: `R = 4x+5y+6z` .

b

Uit de Excel Oplosser blijkt:
`x = 3,86` , `y = 3,79` en `z =2,43` geeft een maximale opbrengst van € 48,93.
Het eerste simplextableau is:

`x` `y` `z` `s_1` `s_2` `s_3` `s_4`
`2` `0` `3` `1` `0` `0` `0` `15`
`0` `2` `1` `0` `1` `0` `0` `10`
`1` `2` `0` `0` `0` `1` `0` `14`
`2,3` `2,4` `2,9` `0` `0` `0` `1` `25`
`4` `5` `6` `0` `0` `0` `0` `0`

Het laatste simplextableau is:

`x` `y` `z` `s_1` `s_2` `s_3` `s_4`
`0` `0` `1` `23/35` `24/35` `0` `text(-)4/7` `17/7`
`0` `1` `0` `text(-)23/70` `11/70` `0` `2/7` `53/14`
`0` `0` `0` `8/7` `5/7` `1` `text(-)10/7` `18/7`
`1` `0` `0` `text(-)17/35` `text(-)36/35` `0` `6/7` `27/7`
`0` `0` `0` `text(-)5/14` `11/14` `0` `10/7` `text(-)685/14`
Opgave 14

`W = 162,86` , `x = 68,57` en `y = 25,71` .

Opgave 15
a

Laat `x` het aantal televisies T1 en `y` het aantal televisies T2 zijn.
De doelfunctie is: `W=300x+500y-36000` .
De randvoorwaarden zijn:

  • `x ge 0` en `y ge 0`

  • machine A: `x+2y le 170`

  • machine B: `x+y le 150`

  • machine C: `3y le 180`

b

De winst is maximaal als er `130` televisies T1 en `20` televisies T2 gemaakt worden.
De maximale winst is € 13000.

verder | terug