Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

DANTZIGŮV MECHANISMUS OPTIMÁLNÍHO ZÁSOBOVÁNÍ ZE SKLADŮ POLOTOVARŮ U TĚŽKÝCH TVÁŘECÍCH PROVOZŮ Ing. Marek Štroner, Ph.D. 19.09.2007 Vysoké učení technické.

Podobné prezentace


Prezentace na téma: "DANTZIGŮV MECHANISMUS OPTIMÁLNÍHO ZÁSOBOVÁNÍ ZE SKLADŮ POLOTOVARŮ U TĚŽKÝCH TVÁŘECÍCH PROVOZŮ Ing. Marek Štroner, Ph.D. 19.09.2007 Vysoké učení technické."— Transkript prezentace:

1 DANTZIGŮV MECHANISMUS OPTIMÁLNÍHO ZÁSOBOVÁNÍ ZE SKLADŮ POLOTOVARŮ U TĚŽKÝCH TVÁŘECÍCH PROVOZŮ Ing. Marek Štroner, Ph.D Vysoké učení technické v Brně Fakulta strojního inženýrství Odbor tváření kovů a plastů

2 Strojírenské závody těžkých tvářecích provozů, zabývající se zpracováním polotovarů s velkým přetvořením (např. ingotů v kovárnách), jsou odkázány na skladování obrovských hmotnostních množství materiálů ve svých skladech. Je tedy známo, že při určitém teritoriálním uspořádání takovéhoto závodu, je zapotřebí provést rozbor a plánování zásobování jednotlivých tvářecích provozů ze skladů, a to při zachování minimálních nákladů. Je známo, že takováto přeprava nám prodražuje vlastní výrobu až z 80 %, a to převážně náklady na dopravu a manipulaci. Z ekonomického a matematického hlediska by měly převážně takovéto závody mít provedenu analýzu hmotnostních toků v daném závodu a také výpočet možných úspor za pomocí optimalizačních metod, které nám pomohou vyřešit například úsporu tunokilometrů při vlastní přepravě. Tento problém byl matematiky řešen již v polovině 20. století, a to převážně z důvodů vojenské logistiky. V současné době jsou již za pomocí transformačních metod počítačově řešeny i problémy s mnoha proměnnými, kdy by při ručním výpočtu docházelo k numerické explozi a ztrátě přehledu nad samotným matematickým řešením. V daném příspěvku je uveden příklad analýzy a optimalizace takovéto úlohy, a to za pomocí metody severozápadního rohu, indexní metody a metody Dantzigovi. Tyto problémy je zapotřebí v současné době řešit, protože si to žádá nejen úspora nákladů daných podniků, ale také jejich environmentální řízení vztahující se k ochraně prostředí v celé Evropské unii. 1. Úvod

3 2. Obecná formulace dopravní úlohy  Při řešení dopravních úloh simplexovou metodou v její původní formě mohou vzniknout potíže spojené s velkými rozměry simplexové tabulky. Již malé dopravní úlohy vedou k rozsáhlým simplexovým tabulkám. Specifický tvar omezujících podmínek dopravních úloh dovoluje použít pro jejich řešení speciální algoritmy, které jsou jednodušší i když v zásadě vycházejí ze simplexové metody.  Předpokládáme, že je dáno m dodavatelů D 1, D 2,….. D m, kteří mají k dispozici a 1, a 2,….. a m jednotek produktu. Tento produkt je třeba přepravit k n odběratelům S 1, S 2,….. S 3, jejichž požadavky jsou b 1, b 2,….. b n jednotek produktu. Veličiny a i (i = 1, 2,…..,m) a b j (j = 1, 2, …..,n) jsou vyjádřeny nezápornými reálnými čísly ve stejných měrných jednotkách. Dále jsou zadány náklady na přepravu jednotky produktu od i-tého dodavatele k j-tému odběrateli, které označíme c ij. Přepravované množství produktu od i-tého dodavatele k j-tému odběrateli označíme x ij. Veličiny c ij nejčastěji představují vzdálenost mezi dodavateli a odběrateli v km. Hledané proměnné x ij jsou vyjádřeny ve stejných měrných jednotkách jako veličiny a i a b j.

4 Chceme organizovat přepravu produktu od dodavatelů k odběratelům tak, abychom plně uspokojili požadavky odběratelů na daný produkt, a přitom, aby celkové náklady na přepravu byly minimální. Matematicky můžeme všechny výše uvedené požadavky formulovat takto: při omezeních:

5 3. Řešení logistické dopravní úlohy: Zadání problému: Ze tří centrálních skladů polotovarů, které se nacházejí na různých místech, je třeba přepravit ingoty na zpracování (na měsíční produkci) do čtyř různých dílen (kováren) strojírenského podniku. Údaje o množství ingotů na skladech v tunách a o požadavcích jednotlivých kováren v tunách a o vzdálenostech mezi sklady a kovárnami v kilometrech jsou uvedeny v tab.1. SKLADY – dodavatel Strojírenské dílny - odběratelKAPACITY K1K1 K2K2 K3K3 K4K4 S1S1 6. km4. km9. km8. km tun S2S2 8. km1. km13. km5. km tun S3S3 7. km2. km10. km12.km800. tun Požadavky600. tun850. tun550. tun650. tun Tab. 1: Vstupní hodnoty formulující dopravní problém Za úkol je stanovit plán rozvozu ingotů pro tváření do jednotlivých strojírenských dílen tak, aby byly plně uspokojeny požadavky těchto kováren a přitom celkový objem ujetých tunokilometrů byl minimální. Uvedenou dopravní úlohu lze formulovat takto:

6 x 11 + x 12 + x 13 + x 14  x 21 + x 22 + x 23 + x 24  x 31 + x 32 + x 33 + x 34  800 x 11 + x 21 + x 31 =600 x 12 + x 22 + x 32 =850 x 13 + x 23 + x 33 =550 x 14 + x 24 + x 34 =650 x 11 x 12 x 13 x 14 x 21 x 22 x 23 x 24 x 31 x 32 X 33 x 34  0 Kriteriální funkce má tvar: z min = 6  x  x  x  x  x 21 + x  x  x  x  x  x  x 34

7 Upravená původní tabulka bude mít následující tvar: SKLADY - dodavatel Strojírenské dílny – odběratelKAPACITY K1K1 K2K2 K3K3 K4K4 K5K5 S1S1 6. km4. km9. km8. km0. km tun S2S2 8. km1. km13. km5. km0. km tun S3S3 7. km2. km10. km12. km0. km800. tun Po ž adavky600. tun850. tun550. tun650. tun350. tun Tab.2: Upravená tabulka s rozšířením o fiktivního dodavatele Musí platit a je to také patrné v daném příkladě: Kapacity centrálních skladů  Kapacity požadovaných dílen a 1 + a 2 + a 3  b 1 + b 2 + b 3 + b  tun  tun Zavedením nezáporných doplňkových proměnných x 15, x 25, x 35 (fiktivního odběratele) převedeme úlohu na standardní tvar, přitom požadavek fiktivního odběratele bude: b 5 = – = 350 tun, a vzdálenost od dodavatelů k tomuto odběrateli: c 15 = c 25 = c 35 = 0.

8 x 11 + x 12 + x 13 + x 14 + x 15  x 21 + x 22 + x 23 + x 24 + x 25  x 31 + x 32 + x 33 + x 34 + x 35  800 x 11 + x 21 + x 31 =600 x 12 + x 22 + x 32 =850 x 13 + x 23 + x 33 =550 x 14 + x 24 + x 34 =650 x 15 + x 25 + x 35 =350 x 11 x 12 x 13 x 14 x 21 x 22 x 23 x 24 x 31 x 32 x 33 x 34  0 Tuto úlohu zapsanou ve standardním tvaru matematicky zformulujeme takto: Kriteriální funkce má potom tvar: z min = 6  x  x  x  x  x  x 21 + x  x  x  x  x  x  x  x  x 35

