• No results found

Het enige verschil met de vorige paragraaf is dat in plaats van kosten (of opbrengsten) het nu gaat om verwachte kosten (of opbrengsten).

Voorbeeld 10.4 (vervolg)

Zij xnhet aantal exemplaren in run n, n = 1, 2, 3. Als toestanden nemen we twee mogelijkheden: een exemplaar van de gewenste kwaliteit is reeds wel (s = 0) of reeds niet (s = 1) geproduceerd. Als s = 0, dan hoeft er niet meer te worden geproduceerd ; als s = 1 en in run n worden xn exemplaren gemaakt, dan is de volgende toestand weer s = 1 met kans (12)xn.

Laat: pn(xn) = (

0 als xn= 0

300 + 100xn als xn≥ 1

fn(1) = minimale verwachte kosten vanaf run n in toestand 1.

Nu geldt: fn(1) = minxn≥0{pn(xn) + (12)xnfn+1(1)}, n = 1, 2, 3; f4(1) = 1600. n = 3 : f3(1) = minx3≥0{p3(x3) + (12)x3 · 1600}.

x3 0 1 2 3 4 5 6 f3(1) x3(1)

n = 2 : f2(1) = minx2≥0{p2(x2) + (12)x2 · f3(1)}. x2 0 1 2 3 4 5 f2(1) x 2(1) 800 800 700 700 750 825 700 2 n = 1 : f1(1) = minx1≥0{p1(x1) + (12)x1 · f2(1)}. x1 0 1 2 3 4 f1(1) x1(1) 700 750 675 687,50 743,75 675 2

De optimale oplossing is dus: x1 = 2, x2 = 2, x3= 3 met verwachte kosten 675.

Voorbeeld 10.5 (vervolg)

Zij xnhet aantal fiches dat bij spel n wordt ingezet. Als toestand sn nemen we het aantal fiches bij het begin van spel n. Laat fn(sn) de maximale kans om op 5 fiches uit te komen als we sn fiches hebben bij het begin van spel n.

Dan geldt: fn(sn) = max{xn|xn≤sn;xn+sn≤5}{31fn+1(sn− xn) + 32fn+1(sn+ xn)}, n = 3, 2, 1; 0 ≤ sn≤ 5.

f4(s4) = (

1 als s4= 5 0 als s46= 5 Dit resulteert in de volgende berekeningen:

n = 3 : x3 s3 0 1 2 3 4 f3(s3) x3(s3) 0 0 0 0 1 0 0 0 0 2 0 0 0 0 0 3 0 0 23 23 2 4 0 23 23 1 5 1 1 0 n = 2 : x2 s2 0 1 2 3 4 f2(s2) x2(s2) 0 0 0 0 1 0 0 0 0 2 0 49 49 49 1 3 23 49 23 23 0 4 23 89 89 1 5 1 1 0 n = 1 : x1 s1 0 1 2 f12(s1) x2(s1) 3 23 2027 23 2027 1

De optimale strategie is als volgt. Begin met inzet 1. Veronderstel dat dit spel wordt gewonnen, zodat de speler in het bezit is van 4 fiches. Zet nu 1 fiche in, zodat daarna `ofwel 5 fiches (kans

2

3) `ofwel 3 fiches in bezit zijn; in het laatste geval 2 fiches inzetten, zodat dan (met kans 29) alsnog 5 fiches worden bereikt. Na de eerste keer winst wordt dus met kans 23 + 13 · 23 = 89 het doel bereikt. Als de eerste keer wordt verloren (dus 2 fiches over), dan moet vervolgens twee keer worden gewonnen; zet eerst 2 fiches in en daarna 1, dus winstkans 49. De kans om met deze strategie het doel te bereiken is dus 23 · 89 +13 · 49 = 2027.

10.5 Opgaven

Opgave 1

Een student heeft 7 weken de tijd voordat de tentamens in 4 vakken beginnen en wil deze tijd zo effici¨ent mogelijk besteden. Hij wil aan ieder vak 1, 2, 3 of 4 weken besteden en de keuze z´o maken dat de som van de te verwachten tentamencijfers zo hoog mogelijk is. Het verband tussen het aantal weken besteed aan een vak en het te verwachten cijfer staat in onderstaande tabel.

aantal verwachting van het cijfer studieweken vak 1 vak 2 vak 3 vak 4

1 3 5 2 6

2 5 5 4 7

3 6 6 7 9

4 7 9 8 9

Hoe zal de student deze 7 weken indelen?

Opgave 2

Beschouw een electronisch systeem bestaande uit 4 componenten, die ieder moeten functioneren wil het systeem kunnen werken.

De betrouwbaarheid van het systeem kan worden vergroot door in een of meer componenten parallel eenheden te schakelen. De volgende tabel geeft de betrouwbaarheid van een dergelijke constructie.

aantal parallel kans op goed functioneren

eenheden component 1 component 2 component 3 component 4

1 0.5 0.6 0.7 0.5

2 0.6 0.7 0.8 0.7

3 0.8 0.8 0.9 0.9

aantal parallel installatiekosten in euro’s

eenheden component 1 component 2 component 3 component 4

1 100 200 100 200

2 200 400 300 300

3 300 500 400 400

Er is 1.000 euro beschikbaar. Hoeveel parallel-eenheden worden in iedere component geplaatst om de betrouwbaarheid van het systeem te maximaliseren (zonder parallel-eenheid is de betrouw-baarheid van een compenent 0.4)?

Opgave 3

Los het volgende knapzakprobleem op met dynamische programmering: max{6x1+ 8x2+ 11x3 | 3x1+ 5x2+ 7x3 ≤ 10; x1, x2, x3 ≥ 0 en geheel}.

Opgave 4

Een bedrijf heeft twee electrische ingenieurs (EI’s), twee mechanische ingenieurs (MI’s) en een onbeperkt aantal monteurs (M’s). Het bedrijf heeft 4 werkzaamheden uit te voeren: A, B, C en D. In de volgende tabel staan voor iedere ploeg die een karwei kan uitvoeren wat de kosten ervan zijn.

Karwei M’s 1 MI 2 MI’s 1 EI 2 EI’s 1 MI en 1 EI

A 50 49 90 47 51 15

B 200 73 15 100 27 20

C 60 52 24 78 84 100

D 56 22 57 56 80 67

Iedere persoon kan bij hoogstens ´e´en werkzaamheid worden ingeschakeld. Welke planning geeft voor het bedrijf de minste kosten?

Opgave 5

Beschouw de volgende modificatie van voorbeeld 10.4: de kans dat een exemplaar de gewenste kwaliteit heeft is 23 en er kunnen maximaal 2 runs worden uitgevoerd. Welke productie-strategie is optimaal?

Opgave 6

Neem aan dat in voorbeeld 10.5 gestart wordt met 2 fiches en dat 5 keer mag worden gespeeld. Hoe groot is de kans om op 5 fiches uit te kunnen komen?

Opgave 7

Een reisbureau heeft voor een periode van 6 jaar een hotel gepacht in een wintersportcentrum. Met de plaatselijke kolenhandelaar is een contract afgesloten waarin wordt bepaald dat hij elk jaar een vaste hoeveelheid brandstof zal leveren tegen betaling van 30.000 euro per jaar. Verder is overeengekomen dat het reisbureau, in geval van ontevredenheid over de leveranties, aan het eind van elk jaar het contract ´e´enzijdig mag opzeggen.

De kolenhandelaar heeft 3 soorten kolen. Levert de kolenhandelaar gedurende een jaar kolensoort i, dan is zijn winst ai en de kans op opzegging van het contract pi, i = 1, 2, 3.

De kolenhandelaar vraagt zich af welke kolensoorten hij de komende 6 jaar zal leveren om zijn verwachte winst te maximaliseren. Overige gegevens:

a1= 4.350, a2 = 7.900, a3 = 10.500; p1 = 0.2, p2 = 0.4, p3= 0.6.

Opgave 8

Een stad verwacht de komende 10 jaar een jaarlijkse groei van de vraag naar electriciteit. Deze verwachte groei is als volgt.

Jaar 1 2 3 4 5 6 7 8 9 10

Groei 2 3 1 5 2 3 4 3 2 1

Om aan de stijgende vraag te kunnen voldoen moet de installatie worden uitgebreid. Dit kan jaarlijks gebeuren tot maximaal 5 eenheden tegen de volgende kosten (in miljoen euro’s):

Uitbreiding 1 2 3 4 5

Kosten 20 38 55 70 80

Deze uitbreiding moet z´o worden gepland dat steeds aan de vraag voldaan kan worden en dat de bijbehorende kosten over de periode van 10 jaar zo laag mogelijk zijn. Bij deze kosten moet een jaarlijkse rente van 10% worden verdisconteerd. Welke planning is optimaal?

Hoofdstuk 11

Geheeltallige programmering

11.1 Inleiding

Soms zijn bij optimaliseringsproblemen ´e´en of meer variabelen geheeltallig, bijvoorbeeld als het gaat om ondeelbare grootheden zoals een bepaald aantal personen. We spreken dan van geheeltal-lige programmering. Als alle variabelen geheeltallig zijn, dan heet het probleem zuiver geheeltallig, anders gemengd geheeltallig. Een speciaal geval van een geheeltallige variabele is een variabele, waarvoor geldt dat deze slechts de waarde 0 of 1 kan aannemen: we spreken dan van een (0,1)-variabele of binaire (0,1)-variabele en het optimaliseringsprobleem waarin de geheeltallige (0,1)-variabelen (0,1)-variabelen zijn, heet een (0,1)-probleem of ook wel een combinatorisch optimaliserings-probleem. Meestal beschouwen we lineaire geheeltallige optimaliseringsproblemen.

In tegenstelling tot de simplex methode voor lineaire programmering, die meestal effici¨ent werkt en snel tot een optimale oplossing leidt, bestaat er voor de geheeltallige programmering geen effici¨ente methode. Het is zelfs uiterst onwaarschijnlijk dat er ooit een effici¨ente methode voor gevonden kan worden. De reden hiervoor is dat het geheeltallige programmeringsprobleem NP-moeilijk is, een begrip uit de complexiteitstheorie1. We zullen nu eerst een aantal voorbeelden geven van geheeltallige programmeringsproblemen.

Een financieringsprobleem

De komende drie jaar kunnen vijf projecten worden gefinancierd. Per project staan de jaarlijkse investeringen en de verwachte winst na 3 jaar (in miljoenen euro’s) in onderstaande tabel. Jaarlijks is 25 miljoen euro te investeren.

Investering

Project jaar 1 jaar 2 jaar 3 Winst

1 5 1 8 20

2 4 7 10 40

3 3 9 2 20

4 7 4 1 15

5 8 6 10 30

Gevraagd wordt welke projecten het best gefinancierd kunnen worden om de te verwachten winst te maximaliseren.

Hiervoor voeren we (0,1)-variabelen xi, 1 ≤ i ≤ 5 in, waarbij xi = 1 overeenkomt met het financieren van project i. Het optimaliseringsprobleem luidt dan:

max            20x1+ 40x2+ 20x3+ 15x4+ 30x5 5x1 + 4x2 + 3x3 + 7x4 + 8x5 ≤ 25 x1 + 7x2 + 9x3 + 4x4 + 6x5 ≤ 25 8x1 + 10x2 + 2x3 + x4 + 10x5 ≤ 25 xi ∈ {0, 1}, 1 ≤ i ≤ 5           

Als we dit oplossen als LP-probleem, daarbij xi ∈ {0, 1} vervangend door 0 ≤ xi ≤ 1, 1 ≤ i ≤ 5, dan luidt de oplossing: x1 = 0.5789, x2 = x3 = x4 = 1 en x5 = 0.7368, met waarde van de doelfunctie gelijk aan 108.682. De oplossing van het combinatorisch optimaliseringsprobleem is: x1= x2 = x3 = x4 = 1 en x5 = 0 met optimale waarde = 95.

Een productieprobleem met vaste kosten

Beschouw een productieprobleem met n producten en waarbij de productiekosten deels vaste kosten zijn en deels kosten lineair in de hoeveelheid: Cj(xj) =

(

Kj+ cjxj als xj > 0;

0 als xj = 0.

De doelfunctie wordt dan Pn

j=1Cj(xj) en is niet meer lineair in xj vanwege de discontinu¨ıteit in xj = 0. Deze functie is toch lineair te maken door voor iedere xj een binaire variabele yj in te voeren met de interpretatie dat yj = 1 als xj > 0. Door nu te eisen dat 0≤ xj ≤ Myj, met M een groot getal dat in alle realitische situaties een bovengrens voor de productie is, wordt Cj(xj) = Kjyj+cjxj, zodat de doelfunctie lineaire is. Het oorspronkelijke probleem heeft niets geheeltalligs, maar door deze modellering wordt het een gemengd geheeltallig optimaliseringsprobleem. Een scheduling probleem

Beschouw een scheduling probleem waarbij n verschillende operaties op ´e´en machine moeten worden uitgevoerd. Veronderstel dat er drie soorten beperkingen zijn: (1) volgorde-restricties voor een aantal taken; (2) niet-tegelijkertijd kunnen uitvoeren van twee taken op deze machine; (3) voor iedere taak j een tijdstip dj waarop deze taak af moet zijn.

De vraagstelling luidt om een planning te maken die de maximale overschrijding van de tijden dj minimaliseert, rekening houdend met de overige beperkingen.

Laat xj de beslissingsvariabele zijn voor het tijdstip waarop de j-de taak op de machine begint en laat tj de (gegeven) tijdsduur zijn voor de bewerking van taak j op de machine, 1≤ j ≤ n. De volgorde-restrictie taak i komt voor taak j houdt in: xi+ ti≤ xj.

De taken i en j niet tegelijkertijd op de machine betekent: `ofwel xi+ ti ≤ xj, `ofwel xj + tj ≤ xi. Deze eis is m.b.v. een binaire variabele yij, waarbij yij = 1 correspondeert met de eerste mogelijkheid en yij = 0 met de tweede, om te vormen tot twee beperkingen die beide moeten gelden: xi+ ti ≤ xj+ M (1− yij) en xj+ tj ≤ xi+ M yij, waarbij M voldoende groot is, bijv. het laatste tijdstip waarop een taak af moet zijn.

De eis dat taak j op tijdstip dj af moet zijn is: xj+ tj ≤ dj.

Het minimaliseren van de maximale overschrijdingen is te modelleren door T te minimaliseren en te eisen dat T ≥ xj+ tj− dj voor alle j.

Een vestigingsprobleem

Veronderstel dat er m mogelijke plaatsen zijn om filialen van een bedrijf te vestigen. Het vestigen van het i-de filiaal kost fi en filiaal i heeft capaciteit bi, 1≤ i ≤ m. Het bedrijf heeft n klanten en de j-de klant heeft een hoeveelheid dj nodig, 1 ≤ j ≤ n. Als er vanuit filiaal i aan klant j wordt geleverd, dan kost dit cij per eenheid.

Welke filialen moeten worden gevestigd en hoe moet de bevoorrading van de klanten worden uitgevoerd om de totale kosten te minimaliseren?

Zij       

xij = de hoeveelheid die vanuit filiaal i aan klant j wordt geleverd yi =

(

1 als filiaal i wordt gevestigd 0 anders

Dit probleem is als volgt te formuleren als een gemengd geheeltallig programmeringsprobleem:

min            Pm i=1 Pn j=1cijxij+Pm i=1fiyi Pm i=1 xij = dj, j = 1, 2, . . . , n Pn j=1 xij ≤ biyi, i = 1, 2, . . . , m xij≥ 0, 1 ≤ i ≤ m, 1 ≤ j ≤ n 0≤ yi≤ 1, en geheel, 1 ≤ i ≤ m           