Šio kompiuterinio modelio užduotis yra suformuluota Averill M. Law bei W. David Kelton knygoje „Simulation Modelling and Analysis“ ¹.

Modelyje tiekimo grandinė yra sudaryta iš keturių dalyvių: klientų, mažmenininko, didmenininko ir gamintojo, gaminančio vieną gaminį.

Klientai atvyksta pas mažmenininką atsitiktiniais laiko momentais, pasiskirsčiusiais pagal eksponentinį skirstinį, kurio vidurkis – 0,1 dienos, ir įsigyja gaminius. Jų užsakymo dydis gali būti 1-5 gaminiai, modelyje užsakymo dydžio tikimybė nustatyta taip: 1 gaminys – 20%, 2 gaminiai – 40%, 3 – 20%, 4 – 10% ir 5 – 10%.

Modelio architektūra

Kiekvienas šio modelio tiekimo gandinės dalyvis – mažmenininkas, didmenininkas ir gamykla yra sukurti kaip tos pačios klasės aktyvūs objektai (Active Object Class), bendraujantys vienas su kitu per nustatytus portus, per kuriuos yra keičiamasi žinutėmis apie užsakymus ir prekių siuntas.

4elementai

Nors modelyje pasirinkta paprasčiausia tiekimo grandinės struktūra, ją praktiškai galima nesunkiai pakeisti į gerokai sudėtingesnę, susidedančią iš daugiau rinkos dalyvių, susijusių sudėtingesniais ryšiais.

4elementai_2

Kadangi modelyje jo elementai siunčia vienas kitam tik žinutes apie užsakymus ir prekes, jie nieko „nežino“ apie vienas kito vidinę struktūrą ir veikimo logiką, todėl ją kiekvienam objektui – mažmenininkui, didmenininkui ir gamyklai – galima keisti nepriklausomai.

Mažmenininkas

Modelyje pirkėjai gali įsigyti prekes iš mažmenininko, jei tuo metu mažmenininkas turi reikiamą prekių kiekį sandėlyje, tačiau, jei prekių pritrūksta, pirkėjai pastatomi į eilę ir vėluojantys užsakymai yra patenkinami, kai tik gaunama nauja siunta iš didmenininko.

Kiekvienos darbo dienos pradžioje mažmenininkas peržiūri sandėlio atsargas bei vėluojančius užsakymus, jei tokių yra, ir nusprendžia, kiek prekių užsakyti.
Modelyje laikoma, kad pirmąją dieną mažmenininkas jau turi nustatytą kiekį prekių, vėluojančių užsakymų nėra, o atsargų lygis patikrinamas ir prekių užsakoma kartą per dieną, laiku t = 1, 2, … n, čia n – tiekimo grandinės modelio veikimo dienų skaičius.

Mažmenininkas, užsakydamas prekes, vadovaujasi taisykle, kad prekių atsargos jo sandėlyje neturi viršyti nusistatyto maksimumo Sm ir negali būti mažesnės nei nusistatytas minimumas sm, t.y. tos dienos prekių užsakymo dydis Um yra:

F1

čia Am – mažmenininko turimų prekių atsargų dydis. Jei AmAm yra mažesnės nei minimumas smsm, užsakoma tiek prekių, kad pasiekti maksimalų atsargų lygį sandėlyje Sm. Prekių neužsakoma, jei atsargų lygis AmAm nėra sumažėjęs žemiau mažmenininko nusistatyto prekių atsargų minimumo sm.
Gavus prekes, pirmiausia yra įvykdomi vėluojantys užsakymai, tai yra prekės pateikiamos tiems pirkėjams, kurie laukia eilėje.

Sakykime, Am(t)Am(t) yra atsargų dydis laiku t. Jis gali būti teigiamas, lygus nuliui arba neigiamas (jei užsakymų daugiau, nei tuo metu yra prekių mažmenininko sandėlyje). Mažmenininkas turi išlaidų darydamas užsakymą, laikydamas prekes sandėlyje, o taip pat ir negalėdamas patenkinti užsakymų. Teigiamas atsargų lygis gali būti apskaičiuotas taip:

f11, neigiamas: f12. Vidutinis atsargų lygis per dieną: f13.

