1 / 12

Lineáris programozás

Lineáris programozás. Elemi példa. Alapfogalmak. Általános vizsg. Szimplex-módszer. 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

beata
Download Presentation

Lineáris programozá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. 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 3.000 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 18.000 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. x2 (e) x1 (a) (c) (b) (d) Lineáris programozás (elemi példa /2.) A feltételek matematikai megfogalmazása:

  4. Zopt z x2 x2 x1 x1 Lineáris programozás (elemi példa /3.) A feladat grafikus megközelítése:

  5. a3 2.) A lineáris kombináció konvex, ha: a c1+ c2+ ….+cn = 1. Például: a1 a2 5.) Alapfeladat: 6.) Megengedett megoldások halmaza: Lineáris programozás (alapfogalmak/1.) 1.) Lineáris kombináció: Az a1, a2, ……., an vektorok, és a c1, c2, …., cn skalárok lineáris kombinációja az x=c1a1+c2a2+………+cnan vektor. 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. 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 ai-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. Lineáris programozás (alapfogalmak/2.) 7.) Bázismegoldás: Tekintsünk egy (m,n)-es egyenletrendszert (n>m feltehető).

  7. 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. Def.: Az x0 megoldás optimális, ha a célfüggvény ezen a helyen veszi fel a maximumát! Mátrix-alakban: Lineáris programozás (a feladat általános vizsgálata/1.)

  8. Lineáris programozás (a feladat általános vizsgálata/2.) A segédváltozókkal bővített feladat: Az xn+i (i=1,2,….,m) változó feladata, hogy az egyenlőtlenségeket kiegészítse egyenlőségekké, tehát 0 < xn+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. - 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. 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. DEF.: Az konvex poliéder x1 és x2 csúcsai szomszédosak, ha tekintjük azokat a B1 és B2 bázisokat, amelyekre x1-et a B1, x2-t a B2 határozza meg, és ekkor a B1 és B2 csak egyetlen oszlopvektorban különbözik egymástól. 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?

  10. A szimplex algoritmus: Tekintsük a kibővített feladatot, és feltesszük, hogy (ha vala-mely bi 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 Bk bázisához egyértelműen hozzátartozik egy szimplex-tábla: 1. Tekintsük az egyenletrendszer egy bázismegoldását, x0-t és B0-t, z0-t Lineáris programozás (a szimplex-módszer/1.) A szimplex algoritmus lényege: 2. Térjünk át elemi bázistranszformációval a B0-ról B1-re úgy, hogy x1 szomszédos csúcsa x0-nak, és z0 < z1 teljesül. 3. Az eljárást olyan k indexig ismételjük, amíg már nem lehet zk helyett „jobbat” találni, ekkor xk-t bizonyos feltételek esetén elfogadjuk.

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

  12. 3.) Jelölje „k” a 2.)-ban talált maximum indexét, ekkor megvizsgáljuk a szimplex-tábla k-ik oszlopában a di,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 aj vektor elhagyja a bázist, és djk lesz a „pivot” elem. 4.) Az új szimplex-tábla meghatározása: a) A B1 bázisban aj szimbólum helyére ak-t, cj helyére ck-t írunk. Az új táblában az ak 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 v régi u pivot 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 (cp-zp) kiválasztása. Ha a kiválasztott maximum nem pozitív, az algoritmus befejeződött az xB meg- oldás elfogadásával; 5.) Az utolsó sor felújítása (cp-zp) értékekkel, ahol: zp=d1pc1+ d2pc2+ d3pc3+………+ dmpcm (p=1,2,…….,N)

More Related