LINEÆR OPTIMERING JESPER MICHAEL MØLLER Indhold 1 Introduktion 1 2 Kanoniske programmer 2 3 Standard programmer 2 4 Svag dualitet for standard programmer 3 5 Svag dualitet for generelle lineære programmer 4 6 Farkas lemma 5 7 Dualitetssætningen 6 Resumé Disse noter handler om dualitet i lineære optimeringsprogrammer 1 Introduktion Hvad er et lineært maksimeringsprogram? Lad I og J være endelige mængder med delmængder I I og J J Vi kan feks tænke på at I = {1,, m} og J = {1,, n}) Mængden I vil blive brugt til at indicere problemets bibetingelser, g i ), og mængden J til at indicere problemets variable x = x j ) j J Denition 11 Et lineært maksimeringsprogram P) har formen P) Maksimer fx) under bibetingelser g i x) b i, g i x) = b i, x j 0, i I i I I hvor objektfunktionen, f, og bibetingelserne, g = g i ), er lineære funktioner Her er nogle bibetingelser givet ved uligheder mens de andre er givet ved ligheder, ligesom der er et fortegnskrav på nogle af de variable mens de andre er fri En tilladt løsning eller mulig løsning til P) er en vektor x R J som opfylder alle bibetingelser, dvs at det konvekse polyeder) MP ) = {x R J i I : g i x) b i, i I I : g i x) = b i } er mængden af alle mulige løsninger til P) Den optimale værdi for P) er supp ) = sup{fx) x MP )} og en optimal løsning for P) er en tilladt vektor x MP ) sådan at fx ) = supp ), dvs fx ) fx) for alle x MP ) Bemærkning 12 Da funktionerne f og g = g i ) er lineære har de formen fx) = c t x = j J c j x j gx) = Ax eller g i x) = [i]ax = j J a ij x j, i I for en vektor c = c j ) j J og en matrix A = a ij ),j J Date: 19 november 2010 1
2 JESPER MICHAEL MØLLER Et lineært minimeringsprogram P') deneres tilsvarende En tilladt vektor er en optimal løsning til P') hvis den lineære objektfunktion antager den optimale værdi, infp ), i vektoren Vi skal se at ethvert lineært maksimeringsprogram P) har et dualt minimeringsprogram P') Teorien handler om samspillet mellem det primale program P) og det duale program P') Kanoniske programmer og standard programmer er specielle lineære programmer Vi vil først omtale kanoniske programmer Dernæst vil vi se på standard programmer Vi formulerer dualitet først for standard programmer og dernæst for generelle programmer Svag dualitet er en banalitet men stærk dualitet er en ikke-triviel sætning 2 Kanoniske programmer I et kanonisk maksimeringsprogram er alle bibetingelser givet ved ligheder og der er et fortegnskrav på alle variable Denition 21 Et kanonisk lineært program har formen P) Maksimer c t x under bibetingelser Ax = b, x 0 En løsning x til det lineære ligningsssystem Ax = b kaldes en basisløsning hvis de benyttede søjler {A[j] x j 0} er lineært uafhængige Der er kun endeligt mange basisløsninger Her er den geometriske tolkning som er vigtig for simplex algoritmen) Sætning 22 En mulig løsning x MP ) er en basisløsning hvis og kun hvis x er et hjørne i MP ) En mulig løsning x MP ) er et hjørne i det konvekse polyeder MP ) hvis x ikke ligger mellem to andre punkter fra MP ) Fordelen ved kanoniske systemer er Sætning 23 Hvis P) har en optimal løsning så har P) også en optimal basisløsning Da der kun er endeligt mange basisløsninger er løsningen af kanoniske programmer fuldstændig algoritmisk og sådan set afsluttet set fra et teoretisk matematisk synspunkt Ethvert lineært program er ækvivalent med et kanonisk program Men det kanoniske program har fået ere variable og ere bibetingelser, så det vil ofte i praksis være mere uhåndterligt end det oprindelige problem Det er ulempen ved kanoniske programmer 3 Standard programmer I et standard minimeringsprogram er alle bibetingelser givet ved uligheder og der er et fortegnskrav på alle variable Denition 31 Standardprogrammer har formen P) Maksimér c t x under bibetingelser Ax b, x 0 P') Minimér y t b under bibetingelser y t A c t, y t 0 Disse to standardprogrammer er hinandens duale programmer P) har n variable, x j ) j J, og m bibetingelser givet ved A-rækkerne, [i]a, i I, og højresiden b P') har m variable, y i ), og n bibetingelser givet ved A-søjlerne, A[j], j J, og højresiden c objektfunktionen for P) er højresiden for P') objektfunktionen for P') er højresiden for P) Ax beregner prikprodukterne, [i]ax, i I, mellem A-rækkerne og x y t A beregner prikprodukterne, y t A[j], j J, mellem y og A-søjlerne
LINEÆR OPTIMERING 3 Læg mærke til at 32) c t x = c 1 x 1 + + c j x j + + c n x n = j J c j x j 33) 34) 35) 36) 37) y t b = y 1 b 1 + + y i b i + + y m b m = Ax = j J a 1jx j j J a ijx j j J a mjx j y i b i, [i]ax = a ij x j, i I j J y t A = y i a i1,, y i a ij,, ) y i a in, y t A[j] = y i a ij, j J b 1 j J a 1jx j b Ax = b i j J a ijx j, y t b Ax ) = y i bi ) a ij x j j J b 1 j J a mjx j c t y t A = c 1 y i a i1,, c j y i a ij,, c n ) y i a in, c t y t A ) x = cj ) y i a ij xj j J Problemets tableau x 1 x j x n y 1 a 11 a 1j a 1n b 1 y i a i1 a ij a in b i y m a m1 a mj a mn b m c 1 c j c n hjælper med at bevare overblikket Ethvert lineært program er ækvivalent med et standardprogram 4 Svag dualitet for standard programmer Lad P) og P') være duale standardprogrammer som i Denition 31 Lemma 41 Dualitetslemma for standardprogrammer) Hvis x MP ) og y MP ) er mulige løsninger så gælder: 1) c t y t A ) x = cj ) y i a ij xj og y t Ax b ) = ) y i a ij x j b i j J j J 2) c t y t A ) x 0, y t Ax b ) 0 3) c t x y t Ax y t b 4) c t x supp ) infp ) y t b Bevis 1) Dette er blot 36) og 37) 2) Klart, da c t y t A 0, Ax b 0, og x 0, y 0 3) Dette er blot ulighederne i 1) skrevet på en anden måde 4) Brug at alle tallene c t x ligger under alle tallene y t b hvor x og y er tilladte løsninger Det følger af Dualitetslemmaet for standardprogrammer at Hvis P) er ubegrænset, supp ) =, så har P') ingen mulige løsninger Hvis P') er ubegrænset, infp ) =, så har P) ingen mulige løsninger
4 JESPER MICHAEL MØLLER Sætning 42 Den svage dualitetssætning for standardprogrammer) Hvis x og y er tilladte løsninger til P) og P') så er følgende betingelser ækvivalente: 1) x er en optimal løsning til P), y er en optimal løsning til P), og supp ) = infp ) 2) c t x = supp ) = infp ) = y t b 3) c t x = y t b 4) c t x = y t Ax = y t b 5) c t y t A ) x = 0, y t Ax b ) = 0 6) c j y ia ij ) xj = 0, j J, og y i j J a ijx j b i ) = 0, i I Bevis Dualitetsslemmaet viser at alle betingelser er ækvivalente Med ere detaljer 1) 2): Der står det samme i de to linjer 2) 3) 4) 5): Dualitetslemma for standardprogrammer 41 5) 6): Summen c t y t A ) x er udregnet i 37) eller i Lemma 411) Alle led i denne sum er 0 Derfor er c t y t A ) x = 0 hvis og kun hvis alle led i summen er = 0 Tilsvarende er y t Ax b ) = 0 hvis og kun hvis alle led i summen fra Lemma 411) er = 0 5 Svag dualitet for generelle lineære programmer Vi denerer nu det duale program helt generelt Denition 51 Disse to programmer er hinandens duale: P) Maksimér c t x under bibetingelser [i]ax [i]b eller j J a ij x j b i, i I [i]ax = [i]b eller j J a ij x j = b i, i I I [j]x 0 eller x j 0, P') Minimér y t b under bibetingelser y t A[j] c t [j] eller y i a ij c j, y t A[j] = c t [j] eller y i a ij = c j, y t [i] 0 eller y i 0, i I Bemærkning 52 I et standardprogram Denition 31) er I = I og J = J Det duale til et standardprogram er et standardprogram I et kanonisk program Denition 21) er I = og J = J Det duale til det kanoniske program fra Denition 21 er P) Minimer y t b under bibetingelser y t A c t hvor ingen variable er underlagt fortegnskrav og alle bibetingelser er uligheder Her er opskrifter til konstruktion af duale programmer Maksimér c t x Ax b, x 0 Ax b Ax = b, x 0 Ax = b Minimér y t b y t A c t, y t 0 y t A = c t, y t 0 y t A c t y t A = c t Bibetingelser i P) fra I er uligheder, de øvrige bibetingelser i P) er ligheder, variable i x fra J er underlagt fortegnskrav, de øvrige variable i x er fri Bibetingelser i P') fra J er uligheder, de øvrige bibetingelser i P') er ligheder, og variable i y fra I er underlagt fortegnskrav, de øvrige variable i y er fri Ligningerne 32)37) er stadig gyldige Indgang i i b Ax er 0 når i er udenfor I Indgang j i c t y t A er 0 når j er udenfor J I tableauet for et generelt lineært program hvor vi for nemheds skyld antager at I = {1,, i} og J = {1,, j}) markerer vi I -rækker og J -søjler med stjerner
LINEÆR OPTIMERING 5 x 1 x j x j+1 x n y 1 a 11 a 1j a 1j+1 a 1n b 1 y i a i1 a ij a ij+1 a in b i y i+1 a i+11 a i+1j a i+1j+1 a i+1n = b i+1 y m a m1 a mj a mj+1 a mn = b m c 1 c j = c j+1 = c n Lemma 53 Dualitetslemma) Hvis x og y er tilladte løsninger til P) og P') så gælder: 1) c t y t A ) x = j J cj y ) ia ij xj og y t Ax b ) = y i j J a ) ijx j b i 2) c t y t A ) x 0, y t Ax b ) 0 3) c t x y t Ax y t b 4) c t x supp ) infp ) y t b Bevis Klart! Den første sum i 1) løber kun over delmængden J J fordi indgang j i c t y t A er 0 når j er udenfor J, se 37) Den anden sum i 1) løber kun over delmængden I I fordi indgang i i b Ax er 0 når i er udenfor I, se 36) Sætning 54 Den svage dualitetssætning) Hvis x og y er tilladte løsninger til P) og P') så er følgende betingelser ækvivalente: 1) x er en optimal løsning til P), y er en optimal løsning til P), og supp ) = infp ) 2) c t x = supp ) = infp ) = y t b 3) c t x = y t b 4) c t x = y t Ax = y t b 5) c t y t A ) x = 0, y t Ax b ) = 0 6) c j ) ) y i a ij xj = 0,, og y i a ij x j b i = 0, i I j J Bevis Dualitetslemmaet 53 viser at alle betingelser er ækvivalente: 1) 2): Der står det samme i 1) og 2) 2) 3) 4) 5): Dualitetslemmaet 53 5) 6): Summen c t y t A ) x er udregnet i Lemma 531) Alle led i denne sum er 0 Derfor er c t y t A ) x = 0 hvis og kun hvis alle led i summen er = 0 Tilsvarende er y t Ax b ) = 0 hvis og kun hvis alle led i summen fra Lemma 531) er = 0 6 Farkas lemma Sætning 61 Farkas lemma) Netop et af følgende to tilfælde indtræer: I) Der ndes x R n så Ax = b, x 0 II) Der ndes y R m så y t A 0, y t b < 0 I) og II) kan ikke begge indtræe for det ville give y t Ax = y t b hvor y t Ax 0 da y t A 0 og x 0) og y t b < 0 Eksempel 62 Lad ) ) 1 1 CA) = {x 1 + x 0 2 x 1 1 0, x 2 0} ) 1 1 være den konvekse kegle udspændt af søjlerne i A = Hvis I) ikke gælder så betyder det at b CA) Vælg 0 1 en hyperplan Hy) = y sådan at CA) ligger på den positive side og b på den negative side Lav en tegning!) Det betyder at y t A 0 og y t b < 0 Farkas lemma ndes i mange varianter Her er en af dem Korollar 63 Netop et af følgende to tilfælde indtræer: I) Der ndes x R n så Ax b, x 0 II) Der ndes y R m så y t A 0, y t b < 0, y 0
6 JESPER MICHAEL MØLLER Bevis Det første tilfælde betyder at der ndes kan også skrives ) x R z n R m sådan at Ax+z = b, ) ) x A E = b z ) x 0 Ligningen Ax+z = b z Farkas lemma siger at hvis dette ikke sker, så ndes y R m så y t A E ) 0 og y t b < 0 Det betyder y t A 0, y t b < 0, y 0 7 Dualitetssætningen Sætning 71 Dualitetssætning) Lad P) og P') være duale lineære programmer som i Denition 51 Netop én af følgende re situationer vil gælde: I) MP ), MP ), og supp ) = infp ) II) MP ), MP ) =, og P) er ubegrænset, supp ) = III) MP ) =, MP ), og P') er ubegrænset, infp ) = IV) MP ) =, MP ) = Korollar 72 Den stærke dualitetssætning) Følgende fem betingelser er ækvivalente: 1) MP ) og MP ) 2) P) har en optimal løsning 3) P') har en optimal løsning 4) MP ) og supp ) < 5) MP ) og infp ) > Hvis en af betingelserne holder så er supp ) = infp ) Bevis Vi bender os i tilfælde I) i Dualitetssætningen 71 Bevis for Sætning 71 Da ethvert program kan omformuleres til et standardprogram kan vi godt antage at P) og P') er duale standardprogrammer som i Denition 31 I) siger at der ndes x R n og y R m så A 0 0 A t x y) b c x, 0 y) c t b t 0 Antag nu at I) ikke er tilfældet Vi skal så vise at et af tilfældene II)IV) indtræer Da I) ikke gælder så siger Farkas lemma Korollar 63) at der ndes u R n, v R m, α R så v t u t α ) A 0 0 A t 0, v t u t α ) b v c < 0, u 0 c t b t 0 α Her står at Au αb, v t A αc t, b t v < c t u, u 0, v 0, α 0 Vi kan ikke have α > 0 for det ville sige at α 1 u MP ), α 1 v MP ) og b t α 1 v) < c t α 1 u) i modstrid med Den svage Dualitetssætning 54 Vi har altså at α = 0, dvs Vi deler nu ind i en række tilfælde: Au 0, v t A 0, b t v < c t u, u 0, v 0 c t u > 0: Der kan ikke være nogen mulige løsninger til P') for det ville sige at der fandtes y 0 med y t A c t og det ville give c t u y t A)u = y t Au) 0 Altså er MP ) = MP ) = : Tilfælde IV) MP ) : Vælg x MP ), dvs Ax b, x 0 Så er x + λu MP ) for alle λ > 0 for Ax + λu) = Ax + λau Ax b og x + λu 0 Desuden har vi at objektfunktionen c t x + λu) = c t x + λc t u for t Altså er vi i tilfælde II) c t u 0: Nu ved vi at v t b < 0 Der kan ikke være nogen mulige løsninger til P) for det ville sige at der fandtes x 0 med Ax b og det ville give v t b v t Ax) = v t A)x 0 Altså er MP ) = MP ) = : Tilfælde IV)
LINEÆR OPTIMERING 7 MP ) : Vælg y MP ), dvs y t A c t, y 0 Så er y +λv MP ) for alle λ > 0 fordi y +λv) t A = y t A + λv t A y t A c t og y + λv 0 Desuden har vi at objektfunktionen Altså er vi i tilfælde III) y + λv) t b = y t b + λv t b for t Matematisk Institut, Universitetsparken 5, DK2100 København E-mail address: moller@mathkudk URL: http://wwwmathkudk/~moller