LP. Leksjon 6: Kap. 6: simpleksmetoden i matriseform, og Seksjon 7.1: følsomhetsanalyse

Like dokumenter
LP. Leksjon 1. Kapittel 1 og 2: eksempel og simpleksmetoden

LP. Leksjon 5. Kapittel 5: dualitetsteori. motivasjon det duale problemet svak og sterk dualitet det duale til LP problemer på andre former

LP. Leksjon 2. Kapittel 2: simpleksmetoden, forts. initialisering to faser ubegrenset løsning geometri

Kapittel 1 og 2: eksempel og simpleksmetoden

Kapittel 5: dualitetsteori

Kapittel 2: simpleksmetoden, forts.

LP. Leksjon 8: Kapittel 13: Nettverk strøm problemer, forts.1

LP. Leksjon 3. Kapittel 3: degenerasjon.

Kapittel 3: degenerasjon.

UNIVERSITETET I OSLO

LP. Leksjon 7. Kapittel 13: Nettverk strøm problemer

LP. Leksjon 4. Kapittel 4: effektivitet av simpleksmetoden

UNIVERSITETET I OSLO

LP. Leksjon 9: Kapittel 13: Nettverk strøm problemer, forts.2

η = 2x 1 + x 2 + x 3 x 1 + x 2 + x 3 + 2x 4 3 x x 3 4 2x 1 + x 3 + 5x 4 1 w 1 =3 x 1 x 2 x 3 2x 4 w 2 =4 x 1 x 3 w 3 =1 2x 1 x 3 5x 4

LP. Kap. 17: indrepunktsmetoder

UNIVERSITETET I OSLO

Kapittel 4: effektivitet av simpleksmetoden

TMA4122/TMA4130 Matematikk 4M/4N Høsten 2010

ingen Fase I nødvendig konvergerer dersom LP er begrenset og konsistent skifter mellom primal og dual pivotering MoD233 - Geir Hasle - Leksjon 8 2

LP. Leksjon Spillteori

Moderne optimering mer enn å derivere!!

3.9 Teori og praksis for Minste kvadraters metode.

Lineære likningssystemer og matriser

MAT1120 Repetisjon Kap. 1

Opp til nå har problemstilling vart: Gitt en funksjon f, finn for hvilket verdier av de variabler f tar en bestemt verdi. Ax = b, f(x) = 0.

Forelesning i Matte 3

6.4 Gram-Schmidt prosessen

Korteste vei problemet (seksjon 15.3)

Side 1 av 13. Svar til. EKSAMEN I EMNE TIØ4120 OPERASJONSANALYSE, GK Torsdag 2. desember 2010 Tid: kl Bokmål

6.5 Minste kvadraters problemer

Lineære likningssystemer

LØSNINGSFORSLAG EKSAMEN HØST 2012 I TIØ4120 OPERASJONSANALYSE, GRUNNKURS

7.4 Singulærverdi dekomposisjonen

Forelesning 14 Systemer av dierensiallikninger

Lineære ligningssystemer og gausseliminasjon

4 Matriser TMA4110 høsten 2018

Lineære likningssett.

4.4 Koordinatsystemer