čia km – vienos prekės sandėliavimo išlaidos per dieną. Jose įskaičiuota patalpų nuoma, eksploatavimo išlaidos, prekių draudimas, apyvartinių lėšų įšaldymas ir kitos su turimomis prekėmis susijusios išlaidos.
Analogiškai, vidutinis prekių trūkumas (neigiamas atsargų lygis) per dieną:  f15,  vidutiniai trūkumo kaštai per dieną: f16, čia tm – vienos prekės trūkumo išlaidos per dieną. Juose gali būti įvertinta papildoma buhalterinė apskaita, galimas klientų (ar jų lojalumo) praradimas ir pan.

Užsakymo išlaidų vidurkį U¯m galima apskaičiuoti taip:

F2

čia Um(i) – užsakymo dydis dieną i, K – prekės kaina, n – dienų skaičius.

Bendros mažmenininko vidutinės prekių atsargų laikymo išlaidos: B¯m=U¯m+ K¯m+T¯m

kitimas_laike
Atsargų lygių Am(t), A+m(t) ir A−m(t) kitimas laikui bėgant.
Didmenininkas

Kiekvieną rytą didmenininkas patikrina, ar nėra užsakymų iš mažmenininko. Jei tik užsakymų yra, jie išsiunčiami, ir atitinkamai sumažinamas sandėlio atsargų kiekis. Išsiunčiami tik pilni užsakymai, daliniai – ne, kaip ir realiuose užsakymų procesuose, dėl per didelių transportavimo kaštų.

Modelyje nustatyta, kad prekėms pasiųsti yra sugaištamas tam tikras laikas – kiekvieną kartą jis parenkamas atsitiktiniu būdu pagal stačiakampį skirstinį ir gali būti nuo ketvirčio iki pusės dienos.

Jei didmenininkui pritrūksta prekių, tokie užsakymai yra įtraukiami į vėluojančių sąrašą ir įvykdomi vėliau, gavus prekių iš gamyklos.

Prekių užsakymo dydis Ud apskaičiuojamas taip, kad jų kiekis sandėlyje nebūtų mažesnis nei nustatytas minimalus kiekis sd ir ne didesnis nei maksimalus Sd.

F3

Bendros didmenininko vidutinės prekių atsargų laikymo išlaidos susideda iš užsakymo, prekių, esančių sandėlyje, ir jų trūkumo išlaidų, apskaičiuojamų analogiškai, kaip ir mažmenininkui: B¯d = U¯d + K¯d + T¯d.

Gamykla

Kartą per dieną gamykla patikrina, ar nėra užsakymų iš didmenininko. Jeigu yra, pilni užsakymai išsiunčiami (daliniai nesiunčiami), jei tik yra pakankamas pagamintų prekių kiekis.

Modelyje yra nustatytas tam tikras užsakymo išsiuntimo laikas, galintis trukti nuo pusės iki vienos dienos, jis parenkamas atsitiktinai pagal stačiakampį skirstinį, taip pat ir vienos prekės gamybos laikas, lygus pusei valandos.

Jei yra prekių trūkumas ir užsakymo negalima įvykdyti, jis įtraukiamas į vėluojančių užsakymų sąrašą ir įvykdomas, kai tik pagaminamas pakankamas prekių kiekis. Laikoma, kad žaliavų gamybai yra visuomet.

Gaminama tiek prekių (Ug), kad jų kiekis nebūtų mažesnis nei nustatytas gamybininko minimalus kiekis sg ir neviršytų maksimalaus Sg. Ag – prekių, esančių gamyklos sandėlyje, kiekis.
F4

Bendros gamyklos vidutinės prekių atsargų ir gamybos išlaidos: B¯g=U¯g+K¯g+T¯g, čia B¯g – vidutinė prekių gamybos kaina per dieną, K¯g – vidutinės sandėliavimo išlaidos per dieną, T¯g – prekių trūkumo išlaidos per dieną.


Modelyje galima pakeisti mažmenininko, didmenininko bei gamyklos minimalų ir maksimalų atsargų lygį, ir, jį paleidus, suskaičiuoti visos tiekimo grandinės vidutines išlaidas per dieną bei pirkėjo laukimo laiką. Modelis imituoja tokios grandinės veikimą vienus metus.

modelisTokiu modeliu galima ir optimizuoti išlaidas – surasti tokius kiekvieno rinkos dalyvio atsargų dydžius, kad išlaidos būtų minimalios. Modelyje tai atliekama nustatytu dydžiu keičiant atsargų lygius ir apskaičiuojant išlaidas.

tr_ekr

AnyLogic kompiuterinio Tiekimo grandinės optimizavimo modelio failas


 

¹ Simulation Modelling and Analysis, Averill M. Law bei W. David Kelton, McGraw-Hill, 2007