• Nem Talált Eredményt

Flow shop, job shop, open shop

In document GYÁRTÓRENDSZEREK MODELLEZÉSE (Pldal 97-100)

6. Ütemezés 96

6.2. Flow shop, job shop, open shop

Egy szakaszos működésű rendszerben a taszkokra a következő tulajdonságok teljesülnek :

• Egy taszk adott bemenetből adott kimenetet állít elő.

• A teljes bemenetnek a taszk indulásakor rendelkezésre kell állnia.

• A kimenet csak a taszk befejezése után áll rendelkezésre.

• Egy taszk adott ideig tart, ahol az idő függhet a használt berendezéstől.

• A taszk nem megszakítható.

A szakirodalomban eddig ismert megoldási módszerek egy része gyakorlati tapasztalatok-nak megfelelően megfogalmazott heurisztikus szabályokon alapul, melyek fő hátránya, hogy nem tudják biztosítani az optimumot. Egy másik napjainkban használatos módszer, hogy min-den ütemezési feladatosztályhoz felírnak egy speciális matematikai modellt, és azt általános célú megoldó szoftverekkel oldják meg. Ez a megközelítés a feladat nagyfokú kombinato-rikus bonyolultság miatt erősen korlátozza a megoldható feladatok méretét. A gyakorlatban egy ütemezési feladat matematikai modelljének megfelelő leírásához rengeteg változót kell bevezetni (például a berendezések taszkokhoz való rendeléséhez, a termelés és a taszkok sor-rendjének leírásához, a taszkok időzítéséhez), amely modell nehezen vagy gyakran egyáltalán nem oldható meg általános célú megoldó szoftverekkel.

Az előbbiekből látszik, hogy minden ütemezési feladatosztályhoz egy specializált algorit-musra és megoldó szoftverre van szükség, amelyhez jó kiindulási pontot nyújt az S-gráfhoz ([18], [12]) illesztett korlátozás és szétválasztás módszeren alapuló algoritmus ([19]). Ehhez az alapalgoritmushoz készíthetőek feladatspecifikus valamint általánosan használható eljárá-sok illetve gyorsítáeljárá-sok, amelyeket könynyen illeszthetünk a meglévő algoritmushoz, és ame-lyek adott feladatosztály speciális tulajdonságait figyelembe veszik és kihasználják. A feladat előzetes vizsgálata során eldönthető, hogy ezek közül az eljárások közül melyeket kell, il-letve melyeket érdemes használni a gyorsabb megoldás érdekében. Ezenkívül az algoritmus rugalmassága lehetővé teszi, hogy a felhasználó által kért követelményeket figyelembe le-hessen venni, például az első három legjobb megoldás megadása vagy speciális heurisztikák beépítése.

A szakirodalomban eddig közölt vizsgálatokban nem fordítottak kellő hangsúlyt arra, hogy az ütemezési feladatoknak létezik-e általános, jól használható leírása, amely segítségével az ütemezés szinte minden feladatosztályát meg lehet oldani. Szakaszos működésű rendszerek ütemezéséhez a jól használható, hatékony gráf leírást, az S-gráfot, és a hozzá elkészített algo-ritmust használtunk. Tekintettel arra, hogy ezt a módszertant későbbi felhasználásra szánjuk, a további kiterjesztések és gyorsítások hatékony fejlesztése érdekében szigorú formalizmust vezettünk be.

Amennyiben az Olvasó komolyabban érdeklődik az S-gráf módszertan iránt, kérjük láto-gassa meg a www.s-graph.com honlapot.

6.2. Flow shop, job shop, open shop

Ütemezési feladatokat széles körű előfordulásuk és összetett jellegük miatt sokféle szempont alapján osztályozhatjuk. Az ütemezési feladatokat osztályozhatjuk a termékek elkészítéséhez

szükséges műveletek, feladatok végrehajtásának módja alapján. Így megkülönböztethetünk

„flow shop”, „job shop” és „open shop” ütemezési feladatokat.

A taszkokat ebben a fejezetben műveleteknek (operation) hívjuk, ezek csoportját pedig munkának (job), amely egy termék előállításához szükséges műveleteket tartalmazza a gyár-tás sorrendjébne. Feltételezzük, hogy a különböző munkákhoz tartozó műveletek között nincs sorrendi feltétel, kivéve azokat a műveletek, amelyeket ugyanazon gépekkel (machine) lehet elvégezni. A fejezetben a következő feltételezésekkel élünk :

1. A műveletek nem megszakíthatóak, és minden művelethez pontosan egy gép tartozik, amivel végre lehet hajtani.

2. Nem lehet egy géppel egyszerre több műveletet végezni.

LegyenJ={J1, . . . ,Jn}a munkák halmaza ésM={M1, . . . ,Mm}a gépek halmaza. Minden Jjmunkacj darab műveletből áll (O1j,O2j, . . . ,Ocj,) aholcj munkánként más és más lehet.

Lehetnek olyan műveletei egy munkának, amelyeket ugyanaz a gép hajt végre ígycjlehet na-gyobb, mintm. AzOijművelet működési idejétpij-vel, aJjmunka működési idejének vektorát pj-vel jelöljük. A gépek hozzárendelését műveletekhezmij(i=1,2, . . . ,cj,j=1,2, . . . ,n) szá-mokkal jelöljük, aholOij műveletet azmij gépen kell elvégezni. A cél a műveletek optimális sorrendjének meghatározása úgy, hogy a rendszer teljes működési ideje minimális legyen.

Ezekkel a jelölésekkel tudjuk definiálni a flow shop, job shop és open shop feladatokat a következő módon.

• Egyflow shop feladatban minden munka minden gépen végigmegy pontosan ugyan-olyan sorrendben. Az általánosság elvesztése nélkül feltételezhetjük, hogy a továbbiak-ban a sorrendM1,M2, . . . ,Mm.

