Revidert simpleksmetode - Revised simplex method
I matematisk optimalisering , den reviderte simplex-metoden er en variant av George Danzig 's simplex metode for lineær programmering .
Den reviderte simpleksmetoden er matematisk ekvivalent med standard simpleksmetoden, men er forskjellig i implementeringen. I stedet for å opprettholde et tablå som eksplisitt representerer begrensningene justert til et sett med grunnleggende variabler, opprettholder det en representasjon av et grunnlag for matrisen som representerer begrensningene. Den matriseorienterte tilnærmingen gir større beregningseffektivitet ved å muliggjøre sparsomme matriseoperasjoner.
Problemformulering
For resten av diskusjonen antas det at et lineært programmeringsproblem er konvertert til følgende standardform:
hvor A ∈ R m × n . Uten tap av generalitet antas det at begrensningsmatrisen A har full radrangering og at problemet er gjennomførbart, dvs. at det er minst en x ≥ 0 slik at Ax = b . Hvis A er rangmangel, er det enten overflødige begrensninger, eller problemet er gjennomførbart. Begge situasjonene kan håndteres med et forhåndsstilt trinn.
Algoritmisk beskrivelse
Optimalitetsforhold
For lineær programmering er forholdene Karush – Kuhn – Tucker både nødvendige og tilstrekkelige for optimalitet. KKT-forholdene til et lineært programmeringsproblem i standardform er
hvor λ og s er Lagrange-multiplikatorene assosiert med begrensningene henholdsvis Ax = b og x ≥ 0 . Den siste tilstanden, som tilsvarer s i x i = 0 for alle 1 < i < n , kalles komplementær slakkhetstilstand .
Med det som noen ganger kalles den grunnleggende teoremet for lineær programmering , kan et toppunkt x på den mulige polytopen identifiseres ved å være en basis B av A valgt fra sistnevnte kolonner. Siden A har full rang, er B ikke-singular. Uten tap av generalitet, anta at A = [ B N ] . Da er x gitt av
hvor x B ≥ 0 . Partisjon c og s deretter inn i
For å tilfredsstille den komplementære slakkhetsbetingelsen, la s B = 0 . Det følger at
som innebærer det
Hvis s N ≥ 0 på dette punktet, er KKT-forholdene oppfylt, og dermed er x optimal.
Dreieoperasjon
Dersom KKT betingelser er brutt, en dreieoperasjon som består av innføring av en søyle av N til basis på bekostning av en eksisterende kolonne i B utføres. I fravær av degenerasjon resulterer en dreieoperasjon alltid i en streng reduksjon i c T x . Derfor, hvis problemet er avgrenset, må den reviderte simpleksmetoden avsluttes ved et optimalt toppunkt etter gjentatte svingoperasjoner fordi det bare er et endelig antall hjørner.
Velg en indeks m < q ≤ n slik at s q <0 som inngående indeks . Den tilsvarende kolonnen med A , A q , vil bli flyttet til grunnlaget, og x q vil få lov til å øke fra null. Det kan vises
dvs. at hver enhetsøkning i x q resulterer i en reduksjon med - s q i c T x . Siden
x B må tilsvarende reduseres med Δ x B = B −1 A q x q underlagt x B - Δ x B ≥ 0 . La d = B −1 A q . Hvis d ≤ 0 , uansett hvor mye x q økes, forblir x B - Δ x B ikke-negativ. Derfor kan c T x reduseres vilkårlig, og dermed er problemet ubegrenset. Hvis ikke, velger en indeks p = argmin 1≤ i ≤ m { x I / d i | d i > 0} som avgangsindeks . Dette valget øker effektivt x q fra null til x p reduseres til null mens man opprettholder muligheten. Svinge operasjonen avsluttes med å erstatte A p med A Q i grunnlaget.
Numerisk eksempel
Vurder et lineært program hvor
La
å begynne med, noe som tilsvarer en mulig topp-punkt x = [0 0 0 10 15] T . I dette øyeblikk,
Velg q = 3 som inngangsindeks. Deretter d = [1 3] T , som betyr en enhetsøkning i x 3 resulterer i at x 4 og x 5 reduseres med henholdsvis 1 og 3 . Derfor økes x 3 til 5 , hvor x 5 reduseres til null, og p = 5 blir den forlate indeksen.
Etter dreieoperasjonen,
Tilsvarende
Et positivt s N indikerer at x nå er optimal.
Praktiske spørsmål
Degenerasjon
Fordi den reviderte simpleksmetoden er matematisk ekvivalent med simplex-metoden, lider den også av degenerasjon, der en pivotoperasjon ikke resulterer i en reduksjon i c T x , og en kjede av pivotoperasjoner får grunnlaget til å sykle. En forstyrrelse eller leksikografisk strategi kan brukes til å forhindre sykling og garantere avslutning.
Grunnrepresentasjon
To typer lineære systemer som involverer B er til stede i den reviderte simpleksmetoden:
I stedet for å omfaktorisere B , blir en LU-faktorisering vanligvis oppdatert direkte etter hver dreieoperasjon, for hvilket formål det finnes flere strategier som Forrest-Tomlin og Bartels-Golub-metodene. Mengden data som representerer oppdateringene, samt numeriske feil, bygger seg imidlertid opp over tid og gjør periodisk refaktorisering nødvendig.
Merknader og referanser
Merknader
Referanser
Bibliografi
- Morgan, SS (1997). A Comparison of Simplex Method Algorithms (MSc thesis). University of Florida . Arkivert fra originalen 7. august 2011.
- Nocedal, J .; Wright, SJ (2006). Mikosch, TV; Resnick, SI; Robinson, SM (red.). Numerisk optimalisering . Springer Series in Operations Research and Financial Engineering (2. utgave). New York, NY, USA: Springer . ISBN 978-0-387-30303-1 .