Lineaire programmering

Vergelijkbare documenten
Lineaire algebra I (wiskundigen)

Optimalisering en Complexiteit, College 11. Complementaire speling; duale Simplex methode. Han Hoogeveen, Utrecht University

Lineaire Algebra voor ST

TU/e 2DD50: Wiskunde 2 (1)

UITWERKINGEN d. Eliminatie van a geeft d. Eliminatie van b,

Lineaire Algebra voor ST

Het oplossen van stelsels lineaire vergelijkingen Wiskunde 2, 2DM60 College 2b

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Tentamen Lineaire Algebra voor ST (2DS06) op , uur.

1 Eigenwaarden en eigenvectoren

Uitwerking 1 Uitwerkingen eerste deeltentamen Lineaire Algebra (WISB121) 3 november 2009

Vierde huiswerkopdracht Lineaire algebra 1

Universiteit Utrecht Faculteit Wiskunde en Informatica. Examen Optimalisering op maandag 18 april 2005, uur.

Geef niet alleen antwoorden, maar bewijs al je beweringen.

TW2020 Optimalisering

TW2020 Optimalisering

Eerste deeltentamen Lineaire Algebra A. De opgaven

TU/e 2DD50: Wiskunde 2

Tentamen lineaire algebra voor BWI maandag 15 december 2008, uur.

Tweede huiswerkopdracht Lineaire algebra 1 Uitwerking en opmerkingen

Basiskennis lineaire algebra

CTB1002 deel 1 - Lineaire algebra 1

FACULTEIT ECONOMIE EN BEDRIJFSKUNDE Afdeling Kwantitatieve Economie

Tentamen lineaire algebra voor BWI dinsdag 17 februari 2009, uur.

Universiteit Utrecht Departement Informatica. Examen Optimalisering op dinsdag 29 januari 2019, uur.

a) Bepaal punten a l en b m zó dat de lijn door a en b parallel is met n.

Afdeling Kwantitatieve Economie

vandaag is Annie twee jaar jonger dan Ben en Cees samen

EXAMEN LINEAIRE ALGEBRA EN MEETKUNDE I

