Lekson 3
Smpleksmetoden generell metode for å løse LP utgangspunkt: LP på standardform Intell basstabell Fase I for å skaffe ntell, brukbar løsnng løse helpeproblem hvs optmale løsnng gr brukbar løsnng på det opprnnelge LP Fase II: Iteratv prosess for å fnne optmal løsnng Pvoterng Valg av nngående varabel Valg av utgående varabel Pvoterngsregler Ubegrensede LP Spesaltlfeller genstår MOD233 - Ger Hasle - Lekson 3 2
Generell metode for å løse LP Iteratv, hver terason kalles pvoterng Strateg starter med å fnne brukbar løsnng fnner hele tden ny løsnng med bedre obektvverd helt tl ngen forbedrng er mulg Fnner optmal løsnng hvs den fnnes Fnner ut under marsen om problemet er nkonsstent (ubrukbart) ubegrenset Intell løsnng Intell obektvverd ζ ζ ζ (1) (K) (1) (K) Optmal løsnng Optmal verd MOD233 - Ger Hasle - Lekson 3 3
Utgangspunkt: LP på standardform n ma c slk at = 1 n = 1 a b = 1,,m 0 = 1,,n MOD233 - Ger Hasle - Lekson 3 4
ζ = n = 1 c n+ = 1 n = b a = 1,,m Dette er den ntelle basstabell (nummer 0, etter 0-te terason) Smpleksmetoden modfserer basstabell teratvt søk etter optmal løsnng Flytt fra én brukbar bassløsnng tl en bedre brukbar bassløsnng Flytter en varabel ut av bass og en nn bass MOD233 - Ger Hasle - Lekson 3 5
ζ = ζ + Ν c = b a, Β Ν n avhengge varable, bassvarable m fr, uavhengge varable, kke-basske varable Indeksmengde for bassvarable etter k-te terason Indeksmengde for kke-basske varable Intelt: Β Ν Β = + + { n 1,, n m} Ν = { 1,, n} MOD233 - Ger Hasle - Lekson 3 6
I hver terason Smpleksmetoden går nøyaktg en varabel fra å være bassk tl å være kke-bassk går nøyaktg en varabel fra å være kke-bassk tl å være bassk Varabel som går nn bass kalles nngående varabel Varabel som går ut av bass kalles utgående varabel Et slkt bytte av varable kalles en pvoterng (tlsvarer terason) k-te basstabell (etter k-te terason (pvoterng)): ζ = ζ + Ν c = b a, Β Ν MOD233 - Ger Hasle - Lekson 3 7
ζ = ζ + Ν c = b a, Β Ν Inngående varabel etter k-te pvoterng velges slk at obektvet øker det vl s postv koeffsent obektvet = I Hvs slk kke fnnes, må v ha en optmal løsnng! Hvs det er flere postve koeffsenter, må v velge Flere mulge valgkrterer, f. eks. største postve koeffsent Ulke valgkrterer gr varanter av Smpleksmetoden { } I( k) Ν : c > 0 MOD233 - Ger Hasle - Lekson 3 8
ζ = ζ + Ν c = b a, Β Ν Valg av utgående varabel etter k-te pvoterng Anta at v har valgt nngående varabel = I k V vl øke verd på nngående varabel så mye som mulg = U Endrngen vl medføre endrng verden på bassvarablene Brukbar bassløsnng etter k-te pvoterng: ζ = ζ = b, B MOD233 - Ger Hasle - Lekson 3 9 ( )
Basstabell etter k-te terason ζ = ζ + Ν c = b a, Β Ν Tlhørende bassløsnng ζ = ζ = I = b, B Endrngen verd på nngående varabel vl medføre endrng verd på bassvarablene tlhørende bassløsnng, på følgende måte: = b a B I I MOD233 - Ger Hasle - Lekson 3 10
V må passe på brukbarhet av bassvarablene når v øker verd på nngående: = b a B I I = I Ikke alle bassvarable er krtske, kun de med postv a I = b a 0 B : a > 0 I I I Øker verd på nngående så mye som mulg, krtske verder: b =, B : a > 0 I I ai MOD233 - Ger Hasle - Lekson 3 11
V velger utgående varabel slk at v er garantert brukbarhet for alle bassvarablene når verd på nngående varabel økes tl utgåendes grenseverd = U b U ( k) B : ai > 0 mnmal a I Ekvvalent formulerng a I U ( k) B maksmal b Mulghet for valg blant flere kanddater Ulke valgkrterer gr varanter av Smpleksmetoden MOD233 - Ger Hasle - Lekson 3 12
= I k Velg nngående varabel ( ) med postv koeffsent obektfunkson (f.eks. maksverd) { } I( k) Ν : c > 0 = U Velg utgående varabel som skrer brukbarhet når nngående varabel økes mest mulg a I U ( k) B maksmal b Endrngen gr ny basstabell, prosessen kalles pvoterng Mulghet for valg av unngående og utgående blant flere kanddater (men slk at kravene oppfylles) Valgkrterer kalles pvoterngsregler Ulke valgkrterer gr varanter av Smpleksmetoden MOD233 - Ger Hasle - Lekson 3 13
Noen uavklarte tlfeller Intell løsnng, hva om en b < 0? Ved valg av utgående varabel pvoterng: a I U ( k) B maksmal b Hva om en b = 0? MOD233 - Ger Hasle - Lekson 3 14
ζ = Ν c = b a, Β Ν Anta at det fns mnst en b < (ellers har v brukbar ntell bassløsnng og v er gang) Strateg: Lag helpeproblem slk at: enkelt å fnne første brukbare bassløsnng optmal løsnng tl helpeproblem er brukbar løsnng for opprnnelg problem 0 MOD233 - Ger Hasle - Lekson 3 15
n = 1 n ma ζ = c slk at = 1 a b = 1,,m 0 = 1,, n Innfører ny varabel 0 0 Helpeproblem: ma ξ = slk at n = 1 0 a b = 1,,m 0 0 = 0,,n Opprnnelge problem har brukbar løsnng hvss helpeproblem har (optmal) løsnng med 0 = 0 MOD233 - Ger Hasle - Lekson 3 16
!"#! ξ = 0 = b + a n+ 1 1 0 1 = 1 = b + a 0 n+ m m 0 m = 1 n n Vl pvotere med nngående I = 0, = 0 La p være slk at { } m ( ) b = mn b b < 0 p = 1 p Vl la utgående være p+ n, = U = p + n MOD233 - Ger Hasle - Lekson 3 17
$% "#! ξ = 0 = b + a n+ 1 1 0 1 = 1 = b + a n+ p p 0 p = 1 = b + a 0 n+ m m 0 m = 1 n n n Dette gr brukbar bassløsnng! = + + 0 bp ap n + p = 1 n MOD233 - Ger Hasle - Lekson 3 18 n = ( b b ) + ( a a ), p p = 1 = n + 1,, m n + p n ξ = bp ap n+ p = 1
&!#! n ξ = bp ap n+ p = 1 n 0 = bp + ap + n + p = 1 n = ( b b ) + ( a a ), = n + 1,, m n + p p p = 1 V har brukbar bassløsnng for helpeproblemet Fortsetter pvoterng som vanlg mot optmal løsnng Optmal løsnng på helpeproblemet gr brukbar løsnng på det opprnnelge LP Bruker denne som ntell løsnng på opprnnelg LP MOD233 - Ger Hasle - Lekson 3 19
' ' Det å løse helpeproblemet (om nødvendg) og derved fnne brukbar løsnng for det opprnnelge problem kalles Smpleksmetoden Fase I Det å fortsette Smpleksmetoden med den brukbare løsnng fra Fase I mot optmal løsnng kalles Smpleksmetoden Fase II MOD233 - Ger Hasle - Lekson 3 20
(!! Ved valg av utgående varabel skal brukbarhet skres når nngående varabel økes mest mulg a I U ( k) B maksmal b Hva om en b = 0? Hva om alle I 0? a < = b a 0 B : a > 0 I I I Hvss alle I 0 a er det ngen begrensnnger på I Problemet er da ubegrenset! MOD233 - Ger Hasle - Lekson 3 21
) #!# * Hva om en b = 0? Det er tema for denne leksonen MOD233 - Ger Hasle - Lekson 3 22
"!! En basstabell ζ = ζ + Ν c = b a, Β Ν ses å være degenerert dersom Β = : b 0 MOD233 - Ger Hasle - Lekson 3 23
!! Kan skape problemer pvoterng, men kke nødvendgvs Eksempel (fra boka, kompakt basstabell) ζ = 5 + 3 1 = 5 + 2 3 2 3 1 = 7 4 4 1 = 5 1 Ubegrenset problem, trenger kke beregne for valg av utgående! Degenerert basstabell MOD233 - Ger Hasle - Lekson 3 24
" En pvoterng ses å være degenerert dersom en av brøkene beregnng av utgående varabel er + a I U ( k) B maksmal b = b a 0 B : a > 0 I I I Degenerert pvoterng kan skape problemer! MOD233 - Ger Hasle - Lekson 3 25
! +$,$- 1 3 2 2 1 1 = 1 w 2 2 w = + 5w ζ = 3 1 + 22 w1 3 1 1 2 1 2 1 ( 0,0,1,0,0, 3) a I U B maksmal ( 0) b 0 1 = 0 1 0 = + Degenerert basstabell Utgående er w 2 Degenerert pvoterng V kan kke øke nngående Pvoterer lkevel! MOD233 - Ger Hasle - Lekson 3 26
! +$,- 3 1 2 2 = 1 1 1 w 2 2 = w + w (1) ζ = 3+ 1 2w 2 + w1 3 1 1 2 1 2 1 1 2 ( 0,0,1,0,0, 3) (1) Inngående er 1 Utgående er Samme løsnng! 3 MOD233 - Ger Hasle - Lekson 3 27
! +$,- (2) ζ = 6 33 2w 2 w1 = 2 2 w 1 3 1 = 2 2 w 2 3 2 ( ) (2) 2, 2,0,0,0,6 Optmal løsnng! Degenerert pvoterng brakte oss vdere! Det er vanlg, men kke alltd tlfelle... MOD233 - Ger Hasle - Lekson 3 28
!. Degenererte pvoternger kan brnge oss tlbake tl en tdlgere basstabell Dette kalles syklsk pvoterng Smpleksmetoden vl da gå evg løkke Under vsse pvoterngsregler kan Smpleksmetoden g syklsk pvoterng Eksempel: nngående: største (postve) koeffsent utgående: mnste ndeks Syklsk pvoterng for et problem med optmal løsnng kan bare ske med problemer med mnst 6 varable og 3 førnger Se eksempel boka MOD233 - Ger Hasle - Lekson 3 29
/%$ / Hvs Smpleksmetoden kke termnerer, må den ha syklsk pvoterng Bevs: Tlstanden Smpleksmetoden er fullstendg bestemt av hvlke m varable som er basske (og hvlke n som er kke-basske) Det er et endelg antall mulge tlstander n + m n + m = m n MOD233 - Ger Hasle - Lekson 3 30
Vl kke øke verd på obektv (ford v kke kan øke verd på nngående) Hvs kke verd øker en pvoterng, må den være degenerert Hvs v har syklsk pvoterng, må alle pvoternger som nngår sykelen være degenererte Hvorfor? = b a 0 B : a > 0 I I I MOD233 - Ger Hasle - Lekson 3 31
Vanlg Syklsk pvoterng er uvanlg Mange verktøy tar kke hensyn tl syklng Det fns pvoterngsregler som garantert unngår syklsk pvoterng MOD233 - Ger Hasle - Lekson 3 32
! 0 ",$- Spesfkk pvoterngsregel Garanterer at syklsk pvoterng kke sker Utgangspunkt: Syklsk pvoterng sker ford Strateg: Sørge for at Hvordan? b 0 b = MOD233 - Ger Hasle - Lekson 3 33 0
! 0 ",- ζ = ζ + Ν c = b a, Β Ν Legge tl små, tlfeldge, uavhengge perturbasoner høyresdene basstabellen Kan gøres, men v velger annen løsnng: Legger tl fkserte, små tall hver førng, med ulk størrelsesorden MOD233 - Ger Hasle - Lekson 3 34
! 0 ",- ζ = ζ + Ν = 1 + ε 1 1 1 1 Β Ν b a, = m + ε m m m m Β Ν b a, 0 < ε << ε << ε << alle kons tan ter problemet m m 1 1 c V forutsetter: Ingen lneærkombnason av perturbasonene kan produsere tall samme størrelsesorden som data problemet Perturbason på ett nvå kan kke eskalere tl tall på høyere nvå MOD233 - Ger Hasle - Lekson 3 35
! 0 ",1- Behandler perturbasonene som symbolske parametre (konstanter) Tar de med pvoterng Vl aldr få valg pvoterngen (vel...) Vl da aldr få degenerert basstabell Se eksempel læreboka ζ = ζ + Ν = b + ε a, Β 1 1 1 1 1 Ν = b + ε a, Β m m m m m Ν 0 < ε << ε << ε << alle data problemet m m 1 1 c MOD233 - Ger Hasle - Lekson 3 36
" ζ = ζ + Ν = b + ε a, Β 1 1 1 1 1 Ν = b + ε a, Β m m m m m Ν 0 < ε << ε << ε << alle data problemet m m 1 1 c Når perturbasoner av denne type behandles som parametre og tas med pvoterngen, ses pvoterngen å følge den lekskografske metode Valg av nngående varabel blr kke endret Valg av utgående vl alltd g entydg svar MOD233 - Ger Hasle - Lekson 3 37
/% ". Smpleksmetoden med den lekskografske metode gr aldr syklsk pvoterng Korollar: Smpleksmetoden med den lekskografske metode termnerer alltd MOD233 - Ger Hasle - Lekson 3 38
/%233,$- ζ = ζ + Ν = b + ε a, Β 1 1 1 1 1 Ν = b + ε a, Β m m m m m Ν 0 < ε << ε << ε << alle data problemet m m 1 1 c Nok å vse at v aldr får degenerert basstabell Den ntelle basstabell er kke degenerert Hvordan ser basstabellen ut etter k pvoternger? Det er kun konstantleddene på høyresden som vl endre seg MOD233 - Ger Hasle - Lekson 3 39
/%233,- ζ = ζ + r01 ε 1 + + r0m εm Ν = b + r ε + + r ε a, Β Etter k pvoternger (k>1) ser basstabellen slk ut: ( k) 1 1 11 1 1m m 1 1 Ν = b + r ε + + r ε a, Β ( k) m m m1 1 mm m m m Ν 0 < ε << ε << ε < < alle data problemet m m 1 1 Ifølge forutsetnngene kan kke denne basstabellen være degenerert c MOD233 - Ger Hasle - Lekson 3 40
/%233,- ζ = ζ + r01 ε 1 + + r0m εm Ν = b + r ε + + r ε a, Β ( k) 1 1 11 1 1m m 1 1 Ν = b + r ε + + r ε a, Β ( k) m m m1 1 mm m m m Ν 0 < ε << ε << ε < < alle data problemet m m 1 1 c V forutsatte: Ingen lneærkombnason av perturbasonene kan produsere tall samme størrelsesorden som data problemet Perturbason på ett nvå kan kke eskalere tl tall på høyere nvå Ifølge forutsetnngene kan kke denne basstabellen være degenerert MOD233 - Ger Hasle - Lekson 3 41
4 Ved flertydghet valg av nngående eller utgående varabel, velg alltd den varabel som har mnst ndeks MOD233 - Ger Hasle - Lekson 3 42
/% Smpleksmetoden med Blands pvoterngsregel termnerer alltd MOD233 - Ger Hasle - Lekson 3 43
/%2,$- Ad absurdum Antar syklsk pvoterng og vser at det fører tl selvmotsgelse Anta at løkka starter terason 0 og varer k terasoner med basstabeller: (1) ( k 1) (1) D, D,, D, D, D, Ser at en varabel er vnglete hvs den går nn og ut av bass sykelen La La t være den vnglete varabel som har størst ndeks D være den basstabell der t er utgående MOD233 - Ger Hasle - Lekson 3 44
/%2,- La s være nngående D ζ = ζ + Ν c = Β Ν b a, Vet at s N, t B MOD233 - Ger Hasle - Lekson 3 45
/%2,- La ( p) D være en basstabell sykelen der t er nngående: ( p 0) (p) ζ = ζ + Ν ( p ) c (p) (p) (p) (p) = Β ( p ) Ν b a, t N ( p) = ( p) t V husker at alle pvoternger en sykel er degenererte Har derfor: (p) ζ = ζ MOD233 - Ger Hasle - Lekson 3 46
/%2,1- Kan derfor omskrve ( p) D ζ = ζ + n+ m = 1 c (p) (p) (p) (p) = Β ( p) =Ν b a, (p) ( p) = Β der c 0, Obektvverden er konstant sykelen og kan uttrykkes: n+ m (p) (p) c, der c 0, (p) = 1 ζ = ζ + = Β MOD233 - Ger Hasle - Lekson 3 47
/%2,5- La oss returnere tl D ζ = ζ + Ν c = Β Ν b a, s N, t B Vl (på tross av mulg ubrukbarhet) øke Beholder de andre kke-basske lk 0, får løsnng: s = y > 0 = N s 0,, = s, b a y B ζ ζ = + c s y s MOD233 - Ger Hasle - Lekson 3 48
/%2,6- V har etablert at: n+ m ( p) ( p) c, der c 0, ( p) = 1 ζ = ζ + = Β Dette gr, for vår løsnng: ζ s = y > 0 = N s 0,, = b a y, B s ζ = ζ + c s y ( p) ( p) = ζ + s + s B c y c ( b a y) MOD233 - Ger Hasle - Lekson 3 49
/%2,7- Altså, ved å kombnere uttrykkene for obektvet: ζ = ζ + cs y = ζ + c y + c ( b a y) Dette gr: ( p) ( p) s s B c c c a y c b ( p) ( p) ( p) s s + s = B B Gelder for vlkårlg y! MOD233 - Ger Hasle - Lekson 3 50
/%2,8- Derfor må v ha: ( p) ( p) s s s B c c + c a = 0 V må ha: c > 0 nngående! s s t < t er den vnglete varabel med størst ndeks! Derfor c 0 ellers vlle Blands regel velge! ( p) s Da må B c ( p) as < 0 MOD233 - Ger Hasle - Lekson 3 51 s
/%2,9- B c ( p) as Derfor er < 0 Da må det fnnes ndeks slk at c a < ( p) r rs ( p) cr 0 0 r slk at B ( 0 ) r N ( p) Altså: r Da må r t er vnglete MOD233 - Ger Hasle - Lekson 3 52
/%2,$:- Har etablert at: r t ( p) r rs c a < 0 ( p) r N Vet at ts a > 0 t er utgående D ( p) t c > 0 t er nngående ( p) D Derfor må c a > 0 r < t ( p) t ts Etter Blands regel: cr ( p) 0 t er nngående ( p) D c a < 0 gr da ( p) r rs rs a > 0 MOD233 - Ger Hasle - Lekson 3 53
/%2,$$- I en syklsk pvoterng er alle løsnngene lke Alle vnglete varable må da ha verden 0 (sden de er 0 når de er kke-basske) Speselt er: r = 0 Da må r ζ = ζ + b = 0 Ν c = Β Ν b a, Sden rs a > 0 skulle r Selvmotsgelse! vært valgt som utgående D, kke t MOD233 - Ger Hasle - Lekson 3 54
/%2,$- V antok at Smpleksmetoden med Blands regel kunne g syklsk pvoterng Med denne antakelsen klarte v å produsere en selvmotsgelse Altså kan kke Smpleksmetoden med Blands regel g syklsk pvoterng! MOD233 - Ger Hasle - Lekson 3 55
" Fase I vser enten at problemet er nkonsstent eller gr brukbar bassløsnng Fase II vser enten at problemet er ubegrenset eller fnner optmal bassløsnng Det fns pvoterngsregler som garanterer termnerng MOD233 - Ger Hasle - Lekson 3 56
/%1 ' For et vlkårlg LP gelder følgende: Hvs problemet kke har optmal løsnng, er det enten nkonsstent eller ubegrenset Hvs problemet har en brukbar løsnng, så har det en brukbar bassløsnng Hvs problemet har en optmal løsnng, har det en optmal bassløsnng MOD233 - Ger Hasle - Lekson 3 57
a I U ( k) B maksmal b Sste spesaltlfelle - valg av utgående Degenerert basstabell, degenererert pvoterng Degenerert pvoterng kan g syklsk pvoterng Eneste tlfelle der Smpleksmetoden kke termnerer Det fns pvoterngsregler for å unngå sykler Den lekskografske metode Blands pvoterngregel b = 0? Fundamentalteoremet for lneærprogrammerng Geometrsk tolknng - se læreboka 2.5, 3.6 MOD233 - Ger Hasle - Lekson 3 58