Integrált gyártórendszerek Gyártásütemezés: az ütemezések analízise Gantt-chart módszerrel, az optimalizálási feladat kituzése ˝ és változatai, megoldás a kritikus út módszerrel, dinamikus programozás Hangos Katalin ´ oki ¨ es ´ Informaci ´ os ´ Rendszerek Tanszek ´ Villamosmern
e-mail:
[email protected]
IGYR-7 – p. 1/4
A gyártásütemezés feladatai
IGYR-7 – p. 2/4
´ as ´ utemez ´ elvi problemakit ´ ´ A gyart es uz ¨ ˝ ese Adott: • a gyártóberendezések halmaza (eroforrások, ˝ korlátosak):
típus, gyártókapacitás • a lehetséges muveletek ˝ ˝ halmaza végrehajtási idovel vagy
költséggel • muveletekre ˝ vonatkozó korlátozások : sorrendi, milyen
típusú berendezésen hajtható végre • a végtermék(ek): rendelésállománnyal, ami dinamikusan is
változhat • (a lehetséges kiindulási anyagok): rendelkezésre állással,
ami dinamikusan is változhat ˝ Kiszámítandó: egy ütemezés, ami eloírja, hogy • milyen muveletet ˝ melyik berendezésen mikor
hajtsunk végre ido˝ vagy költség optimálisan
IGYR-7 – p. 3/4
´ gyart ´ as ´ utemez ´ feladatok 1. Specialis esi ¨ ˝ Változó eroforrás-korlátozású dinamikus feladat ˝ Jellemzoi: • a rendelésállomány és a nyersanyagok rendelkezésre
˝ állása idoben változó • idoben ˝ változó berendezés kapacitás és rendelkezésre állás • minden idolépésben ˝ lokálisan megvalósítható megoldást
keresünk Megoldható cselekvés tervezéssel
IGYR-7 – p. 4/4
´ gyart ´ as ´ utemez ´ feladatok 2. Specialis esi ¨ ˝ Eroforrás-korlátozás nélküli statikus feladat ˝ Jellemzoi: • a rendelésállomány és a nyersanyagok rendelkezésre
˝ állása statikus (idoben állandó) • korlátlan berendezés kapacitás és rendelkezésre állás • legkisebb végrehajtási ideju˝ megoldást keresünk
˝ Van egyszeru, ˝ polinomiális idoben kiszámítható megoldás
IGYR-7 – p. 5/4
Muveleti ˝ tervek végrehajtásának ellen˝orzése szimulációval (id˝ozített Petri hálók)
IGYR-7 – p. 6/4
´ o´ modellek Kiterjesztett Petri hal • Hierarchikus Petri hálók • Idozített ˝ Petri hálók: feliratokkal ◦ óra: beépített (vagy spec. "forrás" hely) ◦ átmenetekhez tüzelési ido ◦ (helyekhez várakozási ido) • Színezett Petri hálók: feliratokkal ◦ jelzopontok ˝ (token-ek) diszkrét értékkészletuek ("szín") ◦ helyekhez megengedett színhalmaz ◦ átmenetekhez és élekhez (diszkrét) függvények
IGYR-7 – p. 7/4
"
!
´ alya ´ ´ o´ modellje Futop Petri hal ˝ Idozített Peri háló modell
IGYR-7 – p. 8/4
´ as ´ modellje Galuskaszaggato´ gyart Galuska-szaggató gyártás muveletei ˝ ˝ (idozített Peri háló modell formájában) Nyel-lap
Alap-lap
Tpres1 (type Presgep1)
Tpres2 (type Presgep1)
Ido: 2
Ido: 4
Alap-tal
Nyel
Lyukfuras (type Furogep) Ido: 3
Lyukas-tal Szegecseles (type Szegecselo) Ido: 1 Lyukas-tal-nyellel
Festes (type Festolakkozo) Ido: 5 Galuska-szaggato
IGYR-7 – p. 9/4
´ as ´ vegrehajt ´ ´ –1 Galuskaszaggato´ gyart asa Galuska-szaggató gyártás szimulációja ˝ (idozített Peri háló modell felhasználásával): t = 0, t = 2, Nyel-lap
Nyel-lap
Alap-lap
Tpres1 (type Presgep1)
Tpres2 (type Presgep1)
Ido: 2
Tpres1 (type Presgep1)
Tpres2 (type Presgep1)
Lyukfuras (type Furogep)
Alap-lap
Tpres1 (type Presgep1)
Tpres2 (type Presgep1)
Ido: 2
Ido: 4
Alap-tal
Nyel
Nyel-lap
Alap-lap
Ido: 2
Ido: 4
t=4 Ido: 4
Alap-tal
Nyel
Lyukfuras (type Furogep)
Ido: 3
Alap-tal
Nyel
Lyukfuras (type Furogep)
Ido: 3
Lyukas-tal Szegecseles (type Szegecselo) Ido: 1
Ido: 3
Lyukas-tal Szegecseles (type Szegecselo) Ido: 1
Lyukas-tal-nyellel
Festes (type Festolakkozo)
Szegecseles (type Szegecselo) Ido: 1 Lyukas-tal-nyellel
Festes (type Festolakkozo)
Ido: 5
Lyukas-tal-nyellel
Festes (type Festolakkozo)
Ido: 5 Galuska-szaggato
Lyukas-tal
Ido: 5 Galuska-szaggato
Galuska-szaggato
IGYR-7 – p. 10/4
´ as ´ vegrehajt ´ ´ –2 Galuskaszaggato´ gyart asa Galuska-szaggató gyártás szimulációja (folytatás) ˝ (idozített Peri háló modell felhasználásával): t = 7, t=8 Nyel-lap
Nyel-lap
Alap-lap
Tpres1 (type Presgep1)
Tpres2 (type Presgep1)
Ido: 2
Alap-lap
Tpres1 (type Presgep1)
Tpres2 (type Presgep1)
Ido: 2
Ido: 4
Ido: 4
Alap-tal
Nyel
Lyukfuras (type Furogep)
Alap-tal
Nyel
Lyukfuras (type Furogep)
Ido: 3
Ido: 3
Lyukas-tal Szegecseles (type Szegecselo) Ido: 1
Lyukas-tal Szegecseles (type Szegecselo) Ido: 1
Lyukas-tal-nyellel
Festes (type Festolakkozo)
Lyukas-tal-nyellel
Festes (type Festolakkozo)
Ido: 5
Ido: 5 Galuska-szaggato
Galuska-szaggato
IGYR-7 – p. 11/4
Egyszeru˝ grafikus módszer a megjelenítésre és analízisre (Gantt chart)
IGYR-7 – p. 12/4
´ azat ´ Gantt tabl - Gantt chart A leírás elemei: • Feladatok : (kezdete, vége), eloz ˝ o˝ feladat, eroforrás ˝ • Eroforrások ˝ ˝ lehet (személyek): feladathoz rendelhetok,
karbantartási (szabadság) idejük ˝ Nézetek: a leírás elemeibol • Gantt táblázat • PERT gráf • Eroforrás-foglaltság ˝ táblázat
IGYR-7 – p. 13/4
´ azat ´ ¨ ´ ıtas ´ anak ´ Gantt tabl ossze all´ menete • az adott témának megfeleloen ˝ meghatározzuk a
tevékenységeket, • meghatározzuk a folyamat teljes átfutási idejét (határidejét), • meghatározzuk az egyes munkalépések idoszükségletét, ˝ • feltárjuk az egyes munkalépések logikai összefüggéseit
˝ párhuzamosan, egymást (mely lépések végezhetok ˝ megelozve, követve) • fentiek figyelembe vétele mellett a tevékenységek
˝ idoszükségletét vonallal jelöljük
IGYR-7 – p. 14/4
´ Egy egyszeru˝ pelda Galuska-szaggató gyártás muveletei ˝ (Petri háló formájában) Nyel-lap
Tpres1 (type Presgep1)
Alap-lap
Tpres2 (type Presgep1)
Alap-tal
Nyel
Lyukfuras (type Furogep)
Lyukas-tal Szegecseles (type Szegecselo)
Lyukas-tal-nyellel
Festes (type Festolakkozo) Galuska-szaggato
IGYR-7 – p. 15/4
´ azat ´ ´ Gantt tabl - pelda
˝ Feladatok elhelyezése az idotengelyen • minden feladat külön sorban • idotengely ˝ vizszintes • sorrendiség nyilakkal (automatikus idoeltolás) ˝
IGYR-7 – p. 16/4
´ azat ´ ´ ´ Gantt tabl - masik pelda
IGYR-7 – p. 17/4
´ ˝ egei ´ ´ gyengesegei? ´ Mik a modszer eross es ˝ Erosségek: • szemléletes, könnyen áttekintheto˝ formában ábrázolja az
ütemtervet • figyelembe veheto˝ az összes tevékenység • meghatározhatók a prioritások, függoségek, ˝
párhuzamosságok Gyengeségek: • túl sok tevékenység vagy túl hosszú idotáv ˝ esetén
bonyolulttá válhat az ábrázolás • nem mindig képes ábrázolni a megfelelo˝ öszefüggéseket
IGYR-7 – p. 18/4
´ ekel ´ o˝ es ´ atekint ´ ´ ´ A program ert o˝ modszer - PERT graf A felírás lépései: • a gyártásban szereplo˝ összes tevékenység (feladat)
meghatározása • a tevékenységek sorrendjének meghatározása a függoségi ˝
kapcsolatok figyelembevételével • a tevékenységek idotartamának ˝ becslése (optimista,
legvalószínubb, ˝ pesszimista becslés) • az egyes tevékenységek várható idejének a kiszámítása • a tevékenységi idok ˝ szórásnégyzetének a kiszámítása
IGYR-7 – p. 19/4
´ - pelda ´ PERT graf
Feladatok egymásutánisági függéseinek leírása ok-okozati gráf formájában • a feladatok a gráf csúcspontjai • irányított él: eloz ˝ o˝ feladatból az aktuális feladatba • idobeliség: ˝ feliratokkal
IGYR-7 – p. 20/4
˝ ´ foglaltsagi ´ tabl ´ azat ´ ´ Eroforr as - pelda
˝ ˝ Eroforrás foglatságok elhelyezése az idotengelyen • minden eroforrás ˝ külön sorban • idotengely ˝ vízszintes • konfliktus (több feladat igényelné ugyanazt az
˝ eroforrást) jelzése piros színnel
IGYR-7 – p. 21/4
Er˝oforrás-korlátozás nélküli statikus ütemezés Kritikus út módszer
IGYR-7 – p. 22/4
´ Kritikus ut - CPM ´ modszer CPM: Critical Path Method Adott • az ütemezendo˝ elemi muveletek ˝ halmaza (activity) • minden elemi muvelet ˝ ˝ elofeltételei (szintén elemi muveletek) ˝
parciális rendezés (egymásutániság) • minden elemi muvelet ˝ végrehajtási ideje
Táblázatba rendezheto˝ Grafikus leírás: CPM gráf • élei megfelelnek az elemi muveleteknek ˝ (egy-egy értelmu˝
megfeleltetés) • csúcsok megfelelnek eseményeknek (rendszer-állapotok
bekövetkezésének)
IGYR-7 – p. 23/4
´ ˝ egei ´ ´ gyengesegei? ´ Mik a modszer eross es ˝ Erosségek: • a projektet alkotó tevékenységekre összpontosít • azonosítja a szükséges kapcsolatokat a tevékenységek
között • minden egyes tevékenység becsült idotartamát ˝ ábrázolja • kiszámolja a leggazdaságosabb megvalósítási módot
Gyengeségek: • sok tevékenység esetén bonyolult az alkalmazása
IGYR-7 – p. 24/4
´ Egy egyszeru˝ pelda (A,D,I)
(A,D)
I(2)
5
8
D(2) (A)
2
I(2)
!!D(0)!! E(3)
A(3)
(NIL)
1
B(4)
3
F(5)
J(1)
6 (A,B,D,E,F)
(B)
C(5)
9 (A,B,C,D,E,F,G,H,I,J,K)
G(4) (C)
K(5)
4 H(6) 7 (B,C,G,H)
Muvelet ˝
˝ Elofeltételek
Ido˝ (min)
Muvelet ˝
˝ Elofeltételek
Ido˝ (min)
A
-
3
G
B
4
B
-
4
H
C
6
C
-
5
I
D
2
D
A
2
J
D, E, F
1
E
A
3
K
G, H
5
F
B
5
GOAL
*
IGYR-7 – p. 25/4
´ ıtasa ´ –1 A kritikus ut ´ kiszam´ Algoritmikusan, két menetben ˝ ˝ I. Elorefelé haladó számítás: legkorábbi bekövetkezési idok 1. A kezdo˝ esemény kezdeti idejét nullára állítjuk ˝ 2. Minden muveletet ˝ akkor kezdünk, ha az elofeltételek teljesültek 3. Minden esemény legkorábbi bekövetkezési ideje (Ei ) a ˝ beléje vezeto˝ muveletek ˝ befejezodési idejeinek maximuma ˝ ˝ II. Visszafelé haladó számítás: legkésobbi bekövetkezési idok ˝ 1. A befejezo˝ esemény legkésobbi bekövetkezési idejét a legkorábbira állítjuk ˝ 2. Minden muvelet ˝ legkésobbi bekövetkezési idejét a ˝ ˝ vég-esemény legkésobbi bekövetkezési idejébol ˝ a muvelet számítjuk, levonva belole ˝ végrehajtási idejét ˝ 3. Minden esemény legkésobbi bekövetkezési ideje (Li ) a ˝ induló muveletek belole ˝ kezdo˝ idejeinek minimuma
IGYR-7 – p. 26/4
´ ˝ Az egyszeru˝ pelda - elorefel e´ (A,D)
[5, ] I(2)
5 [3, ]
(A,D,I)
8
[7, ]
D(2)
(A)
2
I(2)
!!D(0)!! E(3)
A(3) [0, ] (NIL)
1
[4, ] B(4)
3
F(5)
J(1)
6 (A,B,D,E,F)
(B)
(A,B,C,D,E,F,G,H,I,J,K)
[9, ]
C(5)
G(4) (C)
[16, ]
max(5,6,9)
max(7,10,16)
K(5)
4 [5, ]
9
H(6) 7 (B,C,G,H)
[11, ] max(8,11)
IGYR-7 – p. 27/4
´ Az egyszeru˝ pelda - visszafele´ [5,14 ]
(A,D)
(A,D,I)
I(2)
5
8
[7, ]
[3, 11 ] D(2) min(11,12) (A)
2
I(2)
!!D(0)!! E(3)
A(3) [0, 0]
[4, 7 ]
min(8,3,0) (NIL)
1
min(9,7)
B(4)
3
F(5)
J(1)
6 (A,B,D,E,F)
(B)
9 (A,B,C,D,E,F,G,H,I,J,K)
[9,14 ]
C(5)
G(4) (C)
K(5)
4 [5, 5 ]
[16,16 ]
min(15,14)
H(6) 7 (B,C,G,H)
[11, 11 ]
IGYR-7 – p. 28/4
´ ıtasa ´ –2 A kritikus ut ´ kiszam´ ˝ Csúszási idok ˝ 1. Eseményekre: a legkésobbi és a legkorábbi bekövetkezési ido˝ különbsége, Si = Li − Ei ˝ a j -edikbe vezeto˝ muveletre: 2. Az i-edik eseménybol ˝ Sij = Lj − Ei − tij
ahol tij a muvelet ˝ végrehajtási ideje ˝ (élekbol) ˝ áll, amelyek csúszási ideje Kritikus út: azon muveletekb ˝ ol nulla
IGYR-7 – p. 29/4
´ Az egyszeru˝ pelda - kritikus ut ´ [5,14 ]
(A,D)
(A,D,I)
I(2)
5
8
[7, ]
[3, 11 ] D(2) min(11,12) (A)
2
I(2)
!!D(0)!! E(3)
A(3) [0, 0]
[4, 7 ]
min(8,3,0) (NIL)
1
min(9,7)
B(4)
3
F(5)
J(1)
6 (A,B,D,E,F)
(B)
9 (A,B,C,D,E,F,G,H,I,J,K)
[9,14 ]
C(5)
G(4) (C)
K(5)
4 [5, 5 ]
[16,16 ]
min(15,14)
H(6) 7 (B,C,G,H)
[11, 11 ]
IGYR-7 – p. 30/4
Gyakorlat statikus ütemezési feladatra Füles edény gyártás
IGYR-7 – p. 31/4
´ gyart ´ as ´ feladata A fules edeny ¨ Füles edényt szeretnénk gyártáni az alábbi muveletekkel ˝ Azonosító
Muvelet ˝
Ido˝ (min)
SZ1
szállítás a lap-tárolóból
3
SZ3
szállítás a fül-tárolóból
1
SZ2
lap-szállítás összeszereléshez
2
SZ4
fül-szállítás összeszereléshez
2
SZ5
késztermék szállítás tárolóba
4
G1
lap préselés
3
G2
fül préselés
1
G3
összeszerelés
1
1. Tervezzük meg a muveleti ˝ sorrend Petri hálóját! 2. Határozzuk meg a kritikus utat! 3. Ábrázoljunk egy optimális ütemezést Gantt táblázattal és ˝ eroforrás foglaltsági táblázattal!
IGYR-7 – p. 32/4
Dinamikus programozás - Gyártásütemezés
IGYR-7 – p. 33/4
´ gyart ´ as ´ utemez ´ feladatok 3. Specialis esi ¨ ˝ Eroforrás-korlátozás nélküli statikus feladat több muvelet ˝ ˝ végrehajtási lehetoséggel ˝ Jellemzoi: • a rendelésállomány és a nyersanyagok rendelkezésre
˝ állása statikus (idoben állandó) • korlátlan berendezés kapacitás és rendelkezésre állás • alternatív (egymást helyettesíto) ˝ berendezések • legkisebb végrehajtási ideju˝ megoldást keresünk
Megoldás: dinamikus programozással
IGYR-7 – p. 34/4
´ Dinamikus programozas Egy dinamikus programozási algoritmus kifejlesztése 4 lépésre bontható fel: 1. Jellemezzük az optimális megoldás szerkezetét. 2. Rekurzív módon definiáljuk az optimális megoldás értékét. 3. Kiszámítjuk az optimális megoldás értékét alulról felfelé történo˝ módon. 4. A kiszámított információk alapján megszerkesztünk egy optimális megoldást. A dinamikus programozás minden egyes részfeladatot és annak minden részfeladatát pontosan egyszer oldja meg, az eredményt egy táblázatban tárolja, és ezáltal elkerüli az ismételt számítást, ha a részfeladat megint felmerül.
IGYR-7 – p. 35/4
˝ ´ Szereloszalag utemez ese ¨ Mindegyik szalagnak n állomása van, melyek indexei j = 1, . . . , n. Sij jelöli az i-edik (i = 1 vagy 2) szalag j -edik állomását. Az elso˝ szalag j -edik állomása (S1j ) ugyanazt a funkciót látja el, mint a második szalag j -edik állomása (S2j ). Az ˝ aij jelöli. Sij állomáson a muveleti ˝ idot
IGYR-7 – p. 36/4
˝ ´ -Pelda ´ Szereloszalag utemez ese ¨ Autógyártás alvázra történo˝ alkatrész-rászereléssel
A teljes leszámlálás számítási ideje Ω(2n ). Ez nagy n mellett elfogadhatatlan.
IGYR-7 – p. 37/4
´ es: ´ a legrovidebb ¨ ´ asi ´ ut 1. lep gyart ´ szerkezete Tekintsük a lehetséges legrövidebb utat, ahogy egy alváz a ˝ túljut az S1j állomáson. kiindulási helyzetbol ˝ Ha j = 1, akkor csak egy lehetoség van, és így könnyu˝ ˝ meghatározni a szükséges idot. ˝ j = 2, . . . , n esetén két lehetoség van: • Az alváz érkezhet közvetlenül az S1,j−1 állomásról, amikor
ugyanannak a szalagnak a (j − 1)-edik állomásáról a j -edik állomására való átszállítás ideje elhanyagolható. • Az alváz S2,j−1 felol ˝ érkezik, az átszállítás ideje t2,j−1 .
Tegyük fel, hogy az S1 j állomáson való túljutás leggyorsabb ˝ érkezünk. módja az, hogy oda az S1,j−1 felol Az alváznak a legrövidebb módon kell túljutnia az S1,j−1 állomáson, mert ha volna egy gyorsabb mód, hogy az alváz túljusson a S1,j−1 állomáson, akkor ezt használva magán S1,j -n is hamarabb jutna túl, ami ellentmondás.
IGYR-7 – p. 38/4
´ es: ´ a legrovidebb ¨ ´ asi ´ ut 1. lep gyart ´ szerkezete Általánosabban fogalmazva azt mondhatjuk, hogy a ˝ szereloszalag ütemezésének (hogy megtaláljuk a legrövidebb módot az Sij állomáson való túljutásra) optimális megoldása tartalmazza egy részfeladat (vagy az S1,j−1 vagy az S2,j−1 állomáson való leggyorsabb áthaladás) optimális megoldását. Erre a tulajdonságra optimális részstruktúraként fogunk hivatkozni. Azaz részfeladatok optimális megoldásaiból megszerkesztheto˝ a feladat optimális megoldása.
IGYR-7 – p. 39/4
´ es: ´ a rekurz´ıv megoldas ´ 2. lep Az optimális megoldás értékét a részfeladatok optimális ˝ rekurzívan fejezzük ki. értékeibol A részfeladatok legyenek mindkét szalag j -edik állomásán való leggyorsabb áthaladás megkeresésének a feladatai j = 1, . . . , n mellett. ˝ ami alatt az alváz túl tud jutni Jelölje fi [j] azt a legrövidebb idot, az Sij állomáson. ˝ Célunk annak a legrövidebb idonek a meghatározása, ami alatt az alváz az egész üzemen keresztül tud haladni. ˝ f ∗ jelöli. Ezt az idot f ∗ = min{f1 [n] + x1 , f2 [n] + x2 } f1 [1] = e1 + a11 f2 [1] = e2 + a21
IGYR-7 – p. 40/4
´ es: ´ a rekurz´ıv megoldas ´ 2. lep Hogyan kell kiszámolni az fi [j]-t esetén?
j = 2, . . . , n és i = 1, 2
f1 [j] = min{f1 [j − 1]+ a1j , f2 [j − 1]+ t2,j−1 + a1j }, ha j = 2, . . . , n. f2 [j] = min{f2 [j − 1]+ a2j , f1 [j − 1]+ t1,j−1 + a2j }, ha j = 2, . . . , n.
A következo˝ rekurzív egyenletet kapjuk: ( e1 + a11 , ha j = 1, f1 [j] = min{f1 [j − 1] + a1j , f2 [j − 1] + t2,j−1 + a1j }, ha j ≥ 2 ( e2 + a21 , ha j = 1, f2 [j] = min{f2 [j − 1] + a2j , f1 [j − 1] + t1,j−1 + a2j }, ha j ≥ 2
IGYR-7 – p. 41/4
´ es: ´ a rekurz´ıv megoldas ´ 2. lep Az fi [j] mennyiségek a részfeladatok optimális érékei. Annak érdekében, hogy vissza tudjuk keresni a legrövidebb utat, ˝ definiáljuk li [j]-t mint azt a szereloszalagot, amelyiknek a j − 1-edik állomását használtuk az Sij -n való leggyorsabb keresztülhaladáskor. Itt i = 1, 2 és j = 2, . . . , n. ˝ (Nem definiáljuk li [1]-et, mert Si1 -t egyik szalagon sem elozi meg másik állomás.) Az l∗ szalag definíció szerint az, amelyiknek az utolsó állomását használjuk az egész üzemen való áthaladáskor. Az li [j] értékek segítségével lehet nyomon követni a legrövidebb utat.
IGYR-7 – p. 42/4
´ es: ´ a legrovidebb ¨ ´ ´ ido˝ kiszam´ ´ ıtasa ´ 3. lep atfut asi Sokkal jobban járunk, ha az fi [j] értékeket más sorrend szerint ˝ adódik. számoljuk, mint az a rekurzív módszerbol ˝ és Vegyük észre, hogy j. . . 2 esetén fi [j] csak f1 [j − 1] -tol ˝ függ. f2 [j − 1] -tol Ha az fi [j] értékeket az állomások j indexének növekvo˝ sorrendjében számoljuk, akkor a legrövidebb átfutási ido˝ meghatározása Θ(n) ideig tart.
IGYR-7 – p. 43/4
´ es: ´ a legrovidebb ¨ ´ ´ ido˝ kiszam´ ´ ıtasa ´ 3. lep atfut asi ALGORITMUS1(a,t,e,x,n) 1. f1 [1] := e1 + a11 2. 3.
f2 [1] := e2 + a21
for j := 2 to n do if f1 [j − 1] + a1j ≤ f2 [j − 1] + t2,j−1 + a1j
4.
then f1 [j] := f1 [j − 1] + a1j
l1 [j] := 1
5.
else f1 [j] := f2 [j − 1] + t2,j−1 + a1j
6.
if f2 [j − 1] + a2j ≤ f1 [j − 1] + t1,j−1 + a2j
7.
then f2 [j] := f2 [j − 1] + a2j
8.
else f2 [j] := f1 [j − 1] + t1,j−1 + a2j
9.
if f1 [n] + x1 ≤ f2 [n] + x2
10.
then f ∗ = f1 [n] + x1
11.
else f ∗ = f2 [n] + x2
l1 [j] := 2
l2 [j] := 2 l2 [j] := 1
l∗ = 1 l∗ = 2
IGYR-7 – p. 44/4
´ es: ´ a legrovidebb ¨ ´ ´ ideju˝ ut 4. lep atfut asi ´ ˝ meg kell szerkeszteni fi [j], f ∗ , li [j] és l∗ kiszámítását követoen az üzemen való legrövidebb áthaladást biztosító utat. Az eljárás az út állomásait az indexek csökkeno˝ sorrendjében nyomtatja ki. ALGORITMUS2(l,n) 1. i := l∗ 2. print i"-edik szalag" n"-edik állomás" 3. for j := n downto 2 4. do i := li [j] 5. print i"-edik szalag (" j − 1")-edik állomás"
IGYR-7 – p. 45/4
Gyakorlat dinamikus programozásra Szerel˝oszalag ütemezési példa
IGYR-7 – p. 46/4
Feladat Kövessük végig a dinamikus programozással meghatározott optimális ütemezés lépéseit az egyszeru, ˝ 5 állomást tartalmazó ˝ szereloszalag példán:
IGYR-7 – p. 47/4