Twee-vinger Morra (Boek 1.3.5) Speler A en B steken tegelijk 1 of 2 vingers op en noemen ook het aantal vingers van de tegenstander (1 of 2). A ontvangt van B volgens de volgende tabel: B A toont 1, zegt 1 toont 1, zegt 2 toont 2, zegt 1 toont 2, zegt 2 toont 1 zegt 1 0 -2 3 0 toont 1 zegt 2 2 0 0 -3 toont 2 zegt 1 -3 0 0 4 toont 2 zegt 2 0 3 -4 0 Er is symmetrie tussen de spelers, maar niet tussen 1 en 2 vingers opsteken. Strategie van A: Toon i, zeg j met kans xij. Kies de kansen zo dat de verwachte winst in de ongunstigste situatie maximaal is. Verwachte winst is: 0x11 – 2x12 + 3x21 + 0x22 2x11 + 0x12 + 0x21 – 3x22 –3x11 + 0x12 + 0x21 + 4x22 0x11 + 3x12 – 4x21 + 0x22 als B 1 toont, 1 zegt. als B 1 toont, 2 zegt. als B 2 toont, 1 zegt. als B 2 toont, 2 zegt. De ongunstigste situatie is als het minimum optreedt: Max z.d.d. min(– 2x12 + 3x21, 2x11 – 3x22, –3x11 + 4x22, – 3x12 + 4x21) x11 + x12 + x21 + x22 = 1, x11, x12, x21, x22 0. Deze doelfunctie is niet-lineair, vanwege de min-functie! LP formulering: Max z.d.d. w w – 2x12 + 3x21 w 2x11 – 3x22 w –3x11 + 4x22 w 3x12 – 4x21 x11 + x12 + x21 + x22 = 1 x11, x12, x21, x22 0 4 3 Oplossing (boek) x11 = 0, x12 = 7 , x21 = 7 , x22 = 0, w =0. Oplossing (Maple) > minimize(w, {w <= -2*x12 + 3*x21, w <=2*x11-3*x22, w <= -3*x11 + 4*x22, w <= 3*x12 - 4*x21, x11 + x12 + x21 + x22 = 1}, NONNEGATIVE); 3 2 x11 = 0, x12 = 5 , x21 = 5 , x22 = 0, w = 0 Andere oplossing, hoe kan dit? Complete oplossing door goochelen met vergelijkingen: Max z.d.d. w w – 2x12 + 3x21 w 2x11 – 3x22 w –3x11 + 4x22 w 3x12 – 4x21 x11 + x12 + x21 + x22 = 1 x11, x12, x21, x22 0 3 2 w 2x11 – 3x22 w –3x11 + 4x22 5w –x22 w is maximaal 0 als x22 = 0 4 3 w 2x11 – 3x22 w –3x11 + 4x22 7w –x11 w is maximaal 0 als x11 = 0. Gevolg: w = 0, x11 = 0, x22 = 0 en 0 – 2x12 + 3x21 0 3x12 – 4x21 x12 + x21 = 1 x12, x21 0 5x12 3 7x12 4 4 3 x 12 dus 7 5 en x21 = 1 – x12. Complete oplossing is dus: x11 = x22 = 0, x12 4 3 7 , 5 en x21 = 1 – x12. Doelwaarde is w = 0. 4 3 Bijvoorbeeld: x11 = 0, x12 = 7 , x21 = 7 , x22 = 0, w = 0 Deze oplossing levert op lange termijn winst als B random speelt. De winst voor A is: 1 – 2x12 + 3x21 = 7 als B 1 toont, 1 zegt. 2x11 – 3x22 = 0 –3x11 + 4x22 = 0 3x12 – 4x21 = 0 als B 1 toont, 2 zegt. als B 2 toont, 1 zegt. als B 2 toont, 2 zegt. Als B dit weet is voor hem de optimale keuze om nooit toont 1, zegt 1 te doen, want daarmee verliest hij op den duur. Stel dat A weet dat B nooit 1,1 speelt en verder random, wat is dán zijn optimale strategie om de gemiddelde winst te maximaliseren? Max z.d.d. 1 w = 3 (– x11 + 3x12 – 4x21 + x22) x11 + x12 + x21 + x22 = 1 x11, x12, x21, x22 0 Oplossing: x11 = 0, x12 = 1, x21 = 0, x22 = 0, verwachte winst is 1. Afleiding: 1 1 w = 3 (– x11 + 3x12 – 4x21 + x22) = 3 (1 – 2x11 + 2x12 – 5x21) ≤ 1 3 (1+2) want alle xij [0,1]. De maximale waarde w = 1 wordt bereikt als x12 = 1. Theoretische onderbouwing van de simplexmethode Een verzameling heet convex als het rechte verbindingslijntje tussen elke twee punten uit de verzameling helemaal in de verzameling ligt. Formeel: (x,yU) ([0,1]): x+(1-)yU Convex: Rn, Halfvlak {x | aTx 0}, Bal {x | |x| r}, Punt {x}, . Niet convex: Bol {x | |x| = r}, {(x,y) | y < x2} Stelling: De doorsnede van convexe verzamelingen is weer convex. Gevolg: Het toelaatbare gebied van een LP probleem is convex. Een punt x heet een inwendig punt van een verzameling U, als er een klein bolletje {y | |x-y| r} is dat helemaal in U ligt. Stelling: Een niet-constante lineaire functie neemt zijn maximum nooit aan in een inwendig punt. Gevolg: Het maximum van een LP probleem wordt op de rand aangenomen Gevolg: Er is een hoekpunt van het toelaatbare gebied waar het maximum van een LP probleem wordt aangenomen Stelling: Omdat het toelaatbare gebied convex is, heeft een LP probleem geen locale maxima, alleen globale. Bewijs: De rechte verbindingslijn tussen twee locale optima ligt in het toelaatbare gebied en de doelfunctie is er lineair. Geef een voorbeeld van een convex gebied K en een lineaire functie die op K niet zijn maximum aanneemt. K = R n, f(x) = x1 (f is niet begrensd) K = (0,1), f(x) = x (gebied bevat limiet niet) Geef een voorbeeld van een niet-convex gebied K, een lineaire functie op K en een punt in K waarop de functie een locaal maximum heeft, maar geen globaal maximum. Stelling: elke convexe K Rn is de doorsnede van (oneindig veel) halfruimtes. SIMPLEX METHODE Meetkundig idee: Onderzoek alleen hoekpunten. - Start in een willekeurig hoekpunt - Zoek de ribbe met de grootste stijging doelwaarde - Vind aan het eind van de ribbe een beter hoekpunt - Stop als geen verbetering mogelijk Praktische implementatie kan niet meetkundig maar moet algebraïsch. Ongelijkheden zijn onhandig voor algebra. Ga uit van de standaardvorm: Max Z = c1x1 + c2x2 + … + cnxn z.d.d. a11x1 + a12x2 + … + a1nxn b1 a21x1 + a22x2 + … + a2nxn b2 … … … … … … … … am1x1 + am2x2 + … + amnxn bm en x1, x2 …, xn 0 Hierin zijn alle bi 0. Herschrijf alle ongelijkheden als gelijkheid: x1 + 4x2 17 0 17 - x1 - 4x2 Nieuwe extra variabele: x3 := 17 - x1 - 4x2 x1 + 4x2 17 x1 + 4x2 + x3 = 17 x3 0 x3 heet slackvariabele (verschilvariabele). x3 geeft aan hoe “erg” de ongelijkheid x1 + 4x2 17 geldt (x3 > 0) of juist níet geldt (x3 < 0), bv. hoeveel de productie onder of boven de bovengrens ligt. n variabelen met m nevenvoorwaarden () n + m variabelen met m nevenvoorwaarden (=) Een toegelaten oplossing die met een hoekpunt correspondeert heet basisoplossing. In een hoekpunt zijn n (slack)variabelen =0, dus maximaal m positieve variabelen. Dit heten de basisvariabelen van dat hoekpunt. Simplex algebraïsch: 1 Startoplossing: toegelaten basisoplossing (= nuloplossing van het oorspronkelijke probleem) 2 Maak nieuwe basisoplossing die één basisvariabele verschilt: Eén niet-basisvariabele wordt > 0. Eén basisvariabele wordt = 0. Doelwaarde moet verbeteren Nieuwe oplossing is toegelaten basisoplossing 3 Ga door tot er geen verbetering meer is. Klaar.