9 4. Stanovení výchozího bázického řešení dopravní úlohy A) Metoda severozápadního rohu: Nalezení výchozího bázického řešení metodou severozápadního rohu je velmi jednoduché. Do tabulky, ve které jsou zapsány výchozí údaje dopravní úlohy formulované ve standardním tvaru, zapisujeme postupně kladné hodnoty proměnných x ij. Začínáme levým horním políčkem tabulky, které odpovídá proměnné x 11. Hodnota této proměnné bude rovna x 11 = min(a 1 ; b 1 ). Mohou nastat tři případy: a) a 1  b 1, b) a 1  b 1, c) a 1 = b 1 1 ●V případě a) uspokojíme požadavek prvního odběratele, tj. x 11 = b 1, všechny x i1 = 0 (i = 2, 3, ….., m) a přejdeme ke stanovení x 12 = min(a 1 - x 11 ; b 2 ). ●V případě b) vyčerpáme kapacitu prvního dodavatele, tj. x 11 = a 1, všechny x 1j = 0 (j = 2, 3, ….., m) a přejdeme ke stanovení x 21 = min(a 2 ; b 1 – x 11 ). ●V případě c) vyčerpáme kapacitu prvního dodavatele a současně uspokojíme požadavek prvního odběratele, tj. x 11 = a 1 = b 1, všechny x i1 = 0 (i = 2, 3, ….., m), x 1j = 0 (j = 2, 3, ….., m) a přejdeme ke stanovení x 22 = min(a 2 ; b 2 ). V tomto případě obdržíme bázické degenerované řešení.

10 Hodnotu, kterou přiřadíme proměnné x ij určíme jako: Vzhledem k tomu, že postupujeme systematicky zleva doprava a shora dolů, dostáváme se v posledním kroku k určení hodnoty x mn, tj. za předpokladu platnosti vztahu: Počet kroků není větší než m + n – 1. Uvedený postup zaručuje, že získané řešení je vždy přípustné a bázické. Metodu severozápadního rohu můžeme aplikovat na daný příklad (viz. tab. 3). SKLADY - dodavatel Strojírenské dílny – odběratelKAPACITY K1K1 K2K2 K3K3 K4K4 K5K5 S1S1 6. km 600. tun 4. km 400. tun 9. km km km tun S2S2 8. km km 450. tun 13. km 550. tun 5. km 200. tun 0. km tun S3S3 7. km km km km 450. tun 0. km 350. tun 800. tun Požadavky600. tun850. tun550. tun650. tun350. tun Tab. 3: Aplikace metody severozápadního rohu na dopravní úlohu

11 V tab. 3 jsme získali výchozí bázické nedegenerované řešení. Hodnota účelové funkce potom je: z = 6        350 = tkm. ●Metoda severozápadního rohu nebere zřetel na koeficienty účelové funkce (vzdálenosti). Získané řešení se proto může značně lišit od řešení optimálního. Výchozí řešení by se však mělo co nejvíce přiblížit optimálnímu řešení, a to z důvodu zkrácení iteračního postupu při vyhledávání optimálního řešení. B) Indexní metoda Indexní metodou, se postupuje obdobným způsobem jako při metodě severozápadního rohu. Rozdíl je pouze v tom, že při určování hodnot jednotlivých proměnných nepostupujeme zleva doprava a shora dolů, ale přihlížíme k velikosti koeficientů účelové funkce (sazeb). Políčka obsazujeme postupně, začínajíc vždy od políčka s nejnižší kladnou sazbou. Když při obsazování políček přichází v úvahu více stejných sazeb, pak přednostně obsadíme políčko s nejnižším i a j. Políčka s nulovou sazbou, kterým přísluší doplňkové proměnné, obsazujeme jako poslední. Postup nalezení bázického řešení indexovou metodou je uveden v následující tab. 4.:

12 SKLADY - dodavatel Strojírenské dílny – odběratelKAPACITY K1K1 K2K2 K3K3 K4K4 K5K5 S1S1 6. km 600. tun 4. km km 100. tun 8. km 300. tun 0. km tun S2S2 8. km km 850. tun 13. km km 350. tun 0. km tun S3S3 7. km km km 450. tun 12. km km 350. tun 800. tun Požadavky600. tun850. tun550. tun650. tun350. tun Tab. 4: Aplikace indexní metody na dopravní úlohu V tab. 4 jsme získali výchozí bázické nedegenerované řešení. Hodnota účelové funkce potom je: z = 6        350 = tkm.

13 C) Dantzigova metoda  Metody, které vedou k optimálnímu řešení, vycházejí – obdobně jako simplexova metoda – z určitého bázického řešení, získaného metodou severozápadního rohu nebo indexní metodou. Toto výchozí řešení iteračním postupem zlepšujeme a po konečném počtu kroků dosáhneme optimální řešení. Jak již bylo řečeno dříve, lze dokázat, že dopravní úloha má vždy optimální řešení s konečnou hodnotou účelové funkce. Z hlediska řešitelnosti mohou nastat pouze dva případy, a to: 1)Úloha má jedno bázické optimální řešení. 2)Úloha má více bázických optimálních řešení, a tedy nekonečně mnoho nebázických optimálních řešení.  Při Dantzigově metodě jsou obdobně jako v simplexové metodě využívána při výpočtu kritéria optimality a při určování proměnné vstupující do řešení indexní čísla  ij. Indexní číslo nebázické proměnné (neobsazeného políčka) udává, o kolik by se změnila hodnota účelové funkce při zařazení jedné jednotky této proměnné do řešení.  Výpočet indexních čísel nebázických proměnných (neobsazených políček) provádíme prostřednictvím uzavřených obvodů. K neobsazenému políčku sestavujeme uzavřený obvod s vrcholy pouze v obsazených políčkách. Lze dokázat, že v nedegenerovaném bázickém řešení lze pro každé neobsazené políčko vyhledat uzavřený obvod po obsazených políčkách, a to jednoznačným způsobem.

14 Algoritmus řešení dopravní úlohy Dantzigovou metodou můžeme shrnout do následujících bodů: 1) Stanovíme výchozí bázické nedegenerované řešení. 2) Pro všechna neobsazená políčka sestrojíme uzavřené obvody po obsazených políčkách a vypočteme příslušné hodnoty indexních čísel  ij. 3) Jsou-li všechna indexní čísla kladná, je nalezené řešení jediným optimálním řešením úlohy. Je-li jedno nebo více indexních čísel rovno nule a ostatní jsou kladná, je nalezené řešení též optimální, existuje však další (jedno nebo více) bázické optimální řešení (kritérium optimality). 4) Je-li alespoň jedno indexní číslo záporné, není nalezené řešení optimální a přecházíme k jeho zlepšování: a) Vybereme políčko s nejvyšší zápornou hodnotou indexního čísla. Je-li takových políček více, vybíráme políčko s nižším i a j. b) Toto políčko, které nově obsazujeme, označíme znaménkem +, nalezneme k němu uzavřený obvod po obsazených políčkách a jeho vrcholy střídavě označíme znaménky – a +. c) Hodnota vstupující proměnné je rovna minimální hodnotě x ij ze všech políček označených znaménky –. Políčko s touto minimální hodnotou je zároveň proměnnou vystupující z řešení. d) Nalezenou hodnotu proměnné přesuneme v cyklu, tím dostaneme nové bázické řešení a vrátíme se k bodu 2.