Tipikus példa flow shop feladatra a futószalag, ahol a munkások és a munkaállomások jelentik a gépeket. Egy flow shop feladat jellemezhető a következőképencj=mésmij=i (i=1,2, . . . ,m,j=1,2, . . . ,n).

• Egy job shop feladatban nincsenek megkötések a műveletek számára és a hozzájuk rendelt gépekre. A gépek sorrendje minden munkára különböző lehet, valamint a fel-használt gépek is munkánként különbözhetnek.

• Azopen shopütemezési feladat hasonló a job shop feladathoz, eltérés abban van, hogy míg job shop feladatoknál a munkák műveleteinek a sorrendje rögzített, addig open shop feladatokban a munkák műveleteit bármilyen sorrendben végre lehet hajtani a megfele-lő gépeken. Azaz a munkákhoz tartozó műveletek sorrendje nincs megkötve, de mindet el kell végezni.

Egy flow shop, job shop vagy open shop ütemezési feladat megoldása ábrázolható az úgynevezett Gantt diagrammal (Gantt chart), ahol a gépek a függőleges tengelyen vannak ábrázolva, az idő pedig a vízszintes tengelyen helyezkedik el.

6.1. példa. Egy job shop feladatban három munka van, amelyek sorrendben kettő, három és három műveletből állnak. Az első munka két műveletből áll, ahol az első munkát a 2-es géppel lehet elvégezni 2 időegység alatt, a másodikat pedig az 1-2-es géppel 1 időegység

6.2. FLOW SHOP, JOB SHOP, OPEN SHOP 99

alatt. A második munka három műveletből áll, ahol a gépek sorrendje 1, 3, 2, a hozzájuk tartozó működési idő pedig sorrendben 1, 3, 2 időegység. A harmadik munka szintén három műveletből áll, itt a gépek sorrendje 1, 2 és 3, a működési idők pedig sorrendben 3, 2, 2. A korábbiakban bevezetett jelölésekkel ez az alábbi formában írható le :

J1:(m11,m21)=(2,1) p1=(2,1) J2:(m12,m22,m32)=(1,3,2) p2=(1,3,2) J3:(m13,m23,m33)=(1,2,3) p3=(3,2,2)

A példa egy megoldásának Gantt diagrammja a 6.1 ábrán látható, ahol péládul az 1-es gép (M1) 0 időpillanatban elkezd dolgozni aJ3munkán, ami tart 3 időegységig, majd 1 időegysé-get tölt aJ1munkával, végülJ2munkának a műveletén dolgozik 4 időpillanattól kezdve az 5 időpillanatig.

6.1. ábra. A 6.1. példa egy megoldása Gantt diagrammal

Gannt diagrammok rajzolásnál figyelni kell arra, hogy egy géphez tartozó műveletek ne fedjék egymást, ahogy ezt a fejezet elején tett második feltételezésből következik (nem lehet egy géppel egyszerre több műveletet végezni). Fontos továbbá, hogy az egy munkához tartozó műveleteket nem lehet egyszerre elvégezni, valamint flow shop és job shop esetén a munkához tartozó műveletek sorrendje a feladatban rögzített.

Flow shop feladatoknál egyszerű megmutatni, hogy ha minden működési idő pozitív, ak-kor van olyan optimális megoldás, ahol a munkák működési sorrendje megegyezik az első két műveleten, valamint megegyezik a működési sorrend az utolsó két műveleten is. Ebből következik, hogy háromgépes flow shop feladatoknál ugyanaz a gépek használati sorrend-je a munkákhoz, mivel az elsőn ugyanaz a sorrend mint a másodikon valamint a másodikon ugyanaz a sorrend, mint a harmadikon. Ha legalább négy gép van, akkor lehet olyan optimális megoldás, hogy a gépek működési sorrendje különbözik a munkákon.

2-gépes flow shop feladatok hatékonyan megoldhatóak Johnson algoritmusát használva : begin

N1← {j:p1j<p2j} N2← {j:p1jp2j}

rendezzükN1-et nem csökkenő sorrendbep1jszerint rendezzükN2-t nem növekvő sorrendbep2jszerint

optimális megoldásban a rendezettN1halmaz elemeit a rendezettN2követi end

6.2. példa.Adott egy öt munkát tartalmazó két gépes flow shop feladat a munkák működési idők vektorával :p1=(4,2),p2=(1,3),p3=(4,4),p4=(5,6),p5=(3,2). Ezek alapján felírhatjuk

a halmazokat :N1={2,4}, N2={1,3,5}. Majd ezeket rendezzük :N1={2,4},N2={3,1,5} és a rendzett halmazokat összefűzve végül megkapjuk az optimális megoldást : 2,4,3,1,5, melynek Gannt diagramja a6.2ábrán látható.

M1 M2

J4

J4

10 20

J2

J2 J3

J3 J1

J1 J5

J5

6.2. ábra. A 6.2. példa optimális megoldása

Több speciális flow shop feladat (amelyben több, mint két gép van) hatékonyan megold-ható specializált algoritmusokkal. Egy nagy része a feladatoknak kezelhető a Johnson algo-ritmussal, vagy annak kis változtatásával. Például Johnson bebizonyította, hogy három gépes esetben ha a második (középső) gép legnagyobb működési ideje jóval kisebb, mint az első vagy az utolsó gép legkisebb ideje (az uralkodik rajta), akkor egy optimális megoldást kap-hatunk a Johnson algoritmus segítségével, ha a második gépet „összevonjuk” azzal, amelyik uralkodik rajta.

In document GYÁRTÓRENDSZEREK MODELLEZÉSE (Pldal 97-100)