1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University...

176
1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics

Transcript of 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University...

Page 1: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

1

Inleiding Besliskunde

Lineair ProgramerenProf. Dr. Ronald L. Westra

Maastricht University Department Mathematics

Page 2: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

2

Inleiding Besliskunde

Inhoud

1. Geometrische interpretatie en de Simplexmethode

2. De valkuilen van de Simplexmethode en Infeasible Dictionaries

3. Dualiteitstheorie en de Simplexmethode in matrixformulatie

4. Toepassing: robuuste regressie en Sparse Estimation mbv de Simplexmethode

Page 3: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

3

1.1 Geometrische interpretatie

Besliskunde is de kunde van het beslissen.

Exacter: het systematisch beschrijven van een beslissingsprobleem, en het methodisch vinden van een correcte oplossing daarvan.

De drie belangrijkste elementen in de besliskunde zijn:

het zeer nauwkeurig beschrijven van het beslissingsprobleem = maken van een mathematisch model

het vinden van een correcte oplossing (= een beslissing) van het probleem

de analyse en de gevoeligheid van de gevonden oplossing(en)

In de besliskunde streven we naar:

het vinden van juiste oplossingen (de beslissingen)

het analyseren van verscheidene strategieën

Voorbeelden van grote projecten waar besliskunde succesvol werd/wordt toegepast zijn:

de apollo-saturnus maanlandingen 1969-1973

grote bouwprojecten

de beste keuze voor de nieuwe vestiging van een fabriek of supermarkt

Page 4: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

4

1. Geometrische interpretatie

Meestal is de beschrijving van het probleem gebaseerd op het beschrijven van de voorwaarden waaraan de oplossing moet voldoen. Zo’n voorwaarde heet een constraint. Veelal nemen we niet genoegen met ’n oplossing maar willen we de ‘beste’ oplossing. Dat wordt dan uitgedrukt in een criterium of object-functie. De beste oplossing wordt nu gedefinieerd als diegene die het criterium maximaliseert.

Bij het mathematisch modelleren van een beslissingsprobleem zijn verscheidene modellen mogelijk. We onderscheiden:

kwantitatieve modellen: hierin worden de beslissingsproblemen uitgedrukt aan de hand van kwantitatieve grootheden die we beslissingsparameters (decision variables) noemen. Dit zijn parameters die gehele of reële waarden kunnen aannemen. Bijvoorbeeld: x = 3.14.

kwalitatieve modellen: hierin worden de kwalitatieve beslissingsparameters gebruikt. Bijvoorbeeld: kleur = ‘rood’.

Page 5: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

5

Lineair Programmeren

1. Geometrische interpretatie

Een groot probleem bij dergelijke beslissingmodellen is het vinden van de constraints, en het schatten van de parameters en constanten die daarin voorkomen. Vaak zijn experimenten of metingen nodig om deze te schatten. Op een zelfde manier is de validatie van het model problematisch. Voorbeeld: de ‘prijselasticiteit’ = hoeveel meer producten worden verkocht als we de prijs b.v.1 euro goedkoper maken?

Bij de meest eenvoudige kwantitatieve modellen zijn zowel de constraints alsook het criterium lineair in de beslissingsparameters.

Dit zijn de lineaire programmeer problemen.

Page 6: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

6

Lineair Programmeren

1. Geometrische interpretatie

Historisch ligt hier ook de oorsprong van de besliskunde. Bij de landing van de geallieerden in Normandië in 1944, moesten in korte tijd een miljoen soldaten aan vijandig land gebracht worden. Deze operatie werd zeer nauwkeurig voorbereid. Bij die voorbereiding werden de eerste mathematische beslissingsmodellen gemaakt en toegepast.

Dit waren lineaire modellen. Men kon zulke problemen toen nog niet exact oplossen, maar nam er genoegen mee door zo lang te gokken tot een oplossing werd gevonden die aan alle constraints voldeed. Dit is de zg. Monte Carlo simulatie.

Pas in 1947 werd door G.B. von Dantzig een exacte mathematische oplossingsmethode bedacht: de zogenaamde Simplex-methode

Page 7: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

7

Lineair Programmeren

1. Geometrische interpretatie

Historisch ligt hier ook de oorsprong van de besliskunde. Bij de landing van de geallieerden in Normandië in 1944, moesten in korte tijd een miljoen soldaten aan vijandig land gebracht worden. Deze operatie werd zeer nauwkeurig voorbereid. Bij die voorbereiding werden de eerste mathematische beslissingsmodellen gemaakt en toegepast.

Dit waren lineaire modellen. Men kon zulke problemen toen nog niet exact oplossen, maar nam er genoegen mee door zo lang te gokken tot een oplossing werd gevonden die aan alle constraints voldeed. Dit is de zg. Monte Carlo simulatie.

Pas in 1947 werd door G.B. von Dantzig een exacte mathematische oplossingsmethode bedacht: de zogenaamde Simplex-methode

Page 8: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

8

1. Geometrische interpretatie

Wij beschouwen nu de algemene vorm van lineaire programmeer (=LP) problemen:Beschouw een beslissingsprobleem waarin we zoeken naar de waarden van n reële (beslissings)variabelen x1, x2, ..., xn, onder de voorwaarde dat:

Dit noemen we de standaardvorm van een LP probleem.

Page 9: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

9

De geometrische interpretatie

1. Geometrische interpretatie

We kunnen een nuttige geometrische interpretatie geven aan standaard LP-problemen.Beschouw een n-dimensionale Euclidische ruimte IRn met elementen (x1, x2, ..., xn). De vergelijking van een vlak V in deze ruimte is gegeven door:

u1x1 + u2x2 + ... + unxn = c

Hierbij zijn ui en c gegeven constanten.

De vector u = (u1,u2,...,un)T staat loodrecht op vlak V en heet een normaalvector

van V. Vervangen we het is-teken door een ongelijkheidsteken, dan definieert de relatie het halfvlak boven – of onder het vlak V.

Het stelsel van ongelijkheden definieert de doorsnede van een aantal van zulke vlakken.

Page 10: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

10

1. Geometrische interpretatie

Page 11: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

11

1. Geometrische interpretatie

Page 12: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

12

1. Geometrische interpretatie

Page 13: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

13

1. Geometrische interpretatie

Page 14: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

14

1. Geometrische interpretatie

Page 15: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

15

1. Geometrische interpretatie

Page 16: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

16

1. Geometrische interpretatie

Page 17: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

17

1. Geometrische interpretatie

Page 18: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

18

1. Geometrische interpretatie

Page 19: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

19

Voorbeeld: het vergelijken van appels en peren

Voorbeeld: het vergelijken van appels en peren

Verbale beschrijving van het probleem:

Hoeveel appels en peren kan ik kopen als ik 3.60 euro heb, en:appels 20 ct/stukperen 30 ct/stuk

Oplossing :

Stel:

#appels = a, #peren = p,

beperkende voorwaarde [constraint]:

Page 20: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

20

Voorbeeld: het vergelijken van appels en peren

Page 21: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

21

Voorbeeld: het vergelijken van appels en peren

Stel dat er een bijkomend probleem is, te weten dat de groenteboer slechts 12 appels en 10 peren in voorraad heeft, dus:

Page 22: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

22

Voorbeeld: het vergelijken van appels en peren

Hier valt weinig – of veel – te beslissen; elk paar (p,a) in het vlak is een toegestane oplossing.

Stel dat we nu echter de voedingswaarde van onze keuze zo hoog mogelijk willen maken – bijvoorbeeld het vitaminegehalte.

Stel:appel: 4 gram vitamine C/stukpeer: 7 gram vitamine C/stuk

Het totaal aantal gram vitamine C is dan: V = 4 a + 7 p

Page 23: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

23

Voorbeeld: het vergelijken van appels en peren

Het totaal aantal gram vitamine C is : V = 4 a + 7 p ; Dit definieert een verzameling van parallelle lijnen in het (a,p)-vlak:

Page 24: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

24

Voorbeeld: het vergelijken van appels en peren

Door schuiven van de lijn V = 4 a + 7 p over de convexe simplex vinden we de oplossing: a = 3p = 10V = 82

Page 25: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

25

1. Geometrische interpretatie

Page 26: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

26

Het oplossen van LP-problemen

1. Geometrische interpretatie

Voor het oplossen van een LP-probleem bestaan zeer effectieve en deterministische methoden. (Vergelijk dit met de vierkantswortel van tweedegraads-functies:

)

De oudste en meest bekende is de genoemde simplex-methode.Deze is enerzijds duidelijk gedefinieerd. Anderzijds bewerkelijk en bol van de technische begrippen.

Het werkt verhelderend om steeds de geometrische interpretatie steeds voor ogen te houden.

a

acbbxcbxax

2

40

2

2,12

Page 27: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

27

Doelstelling van deze cursus

1. Geometrische interpretatie

Nu we de basisbegrippen hebben leren kennen, kunnen de drie voornaamste doelstellingen van deze cursus noemen:

het kunnen mathematisch modelleren van een beslissingsprobleem.

het kunnen oplossen van een LP-probleem middels de Simplex-methode.

