Lineaire Optimalisering WI1 137

advertisement
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,yU) ([0,1]): x+(1-)yU
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.
Download