Integrált gyártórendszerek



Hasonló dokumentumok
Gyártórendszerek dinamikája

Dinamikus programozás - Szerelőszalag ütemezése

Programozási módszertan. Dinamikus programozás: szerelőszalag ütemezése Mátrixok véges sorozatainak szorzása

Gyártórendszerek dinamikája

Programozási módszertan. Mohó algoritmusok

Dr. Kulcsár Gyula. Virtuális vállalat félév. Projektütemezés. Virtuális vállalat félév 5. gyakorlat Dr.

Programozási módszertan. Dinamikus programozás: A leghosszabb közös részsorozat

folyamatrendszerek modellezése

Üzemszervezés. Projekt tervezés. Dr. Juhász János

Gyártórendszerek Dinamikája. Gyártórendszerek jellemzése és szerkezete Gyártórendszerekkel kapcsolatos mérnöki feladatok

Példa. Job shop ütemezés

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

Üzemszervezés A BMEKOKUA180

Általános algoritmustervezési módszerek

Algoritmuselmélet. Legrövidebb utak, Bellmann-Ford, Dijkstra. Katona Gyula Y.

Az optimális megoldást adó algoritmusok

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2018/

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2017/

Algoritmusok bonyolultsága

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

Ütemezés gyakorlat. Termelésszervezés

Algoritmuselmélet. Mélységi keresés és alkalmazásai. Katona Gyula Y.

Diagnosztika Petri háló modellek felhasználásával

A projekt idő-, erőforrás és költségterve 1. rész

