Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Lineáris programozás Elemi példa Alapfogalmak Általános vizsg. Szimplex-módszer.

Hasonló előadás


Az előadások a következő témára: "Lineáris programozás Elemi példa Alapfogalmak Általános vizsg. Szimplex-módszer."— Előadás másolata:

1 Lineáris programozás Elemi példa Alapfogalmak Általános vizsg. Szimplex-módszer

2 Lineáris programozás (elemi példa /1.) a) A és B textília jellegű termékeket azonos alapanyagból gyártjuk. Ebből A-hoz 2 m, B-hez 5 m szükséges minden egyes méter késztermék előállításához, és amelyből hetente legfeljebb méter áll rendelkezésünkre. b) Egységnyi termelési költségek A-ra 20 Ft/m és B-re 30Ft/m, amelyek heti összegzett költsége nem haladhatja meg a Ft-ot. c) A gyártáshoz felhasználunk bizonyos segédanyagot, amelyből A-hoz 1 m-t, B-hez 1/2 m-t használunk fel. A felhasznált segédanyagok heti mennyisége nem haladhatja meg a 700 m-t. d) Előzetes felmérés szerint A-ból hetente legalább 100 m-re van szükség. e) A rendelkezésre álló gépparkkal a B-ből hetente legfeljebb 400 m gyártható. f) A termelés nyeresége termékegységre vetítve A terméken 2 Ft, B-n 6 Ft.

3 A feltételek matematikai megfogalmazása: x1x1 x2x2 (d) (e) (c)(b) (a) Lineáris programozás (elemi példa /2.)

4 x1x1 x2x2 z A feladat grafikus megközelítése: Lineáris programozás (elemi példa /3.) x1x1 x2x2 Z opt

5 Lineáris programozás (alapfogalmak/1.) 1.) Lineáris kombináció: Az a 1, a 2, ……., a n vektorok, és a c 1, c 2, …., c n skalárok lineáris kombinációja az x=c 1 a 1 +c 2 a 2 +………+c n a n vektor. 2.) A lineáris kombináció konvex, ha: a c 1 + c 2 + ….+c n = 1. Például: a3a3 a2a2 a1a1 3.) Nyílt, korlátos, konvex tartomány: ………….. 4.) Szimplex: Olyan korlátos konvex poliéder, amelynek egyel több csúcsa van mint ahány dimenziós. 6.) Megengedett megoldások halmaza: 5.) Alapfeladat:

6 Lineáris programozás (alapfogalmak/2.) 7.) Bázismegoldás: Tekintsünk egy (m,n)-es egyenletrendszert (n>m feltehető). Az ezt kielégítő x vektort nevezzük megoldásnak. Feltehető, hogy az A rangja „m”, tehát minden x megoldáshoz létezik az a i -k olyan részrendszere (altér) amelyektől a többi vektor lineárisan függ, tehát az A mátrix oszlopvektoraiból alkotott rendszer bázisát alkotják, vagyis: Ekkor nevezzük bázismegoldásnak.

7 Lineáris programozás (a feladat általános vizsgálata/1.) A feladat: Minden sor egyenlőtlenségét (és a feltételeket is) kielégítő vektorok egy egy zárt féltéren helyezkednek el! Az „m” darab ilyen zárt féltér által köz- bezárt térrészt konvex poliéder- nek nevezünk, ami egyben a megengedett programok halmaza. Mátrix-alakban: Def.: Az x 0 megoldás optimális, ha a célfüggvény ezen a helyen veszi fel a maximumát!

8 Lineáris programozás (a feladat általános vizsgálata/2.) A segédváltozókkal bővített feladat: Az x n+i (i=1,2,….,m) változó feladata, hogy az egyenlőtlenségeket kiegészítse egyenlőségekké, tehát 0 < x n+i (i=1,2,….,m). Ekkor az együttható-mátrixunk kibővül jobbról egy egységmátrixszal. A célfüggvény együttható-vektorát csupa nulla komponenssel kiegészítve egy n+m dimenziós vektort kapunk, de a célfüggvény értéke nem változik:

9 Lineáris programozás (a feladat általános vizsgálata/3.) Kérdés, hogy a kibővített feladat megengedett bázismegoldásai hol helyezkednek el a konvex poliéderen? TÉTEL: Az egyenletrendszer bázismegoldásai a konvex poliéder csúcsain helyezkednek el, és megfordítva, a konvex poliéder minden csúcsa előállítható az lineáris egyenletrendszer megengedett bázismegoldásaiként. - A konvex poliéder definíciójából és a kibővített feladat bázismegoldásaira vonatkozó tételből következik, hogy véges sok csúcs van, tehát véges sok megoldás. Mindebből következik, hogy elegendő megvizsgálni a célfüggvény értékeit a csúcsokon, és ezek közül kiválasztani a maximumot. DEF.: Az konvex poliéder x 1 és x 2 csúcsai szomszédosak, ha tekintjük azokat a B 1 és B 2 bázisokat, amelyekre x 1 -et a B 1, x 2 -t a B 2 határozza meg, és ekkor a B 1 és B 2 csak egyetlen oszlopvektorban különbözik egymástól.

10 Lineáris programozás (a szimplex-módszer/1.) A szimplex algoritmus lényege: 1. Tekintsük az egyenletrendszer egy bázismegoldását, x 0 -t és B 0 -t, z 0 -t 2. Térjünk át elemi bázistranszformációval a B 0 -ról B 1 -re úgy, hogy x 1 szomszédos csúcsa x 0 -nak, és z 0 < z 1 teljesül. 3. Az eljárást olyan k indexig ismételjük, amíg már nem lehet z k helyett „jobbat” találni, ekkor x k -t bizonyos feltételek esetén elfogadjuk. Tekintsük a kibővített feladatot, és feltesszük, hogy (ha vala- mely b i komponensre ez nem igaz, -1-gyel való szorzással elérhető). Az egyszerűség kedvéért jelölje még N:=n+m. Az algoritmus minden B k bázisához egyértelműen hozzátartozik egy szimplex-tábla: A szimplex algoritmus:

11 Lineáris programozás (a szimplex-módszer/2.) A „k”-ik szimplex-tábla: c T >>c 1 c 2 …….c m ……..c N c B B x B a 1 a 2 …….a m ……..a N c 1 a 1 x 1 d 11 d 12 ……..d 1m …….d 1N c 2 a 2 x 2 d 21 d 22 ……..d 2m …….d 2N :::::……..:… : c j a j x j d j1 d j2 ……..d jm ……..d JN :::::……..:…….: c m a m x m d m1 d m2 …….d mm …….d mN -zc 1 1 c 1 1 …….c m -z m ……..c N -z N Bázisvektorok Bázisvektorokhoz tartozó célfüggvény- együtthatók. z p =d 1p c 1 + d 2p c 2 + d 3p c 3 +………+ d mp c m (p=1,2,…….,N)

12 Lineáris programozás (a szimplex-módszer/2.) Az algoritmus lépései: 1.) Az induló szimplex-tábla kitöltése; 2.) max (c p -z p ) kiválasztása. Ha a kiválasztott maximum nem pozitív, az algoritmus befejeződött az x B meg- oldás elfogadásával; 3.) Jelölje „k” a 2.)-ban talált maximum indexét, ekkor megvizsgáljuk a szimplex-tábla k-ik oszlopában a d i,k előjeleit. Ha nincs közöttük pozitív, akkor az algoritmus azzal fejeződik be, hogy a feladatnak nincs véges megoldása a konvex poliéderen. Ellenkező esetben térjünk át új bázisra úgy, hogy képezzük a: számot, és az a j vektor elhagyja a bázist, és d jk lesz a „pivot” elem. 4.) Az új szimplex-tábla meghatározása: a) A B 1 bázisban a j szimbólum helyére a k -t, c j helyére c k -t írunk. Az új táblában az a k bázisvektor sorában lévő értékeket úgy kapjuk, hogy a régi tábla e sorában lévő elemeket rendre elosztjuk a pivot elemmel. b) Az új tábla további elemeit úgy kapjuk, hogy keressük meg a kérdéses új értékeknek megfelelő értékeket a régi táblában, majd vegyük a régi tábla azon két elemét, amelyek ezzel az elemmel és a pivot elemmel egy sorban illetve egy oszlopban vannak. Az új érték ennek megfelelően: új=régi-(u/pivot)*v, ahol: új u pivot régi v 5.) Az utolsó sor felújítása (c p -z p ) értékekkel, ahol: z p =d 1p c 1 + d 2p c 2 + d 3p c 3 +………+ d mp c m (p=1,2,…….,N)


Letölteni ppt "Lineáris programozás Elemi példa Alapfogalmak Általános vizsg. Szimplex-módszer."

Hasonló előadás


Google Hirdetések