1 / 120

Optimalizálási feladatok a termelés tervezésében és irányításában

Optimalizálási feladatok a termelés tervezésében és irányításában. Oktatási segédlet 2012 Dr. Kulcsár Gyula egyetemi docens Miskolci Egyetem, Alkalmazott Informatikai Tanszék. TÁMOP-4.2.1.B-10/2/KONV-2010-0001 3. KK 3. TM 4. K+F. Tartalomjegyzék.

huela
Télécharger la présentation

Optimalizálási feladatok a termelés tervezésében és irányításában

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. Optimalizálási feladatoka termelés tervezésében és irányításában Oktatási segédlet 2012 Dr. Kulcsár Gyulaegyetemi docens Miskolci Egyetem, Alkalmazott Informatikai Tanszék TÁMOP-4.2.1.B-10/2/KONV-2010-0001 3. KK 3. TM 4. K+F

  2. Tartalomjegyzék • Hozzárendelési feladat megoldása Magyar-módszerrel • Szállítási feladat megoldása • Projektütemezési feladat megoldása • Termelésütemezési feladatok modellezése és megoldása

  3. A Hozzárendelési feladat megoldása Magyar-módszerrel

  4. A Hozzárendelési feladat • Adott meghatározott számú gép és ugyanannyi független munka. • Bármelyik gép bármelyik munkát képes elvégezni. • Ismertek a gépek adott munkákra vonatkozó költségei. • A feladat az, hogy minden géphez rendeljünk pontosan egy munkát úgy, hogy minden munka el legyen végezve és az összköltség minimális legyen.

  5. A Hozzárendelési feladat matematikai modellje • Jelölések: n – gépek (munkák) száma i – gép index j – munka index – az i. gép által végzett j. munka költsége – döntési változó

  6. Példa n = 5

  7. A példa megoldása 3+2+3+2+2= 12

  8. A megoldás menete • A költség mátrix szisztematikus átalakítása Magyar-módszerrel, független nulla rendszer kiválasztása. • A redukált költség mátrix független nulla rendszere alapján a döntési változók értékének beállítása.

  9. A Magyar-módszer váza Előkészítő rész • 0. független nulla-rendszer képzése Iterációs rész: • 1. vizsgálat, oszloplekötés • 2. szabad 0 keresése • 3. vesszőzés, sorlekötés, oszlopfeloldás • 4. láncképzés, átalakítás • 5. redukálás

  10. 0. Előkészítés • Minden sorból vonjuk ki az adott sor legkisebb elemét. • Minden oszlopból vonjuk ki az adott oszlop legkisebb elemét. • Oszlopfolytonosan alakítsunk ki független nulla-rendszert. (Az oszlopindexek szerint haladjunk végig növekvő sorrendben, mindig a legkisebb sorindexű nullát vegyük fel a rendszerbe (0*)! Minden sorban és oszlopban legfeljebb egy nulla legyen kiválasztva!)

  11. 1. Vizsgálat, oszloplekötés • Ha a független nulla-rendszer elemeinek száma n akkor készen vagyunk. A 0* elemek mutatják az eredményt. • Egyébként, kössük le a 0*-okat tartalmazó oszlopokat (az oszlop felé tegyünk + jelet)! • Folytassuk a 2. lépéssel!

  12. 2. Szabad nulla keresése • Keressünk sorfolytonosan szabad 0-át! (Szabad elem az, amelynek sem sora sem oszlopa nem kötött.) • Ha nincs akkor folytassuk az 5. lépéssel! • Ha van, akkor nézzük meg, hogy a sora tartalmaz-e 0*! • Ha tartalmaz akkor folytassuk a 3. lépéssel. • Egyébként folytassuk a 4. lépéssel!

  13. 3. Vesszőzés, sorlekötés, oszlopfeloldás • A vizsgált szabad 0-t jelöljük meg vesszővel (0’)! • Kössük le a sorát (tegyünk + jelet a sor elé)! • Oldjuk fel a sorában lévő 0* oszlopát! • Folytassuk a 2. lépéssel!

  14. 4. Láncképzés, átalakítás • A vizsgált szabad 0-t jelöljük vesszővel (0’)! • Képezzünk láncot az új 0’-től indulva úgy, hogy a 0’-t az oszlopában lévő 0* követi, a 0*-t a sorában lévő 0’ követi, ha nincs megfelelő elem véget ér a lánc. A lánc elemeit jelöljük e-vel (0’e vagy 0*e). • Készítsünk új mátrixok: az aktuálisból másoljuk át a számokat jelölések nélkül! Majd azokat az elemeket jelöljük *-gal amelyre igaz az hogy: • Láncban nem szereplő 0* elem volt (0*) vagy • Láncban szereplő 0’ elem volt (0’e) legutóbb. • Folytassuk az 1. lépéssel!

  15. 5. Redukálás • Válasszuk ki a szabad elemek közül a legkisebbet (szemin)! • Szemin-t vonjuk ki az összes szabad elemből! • Szemint-t adjuk hozzá a kétszeresen kötött elemekhez! (Kétszeresen kötött elem: sora is és oszlopa is kötött.) • Folytassuk a 2. lépéssel!

  16. Példa Kiindulási állapot:

  17. 1. 0. Előkészítés: Sorminimumok kivonása soronként.

  18. 2. 0. Előkészítés: Oszlopminimumok kivonása oszloponként.

  19. 3. 0. Előkészítés: Független nulla-rendszer kijelölése oszlopfolytonosan.

  20. 4. 1. lépés: • Független nulla-rendszer kijelölése oszlop-folytonosan. • Nincs teljes rendszer. • 0* elemek oszlopainak lekötése.

  21. 5. 2. lépés: • Szabad 0 keresése sorfolytonosan. • Van. • Van a sorában 0*.

  22. 6. 3. lépés: • A talált szabad 0 megjelölése ‘-vel. • 0’ sorának lekötése. • 0' sorában lévő 0* oszlopának feloldása.

  23. 7. 2. lépés: • Szabad 0 keresése sorfolytonosan. • Van. • Van a sorában 0*.

  24. 8. 3. lépés: • A talált szabad 0 megjelölése ‘-vel. • 0’ sorának lekötése. • 0' sorában lévő 0* oszlopának feloldása.

  25. 9. 2. lépés: • Szabad 0 keresése sorfolytonosan. • Van. • Van a sorában 0*.

  26. 10. 3. lépés: • A talált szabad 0 megjelölése ‘-vel. • 0’ sorának lekötése. • 0' sorában lévő 0* oszlopának feloldása.

  27. 11. 2. lépés: • Szabad 0 keresése sorfolytonosan. • Nincs.

  28. 12. 5. lépés: • Szabad elemek minimumának kiválasztása: Szemin=c21=1. • Szemin kivonása a szabadelemekből. • Szemin hozzáadása a kétszeresen lekötött elemekhez.

  29. 13. 2. lépés: • Szabad 0 keresése sorfolytonosan. • Van. • Van a sorában 0*.

  30. 14. 3. lépés: • A talált szabad 0 megjelölése ‘-vel. • 0’ sorának lekötése. • 0' sorában lévő 0* oszlopának feloldása.

  31. 15. 2. lépés: • Szabad 0 keresése sorfolytonosan. • Van. • Nincs a sorában 0*.

  32. 16. 4. lépés: • A talált szabad 0 megjelölése ’-vel. • Innen indulva láncképzés. • Minden 0'-t az oszlopában lévő 0* követ. • Minden 0*-t a sorában lévő 0' követ. • A lánc elemeit jelöljük e-vel.

  33. 16. (folytatás) 4. lépés: • Új mátrix másolása a jelölések nélkül. • Elem megjelölése *-al akkor, • ha láncban nem szereplő 0* volt, • ha láncban szereplő 0' volt.

  34. 17. 1. lépés: • Van teljes nulla rendszer. • I. fázis vége. Magyar módszer kész.

  35. 18. II. • Döntési változók értékének beállítása a redukált költségmátrix alapján: • a *-al jelölt elemek helyére 1 • a többi elem helyére 0 kerül.

  36. A példa megoldása = 3+2+3+2+2= 12

  37. A Szállítási feladat megoldása

  38. A Szállítási feladat • Adott meghatározott számú beszállító (source) a szállítható mennyiségekkel (transportation availability). • Adott meghatározott számú rendeltetési hely (destination) az igényekkel (demand). • Ismertek az egységnyi mennyiségre vonatkoztatott szállítási költségek. • Készítsünk szállítási tervet minimális szállítási összköltséggel!

  39. A Szállítási feladat matematikai modellje • Jelölések: n – források száma m – a célhelyek száma i – forrás index – az i forrás kapacitása j – céhely index – a j. célhely igénye – az i. forrástól a j. célhelyre szállított egységnyi mennyiség költsége – döntési változó, a szállított mennyiség Kiegyenlített feladat esetén:

  40. Példa n = 3, m = 4 Kiegyenlített feladat!

  41. A megoldás algoritmusa Előkészítő rész • 0. Egy lehetséges bázis-megoldás készítése Iterációs rész: • 1. Vizsgálat: optimális-e a megoldás? • 2. A megoldás javítása

  42. 0. Előkészítés • Többféle módszer lehetséges • Pl. bal-felső sarok módszer • Felhasználjuk a szállítható mennyiségeket a sorokban, balról jobbra haladva a cellákon. • Kielégítjük az igényeket az oszlopokban, fentről lefelé haladva a cellákon. Jobb-felső, bal-alsó, jobb-alsó sarokból is indulhatunk! Kiválasztjuk a legjobb kiindulási módszert, de nem kötelező. Bármelyik jó!

  43. 1. Vizsgálat: optimális-e a megoldás? • Ha n+m-1 <= r (ra kijelölt cellák száma), akkor nincs elfajulás: Számítsuk ki a javulási indexeket (Iij)! Ri legyen a i. sor és Kj legyen a j. oszlop indexe úgy, hogy Ri + Kj= Cij a kijelölt cellákra és egy ismeretlen szabadon választható pl. R1=0 AzRiés Kj indexek ismeretében határozzuk meg a javulásiindexeketIij= Cij – Ri – Kj alapján Ha minden Iij>= 0 akkor a megoldás optimális! Ha nem akkor folytassuk a 2. lépéssel. • Elfajulás esetén használjunk 0-t egy megfelelő üres cella kitöltésére, és kezdjük újra a vizsgálatot.

  44. 2. A megoldás javítása • Készítsünk hurkot a legkisebb negatív értéktől indulva úgy, hogy a hurok többi eleme kiválasztott elem legyen. A hurok képzése során vegyük figyelembe, hogy: • az egymást követő cellák ugyanabban a sorban vagy ugyanabban az oszlopban helyezkedjenek el • ugyanabban a sorban vagy oszlopban ne legyen kettőnél több egymást követő cella • ez első és utolsó cella legyen azonos sorban vagy oszlopban • egy cella legfeljebb egyszer szerepelhet a hurokban • A hurok mentén változtassuk meg a kijelölt értékeket úgy, hogy a lehető legnagyobb javulást érjük el a korlátozások betartása mellett. • Vegyünk fel egy segédváltozót (y) és a kiindulási cellához adjuk hozzá, majd a hurok mentén felváltva – és + előjellel adjuk hozzá az érintett cellákhoz. • Az y értékét azoknak a celláknak a legkisebb értéke határozza meg, amelyekben - előjellel szerepel az y. • Folytassuk az 1. lépéssel!

  45. Speciális esetek • Kiegyenlített (balanced) feladat: az igényelt mennyiségek összegeegyenlő az elszállítható mennyiségek összegével: • Kiegyenlítetlen (unbalanced) feladat: • az igényelt mennyiségek összegekisebb az elszállítható mennyiségek összegénél (túlkínálat): • az igényelt mennyiségek összegenagyobb az elszállítható mennyiségek összegénél (túlkereslet):

  46. Kiegyenlítetlen feladat megoldása túlkínálat esetén • Transzformáljuk a kiegyenlítetlen feladatot kiegyenlített feladattá: Adjunk a célhelyekhez egy kiegészítő helyet • az igénye éppen a többlettel egyezzen meg, • a hozzá rendelt fajlagos költségek legyenek nullák. • Oldjuk meg a kiegyenlített feladatot a tanult módszerrel!

  47. Kiegyenlítetlen feladat megoldása túlkereslet esetén • Transzformáljuk a kiegyenlítetlen feladatot kiegyenlített feladattá: Adjunk a forrásokhoz egy kiegészítő helyet • a szállítható mennyiség a hiánnyal egyezzen meg, • a hozzá rendelt fajlagos költségek legyenek nullák. • Oldjuk meg a kiegyenlített feladatot a tanult módszerrel!

  48. Szállítási tábla formalizmusa

  49. Szállítási tábla jelölései • n = 3 a források száma • m = 4 a célállomások száma • S1, S2, S3 a források • D1, D2, D3, D4 célállomások • t1, t2, t3 a forrásokból elszállítható mennyiségek • d1, d2, d3, d4 a célállomások szükséglete • R1, R2, R3 a sorok árnyékköltségei • K1, K2, K3, K4 az oszlopok árnyékköltségei • I11, …, I34 a javulási indexek • c11,…, c34 a fajlagos költségek • x11, …, x34 a szállított mennyiségek (döntési változók)

  50. Példa kiegyenlített feladatra • Kiinduló tábla felvétele.

More Related