Példa Hajtsuk végre az 1 pontból a Dijkstra algoritmust az alábbi gráfra. (A mátrixban a c i j érték az (i, j) él hossza, ha nincs él.

Ütemezés tervezése A leghátrányosabb helyzet kistérségek fejlesztési és együttm ködési kapacitásainak meger

ELŐADÁS ÁTTEKINTÉSE. Tevékenységek tervezése Gantt diagramm

2. Előadás Projekt ütemezés. Solver használata. Salamon Júlia

Partíció probléma rekurzíómemorizálással

Gráfok, definíciók. Gráfok ábrázolása. Az adott probléma megoldásához ténylegesen mely műveletek szükségesek. Ábrázolások. Példa:

Fibonacci számok. Dinamikus programozással

Termeléstervezés és -irányítás Termelés és kapacitás tervezés Xpress-Mosel FICO Xpress Optimization Suite

Algoritmizálás és adatmodellezés tanítása 1. előadás

Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK

A félév során előkerülő témakörök

ELŐADÁS ÁTTEKINTÉSE 6. ea.: Projekttervezés III.

Mohó algoritmusok. Példa:

Ellátási lánc optimalizálás P-gráf módszertan alkalmazásával mennyiségi és min ségi paraméterek gyelembevételével

Ütemezési problémák. Kis Tamás 1. ELTE Problémamegoldó Szeminárium, ősz 1 MTA SZTAKI. valamint ELTE, Operációkutatási Tanszék

Gráfelméleti feladatok. c f

Programozási módszertan. Függvények rekurzív megadása "Oszd meg és uralkodj" elv, helyettesítő módszer, rekurziós fa módszer, mester módszer

Követelmények Motiváció Matematikai modellezés: példák A lineáris programozás alapfeladata 2017/ Szegedi Tudományegyetem Informatikai Intézet

Követelmények Motiváció Matematikai modellezés: példák A lineáris programozás alapfeladata 2017/ Szegedi Tudományegyetem Informatikai Intézet

Számítógépes döntéstámogatás. Genetikus algoritmusok

A szemantikus elemzés elmélete. Szemantikus elemzés (attribútum fordítási grammatikák) A szemantikus elemzés elmélete. A szemantikus elemzés elmélete

Termelésirányítás. Gyártási erőforrások rugalmas kezelése. Gyártási folyamatábra optimalizálása

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Gyártórendszerek irányítási struktúrái

Zárthelyi mintapéldák. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Algoritmizálás, adatmodellezés tanítása 1. előadás

Hálótervezés. Vállalati Információs Rendszerek

MICROSOFT DYNAMICS AX TERMELÉSIRÁNYÍTÁS III.

Példa Hajtsuk végre az 1 pontból a Dijkstra algoritmust az alábbi gráfra. (A mátrixban a c i j érték az (i, j) él hossza, ha nincs él.

Programozási módszertan. Dinamikus programozás: Nyomtatási feladat A leghosszabb közös részsorozat

Amortizációs költségelemzés

angolul: greedy algorithms, románul: algoritmi greedy

Logisztikai szimulációs módszerek

Algoritmusok bonyolultsága

Gráfok 2. Legrövidebb utak, feszítőfák. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

Balogh János gépészmérnök, műszaki menedzser MSc., vezető programkoordinációs szakértő 1

Dinamikus modellek szerkezete, SDG modellek

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

Idő-ütemterv hálók - I. t 5 4

1. Előadás Lineáris programozás

Áttekintés LP és geometria Többcélú LP LP és egy dinamikus modell 2017/ Szegedi Tudományegyetem Informatikai Intézet

Számítógépes döntéstámogatás. Döntések fuzzy környezetben Közelítő következtetések

Algoritmizálás, adatmodellezés tanítása 8. előadás

A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

TEVÉKENYSÉGEK TERVEZÉSE TEVÉKENYSÉGEK TERVEZÉSE TEVÉKENYSÉGEK TERVEZÉSE IDŐTERVEZÉS. IDŐTERVEZÉS (Gantt diagramm)

i=1 i+3n = n(2n+1). j=1 2 j < 4 2 i+2 16 k, azaz az algoritmus valóban konstans versenyképes.

Operációkutatás vizsga

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

Gyakorló feladatok: Formális modellek, temporális logikák, modellellenőrzés. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Diszkrét matematika I.

Vállalatirányítás HÁLÓTERVEZÉS. Tevékenység Jel Kódjel megelőző követő tevékenység jele. A - C 6 Munkaerő-szükséglet 2. B - F 8 műszaki tervezése 3.

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 4. kurzus. 3. Előadás: A mohó algoritmus

További programozási esetek Hiperbolikus, kvadratikus, integer, bináris, többcélú programozás

Számítógépes döntéstámogatás OPTIMALIZÁLÁSI FELADATOK A SOLVER HASZNÁLATA

Beszállítás AR Gyártási folyamat KR

Számítógép és programozás 2

Algoritmusok és adatszerkezetek gyakorlat 03 Oszd meg és uralkodj. Nagy

Idõ-ütemterv há lók - I. t 5 4

Navigáci. stervezés. Algoritmusok és alkalmazásaik. Osváth Róbert Sorbán Sámuel

Ütemezési modellek. Az ütemezési problémák osztályozása

Gráfelmélet/Diszkrét Matematika MSc hallgatók számára. 3. Előadás

A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny döntő fordulójának feladatai. INFORMATIKA II. (programozás) kategória

2. Visszalépéses keresés

Konjugált gradiens módszer

PROJEKTMENEDZSMENT TEMATIKA, KÖVETELMÉNYEK

6. Függvények. Legyen függvény és nem üreshalmaz. A függvényt az f K-ra való kiterjesztésének

MUNKAANYAG. Faicsiné Adorján Edit. Időtervek: III./1. Hálóterv (CPM) szerkesztése. A követelménymodul megnevezése: Építőipari kivitelezés tervezése

Algoritmuselmélet 1. előadás

HÁLÓZAT Maximális folyam, minimális vágás

A programozás alapjai 1 Rekurzió

Kiterjesztések sek szemantikája

ÁRAMKÖRÖK SZIMULÁCIÓJA

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 13.

Java II. I A Java programozási nyelv alapelemei

Átírás:

IGYR-7 p. 1/4 Integrált gyártórendszerek Gyártásütemezés: az ütemezések analízise Gantt-chart módszerrel, az optimalizálási feladat kitűzése és változatai, megoldás a kritikus út módszerrel, dinamikus programozás Hangos Katalin Villamosmérnöki és Információs Rendszerek Tanszék e-mail: hangos.katalin@virt.uni-pannon.hu

A gyártásütemezés feladatai IGYR-7 p. 2/4

IGYR-7 p. 3/4 A gyártásütemezés elvi problémakitűzése Adott: a gyártóberendezések halmaza (erőforrások, korlátosak): típus, gyártókapacitás a lehetséges műveletek halmaza végrehajtási idővel vagy költséggel műveletekre 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 előírja, hogy milyen műveletet melyik berendezésen mikor hajtsunk végre idő vagy költség optimálisan

IGYR-7 p. 4/4 Speciális gyártásütemezési feladatok 1. Változó erőforrás-korlátozású dinamikus feladat Jellemzői: a rendelésállomány és a nyersanyagok rendelkezésre állása időben változó időben változó berendezés kapacitás és rendelkezésre állás minden időlépésben lokálisan megvalósítható megoldást keresünk Megoldható cselekvés tervezéssel

IGYR-7 p. 5/4 Speciális gyártásütemezési feladatok 2. Erőforrás-korlátozás nélküli statikus feladat Jellemzői: a rendelésállomány és a nyersanyagok rendelkezésre állása statikus (időben állandó) korlátlan berendezés kapacitás és rendelkezésre állás legkisebb végrehajtási idejű megoldást keresünk Van egyszerű, polinomiális időben kiszámítható megoldás

IGYR-7 p. 6/4 Műveleti tervek végrehajtásának ellenőrzése szimulációval (időzített Petri hálók)

IGYR-7 p. 7/4 Kiterjesztett Petri háló modellek Hierarchikus Petri hálók Időzí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 jelzőpontok (token-ek) diszkrét értékkészletuek ("szín") helyekhez megengedett színhalmaz átmenetekhez és élekhez (diszkrét) függvények

IGYR-7 p. 8/4 Futópálya Petri háló modellje Időzített Peri háló modell! "

IGYR-7 p. 9/4 Galuskaszaggató gyártás modellje Galuska-szaggató gyártás műveletei (időzí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. 10/4 Galuskaszaggató gyártás végrehajtása 1 Galuska-szaggató gyártás szimulációja (időzített Peri háló modell felhasználásával): t = 0, t = 2, t = 4 Nyel-lap Alap-lap Nyel-lap Alap-lap Nyel-lap Alap-lap Tpres1 (type Presgep1) Tpres2 (type Presgep1) Ido: 2 Ido: 4 Tpres1 (type Presgep1) Tpres2 (type Presgep1) Ido: 2 Ido: 4 Tpres1 (type Presgep1) Tpres2 (type Presgep1) Ido: 2 Ido: 4 Alap-tal Alap-tal Alap-tal Nyel Lyukfuras (type Furogep) Nyel Lyukfuras (type Furogep) Nyel Lyukfuras (type Furogep) Ido: 3 Ido: 3 Ido: 3 Lyukas-tal Lyukas-tal Lyukas-tal Szegecseles (type Szegecselo) Ido: 1 Szegecseles (type Szegecselo) Ido: 1 Szegecseles (type Szegecselo) Ido: 1 Lyukas-tal-nyellel Lyukas-tal-nyellel Lyukas-tal-nyellel Festes (type Festolakkozo) Festes (type Festolakkozo) Festes (type Festolakkozo) Ido: 5 Ido: 5 Ido: 5 Galuska-szaggato Galuska-szaggato Galuska-szaggato

IGYR-7 p. 11/4 Galuskaszaggató gyártás végrehajtása 2 Galuska-szaggató gyártás szimulációja (folytatás) (időzített Peri háló modell felhasználásával): t = 7, t = 8 Nyel-lap Alap-lap Nyel-lap Alap-lap Tpres1 (type Presgep1) Tpres2 (type Presgep1) Ido: 2 Ido: 4 Tpres1 (type Presgep1) Tpres2 (type Presgep1) Ido: 2 Ido: 4 Alap-tal Alap-tal Nyel Lyukfuras (type Furogep) Nyel Lyukfuras (type Furogep) Ido: 3 Ido: 3 Lyukas-tal Lyukas-tal Szegecseles (type Szegecselo) Szegecseles (type Szegecselo) Ido: 1 Ido: 1 Lyukas-tal-nyellel Lyukas-tal-nyellel Festes (type Festolakkozo) Festes (type Festolakkozo) Ido: 5 Ido: 5 Galuska-szaggato Galuska-szaggato

IGYR-7 p. 12/4 Egyszerű grafikus módszer a megjelenítésre és analízisre (Gantt chart)

IGYR-7 p. 13/4 Gantt táblázat - Gantt chart A leírás elemei: Feladatok: (kezdete, vége), előző feladat, erőforrás Erőforrások (személyek): feladathoz rendelhetők, lehet karbantartási (szabadság) idejük Nézetek: a leírás elemeiből Gantt táblázat PERT gráf Erőforrás-foglaltság táblázat

IGYR-7 p. 14/4 Gantt táblázat összeállításának menete az adott témának megfelelően 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 időszükségletét, feltárjuk az egyes munkalépések logikai összefüggéseit (mely lépések végezhetők párhuzamosan, egymást megelőzve, követve) fentiek figyelembe vétele mellett a tevékenységek időszükségletét vonallal jelöljük

IGYR-7 p. 15/4 Egy egyszerű példa Galuska-szaggató gyártás műveletei (Petri háló formájában) Nyel-lap Alap-lap Tpres1 (type Presgep1) 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. 16/4 Gantt táblázat - példa Feladatok elhelyezése az időtengelyen minden feladat külön sorban időtengely vizszintes sorrendiség nyilakkal (automatikus időeltolás)

Gantt táblázat - másik példa IGYR-7 p. 17/4

IGYR-7 p. 18/4 Mik a módszer erősségei és gyengeségei? Erősségek: szemléletes, könnyen áttekinthető formában ábrázolja az ütemtervet figyelembe vehető az összes tevékenység meghatározhatók a prioritások, függőségek, párhuzamosságok Gyengeségek: túl sok tevékenység vagy túl hosszú időtáv esetén bonyolulttá válhat az ábrázolás nem mindig képes ábrázolni a megfelelő öszefüggéseket

IGYR-7 p. 19/4 A program értékelő és átekintő módszer - PERT gráf A felírás lépései: a gyártásban szereplő összes tevékenység (feladat) meghatározása a tevékenységek sorrendjének meghatározása a függőségi kapcsolatok figyelembevételével a tevékenységek időtartamának becslése (optimista, legvalószínűbb, pesszimista becslés) az egyes tevékenységek várható idejének a kiszámítása a tevékenységi idők szórásnégyzetének a kiszámítása

IGYR-7 p. 20/4 PERT gráf - példa 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: előző feladatból az aktuális feladatba időbeliség: feliratokkal

IGYR-7 p. 21/4 Erőforrás foglaltsági táblázat - példa Erőforrás foglatságok elhelyezése az időtengelyen minden erőforrás külön sorban időtengely vízszintes konfliktus (több feladat igényelné ugyanazt az erőforrást) jelzése piros színnel

IGYR-7 p. 22/4 Erőforrás-korlátozás nélküli statikus ütemezés Kritikus út módszer

IGYR-7 p. 23/4 Kritikus út módszer - CPM CPM: Critical Path Method Adott az ütemezendő elemi műveletek halmaza (activity) minden elemi művelet előfeltételei (szintén elemi műveletek) parciális rendezés (egymásutániság) minden elemi művelet végrehajtási ideje Táblázatba rendezhető Grafikus leírás: CPM gráf élei megfelelnek az elemi műveleteknek (egy-egy értelmű megfeleltetés) csúcsok megfelelnek eseményeknek (rendszer-állapotok bekövetkezésének)

IGYR-7 p. 24/4 Mik a módszer erősségei és gyengeségei? Erőssé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 időtartamá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. 25/4 Egy egyszerű példa D(2) (A,D) 5 I(2) (A,D,I) 8 A(3) (A) 2 E(3)!!D(0)!! I(2) (NIL) 1 B(4) 3 F(5) 6 J(1) 9 (B) (A,B,D,E,F) (A,B,C,D,E,F,G,H,I,J,K) C(5) (C) 4 G(4) K(5) H(6) 7 (B,C,G,H) Művelet Előfeltételek Idő (min) Művelet Előfeltételek Idő (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 *

A kritikus út kiszámítása 1 Algoritmikusan, két menetben I. Előrefelé haladó számítás: legkorábbi bekövetkezési idők 1. A kezdő esemény kezdeti idejét nullára állítjuk 2. Minden műveletet akkor kezdünk, ha az előfeltételek teljesültek 3. Minden esemény legkorábbi bekövetkezési ideje (E i ) a beléje vezető műveletek befejeződési idejeinek maximuma II. Visszafelé haladó számítás: legkésőbbi bekövetkezési idők 1. A befejező esemény legkésőbbi bekövetkezési idejét a legkorábbira állítjuk 2. Minden művelet legkésőbbi bekövetkezési idejét a vég-esemény legkésőbbi bekövetkezési idejéből számítjuk, levonva belőle a művelet végrehajtási idejét 3. Minden esemény legkésőbbi bekövetkezési ideje (L i ) a belőle induló műveletek kezdő idejeinek minimuma IGYR-7 p. 26/4

IGYR-7 p. 27/4 Az egyszerű példa - előrefelé (A,D) 5 [5, ] I(2) (A,D,I) 8 [7, ] (A) [3, ] D(2) 2!!D(0)!! I(2) A(3) E(3) [0, ] [4, ] (NIL) 1 B(4) 3 F(5) 6 J(1) 9 (B) (A,B,D,E,F) (A,B,C,D,E,F,G,H,I,J,K) C(5) G(4) [9, ] max(5,6,9) [16, ] max(7,10,16) (C) 4 [5, ] H(6) K(5) 7 (B,C,G,H) [11, ] max(8,11)

IGYR-7 p. 28/4 Az egyszerű példa - visszafelé [0, 0] min(8,3,0) (NIL) 1 A(3) B(4) [3, 11 ] min(11,12) (A) 2 [4, 7 ] min(9,7) 3 D(2) E(3) F(5) (A,D) [5,14 ] I(2) 5!!D(0)!! I(2) 6 J(1) (A,D,I) 8 9 [7, ] C(5) (C) (B) 4 [5, 5 ] H(6) G(4) (A,B,D,E,F) K(5) (A,B,C,D,E,F,G,H,I,J,K) [9,14 ] min(15,14) [16,16 ] 7 (B,C,G,H) [11, 11 ]

IGYR-7 p. 29/4 A kritikus út kiszámítása 2 Csúszási idők 1. Eseményekre: a legkésőbbi és a legkorábbi bekövetkezési idő különbsége, S i = L i E i 2. Az i-edik eseményből a j-edikbe vezető műveletre: S ij = L j E i t ij ahol t ij a művelet végrehajtási ideje Kritikus út: azon műveletekből (élekből) áll, amelyek csúszási ideje nulla

IGYR-7 p. 30/4 Az egyszerű példa - kritikus út [0, 0] min(8,3,0) (NIL) 1 A(3) B(4) [3, 11 ] min(11,12) (A) 2 [4, 7 ] min(9,7) 3 D(2) E(3) F(5) (A,D) [5,14 ] I(2) 5!!D(0)!! I(2) 6 J(1) (A,D,I) 8 9 [7, ] C(5) (C) (B) 4 [5, 5 ] H(6) G(4) (A,B,D,E,F) K(5) (A,B,C,D,E,F,G,H,I,J,K) [9,14 ] min(15,14) [16,16 ] 7 (B,C,G,H) [11, 11 ]

IGYR-7 p. 31/4 Gyakorlat statikus ütemezési feladatra Füles edény gyártás

IGYR-7 p. 32/4 A füles edény gyártás feladata Füles edényt szeretnénk gyártáni az alábbi műveletekkel Azonosító Művelet Idő (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 műveleti 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 erőforrás foglaltsági táblázattal!

Dinamikus programozás - Gyártásütemezés IGYR-7 p. 33/4

IGYR-7 p. 34/4 Speciális gyártásütemezési feladatok 3. Erőforrás-korlátozás nélküli statikus feladat több művelet végrehajtási lehetőséggel Jellemzői: a rendelésállomány és a nyersanyagok rendelkezésre állása statikus (időben állandó) korlátlan berendezés kapacitás és rendelkezésre állás alternatív (egymást helyettesítő) berendezések legkisebb végrehajtási idejű megoldást keresünk Megoldás: dinamikus programozással

IGYR-7 p. 35/4 Dinamikus programozás 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énő 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. 36/4 Szerelőszalag ütemezése Mindegyik szalagnak n állomása van, melyek indexei j = 1,...,n. S ij jelöli az i-edik (i = 1 vagy 2) szalag j-edik állomását. Az első szalag j-edik állomása (S 1j ) ugyanazt a funkciót látja el, mint a második szalag j-edik állomása (S 2j ). Az S ij állomáson a műveleti időt a ij jelöli.

IGYR-7 p. 37/4 Szerelőszalag ütemezése -Példa Autógyártás alvázra történő alkatrész-rászereléssel A teljes leszámlálás számítási ideje Ω(2 n ). Ez nagy n mellett elfogadhatatlan.

IGYR-7 p. 38/4 1. lépés: a legrövidebb gyártási út szerkezete Tekintsük a lehetséges legrövidebb utat, ahogy egy alváz a kiindulási helyzetből túljut az S 1j állomáson. Ha j = 1, akkor csak egy lehetőség van, és így könnyű meghatározni a szükséges időt. j = 2,...,n esetén két lehetőség van: Az alváz érkezhet közvetlenül az S 1,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 S 2,j 1 felől érkezik, az átszállítás ideje t 2,j 1. Tegyük fel, hogy az S 1 j állomáson való túljutás leggyorsabb módja az, hogy oda az S 1,j 1 felől érkezünk. Az alváznak a legrövidebb módon kell túljutnia az S 1,j 1 állomáson, mert ha volna egy gyorsabb mód, hogy az alváz túljusson a S 1,j 1 állomáson, akkor ezt használva magán S 1,j -n is hamarabb jutna túl, ami ellentmondás.

IGYR-7 p. 39/4 1. lépés: a legrövidebb gyártási út szerkezete Általánosabban fogalmazva azt mondhatjuk, hogy a szerelőszalag ütemezésének (hogy megtaláljuk a legrövidebb módot az S ij állomáson való túljutásra) optimális megoldása tartalmazza egy részfeladat (vagy az S 1,j 1 vagy az S 2,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 megszerkeszthető a feladat optimális megoldása.

IGYR-7 p. 40/4 2. lépés: a rekurzív megoldás Az optimális megoldás értékét a részfeladatok optimális értékeiből rekurzívan fejezzük ki. 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. Jelölje f i [j] azt a legrövidebb időt, ami alatt az alváz túl tud jutni az S ij állomáson. Célunk annak a legrövidebb időnek a meghatározása, ami alatt az alváz az egész üzemen keresztül tud haladni. Ezt az időt f jelöli. f = min{f 1 [n] + x 1,f 2 [n] + x 2 } f 1 [1] = e 1 + a 11 f 2 [1] = e 2 + a 21

IGYR-7 p. 41/4 2. lépés: a rekurzív megoldás Hogyan kell kiszámolni az f i [j]-t j = 2,...,n és i = 1,2 esetén? f 1 [j] = min{f 1 [j 1]+a 1j,f 2 [j 1]+t 2,j 1 +a 1j }, ha j = 2,...,n. f 2 [j] = min{f 2 [j 1]+a 2j,f 1 [j 1]+t 1,j 1 +a 2j }, ha j = 2,...,n. A következő rekurzív egyenletet kapjuk: f 1 [j] = f 2 [j] = { { e 1 + a 11, ha j = 1, min{f 1 [j 1] + a 1j,f 2 [j 1] + t 2,j 1 + a 1j }, ha j 2 e 2 + a 21, ha j = 1, min{f 2 [j 1] + a 2j,f 1 [j 1] + t 1,j 1 + a 2j }, ha j 2

IGYR-7 p. 42/4 2. lépés: a rekurzív megoldás Az f i [j] mennyiségek a részfeladatok optimális érékei. Annak érdekében, hogy vissza tudjuk keresni a legrövidebb utat, definiáljuk l i [j]-t mint azt a szerelőszalagot, amelyiknek a j 1-edik állomását használtuk az S ij -n való leggyorsabb keresztülhaladáskor. Itt i = 1,2 és j = 2,...,n. (Nem definiáljuk l i [1]-et, mert S i1 -t egyik szalagon sem előzi 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 l i [j] értékek segítségével lehet nyomon követni a legrövidebb utat.

IGYR-7 p. 43/4 3. lépés: a legrövidebb átfutási idő kiszámítása Sokkal jobban járunk, ha az f i [j] értékeket más sorrend szerint számoljuk, mint az a rekurzív módszerből adódik. Vegyük észre, hogy j... 2 esetén f i [j] csak f 1 [j 1] -től és f 2 [j 1] -től függ. Ha az f i [j] értékeket az állomások j indexének növekvő sorrendjében számoljuk, akkor a legrövidebb átfutási idő meghatározása Θ(n) ideig tart.

IGYR-7 p. 44/4 3. lépés: a legrövidebb átfutási idő kiszámítása ALGORITMUS1(a,t,e,x,n) 1. f 1 [1] := e 1 + a 11 f 2 [1] := e 2 + a 21 2. for j := 2 to n 3. do if f 1 [j 1] + a 1j f 2 [j 1] + t 2,j 1 + a 1j 4. then f 1 [j] := f 1 [j 1] + a 1j l 1 [j] := 1 5. else f 1 [j] := f 2 [j 1] + t 2,j 1 + a 1j l 1 [j] := 2 6. if f 2 [j 1] + a 2j f 1 [j 1] + t 1,j 1 + a 2j 7. then f 2 [j] := f 2 [j 1] + a 2j l 2 [j] := 2 8. else f 2 [j] := f 1 [j 1] + t 1,j 1 + a 2j l 2 [j] := 1 9. if f 1 [n] + x 1 f 2 [n] + x 2 10. then f = f 1 [n] + x 1 l = 1 11. else f = f 2 [n] + x 2 l = 2

IGYR-7 p. 45/4 4. lépés: a legrövidebb átfutási idejű út f i [j], f, l i [j] és l kiszámítását követően meg kell szerkeszteni az üzemen való legrövidebb áthaladást biztosító utat. Az eljárás az út állomásait az indexek csökkenő 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 := l i [j] 5. print i"-edik szalag (" j 1")-edik állomás"

IGYR-7 p. 46/4 Gyakorlat dinamikus programozásra Szerelőszalag ütemezési példa

IGYR-7 p. 47/4 Feladat Kövessük végig a dinamikus programozással meghatározott optimális ütemezés lépéseit az egyszerű, 5 állomást tartalmazó szerelőszalag példán: