Leksjon 8
Ofte behov for å løse mange relaterte LP Regnetid kan spares ved å bruke informasjon fra tidligere løsninger Parametrisk analyse homotopi-metoden Den Parametriske Selv-duale Simpleksmetoden ingen Fase I nødvendig konvergerer dersom LP er begrenset og konsistent skifter mellom primal og dual pivotering MoD233 - Geir Hasle - Leksjon 8 2
Viktig type anvendelser Nettverksstrøm / nettverksflyt ransport Energi Finans... Denne problemtype har spesiell struktur Nettverks Simpleksmetoden utnytter denne MoD233 - Geir Hasle - Leksjon 8 3
Begreper nettverk / grafteori Minimum-kostnad nettverksflyt Modellering Spesialvariant av Simpleksmetoden Heltallighetsteoremet for nettverksflyt Königs teorem Repetisjon MoD233 - Geir Hasle - Leksjon 8 4
Sensitivitet Analyse etter optimal løsning funnet Hvor mye kan vi endre inndata uten at partisjonering i basiske/ikke-basiske variable endres i optimal løsning? Gjenbruk av tidligere løsning for å spare tid Parametrisk analyse Løse parametrisert familie av LP Deformasjon fra trivielt problem til originale Den Parametriske Selv-Duale Simpleksmetode MoD233 - Geir Hasle - Leksjon 8 5
Ofte behov for å løse mange tilsvarende LP Scenarier Hyppige endringer i data Effektivisering Forutsetning: Kjenner den optimale løsning til et LP Mål: Gjenbruk av tidligere løsninger MoD233 - Geir Hasle - Leksjon 8 6
!" #$$ max c x slik at ζ = Ax = b, x 0 ζ = ζ { z } 1 = ( ) x x x B N x Vil endre koeffisienter i objektivet max c x slik at ζ = Ax = b, x 0 Bruker den optimale basistabell for originale MoD233 - Geir Hasle - Leksjon 8 7
% # $$# # #, ζ = ζ { z } ( ) 1 = x x x B N x ζ = max c x slik at Ax = b, x 0 Beholder partisjonering, endrer koeffisienter 1 x = B b ( ) 1 z B N ζ = = ( ) c c ( ) ( ) 1 c B b Uavhengig av koeffisienter i objektiv, brukbarhet endres ikke! MoD233 - Geir Hasle - Leksjon 8 8
% # $$# # # 1 x = B b ( ) 1 z B N ζ = = ( ) c c ( ) ( ) 1 c B b Uavhengig av koeffisienter i objektiv, brukbarhet endres ikke! ζ = ζ { z } ( ) 1 x = x B N x x Har primalt brukbar basisløsning I beste fall er løsning fremdeles optimal Ellers kan vi fortsette med primal Simpleks Ofte mye å spare beregningsmessig MoD233 - Geir Hasle - Leksjon 8 9
% # &" max c x slik at ζ = Ax = b, x 0 1 x = B b ( ) 1 z B N ζ = = ( ) c c ( ) ( ) 1 c B b ζ = max c x slik at Ax = b, x 0 Uavhengig av koeffisienter i føringsvektor, dual brukbarhet endres ikke! ξ = ζ { x } {( ) 1 } z = z + B N z z MoD233 - Geir Hasle - Leksjon 8 10
% # &" Nye føringskonstanter gir fortsatt brukbar dual løsning I heldigste fall endrer ikke ny føringsvektor optimalitet Hvis ikke: Fortsetter med Dual Simpleksmetode Ofte store besparelser i regnetid MoD233 - Geir Hasle - Leksjon 8 11
% # '' max c x slik at ζ = Ax = b, x 0 max c x slik at ζ = Ax = b, x 0 1 x = B b ( ) ( ) 1 z B N = c c ζ = 1 ( c ) ( ) B b { ξ = ζ x } z ζ = ζ x { z } ( ) 1 = x B N x {( ) 1 } = z + B N x z z MoD233 - Geir Hasle - Leksjon 8 12
% # '' Så lenge den endrede B-delmatrisen er ikkesingulær kan vi beholde variabelpartisjoneringen Endringene vil antakelig gi basistabell som verken er primalt brukbar eller dualt brukbar Som oftest vil det å fortsette fra optimal basistabell for originale LP gi store besparelser Kalles varmstart MoD233 - Geir Hasle - Leksjon 8 13
% # #& # Hvis jeg endrer objektivet ved å endre en av koeffisientene, hvor mye kan denne koeffisienten endres uten at den optimale basis mister sin optimalitet? MoD233 - Geir Hasle - Leksjon 8 14
%# #& # ζ = max c x slik at ζ ζ = max c x slik at Ax = b, x 0 Ax = b, x 0 = ζ { z } ( ) 1 = x x x B N x ( ) ζ = 1 x = B b ( ) 1 z = B N c c ( ) ( ) 1 c B b c = c + t c ξ = ζ { x } {( ) 1 } z = z + B N z Endring blir t z, z = B N c c 1 MoD233 - Geir Hasle - Leksjon 8 15 z ( )
% # #& # Betingelse for fortsatt optimalitet / dual brukbarhet: z t z 0 t max t> 0 z j + j t< 0 z z t min j z j j j 1 1 MoD233 - Geir Hasle - Leksjon 8 16
%# &" # ζ = max c x slik at Ax = b, x 0 max ζ = c x slik at Ax = b, x 0 ξ b = b + t b ζ = 1 ( ) ( ) x = B b 1 z = B N c c ( ) ( ) 1 c B b ζ = ζ { z } ( ) 1 = = ζ { x } {( ) 1 } z = z + B N z MoD233 - Geir Hasle - Leksjon 8 17 x x x B N x Endring blir ( ) 1 t x, x = B b z
% # &" # Betingelse for fortsatt optimalitet / primal brukbarhet: t> 0 x i x + t x 0 t max i x i t< 0 x i t min i x i 1 1 MoD233 - Geir Hasle - Leksjon 8 18
%&# max 5x + 4x + 3x slik at 1 2 3 2x + 3x + x 5 1 2 3 4x + x + 2x 11 1 2 3 3x + 4x + 2x 8 1 2 3 x, x, x 0 1 2 3 Hvor mye kan denne koeffisienten endres uten å miste optimalitet? Optimal basistabell ζ = 13 3x x x 2 4 6 x = 1+ x + 3x 2x 3 2 4 6 x = 2 2x 2x + x 1 2 4 6 x = 1+ 5x + 2x 5 2 4 z t z 0 t max t> 0 z j z j + j t< 0 t min z j j z j 1 1 = { 3,1,5 } { 2, 4,6} = = [ ] c = [ 0 1 0] [ ] c = [ 0 0 0] c 5 4 3 0 0 0 = c 1 0 0 0 0 0 MoD233 - Geir Hasle - Leksjon 8 19
%& max 5x + 4x + 3x slik at 1 2 3 2x + 3x + x 5 1 2 3 4x + x + 2x 11 1 2 3 3x + 4x + 2x 8 1 2 3 x, x, x 0 1 2 3 Optimal basistabell ζ = 13 3x x x 2 4 6 x = 1+ x + 3x 2x 3 2 4 6 x = 2 2x 2x + x 1 2 4 6 x = 1+ 5x + 2x 5 2 4 = { 3,1,5 } { 2, 4,6} = z t z 0 t max t> 0 z j z j + j t< 0 t min z j j z j 1 1 = [ ] c = [ 0 1 0] [ ] c = [ 0 0 0] c 5 4 3 0 0 0 = c 1 0 0 0 0 0 = 1 z B N c c ( ) MoD233 - Geir Hasle - Leksjon 8 20
%& max 5x + 4x + 3x slik at 1 2 3 2x + 3x + x 5 1 2 3 4x + x + 2x 11 1 2 3 3x + 4x + 2x 8 1 2 3 x, x, x 0 1 2 3 Optimal primal basistabell ζ = 13 3x x x 2 4 6 x = 1+ x + 3x 2x 3 2 4 6 x = 2 2x 2x + x 1 2 4 6 x = 1+ 5x + 2x 5 2 4 = { 3,1,5 } { 2, 4,6} = [ ] [ ] c = 0 1 0 c = 0 0 0 t> 0 z j z + t z 0 t max j z j (k) ζ = ζ t< 0 in z j t m j { (k) z } (k) ( ) (k) x x B N x z j 1 1 (k) (k) 1 ( k) (k) = x 1 ( B ) N = z c c 1 3 2 ( ) 1 B N = 2 2 1 5 2 0 3 z = 1 1 MoD233 - Geir Hasle - Leksjon 8 21
%& z + t z 0 = 1 z B N c c ( ) 1 3 2 ( ) 1 B N = 2 2 1 5 2 0 [ ] [ ] c = 0 1 0 c = 0 0 0 3 z = 1 1 1 2 50 0 2 1 z ( B ) N c c 3 2 2 1 0 2 = = = 2 1 0 0 0 1 3 2 0 3 + 2t 0 1 1 t 2 0 1 2t 0 + + t 1 2 1 1 0 1 t 0 MoD233 - Geir Hasle - Leksjon 8 22
! (# Homotopimetoden - generell tilnærming Parametriserer problemet Skrur på parametre - problemet blir trivielt Løser mellomliggende problemer God ytelse for LP MoD233 - Geir Hasle - Leksjon 8 23
%) max 2x + 3x slik at x + x 1 1 2 1 2 1 2 2 1 2 x 2x 2 x, x 0 x 1 ζ = 2x ( 3)x 1 2 x = 1 + x x 3 1 2 x = 2 + x + 2x 4 1 2 x = 1 x 5 2 Hverken primal eller dual brukbar La oss perturbere med parameter µ 0 MoD233 - Geir Hasle - Leksjon 8 24
% ζ = (2 + µ )x ( 3+ µ )x 1 2 x = ( 1 + µ ) + x x 3 1 2 x = ( 2 + µ ) + x + 2x 4 1 2 x = (1 + µ ) x 5 2 Primal og dual brukbar (optimal) for µ 3 Vil minke µ så mye som mulig 2<µ<3 vil gi primal brukbarhet, dual ubrukbarhet primal pivotering med x 2 inngående, x 3 utgående MoD233 - Geir Hasle - Leksjon 8 25
% ζ = + µ µ + µ 2 ( 3 4 ) ( 1 2 )x 1 ( 3 µ )x3 x = ( 1 + µ ) + x x 2 1 3 x = ( 4 + 3µ ) + 3x 2x 4 1 3 x = 2 + x + x 5 1 3 Primal og dual brukbar (optimal) for 4/3 µ 3 Vil minke µ så mye som mulig µ<4/3 vil gi primal ubrukbarhet dual pivotering med x 4 utgående, x 1 inngående MoD233 - Geir Hasle - Leksjon 8 26
% 5 1 1 2 7 1 ζ = + µ + µ + µ 3 3 3 3 3 3 1 1 1 x2 = + x4 x3 3 3 3 4 1 2 x 1 = ( µ ) + x4 + x3 3 3 3 2 1 1 x5 = + µ x4 + x3 3 3 3 2 ( ) ( + µ )x 4 ( )x3 Primal og dual brukbar (optimal) for 1/2 µ 4/3 dual pivotering med x 4 utgående, x 1 inngående MoD233 - Geir Hasle - Leksjon 8 27
%+ ζ = µ + µ 2 ( 1 ) ( 1 2µ )x 5 (2 )x3 x = (1 + µ ) x 2 5 x = 2 x + x 1 5 3 x = 2 + 3µ 3x + x 4 5 3 Primal og dual brukbar (optimal) for -2/3 µ 1/2 Setter µ=0 og vi har optimal løsning på original LP! Illustrasjon på generell metode for LP Parametrisk Selv-dual Simpleks MoD233 - Geir Hasle - Leksjon 8 28
!# Krever ingen Fase I riviell utvidelse unngår degenerering Konvergerer for konsistent og begrenset LP MoD233 - Geir Hasle - Leksjon 8 29
!# & ζ = ζ { z } ( ) 1 Perturberer: x x = x B Nx ( ) 1 ( ) ζ = ζ z + µ z x x = x + µ x B Nx µ 0, x > 0, z > 0 ( ) 1 x = B b ( ) 1 z B N = c c ζ = ( ) ( ) 1 c B b Stor nok µ vil gi optimalitet MoD233 - Geir Hasle - Leksjon 8 30
!# & Minker µ slik at primal eller dual brukbarhet forsvinner Hvis dual brukbarhet forsvinner: primal pivotering Hvis primal brukbarhet forsvinner: dual pivotering MoD233 - Geir Hasle - Leksjon 8 31
!# & ( ) ( ) ζ = ζ z + µ z x = + µ 1 x x x B Nx µ 0, x > 0, z > 0 La { } µ ˆ = min µ : z + µ z 0 x + µ x 0 Bindende ulikhet svarer til basisk eller ikke-basisk variabel Dersom flere ulikheter er bindende, kan vilkårlig velges Ikke-basisk variabel: Primal pivotering Basisk variabel: Dual pivotering Hvordan oppdages ubegrensethet / inkonsistens? Øvelse 7.10 MoD233 - Geir Hasle - Leksjon 8 32
,& Mange reelle problemer kan modelleres som flyt i nettverk ransport av varer Elektrisitet Kommunikasjon Finans Viktigste type LP Spesiell struktur, kan utnyttes i Simpleksmetode Kommersielle løsere MoD233 - Geir Hasle - Leksjon 8 33
,-& Noder og kanter = { a, b, c, d, e, f } ( a, c),( a, d),( a, e), ( b, a),( b, c),( b, e), =( d, b),( d, e),( f, a), ( f, b),( f, c),( f, g), ( g, b),( g, e) f a c MoD233 - Geir Hasle - Leksjon 8 34 d b e g
,-& =, ( ) ( i, j) : i, j, i j { } a d e Nettverk (rettede kanter) (Rettet) graf, digraf c b f g MoD233 - Geir Hasle - Leksjon 8 35
,&$ (, Hale ) {( i, j) : i, j, i j} = Hode a -6 d -2 e Nettverk (rettede kanter) ilgang/behov i hver node c -6 b { b, i } b b i i i > < 0 tilgang 0 behov 9 f 5 g MoD233 - Geir Hasle - Leksjon 8 36
,&$ Nettverk (rettede kanter) ilgang/behov i hver node Balanse! Forflytningskostnad (pr. enhet) for hver kant i b i = { c } ij ( i, j ) 0 Mål: Finn billigste flyt i nettverket som tilfredsstiller behov og tilgang i hver node! 9 f a 56 48-6 d MoD233 - Geir Hasle - Leksjon 8 37 c 108 28-6 7 48 65 24 10 38 b 15 7 33 5-2 e 19 g
,&$ Beslutningsvariable: Flyt i hver kant { x } ij 0 (, ) Målfunksjon: i j min Føringer, flytbalanse: ( i, j ) ik kj k i:( i, k ) j:( k, j) c x x x = b, k Føringer, positiv flyt: xij 0, ( i, j) ij ij 9 f a 56 48 c 108 28-6 10-6 d 7 38-2 e 15 7 65 b 48 33 19 24 g 5 MoD233 - Geir Hasle - Leksjon 8 38
,&$ min ( i, j ) ij ij slik at x x = b, k ik kj k i:( i, k ) j:( k, j) x ij c x 0, ( i, j) min Ax = c x b slik at Node-kant insidensmatrisen x 0 MoD233 - Geir Hasle - Leksjon 8 39
,& & = a 48 56-6 c 108 10 28-6 d 7 38 65 b -2 e 15 7 x = xac xad xae xba xbc xbe xdb xde x fa 48 x fb x fc x fg xgb x ge 33 1 1 1 1 0 0 0f 0 1 0 0 0 0 0 0 24 g 0 9 5 6 A =, b = 6 2 9 5 c [ 48 28 10 7 65 7 38 15 56 48 108 24 33 19] 19 MoD233 - Geir Hasle - Leksjon 8 40
,&.$ min Ax = x 0 c x b slik at ikke standardform minimeringsproblem likhetsføringer Det duale problem: en dual variabel for hver node (ubegrenset) en dual føring for hver kant maksimering max alternativt min A y z c z 0 b y slik at A y c b y + = slik at MoD233 - Geir Hasle - Leksjon 8 41
,&.$ Læreboka 5.8 (s. 73-74), dualitet for ikke-standard LP: max c x slik at min b y slik at Ax = b A y c x 0 min c x slik at max c x slik at Ax = b Ax = b x 0 x 0 MoD233 - Geir Hasle - Leksjon 8 42
,&.$ max Ax = b x 0 c x slik at min A y b y c slik at max Ax = x 0 La min b y = y c x b y A ( y ) c slik at slik at min A y min A y c b y b y c slik at slik at MoD233 - Geir Hasle - Leksjon 8 43
,&.$ min Ax = x 0 max c x b c x A b x A b x 0 slik at slik at min x 0 c x Ax b Ax b slik at o sett duale variable (ett for hvert sett ulikheter): y y 1 2 0 0 MoD233 - Geir Hasle - Leksjon 8 44
,&.$ max c x A b x A b x 0 slik at min y ( 1 b y + b y 2 ) 1 y A A 2 c y 0, y 0 1 2 slik at max ( 1 b y b y 2 ) 1 2 + y A y A y c 0, y 0 1 2 slik at 2 y = y y 1 gir: max b y slik at A y c y ubegrenset MoD233 - Geir Hasle - Leksjon 8 45
,&$ min x 0 c x Ax = b min i b y i slik at i slik at min + = A y z c z 0 b y slik at y 108 48 i y j + zij = cij, ( i, j) z 0, (, ) f ij i j 24 9 y f ya + z fa = Det duale problem: Minimering av flyt i dualt nettverk a 56 48 c 28-6 7 65 10-6 d 56 38 b 15 7 33 5-2 e 19 g MoD233 - Geir Hasle - Leksjon 8 46
,& min min i i i slik at y y + z = c, ( i, j) z i j ij ij ij ( i, j ) ik kj k i:( i, k ) j:( k, j) x ij x c x ij b y ij slik at x x = b, k 0, ( i, j) 0, ( i, jprimal ) flyt ij zi j 0, ( i, j) w 0, ( i, j) y 0, i i -2 a 10 e 28-6 15 48 d 7-6 7 38 56 c 19 65 b 108 48 33 f 24 g 9 5 Ingen primal slakk! = 0, i i Komplementaritetsbetingelser: x ij zij = 0, ( i, j) Dual slakk MoD233 - Geir Hasle - Leksjon 8 47
,&/" I nettverksflytproblemer representerer basisløsninger spesielle strukturer i nettverket. De utgjøres av kantene i såkalte spenntrær. a 56 108 f 9 28 48-6 c 7 48 65 24 10-6 d 38 b 15 7 33 e 19 g -2 5 Definisjon: En sti i et nettverk: ( n1 nk ) ( ni, ni + 1) ( ),, slik at n, n, i = 1, k 1 i+ 1 i ( f, g, b, a, e, d ) er sti i dette nettverket MoD233 - Geir Hasle - Leksjon 8 48
,& Et nettverk sies å være sammenhengende dersom det fins en sti mellom alle par av noder. a 56 108 f 9 28 48-6 c 10-6 15 d 7 7 38 65 b 48 33 24 e -2 19 g 5 Dette nettverket er sammenhengende MoD233 - Geir Hasle - Leksjon 8 49
,& En sykel er en sti der første og siste node er identiske. Et nettverk sies å være asyklisk dersom det ikke fins sykler i nettverket. a 56 108 f 9 28 48-6 c 7 48 65 24 10-6 d 38 b 15 7 33 e 19 g -2 5 Dette nettverket er ikke asyklisk ( g, b, a, e, g ) er en av mange sykler i dette nettverket MoD233 - Geir Hasle - Leksjon 8 50
,& Et tre er et sammenhengende og asyklisk nettverk. a d e Dette nettverket er sammenhengende og asyklisk, altså et tre f c b g Delnettverk: = (, ) = (, ) hviss MoD233 - Geir Hasle - Leksjon 8 51
,& 9 a 56 f 48 c 108 Et spenntre for et nettverk er et delnettverk som a) inneholder alle nodene i nettverket og b) er et tre. 28-6 7 48 65 24 10-6 d 38 b 15 7 33 5-2 e 19 g f a c Dette delnettverket er et spenntre for grafen til venstre MoD233 - Geir Hasle - Leksjon 8 52 d b e g
,&./ & -2 9 a 48 56 c 108 f 28-6 10-6 15 d 7 7 38 65 b 48 33 24 5 e 19 g Definisjon, balansert flyt: Ethvert valg av primalflyt-verdier som tilfredsstiller flytbalanseføringene i alle noder kalles en balansert flyt. En balansert flyt kan ha kanter med negativ flyt. MoD233 - Geir Hasle - Leksjon 8 53
,&./$& -2 9 a 48 56 c 108 f 28-6 10-6 15 d 7 7 38 65 b 48 33 24 5 e 19 g Definisjon, brukbar (tillatt) flyt: En balansert flyt der alle verdiene er ikke-negative, kalles en brukbar (tillatt) flyt. MoD233 - Geir Hasle - Leksjon 8 54
,&.0" Definisjon, treløsning: Gitt et spenntre for nettverket. En balansert flyt som tilordner 0 flyt til de kanter som ikke er med i spenntreet, kalles en treløsning. (En treløsning behøver ikke representere brukbar flyt). Det er alltid mulig å finne et spenntre (effektivt) Det er alltid mulig å finne en treløsning 9 f a -6 6 c 8 8-6 3 d b -2 6 8 5 e g MoD233 - Geir Hasle - Leksjon 8 55
,&./ min Ax = x 0 c x b slik at 6 8 f 3 9 5 Basis er invertibel, kvadratisk delmatrise B av A Node-kant insidensmatrisen har ikke full rang! En av balanseføringene følger av de øvrige Fjerner en vilkårlig balanseføring a -6 c -6 MoD233 - Geir Hasle - Leksjon 8 56 8 8 d b -2 6 e g
,&./ min Ax = x 0 min c x Ax = b x 0 c x b slik at slik at 9 f a -6 6 c 8-6 8 3 d -2 6 b 8 5 e g Fjerner en vilkårlig balanseføring og tilsvarende tilbud Noden som fjernes kalles rotnode MoD233 - Geir Hasle - Leksjon 8 57
0.1 &$ $ 2 eorem 13.1: Gitt et nettverksflytproblem for et sammenhengende nettverk. Betrakter modifisert insidensmatrise der en vilkårlig av balanseføringene er fjernet. En kvadratisk delmatrise av den modifiserte insidensmatrisen utgjør en basis for problemet hviss søylene svarer til kantene i et spenntre. MoD233 - Geir Hasle - Leksjon 8 58
,&./ min c x slik at Ax = b Spenntre x 0 Basis er generelt invertibel, kvadratisk delmatrise Matrisen som svarer til spenntre kan ordnes til en triangulær matrise Kun med +1, -1 på diagonal, ingen divisjon ved ligningsløsning Øvrige elementer er -1,0,+1 Spenntre-matrisen er inverterbar Ingen divisjoner eller multiplikasjoner! 9 f a -6 6 MoD233 - Geir Hasle - Leksjon 8 59 c 8 8-6 3 d b -2 6 8 5 e g
,&./3#" min c x Ax = b x 0 slik at min b y A y + z = c z 0 slik at il basis (spenntre) hører også dual løsning Likhetsføringene må holde også for dual løsning y y + z = c, ( i, j) j i ij ij x ij zij = 0, ( i, j) Primal flyt er 0 utenom spenntreet, ulik 0 på spenntreet Dual slakk må derfor være 0 på spenntreet: y y = c, ( i, j) j i ij MoD233 - Geir Hasle - Leksjon 8 60
,&./3#" y y = c, ( i, j) j i ij Spenntre i graf med m noder har m-1 kanter m-1 ligninger med m ukjente Dual flyt i rotnoden er 0 Gir m ligninger med m ukjente Bestemmer dual flyt Dual slakk bestemmes ved: z = y + c y, ( i, j) ij i ij j -44 a -8 48 4 0 56 c 108 f -108 7 10 24-49 d -34 e 15 b -51 33 g -84 MoD233 - Geir Hasle - Leksjon 8 61
,&.! Utgangspunkt: Brukbar primal løsning (ikke alltid) Komplementaritet Dual løsning dual flyt (alltid brukbar) ikke nødvendigvis positiv slakk Komplementær slakkteorem gir optimalitet dersom: positiv primal flyt positiv dual slakk Her: vil bruke primal Simpleks beholde primal brukbarhet minke antallet kanter med negativ dual slakk 41 a 6-9 c 6 98-5 3 f 9-15 MoD233 - Geir Hasle - Leksjon 8 62 6-1 32 b 19 69 65 d 74 21 33 3 0 e 2 g
!,#! Inngående, kant som: ikke er i spenntre er dualt ubrukbar (negativ dual slakk) Utgående: kant i spenntre I eksempelet: velger (a,c) inngående Vil øke primalflyt på inngående Inngående lager sykel 41 a 6-1 32 6-9 c 6 98-5 3 f 9-15 b 19 69 65 d 74 21 33 3 0 e 2 g MoD233 - Geir Hasle - Leksjon 8 63
!,! Inngående (a,c) lager sykel Strøm på inngående økes til t>0 Oppdaterer flytbalanse Øker t så mye som mulig Opprettholder primal brukbarhet Kan maksimalt øke t til 3 (f,b) får 0 flyt (f,b) blir utgående 9 a 6+t f t -6 c Pivoteringsregel: Velg kant utenom spenntre (ikke-basisk variabel) med negativ dual slakk som inngående. Utgående velges som den kant i sykelen som oppstår som først får 0 flyt når flyt på inngående kant økes. 6 6-t d b 3-t 3 e g MoD233 - Geir Hasle - Leksjon 8 64
!, # # y y = c, ( i, j) j i ij Vil oppdatere duale variable -9 d Hvis vi fjerner utgående uten å ta 98 inn inngående får vi to disjunkte c trær (f,a,d) og (e,g,b,c) reet som inneholder rotnoden får ikke endret duale verdier -6 f Nodene i det andre treet blir minket med dualslakken til (1) (1) ( 0) inngående ya = yc cac = yc (0) (0) ( 0) zac = ya + cac yc zij = yi + cij y j, ( i, j) (1) ( 0) y = y z 50 a a a ac 78 b 35 c ac 0 e g 19 MoD233 - Geir Hasle - Leksjon 8 65
!, # # y y = c, ( i, j) j i ij zij = yi + cij y j, ( i, j) -9 Eneste kanter som endres er de som spenner fra det ene treet til det andre treet For disse kantene er de duale verdier i hode eller hale endret For de kanter som spenner i samme retning som inngående må dualslakken minkes med dualslakken til inngående For de andre må den økes f a c -10 4 9 41 d 18 83 74 b e g MoD233 - Geir Hasle - Leksjon 8 66
!, Itererer inntil dual brukbarhet reløsninger Dualslakk 0 på kantene i spenntreet Velger som inngående kant med negativ dualslakk Velger utgående slik at primal brukbarhet (brukbar primalflyt) opprettholdes Øker primalflyt så mye som mulig Oppdaterer primalflyt Oppdaterer duale variable Oppdaterer dual slakk f a c d b e g MoD233 - Geir Hasle - Leksjon 8 67
,&. Utgangspunkt: Ubrukbar primal løsning Komplementaritet Brukbar dual løsning dual flyt (alltid brukbar) positiv dual slakk Velger kant med negativ primalflyt Lar denne gå ut av basis Finner inngående som spenner subtrærne slik at dual brukbarhet opprettholdes MoD233 - Geir Hasle - Leksjon 8 68
,&. Hvis verken brukbar primalflyt eller brukbar dual: Primal-Dual Dual-Primal Parametrisk selv-dual nettverks Simpleks MoD233 - Geir Hasle - Leksjon 8 69
,&. (4)5 Gitt konsistent nettverksflytproblem der alle tilganger og behov er heltallige. Da vil enhver basisløsning, og spesielt den optimale løsning, ha heltallig flyt i alle kanter. Bevis: Primale basisløsninger beregnes uten divisjon og multiplikasjon. MoD233 - Geir Hasle - Leksjon 8 70
6 )5 Gitt en mengde med n jenter og n gutter. Anta at hver jente kjenner eksakt 1kn gutter og hver gutt kjenner 1kn jenter. Da er det mulig å parre alle jenter med alle gutter slik at alle maker kjenner hverandre. Bevis: Nettverksflyt i bipartitt graf (der noder for jenter og gutter er separert). Kant mellom noder som kjenner hverandre. Hver jente har behov 1, hver gutt har tilgang 1. Flyt 1/k på hver kant gir brukbar løsning. Følger av integralitetsteoremet. MoD233 - Geir Hasle - Leksjon 8 71
Begreper nettverk / grafteori Minimum-kost nettverksflyt Modellering Spesialvariant av Simpleksmetoden Heltallighetsteoremet for nettverksflyt Königs teorem Neste gang: Anvendelser nettverksflyt MoD233 - Geir Hasle - Leksjon 8 72