OPERÁCIÓKUTATÁS. No. 2. Komáromi Éva LINEÁRIS PROGRAMOZAS



Hasonló dokumentumok
Komáromi Éva LINEÁRIS PROGRAMOZÁS

Opkut deníciók és tételek

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2018/

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2017/

A szimplex algoritmus

1/ gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI

Dualitás Dualitási tételek Általános LP feladat Komplementáris lazaság 2017/ Szegedi Tudományegyetem Informatikai Intézet

11. Előadás. 11. előadás Bevezetés a lineáris programozásba

1/ gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI

15. LINEÁRIS EGYENLETRENDSZEREK

Operációkutatás. Vaik Zsuzsanna. ajánlott jegyzet: Szilágyi Péter: Operációkutatás

Bázistranszformáció és alkalmazásai 2.

A szimplex tábla. p. 1

LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL

Vektorterek. Wettl Ferenc február 17. Wettl Ferenc Vektorterek február / 27

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok

A lineáris programozás alapjai

ú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.

Lineáris programozás. Modellalkotás Grafikus megoldás Feladattípusok Szimplex módszer

Vektorok, mátrixok, lineáris egyenletrendszerek

Szemidenit optimalizálás és az S-lemma

Lineáris egyenletrendszerek

Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit.

Lineáris algebra és a rang fogalma (el adásvázlat, szeptember 29.) Maróti Miklós

Lineáris leképezések. Wettl Ferenc március 9. Wettl Ferenc Lineáris leképezések március 9. 1 / 31

Áttekintés LP és geometria Többcélú LP LP és egy dinamikus modell 2017/ Szegedi Tudományegyetem Informatikai Intézet

7. gyakorlat. Lineáris algebrai egyenletrendszerek megoldhatósága

Jegyzet. az Operációkutatás (elemz, programozó matematikus) tárgyhoz április. Fábián Csaba, Király Tamás, Papp Olga

Lineáris algebra 2. Filip Ferdinánd december 7. siva.banki.hu/jegyzetek

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.

Konvex optimalizálás feladatok

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

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, Leontyev-modell

Függvények július 13. f(x) = 1 x+x 2 f() = 1 ()+() 2 f(f(x)) = 1 (1 x+x 2 )+(1 x+x 2 ) 2 Rendezés után kapjuk, hogy:

Analízis I. Vizsgatételsor

Operációkutatás. 4. konzultáció: Szállítási feladat. A feladat LP modellje

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 30.

KONVEX HALMAZ, FARKAS TÉTEL, GORDAN TÉTEL, EXTREMÁLIS PONT, EXTREMÁLIS IRÁNY, LINEÁRIS PROGRAMOZÁS ELMÉLETE

Optimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/

25 i, = i, z 1. (x y) + 2i xy 6.1

1. Példa. A gamma függvény és a Fubini-tétel.

Nemlineáris programozás 2.

Lineáris algebra gyakorlat

4. Előadás: Erős dualitás

Alkalmazott optimalizálás és játékelmélet Lineáris programozás Gyakorlófeladatok. Rétvári Gábor

Kétfázisú szimplex algoritmus és speciális esetei

8. Egyenletek, egyenlőtlenségek, egyenletrendszerek II.

Vektorterek. =a gyakorlatokon megoldásra ajánlott

összeadjuk 0-t kapunk. Képletben:

Diszkrét Matematika MSc hallgatók számára. 4. Előadás

9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, mátrixegyenlet

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

3. Fuzzy aritmetika. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

Operációkutatás. Vaik Zsuzsanna. Budapest október 10. First Prev Next Last Go Back Full Screen Close Quit

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

Nemkonvex kvadratikus egyenlőtlenségrendszerek pontos dualitással

1/ gyakorlat. Hiperbolikus programozási feladat megoldása. Pécsi Tudományegyetem PTI

Érzékenységvizsgálat

Glevitzky Béla. Operációkutatás I. mobidiák könyvtár

A szimplex algoritmus

7. gyakorlat. Lineáris algebrai egyenletrendszerek megoldhatósága

Hadamard-mátrixok Előadó: Hajnal Péter február 23.

Halmazelméleti alapfogalmak

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.

Vektorok. Wettl Ferenc október 20. Wettl Ferenc Vektorok október / 36

LINEÁRIS EGYENLETRENDSZEREK október 12. Irodalom A fogalmakat, definíciókat illetően két forrásra támaszkodhatnak: ezek egyrészt elhangzanak

Totális Unimodularitás és LP dualitás. Tapolcai János

Jegyzet. az Operációkutatás II cím tantárgyhoz. Király Tamás és Papp Olga. Utolsó frissítés: február

További programozási esetek Hiperbolikus, kvadratikus, integer, bináris, többcélú programozás

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.

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

Egyenletek, egyenlőtlenségek VII.


EGYSZERŰSÍTETT ALGORITMUS AZ ELEMI BÁZISCSERE ELVÉGZÉSÉRE

A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex

Lineáris leképezések. 2. Lineáris-e az f : R 2 R 2 f(x, y) = (x + y, x 2 )

A Markowitz modell: kvadratikus programozás

LINEÁRIS ALGEBRA (A, B, C) tematika (BSc) I. éves nappali programtervező informatikus hallgatóknak évi tanév I. félév

8. Előadás. Megyesi László: Lineáris algebra, , oldal. 8. előadás Mátrix rangja, Homogén lineáris egyenletrendszer

10. Előadás. Megyesi László: Lineáris algebra, oldal. 10. előadás Sajátérték, Kvadaratikus alak

Nem-lineáris programozási feladatok

Vektorterek. Több esetben találkozhattunk olyan struktúrával, ahol az. szabadvektorok esetében, vagy a függvények körében, vagy a. vektortér fogalma.

Kvadratikus alakok és euklideszi terek (előadásvázlat, október 5.) Maróti Miklós, Kátai-Urbán Kamilla

Mátrixjátékok tiszta nyeregponttal