het begrijpen van de theoretische achtergronden en de termen betreffende LP-problemen.

Page 28: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

28

1.2 De Simplexmethode

In dit onderdeel beschouwen we LP-problemen in de standaardvorm:

In deel 1 hebben we een grafische oplossingsmethode voor LP-problemen besproken. We zullen nu een effectieve een oplossingsmethode voor dit soort stelsels bespreken. Deze zogenaamde Simplex-methode in 1947 bedacht door G. von Dantzig.

Page 29: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

29

Voorbeeld

1. De Simplexmethode

Laten we eens een voorbeeld handmatig doorrekenen:

Dit is een LP-probleem in standaardvorm.

Page 30: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

30

1. De Simplexmethode

Als eerste willen we de lineaire ongelijkheden ombouwen naar lineaire gelijkheden. Dit doen we met de volgende truck. We merken op dat:

Voor de eerste restrictie: geldt dus dat het rechterlid altijd iets positief is, of minimaal nul als alle variabelen nul zijn. Het verschil: is dus ook altijd niet-negatief.

Als we nu definiëren: dan geldt dus blikbaar dat:

Deze observatie gaat op voor elk van de 3 restricties.

0,0,0 321 xxx

532 321 xxx

)32(5 321 xxx

)32(5 321 xxxs 0s

Page 31: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

31

1. De Simplexmethode

Page 32: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

32

1. De Simplexmethode

Page 33: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

33

1. De Simplexmethode

Page 34: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

34

1. De Simplexmethode

Page 35: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

35

1. De Simplexmethode

Page 36: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

36

1. De Simplexmethode

Page 37: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

37

Generalisatie: De Simplex methode in zes stappen

1. De Simplexmethode

We proberen de aanpak van het bovenstaande voorbeeld nu generaliseren. Dit is een beschrijving van het Simplex-algorithme. We zullen dit Simplex-algorithme nu in zes stappen beschrijven:

stap 1: definieer restvariabelenVoor elke van de m constraints Ci voeren we een nieuwe

variabele in. We nummeren door vanaf n dus dit zijn de variabelen xn+1, xn+2, ..., xn+m .Deze zg restvariabelen (eng:

slack variables) zijn gedefinieerd als:

voor i=1.. m. De eerdere variabelen heten de beslissings-variabelen (decision variables). Vanwege de i-e constraint Ci

geldt dan :

n

jjijiin xabx

1

0inx

Page 38: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

38

Generalisatie: De Simplex methode in zes stappen

stap 2: herschrijf LP-standaardvorm naar dictionairies

Ons stelsel heeft nu de vorm:

i. maximaliseer: z = c1x1 + c2x2 + ... + cnxn

ii. onder restricties: C’i : , voor: i = 1 .. m.

iii. en:

Verder leggen wij onszelf een beperking op: we zullen voorlopig slechts problemen beschouwen waarvoor: x1 = 0; x2 = 0; ... xn = 0; een toegestane oplossing is.

Dit maakt het navolgende verhaal eenvoudiger, en doet niets af aan de algemene gedachte achter de Simplex-methode.

n

jjijiin xabx

1

.0,...,0,0 21 mnxxx

Page 39: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

39

Generalisatie: De Simplex methode in zes stappen

Page 40: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

40

Generalisatie: De Simplex methode in zes stappen

stap 3: initialisatie: kies een toegestane oplossing

Kies initiële waarden voor de variabelen x1 = 0, x2 = 0, ...,

xn = 0. Met bovenstaande restrictie voldoet deze keuze aan

alle constraints. De waarden voor de slack-variabelen volgen uit de restricties en zullen i.h.a. niet-nul zijn. Daardoor is de startwaarde van: 0

1

n

iiixcz

Page 41: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

41

Generalisatie: De Simplex methode in zes stappen

stap 4: bepaal de sterkste invloed op z

Welke van de variabelen x1, x2, ..., xn+m doet de doelfunctie z het

meest toenemen vanuit de huidige waarde? Het is duidelijk dat de variabele met de grootste coëfficiënt ci de waarde van z het

meeste doet toenemen. Dus we zoeken de variabele met de index:

k* = arg max k ck.

Dit kunnen er in principe meerdere zijn. In dat geval bepalen we een tie break rule. Bijvoorbeeld min, max of rand. Dus, b.v.: j = min arg max k ck.

Stel nu dat: .

Daar: , kan z alleen maar afnemen t.o.v. de waarde .

M.a.w. is de maximale – en dus de gezochte – oplossing.

0max kk c

n

iiixcz

1

z~

Page 42: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

42

Generalisatie: De Simplex methode in zes stappen

Page 43: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

43

Generalisatie: De Simplex methode in zes stappen

Page 44: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

44

Generalisatie: De Simplex methode in zes stappen

Page 45: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

45

Generalisatie: De Simplex methode in zes stappen

De Simplex iteratie

We kunnen nu de stappen 4 t/m 6 weer herhalen op de nieuwe basis, dictionaires, en uitdrukking voor z.

Zoals al aangegeven in stap 4 stopt het proces – dus de iteratie als:

De waarden van geven dan de optimale oplossing.

0max kk c

Page 46: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

46

Generalisatie: De Simplex methode in zes stappen

Samenvatting

Het feitelijke Simplex algoritme bestaat uit de volgende onderdelen:

1. Initialisatie (stap 3)2. Iteratie (stap 4, 5, 6)3. Terminatie (in stap 4: )

Meteen rijzen er een aantal vragen:

leidt het Simplex-algorithme altijd naar de juiste oplossing?

vinden we de oplossing altijd in een eindig aantal iteraties?

0max kk c

Page 47: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

47

Page 48: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

48

Inleiding Besliskunde

EINDE LEZING 1

Page 49: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

49

2. Convergentie en optimaliteit van de Simplexmethode

Werkt de Simplexmethode altijd?

* Wordt altijd de optimale oplossing gevonden?

* In hoeveel stappen wordt de oplossing gevonden als functie van de grootte van het probleem?

* Maakt het wat uit welke ‘entering variable’ we kiezen?

* Wat als de beginwaarde (0,0,0,...,0) niet werkt?

Page 50: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

50

2. Valkuilen van de Simplexmethode

Valkuilen van de Simplex-methode

In dit onderdeel beschouwen we de efficiëntie van de Simplex-methode.

Onder welke voorwaarden bestaat er een oplossing, en vinden we deze altijd in een eindig aantal iteraties?

Of kan het voorkomen dat het Simplex-algorithme blijft ‘hangen’, en zo ja, onder welke voorwaarden.

We beginnen met enkele definities om daarmee de hoofdstelling van lineair programmeren te kunnen formuleren..

Page 51: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

51

2. Valkuilen van de Simplexmethode

Definities

Beschouw de verzameling van lineaire restricties in matrix vorm:

A x = b.

Hierin is: x = (x1, x2, .., xn+m), b = (b1, b2, .., bm), en A een mx(n+m)-matrix.

We kunnen matrix A schrijven als een matrix van kolom-vectoren:

A = (a1, a2, .., an+m).

De verzameling van indices van de basis-variabelen noemden we B en van de rest N. Dus bevat B: m elementen, en N: n elementen.

Page 52: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

52

2. Valkuilen van de Simplexmethode

Definities

We kunnen met deze notatie een oplossing als volgt schrijven:

We kunnen nu een partitie (verdeling) maken voor bovenstaande vectoren en matrices.

We verdelen x in een basis-deel xB en een niet-basis-deel als volgt:

, deze bevat dus m componenten.

, deze bevat dus n componenten.

Merk op dat:

Ni iiBi ii xxA aax

}|][{ BiixB x

}|][{ NiixN x

},..,2,1{ nmNB

Page 53: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

53

2. Valkuilen van de Simplexmethode

Definities

We definiëren nu een basis-oplossing als volgt:

Definitie 3.1: Een basis-oplossing van een stelsel Ax = b is een vector x met: xN = 0 (d.i. een n-dimensionale nul-vector).

Dat betekent dat x een vorm heeft als (a b ... c 0 0 0 0 0 0)T, met a, b, etc – in principe – niet-nul in het basis-gedeelte, en de nullen in het niet-basis-gedeelte xN.

Wegens geldt voor een basis-oplossing:

Ni iiBi ii xxA aax

Bi iixA ax

Page 54: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

54

2. Valkuilen van de Simplexmethode

Definities

Een basis-oplossing heet ontaard als geldt:

Definitie: Een basis-oplossing x van een stelsel Ax = b heet ontaard als xB componenten bevat die nul zijn.

Dat betekent dat nu het basis-gedeelte ook nullen bevat, b.v. als: x = (a b ... c 0 0 0 0 0 0)T, dan zijn onder de variabelen a, b, etc één of meerdere nullen.

Page 55: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

55

2. Valkuilen van de Simplexmethode

Definities

Beschouw nu het volgende stelsel:

We definiëren nu het begrip toegelaten als volgt:

Definitie: Als x aan i én ii voldoet heet het een toegelaten oplossing.

Definitie: Als x aan i maar niet aan ii voldoet heet het een niet-toegelaten oplossing.

Definitie: Een basis-oplossing xB die aan i én ii voldoet heet een toegelaten basis-oplossing, dan is dus: .

Definitie: Een basis-oplossing xB die niet voldoet aan: heet een niet-toegelaten basis-oplossing.

0x B

0x B

Page 56: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

56

2. Valkuilen van de Simplexmethode

Hoofdstelling van de lineaire programmering

Om iets te zeggen over de eindigheid van het Simplex-algorithme definieren we nu de hoofdstelling van de lineaire programmering.

Beschouw een herschreven standaardvorm van een LP-probleem.

We nemen nu aan de rang van A gelijk n is. Indien x hieraan voldoet en de objectfunctie z maximaliseert wordt het de optimale toegelaten oplossing genoemd. In het geval van een basisoplossing spreken we van een optimale toegelaten basis-oplossing.

Page 57: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

57

2. Valkuilen van de Simplexmethode

Hoofdstelling van de lineaire programmering

De hoofdstelling van LP luidt nu:indien er een toegelaten oplossing van 4.1 bestaat, dan bestaat er ook een toegelaten basis-oplossing.

indien er een optimale toegelaten oplossing van 4.1 bestaat, dan bestaat er ook een optimale toegelaten basis-oplossing.

Met behulp van deze stelling is het mogelijk om het zoekproces naar de optimale oplossing aanzienlijk te verkorten. Immers kunnen we ons beperken tot toegelaten basis-oplossingen, d.w.z. oplossingen met allemaal nullen in het niet-basis-gedeelte.

i. indien er een toegelaten oplossing van het probleem bestaat, dan bestaat er ook een toegelaten basis-oplossing.

ii. indien er een optimale toegelaten oplossing van het probleem bestaat, dan bestaat er ook een optimale toegelaten basis-oplossing.

Page 58: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

58

2. Valkuilen van de Simplexmethode

Hoofdstelling van de lineaire programmering

Met behulp van de hoofdstelling van LP is het mogelijk om het zoekproces naar de optimale oplossing aanzienlijk te verkorten. Immers kunnen we ons beperken tot toegelaten basis-oplossingen, d.w.z. oplossingen met allemaal nullen in het niet-basis-gedeelte.

Dit klinkt erg aantrekkelijk, want er zijn maar eindig veel basis-oplossingen. Immers, volgens bovenstaande kan iedere basis-oplossing uniek geschreven worden uit slechts m van de n kolommen van matrix A.

Dit kan op slechts: manieren. Hoewel, ‘slechts’ is hier niet op zijn plaats. Voor een – in praktische gevallen – klein probleem als n = 20 en m = 10 geeft dit 184.756 mogelijke basis-oplossingen. Al deze mogelijkheden zouden nagelopen moeten worden. Het is duidelijk dat zo’n aanpak geen enkele praktische waarde heeft.

De Simplex-methode maakt echter zeer efficiënt gebruik van de hoofdstelling, doordat niet alle toegelaten basis-oplossingen doch slechts een klein deel hiervan op een systematische wijze worden onderzocht.

m

n

Page 59: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

59

2. Valkuilen van de Simplexmethode

Eindigheid en Cycling

Tot nu toe hebben we bewust ‘eenvoudige’ gevallen bekeken, waarin het Simplex-algorithme in een eindig aantal iteratiestappen naar een optimale oplossing convergeert. Laten we nu de drie onderdelen van het Simplex-algorithme beschouwen waarin problemen zouden kunnen ontstaan t.o.v. convergentie of eindigheid.

We beschouwen drie stadia van het algoritme.

i. Initialisatie: lukt het altijd om een toegelaten oplossing te vinden?

ii. Iteratie: Kunnen we altijd een entering en een leaving variabele vinden, en te ‘pivoteren’.

iii. Terminatie: Kan het gebeuren dat het algoritme oneindig doorgaat zonder ooit een oplossing te bereiken?

We zullen nu deze stadia een voor een bespreken.

Page 60: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

60

2. Valkuilen van de Simplexmethode

Initialisatie

Door onze zelf-opgelegde restrictie beginnen we met een vorm als:

x0 = (a b ... c 0 0 0 0 0 0)T.

Het zou natuurlijk kunnen dat deze begin waarden niet aan de constraints voldoet, m.a.w. dat Ax niet b is.

Later zullen we daarom de 2-fasen Simplexmethode bespreken waarin ook een andere start-oplossing mogelijk wordt – tenminste als die bestaat.

Er blijft dus de mogelijkheid dat een LP-probleem geen oplossing heeft, namelijk omdat er geen enkele x bestaat met Ax = b!

Page 61: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

61

2. Valkuilen van de Simplexmethode

Iteratie

Bij de mogelijkheid binnen een iteratiestap zijn drie aspecten van belang:

1. het vinden van een entering variabele: deze stap is eenduidig geregeld als: k* = arg max k ck

2. het vinden van een leaving variabele: hier kunnen we een restrictie vinden aan de bovengrens van de entering variabele. Als dat echter niet lukt, dan is er geen boven-grens, en is het probleem onbegrensd (unbounded). In dit geval moeten we het algoritme beëindigen; er is geen oplossing. We zouden in deze stap ook kunnen vinden dat de entering variabele x voldoet aan bijvoorbeeld: x < -3. Ook in dat geval is er geen oplossing, omdat we weten dat x moet voldoen aan: x > 0. Ook dan sluiten we af.

Page 62: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

62

2. Valkuilen van de Simplexmethode

Iteratie

3. degeneratie: als de entering variabele t.g.v. de restricties de waarde nul verkrijgt, dan is het probleem dus volgens de definitie ontaard of gedegenereerd. Het directe gevolg is dat z niet toeneemt in deze iteratiestap. Immers, de toename van z is meteen gekoppeld aan de toename van de entering variabele. Het kan voorkomen dat het algoritme een serie van zulke ontaarde stappen achterelkaar doormaakt, en dat het daarna weer ‘goed’ verder gaat.

Page 63: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

63

2. Valkuilen van de Simplexmethode

Terminatie

Het kan inderdaad voorkomen dat het terminatiecriterium nooit actief wordt, en de iteratie dus oneindig lang duurt.

Maar er kan (eenvoudig) bewezen worden dat:

Dit verschijnsel is echter zeer zeldzaam en zal in de praktijk niet voorkomen.

Stelling :

Als het Simplex-algoritm niet eindigt dan bevindt hetzich in een oneindig herhalende cyclus.

Page 64: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

64

2. Valkuilen van de Simplexmethode

Efficiëntie en Snelheid

Voor een Simplex-probleem met n variabelen en m restricties vindt men empirisch voor het aantal iteraties grofweg:

aantal iteraties ~ 1.5 m log n [Dantzig, 1963].

Merk op dat het aantal iteraties nauwelijks toeneemt met n.

Bijvoorbeeld bij een probleem met n = 10 en m = 10, leidt een toename van het aantal variabelen naar 100 ‘slechts’ tot een verdubbeling van het aantal iteraties, terwijl eenzelfde toename van het aantal restricties het aantal iteraties vertienvoudigt.

Als men dus de keuze heeft, kan men beter veel variabelen definiëren en weinig restricties.

Page 65: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

65

2. Valkuilen van de Simplexmethode

Efficiëntie en Snelheid

We hebben boven gezien dat er problemen bestaan die cyclisch zijn – d.w.z. na enige tijd wederom in de begintoestand terugkeren – en dus oneindig lang duren.

Zijn er nu ook ‘gewone’ LP-problemen die zeer lang duren, zonder dat er sprake is van een cyclus?

Deze bestaan inderdaad, een voorbeeld zijn de zogenaamde Klee-Minty-problemen [V. Klee, G. Minty, 1972].

Page 66: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

66

2. Valkuilen van de Simplexmethode

Klee-Minty-problemen

Beschouw het volgende probleem met n variabelen en n restricties:

Klee en Minty toonden voor deze problemen aan dat zij 2n – 1 iteratiestappen vergen. Bijvoorbeeld het Klee-Minty-probleem met n = 50 (een relatief klein LP-probleem) zou met 100 iteraties/seconde meer dan 300.000 jaar nodig hebben voor het vinden van de oplossing.

In het boek: Introduction to LP, Chvátal, pag. 47 e.v. is het voorbeeld met n=3 beschreven. Deze heeft 23-1 = 7 stappen nodig voor de oplossing.

Page 67: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

67

2. Valkuilen van de Simplexmethode

Alternatieve Pivoting-Rules

Tot nu toe hanteerden we bij de keuze voor de entering variabele de vuistregel:

regel 1: “Kies de variabele met de grootste coëfficiënt in de regel voor z”.

Dit leidde bij Klee-Minty-problemen van orde n tot 2n-1 iteraties.

Beschouw nu de volgende vuistregel:

regel 2: “Kies de variabele die de grootste toename in z veroorzaakt”.

Merk op dat we daartoe voor elke (positieve) coëfficiënt in z de resulterende toename in z moeten berekenen. Toepassing van deze regel op het Klee-Minty-problemen van orde 3 in het voorbeeld van Chvátal – pag. 47 e.v. leidt tot: 1 iteratiestap!

Maar ook deze regel heeft een Achilleshiel: Jeroslav [Jeroslav,1973] gaf een voorbeeld waarin deze regel een exponentieel aantal iteraties gaf – net als in het Klee-Minty-voorbeeld voor regel 1.

Page 68: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

68

2. Valkuilen van de Simplexmethode

Alternatieve Pivoting-Rules

Vuistregels als hierboven heten pivotting-rules.

Hoewel i.h.a. regel 2 minder iteraties veroorzaakt dan regel 2, is de extra check zo tijdrovend dat regel 1 bij implementatie toch weer sneller is.

Daarom kiest men bij implementatie vaak de volgende vuistregel:

regel 3: “Kies een willekeurige variabele met positieve coëfficiënt in de uitdrukking voor z”.

Meestal kiest men dan degene met de kleinste index.

Page 69: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

69

2. Valkuilen van de Simplexmethode

Infeasible Dictionaries

Tot nu toe legden we ons zelf een restrictie op: in de eerste iteratie stap moest xN = 0 een mogelijke oplossing zijn.

Dat wil zeggen, dat als we in de standaardvorm van het originele probleem alle beslissingsvariabelen gelijk aan nul mogen stellen.

Dit hoeft niet altijd het geval te zijn, bijvoorbeeld x1 + x2 < -5 kan niet,

want invulling van met x1, x2 = 0 geeft: 0 < -5, hetgeen onwaar is.

Nu zullen we met behulp van de twee-fasen Simplex-methode leren dergelijk problemen op te lossen.

Page 70: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

70

2. Valkuilen van de Simplexmethode

Mogelijke oplossingen en mogelijke dictionaires

Als we in een dictionaire van een LP-probleem alle niet-basisvariabelen aan de rechterkant gelijk aan nul stellen, verkrijgen we voor de basis-variabelen aan de linkerkant een mogelijke oplossing (eng: feasible solution).

Als echter een dictionaire op deze wijze negatieve waarden zou geven voor de basisvariabelen, dan noemen we het een onmogelijke dictionaire (eng: infeasible dictionary).

Page 71: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

71

2. Valkuilen van de Simplexmethode

Feasible Dictionaries, Voorbeeld:

Merk op dat zo’n stelsel wel een oplossing zou kunnen hebben. We kunnen het alleen met onze standaard-Simplexmethode niet vinden.

Page 72: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

72

2. Valkuilen van de Simplexmethode

Hulp-variabelen en het hulp-probleem

Stel dat we een LP-probleem met een infeasible dictionary hebben in de standaardvorm:

Dat betekent dat onder de componenten van b negatieve elementen zijn. Stel dat we nu de rechterkant van de restricties zoveel zouden verhogen dat er wel een feasible dictionary zou ontstaan. Met andere woorden, wat is de kleinste x0 waarvoor x = 0 wel een

oplossing is van:

Page 73: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

73

2. Valkuilen van de Simplexmethode

Hulp-variabelen en het hulp-probleem

Anders gezegd:

Dit heet het hulp-probleem (eng: auxiliary problem) van het originele infeasible probleem.

De variabele x0 heet de hulp-variabele (eng: auxiliary variable).

Page 74: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

74

2. Valkuilen van de Simplexmethode

Hulp-variabelen en het hulp-probleem

We kunnen dit ook in de LP-standaardvorm schrijven:

Page 75: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

75

2. Valkuilen van de Simplexmethode

Hulp-variabelen en het hulp-probleem

Of na invoering van de slack-variabelen in dictionaire-vorm:

Ga na dat deze dictionaire nog steeds infeasible is.

Page 76: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

76

2. Valkuilen van de Simplexmethode

Hulp-variabelen en het hulp-probleem

Toch kunnen we dit stelsel met een enkele stap omzetten in een feasible dictionary.

Kies namelijk:

entering variabele: x0

leaving variabele: x[n+i*], met: i* = arg mini b[i]

We hebben dus de meest negatieve constante uit vector b gekozen om de leaving variabele te bepalen.

Page 77: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

77

2. Valkuilen van de Simplexmethode

Hulp-variabelen en het hulp-probleem

Het gevolg is dat bij de spil-operaties er een nieuwe dictionaire ontstaat met alleen positieve constanten.

Immers, we nemen de dictionaire die x0 en x[i*] bevat, en brengen

x0 naar links:

we substitueren dit in de andere dictionaires:

, voor i = 1,...,m

Merk op dat: bi – b[i*] altijd niet-negatief is omdat we expres met b[i*] de

‘negatiefste’ component uit b hebben gekozen.

*][]*,[*][1

0 inxxjiaibxn

jj

*][]*,[*][11

inxxjiaxaibbxn

jj

n

jjijiin

Page 78: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

78

2. Valkuilen van de Simplexmethode

Hulp-variabelen en het hulp-probleem

Nu hebben we dus een mogelijke dictionaire (feasible dictionary) verkregen. We kunnen nu dus verder met de standaard-Simplexmethode, en kunnen we trachten het probleem op te lossen. We noemen de uitkomst dan een optimale dictionaire.

Er kunnen zich echter dan slechts één van de volgende twee mogelijkheden voordoen:

mogelijkheid 1: x0 is niet-basisvariabele en w* heeft waarde nul.

mogelijkheid 2: x0 is basisvariabele en w* heeft een waarde niet gelijk

aan nul.

In het eerste geval weten we dus dat w = -x0 de optimale oplossing is.

Dat betekent dat de restricties van het hulpprobleem geheel identiek zijn aan de restricties van het originele probleem.

Page 79: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

79

2. Valkuilen van de Simplexmethode

Hulp-variabelen en het hulp-probleem

We kunnen dus de optimale dictionaire van het hulpprobleem in zijn uiteindelijke vorm nemen, daaruit x0 geheel verwijderen (deze is

toch 0), en dan de uitdrukkingen in die dictionaire invullen in de oorspronkelijke uitdrukking voor z.

Dit nieuwe stelsel is dan feasible (dus het basis-deel der variabelen mag nul gesteld worden) en dus kunnen we dat met standaard-Simplex verder oplossen!

In het tweede geval concluderen we dat het stelsel in het geheel infeasible is, en dus niet oplosbaar.

Page 80: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

80

2. Valkuilen van de Simplexmethode

Het twee-fasen Simplex-algoritme

Deze aanpak heet de twee-fasen-Simplexmethode.

In de eerste fase stellen we het hulp-probleem op, en lossen we dat op. Als de resulterende optimale dictionaire voldoet aan mogelijkheid 1 dan gaan we naar de tweede fase: verwijderen x0 en lossen het stelsel op

met standaard-Simplex. In geval van mogelijkheid 2 concluderen we dat het originele probleem in het geheel infeasible is.

Hieronder is een schematisch voorstelling van het twee-fasen-Simplexalgoritme gegeven in de vorm van een stroomdiagram.

Page 81: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

81

Page 82: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

82

2. Valkuilen van de Simplexmethode

Relatie tot de geometrische interpretatie

We kunnen nu de relatie leggen tot de geometrische interpretatie van de eerste lezing:

Page 83: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

83

2. Valkuilen van de Simplexmethode

Relatie tot de geometrische interpretatie

De normale feasible dictionary is de reguliere geometrische situatie waar het criterium het convexe gebied op één punt uitschuift.

Page 84: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

84

2. Valkuilen van de Simplexmethode

Relatie tot de geometrische interpretatie

De infeasible dictionary is de situatie waar het convexe gebied geen oplossing toestaat door bv niet in het eerste kwadrant te liggen.

Page 85: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

85

2. Valkuilen van de Simplexmethode

Relatie tot de geometrische interpretatie

De onbegrensde situatie geeft oplossingen ‘oneindig’, bv: max x s.t. x ≥ 0.

Page 86: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

86

2. Valkuilen van de Simplexmethode

Relatie tot de geometrische interpretatie

De ontaarde (gedegenereerde) geometrische situatie komt overeen met de ontaarde oplossing in de Simplexmethode waar minimaal één basisvariabele nul is.

Page 87: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

87

Inleiding Besliskunde

EINDE LEZING 2

Page 88: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

88

3. Dualiteit en Matrixformulatie

Computationeel complexe problemen toch kunnen oplossen

* Elk LP-probleem heeft een “spiegelprobleem”: de duale LP

* Computationeel “zware” primale LPs hebben (cq kunnen hebben) eenvoudige duale LPs

* Zwakke en sterke dualiteit

* De “algemene” Simplex-methode in matrixformulatie

Page 89: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

89

3. Dualiteit en matrixvorm

Primale en Duale LP problemen

In dit onderdeel beginnen we met het schatten van de oplossing van een LP-probleem (ipv het exact berekenen) .

Het zal blijken dat we de oplossing (van het criterium z) kunnen inperken tussen een laagst-mogelijke en hoogst-mogelijke waarde

Door die schatting te “optimaliseren” kunnen we een algemene aanpak formuleren die bij elk LP-probleem (noem het “het eerste” of in Latijn: “het primale”) een ander LP-probleem definieert (het “tweede” oftewel in Lingua Latina: “duale”).

Page 90: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

90

3. Dualiteit en matrixvorm

Schatting voor bovengrens van criterium z

Stel we willen een bovengrens afschatten voor de oplossing van het criterium z van een LP-probleem.

Voorbeeld:

Page 91: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

91

3. Dualiteit en matrixvorm

Schatting voor bovengrens van criterium z

Het schatten van een ondergrens voor de oplossing van het criterium z van een LP-probleem is niet moeilijk (waarom niet?).

Elke toegestane oplossing xtrial geeft een bijbehorende waarde van ztrial. Daar de optimale oplossing z* de grootst mogelijke oplossing is, is z* ≥ ztrial , dus ztrial is een ondergrens de oplossing.

Page 92: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

92

3. Dualiteit en matrixvorm

Schatting voor bovengrens van criterium z

Maar hoe kunnen we een bovengrens voor z schatten?

Merk op dat als we de tweede restrictie vermenigvuldigen met 5/3 we verkrijgen:

Merk ook op dat dit term-voor-term groter-of-gelijk is dan de overeenkomstige term in z: 4 ≤ 25/3, 1 ≤ 5/3, 5 ≤ 5, 3 ≤ 40/3.

Page 93: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

93

3. Dualiteit en matrixvorm

term-voor-term is z kleiner-of-gelijk aan de overeenkomstige term in 5/3 x restrictie #2: z: 4 ≤ 25/3, 1 ≤ 5/3, 5 ≤ 5, 3 ≤ 40/3.

Verder is nog steeds voldaan aan:

Dus:

Dus 275/3 is een bovengrens van z !

0,,, 4321 xxxx

3275

4340

3235

1325

4321 5354 xxxxxxxxz

Page 94: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

94

3. Dualiteit en matrixvorm

Op analoge manier kunnen we de tweede en derde restrictie optellen, en verkrijgen we:

Daarvoor geldt analoog aan bovenstaande overweging:

Dus zestimate = 58 is een betere schatting voor de bovengrens van z.

583634 4321 xxxx

583634354 43214321 xxxxxxxxz

Page 95: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

95

3. Dualiteit en matrixvorm

We kunnen deze aanpak generaliseren.

Laten we kijken naar lineaire combinaties van de drie restricties R1, R2, en R3.

Hiervoor hebben we drie multiplicatoren y1, y2, en y3 nodig.

Deze moeten positief zijn, want anders ‘klapt’ het ongelijkheidsteken om:

We verkrijgen nu:

R1

R2

R3

Page 96: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

96

3. Dualiteit en matrixvorm

Analoog aan onze bovenstaande overweging kan dit alleen een bovengrens geven voor :

als geldt:4321 354 xxxxz

Page 97: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

97

3. Dualiteit en matrixvorm

Als dat het geval is, dan vinden we voor de bovengrens van z de multiplicatoren y keer de constanten aan de rechterkant van de ongelijkheden R:

Dit geldt in het bijzonder voor de optimale oplossing z*, oftewel:

3214321 355354 yyyxxxxz

321 355* yyyz

Page 98: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

98

3. Dualiteit en matrixvorm

We willen een zo klein mogelijke bovengrens te weten komen terwijl.

Dit leidt tot het volgende LP-probleem:

Dit noemen we het duale probleem van het oorspronkelijke probleem. Het oorspronkelijke probleem wordt dan wel het primale probleem genoemd.

321 355* yyyz

primale

duale

Page 99: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

99

3. Dualiteit en matrixvorm

Merk op dat we van 4 variabelen en 3 restricties zijn gegaan naar 3 variabelen met 4 restricties.

Voordelen:1. elke oplossing van de duale geeft een schatting voor de

bovengrens van z van de primale.2. wellicht is het duale probleem makkelijker oplosbaar:

rekentijd ≈ 1.5 m log n wordt dan: ≈ 1.5 n log m.

prim

ale

du

ale

Page 100: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

100

3. Dualiteit en matrixvorm

Het Duale Probleem

We kunnen deze aanpak generaliseren naar willekeurige LP-problemen.

Eerst definiëren we de LP- standaardvorm met matrix a = (aij) en

vectoren b en c als:

Het duale probleem van LP(a,b,c) is nu gedefinieerd:

Page 101: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

101

3. Dualiteit en matrixvorm

LP- standaardvorm met matrix a = (aij) en vectoren b en c als:

En zo is dus het duale probleem van LP(a,b,c) nu gedefinieerd.

Nu geldt dat voor elke mogelijke oplossing x van het primale probleem LP(a,b,c) en elke mogelijke oplossing y van het duale systeem de volgende relatie geldt: .

Voor de optimale oplossingen x* en y* van de systemen geldt zelfs: .

ybxc TT

** ybxc TT

Page 102: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

102

3. Dualiteit en matrixvorm

Nog krachtiger is de dualiteits-stelling:

Page 103: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

103

3. Dualiteit en matrixvorm

Relatie tussen het Primale en Duale SysteemDuale Probleem

Merk op dat we dit duale probleem ook kunnen schrijven als een maximaliseringsprobleem:

Dus het duale probleem van LP(a,b,c) is: LP(-aT,-c,-b). Merk op dat de duale van de duale wederom het oorspronkelijke primale

probleem is, want: de duale van de duale is: LP(-(-aT) T,-(-b),-(-c)) = LP(a,b,c) .

Page 104: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

104

3. Dualiteit en matrixvorm

Relatie tussen het Primale en Duale SysteemDuale Probleem

Verder is eenvoudig in te zien dat de volgende equivalenties gelden:

Page 105: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

105

3. Dualiteit en matrixvorm

Interpretatie van Duale Probleem

In de econometrie bestaat een duidelijke interpretatie aan de duale oplossing.

Namelijk; yi stelt de kosten per eenheid van ‘soort’ i voor.

Stel we hebben een LP-probleem LP(a,b,c) met oplossing z* en laat y* de optimale oplossing zijn van het duale probleem LP(-aT,-c,-b).

Stel dat we b met een kleine vector e laten toenemen (klein vergeleken met b).

Dan is de oplossing van: LP(a,b,c) gelijk aan: z + y*Te.

Voorbeeld:voorbeeld van de calculerende houthakker [Chvátal pag. 67,68].

Page 106: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

106

3. Dualiteit en matrixvorm

Simplex-methode in Matrixvorm

Symbolische matrixrepresentatie van het uitgebreide stelsel restricties

We hebben in het eerste deel van de cursus geleerd hoe we stelsels van lineaire vergelijkingen kunnen oplossen met behulp van de Gauss-eliminatiemethode, oftewel het ‘vegen’ van matrices.

Deze methode is ook bruikbaar binnen onze context van de Simplexmethode. Althans, als we eerst de vergelijkingen in een geschikte vorm brengen.

Page 107: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

107

3. Dualiteit en matrixvorm

Simplex-methode in Matrixvorm

Ons startpunt zijn de lineaire restricties inclusief de ‘slack’-variabelen gedurende de iteratie.

Deze luiden volledig:

Verder hebben we de doelfunctie z, deze luidt:

z = c0 + c1x1 + c2x2 + ... + cn+mxn+m

Hierbij stelt c0 de actuele waarde van z* voor – in de eerste stap is c0 = 0.

Page 108: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

108

3. Dualiteit en matrixvorm

Simplex-methode in Matrixvorm

We kunnen initieel deze stelsels op uniforme wijze weergeven als:

Dit stelsel kunnen we symbolisch weergeven in de vorm van een matrix als:

Page 109: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

109

3. Dualiteit en matrixvorm

Hierin zijn de volgende componenten te onderkennen:

met: a de mxn matrix elementen afkomstig van de restricties, Em de mxm

eenheidsmatrix – dwz de mxm matrix met overal nullen behalve op de diagonaal, de vector b afkomstig van de restricties, en de (m+n)-vector c uit de doelfunctie [waarvan aanvankelijk de laatste m componenten nul zullen zijn]. Tenslotte hebben we de negatieve waarde van het maximum van z: – z* = – c0 , dewelke aanvankelijk nul zal zijn.

Page 110: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

110

3. Dualiteit en matrixvorm

Gauss-eliminatie en Simplexmethode voor matrixrepresentatie

We kunnen de Simplexmethode nu definiëren in termen van de Gauss-eliminatie op deze representatie.

Dit gaat als volgt:

Page 111: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

111

3. Dualiteit en matrixvorm

Gauss-eliminatie en Simplexmethode voor matrixrepresentatie

Page 112: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

112

3. Dualiteit en matrixvorm

VoorbeeldLaten we deze methode eens toepassen op een voorbeeld:

Page 113: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

113

3. Dualiteit en matrixvorm

Voorbeeld

Page 114: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

114

3. Dualiteit en matrixvorm

Voorbeeld

Page 115: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

115

3. Dualiteit en matrixvorm

Duale in Gaus-Jordan vormMerk op dat we eenvoudig de matrix van de duale van een probleem

vinden als:

Page 116: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

116

3. Dualiteit en matrixvorm

Het ‘revised Simplex-algorithm’ als algoritmische matrixmanipulaties

Tenslotte behandelen we een matrix-representatie van de Simplex methode. Beschouw een LP-probleem met n beslissingsvariabelen, m ‘slack’-variabelen, en lineaire doelstellingsfunctie. Laten er bovendien m lineaire restricties als constraints gelden;

met gegeven parameters aij, bi, cj (i = 1..m, j = 1..n) .

Page 117: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

117

3. Dualiteit en matrixvorm

Dit probleem kunnen we kort en bondig weergeven in matrixnotatie:

Page 118: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

118

3. Dualiteit en matrixvorm

De Simplex-iteratie bestaat uit successieve verbeteringen van de doelfunctie z door:

1. (bv) selectie van de variabele die z het meest doet toenemen, en

2. de dictionaire die de kleinste bovengrens aan die bewuste variabele stelt.

De variabelen waarvoor een dictionaire bestaat noemen we de basis in die iteratiestap.

De verzameling van indices van de basisvariabelen noemen we B, die

van de niet-basisvariabelen noemen we N.

Deze separatie voeren we nu uit in alle componenten van de bovengedefinieerde matrix en vectoren.

Page 119: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

119

3. Dualiteit en matrixvorm

Merk op dat het aantal elementen van B gelijk is aan m, en van N gelijk aan n. Daarom is AN een mxn-matrix.

Invulling in box 1 en verdere uitwerking van de vergelijkingen geeft:

Page 120: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

120

3. Dualiteit en matrixvorm

bij het optimaliseringprobleem met in de nieuwe iteratiestap:

Vanwege de hoofdstelling van LP volgt de bijbehorende oplossing x* in deze iteratiestap uit het nul stellen van x*N in box 4:

Page 121: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

121

3. Dualiteit en matrixvorm

Met deze notatie is het mogelijk de stappen in het Simplex-algorithme te herschrijven. Bij elke iteratiestap gaan we uit van de volgende twee aannamen:

i. Er is een partitie van de n+m indices in een verzameling B van m basis-variabelen en een verzameling N van n niet-basis-variabelen, zodanig dat matrix AB inverteerbaar is.

ii. Elke iteratiestap is er een oplossing: x = (xB , xN)T met: ,

en: xN = 0.

0x B

Page 122: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

122

3. Dualiteit en matrixvorm

Het ‘revised Simplex-algorithm’

Het Simplex-algorithme in matrixvorm, genaamd het revised Simplex-algorithme, beslaat nu de volgende vijf stappen:

Page 123: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

123

Page 124: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

124

Inleiding Besliskunde

EINDE LEZING 3

Page 125: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

125

4. Practische voorbeelden

In dit laatste college zullen we een aantal toepassingen van Lineair Programmeren en de Simplexmethode beschouwen: een enkel voorbeeld en lineaire regressie

Page 126: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

126

4.1 Praktische Voorbeelden van LP

Voorbeeld 1. Dieetproblematiek

Op levensmiddelen staat vaak de samenstelling van het product in termen van mineralen en vitaminen vermeld. Vaak is dit weergegeven als ADH = Aanbevolen Dagelijkse Hoeveelheid. Onderstaande tabel geeft een voorbeeld.

Page 127: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

127

Voorbeeld 1. Dieetproblematiek

Page 128: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

128

Voorbeeld 1. Dieetproblematiek

Page 129: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

129

Voorbeeld 1. Dieetproblematiek

Optimaal gezond menu samenstellen voor een geven persoon

Stap 1: bepaal beslissingsparametersWe kunnen de hoeveelheid in gram van voedingsproduct i dat de persoon tot

zich neemt kunnen weergeven met een beslissingsparameter xi.

Stap 2: bepaal optimaliseringscriterium= doelfunctieWe willen minimaliseren de surplus hoeveelheid energieopname (de kcal).

Stap 3: bepaal randvoorwaardenWe willen dat de persoon minimaal zijn ADH’s aan mineralen, vitaminen en zijn dagelijks benodigde hoeveelheid verbrandingsenergie bekomt.

Page 130: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

130

Voorbeeld 1. Dieetproblematiek

Stel: qi is de energie per gram van voeding i

Q is minimaal benodigde energie voor persoonsprofielvij de hoeveelheid mineraal/vitamine j in voeding i

aj is de ADH in gram van mineraal/vitamine i

Zo vinden we:

minimaliseer :

terwijl voor i = 1..M:

NB: merk op dat dit niet in LP-standaardvorm staat!

N

iiixqz

1

j

N

ijij axv

1

QxqN

iii

1

0 iix

Page 131: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

131

Voorbeeld 2. Optimale Mengverhouding

Beschouw het volgende probleem;

Een fabriek maakt grondstoffen voor autoruiten. Het assortiment bestaat uit 30 mogelijke producten – ieder dus een grondstof voor autoruiten.

Voor elk product bestaat een recept : het wordt samengesteld uit een aantal mineralen en andere (an)organische componenten, in een bepaalde gegeven verhouding. Als basismateriaal gebruikt de fabriek ruwe grondstoffen (raw materials) d.i. mengsels uit groeves over de gehele wereld.

Elk van die mengsels heeft een bekende samenstelling aan mineralen en andere (an)organische componenten, en een prijs per kilogram.

Elk recept heeft bovendien een maximum aan ongewenste componenten.

Page 132: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

132

Voorbeeld 2. Optimale Mengverhouding

Aanpak:

Stap 1: bepaal beslissingsparametersWe noemen beslissingsparameter xi de hoeveelheid in kilogram van mengsel i dat we gebruiken in het gevraagde recept.

Stap 2: bepaal doelfunctieWe willen minimaliseren de prijs van de receptuur.

Stap 3: bepaal randvoorwaardenWe willen dat de receptuur gehaald wordt, dat wil zeggen dat de benodigde kilo’s component in de receptuur aanwezig is.

Page 133: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

133

Voorbeeld 2. Optimale Mengverhouding

Page 134: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

134

Voorbeeld 2. Optimale Mengverhouding

Page 135: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

135

Voorbeeld 2. Optimale Mengverhouding

Dit leidt tot de volgende LP-formulering :

Page 136: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

136

4.2 Robust regression en Sparse Estimation

Toepassing van Simplexmethode op lineaire regressie lost eeuwenoud probleem op

* Vind de “beste” lijn door een gegeven verzameling punten

* Het least deviation problem

* Gauss en Laplace vinden lineaire kleinste kwadratenmethode (LKK)

* De Simplex-methode lost het oorspronkelijke probleem op

* Deze vindt ook sparse solutions die LKK niet kan vinden

Page 137: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

137

Lineaire Regressie

4. Robuuste regressie

Het vinden van verbanden tussen meetgrootheden

Bij de bestudering van praktische problemen, proberen we grootheden te vinden waarmee we het probleem adequaat kunnen beschrijven. Daartoe zullen we eerst data moeten verzamelen betreffende ons probleem. Dat kan door gericht in te grijpen op het systeem middels een experiment, of indirect via doen van waarnemingen.

Page 138: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

138

4. Robuuste regressie

Een voorbeeld

Bij de bestudering van de prestatie van personenwagens kunnen we kijken naar de het vermogen, het verbruik per strekkende kilometer, de oliedruk en de kleur van de ogen van de chauffeur. Sommige van die grootheden zullen relevant zijn voor ons onderzoek, andere minder. Zo kun je op voorhand verwachten dat de kleur van de chauffeur’s ogen van weinig belang zal zijn. Een andere vraag is of er verbanden bestaan tussen de gemeten grootheden. Als er zo’n verband bestaat, dan kunnen we de ene grootheid voorspellen op grond van onze kennis van de andere, en een van deze grootheden weglaten – bijvoorbeeld de moeilijkst meetbare.

In veel praktische gevallen zijn we dan ook geïnteresseerd in het vinden van verbanden tussen de gemeten grootheden. Uitgangspunt zal voor ons zijn een hoeveelheid data, waarin een groot aantal instanties van zulke grootheden staan. In tabel 1 staat een voorbeeld van zo’n verzameling data (engels: data set) betreffende enkele waarnemingen aan personenwagens (NB: fictief).

Page 139: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

139

4. Robuuste regressie

Elke rij stelt een instantie voor, dat wil zeggen een volledige verzameling van grootheden voor een waargenomen object. Zo geeft wagen #4 een groene fiat uit 2004 weer. Elke kolom stelt een volledige verzameling van metingen voor van een grootheid. Zo is de zesde kolom ‘verbruik bij 100 km/hr’ de gemeten waarden voor alle objecten – dus auto’s – uit onze dataverzameling.

Page 140: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

140

4. Robuuste regressie

In de praktijk zal het probleem veelal moeilijker zijn omdat niet alle waarden ingevuld zullen zijn in de tabel. Zo’n niet-ingevulde plek noemen we een missing value.

Ook zal het vaak voorkomen dat we een belangrijke grootheid over het hoofd hebben gezien – in ons voorbeeld bijvoorbeeld of het een diesel- of benzinemotor betreft. Zo’n omissie heet een hidden parameter.

Page 141: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

141

4. Robuuste regressie

We kunnen nu eens kijken of we een verband vinden tussen enkele grootheden. Als voorbeeld nemen we het verbruik van de wagen bij respectievelijk 50 km/h en 100 km/h. In figuur 1 staan beide grootheden tegen elkaar uitgezet.

0.058 0.06 0.062 0.064 0.066 0.0680.08

0.082

0.084

0.086

0.088

0.09

0.092

0.094

0.096

0.098

0.1Verband tussen verbruik bij 50 km/h en 100 km/h

verbruik bij 50 km/h

verb

ruik

bij

100

km/h

Page 142: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

142

4. Robuuste regressie

In een oogopslag is duidelijk dat er inderdaad een verband is tussen deze twee grootheden. Maar hoe zouden we dit verband kunnen kwantificeren?

Stel we geven het verbruik bij 50 km/h door de variabele x en het verbruik bij 100 km/h door de variabele y. Elke concrete waarneming in onze data kunnen we nu weergeven door een punt (x,y). De hele verzameling is dan: { (x1,y1), (x2,y2), (x3,y3), ... , (x18,y18), (x19,y19) }, waarbij de index slaat op het

rijnummer – dus op de wagen in onze verzameling data.

Op het eerste gezicht lijkt het verband tussen de parameters x en y nagenoeg lineair. Laten we daarom zoeken naar een lineair verband tussen x en y. We zoeken dus parameters a en b zodanig dat:

y = a.x + b

Voor elk tweetal punten kunnen we in principe zo’n lijn tekenen en de bijbehorende coëfficiënten a en b bereken.

Het zal duidelijk zijn dat elk tweetal in het algemeen andere lijn en dus andere waarden voor a en b zullen geven.

Page 143: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

1430.058 0.06 0.062 0.064 0.066 0.0680.08

0.082

0.084

0.086

0.088

0.09

0.092

0.094

0.096

0.098

0.1Verband tussen verbruik bij 50 km/h en 100 km/h

verbruik bij 50 km/h

verb

ruik

bij

100

km/h

4. Robuuste regressie

Laten we nu een andere invalshoek nemen, en laat ons aannemen dat er een goedpassende lijn bestaat met parameters a en b. Voor elke meting (xi,yi) kunnen we nu kijken naar de afstand naar die

‘ideale’ lijn. Dit is weergegeven in onderstaand figuur.

0.058 0.06 0.062 0.064 0.066 0.0680.08

0.082

0.084

0.086

0.088

0.09

0.092

0.094

0.096

0.098

0.1Verband tussen verbruik bij 50 km/h en 100 km/h

verbruik bij 50 km/h

verb

ruik

bij

100

km/h

Page 144: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

144

4. Robuuste regressie

Die afstand meten we in verticale zin, en de lengte ervan is een mate voor de ‘fout’ van waarneming nummer i ten opzichte van de lijn. We geven de lengte weer door ei (e van engels ‘error’). Dit

verschil wordt ook het residu genoemd. De uitdrukking voor het residu is nu:

ei = yi – (a .xi + b)

Merk op dat voor punten boven de lijn ei positief is, en voor punten

onder de lijn negatief.

0.058 0.06 0.062 0.064 0.066 0.0680.08

0.082

0.084

0.086

0.088

0.09

0.092

0.094

0.096

0.098

0.1Verband tussen verbruik bij 50 km/h en 100 km/h

verbruik bij 50 km/h

verb

ruik

bij

100

km/h

Page 145: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

145

4. Robuuste regressie

We kunnen nu kijken naar de totale som van alle fouten voor onze verzameling waarnemingen.

Deze is:

0.058 0.06 0.062 0.064 0.066 0.0680.08

0.082

0.084

0.086

0.088

0.09

0.092

0.094

0.096

0.098

0.1Verband tussen verbruik bij 50 km/h en 100 km/h

verbruik bij 50 km/h

verb

ruik

bij

100

km/h

19

1iieSfoutensom

Page 146: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

146

4. Robuuste regressie

Nu gaan we kijken naar de verzameling van alle mogelijke lijnen met coëfficiënten a en b.

Over deze verzameling van lijnen kan bovenstaande som S kan in principe alle waarden aannemen: het is een functie van a en b: S(a,b). De ‘beste’ lijn zou waarde S(a,b) = 0 hebben, maar dat zal alleen het geval zijn als alle waarnemingen precies op die lijn liggen.

In principe zoeken we de lijn (dus de waarden a en b) die de som S(a,b) van alle afstanden minimaliseert.

Echter, de uitdrukking die we voor de fout hebben is:

Dit is lineair in a en b (want X, Y, en N zijn constanten), dus heeft geen minimum. Dus S is niet op deze wijze te minimaliseren.

bNaXYbxaybxayebaSi i

iii

iii

i

19

1

19

1

19

1

19

1

19).(),(

Page 147: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

147

4. Robuuste regressie

We moeten dus een definitie kiezen voor de lengte die allen positief of nul is – dan is:

S(a,b) ≥ 0

en dan is S te minimaliseren over a en b.

Wat te kiezen voor de lengte? Het meest voor de hand liggend is de echte afstand, de absolute waarde van het residu, dus:

ei = |yi – (a .xi + b)|

dus:

19

1

|.|),(i

ii bxaybaS

Page 148: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

148

4. Robuuste regressie

Nadeel: hoe het minimum van S(a,b) te bepalen?Hier een deelgrafiek van S als functie van a voor constante b = 0.033.

19

1

|.|),(i

ii bxaybaS

Page 149: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

149

4. Robuuste regressie

Het probleem is dus:

minimaliseer: over alle

terwijl: X = {x1, x2, .., xN} en : Y = {y1, y2, .., yN} gegeven zijn.

N

iii bxaybaS

1

|.|),( IRba ,

Hoe minimaliseer je een functie S(a,b) over a en b?

Dit was een zeer groot en wijd bestudeerd probleem in de late achtiende eeuw, bv bij het voorspellen van planeet- en komeet-banen, het voorspellen van zons- en maansverduisteringen etc.

Men kende maar één manier om het minimum te bepalen (welke?).

Page 150: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

150

4. Robuuste regressie

De enige methode die men toen kende is de afgeleiden op nul stellen: dS(a,b) /da = 0 èn dS(a,b) /db = 0 Nadeel hier is dat S niet coninu differentieerbaar is omdat abs(x) een scherpe hoek heeft:

Page 151: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

151

4. Robuuste regressie

Daarom dat de graph van S ook “hoekig” was: het is de som van

veel “abs-en”:

19

1

|.|),(i

ii bxaybaS

Page 152: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

152

4. Robuuste regressie

Daarom dat Gauss eind achtiende eeuw voorstelde niet de abs te gebruiken, maar het kwadraat: ei = (yi – (a .xi + b))2

Deze is wèl differentieerbaar:

Page 153: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

153

Wie vond robuuste regressie uit?

In 1801 Gauss scored a triumph which made him instantly famous. On the basis of a small number of available observations he correctly predicted the location of the minor planet Ceres after it had been lost out of sight by astronomers.

Whereas Laplace, in dealing with astronomical or geodetic data, minimized the sum of the absolute deviations between observed and theoretical values, Gauss minimized the sum of squares.

There is little doubt that Gauss used the method of least squares years before Legendre published and named the method in 1805.

Gauss had not published the method, regarding it as obvious, but unfortunately could not restrain himself from bringing up his prior use, calling it "our method".

The older Legendre was greatly upset, writing that Gauss had already acquired such great fame that he did not need to claim the method of least squares as well. Gauss remained slow to publish. Legendre had provided a computational method that caught on immediately. We owe to Gauss the theoretical underpinning (Gauss, 1809, 1823).

Of course, the Gauss linear model was not presented in matrix form (matrices did not enter the mathematical literature until the 1930s).

Karl Friedrich Gauss (1777-1855)

Adrien-Marie Legendre (1752–1833)

The Method of

Least Absolute

Deviations

Page 154: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

154

4. Robuuste regressie

We definiëren de cumulatieve kwadratenfout Q als:

Merk op dat Q een functie is over a en b. De ‘beste’ lijn vinden we nu door naar het minimum van deze functie Q te zoeken over de hele verzameling a en b.

Dit minimum vinden we door tegelijkertijd te differentiëren naar a èn naar b over de nu gladde curve:

19

1

219

1

2 )(),(i

iii

i baxyebaQ

0),(

0),(

b

baQ

a

baQ

Page 155: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

155

4. Robuuste regressie

19

1

219

1

2 )(),(i

iii

i baxyebaQ

0),(

0),(

b

baQ

a

baQ

Dit is een stelsel van twee vergelijkingen. De tweede differentiatie – naar b – geeft:

b

x

a

yi

ii

i

19

.19

19

1

19

1

Dat wil niets anders zeggen dan dat de gemiddelden:

van de waarnemingen op de optimale lijn liggen:

(We hadden dus meteen dat gemiddelde van onze metingen kunnen aftrekken, de data is dan mean-centered geworden.)

19/,19/ ii yyxx

bxay

Page 156: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

156

4. Robuuste regressie

De uitdrukking voor a is als volgt:

Als we deze uitdrukkingen in ons voorbeeld gebruiken dan vinden we:

a = 1.99 en b = - 0.04.

We kunnen deze lijn in de figuur van de metingen tekenen.

19

1

2219

1

19

1

19

1

19

1

)(i

ii

i

iii

ii

ii

xx

yxyx

a

Page 157: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

157

4. Robuuste regressie

Deze methode van Gauss heet de ‘kleinste kwadratenmethode’, omdat we de kwadratensom van de fouten minimaliseren. De methode is begin negentiende eeuw geïntroduceerd door Gauss om een praktisch probleem in de astronomie op te lossen.

De lineaire kleinste kwadratenmethode[1] – kort LKK – is een methode om de beste parameters te schatten voor een geparameteriseerde benadering bij een gegeven verzameling waarnemingen.

In ons geval is die geparameteriseerde benadering een rechte lijn met parameters a en b.

[1] Engels: Least Squares Method – vaak afgekort LSQ.

Page 158: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

158

4. Robuuste regressie

Een groot nadeel van de kleinste kwadratenmethode is dat het heel gevoelig is voor ‘uitliggers’ (of ‘uitschieters’), punten die ver van de lijn afliggen, en ongevoelig voor kleine foutjes. Dit komt door het kwadraat.

Stel bv een punt P ligt ver van de lijn en heeft een grote fout e = 10, dit levert een bijdrage aan de foutensom Q van e2 = 100. Stel een ander punt R ligt bijna op de lijn en geeft een kleine fout e = 0.1. Dit levert slecht een bijdrage een bijdrage van e2 = 0.01 aan de foutensom Q, totaal verwaarloosbaar.

Het gevolg is dat de LKK de lijn trekt ver van de uitliggers maar niet echt door de punten die er dichtbij liggen: LKK verdeelt de ‘pijn’ over alle punten.

Gevolg is dat geen enkel punt echt op de lijn ligt.

Page 159: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

159

4. Robuuste regressie

Voor heel veel toepassingen kan dat ongewenst zijn.

Stel je hebt data van een netwerk van interacties tussen bijvoorbeeld alle +/- 500 miljoen Europeanen: hoe vaak belt X naar Y?

Stel we hebben data X die aangeeft hoe vaak persoon i belt op tijd: xi(t) op tijdstippen t = 0,1,2, …, en tevens hoe vaak deze gebeld wordt: yi(t).

Laat aij de frekwentie zijn waarmee persoon j naar persoon i belt.

Dan is:

Als data X = {x1(t), x2(t), x3(t), ... , xN(t)} en Y = {y1(t), y2(t), y3(t), ... , yN(t)}

geheel bekend zijn, kan mbv de LKK-methode de parameters aij geschat worden.

Het gevolg zal zijn dat geen enkele aij nul zal zijn, maar integendeel bijna

alle aij klein. Daardoor lijkt het alsof alle Europeanen soms met alle

Europeanen bellen.

N

jjiji txaty

1

)()(

Page 160: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

160

4. Robuuste regressie

Wat we zoeken is zoiets: (meeste a zijn nul)

9

2030

3935

23

50

1452

Wat we vinden met LKK is : (alle a zijn niet exact nul)

9

2030

23

3935

50

1452

002.0

5.000

010

a

007.001.018.0

09.003.002.0

02.007.001.0

a

Page 161: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

161

4. Robuuste regressie

We gaan terug naar het oorspronkelijke probleem.

minimaliseer: over alle

terwijl: X = {x1, x2, .., xN} en : Y = {y1, y2, .., yN} gegeven zijn.

N

iii bxaybaS

1

|.|),( IRba ,

Dit ziet er al bijna lineair uit, kunnen we af van die absolute waarde?

Herinner dat voor de absolute waarde geldt:

|x| ≥ x èn |x| ≥ -x

Voer nu een hulp-variabele r in (van residu) met: ri = |yi – axi – b|

Dan geldt:

ri ≥ yi – axi – b èn ri ≥ – yi + axi + b

Page 162: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

162

4. Robuuste regressie

Met de definitie: ri = |yi – axi – b| en twee randvoorwaarden: (1) ri ≥ yi – axi – b, en (2) ri ≥ – yi + axi + b, kunnen we:

minimaliseer: over alle

terwijl: X = {x1, x2, .., xN} en : Y = {y1, y2, .., yN} gegeven zijn.

N

iii bxaybaS

1

|.|),( IRba ,

herschrijven als:

Let op!!! Dit lijkt wel een LP-probleem!!!

minimaliseer: over alle

terwijl:

en X = {x1, x2, .., xN} en : Y = {y1, y2, .., yN} gegeven zijn.

N

iirS

1

IRba ,

bxayr iii .

bxayr iii .

Page 163: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

163

4. Robuuste regressie

Met N+2 nieuwe variabelen x1 = a, x2 = b, xi+2 = ri, pi = oude xi, en qi = oude yi kunnen we dit probleem herschrijven als:

minimaliseer: over alle

terwijl:

en X = {x1, x2, .., xN} en : Y = {y1, y2, .., yN} gegeven zijn.

N

iirS

1

IRba ,

bxayr iii .

bxayr iii .

terwijl:

en P = {p1, p2, .., pN} en : Q = {q1, q2, .., qN} gegeven zijn.

bpaqrqp iiiii ..111 x

NRrba

rrrbaN

21,,

.0.0.11100max2

x

bpaqrqp iiiii ..111 x

Page 164: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

164

4. Robuuste regressie4. Robuuste regressie

Dit kunnen we op quasi-standaard LP schrijven als:

terwijl: met:

xcx

.max T

2

z

NR

bx A

1

1

0

0

,,

111

111

111

111

1

1

1

1

cb

N

N

N

N

q

q

q

q

p

p

p

p

A

Hier ontbreekt x ≥ 0 maar dat maakt voor moderne LP- pakketten niets uit!

bpaqrqp iiiii ..111 x

NRrba

rrrbaN

21,,

.0.0.11100max2

x

terwijl:

en P = {p1, p2, .., pN} en : Q = {q1, q2, .., qN} gegeven zijn.

bpaqrqp iiiii ..111 x

Page 165: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

165

4. Robuuste regressie

Voorbeeld:

Page 166: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

166

4. Robuuste regressie

Voorbeeld:

Page 167: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

167

4. Robuuste regressie

Voorbeeld:

Page 168: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

168

4. Robuuste regressie

Voorbeeld:

Page 169: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

169

4. Robuuste regressie

Voorbeeld:

Page 170: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

170

4. Robuuste regressie

Voorbeeld:

Page 171: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

171

4. Robuuste regressie

VOORBEELD 2: We zoeken zoiets: (meeste a zijn nul)

9

2030

3935

23

50

1452

Wat we vinden met L1-regressie is :

002.0

5.000

010

a

002.0

5.000

010

a

9

2030

3935

23

50

1452

Page 172: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

172

4. Robuuste regressie

Robuuste regressie is een statistische procedure die er op gericht is regressies uit te kunnen voeren wanneer de data-set vervuild is met enige punten die niet tot een (multivariate) normaal verdeling rond het model behoren.

Deze methode heeft veel toepassingen in situaties waarin sommige parameters exact nul moeten zijn:

- interactie-netwerken- coefficienten in benaderingen- herkennen van uitbijters

In regressies zijn uitbijters erg desastreus. Er is daarom behoefte aan een methode die de uitbijters identificeert. In hun boek Robust regression and outlier detection hebben twee Vlaamse onderzoekers Peter J. Rousseeuw en Annick M. Leroy daar wat op gevonden. Zij vervangen het gemiddelde (avg) door een mediaan (med), en passen daarmee de L1-norm toe.

Page 173: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

173

4. Robuuste regressie

De Lp-norm

Als we over de lengte van een vector x = (x1,x2,x3, ... ,xn) praten bedoelen we vaak de Euclidische norm:

Er zijn tal van situaties waarin deze keuze niet de beste is. Soms – zoals we net zagen – is het handiger de absolute waarde te nemen:

We kunnen deze definitie generaliseren tot de Lp-norm als volgt:

We zien nu ook waarom we net van ||.||1 en ||.||2 spraken.

Er is nog een interessante norm, de ∞-norm; L∞ :

Ga na dat dit betekent dat:

nxxxx 211

Page 174: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

174

4. Robuuste regressie

Met deze notatie kunnen we nu het LKK schrijven voor het fitten van data met het model y = ax + b als een L2-minimalisatie:

2, 2min

Rba

baxy terwijl :

terwijl : baxy

1, 2min

Rba

Op dezelfde manier kunnen we nu robust estimation schrijven als een L1-minimalisatie :

Page 175: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

175

Resumé van deze cursus

1. Geometrische interpretatie

Wat hebben we in deze cursus geleerd?

het kunnen mathematisch modelleren van een LP probleem.

het kunnen oplossen van een LP-probleem middels de Simplex-methode.

het begrijpen van de theoretische achtergronden en de termen betreffende LP-problemen.

Het kunnen toepassen van LP-methode in andere gebieden, bv robuuste estimatie

Bedankt voor uw aandacht!!!

Slides op: http://www.math.unimaas.nl/personal/ronaldw/home1.htm

Page 176: 1 Inleiding Besliskunde Lineair Programeren Prof. Dr. Ronald L. Westra Maastricht University Department Mathematics.

176

EINDE van dit

COLLEGE