Bekijk nog een keer het stelsel van twee vergelijkingen met twee onbekenden x en y: { De tweede vergelijking van de eerste aftrekken geeft:

Modellen en Simulatie Lineare Programmering

TW2020 Optimalisering

3.2 Vectoren and matrices

Stelsels Vergelijkingen

Lineaire afbeeldingen

TU/e 2DD50: Wiskunde 2

FLIPIT 5. (a i,j + a j,i )d i d j = d j + 0 = e d. i<j

3 Wat is een stelsel lineaire vergelijkingen?

Lineair Programmeren op het polytoop

Tentamen Lineaire Algebra 1 (Wiskundigen)

Aanvullingen bij Hoofdstuk 8

TW2020 Optimalisering

De Minimax-Stelling en Nash-Evenwichten

4 Positieve en niet-negatieve lineaire algebra

Lineaire Algebra voor ST

TW2020 Optimalisering

1. Het aantal optimale oplossingen van een LP probleem is 0, 1, of oneindig. 2. De vereniging van twee konvexe verzamelingen is niet convex. 3.

TW2020 Optimalisering

Uitwerkingen Lineaire Algebra I (wiskundigen) 22 januari, 2015

Determinanten. , dan is det A =

Stelsels lineaire vergelijkingen

Lineaire Algebra voor ST

Opgaven Functies en Reeksen. E.P. van den Ban

Modellen en Simulatie Speltheorie

Complexe eigenwaarden

Blokmatrices. , I 21 = ( 0 0 ) en I 22 = 1.

Uitwerkingen tentamen lineaire algebra 2 13 januari 2017, 10:00 13:00

Vrije Universiteit Faculteit der Economische Wetenschappen en Bedrijfskunde Afdeling Econometrie

Jordan normaalvorm. Hoofdstuk 7

Enkele uitbreidingen op het simplexalgoritme

Lineaire Algebra en Vectorcalculus 2DN60 College 5.a Basis en dimensie

Tentamen lineaire algebra 2 18 januari 2019, 10:00 13:00 Uitwerkingen (schets)

Universiteit Utrecht Departement Informatica

Vrije Universiteit Faculteit der Economische Wetenschappen en Bedrijfskunde Afdeling Econometrie

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica

Vector-en matrixvergelijkingen. Figuur: Vectoren, optellen

Oefening 4.3. Zoek een positief natuurlijk getal zodanig dat de helft een kwadraat is, een derde is een derdemacht en een vijfde is een vijfdemacht.

Definities, stellingen en methoden uit David Poole s Linear Algebra A Modern Introduction - Second Edtion benodigd voor het tentamen Matrix Algebra 2

Kies voor i een willekeurige index tussen 1 en r. Neem het inproduct van v i met de relatie. We krijgen

Vrije Universiteit Faculteit der Economische Wetenschappen en Bedrijfskunde Afdeling Econometrie

Lineaire algebra I (wiskundigen)

Ruimtewiskunde. college. De determinant en lineaire afbeeldingen. Vandaag. De determinant van een matrix. Toepassing: oppervlakte en inhoud

More points, lines, and planes

Optimalisering WI 2608

Lineaire Algebra (2DD12)

TW2020 Optimalisering

Eigenwaarden en Diagonaliseerbaarheid

Ter Leering ende Vermaeck

1 In deze opgave wordt vijftien maal telkens drie beweringen gedaan waarvan er één juist is. Kruis de juiste bewering aan. (2pt. per juist antwoord).

Lineaire Algebra (wi2142tn) Les 5: Determinanten. Joost de Groot Les 5. Faculteit EWI, Toegepaste Wiskunde. Technische Universiteit Delft

ONBETWIST ONderwijs verbeteren met WISkunde Toetsen Voorbeeldtoetsen Lineaire Algebra Deliverable 3.10 Henk van der Kooij ONBETWIST Deliverable 3.

Oefening 4.3. Zoek een positief natuurlijk getal zodanig dat de helft een kwadraat is, een derde is een derdemacht en een vijfde is een vijfdemacht.

Tentamen Lineaire Algebra B

Tentamen Lineaire Algebra UITWERKINGEN

TENTAMEN LINEAIRE ALGEBRA 1 donderdag 23 december 2004,

l e x e voor alle e E

EERSTE DEELTENTAMEN ANALYSE C

Uitwerkingen tentamen Lineaire Algebra 2

opgaven formele structuren tellen Opgave 1. Zij A een oneindige verzameling en B een eindige. Dat wil zeggen (zie pagina 6 van het dictaat): 2 a 2.

Ruimtewiskunde. college. Stelsels lineaire vergelijkingen. Vandaag UNIVERSITEIT TWENTE. Stelsels lineaire vergelijkingen.

III.2 De ordening op R en ongelijkheden

3. Stelsels van vergelijkingen

Hebzucht loont niet altijd

Lineaire vergelijkingen II: Pivotering

V.4 Eigenschappen van continue functies

Lineaire Algebra voor ST

Uitwerkingen tentamen Lineaire Algebra 2 16 januari, en B =

Je hebt twee uur de tijd voor het oplossen van de vraagstukken. µkw uitwerkingen. 12 juni 2015

Examenvragen Hogere Wiskunde I

Samenvatting college 1-12

Vectorruimten en deelruimten

Transcriptie:

Lineaire programmering Hans Maassen kort naar Inleiding Besliskunde van J. Potters [Pot]. en Methods of Mathematical Economics van J. Franklin [Fra]. Lineaire programmering is het bepalen van het maximum of het minimum van een lineaire functie op een polytoop. Inleiding In veel praktijkproblemen wordt het maximum of het minimum gezocht van een functie f (kosten, weglengte, winst) op een domein D van mogelijkheden. De aangeleerde reflex, f te differentiëren en f gelijk te stellen aan is slechts voor een beperkte klasse van niet-lineaire gevallen effectief, namelijk als de extreme waarde wordt aangenomen op het inwendige van D. Heel vaak echter wordt ze aangenomen op de rand, en is deze rand door een stelsel van ongelijkheden gegeven. Wanneer deze ongelijkheden nu lineair zijn, evenals de functie f zelf, dan geraken we in het gebied dat om historische redenen lineaire programmering heet, en waar een fraai oplossingsalgoritme ter beschikking staat: het simplex-algoritme van George Dantzig (947). We zullen het in dit college behandelen.. Het primaire probleem Zij m, n IN, zij A een reële m n-matrix met ingangen a ij (i =,... m, j =,... n). Laat verder b IR m en c IR n. Zij D het deel van IR n dat wordt beschreven door de lineaire ongelijkheden x, x 2,..., x n en: a x + a 2 x 2 +... + a n x n b, a 2 x + a 22 x 2 +... + a 2n x n b 2,. a m x + a m2 x 2 +... + a mn x n b m, of kortweg x ; Ax b. We zoeken het maximum van de functie f : D IR die wordt gegeven door f(x) = c x + c 2 x 2 +... + c n x n, LINEAIRE PROGRAMMERING (Modellenpracticum Wiskunde RU 27)

ook wel kort aangeduid als c, x of c T x. In het bovenstaande hebben we gekozen voor -relaties; en een maximumprobleem. Dit is het gemakkelijkst voorstelbare geval. Andere mogelijkheden komen ook voor, maar we zullen ons hier steeds houden aan de conventie dat, als we een maximum zoeken, we D beschrijven met -relaties, en als we een minimum zoeken, met -relaties. (Merk op dat we hier vrij in zijn, aangzien we (A, b) kunnen vervangen door ( A, b), en het ongelijkteken omklappen zonder D te wijzigen.) We introduceren nog de volgende terminologie: we zeggen dat dit probleem uitvoerbaar is als het domein D niet leeg is. We zeggen dat het probleem begrensd is als f op dit domein van boven begrensd is. Een minimalisatieprobleem noemen we begrensd als f op D van beneden begrensd is. Het gaat er dus om, of de gezochte extremale waarde bestaat of niet. Als voorbeeld bekijken we het volgende stelsel in IR + : x + x 2 2, x + x 2 6, x + 2x 2, waarop we de functie f(x) := x + 5x 2 willen maximaliseren. (,5) (,5) (2,4) (,) D (,) (4,) fig. In Fig. is dit gebied D afgebeeld, evenals de vector c = (, 5). We zien in één oogopslag de oplossing: f neemt zijn maximum aan in het punt (2, 4). De maximale waarde is ook snel gevonden: f(2, 4) = 2 + 5 4 = 26. 2 LINEAIRE PROGRAMMERING (Modellenpracticum Wiskunde RU 27)

2. Het duale probleem Het was von Neumann (steeds weer dezelfde, inderdaad), die opmerkte dat elk probleem van bovenstaand type op een natuurlijke manier gekoppeld kan worden aan een duaal probleem: Zij D het gebied in IR m gegeven door de lineaire ongelijkgeheden y, y 2,..., y m en: y a + y 2 a 2 +... + y m a m c, y a 2 + y 2 a 22 +... + y m a m2 c 2,. y a n + y 2 a 2n +... + y m a mn c n, of weer kortweg y, A y c. Op dit gebied zoeken we het minimum van de functie f : D IR, gegeven door f (y) := y b + y 2 b 2 +... + y m b m = y, b = y T b. Bij dit duale probleem zijn A, b en c dezelfde als die van het primaire probleem. Merk echter op dat de rollen van de restrictievector b en de doelfunctie-vector c zijn omgewisseld! In ons voorbeeld vinden we het volgende duale probleem: D is het gebied in [, ), gegeven door de ongelijkheden y + y 2 + y, y + y 2 + 2y 5, Gezocht wordt het minimum van de functie f : D IR, gegeven door f (y, y 2, y ) := 2y + 6y 2 + y. Ook dit probleem is niet moeilijk op te lossen: het minimum wordt aangenomen in het punt y = (,, 2) en de functiewaarde is f (,, 2) = 2 + 6 + 2 = 26!!! Precies dezelfde waarde! Dit is geen toeval, maar ook niet zo heel vanzelfsprekend. Het is de belangrijkste boodschap van de volgende elegante stelling. Dualiteistsstelling. Als van het primaire en het duale probleem er slechts één uitvoerbaar is, dan is het onbegrensd (en bestaan de gezochte extreme waarden dus niet). Als beide uitvoerbaar zijn, dan liggen alle waarden van f onder die van f, (dus zijn beide begrensd), en geldt: Les extrèmes se touchent! max f(x) = min f (y). x D y D LINEAIRE PROGRAMMERING (Modellenpracticum Wiskunde RU 27)

. Het alternatief van Farkas Voor het bewijs van de dualiteitsstelling is eerst een andere bijzonder fraaie stelling nodig, die in de lineaire programmering dezelfde plaats inneemt als het Fredholm-alternatief in de lineaire algebra. Alternatief van Farkas. Zij A een reële m n-matrix, en zij b IR m, c IR n. Dan geldt precies één van de volgende alternatieven. (i) Er is een x IR n + zó dat Ax = b; (ii) Er is een y IR m zó dat A y en y, b <. Bewijs. De alternatieven sluiten elkaar uit, want als Ax = b en A y, dan moet y, b = y, Ax = A y, x. Om te zien dat minstens één van beide moet gelden, beschouwen we de positieve kegel K IR m, opgespannen door de kolommen van A: K := { Ax x IR n + }. K is een gesloten en convex gebied in IR m. Conditie (i) zegt dat b K. Stel nu dat dit niet het geval is. Op grond van de scheidingsstelling, die we hier niet bewijzen, moet er dan een hypervlak in IR m bestaan, zó dat K geheel aan één kant ervan ligt, en b aan de andere kant. (Zie Fig. 2.) b K Fig. 2 <y,y> = w Dat wil zeggen, er bestaan y IR m en w IR zó dat x : y, Ax w, en y, b < w. Door in de eerste ongelijkheid x = tx te stellen met x K en t >, vinden we dat t> x : y, Ax t w. Dus is A y. Door anderzijds x = te stellen vinden we dat w. De tweede ongelijkheid zegt nu: y, b < w. 4 LINEAIRE PROGRAMMERING (Modellenpracticum Wiskunde RU 27)

4. Het bewijs van de dualiteitsstelling Stel eerst eens dat D = φ en D φ. We willen laten zien dat dan f niet naar beneden begrensd is. Omdat in ons primaire probleem het gebied D door de ongelijkheid Ax b wordt gegeven, terwijl het alternatief van Farkas handelt over de vergelijking Ax = b, voeren we zogenaamde slack-variabelen z, z 2,..., z m in: we introduceren de vergelijking Ax + z = b, x, z. Het bestaan van zulke x en z is de eerste conditie van Farkas, met A vervangen door (A, l). Als D = φ, dan is hier niet aan voldaan. Op grond van de stelling van Farkas moet er dus een y IR m + bestaan zó dat ( ) A y en y, b <. l Kies nu y D. Dan is voor alle t > : y + ty en A (y + ty) c, zodat y + ty D. Het duale probleem is nu onbegrensd, want: f (y + ty) = y, b + t y, b als t. De omgekeerde situatie, D φ en D = φ gaat net zo. Opgave. Bewijs dit zelf. Laat tenslotte D en D beide niet leeg zijn. (Beide stelsels zijn uitvoerbaar.) Dan geldt voor alle x D en y D : f(x) = c, x A y, x = y, Ax y, b = f (y). Dus alle waarden van f liggen onder die van f. In het bijzonder zijn beide problemen begrensd. Het pièce de résistance: les extrèmes se touchent. Rest ons nog, aan te tonen dat er een x D en een y D bestaan, zo dat f(x ) = c, x y, b = f (y ). In dat geval zijn immers deze twee functiewaarden gelijk aan elkaar en aan de gezochte extreme waarden van het primaire en het duale probleem. Neem daartoe aan dat dit niet het geval is. Dan is het stelsel x, y, Ax b, A y c, y, b c, x niet oplosbaar. Anders gezegd, het gebied in IR m+n, gegeven door A ( ) A x b ( ) c x met c T b T y y 5 LINEAIRE PROGRAMMERING (Modellenpracticum Wiskunde RU 27)

is leeg. Op grond van het Farkas-alternatief moet er nu een u IR m, een v IR n en een w IR bestaan, zó dat ( ) A c u v A b w Dit levert ons drie ongelijkheden op: en A u wc () Av wb (2) u, b < v, c () ( ) u, v, w b c <. Stel eerst dat w >. Op grond van () is dan w u D, en op grond van (2) is w v D. Maar () zegt dat f ( w v ) > f ( w u ). Dit is in tegenspraak met onze conclusie dat f(d) f (D ). Stel nu dat w =. Kies willekeurig x D en y D. Dan moet, op grond van (), en op grond van (2): u, b u, Ax = A u, x wcx =, c, v A y, v = y, Av y, wb =. Dus is u, b c, v. Maar dit is in strijd met (). We concluderen dat er wèl x en y bestaan met max f(x) = f(x ) = f (y ) = min f (y). x D y D 5. Het simplex-algoritme In de praktijk willen we ook een methode hebben om de punten x en y, waar het maximum van f, respectievelijk het minimum van f, worden aangenomen, te vinden. In het voorbeeld van zagen we het zó liggen, maar naarmate de dimensies m en n oplopen wordt dit steeds moeilijker. Daarom is het prettig dat er systematische methoden voor bestaan. De oudste en nog steeds meest populaire daarvan is het simplex-algoritme van George Dantzig uit 947. Het is een soort Gauss-eliminatie met bewaking van ongelijkheids-tekens. 6 LINEAIRE PROGRAMMERING (Modellenpracticum Wiskunde RU 27)

Gauss-eliminatie werkt met vergelijkingen, niet met ongelijkheden. Daarom voeren we weer slack-variabelen in: We willen weten voor welke waarde van λ IR het stelsel ( ) ( ) ( ) A l x b c T = met x, z (4) z λ een oplossing heeft. In het bijzonder zijn we geïnteresseerd in de grootste waarde van λ waarvoor dit het geval is. We starten met het tableau: a a 2... a n... b a 2 a 22... a 2n... b 2...... a m a m2... a mn... b m c c 2... c n... λ In dit tableau vermenigvuldigen we alle rijen i waarvoor b i < met, zodat voor alle i geldt: b i. Vervolgens gaan we vegen. Dat wil zeggen: kolommen vullen met enkel nullen en één door veelvouden van rijen van elkaar af te trekken. Hierbij nemen we de volgende regels in acht: (a) We laten b. (b) We pivotteren niet op de onderste regel. (c) We laten λ alleen maar dalen. We streven naar een eindtableau ( Ā Ē b ) c d λ met de eigenschap dat c, d. Uit het eindtableau lezen we een vector (x, z ) af door alleen daar componenten te stellen waar de kanonieke basisvectoren staan, en dan op te lossen: ( ) ( Ā Ē ) x = z b. Zo vinden we het punt x, waar f maximaal is. Het punt y, waar f zijn minimum aanneemt, vinden we als y = d. We kunnen deze beweringen begrijpen als we ons realiseren dat de veegprocedure het effect heeft van linksvermenigvuldiging van beide leden van de vergelijking (4) met dezelfde inverteerbare (m + ) (m + )-matrix. Stelling. (Eindsituatie simplex-algoritme). Zij A een m n-matrix, zij b IR m en c IR n. Als er een inverteerbare m m-matrix E, een vector d IR m, en vectoren x IR n + en z IR m + bestaan, zó dat ( ) ( ) ( E A l b Ā Ē d T c T = b ) λ c d 7 LINEAIRE PROGRAMMERING (Modellenpracticum Wiskunde RU 27)

en als ( ) ( ) Ā Ē x c T = dt z ( ) b terwijl c, d, dan is x D, y := d D en f(x ) = f (y )., Bewijs. Merk op dat c = A d + c en d = d. Dus als c en d beide niet-positief zijn, dan is y := d D. ( Verder is ) d, b + λ =, dus λ = d, b = y, b. Uit de inverteerbaarheid van E d T en (5) volgt dat ( ) ( ) ( ) A l x b c T = z d, b. Hieruit lezen we af dat Ax + z = b, dus x D, en dat c, x = y, b. 6. Het voorbeeld Tenslotte illustreren we de werking van het simplex-algoritme aan ons voorbeeld. Het kan worden gezien als een wandeling van hoekpunt naar hoekpunt in de veelhoek D. Bij elke stap moet er een pivot gekozen worden, wat overeenkomt met de keuze van een buur-hoekpunt. Soms zijn er verschillende mogelijkheden. We geven hieronder twee wegen aan die naar Rome leiden. Starttableau: 2 6 2 5 λ x = (, ) D, z = (, 6, 2). De * geeft de pivot aan voor de eerste stap. Deze is zó gekozen: We kiezen een kolom j waarvan de c-waarde positief is: zeg j = 2. (j = is ook mogelijk, zie hieronder.) Dan kiezen we een i zó dat b i /a ij zo klein mogelijk is, zodat b positief blijft. Met de pivot gaan we vegen. Dan zoeken we een nieuwe kolom waar een positieve c in staat. Enzovoort, totdat de onderste rij niet-positief is. In dit voorbeeld komen we in twee stappen in het optimum uit: Stap : 5 7 2 2 2 2 2 2 5 2 5 2 λ 25 x = (, 5) D, z = (7,, ). 8 LINEAIRE PROGRAMMERING (Modellenpracticum Wiskunde RU 27)

Stap 2: 5 2 2 2 2 4 2 λ 26 x = (2, 4) D, z = (2,, ), y = (,, 2), λ = 26. Klaar! Maar bij de eerste stap hadden we ook kunnen kiezen voor een pivot in de eerste kolom. Dit wordt dan de op positie (, ): Stap : 2 5 4 2 6 4 λ 2 x = (4, ) D, z = (, 2, 6). Stap 2: 2 2 2 2 2 5 2 6 λ 24 x = (, ) D, z = (,, ). Ditmaal zijn we niet in twee stappen klaar: we maken een omweg (zie Fig. ). Er staat immers nog een positief getal in de onderste rij. Stap : 2 2 4 5 2 2 2 λ 26 Langs een omweg komen we in hetzelfde punt uit. Referenties x = (2, 4) D, z = (2,, ), y = (,, 2), λ = 26. [Fra] J. Franklin: Methods of Mathematical Economics; Linear and Nonlinear Programming, Fixed-Point Theorems. Undergraduate Texts in Mathematics, Springer-Verlag 98. [Pot] J. Potters: Inleiding Besliskunde; Theorie van lineaire ongelijkheden. Dictaat Katholieke Universiteit Nijmegen, augustus 999. 9 LINEAIRE PROGRAMMERING (Modellenpracticum Wiskunde RU 27)