15 Výpočet Dantzigovou metodou: 1)Výchozí bázické řešení stanovíme např. indexní metodou, při tomto řešení je hodnota účelové funkce z = tkm. 2) Pro neobsazená políčka sestrojíme uzavřené obvody po obsazených políčkách a vypočteme příslušné hodnoty  ij :  12 = c 12 – c 14 + c 24 – c 22 = 4 – – 1 = 0,  15 = c 15 – c 13 + c 33 – c 35 = 0 – – 0 = 1,  21 = c 21 – c 24 + c 14 – c 11 = 8 – – 6 = 5,  23 = c 23 – c 24 + c 14 – c 13 = 13 – – 9 = 7,  25 = c 25 – c 24 + c 14 – c 13 + c 33 – c 35 = 0 – – – 0 = 4,  31 = c 31 – c 33 + c 13 – c 11 = 7 – – 6 = 0,  32 = c 32 – c 33 + c 13 – c 14 + c 24 – c 22 = 2 – – – 1 = –3,  34 = c 34 – c 33 + c 13 – c 14 = 12 – – 8 = 3

16 Např.: Výpočet  12 SKLADY - Dodavatel Strojírenské dílny - odběratelKAPACITY K1K1 K2K2 K3K3 K4K4 K5K5 S1S1 6. km 600. tun 4. Km (+c 12 ) 0 9. km 100. tun 8. km (-c 14 ) 300. tun 0. km tun S2S2 8. Km km (-c 22 ) 850. tun 13. Km km (+c 24 ) 350. tun 0. km tun S3S3 7. km km km 450. tun 12. km km 350. tun 800. tun Požadavky600. tun850. tun550. tun650. tun350. tun Např.: Výpočet  32 SKLADY - Dodavatel Strojírenské dílny – odběratelKAPACITY K1K1 K2K2 K3K3 K4K4 K5K5 S1S1 6. km 600. tun 4. Km km (+c 13 ) 100. tun 8. km (-c 14 ) 300. tun 0. km tun S2S2 8. Km km (-c 22 ) 850. tun 13. Km km (+c 24 ) 350. tun 0. km tun S3S3 7. Km km (+c 32 ) km (-c 33 ) 450. tun 12. Km km 350. tun 800. tun Požadavky600. tun850. tun550. tun650. tun350. tun

17 4) Je patrné, že řešení uvedené v tabulce 4. není optimální, neboť  32 = -3. a) Zápornou hodnotu má pouze jedno indexní číslo, a to indexní číslo příslušející políčku S 3 K 2, proto budeme toto políčko nově obsazovat. b) Políčko S 3 K 2 označíme znaménkem + a vyznačíme k němu uzavřený obvod po obsazených políčkách (viz. tab. 4). c) x 32 = min(x 33, x 14, x 22 ) = min(450, 300, 850) = 300. Proměnná x 14 se stává nebázickou a vystupuje z řešení. d) Provedeme přesun v cyklu a dostaneme nové bázické řešení s lepší hodnotou účelové funkce o –3  300 = -900, tj. z = tkm, viz. tab. 5.

18 SKLADY - dodavatel Strojírenské dílny - odběratelKAPACITY K1K1 K2K2 K3K3 K4K4 K5K5 S1S1 6. km 600. tun 4. km km 400. tun 8. km km tun S2S2 8. km km 550. tun 13. km km 650. tun 0. km tun S3S3 7. km km 300.tun 10. km 150. tun 12. km km 350. tun 800. tun Požadavky 600. tun850. tun550. tun650. tun350. tun Tab. 5: Úprava tabulky vedoucí k 1.variantě optimálního řešení Vrátíme se k bodu 2., tj. pro neobsazená políčka v tab. 5 sestrojíme uzavřené obvody po obsazených políčkách a vypočteme příslušné hodnoty  ij :  12 = c 12 – c 13 + c 33 – c 32 = 4 – – 2 = 3,  14 = c 14 – c 13 + c 33 – c 32 + c 22 – c 24 = 8 – – – 5 = 3,  15 = c 15 – c 13 + c 33 – c 35 = 0 – – 0 = 1,  21 = c 21 – c 22 + c 32 – c 33 + c 13 – c 11 = 8 – – – 6 = 2,  23 = c 23 – c 22 + c 32 – c 33 = 13 – – 10 = 4,  25 = c 25 – c 22 + c 32 – c 35 = 0 – – 0 = 1,  31 = c 31 – c 33 + c 13 – c 11 = 7 – – 6 = 0,  34 = c 34 – c 32 + c 22 – c 24 = 12 – – 5 = 6, z = 6        350 = tkm.

19 V tab. 5 je uvedeno optimální bázické nedegenerované řešení (všechna  ij  0). Kromě tohoto optimálního řešení existuje ještě jedno bázické optimální řešení, které získáme obsazením políčka S 3 K 1, neboť  31 = 0. SKLADY - dodavatel Strojírenské dílny - odběratelKAPACITY K1K1 K2K2 K3K3 K4K4 K5K5 S1S1 6. km (-c 11 ) 600. tun 4. km km (+c 13 ) 400. tun 8. km km tun S2S2 8. km km 550. tun 13. km km 650. tun 0. km tun S3S3 7. km (+c 31 ) 0 2. km 300.tun 10. km (-c 33 ) 150. tun 12. km km 350. tun 800. tun Požadavky600. tun850. tun550. tun650. tun350. tun Tab.6 Rozbor vedoucí k 2. variantě bázického optimálního řešení Toto další optimální bázické řešení je zapsáno v tab. 7. Příslušný uzavřený obvod k políčku S 3 K 1, po obsazených políčkách je vyznačen v předchozí tabulce. Do políčka S 3 K 1 se přesouvá hodnota x 31 = min(x 33, x 11 ) = = min(150, 600)) = 150. Proměnná x 33 vystupuje z řešení.

20 SKLADY - dodavatel Strojírenské dílny - odběratelKAPACITY K1K1 K2K2 K3K3 K4K4 K5K5 S1S1 6. km 450. tun 4. km km 550. tun 8. km km tun S2S2 8. km km 550. tun 13. km km 650. tun 0. km tun S3S3 7. km 150. tun 2. km 300.tun 10. km km km 350. tun 800. tun Požadavky 600. tun850. tun550. tun650. tun350. tun Tab. 7: Úprava tabulky vedoucí k 2. variantě bázického optimálního řešení z = 6        350 = tkm.

21 ●Těmito dvěmi variantami možného optimálního řešení je možno úlohu vyřešit, přičemž budou plně uspokojeny všechny kovárny daného podniku, které jsou zásobeny třemi různými sklady a to tak, že objem ujetých tunokilometrů je minimální a je roven tkm. Dantzigova metoda se ukázala z hlediska optimalizace tou nejúspornější, která pracuje se stejnými daty jako metody předchozí, ale dynamika výpočtu spěje k dalším úsporám oproti předchozím metodám. ●V současné době již pracuje řada software na poznatcích možných výpočtů a to s mnoha proměnnými vstupujícími do výpočtu, takže odpadá násilné pronikání do poznatků algoritmů a práce s čísly se tak stává úlohou zadávání vstupních hodnot do algoritmů vytvořených programů, které pracují s velkou rychlostí výpočtu a bez chyb lidského faktoru. ●Další vymožeností současné doby je využití informačních systémů, které analyzují „právě načas“, kde a v jakém množství je výroba rozpracovaná, kolik polotovarů je ve vstupním a výstupním skladu, čímž odpadá složité řízení mezi dodavateli a odběrateli, interní řízení mezi sklady a dílnami, přičemž není možno, aby docházelo k tzv. vágnosti (neurčitosti) řízení. A právě toto direktivní řízení realizované jako funkce závislosti na čase, při monitoringu procesů vznikajících při výrobě, přinese závodům ty největší úspory, a to především v úspoře nákladů, ale také se kladně projeví na ekologické zátěži našeho státu při výrobě a zdraví pracovníků. Závěr:

22 Děkuji Vám za pozornost


Stáhnout ppt "DANTZIGŮV MECHANISMUS OPTIMÁLNÍHO ZÁSOBOVÁNÍ ZE SKLADŮ POLOTOVARŮ U TĚŽKÝCH TVÁŘECÍCH PROVOZŮ Ing. Marek Štroner, Ph.D. 19.09.2007 Vysoké učení technické."

Podobné prezentace


Reklamy Google