Szimplex módszer(ek)
|
|
- Magda Szabó
- 5 évvel ezelőtt
- Látták:
Átírás
1 Szimplex módszerek Ujvári Miklós Utolsó módosítás: december Legyen A = a 1,...,a n R m n. A B = b 1,...,b r R m r ennek bázisa, ha a b 1,...,b r vektorok lineárisan függetlenek és generálják az a 1,...,a n vektorokat. Ez azzal ekvivalens, hogy a b 1,...,b r vektorok az Im A altér bázisát alkotják, speciálisan r = dim Im A. B pontosan akkor bázisa A-nak, ha léteznek egyértelmű τ ij együtthatók, úgy, hogy a j = r i=1 τ ij b i j = 1,...,n legyen, vagyis a T = τ ij R r n jelöléssel A = BT. T ekkor a B bázishoz és a generált A-hoz tartozó bázistábla. Ha r = m, akkor B R m m invertálható mátrix és A = BT-ből T = B 1 A adódik. Ekkor a bázistábla i,j pozícióján álló eleme, τ ij megegyezik B 1 i-edik sorának és A j-edik oszlopának a szorzatával, ugyanis τ ij = e T i B 1 Ae j = e T i B 1 Ae j. Ha A tartalmazza az e i R m egységvektorokat, például a ji = e i i = 1,...,m, akkor B 1 kiolvasható a T táblából: t ji = B 1 A ji = B 1 i i = 1,...,m. A B bázis egy b i vektorát az A egy a j vektorára kicserélve pontosan akkor kapjuk A egy B bázisát, ha τ ij 0. A B -höz tartozó T bázistáblát ekkor úgy nyerjük T-ből, hogy pivotálunk annak i,j pozícióján, azaz: a tábla i-edik sorát a pivot sort leosztjuk a τ ij elemmel a pivot elemmel és a pivot sor megfelelő számú többszöröseit a többi sorhoz adva elérjük, hogy a j-edik oszlopban a pivot oszlopban e i álljon. Ez a transzformáció, elemi sortranszformációk szorzataként, egy invertálható mátrixszal való balról szorzással egyenértékű. A bázistáblák segítségével már igazolt alternatívatételek konstruktív bizonyítását adhatjuk Tétel: Az Ax = b és az A T y = 0,b T y 0 rendszerek közül pontosan az egyik megoldható. Ha az Ax = b rendszer megoldható, akkor olyan x megoldása is létezik, amelyre az a i : x i 0 vektorok lineárisan függetlenek. Bizonyítás: Mindkét rendszer nem lehet megoldható, ekkor ugyanis 0 = x T A T y = Ax T y = b T y 0 lenne. Most megmutatjuk, hogy az egyik rendszer megoldható. Vegyük A-hoz azokat az e i R m egységvektorokat ún. mesterséges bázisvektorokat amelyeket nem tartalmaz. Az így kapott mátrixot jelölje Ã. Ekkor nyilván T 0 := Ã,b a B 0 := e 1,...,e m bázishoz és a Ã,b generátumhoz tartozó bázistábla. Ebből kiindulva hozzunk be a bázisba a mesterséges bázisvektorok helyébe annyi a j vektort, amennyit csak lehetséges, vagyis pivotáljunk a tábla i,j b i mesterséges bázisvektor, a j B pozícióin amíg ez lehetséges. Itt B az aktuális bázist jelöli. Legfeljebb a mesterséges bázisvektorok száma B 0 -ban lépés után elakadunk, ami azt jelenti, hogy az aktuális T táblában τ ij = 0, ha b i mesterséges bázisvektor és a j B. A tábla most T = B 1 Ã,B 1 b alakú, ebből kiolvasható B 1 A,B 1 b és B 1 is. i B 1 A = 0, ha b i mesterséges bázisvektor, speciálisan {i : b i A} = rang B 1 A = rang A, vagyis rang A A B 0 lépés után akadtunk el. Két eset lehetséges: az első, hogy létezik olyan b i mesterséges bázisvektor, amelyre B 1 b i 0. Ekkor y := i B 1 T az A T y = 0,b T y 0 rendszer megoldása. A második lehetőség, hogy B 1 b i = 0 valahányszor b i mesterséges bázisvektor. Ekkor x := x j := { B 1 b i, ha b i = a j A B 0, különben. j = 1,...,n 1
2 megfelelő tulajdonságú megoldása a B 1 Ax = B 1 b és így az Ax = b rendszernek is Tétel: Az Ax = b,x 0 és az A T y 0,b T y < 0 rendszerek közül pontosan az egyik megoldható. Ha az Ax = b, x 0 rendszer megoldható, akkor olyan x megoldása is létezik, amelyre az a i : x i 0 vektorok lineárisan függetlenek. Ha az A T y 0,b T y < 0 rendszer megoldható, akkor olyan y megoldása is létezik, amelyre rang a i : a T i y = 0,b = rang A,b, vagyis rang a i : a T i y = 0 = rang A,b 1. Bizonyítás: Mindkét rendszer nem lehet megoldható, ekkor ugyanis 0 x T A T y = Ax T y = b T y < 0 lenne. Most megmutatjuk, hogy az egyik rendszer megoldható. Végezzük el az előző tétel bizonyításában leírt vizsgálatot. Ha Ax = b nem megoldható, akkor olyan y vektort kapunk, amelyre A T y = 0,b T y 0, ez plusz, vagy mínusz előjellel megfelelő megoldása az A T y 0,b T y < 0 rendszernek. Ha az Ax = b rendszer megoldható, akkor az utolsó bázisra jelölje ezt B egyelőre teljesül, hogy ib 1 A = 0, B 1 b i = 0 valahányszor b i mesterséges bázisvektor. Jelölje A és b azt a mátrixot, illetve vektort, amelyet B 1 A-ból, illetve B 1 b-ből kapunk a mesterséges bázisvektoroknak megfelelő soraik elhagyásával. Ekkor teljesülnek az alábbi ekvivalenciák: valamint Ax = b,x 0 B 1 Ax = B 1 b,x 0 A x = b,x 0, A T y 0,b T y < 0 B 1 A T ỹ 0,B 1 b T ỹ < 0 A T ỹ 0,b T ỹ < 0, ahogy azt a x :=: x, illetve a y :=: B 1T ỹ és ỹ :=: ỹ,0 változótranszformációk mutatják. Az is könnyen belátható, hogy ha pl. az A x = b,x 0 rendszernek a tételben leírt speciális tulajdonságú megoldását kaptuk vagyis az a i : x i > 0 vektorok lineárisan függetlenek, akkor az Ax = b,x 0 rendszer ebből nyert megoldása is speciális tulajdonságú lesz, vagyis az a i : x i > 0 vektorok lineárisan függetlenek lesznek. Feltehető tehát, hogy A tartalmazza az e i R m egységvektorokat. Ha nem így lenne, áttérünk az A x = b,x 0 rendszerre. Ekkor T 0 := A,b a B 0 := e 1,...,e m bázishoz és az A,b generátumhoz tartozó bázistábla. Általában az aktuális bázist jelölje B, ekkor az aktuális tábla T = B 1 A,B 1 b alakú, amelyből B 1 A,B 1 b mellett kiolvasható B 1 is. Ha B 1 b 0, akkor x := x j := { B 1 b i, ha b i = a j A B 0, különben. j = 1,...,n megfelelő tulajdonságú megoldása a B 1 Ax = B 1 b,x 0 és így az Ax = b,x 0 rendszernek is. a i : x i > 0 B miatt az a i : x i > 0 vektorok lineárisan függetlenek. Ha létezik i úgy, hogy B 1 b i < 0, akkor válasszuk azt, amelyre ji minimális, ahol ji azt az indexet jelöli, amelyre b i = a ji. Ha i B 1 A 0, akkor y := i B 1 T megfelelő tulajdonságú megoldása az A T y 0,b T y < 0 rendszernek. y merőleges rang A,b 1 = m 1 lineárisan független a i vektorra, ugyanis y definíciójából adódóan B T y = e i. Ha létezik j úgy, hogy B 1 A ij < 0, akkor válasszuk ezek közül a legkisebbet és pivotáljunk a tábla i, j pozícióján. Az algoritmus a kedvező esetek egyikénél állhat le, így azt kell megmutatnunk, hogy nem futhat a végtelenségig. Mivel véges sok bázis van legfeljebb n alatt az m, a bázis meghatározza a táblát, a tábla pedig, hogy mi legyen a következő bázis, a végtelen futás csak úgy fordulhatna elő, hogy az algoritmus ciklizál, vagyis valamely bázis után egy már szerepelt bázis következik és attól fogva az algoritmus körbejár. 2
3 Megmutatjuk, hogy ezt a lehetőséget kizárja a minimális index választási, ún. Bland szabály. Tegyük fel indirekt, hogy az algoritmus ciklizál. Mozgó indexnek nevezzük j-t, ha a j bázisbeli és nem bázisbeli is a ciklus során. A legnagyobb mozgó indexet jelölje r. Legyenek a ciklusbeli bázisok B 1,...,B t = B 1, továbbá B p,b q olyan bázisok, amelyekre a r éppen kilép a B p bázisból, illetve a r éppen belép a B q bázisba. Legyen x p az Ax = b rendszer a T p tábla utolsó oszlopából kiolvasható megoldása, továbbá y q := i Bq 1 T, ahol i az az index, amelyre a r a b i = a ji helyébe lép. Ekkor x p j = 0, ha a j B p, x p r < 0 és az r-nél kisebb j indexekre x p j 0. Teljesül továbbá, hogy yq T b = e T i B 1 q b < 0, yq T a r < 0 és az r-nél kisebb j indexekre yq T a j 0. Megvizsgáljuk az yq T Ax p szorzatot. Ez egyrészt yq T Ax p = yq T b < 0. Másrészt tekinthető, mint yq T Ax p = n j=1 yq T A j x p j. Ez az utóbbi összeg is tovább bontható, mint y T q A j x p j + y T q A j x p j + yq T A j x p j. j:a j B p\b q j:a j B q j:a j B p B q Itt az utolsó tag 0, ugyanis ha a j B p, akkor x p j = 0. A középső tag x p ji, ugyanis yq T B q = e T i. ji mozgó index éppen távozik B q -ból és a r jön a helyébe, így ji < r, tehát x p ji 0. Az első tag maradt. a r B p \ B q és x p r < 0 valamint yq Ta r < 0 is teljesül. A többi a j B p \ B q esetén j mozgó index a nem mozgó indexek végig bázisbeliek, vagy végig nem bázisbeliek a ciklus során, így j < r, tehát x p j 0 valamint yq Ta j 0. Az első tag tehát pozitív, mindent összevéve az yq TAx p összeg pozitív, ami ellentmond annak, hogy yq TAx p negatív volt. Ezzel beláttuk, hogy az algoritmus nem ciklizál, vagyis véges lépésben a kívánt esetek egyikénél áll le. Az esetek többségében az algoritmus akkor is működne, ha a Bland szabályról megfeledkeznénk, tehát nem feltétlenül minimális indexűt választanánk, mikor választunk. Ekkor azonban előfordulhatna ciklizálás. Lássunk erre egy példát, ami egyben az algoritmus geometriájára is rávilágít. Tegyük fel, hogy rang A = m és hogy az a j vektorok és b utolsó m-edik eleme is 1. Az első m 1 elemből álló vektorokat jelölje a j, illetve b. Ekkor az Ax = b,x 0 rendszer megoldhatósága azzal ekvivalens, hogy b benne van az a j vektorok konvex burkában. a j1,...,a jm pontosan akkor bázis, ha az a ji vektorok affin függetlenek, vagyis konvex burkuk szimplex. Az algoritmus nulladik fázisában egy B bázist, azaz egy conv B szimplexet választunk ki és megnézzük, hogy b pos B-e, azaz b a conv B eleme-e. Ha nem, akkor létezik i, amelyre B 1 b i < 0; választunk egy y vektort, amelyre B T y = e i és y T b < 0, vagyis R m 1 -ben egy olyan y vektort, amelyik normálvektora a szimplex m 1 csúcsát tartalmazó, a fennmaradó i-edik csúcsot b -től szigorúan elválasztó hipersíknak. Ekkor megvizsgáljuk, hogy az a j pontok a hipersíknak a b -n túlnani oldalán vannak-e. Ha igen, b nem állhat elő konvex kombinációjukként. Ha nem, egy a hipersíknak a b felőli oldalán levő csúcsot becserélve az előbb fennmaradó csúcsra újabb szimplexet kapunk, amivel folytatjuk az eljárást. Ha nem a Bland szabályt alkalmazzuk ez az eljárás ciklizálhat. Legyenek az a j vektorok rendre a 1 = 6, 1T, a 2 = 4,0T, a 3 = 6,1T, a 4 = 3,3T, a 5 = 3,5T, a 6 = 1,3T, a 7 = 8,1T illetve b := 0,0 T. Az első szimplex most háromszög legyen a 1,a 2,a 3, itt az algoritmus szabályai szerint a 1 kicserélhető a 5 -re, így az a 5,a 2,a 3 szimplexhez jutunk. Hasonlóképpen folytatva az alábbi szimplexekhez juthatunk: a 5,a 2,a 4, a 5,a 6,a 4, a 7,a 6,a 4, a 7,a 6,a 3, a 7,a 1,a 3, a 2,a 1,a 3. Itt az utolsó szimplex megegyezik az elsővel, az algoritmus ciklizál. Ha a Bland szabályt alkalmaztuk volna, akkor a szimplexsorozat az alábbi lett volna: a 1,a 2,a 3, a 4,a 2,a 3, a 4,a 2,a 6, és az utolsó szimplexnél már kiderül, hogy b és conv A elválasztható Tétel: Az A T y c és az Ax = 0,x 0,c T x < 0 rendszerek közül pontosan az egyik megoldható. Ha az A T y c rendszer megoldható, akkor olyan y megoldása is létezik, amelyre rang a i : a T i y = c i = rang A. Ha az Ax = 0,x 0,c T x < 0 rendszer megoldható, akkor olyan x megoldása is létezik, amelyre az a i : x i > 0 vektorok lineárisan függetlenek. 3
4 Bizonyítás: Alkalmazzuk az előző tételt az Ax = 0,c T x = 1,x 0, illetve az A T ỹ + cµ 0, µ < 0 rendszerekre. Legyen y = ỹ/ µ Tétel: Tekintsük a P := min{c T x : Ax = b,x 0}, D := max{b T y : A T y c} primál-duál programpárt. Ekkor az alábbi esetek fordulhatnak elő: a Az optimumértékek megegyeznek és felvétetnek. b A primál program megoldhatatlan, a duál program korlátlan. c A duál program megoldhatatlan, a primál program korlátlan. d A primál és a duál program is megoldhatatlan. Bizonyítás: A konstruktív besoroláshoz használt algoritmus a szimplex módszer, ennek nulladik, illetve első fázisa az 1.1, illetve az 1.2 bizonyításához használt algoritmus. Először megvizsgáljuk, hogy P megoldható-e 1.2. Ha nem, ennek tanújaként kapunk egy y vektort, amelyre A T y 0,b T y > 0. Megnézzük, hogy D megoldható-e 1.3. Ha D megoldható, akkor megkapjuk egy y 0 megoldását. Ekkor a D program korlátlan ezt a y 0 + R + y félegyenes mutatja és P megoldhatatlan ezt y mutatja, vagyis a b esetnél vagyunk. Ha D megoldhatatlan, akkor egy olyan x vektort kapunk, amelyre Ax = 0,c T x = 1,x 0. Ekkor a d esetnél vagyunk, ezt y és x bizonyítja. Ha P megoldható, jelölje egyelőre a nulladik fázis utolsó bázisát B, az első fázis utolsó bázisát B továbbá A,b legyen ugyanaz, mint 1.2 bizonyításában. Ekkor a következő programok ekvivalensek: valamint P = min{c T x : Ax = b,x 0} min{c T x : B 1 Ax = B 1 b,x 0} min{c T x : A x = b,x 0} min{c T x : B 1 A x = B 1 b,x 0} D = max{b T y : A T y c} max{b 1 b T y : B 1 A T y c} max{b T y : A T y c} max{b 1 b T ỹ : B 1 A T ỹ c}. A fenti ekvivalenciák miatt feltehető, hogy minden e i vektor része A-nak és hogy b 0. A szimplex módszer során a szimplex táblával számolunk. Ez egy speciális bázistábla. Ha B = a j1,...,a jm az A bázisa, akkor az ehhez tartozó ˆT szimplex tábla a ˆB B 0 := c T B 1 A b bázishoz és az  := c T generátumhoz tartozó bázistábla, ahol c 0 B := c j1,...,c jm T. B 1 Mivel ˆB 1 0 = c T, azért B B 1 1 ˆT B = 1 A B 1 b c T B B 1 A c T c T. B B 1 b Kezdetben B 0 = e 1,...,e m, az ehhez tartozó szimplex tábla könnyen kiszámítható A,b,c-ből: A b ˆT 0 = c T B 0 A c T c T. B 0 b Jelölje B az aktuális bázist. Legyen x := x j := { B 1 b i, ha b i = a j A B 0, különben. j = 1,...,n, ekkor x P. A kiegészítő eltérések tétele szerint, ha létezik y D, amelyre x j > 0 esetén a T j y = c j, akkor x P opt,y D opt. Speciálisan ha B T y = c B egyértelmű megoldása, a táblából kiolvasható y T = c T BB 1 = c T BB 1 B 0 c T B 0 + c T B 0 duál megengedett megoldás, vagyis c T B B 1 A c T 0, akkor x P opt,y D opt. Ekkor az a esetnél vagyunk, a közös optimumérték kiolvasható a tábla jobb alsó sarkából. 4
5 Ha létezik j, amelyre c T B B 1 A c T j > 0, akkor válasszuk a legkisebb ilyen j-t. Speciálisan a j B, ugyanis c T B B 1 A c T j = 0 valahányszor a j B. N := A \ B, ekkor B T y = c B,N T y c N nem megoldható, vagyis létezik d, amelyre Bd B + Nd N = 0,d N 0,c T B d B + c T N d N < 0. Könnyen ellenőrizhetően ilyen a táblából kiolvasható d N := e j,d B := B 1 Ae j. Ez a d bázismegoldás is, ugyanis könnyen belátható, hogy B aj c T B c j oszlopvektorai lineárisan függetlenek. x-ből d irányba elmozdulva meddig maradunk P-ben? x λ := x + λd λ 0. Ax λ = b teljesül és 0 x λ l = x l + λd l, ha d l 0 speciálisan ha a l N, illetve ha d l < 0, de λ x l /d l. Ha l = ji, akkor x l = B 1 b i, d l = B 1 A ij. Összefoglalva x λ P, ha λ ˆλ, ahol ˆλ := min{ B 1 b i B 1 A ij : B 1 A ij > 0}. Nyilván ˆλ 0. Ha ˆλ =, vagyis B 1 A j 0, akkor x+λd P,c T x+λd λ mutatja, hogy P korlátlan és Ad = 0,d 0,c T d < 0 mutatja, hogy D megoldhatatlan. Ekkor a c esetnél vagyunk. Ha ˆλ R, akkor ˆx := x + ˆλd P. ˆλ lehet 0 is, ekkor ˆx = x. Legyen i az az index, amelyen a ˆλ definíciójában szereplő minimum felvétetik hányadosszabály és ji a lehető legkisebb. ˆB := B a j \ b i könnyen láthatóan bázisa A-nak. Bz = a j,z i = 0-ból 0 = z i = B 1 A ij 0 következnék. Az is megmutatható, hogy ˆx a ˆB-hez tartozó bázismegoldás. ˆx ji = 0 és a l B a j esetén is ˆx l = 0. Pivotáljunk az i,j pozíción és a B := ˆB bázishoz tartozó x := ˆx megoldással kezdjük a második fázist elölről. Hasonló megfontolások szerint, mint amit az 1.2 bizonyításakor végiggondoltunk, csak azt kell megmutatnunk, hogy az algoritmus nem ciklizál. Tegyük fel indirekt, hogy az algoritmus ciklizál és legyen r, B p, B q mint 1.2 bizonyításában. Legyen továbbá B p = a j1,...,a jm és tegyük fel, hogy mikor b i = a r kilép a B p bázisból, akkor a j lép a helyébe. Legyen { B 1 p x p := x p l := b k, ha a l = b k A B l = 1,...,n 0, különben y p := c T B p B 1 p T, s p := c A T y p és definiáljuk az x q,y q,s q vektorokat hasonlóan. Ekkor a pivotelem választási szabályból adódóan s p j < 0, és l < j esetén s p l 0, hasonlóan s q r < 0, és l < r esetén s q l 0. Mivel a ciklus során a célfüggvényérték nem csökkenhet, azért Bp 1 b i = 0 és így jk < r esetén Bp 1 b k > 0. A pivotelem pozitív, vagyis Bp 1 A ij > 0. Tekintsük a s T q x p szorzatot. Egyrészt s T q x p = c T yq T Ax p = c T x p yq T b = c T x p c T x q = 0. Másrészt s T q x p = s q l x p l + s q l x p l + s q r x p r + s q l x p l. a l B p B q a l B q a r a l B p\b q Itt az első két tag 0, mivel ott x p l = 0, illetve s q l = 0. x p r = 0 miatt a harmadik tag is 0. Ezek szerint s T q x p = a r a l B p\b q s q l x p l. a r a l B p \ B q esetén a l mozog a ciklus során, így l < r, vagyis x p l > 0 és s q l 0. Mindebből az következik, hogy s q jk = { sq r, ha jk = r, vagyis k = i, 0, különben k = 1,...,m. 5
6 Ebből c Bp Bp Ty q = s q r e i, megszorozva balról Bp 1T -tal y p y q = s q r Bp 1T e i. Megszorozva ezt balról A T -tal, majd hozzáadva c c-t kapjuk, hogy s q s p = s q r A T Bp 1T e i. Ennek j-edik eleme s q j s p j = s q r Bp 1A ij. j mozgó index, így s q j 0. Továbbá s p j < 0, s q r < 0 és Bp 1A ij > 0. Az egyenlet bal oldalán ezért pozitív, jobb oldalán pedig negatív szám áll, vagyis ellentmondáshoz jutottunk. Nemdegenerált feladat esetén tehát mikor B 1 b 0-ból B 1 b > 0 következik elfeledkezhetünk a Bland szabályról, az aktuális primál megoldásokhoz tartozó célfüggvényérték minden lépésben csökken, így egyetlen bázis sem térhet vissza, az algoritmus véges számú lépésben véget ér. Degenerált feladatnál viszont előfordulhat, hogy B 1 b i = 0, ekkor ˆλ = 0, vagyis ugyanannál a megoldásnál maradunk, csak a bázis változik. Néhány hasonló pivot után esetleg visszatérünk egy korábbi bázishoz és az algoritmus ciklizálhat. Lássunk erre egy példát, amely Beale-től származik. A b c T 0 := / /2 12 1/ /4 20 1/2 6 0 A Bland szabály nélkül megengedettek az alábbi báziscserék csak az indexeket írjuk ki: 1,2,3 4,2,3 4,5,3 6,5,3 6,7,3 1,7,3 1,2,3. Ha a Bland szabályt alkalmazva hajtjuk végre az algoritmust, akkor az alábbi bázissorozathoz jutunk: 1,2,3 4,2,3 4,5,3 6,5,3 6,1,3 6,1,2 6,1,4. Itt az utolsó táblából kiolvasható a feladat egy optimális megoldása. A Bland szabály helyett a lexikografikus szimplex módszer alkalmazásával is elérhetjük, hogy a második fázis véget érjen. A v R n vektor lexikografikusan pozitív, ha első nemnulla eleme pozitív. Jelölje ezt v 0. A v 1 R n vektor lexikografikusan nagyobb, mint a v 2 R n vektor jele v 1 v 2, ha v 1 v 2 0. A P feladatról feltesszük tehát, hogy A tartalmazza az e i egységvektorokat és hogy b 0. Rendezzük át a második fázis induló tábláját a következő módon: b B = I N T := c T B b 0T c T B N. ct N Ennek első m sorvektora lexikografikusan pozitív. A lexikografikus szimplex módszer során a szokásos módon választjuk a pivot oszlopot a Bland szabályt most nem alkalmazzuk. A különbség a pivot sor választásában van. Ha a pivot oszlopban B 1 A j vannak pozitív elemek, válasszuk azt pivot 1 elemnek, amelyre B 1 A kj kt lexikografikusan a legkisebb. Ez a lexikografikus hányadosszabály, ami tehát egyértelműen kijelöli a pivotsort, ugyanis a tábla tartalmaz egységmátrixot, így súlyozott sorai is különbözőek. Speciálisan a pivotsor indexe, i azok közül a k-k közül kerül ki, amelyekre a B 1 b k hányados a lehető legkisebb a B 1 A B 1 A kj kj > 0 feltétel mellett, így a hányadosszabálynak megfelelően is választottunk, az új táblához tartozó megoldás is megengedett lesz. Ezenfelül 1.5. Állítás: A tábla első m sora lexikografikusan pozitív marad, utolsó sora lexikografikusan csökken. Speciálisan a bázisok nem térhetnek vissza, a lexikografikus szimplex módszer véges. Bizonyítás: A pivotálás előtti tábla legyen T, a pivotálás utáni tábla pedig T. Ha B 1 A kj 0, akkor k t = k t B 1 A kj B 1 A ij it = 0 0 > Ha k i, B 1 A kj > 0, akkor k t = B A kj B 1 A kj kt B 1 A ij it = > Ha k = i, akkor k t = B 1 A ij kt = > Továbbá m+1 t = m+1 t ct B B 1 A c T j B 1 A ij it = m+1 t >0 >0 0 m+1t. 6
7 A Bland szabálynak és a lexikografikus szimplex módszernek inkább csak elméleti jelentősége van, a gyakorlatban nem használják, ugyanis a szimplex módszer ritkán ciklizál. A pivotoszlop a gyakorlatban a legpozitívabb elemnek megfelelő oszlop lesz, ami várhatóan a legnagyobb célfüggvényérték csökkenést eredményezi persze nem feltétlenül. Tártakarékossági szempontból előnyös a módosított szimplex módszer, ami azon az észrevételen alapszik, hogy a szimplex B 0 módszer második fázisának végrehajtásához szükséges adatok könnyen számíthatók a c T B 1 I b B 1 B bázishoz és 0 T generátumhoz tartozó 1 b 0 c T B B 1 c T bázistáblából, az ún. módosí- B B 1 b tott szimplex táblából. Így elég ezt kiszámítani minden lépésben, ami hasznos, hiszen általában m << n. Tegyük fel, hogy A tartalmazza az e i egységvektorokat és b 0. Az első bázis legyen B 0 = I, I b kiszámítjuk az ehhez tartozó módosított szimplex táblát, ez c T B 0 c T. Ezzel a táblával indulva B 0 b és általában a B bázishoz tartozó módosított szimplex táblával végezzük el az alábbiakat: Először számoljuk ki a c T B B 1 A c T = c T B B 1 A c T elemeit. Ezek közül például a legpozitívabb legyen j-edik, a pivot oszlopnak megfelelő. Ezután számoljuk ki a B 1 A j = B 1 a j vektort. Ennek és a táblabeli B 1 b-nek a segítségével határozzuk meg a pivot sort legyen ez az i-edik, majd a B 1 A j c T B B 1 A c T j vektort a tábla mellé képzelve hajtsuk végre a pivotálást ennek i-edik elemén. Természetesen a nulladik és az első fázis is módosítható. A szimplex módszerbeli hosszadalmas előkészítést nulladik, első fázis küszöböli ki a kétfázisú szimplex módszer, cserébe azonban csak a primál feladatot vizsgálja, kimenetei: a P nem megoldható, b P korlátlan, c P-nek létezik optimális megoldása. A módszer másik előnye, hogy végig második fázisszerű, így esetében a bizonyítások egyszerűbbek és a csak a második fázis esetében működő lexikografikusítási ötlet is alkalmazható rá. A kétfázisú szimplex módszerhez feltesszük, hogy b 0. Ez könnyen elérhető, ha a negatív jobb oldalú egyenleteket megszorozzuk 1-gyel. Először vegyük A-hoz azokat az e i egységvektorokat, amelyeket nem tartalmaz. Ezek a mesterséges bázisvektorok. Az így kapott mátrixot jelölje Ã, B := I ennek bázisa. I B := Ã \ A. Tekintsük az P B := min{1 T u B : Ax + I B u B = b,x 0,u B 0} feladatot. Oldjuk ezt meg a szimplex módszer második fázisát használva azzal a változtatással, hogy ha a bázisból kilépő vektor mesterséges, akkor töröljük az oszlopát. Ez annak felel meg, hogy az algoritmus közben változtatjuk az alapproblémát ezért szerepel annak indexében az aktuális bázis. Mivel a P B feladatok alulról korlátosak 1 T u B 0, ha u B 0, azért optimális bázismegoldást kapunk végül. Ha az optimumérték pozitív, az eredeti program, P nem lehet megoldható, ugyanis x P esetén ezt nullákkal kiegészítve a P B program egy 0 célfüggvényértékű megoldását kapnánk. Másképpen bizonyítva a duál optimális megoldás olyan y, amelyre A T y 0,b T y > 0. Ha az optimumérték 0, akkor az aktuális u B = 0 összegük 0 és nemnegatívak, vagyis B 1 b mesterséges bázisváltozóknak megfelelő elemei nullák. Áttérünk a P B := min{c T x : Ax+I B u B = b,x 0,u B 0} feladatra, az ehhez tartozó táblát úgy kapjuk az előző táblából, hogy lecseréljük annak utolsó sorát a könnyen számítható c 0 T B B 1 Ã c 0 T, c 0 T B B 1 b vektorra. Ezt a vektort egy extra sorban a módszer indításától fogva is számolhatjuk. A továbbiakban ügyelünk arra, hogy u B = 0 maradjon, akkor ugyanis a táblából kiolvasható x a P program megoldása is. Ezért megtartjuk a távozó mesterséges bázisváltozó oszlopát töröljük szabályt és ha 7
8 a pivotoszlopban van mesterséges bázisvektornak megfelelő nemnulla elem, akkor egy ilyet választunk pivotelemnek. Könnyen ellenőrizhető, hogy így az eljárás során u B = 0 marad. Ezért ha x,u B a P B optimális megoldása, akkor x a P optimális megoldása. Amennyiben P B korlátlannak bizonyul, akkor ennek tanúja is 0 a mesterséges bázisvektoroknak megfelelő helyeken, így P B korlátlanságából a P korlátlanságára következtethetünk a szokott módon. A Bland szabályt, vagy a lexikografikus pivotálási szabályt használva a kétfázisú szimplex módszer is végessé tehető. Ehhez vegyük észre, hogy legfeljebb m-szer változik a megoldandó probléma legfeljebb ennyi mesterséges bázisvektor távozik. A Bland szabályt alkalmazva két változás között sem lehet ciklizálás. A lexikografikus szabályt alkalmazva valahányszor törlünk egy oszlopot rendezzük újra lexikografikusan pozitívvá a táblát pl. hozzuk b mellé előre az egységmátrixot. Így biztosan nem térnek vissza a bázisok. Természetesen elképzelhető módosított kétfázisú szimplex módszer is. Ha a duál optimális megoldást is meg akarjuk kapni, akkor ezt a módszert használhatjuk. Még ezt a két fázist is sikerült összeolvasztani. Az M-módszer megtalálható az alábbi könyvben: Katta G. Murty: Linear and combinatorial programming, John Wiley & Sons, 1976 Tegyük fel most, hogy a szimplex módszer segítségével megkaptuk a P program egy optimális megoldását és csak ekkor jut eszünkbe a programhoz venni egy a T x β feltételt. Megtehetjük, hogy az új feltételt a T x + x n+1 = β,x n+1 0 alakban hozzáírjuk P-hez és elölről kezdjük a számolást, de ez esetleg költségesebb, mint az eddigi számolást továbbvinni. Az utolsó optimális bázist jelölje B, a hozzá tartozó szimplex táblát T. Ekkor a ˆP bővített feladat egy bázisa ˆB B 0 := a T B 1. A ˆP programmal ekvivalens a T P c x := min{ 0 x n+1 : ˆB 1 A 0 a T 1 x x n+1 = ˆB 1 b β, x program. A megfelelő duális programok is ekvivalensek. A P programhoz tartozó induló szimplex tábla, B 1 A 0 B 1 b T = a T a T B B 1 A 1 β a T B B 1 b c T B B 1 A c T 0 c T B B 1 b könnyen számítható T-ből. Vegyük észre, hogy ha az új feltételt nem elégíti ki a P optimális megoldása, vagyis β a T B B 1 b < 0, akkor a T-ből kiolvasható x nem megengedett megoldása P- nak. Ezzel szemben T utolsó sorában nempozitív elemek állnak utolsó elemét leszámítva, ezért a jelenlegi bázishoz tartozó ỹ duál megengedett megoldás. Ebben a helyzetben a szimplex módszer duális párjára volna szükség, amely a duál megengedettséget megőrizve jut el a bővített program optimális megoldásáig. Ezt a motivációt szem előtt tartva a duál szimplex módszer esetében nem foglalkozunk részletesen a másodikat megelőző fázisokkal, éppen csak vázolunk egy lehetséges nulladik és első fázist. A duál szimplex módszer nulladik fázisa a szimplex módszer nulladik fázisával egyezik meg. Legyenek B,A,b, mint az 1.4. bizonyításának első részében. Ha a bázisból kivihetetlen mesterséges b i vektorok esetén B 1 b i = 0, akkor áttérhetünk az A,b,c inputú primál-duál programpárra, ez ekvivalens az eredeti primál-duál programpárral. Ha a B bázis egy mesterséges b i vektorára B 1 b i 0, akkor a primál program megoldhatatlan, a duál pedig megoldhatatlan, vagy ha megoldható, akkor korlátlan. A B 1 A T ỹ c rendszer persze ekvivalens a A T ỹ c rendszerrel, így ez utóbbi megoldhatóságát kell eldöntenünk. Mindent összevéve látjuk, hogy feltehetjük, hogy A tartalmazza az e i egységvektorokat. Rátérhetünk az első fázisra. Ennek kezdő bázisa B 0 := e 1,...,e m. 8 x n+1 0}
9 Jelölje az aktuális bázist B, a tábla, amellyel az első fázis alatt számolunk: B 1 A c T B B 1 A c T. Ha c T B B 1 A c T 0, akkor a jelenlegi y T = c T B B 1 duál megengedett megoldás, vagyis c B megengedett megoldása az eredeti duál programmal ekvivalens max{b 1 b T y : B 1 A T y c} programnak a megfelelő primálok is ekvivalensek, áttérhetünk a második fázisra. Ha létezik j, amelyre c T B B 1 A c T j > 0, akkor válasszuk a legkisebb ilyen j-t. Ha a B 1 A j 0, akkor a szokásos d vektorra Ad = 0,c T d < 0, vagyis ekkor D megoldhatatlan. A primál program megoldhatatlansága eldönthető az A T y 0, b T y 1 rendszer vizsgálatával. Ha B 1 A j -nek vannak pozitív elemei, akkor válasszuk ezek közül azt i-ediket, amelyre ji a legkisebb. Pivotáljunk az aktuális tábla i,j-edik pozícióján. Az, hogy ez az eljárás véges, hasonlóan bizonyítható, mint a következő második fázis esetében. Feltesszük tehát, hogy az e i vektorok A elemei és hogy c B0 duál megengedett megoldás, ahol B 0 := e 1,...,e m. A duál szimplex módszer során is a szimplex táblával számolunk, a pivot elem kiválasztása az, ami másképp történik, mint a szimplex módszer esetén. Általában adott egy az aktuális B bázishoz tartozó T szimplex táblából kiolvasható y = c T B B 1 T duál megengedett megoldás. A kiegészítő eltérések tétele szerint, ha létezik x primál megengedett megoldás, amelyre fennáll, hogy x T c A T y = 0, akkor x és y optimális megoldásai a megfelelő programoknak. Speciálisan, ha a jelenlegi táblához tartozó x := x j := { B 1 b i, ha b i = a j A B 0, különben. j = 1,...,n primál megengedett megoldás, vagyis B 1 b 0, akkor x P opt,y D opt, a közös optimumérték pedig kiolvasható a tábla jobb alsó sarkából. Ha Bx B = b,x B 0 nem megoldható, vagyis B 1 b 0, akkor legyen i az az index, amelyre B 1 b i < 0 és ji a lehető legkisebb. Ekkor d := i B 1 T a B T d 0,b T d < 0 rendszer megoldása. y-ból d irányba elindulva meddig maradunk D-ben? y λ := y λd λ 0. c B T y λ = c B T y + λb T d 0 és a j B esetén is c A T y λ j = c T B B 1 A c T j + λb 1 A ij 0, ha B 1 A ij 0, vagy ha ugyan B 1 A ij < 0, de λ c T B B 1 A c T j /B 1 A ij. Összefoglalva y λd D, ha λ ˆλ, ahol ˆλ := min{ ct B B 1 A c T j B 1 A ij : B 1 A ij < 0}. Nyilván ˆλ 0. Ha ˆλ =, vagyis i B 1 A 0, akkor y λd D,b T y λd λ mutatja, hogy D korlátlan és A T d 0,b T d < 0 mutatja, hogy P megoldhatatlan. Ha ˆλ R, akkor ŷ := y ˆλd D. ˆλ lehet 0 is, ekkor ŷ = y. Legyen j a legkisebb olyan index, amelyen a ˆλ definíciójában szereplő minimum felvétetik. Ugyanúgy, mint a szimplex módszer esetében ˆB := B a j \ b i könnyen láthatóan bázisa A-nak. Az is megmutatható, hogy ŷ a ˆB-hez 9
10 tartozó duál bázismegoldás. Pivotáljunk az i,j pozíción és a B := ˆB bázishoz tartozó y := ŷ megoldással kezdjük a módszert elölről. A duál szimplex módszernél is az esetek többségében elfeledkezhetünk a Bland szabályról, a módszer véges lesz. Pl. ha a feladat duál nemdegenerált vagyis c T B B 1 A c T j < 0 a j B valahányszor c T B B 1 A c T 0, akkor biztosan nem térnek vissza a bázisok, hiszen a célfüggvényérték végig nő. Azt kell még belátnunk, hogy a duál szimplex módszer a fent leírt formában véges, vagyis hogy a Bland szabályt alkalmazva nem ciklizál. Ezt a duál tábla segítségével a szimplex módszer esetén már bizonyított hasonló állításra fogjuk visszavezetni. Legyen T R r n a B R m r bázishoz és az A R m n generátumhoz tartozó bázistábla, ahol B A. Legyen továbbá b i = a ji i = 1,...,r és {ji : i = 1,...,r} {lk : k = 1,...,n r} = {1,...,n}. Válasszunk b 1,...,b n r lineárisan független vektorokat és legyen n r a lk := b k k = 1,...,n r; a ji := k=1 τ i,lk b k i = 1,...,r. A T bázistábla duál táblája a B bázishoz és A generátumhoz tartozó T bázistábla. Más szavakkal az I r N mátrixból oszlopcserékkel létrejövő T tábla duálja a N T I n r mátrixból ugyanolyan oszlopcserékkel létrejövő T tábla. Egyszerű összeszorzással megbizonyosodhatunk afelől, hogy T és T sorai merőlegesek. T és T is tartalmazza a megfelelő dimenziós egységvektorokat, így soraik lineárisan függetlenek, T és T sortere egymás ortogonális kiegészítője. Ezek szerint a T és T egymás alá írásával keletkező mátrix invertálható; ez abból is következik, hogy oszlopcserék után egy pozitív definit és egy ferdén szimmetrikus mátrix összege. Pivotáljunk a T 1 tábla a i,a lk pozícióján, az így keletkező tábla legyen T 2. A megfelelő duál táblákat jelölje T 1, illetve T 2. Könnyen belátható, hogy a T 1 tábla a k,a ji pozícióján pivotálva éppen a T 2 táblához jutunk, vagyis a pivotálás és a duális tábla képzés felcserélhetőek. Mivel pivotálással tetszőleges bázisból tetszőleges másik bázisba eljuthatunk, azért a fentiekből az is következik, hogy egy vektor r-es {a 1,...,a n }-ből pontosan akkor bázis, ha kiegészítője {a 1,...,a n }- ben bázis. Ezzel ekvivalens, hogy a primál táblából kiválasztott r r-es részmátrix pontosan akkor invertálható, ha a duál táblában kiegészítője invertálható. Ezt az utóbbi állítást egyszerű számolással is beláthatjuk. Legyen a T-beli r r-es invertálható részmátrix B, ennek kiegészítője a T táblában B, továbbá N := T \ B, N := T \ B. Tegyük fel, hogy y T B = 0 és válasszunk z vektort úgy, hogy y T N = z T B legyen. B invertálható, így ez megtehető. Tudjuk, hogy T és T sortere egymásra merőleges, speciálisan ez fennáll a z T T és a y T T vektorokra is. 0 = z T T,y T T = z T B,y T N + z T N,y T B = y T N 2 + 0, amiből y T T = 0 és így y = 0 adódik. Ezzel beláttuk, hogy B invertálható. Most rátérhetünk a duál szimplex módszerrel kapcsolatos végességi kérdésekre. A duál szimplex módszer végrehajtása során az aktuális bázist jelölje B, továbbá legyen N := A\B. Ekkor a szimplex tábla oszlopcserék után I B 1 N B 1 b 0 T c T B B 1 N c T N ct B B 1 b alakú. Duál táblája: I B 1 N T c T B B 1 N c T N T 0 T B 1 b T c T B B 1 b Vegyük észre, hogy a primál táblán végrehajtott duál szimplex módszer megegyezik a duál táblán végrehajtott primál szimplex módszerrel. Ha a Bland szabállyal a duál szimplex módszer ciklizálna a primál táblán, akkor a primál szimplex módszer is ciklizálna a duál táblán. Tehát a duál szimplex módszer a Bland szabállyal véges módszer. 10
11 Szintén véges módszer a duál táblán végrehajtott primál lexikografikus szimplex módszer, a duál lexikografikus szimplex módszer. Végességének bizonyítása nélkül megemlítjük még a primál és a duál szimplex módszertől egyaránt különböző criss-cross módszert. Itt feltesszük, hogy A tartalmazza az e i egységvektorokat, ez a szimplex módszer nulladik fázisának alkalmazásával könnyen elérhető. Az induló bázis legyen B 0 := e 1,...,e m, az ehhez tartozó szimplex tábla könnyen kiszámítható a feladat adataiból. Általában az aktuális bázist jelölje B, szokás szerint feltesszük, hogy b i = a ji i = 1,...,m. A pivot elem választási szabály a következő. Legyen k := min{ji : B 1 b i < 0} {j : c T BB 1 A c T j > 0}. Ha ilyen k-t nem tudunk választani, akkor a B-hez tartozó x,y primál, illetve duál optimális megoldások. Ha k = ji, ahol B 1 b i < 0, akkor a k távozik a bázisból. j legyen a legkisebb index, amelyre B 1 A ij < 0, ekkor a k helyébe a j jön be a bázisba. Ha ilyen j-t nem tudunk választani, akkor nincs primál megengedett megoldás. Ha k = j, ahol c T B B 1 A c T j > 0, akkor a k jön be a bázisba. A bázisból b i távozik, ahol i legyen az az index, amelyre B 1 A ij > 0 és ji a lehető legkisebb. Ha ilyen i-t nem tudunk választani, akkor nincs duál megengedett megoldás. A criss-cross módszer végességének bizonyítása megtalálható az alábbi cikkben: Terlaky Tamás: A criss-cross módszer lineáris programozási feladatok megoldására és végességének bizonyítása Alkalmazott Matematikai Lapok Ha a módszer alkalmazása során oda jutottunk, hogy nincs primál duál megengedett megoldás, akkor legyen b = 0 c = 0 és kezdjük elölről a számolást. Így eldönthetjük, hogy a duál primál feladatnak van-e megengedett megoldása. b = 0 c = 0 esetén a módszer a primál duál szimplex módszerrel egyezik meg. A következő feladatokban nem egy, hanem egy sereg programot akarunk megoldani egyszerre. E feladatokban a célfüggvény, illetve a jobb oldal egy valós paramétertől függ. Az ún. parametrikus programozási feladatok illetve ahol θ R. A feladatok duáljai illetve Pθ := min{c + c θ T x : Ax = b,x 0}, Pθ := min{c T x : Ax = b + b θ,x 0}, Dθ := max{b T y : A T y c + c θ}, Dθ := max{b + b θ T y : A T y c}. Látni fogjuk, hogy a vθ optimumérték-függvény egy zárt intervallumon véges és ott az első feladat esetében konkáv, a második feladat esetében konvex, szakaszonként lineáris függvény. Valóban például vθ végességi tartománya 0 T 0 T 1{ x y θ : x Pθ,y Dθ,θ R} R 11
12 poliéder lineáris képeként maga is poliéder, most zárt intervallum. vθ konkavitása az első feladattípus esetében a következőképpen látható be: Legyenek θ 1,θ 2 olyanok, hogy vθ i R i = 1,2, továbbá legyen 0 ε 1 és θ 0 := εθ εθ 2. vθ végességi tartományának konvexitása miatt vθ 0 R, így létezik x optimális megoldása a Pθ 0 feladatnak. Ekkor vθ 0 = c + c θ 0 T x = εc + c θ 1 T x + 1 εc + c θ 2 T x εvθ εvθ 2, vagyis vθ konkáv. Az, hogy szakaszonként lineáris az algoritmus során derül majd ki. Először tekintsük a parametrizált célfüggvény esetét. Az ennek megoldására adott algoritmus négy fázisból áll, a nulladik és az első fázis megegyezik a szimplex módszer hasonló fázisaival. Ezek során eldöntjük, hogy az Ax = b,x 0 rendszer megoldható-e. Ha nem, a Pθ feladatok egyike sem megoldható, v =. Ha az előbbi rendszer megoldható, akkor Pθ minden θ R esetén megoldható és feltehető, hogy kiszámoltuk a B 1 A c T B B 1 A c T c T B B 1 A c T B 1 b c T B B 1 b c T B B 1 b parametrikus szimplex táblát valamely B A bázisra és itt B 1 b 0. A második fázis elején meghatározzuk, hogy Pθ mely θ-kra korlátos. A Pθ feladatok megoldhatósága miatt pontosan akkor lesznek korlátosak, ha θ θ θ, θ R, ahol θ = min{θ : A T y c + c θ}, θ = max{θ : A T y c + c θ}. Ezek persze lineáris programok, így az optimumértékeik a szimplex módszer segítségével meghatározhatók, de duáljaik standard alakra hozatala sokkal olcsóbb. A fenti programok duáljai θ = max{c T x : Ax = 0,c T x = 1,x 0}, θ = min{c T x : Ax = 0,c T x = 1,x 0}. Itt a második program máris standard alakú, az első pedig nyilván a min{c T x : Ax = 0,c T x = 1, x 0} standard alakú programmal ekvivalens. Ezeknek az optimumértékét határozzuk meg tehát és ebből következtetünk a Pθ feladatok korlátossági intervallumára. [θ,θ] R = θ \ θ = R = =,θ ] vagy R R X [θ,θ ] [θ, = X könnyen belátható. Itt X jelöli a lehetetlen eseteket. Igazoljuk például a táblázat bal felső állítását. θ = miatt θ =, így a korlátossági intervallum mindenképpen üres. Vagy tekintsük az első sor második állítását: θ = miatt θ csak, vagy lehet. θ R miatt θ = θ, így θ θ miatt θ =. Mikor θ = és θ = jobb felső eset, akkor a korlátossági intervallum lehet üres és a valós számok halmaza is, hogy melyik, az rögtön eldől. Az algoritmus második fázisának második felében választunk egy θ 0 elemet a korlátossági intervallumból a jobb felső esetben tetszőlegesen és megoldjuk a Pθ 0 feladatot a szimplex módszer második fázisa segítségével. A feladatnak megfelelő szimplex tábla utolsó sorát úgy kapjuk, hogy a parametrikus szimplex tábla utolsó előtti sorához hozzáadjuk az utolsó sor θ 0 -szorosát. Csak a jobb felső esetben juthatunk korlátlanságot bizonyító táblához, ekkor a feladat mindig korlátlan, vagyis v =. Minden más esetben optimális megoldáshoz jutunk, vagyis az aktuális parametrikus táblában c T B B 1 A c T + θ 0 c T B B 1 A c T 0. Áttérünk az algoritmus harmadik fázisára. 12
13 Az aktuális bázis tehát optimális θ 0 -ra, de azokra a θ értékekre is, amelyekre c T B B 1 A c T + θc T B B 1 A c T 0 marad. Jelölje a rövidség kedvéért c j a c T B B 1 A c T j értéket és hasonlóan definiáljuk c j-t is. Ekkor a fentiekből következik, hogy B optimális bázisa a Pθ feladatoknak, míg θ [θ B,θ B ], ahol θ B := max{ c j c j : c j < 0}, θ B := min{ c j c j : c j > 0}. Erre az intervallumra tehát megoldottuk a feladatot. Ezután terjeszkedünk, például a θ B -nél nagyobb θ-k irányába, ha még nem értük el a korlátossági intervallum felső határát. Legyen s az az index, ahol az θ B definíciójában szereplő minimum felvétetik. Ekkor pivotoszlopnak az s-ediket választva hajtsunk végre egy primál szimplex lépést a pivot sor legyen az r-edik. Az új bázist jelölje B. Az alábbi állítások könnyen beláthatók: 1. c T BB 1 A c T + θ B c T B B 1 A c T = c T B B 1 A c T + θ B c T B B 1 A c T, ezért B és B egyaránt optimális bázisai a Pθ B feladatnak. 2. θ < θ B esetén c T B B 1 A c T + θc T B B 1 A c T r > 0, így B nem optimális bázis a fenti θ-kra. Ezekből az állításokból azonnal következik, hogy B optimalitási intervalluma ott kezdődik, ahol a B optimalitási intervalluma befejeződött, vagyis θ B = θ B. Ezzel az új bázissal kezdjük elölről a harmadik fázist. A lefelé terjeszkedés hasonlóan történik. Az algoritmus csak úgy futhat a végtelenségig, ha a harmadik fázisban néhány bázisnak ugyanaz az egy pont az optimalitási intervalluma és az algoritmus nem tud kimozdulni ezek köréből. Ezt megakadályozhatjuk úgy, hogy ha elfajuló optimalitási intervallumú bázishoz jutunk, egy még nem vizsgált θ 0 -val újra kezdjük az eljárás második fázisát. Bár így elbonyolódhat a már vizsgált intervallumok nyilvántartása, a módszer véges lesz. Hasonló algoritmus tervezhető a parametrizált jobb oldalú feladat esetében. Míg az előző feladattípusra az volt jellemző, hogy ha valamely θ-ra megoldhatatlan volt, akkor semelyik θ-ra sem volt megoldása, a parametrizált jobb oldal esetén ha az egyik feladat korlátlannak bizonyul, akkor θ-tól függetlenül mindegyik feladat korlátlan, amelyik megoldható. Valóban ha az egyik feladat korlátlan, akkor létezik x, amelyre Ax = 0,x 0,c T x < 0 és ez mindegyik megoldható feladat esetében bizonyítja a korlátlanságot. Az algoritmus itt is négy fázisból áll. A nulladik fázis lényegében a szimplex módszer nulladik fázisa, csak itt B 1 b mellett egy extra oszlopban B 1 b -ot is számoljuk. Tegyük fel, hogy több mesterséges bázisvektort már nem tudunk kivinni a bázisból. Nyilván a feladat nem megoldható azokra a θ-kra, amelyekre B 1 b + θb 1 b mesterséges bázisvektoroknak megfelelő része nem a nulla vektor. Ekkor már az Ax = b + θb rendszer sem megoldható. A következő állítások könnyen beláthatók: 1. Ha egy mesterséges bázisvektornak megfelelő pozíción B 1 b i 0, akkor Pθ legfeljebb egy θ esetén megoldható. 2. Ha a fenti pozíciókon B 1 b nulla, de B 1 b-nek létezik nemnulla eleme, akkor Pθ egyetlen θ-ra sem megoldható. 3. Ha a fenti pozíciókon mind a B 1 b, mind a B 1 b nulla, akkor az Ax = b + θb rendszer minden θ-ra megoldható. Ezért feltehető, hogy minden i-re e i A. A mesterséges bázisvektoroknak megfelelő sorokat és oszlopokat elhagyhatjuk. 13
14 Az algoritmus első fázisában először meghatározzuk a θ := min{θ : Ax = b + θb,x 0}, θ := max{θ : Ax = b + θb,x 0} értékeket. Ezek könnyen standard alakra hozható programok, helyettesítsük a valós θ-t két nemnegatív változó különbségével. Nyilván Pθ éppen θ θ θ esetén megoldható. Válasszunk egy θ 0 R értéket ebből a megoldhatósági intervallumból és hajtsuk végre a szimplex módszer első fázisát. Ennek segítségével olyan B bázishoz jutunk, amelyre B 1 b + θ 0 B 1 b 0. Kiszámítjuk az ehhez tartozó parametrikus szimplex táblát amelynek most egy extra oszlopa van és áttérünk az eljárás második fázisára. Az eljárás második fázisa a szimplex módszer második fázisának felel meg, a fix θ 0 -ra megoldjuk a Pθ 0 feladatot. Ha ez korlátlannak bizonyul, akkor a fenti megjegyzés szerint Pθ korlátlan a megoldhatósági intervallumán és a feladatot megoldottuk. Tegyük fel tehát, hogy optimális bázisig jutottunk, legyen ez B. Áttérünk az eljárás harmadik fázisára. Ez nagyon hasonló a parametrizált célfüggvényű feladat esetében adott eljárás harmadik fázisához. B optimális bázisa a Pθ feladatoknak, míg θ [θ B,θ B ], ahol θ B := max{ b i b i : b i > 0}, θ B := min{ b i b i : b i < 0}. Az ezen az intervallumon túl terjeszkedés duál szimplex lépéssel történik, a pivot sor az, ahol a minimum, illetve maximum fölvétetik. A végesség kérdése is hasonlóan intézhető el, mint a már tárgyalt esetben, csak itt az első fázisig kell visszamennünk a megoldhatósági intervallumból választott még nem vizsgált θ 0 -lal. A következőkben az alábbi problémát vizsgáljuk: P := min{c T x : Ax = b,x 0,x j κ j j J}, ahol A R m n,b R m,c R n, továbbá J {1,...,n} és κ j > 0 j J. A szokásos feltételek mellett tehát néhány változót felülről korlátozunk. Ilyen alakúra hozhatók például a min{c T x : Ax = b,λ j x j j J 1,x j κ j j J 2 } alakú programok, ahol J 1 J 2 = {1,...,n}. j J 1 esetén legyen az új változó a régi változó mínusz az alsó korlát, j J 2 \ J 1 esetén pedig a felső korlát mínusz a régi változó. A P program természetesen megoldható úgy, hogy J eltérés változó bevezetésével standard alakra hozzuk és a szimplex módszert alkalmazzuk, ám így a feladat mérete jelentősen megnő. A következő felsőkorlátos szimplex módszer lehetővé teszi, hogy m m-es bázisokkal számoljunk. A P program duálja D := max {b T y j J µ jκ j : c j a T j y + µ j 0 j J c j a T j y 0 j Jc y R m,µ j 0 j J, ahol J c := {1,...,n} \ J. A kiegészítő eltérések tétele szerint egy x primál megengedett megoldás és egy y,µ J duál megengedett megoldás pontosan akkor optimális megoldásai a megfelelő programoknak, ha 1. x j c j a T j y + µ j = 0 j J; 2. x j c j a T j y = 0 j Jc ; 3. µ j κ j x j = 0 j J. 14
15 Ebből könnyen látszik, hogy egy x primál megengedett megoldás pontosan akkor optimális megoldása a P programnak, ha létezik y R n vektor, amelyre 1. c j a T j y > 0,j J esetén x j = 0; 2. c j a T j y < 0,j J esetén x j = κ j ; 3. c j a T j y > 0,j Jc esetén x j = 0; 4. Nincs olyan j J c, amelyre c j a T j y < 0 lenne. Az Ax = b,x 0,x j κ j j J rendszer egy bázismegoldása könnyen láthatóan egy olyan megengedett megoldás, amelyre az a j : j J,0 < x j < κ j a j : j J c,0 < x j vektorok lineárisan függetlenek. Azt mondjuk, hogy x a B bázishoz tartozó bázismegoldás, ha a fenti vektorrendszer B része, vagyis x a nembázisvektoroknak megfelelő pozíciókon 0, vagy κ j. Egy bázishoz több bázismegoldás is tartozhat. A P program optimális megoldását a bázismegoldások közt keressük, a megfelelő y vektort pedig y T = c T B B 1 alakban. Itt feltettük, hogy A teljes sorrangú, ezért invertálható B. Ekkor a 3. tulajdonság automatikusan teljesül, a B bázishoz tartozó x bázismegoldás optimalitásának elégséges feltétele: 1. c T B B 1 A c T j < 0,j J esetén x j = 0; 2. c T B B 1 A c T j > 0,j J esetén x j = κ j ; 3. Nincs olyan j J c, amelyre c T B B 1 A c T j > 0 lenne. Az algoritmus minden lépésében kiszámítjuk a B 1 A c T B B 1 A c T táblát ez az utolsó oszlopától megfosztott szimplex tábla és egy az aktuális B bázishoz tartozó x bázismegoldást. Hogy ez az első lépésben hogyan tehető meg, arra később visszatérünk. Ha a jelenlegi x-re nem teljesülnek a fenti optimalitási kritériumok, akkor áttérünk egy másik bázismegoldásra. Az algoritmus során a c T x célfüggvényérték nem nő, így bizonyos nemdegeneráltsági feltételek mellett az eljárás véget ér. Most rátérünk arra, hogyan valósítható meg a fent vázolt eljárás. 1. Ha az első optimalitási kritérium sérül, vagyis találunk olyan s J indexet, amelyre c T B B 1 A c T s < 0 és x s 0, akkor persze a s B és x s = κ s. Legyen N := A \ B és definiáljuk a d vektort a következőképpen: d B := B 1 A s, d N := e s. A jelenlegi x vektorból d irányba indulunk el, legyen xλ := x λd λ 0. Nyilván ebben az irányban csökken a célfüggvény. Meddig marad xλ megengedett megoldása P-nek? Teljesülnie kell először is, hogy xλ 0, vagyis a λ κ s, x ji + λb 1 A is 0 feltételeknek, ahol szokás szerint B =: a j1,...,a jm. Teljesülnie kell továbbá a felső korlát feltételeknek, vagyis annak, hogy x ji + λb 1 A is κ ji. Összefoglalva xλ P, míg 0 λ ˆλ, ahol ˆλ := min{κ s } { x ji B 1 A is : B 1 A is < 0} { κ ji x ji B 1 A is : B 1 A is > 0,ji J}. A következő bázismegoldás ˆx := x ˆλd lesz, a következő bázis pedig ˆλ = κ s esetén B, különben B {b i } \ {a s }, ahol i az az index, ahol a ˆλ definíciójában szereplő minimum felvétetik. 2. Ha a második optimalitási kritérium sérül, vagyis találunk olyan s J indexet, amelyre c T B B 1 A c T s > 0 és x s κ s, akkor persze a s B és x s = 0. Most d irányba indulunk el d mint fent, xλ := x + λd P, míg 15
16 x ji 0 λ ˆλ := min{κ s } { B 1 : B 1 A is > 0} { x ji κ ji A is B 1 : B 1 A is < 0,ji J}. A is Itt is az új megoldás ˆx := x+ˆλd lesz, a következő bázis pedig ˆλ = κ s esetén B, különben B {b i }\{a s }, ahol i az az index, ahol a ˆλ definíciójában szereplő minimum felvétetik. 3. Ha a harmadik optimalitási kritérium sérül, vagyis találunk olyan s J c indexet, amelyre c T B B 1 A c T s > 0, akkor persze a s B és x s = 0. Most ismét d irányba indulunk el, xλ := x + λd P, míg 0 λ ˆλ := min{ } { x ji B 1 A is : B 1 A is > 0} { x ji κ ji B 1 A is : B 1 A is < 0,ji J}. Ha a minimum, akkor a program korlátlan, ezt az {xλ : λ [0, } félegyenes bizonyítja, amely mentén -hez tart a célfüggvény. Minden más esetben az új megoldás ˆx := x+ˆλd lesz, a következő bázis pedig B {b i } \ {a s }, ahol i az az index, ahol a ˆλ definíciójában szereplő minimum felvétetik. A fent leírt algoritmust csak úgy tudjuk elindítani, ha ismert egy B A invertálható bázisa a feladatnak és egy hozzá tartozó x bázismegoldás. A kétfázisú szimplex módszer ötletét használva megtervezhető egy kétfázisú felsőkorlátos szimplex módszer és így megszabadulhatunk ettől a feltételtől. Feltesszük, hogy b 0. A módszer első fázisában mesterséges e i bázisvektorokkal egészítjük ki az A mátrixot, az ezeknek megfelelő új változókra csak nemnegativitási feltételt teszünk, így összegük minimalizálása megoldható a fent leírt algoritmussal, b 0 miatt könnyen található induló bázis és hozzá tartozó bázismegoldás. Ha a bázisból mesterséges bázisvektor távozik, akkor töröljük az oszlopát. Mivel az első fázisbeli feladatok alulról korlátosak, azért optimális megoldást kapunk végül. Ha az ehhez tartozó első fázisbeli célfüggvényérték pozitív, akkor az eredeti feladatnak nem lehet megengedett megoldása. Ha a célfüggvényérték nulla, akkor a mesterséges bázisvektoroknak megfelelő pozíciókon a jelenlegi bázismegoldás nulla. A továbbiakban ügyelünk rá, hogy ez így is maradjon. Áttérünk az eredeti feladat megoldására, vagyis átírjuk a tábla utolsó sorát az eredeti célfüggvénynek megfelelően. A második fázisban ezzel a táblával számolunk a fent leírt algoritmus segítségével. Megtartjuk a távozó mesterséges bázisvektor oszlopát töröljük szabályt és minden pivotálás előtt meggyőződünk arról, hogy a pivotoszlopban a mesterséges bázisvektoroknak megfelelő pozíciókon nullák állnak-e. Ha nem, akkor inkább egy ilyen pozíción pivotálunk, megszabadulva egy újabb mesterséges bázisvektortól. Egy ilyen pivotnál a bázis változik, az x megoldás változatlan marad. Ily módon az x megoldásban a mesterséges bázisvektoroknak megfelelő helyeken nullák maradnak. Korlátlan esetben az eredeti feladat korlátlanságára következtethetünk, egy optimális megoldás megfelelő része pedig az eredeti feladat optimális megoldását szolgáltatja. 16
A szimplex algoritmus
A szimplex algoritmus Ismétlés: reprezentációs tétel, az optimális megoldás és az extrém pontok kapcsolata Alapfogalmak: bázisok, bázismegoldások, megengedett bázismegoldások, degenerált bázismegoldás
15. LINEÁRIS EGYENLETRENDSZEREK
15 LINEÁRIS EGYENLETRENDSZEREK 151 Lineáris egyenletrendszer, Gauss elimináció 1 Definíció Lineáris egyenletrendszernek nevezzük az (1) a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a
A szimplex tábla. p. 1
A szimplex tábla Végződtetés: optimalitás és nem korlátos megoldások A szimplex algoritmus lépései A degeneráció fogalma Komplexitás (elméleti és gyakorlati) A szimplex tábla Példák megoldása a szimplex
1/ gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI
/ Operációkutatás. gyakorlat Lineáris Programozási feladatok megoldása szimplex módszerrel Pécsi Tudományegyetem PTI /. Legyen adott az alábbi LP-feladat: x + 4x + x 9 x + x x + x + x 6 x, x, x x + x +
Dualitás Dualitási tételek Általános LP feladat Komplementáris lazaság 2017/ Szegedi Tudományegyetem Informatikai Intézet
Operációkutatás I. 2017/2018-2. Szegedi Tudományegyetem Informatikai Intézet Számítógépes Optimalizálás Tanszék 7. Előadás Árazási interpretáció Tekintsük újra az erőforrás allokációs problémát (vonat
11. Előadás. 11. előadás Bevezetés a lineáris programozásba
11. Előadás Gondolkodnivalók Sajátérték, Kvadratikus alak 1. Gondolkodnivaló Adjuk meg, hogy az alábbi A mátrixnak mely α értékekre lesz sajátértéke a 5. Ezen α-ák esetén határozzuk meg a 5 sajátértékhez
1/12. 3. gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI
/ Operációkutatás. gyakorlat Lineáris Programozási feladatok megoldása szimplex módszerrel Pécsi Tudományegyetem PTI Normál feladatok megoldása szimplex módszerrel / / Normál feladatok megoldása szimplex
A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2018/
Operációkutatás I. 2018/2019-2. Szegedi Tudományegyetem Informatika Intézet Számítógépes Optimalizálás Tanszék 2. Előadás LP alapfeladat A lineáris programozás (LP) alapfeladata standard formában Max c
A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2017/
Operációkutatás I. 2017/2018-2. Szegedi Tudományegyetem Informatika Intézet Számítógépes Optimalizálás Tanszék 2. Előadás LP alapfeladat A lineáris programozás (LP) alapfeladata standard formában Max c
9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, mátrixegyenlet
9. Előadás Megyesi László: Lineáris algebra, 75. 84. oldal. Gondolkodnivalók Mátrix rangja 1. Gondolkodnivaló Határozzuk meg a p valós paraméter értékétől függően a következő mátrix rangját: p 3 1 2 2
A lineáris programozás alapjai
A lineáris programozás alapjai A konvex analízis alapjai: konvexitás, konvex kombináció, hipersíkok, félterek, extrém pontok, Poliéderek, a Minkowski-Weyl tétel (a poliéderek reprezentációs tétele) Lineáris
Operációkutatás. Vaik Zsuzsanna. ajánlott jegyzet: Szilágyi Péter: Operációkutatás
Operációkutatás Vaik Zsuzsanna Vaik.Zsuzsanna@ymmfk.szie.hu ajánlott jegyzet: Szilágyi Péter: Operációkutatás Operációkutatás Követelmények: Aláírás feltétele: foglalkozásokon való részvétel + a félév
Opkut deníciók és tételek
Opkut deníciók és tételek Készítette: Bán József Deníciók 1. Deníció (Lineáris programozási feladat). Keressük meg adott lineáris, R n értelmezési tartományú függvény, az ún. célfüggvény széls értékét
9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, Leontyev-modell
9. Előadás Megyesi László: Lineáris algebra, 75. 84. oldal. Gondolkodnivalók Mátrix rangja 1. Gondolkodnivaló Tegyük fel, hogy egy elemi bázistranszformáció kezdetekor a sor- és oszlopindexek sorban helyezkednek
5 = hiszen és az utóbbi mátrix determinánsa a középs½o oszlop szerint kifejtve: 3 7 ( 2) = (példa vége). 7 5 = 8. det 6.
A pivotálás hasznáról és hatékony módjáról Adott M mátrixra pivotálás alatt a következ½ot értjük: Kijelölünk a mátrixban egy nemnulla elemet, melynek neve pivotelem, aztán az egész sort leosztjuk a pivotelemmel.
A szimplex algoritmus
. gyakorlat A szimplex algoritmus Az előző órán bevezetett feladat optimális megoldását fogjuk megvizsgálni. Ehhez új fogalmakat, és egy algoritmust tanulunk meg. Hogy az algoritmust alkalmazni tudjuk,
LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL
LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL x 1-2x 2 6 -x 1-3x 3 = -7 x 1 - x 2-3x 3-2 3x 1-2x 2-2x 3 4 4x 1-2x 2 + x 3 max Alapfogalmak: feltételrendszer (narancs színnel jelölve), célfüggvény
Kétfázisú szimplex algoritmus és speciális esetei
5. gyakorlat Kétfázisú szimplex algoritmus és speciális esetei. Emlékeztető Standard alak, áttérés Standard alak Minden feltétel et tartalmaz csak. A célfüggvényünket maximalizáljuk. A b vektor (jobb oldalon
7. Előadás. Megyesi László: Lineáris algebra, oldal. 7. előadás Elemi bázistranszformáció
7. Előadás Megyesi László: Lineáris algebra, 57. 61. oldal. Gondolkodnivalók Bázis, dimenzió 1. Gondolkodnivaló Legyenek a v vektor koordinátái a v 1,..., v n bázisban: (1, α 2,..., α n ). Igazoljuk, hogy
Vektorok, mátrixok, lineáris egyenletrendszerek
a Matematika mérnököknek I. című tárgyhoz Vektorok, mátrixok, lineáris egyenletrendszerek Vektorok A rendezett valós számpárokat kétdimenziós valós vektoroknak nevezzük. Jelölésükre latin kisbetűket használunk.
Determinánsok. A determináns fogalma olyan algebrai segédeszköz, amellyel. szolgáltat az előbbi kérdésekre, bár ez nem mindig hatékony.
Determinánsok A determináns fogalma olyan algebrai segédeszköz, amellyel jól jellemezhető a mátrixok invertálhatósága, a mátrix rangja. Segítségével lineáris egyenletrendszerek megoldhatósága dönthető
8. Előadás. Megyesi László: Lineáris algebra, , oldal. 8. előadás Mátrix rangja, Homogén lineáris egyenletrendszer
8. Előadás Megyesi László: Lineáris algebra, 51. 56., 70. 74. oldal. Gondolkodnivalók Elemi bázistranszformáció 1. Gondolkodnivaló Most ne vegyük figyelembe, hogy az elemi bázistranszformáció során ez
Kvadratikus alakok és euklideszi terek (előadásvázlat, október 5.) Maróti Miklós, Kátai-Urbán Kamilla
Kvadratikus alakok és euklideszi terek (előadásvázlat, 0. október 5.) Maróti Miklós, Kátai-Urbán Kamilla Az előadáshoz ajánlott jegyzet: Szabó László: Bevezetés a lineáris algebrába, Polygon Kiadó, Szeged,
Totális Unimodularitás és LP dualitás. Tapolcai János
Totális Unimodularitás és LP dualitás Tapolcai János tapolcai@tmit.bme.hu 1 Optimalizálási feladat kezelése NP-nehéz Hatékony megoldás vélhetően nem létezik Jó esetben hatékony algoritmussal közelíteni
Operációkutatás. Vaik Zsuzsanna. Budapest október 10. First Prev Next Last Go Back Full Screen Close Quit
Operációkutatás Vaik Zsuzsanna Vaik.Zsuzsanna@ymmfk.szie.hu Budapest 200. október 10. Mit tanulunk ma? Szállítási feladat Megoldása Adott: Egy árucikk, T 1, T 2, T,..., T m termelőhely, melyekben rendre
Lineáris leképezések. Wettl Ferenc március 9. Wettl Ferenc Lineáris leképezések március 9. 1 / 31
Lineáris leképezések Wettl Ferenc 2015. március 9. Wettl Ferenc Lineáris leképezések 2015. március 9. 1 / 31 Tartalom 1 Mátrixleképezés, lineáris leképezés 2 Alkalmazás: dierenciálhatóság 3 2- és 3-dimenziós
Az ellipszoid algoritmus
Az ellipszoid algoritmus Csizmadia Zsolt Eötvös Loránd Tudományegyetem Bevezető Az ellipszoid módszert a nemlineáris porgramozásra Shor [1970,0977] illetve Yudin és Nemirovskiî [1976] feljlesztették ki.
6. Előadás. Megyesi László: Lineáris algebra, oldal. 6. előadás Bázis, dimenzió
6. Előadás Megyesi László: Lineáris algebra, 37. 41. oldal. Gondolkodnivalók Lineáris függetlenség 1. Gondolkodnivaló Legyen V valós számtest feletti vektortér. Igazolja, hogy ha a v 1, v 2,..., v n V
Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 30.
1 Diszkrét matematika I, 12 előadás Dr Takách Géza NyME FMK Informatikai Intézet takach@infnymehu http://infnymehu/ takach 2005 november 30 Vektorok Definíció Egy tetszőleges n pozitív egész számra n-komponensű
Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei
A Gauss-Jordan elimináció, mátrixinvertálás Gauss-Jordan módszer Ugyanazzal a technikával, mint ahogy a k-adik oszlopban az a kk alatti elemeket kinulláztuk, a fölötte lévő elemeket is zérussá lehet tenni.
út hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám.
1 Az utazó ügynök problémája Utazó ügynök feladat Adott n számú város és a városokat összekötő utak, amelyeknek ismert a hossza. Adott továbbá egy ügynök, akinek adott városból kiindulva, minden várost
Analízis I. Vizsgatételsor
Analízis I. Vizsgatételsor Programtervező Informatikus szak 2008-2009. 2. félév Készítette: Szabó Zoltán SZZNACI.ELTE zotyo@bolyaimk.hu v.0.6 RC 004 Forrás: Oláh Gábor: ANALÍZIS I.-II. VIZSGATÉTELSOR 2006-2007-/2
Mátrixjátékok tiszta nyeregponttal
1 Mátrixjátékok tiszta nyeregponttal 1. Példa. Két játékos Aladár és Bendegúz rendelkeznek egy-egy tetraéderrel, melyek lapjaira rendre az 1, 2, 3, 4 számokat írták. Egy megadott jelre egyszerre felmutatják
Konjugált gradiens módszer
Közelítő és szimbolikus számítások 12. gyakorlat Konjugált gradiens módszer Készítette: Gelle Kitti Csendes Tibor Vinkó Tamás Faragó István Horváth Róbert jegyzetei alapján 1 LINEÁRIS EGYENLETRENDSZEREK
Diszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2017. tavasz 1. Diszkrét matematika 2.C szakirány 11. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
XI A MÁTRIX INVERZE 1 Az inverzmátrix definíciója Determinánsok szorzástétele Az egységmátrix definíciója: 1 0 0 0 0 1 0 0 E n = 0 0 1 0 0 0 0 1 n-edrenű (azaz n n típusú) mátrix E n -nel bármely mátrixot
Lineáris egyenletrendszerek
Lineáris egyenletrendszerek Lineáris egyenletrendszernek nevezzük az a 11 x 1 + a 12 x 2 +... +a 1n x n = b 1 a 21 x 1 + a 22 x 2 +... +a 2n x n = b 2.. a k1 x 1 + a k2 x 2 +... +a kn x n = b k n ismeretlenes,
Gauss-eliminációval, Cholesky felbontás, QR felbontás
Közelítő és szimbolikus számítások 4. gyakorlat Mátrix invertálás Gauss-eliminációval, Cholesky felbontás, QR felbontás Készítette: Gelle Kitti Csendes Tibor Somogyi Viktor London András Deák Gábor jegyzetei
KOVÁCS BÉLA, MATEMATIKA I.
KOVÁCS BÉLA, MATEmATIkA I. 4 IV. FÜGGVÉNYEk 1. LEkÉPEZÉSEk, függvények Definíció Legyen és két halmaz. Egy függvény -ből -ba egy olyan szabály, amely minden elemhez pontosan egy elemet rendel hozzá. Az
Konvexitás, elaszticitás
DIFFERENCIÁLSZÁMÍTÁS ALKALMAZÁSAI Konveitás, elaszticitás Tanulási cél A másodrendű deriváltat vizsgálva milyen következtetéseket vonhatunk le a üggvény konveitására vonatkozóan. Elaszticitás ogalmának
Lineáris leképezések (előadásvázlat, szeptember 28.) Maróti Miklós, Kátai-Urbán Kamilla
Lineáris leképezések (előadásvázlat, 2012. szeptember 28.) Maróti Miklós, Kátai-Urbán Kamilla Ennek az előadásnak a megértéséhez a következő fogalmakat kell tudni: homogén lineáris egyenletrendszer és
Alkalmazott optimalizálás és játékelmélet Lineáris programozás Gyakorlófeladatok. Rétvári Gábor
Alkalmazott optimalizálás és játékelmélet Lineáris programozás Gyakorlófeladatok Rétvári Gábor retvari@tmit.bme.hu Feladatok Szöveges feladatok. Egy acélgyárban négyfajta zártszelvényt gyártanak: kis,
Haladó lineáris algebra
B U D A P E S T I M Ű S Z A K I M A T E M A T I K A É S G A Z D A S Á G T U D O M Á N Y I I N T É Z E T E G Y E T E M Haladó lineáris algebra BMETE90MX54 Lineáris leképezések 2017-02-21 IB026 Wettl Ferenc
LINEÁRIS ALGEBRA. matematika alapszak. Euklideszi terek. SZTE Bolyai Intézet, őszi félév. Euklideszi terek LINEÁRIS ALGEBRA 1 / 40
LINEÁRIS ALGEBRA matematika alapszak SZTE Bolyai Intézet, 2016-17. őszi félév Euklideszi terek Euklideszi terek LINEÁRIS ALGEBRA 1 / 40 Euklideszi tér Emlékeztető: A standard belső szorzás és standard
Műveletek mátrixokkal. Kalkulus. 2018/2019 ősz
2018/2019 ősz Elérhetőségek Előadó: (safaro@math.bme.hu) Fogadóóra: hétfő 9-10 (H épület 3. emelet 310-es ajtó) A pontos tárgykövetelmények a www.math.bme.hu/~safaro/kalkulus oldalon találhatóak. A mátrix
Operációkutatás I. Bajalinov, Erik, Nyíregyházi Főiskola, Matematika és Informatika Intézete Bekéné Rácz, Anett, Debreceni Egyetem, Informatikai Kar
Operációkutatás I. Bajalinov, Erik, Nyíregyházi Főiskola, Matematika és Informatika Intézete Bekéné Rácz, Anett, Debreceni Egyetem, Informatikai Kar Operációkutatás I. írta Bajalinov, Erik és Bekéné Rácz,
összeadjuk 0-t kapunk. Képletben:
814 A ferde kifejtés tétele Ha egy determináns valamely sorának elemeit egy másik sor elemeihez tartozó adjungáltakkal szorozzuk meg és a szorzatokat összeadjuk 0-t kapunk Képletben: n a ij A kj = 0, ha
Lineáris algebra gyakorlat
Lineáris algebra gyakorlat 7. gyakorlat Gyakorlatvezet : Bogya Norbert 2012. március 26. Ismétlés Tartalom 1 Ismétlés 2 Koordinátasor 3 Bázistranszformáció és alkalmazásai Vektorrendszer rangja Mátrix
Hadamard-mátrixok Előadó: Hajnal Péter február 23.
Szimmetrikus kombinatorikus struktúrák MSc hallgatók számára Hadamard-mátrixok Előadó: Hajnal Péter 2012. február 23. 1. Hadamard-mátrixok Ezen az előadáson látásra a blokkrendszerektől független kombinatorikus
1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)
Matematika A2c gyakorlat Vegyészmérnöki, Biomérnöki, Környezetmérnöki szakok, 2017/18 ősz 1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás) 1. Valós vektorterek-e a következő
Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit.
2. A VALÓS SZÁMOK 2.1 A valós számok aximómarendszere Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit. 1.Testaxiómák R-ben két művelet van értelmezve, az
Áttekintés LP és geometria Többcélú LP LP és egy dinamikus modell 2017/ Szegedi Tudományegyetem Informatikai Intézet
Operációkutatás I. 2017/2018-2. Szegedi Tudományegyetem Informatikai Intézet Számítógépes Optimalizálás Tanszék 6. Előadás Áttekintés Kezdjük újra a klasszikus erőforrás allokációs problémával (katonák,
minden x D esetén, akkor x 0 -at a függvény maximumhelyének mondjuk, f(x 0 )-at pedig az (abszolút) maximumértékének.
Függvények határértéke és folytonossága Egy f: D R R függvényt korlátosnak nevezünk, ha a függvényértékek halmaza korlátos. Ha f(x) f(x 0 ) teljesül minden x D esetén, akkor x 0 -at a függvény maximumhelyének
Számelmélet (2017. február 8.) Bogya Norbert, Kátai-Urbán Kamilla
Számelmélet (2017 február 8) Bogya Norbert, Kátai-Urbán Kamilla 1 Oszthatóság 1 Definíció Legyen a, b Z Az a osztója b-nek, ha létezik olyan c Z egész szám, melyre ac = b Jelölése: a b 2 Példa 3 12, 2
7. gyakorlat. Lineáris algebrai egyenletrendszerek megoldhatósága
7. gyakorlat Lineáris algebrai egyenletrendszerek megoldhatósága Egy lineáris algebrai egyenletrendszerrel kapcsolatban a következ kérdések merülnek fel: 1. Létezik-e megoldása? 2. Ha igen, hány megoldása
Minden egész szám osztója önmagának, azaz a a minden egész a-ra.
1. Számelmélet Definíció: Az a egész szám osztója a egész számnak, ha létezik olyan c egész szám, melyre = ac. Ezt a következőképpen jelöljük: a Tulajdonságok: Minden egész szám osztója önmagának, azaz
Minden x > 0 és y 0 valós számpárhoz létezik olyan n természetes szám, hogy y nx.
1. Archimedesz tétele. Minden x > 0 és y 0 valós számpárhoz létezik olyan n természetes szám, hogy y nx. Legyen y > 0, nx > y akkor és csak akkor ha n > b/a. Ekkor elég megmutatni, hogy létezik minden
Vektorterek. =a gyakorlatokon megoldásra ajánlott
Vektorterek =a gyakorlatokon megoldásra ajánlott 40. Alteret alkotnak-e a valós R 5 vektortérben a megadott részhalmazok? Ha igen, akkor hány dimenziósak? (a) L = { (x 1, x 2, x 3, x 4, x 5 ) x 1 = x 5,
Numerikus módszerek 1.
Numerikus módszerek 1. 3. előadás: Mátrixok LU-felbontása Lócsi Levente ELTE IK 2013. szeptember 23. Tartalomjegyzék 1 Alsó háromszögmátrixok és Gauss-elimináció 2 Háromszögmátrixokról 3 LU-felbontás Gauss-eliminációval
Egyenletek, egyenlőtlenségek VII.
Egyenletek, egyenlőtlenségek VII. Magasabbfokú egyenletek: A 3, vagy annál nagyobb fokú egyenleteket magasabb fokú egyenleteknek nevezzük. Megjegyzés: Egy n - ed fokú egyenletnek legfeljebb n darab valós
10. Előadás. 1. Feltétel nélküli optimalizálás: Az eljárás alapjai
Optimalizálási eljárások MSc hallgatók számára 10. Előadás Előadó: Hajnal Péter Jegyzetelő: T. Szabó Tamás 2011. április 20. 1. Feltétel nélküli optimalizálás: Az eljárás alapjai A feltétel nélküli optimalizálásnál
Bázistranszformáció és alkalmazásai 2.
Bázistranszformáció és alkalmazásai 2. Lineáris algebra gyakorlat Összeállította: Bogya Norbert Tartalomjegyzék 1 Mátrix rangja 2 Mátrix inverze 3 Mátrixegyenlet Mátrix rangja Tartalom 1 Mátrix rangja
A 2015/2016. tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló MATEMATIKA III. KATEGÓRIA (a speciális tanterv szerint haladó gimnazisták)
A 205/206. tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló MATEMATIKA III. KATEGÓRIA a speciális tanterv szerint haladó gimnazisták Javítási-értékelési útmutató. feladat Az {,2,...,n} halmaz
Operációkutatás. 4. konzultáció: Szállítási feladat. A feladat LP modellje
Operációkutatás 1 NYME KTK, gazdálkodás szak, levelező alapképzés 2002/2003. tanév, II. évf. 2.félév Előadó: Dr. Takách Géza NyME FMK Információ Technológia Tanszék 9400 Sopron, Bajcsy Zs. u. 9. GT fszt.
Nemkonvex kvadratikus egyenlőtlenségrendszerek pontos dualitással
pontos dualitással Imre McMaster University Advanced Optimization Lab ELTE TTK Operációkutatási Tanszék Folytonos optimalizálás szeminárium 2004. július 6. 1 2 3 Kvadratikus egyenlőtlenségrendszerek Primál
Matematika (mesterképzés)
Matematika (mesterképzés) Környezet- és Településmérnököknek Debreceni Egyetem Műszaki Kar, Műszaki Alaptárgyi Tanszék Vinczéné Varga A. Környezet- és Településmérnököknek 2016/2017/I 1 / 29 Lineáris tér,
Norma Determináns, inverz Kondíciószám Direkt és inverz hibák Lin. egyenletrendszerek A Gauss-módszer. Lineáris algebra numerikus módszerei
Indukált mátrixnorma Definíció A. M : R n n R mátrixnormát a. V : R n R vektornorma által indukált mátrixnormának nevezzük, ha A M = max { Ax V : x V = 1}. Az indukált mátrixnorma geometriai jelentése:
Diszkrét Matematika MSc hallgatók számára. 4. Előadás
Diszkrét Matematika MSc hallgatók számára 4. Előadás Előadó: Hajnal Péter Jegyzetelő: Szarvák Gábor 2012. február 28. Emlékeztető. A primál feladat optimális értékét p -gal, a feladat optimális értékét
Gauss-Seidel iteráció
Közelítő és szimbolikus számítások 5. gyakorlat Iterációs módszerek: Jacobi és Gauss-Seidel iteráció Készítette: Gelle Kitti Csendes Tibor Somogyi Viktor London András Deák Gábor jegyzetei alapján 1 ITERÁCIÓS
1. zárthelyi,
1. zárthelyi, 2009.10.20. 1. Írjuk fel a tér P = (0,2,4) és Q = (6, 2,2) pontjait összekötő szakasz felezőmerőleges síkjának egyenletét. 2. Tekintsük az x + 2y + 3z = 14, a 2x + 6y + 10z = 24 és a 4x+2y
Első zárthelyi dolgozat megoldásai biomatematikából * A verzió
Első zárthelyi dolgozat megoldásai biomatematikából * A verzió Elméleti kérdések: E. Mikor nevezünk egy gráfot gyengén és mikor erősen összefüggőnek? Adjon példát gyengén összefüggő de erősen nem összefüggő
3. Lineáris differenciálegyenletek
3. Lineáris differenciálegyenletek A közönséges differenciálegyenletek két nagy csoportba oszthatók lineáris és nemlineáris egyenletek csoportjába. Ez a felbontás kicsit önkényesnek tűnhet, a megoldásra
10. Előadás. Megyesi László: Lineáris algebra, oldal. 10. előadás Sajátérték, Kvadaratikus alak
10. Előadás Megyesi László: Lineáris algebra, 98. 108. oldal. Gondolkodnivalók Mátrix inverze 1. Gondolkodnivaló Igazoljuk, hogy invertálható trianguláris mátrixok inverze is trianguláris. Bizonyítás:
11. Előadás. 1. Lineáris egyenlőség feltételek melletti minimalizálás
Optimalizálási eljárások MSc hallgatók számára 11. Előadás Előadó: Hajnal Péter Jegyzetelő: Hajnal Péter 2011. április 27. 1. Lineáris egyenlőség feltételek melletti minimalizálás Múlt héten nem szerepeltek
7. gyakorlat. Lineáris algebrai egyenletrendszerek megoldhatósága
7. gyakorlat Lineáris algebrai egyenletrendszerek megoldhatósága Egy lineáris algebrai egyenletrendszerrel kapcsolatban a következ kérdések merülnek fel: 1. Létezik-e megoldása? 2. Ha igen, hány megoldása
Lineáris egyenletrendszerek
Lineáris egyenletrendszerek 1 Alapfogalmak 1 Deníció Egy m egyenletb l álló, n-ismeretlenes lineáris egyenletrendszer általános alakja: a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a
Jegyzet. az Operációkutatás (elemz, programozó matematikus) tárgyhoz április. Fábián Csaba, Király Tamás, Papp Olga
Jegyzet az Operációkutatás (elemz, programozó matematikus) tárgyhoz Fábián Csaba, Király Tamás, Papp Olga 2015. április 1 Tartalomjegyzék 1. A lineáris programozási feladat 3 1.1. Bevezetés.......................................
Nagy Gábor compalg.inf.elte.hu/ nagy ősz
Diszkrét matematika 1. középszint 2017. ősz 1. Diszkrét matematika 1. középszint 9. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján Komputeralgebra
Gy ur uk aprilis 11.
Gyűrűk 2014. április 11. 1. Hányadostest 2. Karakterisztika, prímtest 3. Egyszerű gyűrűk [F] III/8 Tétel Minden integritástartomány beágyazható testbe. Legyen R integritástartomány, és értelmezzünk az
Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1
Megoldott feladatok 00. november 0.. Feladat: Vizsgáljuk az a n = n+ n+ sorozat monotonitását, korlátosságát és konvergenciáját. Konvergencia esetén számítsuk ki a határértéket! : a n = n+ n+ = n+ n+ =
352 Nevezetes egyenlôtlenségek. , az átfogó hossza 81 cm
5 Nevezetes egyenlôtlenségek a b 775 Legyenek a befogók: a, b Ekkor 9 + $ ab A maimális ab terület 0, 5cm, az átfogó hossza 8 cm a b a b 776 + # +, azaz a + b $ 88, tehát a keresett minimális érték: 88
8. Egyenletek, egyenlőtlenségek, egyenletrendszerek II.
8 Egyenletek, egyenlőtlenségek, egyenletrendszerek II Elméleti összefoglaló Az a + b+ c, a egyenletet másodfokú egyenletnek nevezzük A D b ac kifejezést az egyenlet diszkriminánsának nevezzük Ha D >, az
1/ gyakorlat. Hiperbolikus programozási feladat megoldása. Pécsi Tudományegyetem PTI
1/12 Operációkutatás 5. gyakorlat Hiperbolikus programozási feladat megoldása Pécsi Tudományegyetem PTI 2/12 Ha az Hiperbolikus programozási feladat feltételek teljesülése mellett a A x b x 0 z(x) = c
Lineáris algebra és a rang fogalma (el adásvázlat, szeptember 29.) Maróti Miklós
Lineáris algebra és a rang fogalma (el adásvázlat, 2010. szeptember 29.) Maróti Miklós Ennek az el adásnak a megértéséhez a következ fogalmakat kell tudni: (1) A mátrixalgebrával kapcsolatban: számtest
Numerikus módszerek I. zárthelyi dolgozat (2017/18. I., A. csoport) Megoldások
Numerikus módszerek I. zárthelyi dolgozat (2017/18. I., A. csoport) Megoldások 1. Feladat. (6p) Jelöljön. egy tetszőleges vektornormát, ill. a hozzá tartozó indukált mátrixnormát! Igazoljuk, hogy ha A
Vektorterek. Wettl Ferenc február 17. Wettl Ferenc Vektorterek február / 27
Vektorterek Wettl Ferenc 2015. február 17. Wettl Ferenc Vektorterek 2015. február 17. 1 / 27 Tartalom 1 Egyenletrendszerek 2 Algebrai struktúrák 3 Vektortér 4 Bázis, dimenzió 5 Valós mátrixok és egyenletrendszerek
Érzékenységvizsgálat
Érzékenységvizsgálat Alkalmazott operációkutatás 5. elıadás 008/009. tanév 008. október 0. Érzékenységvizsgálat x 0 A x b z= c T x max Kapacitások, együtthatók, célfüggvény együtthatók változnak => optimális
12. előadás. Egyenletrendszerek, mátrixok. Dr. Szörényi Miklós, Dr. Kallós Gábor
12. előadás Egyenletrendszerek, mátrixok Dr. Szörényi Miklós, Dr. Kallós Gábor 2015 2016 1 Tartalom Matematikai alapok Vektorok és mátrixok megadása Tömbkonstansok Lineáris műveletek Mátrixok szorzása
6. Függvények. Legyen függvény és nem üreshalmaz. A függvényt az f K-ra való kiterjesztésének
6. Függvények I. Elméleti összefoglaló A függvény fogalma, értelmezési tartomány, képhalmaz, értékkészlet Legyen az A és B halmaz egyike sem üreshalmaz. Ha az A halmaz minden egyes eleméhez hozzárendeljük
f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva
6. FÜGGVÉNYEK HATÁRÉRTÉKE ÉS FOLYTONOSSÁGA 6.1 Függvény határértéke Egy D R halmaz torlódási pontjainak halmazát D -vel fogjuk jelölni. Definíció. Legyen f : D R R és legyen x 0 D (a D halmaz torlódási
Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján
Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján Számsorozatok, vektorsorozatok konvergenciája Def.: Számsorozatok értelmezése:
3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek
3. Előadás Megyesi László: Lineáris algebra, 47. 50. oldal. Gondolkodnivalók Determinánsok 1. Gondolkodnivaló Determinánselméleti tételek segítségével határozzuk meg a következő n n-es determinánst: 1
Nagy Gábor compalg.inf.elte.hu/ nagy
Diszkrét matematika 1. középszint 2016. ősz 1. Diszkrét matematika 1. középszint 10. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján Komputeralgebra
1. Determinánsok. Oldjuk meg az alábbi kétismeretlenes, két egyenletet tartalmaz lineáris egyenletrendszert:
1 Determinánsok 1 Bevezet definíció Oldjuk meg az alábbi kétismeretlenes, két egyenletet tartalmaz lineáris egyenletrendszert: a 11 x 1 +a 12 x 2 = b 1 a 21 x 1 +a 22 x 2 = b 2 Szorozzuk meg az első egyenletet
4. Előadás: Erős dualitás
Optimalizálási eljárások/operációkutatás MSc hallgatók számára 4. Előadás: Erős dualitás Előadó: Hajnal Péter 2018. Emlékeztető. A primál feladat optimális értékét p -gal, a feladat optimális értékét d
Geometria 1 normál szint
Geometria 1 normál szint Naszódi Márton nmarci@math.elte.hu www.math.elte.hu/ nmarci ELTE TTK Geometriai Tsz. Budapest Geometria 1 p.1/4 Vizsga 1. Írásban, 90 perc. 2. Index nélkül nem lehet vizsgázni!
ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha
ALAPFOGALMAK 1 Á l l a p o t t é r Legyen I egy véges halmaz és legyenek A i, i I tetszőleges véges vagy megszámlálható, nem üres halmazok Ekkor az A= A i halmazt állapottérnek, az A i halmazokat pedig
Lineáris programozás. Modellalkotás Grafikus megoldás Feladattípusok Szimplex módszer
Lineáris programozás Modellalkotás Grafikus megoldás Feladattípusok Szimplex módszer Feladat: Egy gyár kétféle terméket gyárt (A, B): /db Eladási ár 1000 800 Technológiai önköltség 400 300 Normaóraigény
Számsorozatok (1) First Prev Next Last Go Back Full Screen Close Quit
Számsorozatok (1) First Prev Next Last Go Back Full Screen Close Quit 1. Valós számsorozaton valós számok meghatározott sorrendű végtelen listáját értjük. A hangsúly az egymásután következés rendjén van.
A valós számok halmaza 5. I. rész MATEMATIKAI ANALÍZIS
A valós számok halmaza 5 I rész MATEMATIKAI ANALÍZIS 6 A valós számok halmaza A valós számok halmaza 7 I A valós számok halmaza A valós számokra vonatkozó axiómák A matematika lépten-nyomon felhasználja