Gauss-Jordan eliminasjon; redusert echelonform. Forelesning, TMA4110 Fredag 18/9. Reduserte echelonmatriser. Reduserte echelonmatriser (forts.

Lineære ligningssystemer. Forelesning, TMA4110 Torsdag 17/9. Lineære ligningssystemer (forts.) Eksempler

Det matematisk-naturvitenskapelige fakultet

Elementær Matriseteori

Lineærtransformasjoner

Repetisjon: Om avsn og kap. 3 i Lay

UNIVERSITETET I OSLO

A 2 = PDP 1 PDP 1 = PD 2 P 1. og ved induksjon får vi. A k = PD k P 1. Kommentarer:

6.4 (og 6.7) Gram-Schmidt prosessen

MAT1120 Repetisjon Kap. 1, 2 og 3

UNIVERSITETET I OSLO

Matriser. Kapittel 4. Definisjoner og notasjon

Eksamensoppgave i TMA4320 Introduksjon til vitenskapelige beregninger

Hvorfor er lineær algebra viktig? Linear

Elementære eliminasjonsmatriser

Basis, koordinatsystem og dimensjon

MAT Onsdag 7. april Lineær uavhengighet (forts. 1.8 Underrom av R n, nullrom, basis MAT Våren UiO. 7.

TMA4215 Numerisk matematikk

Sensitivitet og kondisjonering

Lineære ligningssystemer og gausseliminasjon

MAT1120 Notat 2 Tillegg til avsnitt 5.4

Kap. 6 Ortogonalitet og minste kvadrater

TMA4110 Eksamen høsten 2018 EKSEMPEL 1 Løsning Side 1 av 8. Løsningsforslag. Vi setter opp totalmatrisen og gausseliminerer: x 1 7x 4 = 0

Vær OBS på at svarene på mange av oppgavene kan skrives på flere ulike måter!

RF5100 Lineær algebra Leksjon 2

10 Radrommet, kolonnerommet og nullrommet

Innhold og forelesningsplan Eksempler på LP Begreper Løsning av enkelt eksempel Praktisk relevans Leksjon 2: Simpleksmetoden for løsning av LP

Repetisjon: om avsn og kap. 3 i Lay

Polynomisk interpolasjon

MAT1120 Notat 2 Tillegg til avsnitt 5.4

Obligatorisk innlevering 3 - MA 109, Fasit

Kap. 5 Egenverdier og egenvektorer

Til enhver m n matrise A kan vi knytte et tall, rangen til A, som gir viktig informasjon.

8 Vektorrom TMA4110 høsten 2018

Løsningsforslag øving 7

Svar til. EKSAMEN I EMNE TIØ4120 OPERASJONSANALYSE, GK Onsdag 10. august 2011 Tid: kl Bokmål

TMA4110 Matematikk 3 Eksamen høsten 2018 Løsning Side 1 av 9. Løsningsforslag. Vi setter opp totalmatrisen og gausseliminerer:

I dette kapittelet skal vi studerer noen matematiske objekter som kalles matriser. Disse kan blant annet brukes for å løse lineære likningssystemer.

Rang og Vektorrom. Magnus B. Botnan NTNU. 4. august, 2015

9 Lineærtransformasjoner TMA4110 høsten 2018

UNIVERSITETET I OSLO

4.9 Anvendelser: Markovkjeder

Obligatorisk oppgave 1 MAT1120 HØSTEN 2014

UNIVERSITETET I OSLO

6 Determinanter TMA4110 høsten 2018

5.5 Komplekse egenverdier

MA2501 Numeriske metoder

MA2501 Numeriske metoder

1 Gauss-Jordan metode

LØSNINGSFORSLAG KONTINUASJONSEKSAMEN VÅR 2013 I TIØ4120 OPERASJONSANALYSE, GK

UNIVERSITETET I OSLO

Obligatorisk innleveringsoppgave, løsning Lineær algebra, Våren 2006

Dagens mål. Det matematiske fundamentet til den diskrete Fourier-transformen Supplement til forelesning 8 INF Digital bildebehandling

12 Lineære transformasjoner

6.8 Anvendelser av indreprodukter

MAT-1004 Vårsemester 2017 Obligatorisk øving 3

7.1 forts. Schur triangularisering og spektralteoremet

Løsning Eksamensrelevante oppgaver i ELE 3719 Matematikk Vektorer, matriser og lineær algebra Dato Februar Oppgave 1. (A) Vi leser av at

Eksamensoppgave MAT juni 2010 (med løsningsforslag)

TMA4115 Matematikk 3 Vår 2017

Transkript:

LP. Leksjon 6: Kap. 6: simpleksmetoden i matriseform, og Seksjon 7.1: følsomhetsanalyse matrisenotasjon simpleksalgoritmen i matrisenotasjon eksempel negativ transponert egenskap: bevis følsomhetsanalyse (seksjon 7.1) 1 / 26

Matrisenotasjon Basislisteform kontra matriseform: basislisteform best for å forstå simpleksalgoritmen og håndregning av mindre eksempler i større beregninger brukes simpleksalgoritmen i matriseform matriseform er mer effektiv. Bruker numerisk lineær algebra. sentrale spørsmål: (i) prising, (ii) rask oppdatering av basis, (iii) LU-faktorisering, (iv) utnytte sparsity Vi vil nøye oss med å forklare algoritmen i matriseform, uten å gå inn på de numeriske spørsmålene. 2 / 26

Betrakt LP problemet på standard form max f.a. n j=1 c jx j n j=1 a i,jx j b i for i = 1,..., m x j 0 for j = 1,..., n. Konverterer til likninger ved å innføre slakkvariable x n+i = b i n j=1 a i,jx j for i = 1,..., m. Matriseform: der max f.a. c T x Ax = b, x O 3 / 26

A = a 11... a 1n 1 0... 0 a 21... a 2n 0 1... 0..... a m1... a mn 0 0 1, b = b 1 b 2. b m, Merk: A har full radrang, dvs. radene i A er lineært uavhengige. c = c 1. c n 0. 0, x = x 1. x n x n+1. x n+m 4 / 26

Dermed er objktivfunksjonen c T x = n j=1 c jx j. Simpleksalgoritmen vil i hver iterasjon ha delt variablene inn i to grupper: basis- og ikkebasisvariable. Lar som vanlig B og N være indeksmengdene til hhv. basisvariable og ikkebasisvariable. Vi lar A B og A N betegne submatrisene av A som svarer til kolonnene med indekser i hhv. B og N. Dermed har vi A = [ A B A N ] Merk: her er B = {1,..., m}, men dette er bare for å lette notasjonen. Generelt er jo basisindeksene spredt ut. Matematisk kan vi da tenke oss å permutere kolonner i A og elementer i x (tilsvarende) slik at vi får formen over. 5 / 26

Primal simpleksalgoritme Splitter x og c tilsvarende x = [ xb x N ], c = [ cb c N ] Dermed blir Ax = [ ] [ ] x B A B A N x N c T x = [ cb T cn T ] [ ] x B x N = A B x B + A N x N, = c T B x B + c T N x N. Likningssystemet Ax = b blir nå A B x B + A N x N = b 6 / 26

Vi antar nå at A B er ikkesingulær; A B kalles da en basis i A. Kolonnene i A B er da en basis for IR m (m lineært uavhengige vektorer i IR m ). Løser likningssystemet: x B = A 1 B b A 1 B A Nx N (1) som altså uttrykker basisvariablene x B ved ikkebasisvariablene x N. Merk: Enhver ] løsning av Ax = b kan altså skrives på denne formen x = [ xb fra (1). x N der x N velges passende og x B blir bestemt entydig ut Vi eliminerer nå x B fra objektivfunksjonen: η = c T B x B + c T N x N = = cb T (A 1 B b A 1 B A Nx N ) + cn T x N = = cb T A 1 B b ((A 1 B A N) T c B c N ) T x N. 7 / 26

Altså får vi η = cb T A 1 B b + (c N (A 1 B A N) T c B ) T x N x B = A 1 B b A 1 B A Nx N som er basislisteformen vi har brukt hittil. Her er cb T A 1 B b = η (c N (A 1 B A N) T c B ) T = [ c j ] A 1 B b = [ b i ] A 1 B N = [ā ij]. der vektorene på høyre side har komponeneter indeksert med i B og j N. Basisløsningen knyttet til basislisten (dvs. valget av basis B) er x N = O, x B = A 1 B b. 8 / 26

Skal se på det duale. Minner om korrespondansen primal var. x j svarer til dual slakkvar. z j primal slakkvar. w i svarer til dual var. y i Sier at x j og z j er komplementære, og at w i og y i er komplementære. Komplementære variable har motsatt rolle i likningene: de er på motsatt side. Altså: en variabel er i basis hvis og bare hvis den komplementære variabelen ikke er i basis. Eksempel: (P) η = 0 + 4x 1 + x 2 + 3x 3 w 1 = 1 x 1 4x 2 w 2 = 3 3x 1 + x 2 x 3 ξ = 0 y 1 3y 2 (D) z 1 = 4 + y 1 + 3y 2 z 2 = 1 + 4y 1 y 2 z 3 = 3 + y 2 9 / 26

Initielt er x 1 ikke i basis i (P), mens den komplementære variabelen z 1 er i basis i (D) osv. Pivoterer nå i (P) ved å ta x 3 inn i basis og w 2 ut av basis. Ved tilsvarende pivotering i (D): z 3 (komplementær til x 3 ) går ut av i basis og y 2 (komplementær til w 2 ) går inn i basis. I hver pivotering i (P) bytter en basisvariabel og en ikkebasisvariabel rolle. Ved tilsvarende pivotering i (D) vil de komplementære variablene i (D) også bytte rolle, men motsatt vei. Komplementære variable har dermed stadig motsatt rolle når det gjelder det å være i basis. På grunn av denne komplementariteten velger vi å ordne variablene i de to problemene slik: (x 1,..., x n, w 1,..., w m ) (x 1,..., x n, x n+1,..., x n+m ) (z 1,..., z n, y 1,..., y m ) (z 1,..., z n, z n+1,..., z n+m ) Så da er x j og z j komplementære for j = 1,..., n + m. Spesielt vil basisvariablene i (D) være z N (ikke z B!). 10 / 26

På grunn av negativ transponert egenskapen blir den duale basislisten (med basis B) gitt ved: ξ = cb T A 1 B b (A 1 B b)t z B z N = (A 1 B A N) T c B c N + (A 1 B A N) T z B. Den duale basisløsningen knyttet til basislisten er Vi innfører nå z B = O, z N = (A 1 B A N) T c B c N. η = c T B A 1 B b som er verdien på objektivfunksjon η i (P) for basisløsningen knyttet til B. 11 / 26

Konklusjon: primal og dual basisliste for basis B blir nå η = η (zn )T x N x B = xb A 1 B A (2) Nx N ξ = η (xb )T z B z N = zn + (A 1 B A N) T (3) z B Legg merke til negativ transponert-egenskapen. 12 / 26

Simpleksalgoritmen (primal) i kortversjon: starter med en basis B slik at xb er tillatt i (P) foretar deretter en sekvens av pivoteringerer. hver pivotering er å finne en nabobasis (som er lik foregående basis bortsett fra for en indeks) slik at η øker og dessuten bestemme tilhørende primal og dual basisløsning. Simpleksalgoritmen i matriseform vil finne samme løsninger (i hver itersjon) som basislistevarianten. Forskjellen er bare at vi nå skal operere på matriser og vektorer. Bruker notasjonen fra basislisteformen over. 13 / 26

En iterasjon i simpleksalgoritmen: Step 1. Test optimalitet. Hvis zn 0, stopp. Nåværende basisløsning er optimal. Step 2. Velg inngående basisvariabel. Velg en indeks j N der z j < 0. Kaller x j inngående basisvariabel. Step 3. Beregn primal skrittretning. Lar nå x N = te j der e j er j te enhetsvektor; dette angir endringen i (primale) ikkebasisvariable. De primale basisvariable blir da gitt ved (se (2)) x B = x B A 1 B A Nte j = x B t x B (4) der skrittretningen er gitt ved x B = A 1 B A Ne j. ( x B inneholder koordinatene til jte kolonne i A N uttrykt i basis A B.) 14 / 26

Step 4. Beregn primal skrittlengde. Vi velger t størst mulig slik at x B stadig er ikkenegativ. Fra likning (4) får vi at den nye verdien på basisvariabelen x i er x i = x i t i. Så hvis i 0 for alle i, er problemet (P) ubegrenset. Ellers er den maksimale t er gitt ved t = min{x i / i : i > 0}. (5) Ut fra Step 3 og 4 kan vi beregne den nye primale løsningen (se Step 8). Step 5. Velg utgående basisvariabel. Velg en indeks i der minimumet inntraff i (5), og la x i være utgående basisvariabel. 15 / 26

Step 6. Beregn dual skrittretning. Det gjenstår å finne endringen i de duale variablene (vi trenger disse for å finne de nye koeffisientene i objektivfunksjonen i (P)). Dette blir bestemt av valget av i og j over. Siden x i forlater basis i (P), vil den komplementære variabelen z i gå inn i basis i (D), så den må økes fra null til en viss verdi s. De duale basisvariable blir da gitt ved (se (3)) z N = z N + (A 1 B A N) T se i = z N s z N (6) der skrittretningen er gitt ved z B = (A 1 B A N) T e i. Step 7. Beregn dual skrittlengde. Vi kan bestemme den duale skrittlengden s ut fra at z j forlater basis (som skyldes at den komplementære variabelen x j går inn i primal basis). Siden z j blir null får vi fra (6) at s = z j / j. 16 / 26

Step 8. Oppdater primal og dual løsning. Primal løsning oppdateres ved := t, xb := x B t x B x j og dual løsning oppdateres ved zi := s, zn := z N s z N. Step 9. Oppdater basis. Til slutt opdateres basis ved B := (B \ {i}) {j}. Sluttkommentarer: eksempel: se seksjon 6.3 i Vanderbei s bok dual simpleks i matriseform: se seksjon 6.4 oppsummering: se slide nr. 2. 17 / 26

Negativ transponert egenskap Betrakt det primale LP problemet (P) max c T x f.a. Ax + w = b, x, w O. og det duale (D) min b T y f.a. A T y z = c, y, z O. Alternativt: (P) er max c T x f.a. Ā x = b, x O. og det duale (D) min ˆb T ŷ f.a. Â T ŷ = ĉ, ŷ O. 18 / 26

Her er og Ā = [ A I ], c = [ c O  = [ I A T ], ˆb = [ O b ] [ x, x = w ] [ z, ŷ = y Komplementaritet - primal og dual basis: kolonne j er i basis i Ā hvis og bare hvis kolonne j ikke er i basis i Â. I starten er de m siste kolonnene i Ā i basis, og de n første kolonnene i  er i basis. Etter noen pivoteringer er ], ], Ā = [ A I ] = [ ĀN Ā B ] P for en permutasjonsmatrise P. Kolonnene i Ā er permutert. Siden tilsvarende pivoteringer foregår i det duale er 19 / 26

 = [ I A T ] = [ ]  B  N P Men P 1 = P T, så PP T = I. Dermed blir Ā T = [ [ ] ] Ā N Ā B PP T ÂT B = Ā N  T B + Ā B  T N  T N og dessuten har vi at Ā T = [ A I ] [ I A ] = A + A = O. Altså: Ved litt algebra får vi at Ā N  T B + Ā B  T N = O Ā 1 B ĀN = ( 1 ÂN) T B Dette viser negativ transponert egenskapen. 20 / 26

Følsomhetsanalyse Følsomhetsanalyse (seksjon 7.1): hva skjer med løsninger når parametre endres? Ser på et slikt spørsmål for LP: gitt en optimal basis, hvor mye kan hver enkelt koeffisient i objektivfunksjonen endres uten at nåværende basisløsning blir ikkeoptimal? Svaret finner vi ved dualitet! Minner om at når A B er optimal basis har vi xb = A 1 B b, yn = (A 1 B A N) T c B c N, η = cb T A 1 B b. 21 / 26

Dermed: Anta at bare c endres (blant dataene). Da endres y N men ikke x B. Så hvis c ikke endres mer enn at den nye vektoren y N er ikkenegativ, så er stadig x B optimal! Anta c endres til c + t c, der t er et tall og c en endringsvektor (ofte en enhetsvektor). Da endres y N til y N + t y N der y N = (A 1 B A N) T c B c N. Derfor vil nåværende basis stadig være optimal (etter endringen i c) dersom ( ) y N + t y N O. Følsomhetsanalysen koker da ned til å bestemme minste og største verdi på t slik at ( ) holder!! 22 / 26

Eksempel: max 5x 1 + 4x 2 + 3x 3 f.a. (i) 2x 1 + 3x 2 + x 3 5 (ii) 4x 1 + x 2 + 2x 3 11 (iii) 3x 1 + 4x 2 + 2x 3 8 x 1, x 2, x 3 0. Optimal basisliste, der B = {3, 1, 5} og N = {4, 2, 6} η = 13 x 4 3x 2 x 6 x 3 = 1 + 3x 4 + x 2 2x 6 x 1 = 2 2x 4 2x 2 + x 6 x 5 = 1 + 2x 4 + 5x 2 NB: pass på rekkefølgen av variablene i matriseberegningene! Vi ønsker å se på endring av koeffisienten 3 til x 3 i obj.funk. 23 / 26

La derfor c B = (1, 0, 0) T og c N = (0, 0, 0) T. Matrisen A 1 B A N finner vi fra optimal basisliste slik: A 1 B A N = 3 1 2 2 2 1 2 5 0 y N = (A 1 B A N) T c B c N = T 3 1 2 1 0 2 2 1 0 0 2 5 0 0 0 = som gir 3 1 2. 24 / 26

Derfor: B vil være optimal basis dersom ( ) (y N + t y N) T = (1, 3, 1) + t ( 3, 1, 2) O d.v.s. 1 3t 0, 3 t 0, 1 + 2t 0. Dette gir 1/2 t 1/3. Så koeffisienten til x 3 (som var 3) kan variere mellom 3 1/2 = 5/2 og 3 + 1/3 = 10/3. Til slutt: legg merke til hva som skjer hvis vi bruker c B = O! Denne følsomhetsanalysen viser hvor viktig basislister er for å forstå lineær programmering! 25 / 26

Videre temaer er: litt spillteori konveksitet (geometriske sider ved LP), og nettverk strøm problemer. 26 / 26