Gazdasági matematika II. tanmenet

Fraktálok. Kontrakciók Affin leképezések. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék. TARTALOMJEGYZÉK Kontrakciók Affin transzformációk

A következő feladat célja az, hogy egyszerű módon konstruáljunk Poisson folyamatokat.

: s s t 2 s t. m m m. e f e f. a a ab a b c. a c b ac. 5. Végezzük el a kijelölt m veleteket a változók lehetséges értékei mellett!

12. előadás. Egyenletrendszerek, mátrixok. Dr. Szörényi Miklós, Dr. Kallós Gábor

1. feladat Az egyensúly algoritmus viselkedése: Tekintsük a kétdimenziós Euklideszi teret, mint metrikus teret. A pontok

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

Függvények határértéke, folytonossága

Követelmények Motiváció Matematikai modellezés: példák A lineáris programozás alapfeladata 2017/ Szegedi Tudományegyetem Informatikai Intézet

3. Lineáris differenciálegyenletek

VEKTORTEREK I. VEKTORTÉR, ALTÉR, GENERÁTORRENDSZER október 15. Irodalom. További ajánlott feladatok

Követelmények Motiváció Matematikai modellezés: példák A lineáris programozás alapfeladata 2017/ Szegedi Tudományegyetem Informatikai Intézet

Egészrészes feladatok

Irracionális egyenletek, egyenlôtlenségek

Haladók III. kategória 2. (dönt ) forduló

Átírás:

OPERÁCIÓKUTATÁS No. 2. Komáromi Éva LINEÁRIS PROGRAMOZAS Budapest 2002

Komáromi Éva: LINEÁRIS PROGRAMOZÁS OPERÁCIÓKUTATÁS No.2 Megjelenik az FKFP 0231 Program támogatásával a Budapesti Közgazdaságtudományi és Államigazgatási Egyetem, Operációkutatás Tanszék gondozásában Budapest, 2002

Komáromi Éva: LINEÁRIS PROGRAMOZÁS Lektorálta: Puskás Csaba

4

Tartalomjegyzék 1. El szó. 7 2. A lineáris programozási feladat. 9 2.1. A lineáris programozási feladat...................... 9 2.2. A duális feladat............................... 12 2.3. Konvex halmazok az euklideszi térben.................. 12 2.4. Az LP feladat megoldásairól........................ 18 3. Dualitás, optimalitás. 25 3.1. Dualitás, optimalitás............................ 25 4. A lineáris programozási feladat megoldása 31 4.1. A szimplex módszer............................ 31 4.2. A szimplex módszer megalapozása.................... 34 4.3. Kiinduló lehetséges bázis el állítása.................... 36 4.4. A duális megoldás a szimplex táblában.................. 38 4.5. Számpélda a szimplex módszer alkalmazására.............. 40 5. Lineáris programozáshoz vezet feladatok. 53 5.1. A döntési alapprobléma.......................... 53 5.2. Hiperbolikus vagy törtprogramozás................... 54 5.3. Valószin séggel korlátozott lineáris programozási modell....... 55 5.4. Többcélú programozás.......................... 57 5.5. Célprogramozás............................... 58 5

6 TARTALOMJEGYZÉK 5.6. Kétlépcs s programozási modell...................... 59 6. Történet, ajánlott könyvek. 65

1. fejezet El szó. E jegyzet célja az, hogy a lineáris programozás elméletét belehelyezze abba a gondolatkörbe, amelyhez a Budapesti Közgazdaságtudományi és Államigazgatási Egyetem hallgatói az els szemeszterekben hozzászoktak, és amelyre szükségük lesz különösen azoknak a hallgatóknak, akik a közgazdaságtant elméleti igénnyel készülnek mûvelni. A tárgyalásmód nem lesz éppen változatos, f ként állítások és bizonyítások sorozatából áll, amelyeket példák és gyakorlatok ritkán illusztrálnak. Bár számítunk az olvasó lineáris algebrai tájékozottságára, összefoglaljuk mindazokat (de csak azokat) a fogalmakat és állításokat, többségükben bizonyításaikkal együtt, amelyeket a lineáris programozási feladat vizsgálatánál igénybe veszünk. El ször bemutatjuk az LP feladatot, majd származtatunk egy másik lineáris programozási feladatot, amelyet duális feladatnak nevezünk, a kiinduló feladatot pedig ebben az összefüggésben primál feladatnak. Célunk az, hogy bemutassuk a lineáris programozási feladat szerkezetét, tulajdonságait, a primál-duál feladatpár kapcsolatát, és a két feladat együttes megoldására szolgáló sok módszer közül a legismertebbet: a szimplex módszert. A tárgyalás középpontjában a primál-duál feladatpár tanulmányozása és a dualitási tétel áll. A dualitási tétel kimondásához, bizonyításához szükségünk lesz a Farkas tételre, annak bizonyításához pedig a konvex halmazok elméletében központi jelent séggel bíró szeparációs tételre, amelynek azonban csak azt a változatát mondjuk ki és bizonyítjuk itt, amelyet a Farkas tétel bizonyításához felhasználunk. En- 7

