GAZDASÁGI ÉS NATURÁLIS CÉLFÜGGVÉNYEK KOMBINÁLT ALKALMAZÁSA EGY EGYSZERŰ LOGISZTIKAI PÉLDÁN Pokornyik Norbert Kaposvári Egyetem Gazdaságtudományi Kar, Kaposvár Informatikai Tanszék Konzulens: Dr. Csukás Béla, tanszékvezető, egyetemi docens Társkonzulens: Varga Mónika, PhD hallgató
Kaposvár, 2008. november12.
ÖSSZEFOGLALÓ Munkámban egy, a gazdasági életben, és a termelési folyamatokban tipikus logisztikai feladat szuboptimális megvalósítását tanulmányoztam. A háromtermékes gyártás dinamikus szimuláció és genetikus algoritmus használatán alapuló vizsgálatát a Kaposvári Egyetem Informatika Tanszékén több szempontú naturális célok szerinti érékelés alapján végezték el. Jelen munkában először egy profitot maximáló egy szempontú algoritmust dolgoztam ki. Ennek érdekében a folyamat összes részfolyamatához költséget rendeltem, majd ezt az algoritmust a szimulációs programba építettem. Ezáltal különféle fajlagos költségtényezők, és egységárak mellett minden szimuláció során a profitot kaptuk eredményül. Ezt a kibővített modellt összekapcsoltam a genetikus optimáló programmal. A genetikus algoritmus számára adott lehetőségtértől függően három feladatosztályra (tervezés, üzemeltetés, ütemezés) teszteltem az új módszer hatékonyságát, és az eredményeket összehasonlítottam a korábbi termelést optimáló kísérletekkel. További munkám során naturális célokat definiáltam a termék mennyiségekre vonatkozóan, aminek következtében életszerűbb modellek születtek a termelést illetően. Végül a két optimálási módszert összehasonlítottam egy gyakorlati példán keresztül, és a kétféle megoldás elemzése során, konkrét számadatokkal bizonyítottam az új módszer hatékonyságát. Tapasztalataim szerint az új módszer mindazon előnyöket magában foglalja, amit a több szempontú értékelésnél tapasztaltunk. Lényeges többlet azonban, hogy figyelembe veszi a költségeket, és azok változásait, ezáltal a gazdasági céloknak megfelelőbb megoldást szolgáltat.
BEVEZETÉS Napjainkban, az egyre inkább globálissá váló világgazdaság bonyolult jelensége, de még inkább ezek tükröződései a napi fogyasztásra előállított médiában, gyakran elrejtik azt az alapigazságot, hogy a gazdaság minden pénzügyi, kereskedelmi, tőzsdei, üzleti folyamata a termelési folyamatok alapjaira épül. A Kaposvári Egyetem Informatika Tanszékén folyó kutatások (modellezés, tervezés, optimalizálás) e folyamatok széles spektrumát érinti. Ezek közül ragadtam ki egy egyszerű logisztikai példát, mely ’’mintapéldának’’ tekinthető, de vizsgálata a gazdasági életben előforduló valós alkalmazások szempontjából is fontos. Egy több termékes gyártási folyamat (’’single switch server problem’’) egyfajta optimalizálását valósítom meg, mely témakör számos irodalmi forrásban (AGARWAL et al., 2002; PERKINS et al., 1989), tanulmányozott téma. Az eddig rendelkezésre álló modell lehetőséget adott arra, hogy naturális céloknak megfelelően keressünk jó megoldásokat. A genetikus algoritmus segítségével kerestük a célokat legjobban kielégítő modelleket. A legjobb modell megtalálása érdekében általában több szempontú értékelést végeztünk. Előnyösebb azonban, ha az egész folyamatot nem közvetetten, hanem közvetlenül a költség alapján irányítjuk, illetve optimalizáljuk. Ez azért is célszerű, mert az egy szempontú értékelés során (szempont: a költség) gyorsabb, és jobb megoldást érhetünk el. Feladatunk először a költségfüggvény alapján történő optimálás volt, majd ennek kiegészítése egy kombinált módszerre (V.M 2007.) az aktuális igényeket figyelembe vevő naturális értékelő szempontokkal.
ANYAG ÉS MÓDSZER 1, Egy több termékes gyártási folyamat bemutatása 1.1 A rendszer felépítése A példaként vizsgált, egyszerűsített rendszerben (ld. 1. ábra) három különböző alapanyagot tartalmazó tartály, és egy alapanyagot feldolgozó gyártó berendezés áll rendelkezésre, mely előállítja az eladásra szánt háromféle készterméket. Üzemünk jellemzője,
hogy egyszerre csak egy fajta alapanyagot képes feldolgozni, adott kapacitással, és minden váltásnál tisztítani kell, mielőtt elkezdi egy másik alapanyag feldolgozását. A tisztítás sem feltétlenül egységes, mert különféle feltételekhez kell alkalmazkodni. Például az A anyag gyártása után erőteljesebb tisztítás szükséges, mint B után, vagy másik anyaggal kell tisztítani, stb. 1.2 A rendszer szabályozása A folyamatos termelés érdekében biztosítani kell, hogy az üzem lehetőleg mindig hozzáférjen valamelyik alapanyaghoz, ezért esetünkben a feldolgozandó termékek beáramlása a tartályokba elvileg folyamatos. A szabályozás részeként megadtuk a tartályoknak azt a maximális szintjét, amikor a feldolgozandó termék beáramlást meg kell szakítani, mert különben túlcsordulás következhetne be. Egy adott beállításnál a tartályok szintje dönti el, hogy a tisztítás után melyik alapanyagot kezdjük feldolgozni. A feldolgozás során a tartályszint csökken, és akár teljesen ki is ürülhetne, melynek következményeként az üzem leállhatna, ezért meg kell határozni azt a minimális szintet, amelynél az alapanyag feldolgozást meg kell szakítani, és váltani kell. A tisztítás után a legmagasabb szinten lévő tartályból kell elkezdeni a gyártást. Az egyes tartályok minimális, és maximális szintjeinek nem feltétlenül kell megegyezniük. Ezek a határszintek változtatható modell paraméterek, melyeket célszerű optimálisan megválasztani, mivel nagy hatással vannak a termelt késztermékek mennyiségére, és a tisztítások számára a vizsgált időintervallumban. 1.3 A kiinduló állapot A vizsgálat során egy általános probléma megoldásra fejlesztett szimulációs modell (Csukás B., 2003. Három termékes gyártás elektronikus tananyaga.) állt rendelkezésre, mely a konkrét feladatra adaptálva írja le a vizsgált rendszert. A szimuláció során figyelemmel kísérhetjük a tartályszintek időbeli változását, a legyártott anyag mennyiségeket, stb. A szimuláció kezdetén meg lehet adni a folyamatot meghatározó üzemeltetési paramétereket: az üzem feldolgozási kapacitását, beáramlási sebességeket, határszinteket, tisztítási időket (utóbbi egy fix technológiai adat).
Max szint
C A
B Min szint
Tisztítás: minden Váltás után
Gyártó berendezés
Ak
Bk
Ck
Forrás: saját munka, 2008
1. ábra A háromtermékes gyártás illusztrálása: látható hogy az A, B, C alapanyagokból miként lesz késztermék (jelen esetben A alapanyag feldolgozás).
2 Az értékelési szempontok 2.1 A célok naturális megfogalmazásban (naturális célfüggvény) A folyamatos beáramlás következményeként a tartályokban mindig lesz valamennyi feldolgozásra váró alapanyag. Ha példaként azt feltételezzük, hogy az alapanyag csak magas hőmérsékleten alakítható késztermékké, akkor belátható, hogy célszerű a tartályokat minimális szinten tartani, hogy ne kelljen például többet fűteni, mert az megnöveli a termelés költségeit. Célunk az hogy, mindig annyi legyen a tartályokban amennyi kell, de több ne. Egy másik természetes cél, hogy időegységre vonatkoztatva a maximális késztermék mennyiséget elérjük, hiszen akkor időegység alatt a jövedelmezőség is magasabb lesz. Mivel az üzemnek van egy bizonyos korláta, feldolgozási kapacitása, kénytelenek vagyunk a tisztítások számát minimalizálni, hogy az ezzel nyert többlet időben is dolgozhasson az üzem, ezáltal több készterméket gyárthasson. Másrészt minden egyes tisztításnak költsége van, hiszen a tisztító anyagnak, energiának, stb. is ára van. 2.2 A célok gazdasági megfogalmazásban (gazdasági célfüggvény) A naturális megfogalmazásban jól látszik, hogy a termelésnek több szempontnak meg kell felelnie, csak akkor tekinthető optimálisnak a gyártási folyamat. Valójában a fenti célok megfontolásában a költségek csökkentése a mérvadó. Annak érdekében, hogy célfüggvényt tudjunk létrehozni, mindent költségesíteni kell. A gazdasági cél tehát egyszempontú: a termelés során felmerülő költségek összességének minimalizálása, vagy ha tágabb rendszerben vizsgálódunk és a késztermékek eladási árát is bevonjuk a modellbe, akkor a profit maximalizálása a célfüggvény. Ha e célok valamelyikére vonatkozva keresünk optimális megoldást az gazdasági szempontból a legmegfelelőbb, ugyanakkor a folyamat egyes részeit tekintve lehetnek hátrányai.
3 Gazdasági célfüggvény meghatározása a több termékes gyártás esetén (a választott stratégia: profit maximálás) 3.1 Általános megközelítés Az optimálás során egy profitot meghatározó függvény maximumát keressük, ehhez meg kell határozni a profitot leíró függvényt. A profit általánosan felírható úgy, mint a késztermékek értékesítéséből származó összes bevétel, és a termeléssel járó összes költség különbsége egy adott időintervallumra vonatkozóan. Ez matematikailag leírva: T
T
0
0
P = ∑ B − ∑ K , ahol P a profit, B a bevétel, K pedig a költség, és mindezt [0; T] időintervallumra adtuk meg. A költségek azonban szorosan összefüggnek az üzemeltetési paraméterekkel, tehát keresnünk kell egy olyan üzemeltetési paraméterekkel rendelkező modellt, mely a minimális költséget eredményezi. Ahhoz, hogy ezt megtaláljuk, szükségszerű megvizsgálni, hogy milyen költségekkel kell számolnunk a folyamat során. 3.2 Gyártás során felmerülő költségek a, Alapanyagokat dolgozunk fel, amelyeknek van egy vételi áruk egységnyi mennyiségre vonatkoztatva, az alapanyagoknak el kell jutniuk az üzemig, ami adminisztrációs, szállítási, és anyagmozgási költségeket idéz elő. Ezt közös néven én most beszerzési költségnek tekintem. b, A tartályban lévő anyagokat megfelelő hőmérsékleten kell tartani, biztosítást kell fizetni utána, stb. Az ebből képzett költséget készletezési költségnek nevezzük. Mivel háromféle anyagunk van, e költségtípus is szintén három tagból fog állni. c, Az anyagok feldolgozása során energiát használunk az üzem működtetésére, maga a gyártó berendezés is pénzbe került, és amortizálódik, és jelen vannak az ezzel kapcsolatban
lévő általános kiadások is, mindezeket összefoglalóan gyártási költségnek hívjuk. Ez értelemszerűen szintén három tagból fog állni. d, Minden váltás után tisztítani kell a gyártóberendezést, amely időt, tisztítóanyagot, és energiát emészt fel, melyet költségként kell felírni. Ezt hívják átállási költségnek, vagy esetünkben tisztítási költségnek. 3.3 A költségek és a bevétel számolásának módja Beszerzési költség: Esetünkben a feldolgozott alapanyag és gyártott termék mennyiség azonos. Az egyes alapanyagok beszerzési egységárai adottak, a feldolgozott mennyiség pedig a szimulált modellből kiolvasható. Ezek segítségével már a beszerzési költség felírható: alapanyagonként a megvett feldolgozott termékmennyiség (közelítőleg késztermék tömeg), és a beszerzés egységárának szorzata, azaz:
K Be = K Be A + K Be B + K BeC
K Be − beszerzési költség
K Be = M A EBe A + M B EBeB + M C EBeC
M i − adott alapanyag mennyiség
E Bei − adott alapanyag beszerzési egységára Ft (Dimenzió ellenőrzés: kg ⋅ kg = Ft ) Készletezési költség: Ennek meghatározása a tartályok folyamatos figyelésén alapul. A számítógép csak diszkrét időpontokban képes a tartályok szintjét rögzíteni, minél kisebb a szimuláció időlépése, annál pontosabb a megfigyelés. A tartályok szintje dinamikusan változik. Egy adott anyag egy bizonyos nagyságú időintervallumára vonatkozó készletezési költségét meghatározhatjuk, ha két egymást követő időpillanatban leolvassuk a tartály szinteket, majd vesszük a számtani közepét, megszorozzuk a szimuláció időlépésével, és az egységnyi időre vonatkozó készletezési költséggel is. Ekkor a teljes szimuláció egészére számos diszkrét készletezési költség tagot kapunk, amelyeket összeadva, megkapjuk a szimuláció teljes időtartamára vonatkozó készletezési költséget egy adott anyagra vonatkozóan. Esetünkben három anyagra kell ezt elvégezni, és azok összeadásával kapjuk meg a gyártásra vonatkozó készletezési költséget, azaz: K K − teljes készletezési költség
K K = K K A + K K B + K KC ti =T
K KA = ∑ ti =t
S A (ti − ∆t ) + S A (ti ) ⋅ ∆t ⋅ E 2
T − szimuláció teljes ideje ∆t − szimuláció idő lépése KA
S A − Az " A" tartály szint (kg)
E K − Az " A" anyag készletezési költsége Ft = Ft ) kg ⋅ sec Gyártási költség: A szimuláció végén leolvasható a feldolgozott mennyiség. Mindegyik alapanyagra vonatkozóan ezeket beszorozva a megfelelő gyártási költséggel, megkapjuk a gyártás költségét. A három tagot összeadva megkapjuk a gyártásra vonatkozó teljes gyártási költséget, azaz:
(Dimenzió ellenőrzés: kg ⋅ sec
A
K Gy = K Gy A + K Gy B + K Gy C
K Gy − gyártási költség
KGy = M A EGyA + M B EGyB + M C EGyC
M i − adott késztermék mennyiség
Ft (Dimenzió analízis: kg ⋅ kg = Ft )
E Gyi − adott késztermék gyártási költsége
Tisztítási költség: egy logikai függvény felhasználásával meg tudjuk számolni, hogy a szimuláció során hányszor történt váltás. Ez után célszerű egy újabb logikai függvény felhasználásával megkülönböztetni, hogy hányszor tisztítottunk az A, B, és C alapanyag után. Ez azért célszerű, mert nem biztos, hogy az egyik tisztítás ugyan annyiba kerül, mint a másik (lehet, hogy más tisztító anyagot kell felhasználni vagy más mennyiségben, stb.). Az egyes anyagok utáni tisztítások számát be kell szorozni a megfelelő tisztítási költséggel, majd összeadva, megkapjuk a gyártásra vonatkozó teljes tisztítási költséget, azaz: K T − tisztítási költség
KT = KTA + KTB + KTC
Ti − adott alapanyag utáni tisztítások száma
. K =T E +T E +T E T A TA B TB C TC Dimenzió ellenőrzés: tisztítás(száma) ⋅
Ft = szám ⋅ Ft = FT egy.tisztítás
ETi − adott alapanyag utáni tisztítási költség
Bevétel: A szimulációból lekérdezzük az egyes legyártott késztermékek mennyiségét, az eladásra vonatkozó megfelelő egységárak pedig adottak. A kettő szorzata megadja a bevételt és a három bevételt összeadva, megkapjuk a gyártásra vonatkozó teljes bevételt, azaz:
B = B A + B B + BC B = M A E ElA + M B E ElB + M C E ElC Ft (Dimenzió ellenőrzés: kg ⋅ kg = Ft )
B − teljes bevétel M i − adott késztermék mennyiség E Eli − adott késztermék eladási egységára
3.4 A profit függvény meghatározásának nehézségei A gyártás költsége a modell kezdeti paramétereitől függ: fuzzy megítélési függvényektől, minimális és maximális tartály szintektől, tisztítási időktől, áramlási sebességektől, feldolgozási kapacitásoktól, a feldolgozás sajátosságaitól: pl. melyiket gyártsuk, ha a váltás után két tartály azonos szinten áll, stb. Elvileg a paraméterek között kellene egy olyan matematikai összefüggést keresni, melyből a profit egyértelműen meghatározható, bárhogy is változtatjuk az üzemeltetési paramétereket. Miután a megfelelő, függvény formájú, életszerűen működő matematikai összefüggést megtaláltuk, már csak a szélső érték helyét kellene meghatározni, s ennek révén a lehető legnagyobb profitot érhetnénk el. Sajnos ez nehezen járható út, mivel a profit függvénye egy nagyon sokváltozós hibrid függvény, melynek meghatározása nehéz. Bonyolultabb esetekben az is elképzelhető, hogy egzakt megoldást nem is tudnánk felírni. 3.5 Egy lehetséges megoldás a profit maximalizálásra Mivel a gazdasági célfüggvény modell paraméterekkel való kifejezése nehezen járható, ezért értékelés visszacsatoláson alapuló szuboptimálást hajtunk végre. Ebben az esetben a szimulátor, és egy optimáló program kommunikál egymással (ld. 2. ábra). Az általunk használt optimátorban rögzítve van az optimálási cél, adva van számára egy lehetőségtér, és az a genetikus algoritmus alapján próbál olyan modelleket generálni, amely a rögzített célt a legjobban megközelíti (CSUKAS és BALOGH, 1998; BALOGH, 2008). Az optimáló programunk ajánl egy modellt, a szimulátor pedig, szimulálja a modellt az ajánlott paraméterekkel, majd a szimuláció eredményét visszaadja az optimátornak. Ezt felhasználva, a genetikus algoritmus más paraméterekből álló modellt generál, majd a szimulátor az eredményt visszaküldi. A folyamatos kommunikáció eredményeként születik meg a szuboptimális megoldás. Esetünkben az optimálási szempont egy szám (a profit) maximalizálása, amely a költségekből, és a bevételekből számolható minden modell esetén, miután ezzel a tulajdonsággal kibővítettük a modellünket. A lehetőségtér: a modell egyes,
vagy összes üzemeltetési paramétere, melyek értékét az optimáló program csak egy általunk megadott intervallumban módosíthatja. A genetikus algoritmus evolúciós elméleten alapul. Az evolúció törvénye a természetes szelekció, amely alkalmas arra, hogy a jobb, életképesebb genetikai háttérrel rendelkező egyedeket kiszűrje, azok jó alkalmazkodó képességük miatt fennmaradnak a többiek pedig, alkalmazkodó képességük hiánya miatt elpusztulnak. A következő nemzedéket a fennmaradt jó genetikai háttérrel rendelkező egyedek hozzák létre, örökítve előnyős tulajdonságaikat. A genetikus algoritmus működése ezzel analóg, csak itt az alkalmazkodást megkívánó környezet a rögzített szempont, cél (profit maximum), az egyedek az egyes generált modellek, a genetikai hátteret pedig a modell paraméterek jelentik. Folyamatos fejlődés figyelhető meg a nemzedékeken keresztül. Tendencia jellegű javuló genetikai háttér a környezethez való alkalmazkodás szempontjából, a rögzített cél szempontjából pedig, megfelelőbb modell paraméterek születnek. A fejlődés motorja itt is a genetikus operátorok a szelekció, a kereszteződés, a mutáció (GOLDBERG D. E, 1991; Szakál L, 1996;)
Forrás: saját munka, 2008
2. ábra A szimulátor és a genetikus algoritmus visszacsatolt rendszere.
EREDMÉNYEK ÉS ÉRTÉKELÉSEK 1. A modell tesztelése, és elemzése Miután sikerült a folyamat minden eleméhez költséget rendelni, és alkalmassá tettük a modellünket e költségtényezők automatikus számolására, a fent említett optimálási módszerrel megvizsgáljuk milyen előnyre tettünk szert a korábbi több szempontú naturális optimálási kísérletekhez képest. Attól függően, hogy a genetikus algoritmus számára milyen lehetőségteret biztosítunk (milyen paramétereket módosíthat egy adott intervallumban) beszélhetünk tervezésről, üzemeltetésről, és ütemezésről. Tervezésről abban az esetben beszélünk, ha adott alapanyag beáramlási sebességhez keresünk olyan feldolgozási kapacitással rendelkező üzemet, amellyel a gyártási folyamat számunkra a leggazdaságosabb. Ebben az esetben a genetikus algoritmus a tartályok minimális és maximális szintjeit és az üzem egyes alapanyagokra vonatkozó feldolgozó kapacitásait módosíthatja. Kezdetben nézzünk erre a feladatra vonatkozó kísérleteket. E kísérletek adatai az 1. és 2. és 3. táblázatban látható. Anyag fajták A B C
Beszerzési ktg(Ft/kg) 300 350 450
1. Táblázat 1. Kísérlet adatai: Gyártási Tiszt ktg(Ft/1 Készletez ktg(Ft/kg) tisztítás) ktg(Ft/kg/h) Értékesítés(Ft/kg) 50 300 110 3000 40 400 120 3200 35 500 100 3500
2. Táblázat
Anyag fajták A B C
Beszerzési ktg(Ft/kg) 300 350 450
2. Kísérlet adatai: Gyártási Tiszt ktg(Ft/1 Készletez ktg(Ft/kg) tisztítás) ktg(Ft/kg/h) Értékesítés(Ft/kg) 50 100000 110 3000 40 110000 120 3200 35 90000 100 3500
A két táblázatban csak a tisztítási költségben van eltérés. Amint a 3. és 4. ábrán is látszik, az optimálás a költségek figyelembevételével ment végbe. Amikor az egy tisztításra vonatkozó költség megnövekedett, a genetikus algoritmus logikus megoldást produkált, a tisztítás ára megnövekedett, ezért olyan gyártási stratégiát dolgozott ki, ahol a tisztítások száma erőteljesen lecsökkent. tisztítás száma db ’A’ után ’B’ után ’C’ után
legyártott mennyiség (kg)
9000 8000 7000 6000
91 88 90
Proc_A M
5000
Proc_B M
4000
Proc_C M
3000 2000 1000 97.2
89.1
81
72.9
64.8
56.7
48.6
40.5
32.4
24.3
16.2
8.1
0
0
idő (h)
Forrás: saját eredmény, 2008
3. ábra: A legyártott késztermék mennyiségek az idő függvényében az 1. kísérletre tisztítás száma db ’A’ után ’B’ után ’C’ után
legyártott m ennyiség (kg)
8000 7000 6000 5000
Proc_A M
4000
Proc_B M
3000
Proc_C M
2000 1000 93.6
85.8
78
70.2
62.4
54.6
46.8
39
31.2
23.4
15.6
7.8
0
0
idő (h)
Forrás: saját eredmény, 2008
4. ábra: A legyártott késztermék mennyiségek az idő függvényében a 2. kísérletre
54 55 55
3. Táblázat 3. Kísérlet adatai:
Anyag fajták A B C
Beszerzési ktg(Ft/kg) 500 450 400
Gyártási ktg(Ft/kg) 200 150 140
Tiszt ktg(Ft/1 Készletez tisztítás) ktg(Ft/kg/h) Értékesítés(Ft/kg) 10000 40000 1000 15000 50000 800 15000 60000 900
A költségparaméterek megnövekedtek, az értékesítés ára pedig lecsökkent! A kísérletnél kérdés, hogy ilyen paraméterek mellet lehet gazdaságosan termelni?
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
Supp_A M Supp_B M
332
305
277
249
222
194
166
139
111
83.1
55.4
27.7
Supp_C M
0
gyártott mennyiség (kg)
Az algoritmusunk szerint ilyen költségtényezők mellett akkor járunk a legjobban, ha el sem kezdjük a gyártást, vagyis nincs olyan feldolgozó üzem az általunk megadott intervallumban, amivel a gyártás során haszonra tehetnénk szert. A 3. kísérlet eredménye az 5. ábrán látható
idő (h)
Forrás: saját eredmény, 2008
5. ábra: A legyártott késztermék mennyiségek az idő függvényében a 3. kísérletre Most nézzünk példát üzemeltetési feladatra! Ebben az esetben adott feldolgozó kapacitáshoz keresünk olyan alapanyag beáramlási sebességeket egy adott intervallumban, amellyel hatékonyabb a gyártási folyamat. A genetikus algoritmus módosíthatja a minimális és maximális tartályszintek határait, illetve az egyes alapanyag beáramlási sebességeket. A kísérlet adatai a 4. táblázatban megtekinthető. 4. Táblázat 4. Kísérlet adatai: Anyag fajták A B
Beszerzési ktg(Ft/kg) 300 350
Gyártási ktg(Ft/kg) 50 40
Tiszt ktg(Ft/1 tisztítás) 10000 15000
Készletez ktg(Ft/kg/h) Értékesítés(Ft/kg) 150 3000 300 1000
C
450
35
20000
250
2500
Amint ez a 6. ábrán is jól látszik az ’A’ termék gyártása került előnybe. Ez logikus is, hiszen ha megnézzük a kezdeti költség paramétereket, akkor megállapíthatjuk, hogy az ’A’ termék alapanyaga, gyártása, tisztítása a legolcsóbb, ezzel szemben a piaci ára a legmagasabb. A kísérlet eredménye a 6. ábrán látható.
legyártott mennyiség (kg)
25000 20000 Proc_A M
15000
Proc_B M 10000
Proc_C M
5000
348
319
290
261
232
203
174
145
116
87
58
29
0
0
idő (h)
Forrás: saját eredmény, 2008
6. ábra: A legyártott késztermék mennyiségek az idő függvényében a 4. kísérletre Az 5. kísérletben még mindig az ’A’ termékért kapunk a legtöbbet, és a tisztítási költsége a legolcsóbb, viszont a ’C’ termék beszerzési, gyártási, készletezési költsége kisebb lett. Kérdés, hogy vajon még mindig az ’A’ termékből érdemes többet gyártani? 5. Táblázat 5. Kísérlet adatai: Anyag fajták A B C
Beszerzési ktg(Ft/kg) 300 350 200
Gyártási Tiszt ktg(Ft/1 Készletez ktg(Ft/kg) tisztítás) Ktg(Ft/kg/h) Értékesítés(Ft/kg) 50 10000 150 2580 40 15000 300 1000 35 15000 30 2500
Most a genetikus algoritmus által talált legjobb modellben a ’C’ termék gyártása dominál, ami azt jelenti esetünkben, hogy a ’C’ termék gyártása gazdaságilag kedvezőbb. Az 5. kísérlet eredménye a 7. ábrán látható
gyártott mennyiség (kg)
16000 14000 12000 10000
Proc_A M
8000
Proc_B M
6000
Proc_C M
4000 2000 348
319
290
261
232
203
174
145
116
87
58
29
0
0
idő (h)
Forrás: saját eredmény, 2008
7. Ábra: A legyártott késztermék mennyiségek az idő függvényében az 5. kísérletre Ütemezési feladat esetén, a genetikus algoritmus pusztán a szinthatárokat módosíthatja az állandó értékű feldolgozás, és alapanyag beáramlási sebességek mellett. A logikus működés ez esetben is megfigyelhető. A teljesség kedvéért nézzünk erre is egy példát! 6. Táblázat 6. Kísérlet adatai: Anyag fajták A B C
Beszerzési ktg(Ft/kg) 300 350 450
Gyártási Tiszt ktg(Ft/1 Készletez ktg(Ft/kg) tisztítás) ktg(Ft/kg/h) Értékesítés(Ft/kg) 50 300 110 3000 40 400 120 3200 35 500 100 3500
A költségtényezők megvizsgálása után logikátlannak tűnhet a 8. ábráról leolvasható eredmény, ugyanis az A termék gyártása során felmerülő költségek kedvezőbbek, mint B gyártásakor, ennek ellenére mégis a B termék gyártását preferálja az algoritmus. A genetikus algoritmus láthatólag paradox megoldása logikusan magyarázható, ha figyelembe vesszük a gyártáshoz tartozó fix alapanyag beáramlási sebességeket. Az A, B, C termékekhez tartozó beáramlási sebességek rendre a következők: 40 kg/h, 50 kg/h, 60 kg/h. Látható, hogy az A termékhez tartozó sebesség kisebb, mint a B-hez tartozó, másrészt az utóbbinak egy kicsivel az eladási ára is magasabb. A genetikus algoritmus az optimális megoldás keresése során észrevette, hogy hiába költségesebb a B termék előállítása, még mindig jobban járunk vele, mivel belőle időegység alatt a rendszer adottsága miatt többet tudunk előállítani. Ez a termelési stratégia pedig azért válik kedvezőbbé, mert a nagy mennyiségű B termék eladásából nagyobb profit képződik, mintha csak kevesebb, de fajlagosan kedvezőbb A terméket értékesítenénk. A 6. kísérlet eredményét a 8. ábrán mutatjuk be.
legyártott mennyiség (kg)
25000 20000 Proc_A M
15000
Proc_B M 10000
Proc_C M
5000 0 0
100
200
300
400
idő (h)
Forrás: saját eredmény, 2008
8. Ábra: A legyártott késztermék mennyiségek az idő függvényében a 6. kísérletre
2. Az optimálási szempontok számának szükségszerű növelése A gazdasági célfüggvény felhasználásával történő optimálás a fentiek alapján bizonyítottan költségérzékeny, és logikusan magyarázható életszerű viselkedést produkált. A valóságban azonban nem engedhető meg, hogy egy három terméket gyártó üzem egy adott terméket egyáltalán nem, vagy csak kis mennyiségben termeljen. E probléma kikerülése érdekében további optimálási célokat kell rögzíteni a genetikus algoritmus számára. Az új kiegészítő naturális célokat, a piac által elvárt termék mennyiségekre vonatkozóan fogalmazzuk meg oly módon, hogy, az elvárt értékektől való eltérések négyzetét minimalizáljuk, azaz:
(M O A − M A )2 := min! (M O B − M B )2 := min! (M O C − M C )2 := min!
− optimális termék mennyiség i M − legyártott késztermék mennyiség i
M
O
A genetikus algoritmus e szempontokkal kiegészülve a továbbiakban már olyan modelleket próbál generálni, amelyek végeredménye a legyártott mennyiségekre vonatkozóan lehetőleg kisebb eltéréseket mutat a rögzített célértékektől, amellett, hogy törekszik a kombinált lehetőségek szerinti nagyobb profitra is. Ez egyben azt is jelenti, hogy az optimálási folyamat már egy négy szempontú naturális, és gazdasági célfüggvény alapján fog végbe menni, ami kicsit nehezebbé teszi az algoritmus dolgát. A kiegészült optimálás azonban megtartja eddigi jó tulajdonságait: például a költségváltozásokra való logikus reagálást, és a generációk során egyre javuló költségszerkezetet, miközben a termelt mennyiségek az optimálistól is kevésbé térnek el. Említésre méltó az is, hogy az életben az optimális mennyiség meghatározása egy pontos igény felmérésen alapszik a vevők körében.
3. Egy konkrét tervezési feladat optimálási alternatíváinak összehasonlítása 3.1 A tervezés általános megfogalmazása Tervezéskor tudjuk, hogy az adott piaci ágazatban mekkora termelési volument tudunk elérni, ami a befektetett tőkénk függvényeként is megjelenik. Ekkor a törekvés mindig az, hogy e tőke befektetésével a lehető legnagyobb hasznot érjük el. Feladatunkban a tőke úgy
jelenik meg, hogy körülbelül tudjuk, hogy a szimuláció intervallumára, milyen szintű alapanyag beáramlási sebességeket tudunk biztosítani. Az igényfelmérésből, és az ágazatban tervezett piaci részesedésből ismerjük az egyes termékekre vonatkozó elérendő mennyiségeket. Ezek után keressük a megfelelő kapacitású gyártóberendezést, mellyel a termelés a leggazdaságosabb. A genetikus algoritmus a kapacitások mellett a tartályszintek megítélési függvényeit is módosíthatja, így a tervezés magában foglalja az ütemezést is.
3.2 A tervezés menete Az igény felmérésből ismerjük az A, B, illetve C termékekből legyártandó optimális mennyiségeket. Tőkénkből előre kalkulálva tudjuk, hogy maximálisan milyen térfogat áramokat tudunk biztosítani. Rendelkezésre álnak már az alapanyag tartályok, amelyek kellően nagyok, de nem feltétlenül kell tele lenniük, amiből következik, hogy a minimális és maximális tartályszintek változtatásának a lehetőségtere nagy. A különböző kapacitású gyártó berendezések megválasztásának lehetőségterét mindhárom termékre vonatkozóan azonosra választjuk: példánkban ez 60kg/h és 200kg/h között lesz. 7. Táblázat
Kezdetben ismert modell paraméterek. Adat típusok Feldolgozható alapanyagok (kg/h) Felmért igény (kg)
A 40
B 50
C 60
13000
16000
19600
3.3 Optimálás csak naturális célfüggvényekkel A kedvező feldolgozó kapacitások és tartályszintek megtalálásának egyik módja, hogy a genetikus algoritmus számára előírjuk optimálási célként azokat a naturális célokat, melyek a költségcsökkentés elméleti megfontolása alapján fogalmazódtak meg. Ezek a következő törekvéseket tartalmazzák: az alapanyagtartályokat lehetőleg mindig tartsuk minimális szinten, törekedjünk a maximális késztermék előállításra, és minimalizáljuk a tisztítások számát is. Ez a három feltétel is biztosítani fogja a gazdasági szempontból egyre javuló megoldásokat. E három célfüggvény felhasználásával történő optimálás még nem figyel a termelt mennyiségekre, életszerűtlen modellek születnek. Ennek kiküszöbölésére itt is definiáljuk a mennyiségekre vonatkozó célokat, vagyis az elérendő mennyiségektől való eltérés négyzetének minimalizását. Ez azt jelenti, hogy a következőkben egy hat szempontú naturális értékelést hajtunk végre a genetikus algoritmussal. A 90 generációig futott optimálás eredményét a 8. és 9. táblázatban láthatjuk. 8. Táblázat
A termelésre vonatkozó eredmények Szimuláció eredménye Elért mennyiségek.(kg)
A 13106,21311
B C 16127,84001 19278,20606
Igénytől való eltérések(kg)
106,2131113
127,8400094 -321,793935
9. Táblázat
Optimálisnak talált tervezési paraméterek Modell paraméterek A B C Feldolgozó kapacitások (kg/h) 179.7834446 144.3853179 119.8893412 Min. tartályszint (kg) 24.05477127 10.43420762 10.64618471 Max.tartályszint (kg) 70.86589858 84.75511846 78.31907817
profit (Ft)
124177193
3.4 Optimálás naturális, és gazdasági célfüggvényekkel: Ez a fajta megoldás annyiban tér el az előzőtől, hogy alkalmazzuk a 3. fejezetben definiált profitot meghatározó algoritmust. Az optimálási folyamat négy szempontúvá válik, hiszen a költségeket csökkentő naturális célfüggvényeket, felváltja a profitot maximáló egy szempontú gazdasági értékelés, másrészt, ott maradnak célként a termék mennyiségre vonatkozó elvárások is. A 90 generációig futott szimuláció eredménye megtekinthető a 10. és 11. táblázatban. 10. Táblázat
A termelésre vonatkozó eredmények Szimuláció eredménye Elért mennyiségek(kg) Igénytől való eltérések(kg)
A
B
C
12952,75713
16188,90851 19700,77255
-47,24286694
188,9085092 100,7725472 11. Táblázat
Optimálisnak talált tervezési paraméterek Modell paraméterek A B C Feldolgozó kapacitások (kg/h) 143.7597906 134.459373 153.432808 Min. tartályszint (kg) 2.323482304 41.26297088 2.216935239 Max.tartályszint (kg) 49.56931556 52.79571273 74.43662424
profit (Ft)
128505324,9
3.5 A két optimálási forma összehasonlítása: A modellben számolt profit nem képezhet összehasonlítási alapot, mivel az a legyártott mennyiségek teljes költségének, és értékesítésének különbségéből képződik. Ahhoz, hogy a két módszer haszonbéli különbségét elemezni tudjuk, szükségszerű a terméktöbbletből, vagy a termék hiányból származó profitra vonatkozó korrigálásokat elvégezni. Ha többet termeltünk, mint az igényelt mennyiség, akkor azt nem vehetjük számításba, mint eladott termék, ezért a többletből származó bevételt el kell venni a profitból. Ha kevesebbet termeltünk az optimális mennyiségnél, akkor a veszteség, mint elmaradt haszon jelenik meg. Ez úgy számolandó, hogy szorozzuk a fajlagos eladási árakat az elvárt, és legyártott termék mennyiségek különbségével, majd ezt kivonjuk a modell által számolt profitból. A szükséges korrekciók matematikai megfogalmazásban: PT = P −
∑ (E (M
i = A, B , C
El i
i
− M
Oi
) + E (M El i
Oi
− M
i
))
PT − tényleges profit P − modell által számolt profit M i − adott késztermék mennyiség M Oi − optimális késztermék mennyiség E Eli − adott késztermék eladási egységára
E számítások elvégzése után mindkét esetben születik egy-egy valósághű profit, mely tanúskodik az egyik, illetve másik módszer hatékonyságáról. Nyílván, az lesz a kedvezőbb optimálási alternatíva, amely nagyobb tényleges profitot produkált. A számítások végeredménye látható a 12. táblázatban. 12. táblázat
Számítások eredménye Számolt adat Tényleges profit (Ft)
Csak naturáliákkal optimálva 122280701,6
Különbség (Ft)
Gazdasági célfüggvényel kombinálva 127387488 5106786,41
A különbségből látszik, hogy az új kombinált módszerünk alkalmazásával, több mint 5 millió forinttal többet profitáltunk, Emellett, azt is érdemes észrevenni, hogy bár az eltérések abszolút értékét összegezve jobb a gazdasági célfüggvény segítségével megvalósított optimálás, valójában aztán a jobb termelési technológia következménye a profittöbblet (kevesebb készletezés). Gazdasági szempontból előnyösebb az elmaradt haszon, mint a felesleges termelés, mivel amit nem állítottunk elő, azon költségünk sem volt, ami ebből kifolyólag nem is jelentkezik a profit számolásánál. Ezt a tényt vizsgálva a naturális szempontokat felhasználó módszer kedvezőbbnek bizonyult.
KÖVETKEZTETÉSEK ÉS JAVASLATOK A kísérleti eredményekből megállapítható, hogy a gazdasági célfüggvényen alapuló módszer életszerűbb, hiszen a költségek változására érzékeny. Ez nagyon fontos tulajdonság, mivel a gazdasági életben nem beszélhetünk hosszan stabil, állandó árakról. A több szempontú naturális értékelés egy általánosabb megközelítés, a költségekről nem tud semmit. Vegyünk erre egy példát: az algoritmus futása közben előfordulhat, hogy talál egy megoldást, amiben pl. a tisztítások száma nagyon sok, de a tartályokban az alapanyagszint a folyamat során viszonylag alacsony. Ekkor, mivel az optimálási szempontok között rögzítve van a tisztítások számának csökkentése is, ezt a megoldást azonnal elveti. Ezzel szemben az egy szempontú gazdasági optimálásnál észreveszi az algoritmus, hogyha a tisztítás olcsó, a tárolási költség pedig drága, akkor az lehet egy jó, költséghatékony megoldás. Az új módszerben benne van a több szempontú, naturális optimálás összes jó tulajdonsága is, hiszen nyilván akkor lehet a legnagyobb profitra szert tenni, ha minél kevesebbet tisztítunk, kevesebbet tárolunk, stb. ami a költségben, és ez által a profitban is jelentkezik. A mennyiségekre vonatkozó célok bevezetésével lehetőségünk lett arra is, hogy a két optimálási módszert összehasonlítsuk. A kétféleképp megoldott tervezési feladat megoldásainak elemzéséből jól látszik, hogy a gazdasági célfüggvények megfogalmazásának, és alkalmazásának a gyakorlati haszna jelentős. Ezek után általános érvényű igazságnak mondhatjuk ki, hogy egy gazdasági feladat optimálásánál célra vezetőbb, gyorsabb hatékonyabb megoldáshoz juthatunk az egy szempontú (költség vagy profit) értékelés során, ezért célszerű a lehetőségeken belül a folyamatok minden részelemét költségesíteni, hogy ezt a fajta konstrukciót követhessük. Egyetlen hátránya a módszernek, hogy csak akkor működik biztonságosan, ha a költségtényezőket pontosan ismerjük, egyébként félrevezet, és elégtelenné válik a termelés. Az életben a komplex, összetett folyamatokhoz nehéz meghatározni a pontos költségtényezőket, ami miatt a gyakorlatban gyakran kétségek
merülnek fel. Ebben az esetben inkább alkalmazzuk a biztos alapokon nyugvó naturális célokat, illetve a naturális célokkal kombinált módszereket, melyek lehet hogy lassabban, de biztos célra vezetnek.
IRODALOMJEGYZÉK: . (1) Csukás B., Balogh S.: Combining Genetic Programming with Generic Simulation modell in Evolutionary Synthesis. Computers in Industry, 36, 171-187. 1998 (2) Szakál L.: Solving Scheduling Problems by Genetic Algorithms, PhD Dissertation, 1996. (3) Goldberg D. E.: Genetic Algorithms in Search, Optimisation, and Machine Learning, Addison-Wesley, 1991 (4) Agarwal, A., Ydstie, B.E., Grossmann, I.: Stability, Performance and Control of Switched System. Annual Meting of Center of Computer Aided Process Design, Carnegie Mellon University, Pittsburgh, 2002 (5) Balogh, S.: Többszempontú gazdasági döntéseket segítő genetikus algoritmus kidolgozása. Phd értekezés kézirata, Kaposvári Egyetem, 2008 (6) Perkins, R., Kumar, P.R. Stable, distributed, real time scheduling of flexible manufacturing assembly disassembly system. IEEE transactions on Automatic Control, 34. 139-148. 1989 (6) Varga M.: Modell bázisu optimálás a kapcsolódó folyamatok, kooperatív értékelésével. Acta Oeconomica Kaposváriensis, Volume 7 No 1-2. 2007. pp. 121-134.