1 / 69

OPERÁCIÓKUTATÁS

Gazdaságelemzési Módszertani Tanszék. OPERÁCIÓKUTATÁS. Libor Józsefné dr. Főépület fsz. 41. liborne@szolf.hu. 1, Lineáris tér. Feladat: L 3 lineáris teret alkot-e?. Definíció: Az L halmazt lineáris térnek nevezzük a valós számok halmaza felett, ha

meira
Télécharger la présentation

OPERÁCIÓKUTATÁS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Gazdaságelemzési Módszertani Tanszék OPERÁCIÓKUTATÁS Libor Józsefné dr. Főépület fsz. 41. liborne@szolf.hu

  2. 1, Lineáris tér Feladat: L3 lineáris teret alkot-e? Definíció: Az L halmazt lineáris térnek nevezzük a valós számok halmaza felett, ha a, L-ben értelemezve van az összeadás és a skalárral való szorzás; b, ez a két művelet kommutatív, asszociatív és disztributív; c, L-nek van 0-val jelölt zéruseleme; d, minden L-beli a elemnek van –a-val jelölt, ugyancsak L-beli ellentettje; e, minden L-beli a elem eleget tesz az 1a = a egyenlőségnek. Az n elemű vektorok halmaza:Ln (n = 1, 2, 3, …) • Minden a, b L és •  R esetén a + b  L és a  L teljesül. a +0 = a a + (-a) = 0

  3. 1, Lineáris tér Definíció: Az L’ az L altere ha L’ L és L’ maga is lineáris tér az L-ben definiált összeadásra és skalárral való szorzásra nézve. Tétel: L’ L akkor és csak akkor altér, ha L’ zárt az L-ben definiált összeadásra és skalárral való szorzásra nézve. Triviális altér, valódi altér fogalma Feladat: Tekintsük L2 azon vektorait, melyek első komponense 0. Az ezen vektorokból álló L2’ halmaz altere-e L2-nek ?

  4. 1, Lineáris tér Tétel: Az L lineáris tér tetszőleges a1, a2, … ak vektorainak összes lineáris kombinációja L alterét, mégpedig az a1, a2, … ak vektorok által generált alterét alkotják. Sorvektortér, oszlopvektortér fogalma Definíció: Az a1, a2, … ak vektorrendszert az L lineáris tér véges generátorrendszerének nevezzük, ha az általuk generált altér megegyezik L-lel. Feladat: Adja meg L2-ben az a=(2,1) vektor összes lineáris kombinációja által generált L2’ altér geometriai képét. L2’ tartalmazza-e a következő vektorokat: 0, b=(-2,-1), c=(1,2)

  5. 1, Lineáris tér Definíció: Az Ln tér a1, a2, … ak vektorait lineárisan függetlennek nevezzük, ha lineáris kombinációjuk segítségével a 0 vektor csakis triviális módon állítható elő. Ha létezik a triviálistól különböző előállítása is a 0 vektornak, a vektorrendszert lineárisan összefüggőnek nevezzük.

  6. 1, Lineáris tér Tétel1: Lineárisan független vektorok között a 0 nem szerepelhet. Tétel2: Lineárisan független vektorok bármilyen (nem üres) részhalmaza szintén lineárisan független vektorrendszert alkot. Tétel3: Egy lineárisan összefüggő vektorrendszer bármilyen kibővítése szintén lineárisan összefüggő rendszer. Tétel4: Egy vektorrendszer akkor és csak akkor lineárisan összefüggő, ha van olyan eleme, amely előállítható a többi elem lineáris kombinációjaként.

  7. 1, Lineáris tér Definíció: Egy b vektort kompatibilisnek nevezünk egy vektorrendszerrel, ha b kifejezhető a vektorrendszer vektorainak lineáris kombinációjaként. Definíció: Egy vektorrendszer rangja r, ha kiválasztható belőle r db független vektor, de bármely r+1 db vektora már lineárisan összefüggő rendszert alkot.

  8. Feladat: Vegyük az L2 két elemét: a1=(5, -1) és a2=(1, -5). a, Függetlenek-e? Bázist alkotnak-e? b, Adja meg a b=(2,3) vektort az új bázisban. 1, Lineáris tér Definíció: A lineáris tér egy lineárisan független elemekből álló generátorrendszerét bázisnak nevezzük, a bázis elemeit pedig bázisvektoroknak. Tétel: Egy lineáris tér a1, a2, … anvektorai akkor és csak akkor alkotnak bázist, ha a tér minden vektora egyértelműen előállítható az a1, a2, … anvektorok lineáris kombinációjaként. Definíció: Legyen a1, a2, … anaz L lineáris tér egy bázisa. A tér egy tetszőleges a vektorának az előállításában szereplő 1, 2, …, n skalárok az a vektor adott bázisra vonatkozó koordinátái.

  9. 1, Lineáris tér Tétel: Tetszőleges L lineáris térben a bázist alkotó vektorok száma egyértelműen meghatározott. Triviális bázis Definíció: Az L lineáris tér n dimenziós, ha van L-nek n elemű bázisa. A nulltér dimenziója 0. Ha L-nek nincs véges bázisa, a tér dimenziója végtelen. Definíció: Egy A mátrix oszlop- illetve sorvektorterének dimenziójáta mátrix rangjánaknevezzük és r(A)-val jelöljük.

  10. Feladat:Szinguláris-e az alábbi A mátrix? 1, Lineáris tér Definíció: Az n-ed rendű kvadratikus mátrixot szingulárisnaknevezzük, ha rangja kisebb, mint n. Ha a rangja egyenlő n-nel, a mátrix nem szinguláris.

  11. 1, Lineáris tér Feladat: L2-ben térjünk át a triviális bázisról az a = (2,3) , b=(-1,2) bázisra és írjuk fel az új bázisban a c=(-7, 0) vektort. a b c

  12. 2, Bázistranszformáció Bázistranszformáció, elemi bázistranszformáció Algoritmus Legyen a1, a2, …, an az Ln egy bázisa. Ekkor Ln tetszőleges b és c vektora egyértelműen felírható a bázisvektorok lineáris kombinációjával: b = b1a1 + … + bkak + … + bnan c = c1a1 + … + ckak + … + cnan Próbáljuk meg az ak bázisvektort kicserélni b-vel és adjuk meg a c vektort ebben az új bázisban! Tegyük fel, hogy b 0, így legalább egy koordinátája  0, legyen ez a koordináta bk.

  13. 2, Bázistranszformáció b felírásából kifejezve ak-t: ak = 1/bk b – b1/bka1- … - bn/bkan Ezt beírva c kifejezésébe, megkapjuk az új (a1, …, b, …, an) bázisban a c koordinátáit: c = c1a1 + … + ck(1/bk b – b1/bka1- … - bn/bkan) + … cnan = ck/bk b + (c1- b1/bk)a1 + … + (cn- bn/bk)an Példa: Legyen L2-ben a = (2, 3), b = (-1, 2) és c = (-7, 0). a, Az a és b vektor bázist alkotnak-e L2-ben? b, Adjuk meg a c vektort az új bázisban!

  14. 2, Bázistranszformáció Általános séma: 1, A bázisból ki- illetve az oda belépő vektor kiválasztása. (generáló elem  0 ! ) 2, A  meghatározása. 3, További koordináták meghatározása (régi koordinátából kivonjuk a bázisba bekerült vektor ugyanannyiadik koordinátájának -szorosát). Megjegyzés: ha a  = 0, akkor a vektor koordinátái nem változnak az új bázisban sem. Táblázatos felírással az algoritmus egyszerűsödik.

  15. 2, Bázistranszformáció Alkalmazások: vektorrendszer függetlenségének vizsgálata, vektorrendszer rangjának meghatározása, mátrix rangjának meghatározása, kompatibilitás vizsgálata, mátrixfaktorizáció: A = A1A2, ahol A1 oszlopvektorai bázist alkotnak A oszlopvektorterében, A2 oszlopvektorai pedig az A oszlopvektorai az új bázisban felírt koordinátákkal.

  16. 2, Bázistranszformáció Legyen b = [4, -3, 1, -3]*, valamint b kompatibilis-e az A oszlopvektorrendszerével?

  17. 3, Lineáris egyenletrendszer Az n ismeretlenből és m egyenletből álló egyenletrendszer általános alakja: a11x1 + a12x2 + … + a1nxn = b1 a21x1 + a22x2 + … + a2nxn = b2 … am1x1 + am2x2 + … + amnxn = bm Elnevezések: homogén: b = 0 inhomogén: b 0 konzisztens reguláris Mátrixjelölésekkel: Ax = b

  18. 3, Lineáris egyenletrendszer Megoldhatóság vizsgálata: az egyenletrendszer írható a következő formában: a1x1 + a2x2 +… + anxn = b, vagyis b az A oszlopvektorainak egy lineáris kombinációja  Az Ax = b egyenletrendszer akkor és csak akkor megoldható, ha b kompatibilis az A oszlopvektoraival. (Ez homogén esetben mindig teljesül.) Kompatibilitás vizsgálata bázistranszformációval!

  19. 3, Lineáris egyenletrendszer Bázisba került változók: kötött változók, Bázisba be nem került változók: szabad változók. Megoldás lehet: általános: szabad és kötött változókkal felírva partikuláris: szabad változóknak konkrét értékeket adva, a kötött változók értékei kiszámolhatók bázismegoldás: olyan partikuláris megoldás, ahol a szabad változók értéke egyenlő 0-val. Szabadságfok: szabad változók száma

  20. 2, Bázistranszformáció Legyen b = [4, -3, 1, -3]*, valamint Oldjuk meg az Ax = b egyenletrendszert!

  21. 3, Lineáris egyenletrendszer Mátrix inverze: AX = E illetve YA = E. Belátható, hogy X = Y, így elég megoldani az egyiket: Ax1 = e1 Ax2 = e2 … Axn = en ahol A kvadratikus mátrix. Mind az n egységvektornak benne kell lennie az A oszlopvektorterében, vagyis az A oszlopvektorai lineárisan függetlenek kell, hogy legyenek. Így a mátrix rangja n, vagyis A nemszinguláris mátrix.

  22. 3, Lineáris egyenletrendszer Határozzuk meg a következő mátrixok inverzét!

  23. 4, Lineáris programozás Probléma felvetése: Egy üzem kétféle iparcikket állít elő. Az első cikk egy darabjának közvetlen anyagszükséglete 100.-Ft, a második cikknél ez az összeg 200.- Ft. Egy gyártási időszakban maximálisan 1000.-Ft áll rendelkezésre erre a célra. Az első cikknél géphasználati költség is van, egy egységre 100.-Ft, ebből 600.-Ft áll rendelkezésre. A második cikkhez szükséges anyagot messziről szállítják, a szállítási költség 200.-Ft egy egységre, ebből 800.-Ft a kapacitás. A munkabér mindkét termék 1-1 darabjánál 200-200.-Ft, az összesen kifizethető munkabér a gyártási időszakban 1400.-Ft. Az első termék egy darabján a tiszta nyereség 300.-Ft, a másodiknál ez az összeg 400.-Ft. Hány darabot gyártson az üzem a kétféle iparcikkből egy gyártási időszakban, hogy ne lépje túl a megadott kapacitásokat és a, maximális tiszta nyereséget érjen el? b, maximális összmennyiséget állítson elő?

  24. 4, Lineáris programozás Az adatok táblázatba foglalva, 100 Ft-ban:

  25. 4, Lineáris programozás Legyen: x1 : az első cikkből gyártandó mennyiség, x2 : a második cikkből gyártandó mennyiség. Feltételek: x1, x2 0 (negatív mennyiséget nem lehet gyártani) x1+2x2  10 (anyagköltségre vonatkozó feltétel) x1  6 (gépköltségre vonatkozó feltétel) 2x2 8 (szállítási költségre von. feltétel) 2x1+2x2 14 (munkabérre vonatkozó feltétel) Cél: z = 3x1 + 4x2  max (össznyereség maximuma) z = x1 + x2  max (összmennyiség maximuma)

  26. 4, Lineáris programozás Normál feladat: x  0, Ax  b, b  0, z = c*x  max Megoldás: Két változó esetén: grafikus módszer (szeminárium) Kettőnél több változó esetén: algebrai módszer SZIMPLEX MÓDSZER

  27. 4, Lineáris programozás Grafikus megoldás: 1, Lineáris egyenlőtlenségek megoldása grafikusan: x2-re rendezés és a relációjelnek megfelelő terület kiválasztása. 2, Lehetséges megoldások halmaza (L) az egyes egyenlőtlenségekből kapott területek metszete lesz. (Hiszen a változóinknak minden feltételt ki kell elégíteniük.) 3, L-en (általában konvex sokszög) keressük egy lineáris egyenes maximális értékét. Célfüggvényt szintén x2-re rendezzük, nagyobb z értékek felfelé eltolt egyeneseket jelentenek. 4, Addig toljuk az adott meredekségű célfüggvényt, míg el nem érjük L határát. Vagyis az optimum csúcspontban lesz.

  28. 4, Lineáris programozás Lineáris egyenes általános alakja: y = ax + b ahol a az egyenes meredeksége, b pedig az y tengelymetszetet jelöli. (Vagy: bármely egyenes megadható két tetszőleges pontjával.) A mi jelölésünkben x szerepét az x1 változó (vízszintes tengelyen), y szerepét pedig az x2 változó (függőleges tengelyen) veszi át. Első feltétel: x1, x2 0  megoldás csak az I. síknegyedben lehet. Anyagköltségre vonatkozó feltétel: x1+ 2x2  10  x2  5 – 0,5x1 Vagyis az x2 = 5 – 0,5x egyenes és az alatta lévő terület pontjai.

  29. 4, Lineáris programozás x2  5 – 0,5x1

  30. 4, Lineáris programozás Gépköltségre vonatkozó feltétel: x1 6 Az x1= 6 (az x2 tengellyel párhuzamos) egyenes és a tőle balra lévő tartomány.

  31. 4, Lineáris programozás A két feltételnek együttesen megfelelő tartomány:

  32. 4, Lineáris programozás Szállítási költségre vonatkozó feltétel: 2x2 8  x2  4 Az x2 = 4 (x1 tengellyel párhuzamos) egyenes és az alatta lévő terület. Munkabérre vonatkozó feltétel: 2x1+2x2 14  x2  7 - x1 Az x2 = 7 - x1 egyenes és az alatta lévő terület.

  33. 4, Lineáris programozás z = 3x1 + 4x2 max z = 24 z = 16 z = 20 z = 8

  34. 4, Lineáris programozás z = x1 + x2 max z = 7 z = 6 z =4 z = 2

  35. 4, Lineáris programozás Feladatunk megoldása grafikusan: P2(0,4) P3(2,4) P4(4,3) P5(6,1) P1(0,0) P6(6,0)

  36. 4, Lineáris programozás Válaszok: A, Legnagyobb nyereséget, mégpedig 2400 Ft-ot, akkor érünk el, ha az első iparcikkből 4-et, a másodikból pedig 3-at gyártunk. B, A maximális összmennyiséget, (7 darabot) a P4(4,3) és a P5(6,1) pontok által meghatározott szakasz minden pontja adja. Vagyis: (4,3) + (1-)(6,1) ahol 0 ≤  ≤ 1.

  37. 4, Lineáris programozás Speciális esetek: a, A célfüggvény nem korlátos L-en  nincs optimális megoldás. b, A feltételek ellentmondóak  nincs lehetséges megoldás. c, Felesleges feltétel szerepel  elhagyható.

  38. 4, Lineáris programozás Általános tapasztalatok: 1, A lehetséges megoldások halmaza (L) a síknak egy egyenesekkel határolt zárt tartománya. (Kivételesen lehet nem korlátos, vagy üres tartomány is, de ezekkel gyakorlati szempontból nem kell foglalkoznunk.) L konvex sokszög. (L konvex, ha  x1, x2 L esetén  x1 +(1-  )x2 is eleme L-nek., ahol 0 ≤  ≤ 1.)

  39. 4, Lineáris programozás Általános tapasztalatok: 2, A növekvő hatékonyságokhoz felfelé eltolt párhuzamos egyenesek tartoznak. Így az optimális megoldás ezen egyenessereg közül a legmagasabb paraméterű, de a tartománnyal még érintkező egyenesen van. Optimális megoldás a L halmaz valamelyik csúcs(extremális)pontjában vagy két csúcspont által meghatározott szakasz pontjaiban van. Extremális pont a halmaz azon pontja,mely a halmaz egyetlen szakaszának sem felezőpontja.

  40. 4, Lineáris programozás Szimplex módszer Nézzük újra a már megoldott feladatunkat. x1, x2 0 x1+ 2x2  10 x1  6 2x2 8 2x1+ 2x2 14 Cél: z = 3x1 + 4x2  max Az egyenlőtlenségrendszerből készítsünk egyenletrendszert, hiszen annak a megoldását már ismerjük.

  41. 4, Lineáris programozás x1+ 2x2 + u1 = 10 x1 + u2 = 6 2x2 + u3 = 8 2x1+ 2x2 u4 = 14 Ahol u1, u2, u3, u4  0 x1, x2 : elsődleges ( primál) változók u1, u2, u3, u4 : másodlagos (duál) változók

  42. 4, Lineáris programozás Induló táblázatunk:

  43. 4, Lineáris programozás Az első oszlopban feltüntetett változók értékei mindig az utolsó oszlopban olvashatók le. (programba bevontak) Az első sorban feltüntetett változók értékei mindig 0. (programba be nem vont változók) A jobb alsó sarokban mindig a célérték - 1-szerese szerepel.

  44. 4, Lineáris programozás Szimplex módszer lényege: Kiindul egy lehetséges bázismegoldásból (mely mindig egy extremális (csúcs)pontot határoz meg), majd olyan új bázismegoldásra (csúcspontra) tér át, mely az előzőtől csak egy vektorban különbözik és a célérték nem rosszabb (általában jobb lesz ). Addig folytatjuk, amíg lehet, vagyis amíg el nem jutunk az optimális megoldáshoz, vagy ki nem derül, hogy nincs optimális megoldás.

  45. 4, Lineáris programozás Program javítása: Valamelyik terméket bevonjuk a termelésbe. Először azt célszerű bevonni, amelyik nagyobb hatékonysággal rendelkezik. A termelésbe bevont termékből azt a maximális mennyiséget programozzuk, amit a kapacitásadatok megengednek. (Szűk keresztmetszet.)

  46. 4, Lineáris programozás Generáló elem választásának feltételei: A, Csak olyan oszlopban választhatunk, ahol az utolsó elem nem negatív (célszerű a nagyobb pozitív értékű oszlopból választani). B, Generáló elem csak pozitív lehet. C, Több pozitív érték közül a szűk keresztmetszet alapján választunk. (Összevetés a grafikussal: az origóból indulva, mindig szomszédos csúcspontra lépve jutunk el az optimális megoldáshoz.)

  47. 4, Lineáris programozás Specialitások: A, Ha a tábla utolsó sorában még van pozitív elem, de felette nem tudunk generáló elemet választani (nincs pozitív elem), a feladatnak nincs optimális megoldása. B, Ha az utolsó sorban a negatív értékek mellett 0 szerepel, alternatív optimum van.(végtelen sok megoldás).

  48. 4, Lineáris programozás Szimplex módszer Nézzük az alábbi két feladatot: x1, x2 0 x1 - x2 4 2x1 - 2x2 16 -4x1 + 2x2 10 z = 6x1 + 5x2 max x1, x2, x3, x4 0 x1 + x3 +2x4 40 2x2 + 2x3  30 x1 + 2x3 20 z = x1+x2+2x3+2x4 max

  49. 4, Lineáris programozás Dualitás Minden lineáris programozási feladathoz hozzárendelhető egy másik feladat, (a duálisa): x  0u*  0 Ax  b duálisa u* A*  c* c*x  max u*b  min

  50. 4, Lineáris programozás Az induló szimplex táblázat a primál és duál feladat összes adatát tartalmazza:

More Related