8 1. FEJEZET: ELŽSZÓ. nek megfelel en a tárgyalás felépítése a következ. A duális feladat bevezetése után néhány halmazelméleti illetve konvexitással kapcsolatos fogalom, a szeparációs tétel és a Farkas tétel következik. Ezután az LP feladat megoldásainak elhelyezkedésér l lesz szó és bizonyítjuk a dualitási tételt. A dualitási tétel folyománya a nagyjelent ségû komplementaritási tétel, amely rávilágít az LP feladat optimális megoldásainak jellegére is. Ezzel teljes egészében el készítettük a szimplex módszert, amelynek ezután csak a leírása marad hátra. Végül sor kerül a szimplex tábla szerkezetének a tanulmányozására abból a célból, hogy lássuk, hogyan befolyásolják a feladat paraméterei az optimális megoldást és az optimális célfüggvényértéket. A szimplex módszer alkalmazását, a lehetséges kimeneteleket és a feladat paraméterei változásának a következményeit számpélda illusztrálja. Az utolsó fejezetben lineáris programozási feladatra visszavezethet nemlineáris programozási feladatok közül bemutatunk néhányat, azzal a céllal is, hogy az olvasó érdekl dését felkeltsük a matematikai programozás néhány más ága, pl. a sztochasztikus programozás és a hiperbolikus programozás, és a döntéselméletben fontos szerepet játszó célprogramozás illetve többcélú programozás iránt. Az ajánlott irodalommal zárul a jegyzet. Néhány mérföldk nek tekinthet könyvet sorolunk itt fel és néhány jellemz adatot, magyar vonatkozást a lineáris programozást is magában foglaló operációkutatás történetéb l.

2. fejezet A lineáris programozási feladat. 2.1. A lineáris programozási feladat. Legyen A m n méret mátrix, b m-komponens vektor, c n-komponens vektor, mindhárom adott. Keresünk olyan n-komponens x vektort, amely maximalizálja a cx lineáris függvényt (skaláris szorzatot) az Ax = b, x 0 lineáris feltételek mellett: cx max Ax = b, x 0. Ez a lineáris programozási feladat egységes, úgynevezett "kanonikus" alakban. Általános formájában egy LP feladat tartalmazhat egyenl tlenségi feltételt, el jelkötetlen változókat, maximalizálás helyett lehet minimalizálás a cél. Az LP feladat különböz alakjai azonban ekvivalensek abban az értelemben, hogy bármely LP feladat kanonikus alakban felírható, és fordítva, egy kanonikus alakban felírt LP feladat átalakítható más, például csupa egyenl tlenségi feltételt tartalmazó feladattá. A következ tételben összefoglaljuk az LP feladat feltételeit és célfüggvényét illet átalakítási lehet ségeket. Megjegyezzük, hogy ebben a jegyzetben minden vektor-vektor szorzás skaláris, ezért sehol nem tüntetjük fel a transzponált jelölésével, hogy az els sorvektor, a második pedig oszlopvektor. A mátrix-vektor szorzásnál szintén a sorrend dönti el, 9

10 2. FEJEZET: A LINEÁRIS PROGRAMOZÁSI FELADAT. hogy a szóbanforgó vektor sorvektornak vagy oszlopvektornak tekintend -e. Megjegyezzük továbbá, hogy A jelöli az j A mátrix j-dik oszlopát, A i pedig az i-dik sorát, azaz A m-komponens, j A i n-komponens vektorok (j = 1,..., n; i = 1,..., m). 1. Állítás (ekvivalens átalakítások): (1)Az a i1 x 1 +a i2 x 2 +...+a in x n b i feltételegynemnegatív u i változóbevezetésével helyettesíthet a következ két feltétellel: a i1 x 1 + a i2 x 2 +... + a in x n + u i = b i, u i 0. Az a i1 x 1 +a i2 x 2 +...+a in x n b i feltétel egy nemnegatív u i változó bevezetésével helyettesíthet a következ két feltétellel: a i1 x 1 + a i2 x 2 +... + a in x n u i = b i, u i 0. (2) Az a i1 x 1 + a i2 x 2 +... + a in x n b i feltétel ekvivalens a a i1 x 1 a i2 x 2... a in x n b i feltétellel, az a i1 x 1 + a i2 x 2 +... + a in x n b i feltétel ekvivalens a a i1 x 1 a i2 x 2... a in x n b i feltétellel. (3) Az a i1 x 1 + a i2 x 2 +... + a in x n = b i feltétel helyettesíthet a következ két egyenl tlenségi feltétellel: a i1 x 1 + a i2 x 2 +... + a in x n b i, a i1 x 1 + a i2 x 2 +... + a in x n b i. Az a i1 x 1 + a i2 x 2 +... + a in x n = b i (i = 1,..., k) k számú feltételb l álló feltételrendszer helyettesíthet a következ k + 1 számú egyenl tlenségi feltétellel:

2.1. A LINEÁRIS PROGRAMOZÁSI FELADAT. 11 a i1 x 1 + a i2 x 2 +... + a in x n b i (i = 1,..., k), k k k k a i1 x 1 + a i2 x 2 +... + a in x n b i. (4)El jelkötetlen x j változóhelyettesíthet kétnemnegatívváltozókülönbségével: x j = x j x j, x j 0, x j 0. Több el jelkötetlen változó esetén elegend egyetlen új változót bevezetni ahhoz, hogy valamennyi szóbanforgó változó nemnegativitását el írhassuk: az a i1 x 1 + a i2 x 2 +... + a in x n = b i, i = 1,..., m feltételrendszer ekvivalens az alábbi feltételrendszerrel: ( n ) a i1 x 1 + a i2 x 2 +... + a in x n a ij x = b i, i = 1,..., m, j=1 x 0, x j 0, j = 1,..., n. ahol az x 1 = x 1 x,..., x n = x n x helyettesítést alkalmaztuk. (5) A célfüggvény maximalizálása ekvivalens a célfüggvény negatívjának minimalizálásával és fordítva. Bizonyítás: A (4) állítást látjuk be, a többi bizonyítását az olvasóra bízzuk. Tegyük fel el ször, hogy x = ( x 1, x 2,..., x n ) kielégíti a n a ij x j = b i, i = 1,..., m j=1 feltételeket. Mivel minden szám helyettesíthet két nemnegatív szám különbségével, találunk olyan x j, x j nemnegatív számokat, hogy x j = x j x j, j ) és adjunk új értékeket az x j változóknak a következ módon: legyen x = max(x j x j = x j + x. Ekkor x, x j kielégítik az ( n ) a i1 x 1 + a i2 x 2 +... + a in x n a ij x = b i, (i = 1,..., m) j=1 j = 1,..., n. Legyen x 0, x j 0, (j = 1,..., n) egyenl tlenségrendszert. Tegyük fel másodszor, hogy x 0, x j 0, (j = 1,..., n) kielégítik a fenti egyenl tlenségrendszert. Legyen x = (x 1 x,..., x n x ). Akkor A x = b teljesül.

12 2. FEJEZET: A LINEÁRIS PROGRAMOZÁSI FELADAT. 2.2. A duális feladat. Bevezetjük a cx max Ax = b, x 0 kanonikus alakú LP feladat duálisát a következ yb min ya c feladat formájában, ahol y m-komponens döntési (változó) vektor. Az els feladatot primál feladatnak, a második feladatot duál vagy duális feladatnak nevezzük, y komponenseit duális változóknak. Noha a deníció a kanonikus feladathoz kapcsolódik, tetsz leges LP feladat duális feladatát deniáltuk ezáltal, mivel tetsz leges LP feladat átalakítható kanonikus alakúvá. Az olvasóra bízzuk az alábbi két állítás igazolását. 2. Állítás A duális feladat duálisa a primál feladat; 3. Állítás A cx max, Ax b, x 0 úgynevezett standard alakú feladat duálisa az yb min, ya c, y 0 feladat. 2.3. Konvex halmazok az euklideszi térben. A lineáris programozási feladat vizsgálatához szükség van néhány lineáris algebrai fogalomra és állításra. Ebben a szakaszban ezeket foglaljuk össze. Legyen H R n, H. Az a pont a H torlódási pontja, ha a bármely környezete tartalmaz a-tól különböz elemet a H-ból. Az a H pont H-nak bels pontja, ha a-nak létezik olyan r-sugarú környezete, amelynek minden pontja H-hoz tartozik. A H halmaz zárt, ha minden torlódási pontját tartalmazza.

2.3. KONVEX HALMAZOK AZ EUKLIDESZI TÉRBEN. 13 A H halmaz nyílt, ha minden pontja bels pont. A H halmaz korlátos, ha van olyan k szám, hogy a < k fennáll minden a H esetén. A H R n halmaz kompakt, ha korlátos és zárt. A H R n lineáris tér, ha a lineáris kombinációra nézve zárt: a 1, a 2 H maga után vonja, hogy µ 1 a 1 + µ 2 a 2 C minden µ 1, µ 2 R esetén. Az a 1, a 2,..., a k R n vektorok lineárisan függetlenek, halineáriskombinációjukként a 0 vektor csak azonosan 0 együtthatókkal áll el : µ 1 a 1 + µ 2 a 2 +... + µ k a k = 0 µ i = 0 i esetén. Az a 1, a 2,..., a k H R n a H lineáris tér bázisa, ha a 1, a 2,..., a k lineárisan függetlenek és H minden eleme el áll az a 1, a 2,..., a k vektorok lineáris kombinációjaként: a H maga utánvonja, hogy µ 1, µ 2,..., µ k,hogy a = µ 1 a 1 +µ 2 a 2 +...+µ k a k. Az a 1, a 2 H pontokat összeköt szakasz a {a a = λa 1 + (1 λ)a 2, 0 λ 1} halmaz. A H halmaz konvex, ha bármely két elemével együtt az azokat összeköt szakaszt is tartalmazza. Az a legszûkebb konvex halmaz, amely tartalmazza a H halmazt, H konvex burka. Legyen c R n, c 0, α R. Az {x R n cx = α} halmaz hipersík. Legyen c R n, c 0, α R. Az {x R n cx α} és {x R n cx α} halmazok zárt félterek. Legyen c R n, c 0, α R. Az {x R n cx < α}és {x R n cx > α}halmazok nyílt félterek. (1) A H halmaz konvex akkor és csak akkor, ha bárhogyan is választjuk ki az a 1, a 2,..., a k H pontokat, azok bármely konvex lineáris kombinációja is eleme a H k k halmaznak: λ i a i H, ha λ i 0 (i = 1,..., k), λ i = 1. (2) Konvex halmazok metszete konvex. (3) A hipersík konvex halmaz. (4) A félterek konvex halmaz. Bizonyítás.

14 2. FEJEZET: A LINEÁRIS PROGRAMOZÁSI FELADAT. (1) A feltétel teljesülése esetén a H halmaz konvex, hiszen a feltétel teljesül k = 2 esetén is, ez pedig a konvex halmaz deniciója. Belátjuk most, hogy ha H konvex, akkor a = k k λ i a i H, (λ i 0 (i = 1,..., k), λ i = 1), a H szóbanforgó elemeinek k számára vonatkozó teljes indukcióval. Az állítás igaz, a konvex halmaz deníciója szerint, k = 2-re. Tegyük fel, hogy igaz k 1-re, belátjuk, hogy akkor igaz k-ra is. Ha λ k = 1, az állítás igaz, mert a k H. Tegyük fel, hogy λ k < 1. Ekkor 1 λ k = k 1 λ i > 0. Az indukciós feltevés miatt k 1 λ i λ a i H, 1 λ k mivel i k 1 0, (i = 1,..., k 1), 1 λ k Ekkor azonban az a = λ k a k +(1 λ k ) k 1 a H konvexitása miatt. λ i 1 λ k = 1. λ i 1 λ k a i vektor szintén eleme a H halmaznak (2). Legyen x 1, x 2 H γ, H γ (γ Γ) konvex halmazok. Legyen x = λx 1 + (1 λ)x 2, 1 λ 0. Mivel x 1, x 2 minden H γ halmaznak eleme és H γ konvex, ezért x eleme e halmazok mindegyikének és ily módon metszetüknek is. (3) Legyen x 1, x 2 {x R n cx = α}, legyen x = λx 1 + (1 λ)x 2, 1 λ 0. Akkor cx = λcx 1 + (1 λ)cx 2 = λα + (1 λ)α = α, azaz x {x R n cx = α}. (4) Legyen x 1, x 2 {x R n cx α}, legyen x = λx 1 + (1 λ)x 2, 1 λ 0. Akkor cx = λcx 1 + (1 λ)cx 2 λα + (1 λ)α = α, azaz x {x R n cx α}. Egy a H a H konvex zárt halmaz csúcspontja vagy extrémális pontja, ha a nem írható fel H a-tól különböz elemeinek konvex lineáris kombinációjaként. Az R n véges számú elemének konvex burkát poliédernek nevezzük. Véges számú zárt féltér metszetét poliedrikus halmaz nak nevezzük. Vegyük észre, hogy a poliéder a csúcspontjainak konvex burka. A H R n konvex kúp, ha a nemnegatív kombinációra nézve zárt: a 1, a 2 H maga után vonja, hogy µ 1 a 1 + µ 2 a 2 C minden µ 1, µ 2 R, µ 1, µ 2 0 esetén. Az alábbi állítást bizonyítás nélkül közöljük. 5. Állítás Az R n tér véges számú eleme által generált konvex kúp zárt halmaz. 6. Állítás Legyen a 1, a 2,..., a k R n.

2.3. KONVEX HALMAZOK AZ EUKLIDESZI TÉRBEN. 15 2.1.~ábra. (1) A H = {a R n a = µ 1 a 1 + µ 2 a 2 +... + µ k a k, µ j 0(j = 1,..., k)} halmaz konvex kúp. (2) A G = {y R n ya j 0 j = 1,..., k} halmaz konvex kúp. Bizonyítás. (1) Legyen H a = µ 1a 1 + µ 2a 2 +... + µ k a k, µ i 0(i = 1,..., k), H a = µ 1a 1 + µ 2a 2 +... + µ k a k, µ i 0(i = 1,..., k). Akkor a + a = (µ 1 + µ 1)a 1 +... + (µ k + µ k )a k H és µµ 1a 1 + µµ 2a 2 +... + µµ k a k H, ha µ 0, mert ekkor µµ i 0 i = 1,..., k. (2) Legyenek y 1, y 2 G. Ekkor (y 1 +y 2 )a j = y 1 a j +y 2 a j 0, vagyis y 1 +y 2 G. Továbbá, µy 1 a j 0 (j = 1,..., k), azaz µy 1 G. Az el z állításban szerepló G kúpot a H kúp polárisának nevezzük, jelölése: G = H. A két kúpnak szemléletes geometriai tartalom adható, amely implikálja azt az - alább a Farkas tételben bizonyított - megállapítást, hogy az R egy n a vektora vagy benne van a H kúpban, vagy a polárisának van olyan y eleme, amely a-val hegyesszöget zár be, amint ezt az alábbi ábra mutatja. Vegyük észre, hogy G-vel együtt az αg halmaz is konvex kúp minden α R mellett. Vegyük észre, hogy az, hogy a kanonikus alakú lineáris programozási feladat

16 2. FEJEZET: A LINEÁRIS PROGRAMOZÁSI FELADAT. 2.2.~ábra. feltételeit kielégít megoldás létezik azt jelenti, hogy a jobboldalon lév m-komponens b vektor benne van az A mátrix A 1,..., A n oszlopvektorai által generált konvex kúpban. Legyen H és G két nemüres halmaz R n -ben. Az {x R n cx = α} hipersíkot H-t és G-t (szigorúan) elválasztó hipersík nak nevezzük, ha x H cx α (cx < α) x G cx α (cx > α) A következ állítás azt mondja ki, hogy egy zárt konvex halmaz és egy, a halmazhoz nem tartozó pont szigorúan elválasztható. 7. Állítás (Szeparációs tétel): Legyen H R zárt konvex nemüres halmaz n és x R n \ H. Akkor létezik olyan 0 c R és n α R, hogy az {x R n cx = α} halmaz a H halmazt és az x pontot szigorúan elválasztó hipersík. Bizonyítás. Legyen D ρ ( x) = {x x x ρ} az x ρ-sugarú zárt környezete.

2.3. KONVEX HALMAZOK AZ EUKLIDESZI TÉRBEN. 17 Válasszuk ρ-t úgy, hogy D ρ ( x) H. Mivel x x folytonos függvény, ezért felvesziaminimumátaz R n korlátosészárt, azazkompakt D ρ ( x) H részhalmazának egy pontjában, legyen ez a pont x. A minimum értéke: x x > 0, mert x / H. A tételt azzal bizonyítjuk, hogy belátjuk, c = x x és egy alkalmas α érték az állításban szerepl elválasztó hipersíkot határoz meg. Legyen x H tetsz leges pont. H konvex volta miatt λx + (1 λ)x H ha 0 λ 1, és a λx + (1 λ)x x x x egyenl tlenség fennáll minden 0 λ 1 értékre. Emeljük négyzetre az egyenl tlenség mindkét oldalát. Azt kapjuk, hogy λ 2 (x x ) 2 + 2λ(x x )(x x) + (x x) 2 (x x) 2 λ[2(x x )(x x) + λ(x x ) 2 ] 0. Mivel ez utóbbi egyenl tlenség baloldalán λ szorzója λ-nak lineáris függvénye, az egyenl tlenség csak akkor állhat fenn minden 0 < λ < 1 értékre is, ha e lineáris függvény konstans tagja nemnegatív: Mivel (x x )(x x) 0, azaz x(x x) x (x x). (x x)(x x) > 0,ezért x (x x) > x(x x). Válasszuk c t és α-t a következ képpen: c = x x 0, α = x (x x) + x(x x). 2 Azt kaptuk, hogy cx > α > c x minden x H esetén, azaz az {x R n cx = α} a H halmazt és az x pontot szigorúan elválasztó hipersík.

18 2. FEJEZET: A LINEÁRIS PROGRAMOZÁSI FELADAT. 8. Állítás (Farkas tétel): A következ két feladat közül az egyik és csak az egyik oldható meg.: (a) Ax = b, x 0 (b) ya 0, yb < 0 Bizonyítás. El ször belátjuk, hogy a két feladat egyidejüleg nem oldható meg. Tegyük fel ugyanis az állítással ellentétben, hogy az x és ŷ vektorokra fennáll, hogy A x = b, x 0 és ŷa 0, ŷb < 0. Akkor ŷa x = ŷb < 0, miközben ŷa x 0, ami ellentmondás. Másodszor: tegyük fel, hogy nincs megoldása az Ax = b, x 0 feladatnak, vagyis b nem állítható el A oszlopvektorai nemnegatív kombinációjaként. Ez azt jelenti, hogyabvektornincsbenne az A 1,..., A n oszlopvektorokáltalgenerált konvex zárt kúpban. A szeparációs tétel szerint akkor létezik a b vektort és az A 1,..., A n oszlopvektorok által generált kúpot szigorúan elválasztó hipersík: y R m, y 0 és α R, hogy yb < α és ya > α minden a {a a = Ax, x 0} esetén. Mivel az A oszlopvektorai által generált kúpnak az A j oszlopvektorok is elemei és az a = 0 vektor is eleme, ezért ya j > α, j = 1,..., n és α < y0 = 0. Így yb < 0. Az α negatív volta önmagában még nem zárja ki, hogy valamely rögzített j indexre ya j negatív legyen. De A j -vel együtt annak minden nemnegatív δ-szorosa is eleme a kúpnak, ezért ha ya j < 0, akkor δ ya j tetsz legesen nagy abszolut érték negatív szám lehet, vagyis α-nál kisebb lesz, ha δ elég nagy. Ez ellentmondásban van azzal, hogy yax > α minden x 0 mellett, beleértve azt az x vektort is, amelynek j-edik komponense 1, a többi 0. Tehát az y vektorra fennáll, hogy ya 0 és yb < 0, ami éppen a tétel állítása. 2.4. Az LP feladat megoldásairól. Megállapítottuk, hogy minden lineáris programozási feladat ekvivalens átalakítás eredményeként kanonikus feladattá válhat és fordítva, minden kanonikus feladat

2.4. AZ LP FELADAT MEGOLDÁSAIRÓL. 19 bármilyen más formában is megfogalmazható. Elegend tehát a kanonikus feladatot vizsgálnunk ahhoz, hogy az LP feladatokra vonatkozó általános észrevételeket tehessünk, amint az itt következik. A cx max Ax = b, x 0 LP feladat lehetséges vagy megengedett megoldás ainak nevezzük azokat az x vektorokat, amelyek a feltételeket kielégítik. Az LP feladat célfüggvénye az optimalizálandó: maximalizálandó (más esetben minimalizálandó) cx lineáris függvény. Az LP feladat optimális megoldás ainak nevezzük azokat az x vektorokat, amelyek a lehetséges megoldások halmazán a célfüggvényt maximalizálják. A feladat egy lehetséges bázis a az A mátrix oszlopvektorainak olyan összessége, amely egyrészt bázisa az A oszlopvektorai által generált lineáris térnek, másrészt azok az együtthatók, amelyekkel a b vektor egyértelmûen felírható ezen oszlopvektorok lineáris kombinációjaként, nemnegatívak. A feladat bázismegoldás ainak nevezzük azokat az x vektorokat, amelyek pozitív komponenseihez tartozó oszlopvektorai az A mátrixnak lineárisan függetlenek. Egy bázismegoldás degenerált, ha a szóbanforgó oszlopvektorok az A mátrix oszlopvektorai által kifeszített lineáris térnek egy valódi alterét generálják. 9. Állítás A lehetséges megoldások L = {x R n Ax = b, x 0} halmaza konvex. Bizonyítás. Mivel az egyenletrendszer megoldáshalmaza: az {x Ax = b} = m {x A i x = b i } halmaz hipersíkok metszete, ezért konvex. Konvex továbbá az {x R n x 0} halmaz is, mert metszete az {x R n e i x 0}, i = 1,..., n féltereknek, ahol e i az i-dik egységvektor. Így konvex az halmaz is. {x R n x 0} {x Ax = b}

20 2. FEJEZET: A LINEÁRIS PROGRAMOZÁSI FELADAT. Vegyük észre, hogy az optimális megoldások halmaza, ha nemüres, szintén végesszámú hipersík és a nemnegatív térnegyed közös része: L opt = {x Ax = b, cx = γ, x 0}, ahol γ az optimális célfüggvényértéket jelöli. Ezt foglalja össze az alábbi 10. Állítás Az optimális megoldások halmaza konvex. A következ állítást fontossága miatt kiemeljük, de tartalma nyilvánvaló, hiszen a Weierstrass tétel értelmében az R n korlátos zárt részhalmazán folytonos függvény felveszi a minimumát is és a maximumát is. 11. Állítás Ha a lehetséges megoldások halmaza korlátos, akkor az LP feladatnak van optimális megoldása. A lehetséges és optimális megoldások elhelyezkedését illusztrálja az alábbi példa. Példa Tekintsük a következ kétváltozós feladatokat és vizsgáljuk a lehetséges és optimális megoldások halmazát különböz esetekben. 2x 1 +3x 2 max (1) x 1 +x 2 1, (2) x 1 +x 2 4, (3) x 1 +2x 2 2, (4) 3x 1 +x 2 3, (5) x 1, x 2 0. Ábrázoljuk a lehetséges megoldások halmazát (3. ábra): (a) A lehetséges megoldások L halmaza korlátos, nemüres, poliéder. Az optimális megoldások halmaza egyetlen csúcspont, az x 1 +x 2 = 4 és az x 1 2x 2 = 2 egyenesek metszéspontja: x 1 = 10, x 3 2 = 2. 3 (b) Változtassuk meg a célfüggvényt. Legyen a maximalizálandó célfüggvényünk: x 1 + x 2. Ekkor az optimális megoldások halmaza az L halmaz egy határoló szakasza: az x 1 = 10, x 3 2 = pontot az 2 x 3 1 = 3, x 2 2 = ponttal összeköt szakasz. 5 2

2.4. AZ LP FELADAT MEGOLDÁSAIRÓL. 21 2.3.~ábra. (c) Az eredeti feladat (2) feltételét változtassuk meg, legyen az új (2) feltétel a következ : x 1 +x 2 0, 9. Ekkor a lehetséges megoldások halmaza és így természetszerüleg az optimális megoldások halmaza is üres. (d) Hagyjuk el a (2) feltételt teljes egészében. Ekkor a lehetséges megoldások halmaza a 4. ábrán látható nem korlátos poliedrikus halmaz: A célfüggvény tetsz legesen nagy értéket felvehet, vagyis nem korlátos a lehetséges megoldások L halmazán, ezért az optimális megoldások halmaza üres. (e) Hagyjuk el a (2) feltételt teljes egészében, és változtassuk meg a célfüggvényt. Legyen az új maximalizálandó célfüggvény x 1 +x 2. Ekkor az optimális megoldások halmaza az L halmazt határoló azon félegyenes, amely az x 1 = 1 2, x 2 = 3 2 csúcsból indul és iránytangense 1. Összefoglalva megállapíthatjuk, hogy kétváltozós esetben a lehetséges megoldások halmaza lehet üres, lehet nemüres korlátos poliéder, illetve nemüres nem korlátos: poliedrikus halmaz. Az optimális megoldások halmaza lehet üres, lehet egyetlen csúcs, lehet szakasz, vagy félegyenes, de az optimális megoldások között mindegyik esetben van csúcs. A következ kben a kétváltozós esetben tett észrevételeinket általánosítjuk. El ször

22 2. FEJEZET: A LINEÁRIS PROGRAMOZÁSI FELADAT. 2.4.~ábra. a feladat bázismegoldásaival azonosítjuk a lehetséges megoldások L halmazának csúcspontjait. Célunk az, hogy megmutassuk: ha a feladatnak van optimális megoldása, akkor van optimális bázismegoldása is - ez a következ fejezet utolsó állítása lesz és egyben a konklúzió. A következ állításban egy észrevételt fogalmazunk meg. 12. Állítás Tekintsük az Ax = b, x 0 feladat egy x = (x 1,..., x n ) megoldását. Ha x pozitív komponenseihez tartozó oszlopvektorok lineárisan összefüggnek, akkor meghatározható egy olyan másik x megoldás, amelynek komponensei 0 k ott, ahol x komponensei 0 k és a pozitív komponenseinek száma legalább eggyel kevesebb. Az egyszer ség kedvéért(de az általánosság megszorítása nélkül) feltesszük, hogy x minden komponense pozitív. Az állításban szerepl feltevés szerint az A mátrix oszlopvektorai lineárisan összefüggnek. Ekkor s = (s 1,..., s n ), nem mind 0 komponensekkel, hogy n A j s j = 0. j=1 Feltehetjük, hogy az s vektornak van pozitív eleme. (Ha nem lenne, az összeg minden

2.4. AZ LP FELADAT MEGOLDÁSAIRÓL. 23 tagját megszorozzuk 1-gyel.) Legyen x j 0 < δ = min s j >0 s j és tegyük fel (az általánosság megszorítása nélkül), hogy Ekkor δ = x n s n. x = x δs = (x 1 δs 1,..., x n δs n ) 0, j A j (x j δs j ) = b, vagyis x megoldás, de x n = 0. Így x eggyel kevesebb pozitív komponenst tartalmaz. 13. Állítás Ha a cx max, Ax = b, x 0 kanonikus feladatnak van lehetséges megoldása, akkor van lehetséges bázismegoldása is. Bizonyítás. Az állítást az A mátrix oszlopvektorai (a változók) n számára vonatkozó teljes indukcióval bizonyítjuk. n = 1-re az állítás igaz. Tegyük fel, hogy tetsz leges n > 1 esetén igaz k < n- re, belátjuk, hogy akkor igaz k = n-re is. Legyen x = (x 1, x 2,..., x n ) lehetséges megoldás: n A j x j = b, x = (x 1, x 2,..., x n ) 0. j=1 1. eset: x komponensei között van 0. Az általánosság megszorítása nélkül feltehetjük, hogy x n = 0. Ekkor az (x 1, x 2,..., x n 1 ) lehetséges megoldása az n 1 oszlopvektort tartalmazó n 1 A j x j = b, x = (x 1, x 2,..., x n 1 ) 0 feladatnak, az állítás tehát igaz j=1 az indukciós feltevés miatt. 2. eset: x j > 0, j = 1,..., n. Ha az oszlopvektorok lineárisan függetlenek, akkor x bázismegoldás, készen vagyunk. Ha az oszlopvektorok lineárisan összefüggnek, akkor az el z állítás értelmében redukálhatjuk a feladatot n-nél kevesebb oszlopvektort tartalmazó feladatra, amelyre pedig állításunk az indukciós feltevés miatt igaz. A lehetséges megoldások illetve optimális megoldások halmazának egy fontos tulajdonságát mutatja be a következ állítás.

24 2. FEJEZET: A LINEÁRIS PROGRAMOZÁSI FELADAT. 14. Állítás Az x csúcspontja az L = {x R n Ax = b, x 0} halmaznak akkor és csak akkor, ha x bázismegoldás. Bizonyítás. El ször belátjuk, hogy x csúcspont, ha x bázismegoldás. Tegyük fel az állítással ellentétben, hogy x bázismegoldás, de nem csúcspont. Akkor léteznek olyan R n x 1, x 2, x 1 x 2 x lehetséges megoldások, hogy x = λx 1 + (1 λ)x 2, 0 < λ < 1. Ha x j = 0, akkor x 1 j = 0 és x 2 j = 0 hiszen x, x 1, x 2 0. Ezért x 1 és x 2 pozitív komponenseihez tartozó oszlopvektorok szintén lineárisan függetlenek, tehát x 1 és x 2 bázismegoldások, ellentmondásban azzal, hogy minden vektor, így b is, csak egyféleképpen írható fel lineárisan független vektorok lineáris kombinációjaként. Másodszor: belátjuk, hogy x bázismegoldás, ha x csúcspont. Ismét tegyük fel az állítással ellentétben, hogy x csúcspont, de nem bázismegoldás. Legyen az x els r komponense pozitív, r n. Ekkor fennáll, hogy A 1 x 1 +... + A r x r = b, x j > 0,ha j = 1,..., r és létezik olyan s = (s 1,..., s r, s r+1,..., s n ) vektor, amelyben s j = 0, ha j = r + 1,..., n; s 1,..., s r nem mind 0, közülük legalább egy komponens pozitív és A 1 s 1 + A 2 s 2 +... + A r s r = 0. x Legyen δ 1 = min j s j >0 s j, δ 2 = min ( x j s j <0 s j ), ez utóbbi δ 1, ha s-nek nincs negatív komponense. Legyen δ = min(δ 1, δ 2 ). Ekkor x 1 = x δs = (x 1 δs 1,..., x n δs n ) 0, x 2 = x + δs = (x 1 + δs 1,..., x n + δs n ) 0, Ax 1 = A(x δs) = b δ0 = b, Ax 2 = A(x + δs) = b + δ0 = b, vagyis x δs és x + δs lehetséges megoldások és x = x1 +x 2, ellentmondásban azzal 2 a feltevéssel, hogy x csúcspontja a lehetséges megoldások halmazának. Mivel az A mátrix oszlopvektorai közül véges számú: legfeljebb ( n m) számú lineárisan független rendszert alkotó halmaz választható ki, ezért a bázismegoldások száma, egyúttal a lehetséges megoldások L halmazának csúcspontjainak száma is szükségképpen véges. Ha tehát az LP feladat lehetséges megoldásainak halmaza korlátos, akkor e halmaz poliéder.

3. fejezet Dualitás, optimalitás. 3.1. Dualitás, optimalitás. A kanonikus alakú LP feladat és duálisa közötti kézenfekv kapcsolatot írja le az alábbi 15. Állítás (Gyenge dualitási tétel): (1) Ha x a primál és ŷ a duális feladat lehetséges megoldása, akkor fennáll a c x ŷb összefüggés. (2) Ha c x = ŷb, akkor x a primál és ŷ a duális feladat optimális megoldása. Bizonyítás. (1) Tegyük fel, hogy x és ŷ kielégítik a primál illetve a duál feltételeket. Szorozzuk meg ŷ-nal a primál feladat egyenletrendszerét. Szorozzuk meg x-val a duális feladat egyenl tlenségrendszerét. Mivel x komponensei nemnegatívok, ezért az egyenl tlenség iránya a szorzással nem változik. Azt kapjuk, hogy c x ŷa x = ŷb. (2) Minthogy a c x ŷb egyenl tlenség fennáll tetsz leges x prímál és ŷ duális lehetséges megoldásra, ezért ha két lehetséges megoldásra a célfüggvényértékek egyenl k, ez csak úgy lehet, ha mindkett optimális megoldás. Egy másik fontos összefüggés a Farkas tételb l azonnal következik, nevezetesen az, hogy ha a primál feladatnak nincs lehetséges megoldása, akkor a duális feladatnak 25

26 3. FEJEZET: DUALITÁS, OPTIMALITÁS. nincsoptimálismegoldása. Tegyükfel ugyanis, hogy nincsmegoldása az Ax = b, x 0 feladatnak. Ha a duális feladatnak sincs lehetséges megoldása, akkor optimális sem lehet, tehát készen vagyunk. Tegyük fel tehát, hogy a duális feladatnak van lehetséges ŷ megoldása. Mivel ỹ R m, a Farkas tétel szerint, amelyre ỹa 0, ỹb < 0 fennáll, és mivel ŷ + λỹ is lehetséges megoldása a duális feladat minden pozitív λ.érték mellett, ezért a duális feladat célfüggvénye tetsz legesen nagy abszolut értékû negatív szám lehet a λ értékét l függ en - azaz a duális feladat célfüggvénye nem veszi fel a minimumát a lehetséges megoldások halmazán, mivel alulról nem korlátos. Ezt az állítást is magában foglalja a következ tétel. Dualitási tétel: (1) Ha mind a primál, mind a duális feladatnak van lehetséges megoldása, akkor mindkett nek van optimális megoldása és az optimális célfüggvényértékek megegyeznek. (2) Ha az egyiknek nincs lehetséges megoldása, akkor a másiknak nincs optimális megoldása. Bizonyítás. A (2) állítást beláttuk abban az esetben, amikor a primál feladatnak nincs lehetséges megoldása. Mivel azonban a primál feladat a duális feladat duálja, ezért a másik irányú állítás nem igényel bizonyítást. Az (1) állítás igazolásához azt kell belátnunk, hogy amennyiben a primál-duál feladatpár mindegyikének létezik lehetséges megoldása, akkor létezik olyan lehetséges ( x, ŷ) megoldáspár, amelyre fennáll a c x ŷb 0 egyenl tlenség, amely a gyenge dualitási tétel értelmében csak egyenl séggel teljesülhet. Azt látjuk tehát be, hogy ha az Ax = b, x 0, ya c feladat megoldható, akkor megoldható az Ax = b, x 0, ya c, cx yb 0 feladat is. A bizonyítás indirekt módon történik. Feltesszük, hogy az Ax = b, x 0, ya c, cx yb 0 feladat nem oldható meg, és a Farkas tétel felhasználásával ellentmondásra jutunk abban az esetben, amikor az Ax = b, x 0, ya c feladat megoldható. Ez utóbbi feladatnak rögzítjük is egy megoldását, jelölje ezt ( x, ŷ).