SD: Atvejis 1(II) – 1979 metų benzino trūkumo priežastys JAV

Pradžia 

Šiame įraše tęsiu praktinio sistemų dinamikos taikymo atvejo aprašymą. Pirmame šio atvejo įraše suformulavau situaciją ir uždaviau klausimus, kuriuos turėtų padėti (jei gali) atsakyti sistemų dinamikos modelio sudarymas ir situacijos imitavimas.

Viena iš pagrindinių sėkmingo modelio sukūrimo sąlygų –  modelio kūrimas problemai spręsti, o ne modelio kūrimas, kad sukurti sistemos modelį. Kiekviena problema egzistuoja tam tikrame kontekste. Pirmiausia reikia apsibrėžti modelio ribas, t.y. kokie problemos elementai bus modeliuojami, kas nebus įtraukta. Vykstant modeliavimui šios ribos gali kisti, bet svarbu, kad būtų aiški priežastis, kodėl ribos praplečiamos, siaurinamos.

Į modelį planuoju įtraukti, nustatau šias prielaidas:

  • Modelyje atvaizduosiu degalų paskirstymo sistemą, fokusuojantis į mažmeninio pardavimo dalį, t.y. kuro tiekimas į degalines, saugojimas, pardavimai, vartojimas. Degalų gamybos ir didmeninio transportavimo nenagrinėsiu.
  • Pradinėje situacijoje visa sistema bus balanso būsenoje, todėl ne tiek svarbu tikslus faktinių reikšmių atvaizdavimas, kaip suformavimas balansuotos sistemos. Visa sistema bus pusiausvyros būsenoje, t.y. vartojimas, pardavimai, tiekimas yra stabilūs.
  • Tiekimas į degalines yra stabilus ir susiformavęs. Tarkime visos tiekimo galimybės išnaudojamos optimaliai – 100%. Tiekimo pajėgumai gali būti padidinti ir sumažinti kas mėnesį.
  • Atvaizduosiu degalų trūkumo žinios plitimą tarp vairuotojų.
  • Modeliavimo periodas bus 30 dienų (mėnuo). Mažiausias laiko žingsnis 1 diena.
  • Įvesiu kontrolės elementus, kurie inicijuos žinios apie galimą trūkumą sklidimą  ir pardavimo ribojimo strategijas.
  • Kaina modelyje neturės įtakos. Staigų kainos kilimą, atspindės žinios apie galimą trūkumą įvedimas.

Tai būtų pagrindinės apsvarstytos ribos ir prielaidos. Modelio kūrimo metu gali iškilti papildomų apribojimų poreikis, juos paminėsiu aprašymo metu. Žymėsiu specialiu simboliu –  RP.

Yra daug būdų konstruoti modelį. Aš tai darysiu pasirinkdamas pažingsninio plėtimo/tikrinimo būdą. Kiekviename žingsnyje prie modelio pridėsiu po konceptą/elementą ir po to atliksiu imitavimą.

Taigi, pradedu.

—————————————————————-

Vienas pagrindinių pasirinktos situacijos elementų yra degalinės. Jų pagrindinė paskirtis yra skirstyti/parduoti kurą – priimti kurą iš didmenininkų ir parduoti degalinių pirkėjams. Taigi šią grandį sudaro – tiekimas, sandėliavimas ir pardavimas:

Parduotas kuras patenka į automobilių bakus.

Kuras automobilių įprastai būna, sudeginamas varikliuose, taigi

Sudeginto kuro kiekis priklauso nuo to kiek rinkoje yra automobilių, kiek tie automobiliai nuvažiuoja ir koks automobilių efektyvumas. Siekdamas paprastumo, modelyje naudosiu vidutinius dydžius.
RP. Tarkim, kad vidutiniškai viename automobilyje telpa apie 50 litrų kuro, o rinkoje yra 1 milijonas automobilių. Laikysime, kad vienas automobilis turi vieną vairuotoją. Žinome, kad sudegintas kuras priklauso nuo automobilio ir nuvažiuoto atstumo, kad būtų paprasčiau tarsime, kad vidutiniškas automobilis išvažinėja savo pilną baką per 10 dienų, taigi per dieną jis sudegina 1/10 bako, t.y. 5 litrus. Tai, gauname, kad per dieną yra sudeginama 5 mln. litrų kuro. Dėl egzistuojančio sisteminio balanso, tiek pradinės atsargos degalinėse, tiek pradinės atsargos automobilių bakuose sudaro pusę nuo maksimalios galimos talpos. Kuras automobilių bakuose – 25 mln. litrų. O degalinės laiko kuro su rezervu dviem dienom – t.y. 15 mln. litrų.

Dabar apie kuro pardavimus. Sakykime, kad žmonės pilasi kurą, kai bakas būna tuščias ir pilantys kurą yra tolygiai pasiskirstę. Taigi per diena degalinėse parduodama 5 mln. litrai kuro. Sistema yra balanse, taigi ir tiekimas į degalines bus 5 mln. litrų per dieną.

Šias prielaidas ir skaičius suvedus į sistemą ir “prasukus” įmitavimą sistema turi būti balanse. Grafikai tą ir rodo:

Dabar įvesiu modelio pakitimus, kurių tikslas atvaizduoti situaciją, kai rinkoje pasklinda žinia apie galimus kuro pabrangimus ar tiekimo sutrikimus.

RP. Modeliuojama situacija bus tokia. Vairuotojai, kurie sužino apie galimą trūkumą, pradeda važiuoti į degalines kiekvieną dieną ir pilasi pilnus bakus, net jei ir nuvažiavo tik kelis kilometrus.

Į modelį įvedame talpą, kuri atspindės skaičių vairuotojų, kurie žino apie tiekimo sistemos sutrikimus. Srautas į talpą, bus skaičius vairuotojų, kurie tą dieną sužinojo apie problemas. Faktiškai žmonės gali sužinoti apie problemas iš žiniasklaidos ir kitų vairuotojų. Pradžioje įmituosime situaciją, kai vairuotojai sužino apie problemas tik iš masinio informavimo priemonių. Tarsime, kad masinės informavimo priemonės kiekvieną dieną pasiekia 65% procentus vairuotojų, kurie nežino apie problemas. Prie modelio pridedu tokį bloką:

Čia:

Viso vairuotojų rinkoje = 1 mln

Žiniasklaidos pasiekimas = 0.65

Naujai sužinoję vairuotojai = (Viso vairuotojų rinkoje – Žinantys vairuotojai) * Žiniasklaidos pasiekimas

Žinantys vairuotojai (t+1) = Žinantys vairuotojai (t) + Naujai sužinoję vairuotojai (t+1)

Paleidus įmitavimą, gaunane tokią šio bloko dinamiką.

Po šešių dienų nuo žinutės paskelbimo beveik visi vairuotojai jau žino apie problemas.

Dabar reikia į modelį įvesti, kaip elgiasi vairuotojai, kurie sužino apie galimas problemas. Anksčiau apibrėžėme, kad sužinoję, jie pradeda piltis pilną balą kiekvieną dieną, vietoje to kad piltųsi, kai bakas ištuštėja. Kadangi sistema yra balanse, tai 100% vairuotojų sužinojus apie galimas problemas, maksimaliai jie gali prisipilti tik tiek kiek dar tilptų į bakus, t.y. 25 mln litrų. Taigi, papildomą kuro prisipilimą ir skaičiuosime nuo šios sumos. Jei 50% vairuotojų sužino apie kuro trūkumą, tai pirmą dieną jie prisipiltų 25*50%/100=12.5 mln litrų kuro. Kitas dienas jie piltų, kiek išvažinėtų.

Pirmas rekomenduotinas žingsnis yra nustatyti kokios talpos (kaupiantys elementai) yra pagrindinės (apie tai kas yra talpa čia):

  • Kuro atsargos degalinėse
  • Kuro atsargos automobilių bakuose

 

Tai būtų pagrindinės talpos. Dabar šias talpas įtakojantys srautai:

  • Degalinių atsargos papildomos kas tam tikrą laiką atvežant kuro, tai būtų “Kuro atsargų degalinėse” (KAD) pritekėjimas. Pardavimai vairuotojams būtų šios talpos ištekėjimas.
  • Talpa “Vidutinis kuro lygis automobilių bake” (VKLAB). Pritekėjimas – pirkimai iš degalinių. Ištekėjimas – kuro sudeginimas mašinų varikliuose.
  • Talpa “Sunerimę vairuotojai” (SV). Pritekėjimas – nauji vairuotojai per dieną sužinoję apie apie galimą trūkumą. Ištekėjimo neformuluojame, nors faktiškai gali egzistuoti nusiraminę vairuotojai.

Po srautų įvedimo.

Pagrindinis mūsų tikslas yra suformuoti tokį modelį, kad jis būtų pusiausvyroje. Norint įvertinti dinaminių pokyčių priežastis nėra būtina tiksliai atkartoti faktinę situaciją realybėje, bet svarbu apibrėžti pagrindinius sistemos elementus ir sąryšius tarp jų. Mums svarbu suprasti kaip pakitusios sistemos sąlygos keičia balansą sistemoje, faktiniai skaičiai šiuo atveju nėra ypatingai reikšmingi. Beje, suformavus modelį ir turint visą reikiamą informaciją, nesudėtinga pakoreguoti modelį, kad jis dirbtų su realiais skaičiais.

Nustatysiu likusius kintamuosius ir reikšmes. Verta pradėti nuo bendro mašinų skaičiaus rinkoje, jis apibrėžia kiek yra vairuotojų. Tarkime, kad mums rūpi tik individualių transporto priemonių skaičius. Jų Lietuvoje yra registruota apie 1100 tūkst. (2011). Kad būtų apvalesnė suma, tarkime jų yra 1 mln. Paprastumo dėlei manykime, kad vieną mašiną vairuoja vienas žmogus. Taigi turime 1 milijoną vairuotojų.

Vairuotojų skaičius = 1 000 000 vairuotojų

Vidutinis bako dydis nurodys, koks yra kiek vidutiniškai litrų telpa viename bake.

Vidutinė bako talpa = 50 litrų

Sunaudotas kuras per dieną.

Sunaudotas kuras = Vairuotojų skaičius x (Vidutinė bako talpa / Bako dienų skaičius)

Tarkime, kad vidutiniškai vienas vairuotojas 50 litrų sunaudoja per 15 dienų. Taigi šiuo atveju Bako dienų skaičius bus 15 dienų. Tada per dieną bus sunaudojama 1 000 000 x (50 / 15 ) ~ 3,3 mln litrų.

Kadangi darome prielaidą, kad mūsų sistemoje pradžioje yra pusiausvyra, taigi “Tiekimas” į degalines bus lygus parduoto, t.y. sunaudoto kuro kiekiui.

Tiekimas = Sunaudotas kuras

Tarkime maksimali degalinių atsargų talpa yra lygi visų automobilių bakų talpai. T.y. 50 mln litrų.

Kuro atsargos degalinėse (t+1) = Kuro atsargos degalinėse(t) – Pardavimai(t+1) + Tiekimas(t+1)

Vidutinis kuro lygis automobilių bake (t+1) = Vidutinis kuro lygis automobilių bake (t)+Pardavimai(t+1) – Sunaudotas kuras(t+1)

Tarkime, kad pradinis kuro kiekis bakuose yra lygus vidutinei bako talpai = 50 l.

Pardavimai = Sunaudotas kuras

Taigi turi sistemą, kurioje turi būti pusiausvyra.

Pabaigtas modelis struktūriškai atrodo šitaip:

Modelio analizė nėra labai patogi su Vensim, nes esu pratęs prie kitokių įrankių.
Nusprendžiau modelį įgyvendinti InsightMaker sistemoje, kuri yra visiškai nemokama ir paskutiniu metu ypatingai vystoma. Ji turi vieną labai patogų įrankį – istorijos režimą.

Suprantu, kad mano aprašymas yra chaotiškas, bet aš tam ir rašau, kad išmokčiau.
Taigi, rezultatus panagrinėsiu III šio ciklo dalyje ir tikiuosi anksčiau nei po pusės metų 🙂

SD: Sistemų dinamikos modelių elementai. Pavyzdys.

Trumpai apie sistemų dinamikos elementus iš kurių susidaro modeliai. Jie yra keturi pagrindiniai. Talpa, srautas, ryšys, kintamasis (konstanta).

Talpa (stock)

Talpa, kurioje per tam tikrą laiką kaupiasi tai kas į tą talpą įteka. Labai populiari vonios analogija. Vonia ir būtų ta talpa, o talpos lygiu (stock level) būtų vandens lygis vonioje.

Srautas (flow)

Imant vonios analogiją, tai būtų vandens srautas, t.y. per sutartą laiko vienetą pritekančio (ištekančio) vandens srautas.

Vonia su įtekančiu ir ištekančiu vandens srautu atrodytų taip.

Ryšys (link)

Ryšys atvaizduojamas rodykle ir simbolizuoja (grubiai tariant) informacijos perdavimą iš vieno elemento į kitą. Pavyzdžiui, realybėje vandens ištekėjimo greitis iš vonios priklauso nuo vonioje esančio vandens lygio, t.y. vandens slėgio. Šis sąryšis būtų pavaizduotas taip.

Kintamasis (konstanta)

Kintamasis arba konstanta naudojami papildomiems veiksmams informacinio srauto apdorojime. Vaizduojami kaip tekstas.

Pilnumoje ši paprasta sistema atrodo taip.

Net ir tokia sistema jau gali būti modeliuojama. Tarkime:

Vonios talpa yra 400 litrų. Per minutę į vonią įteka 50 litrų vandens. Paprastumo dėlei, tarkime, kad per minutę iš vonios išteka trečdalis vandens esančio vonioje. O pradinis pradžioje vonioje vandens nėra. Klausimas kaip per 30 minučių kis vandens lygis? Pamodeliavus, štai rezultatas.

 

Sistema patenka į pusiausvyrą, kai vandens pritekėjimo srautas tampa lygus vandens ištekėjimo srautui 50=150/3.

Tai tiek būtų apie tai kaip konstruojami modeliai. Pateiktas sistemos elementų žymėjimas yra būdingas Vensim modeliovimo ir imitavimo programai. Daugiau apie ją http://vensim.com/vensim-software/

Yra ir kitos modeliavimo programos, tačiau ši yra arčiausiai “klasikos” ir turi nemokamą versiją, kurios mokymuisi pakanka.

 

SD: Atvejis 1(I) – 1979 m. benzino trūkumo priežastys JAV

Sistemų dinamika praktinis mokslas – tik praktiškai analizuodamas atvejus gali pagilinti savo suvokimą apie analizuojamos sistemos veikimą. Nusprendžiau pradėti nagrinėti atvejus ir gilinti savo įgūdžius.

Pirmas atvejis paimtas iš J. D. Sterman knygos “Business dynamics. Systems thinking and modelling for complex world “(2000).

————————————————————–

1979 metais JAV ir kitose industrinėse valstybėse susiformavo degalų trūkumas. Tais metais įvyko Irano revoliucija ir pasaulyje staigiai pakilo naftos kainos, Irano naftos eksportas sumažėjo. Per kelias savaites susiformavo degalų trūkumas – kai kuriose degalinėse pritrūko degalų. Vairuotojai, kurie puikiai prisiminė 1973 metų naftos embargą, sunerimo kad negaus kuro ir vietoje to, kad piltis degalus, kai bakas beveik tuščias, kiekvieną dieną maksimaliai pasipildydavo bakus. Greitai prie degalinių susiformavo ilgos eilės. Degalinės vis dažniau paskelbdavo – “Atsiprašome – degalų nėra”. Kuro trūkumas buvo pagrindinė vakaro žinių naujiena, buvo rodomos ilgiausios eilės, imami intervių iš įpykusių vairuotojų.

Kai kuriose valstijose įvesti kuro pirkimo apribojimai, tame tarpe, pavyzdžiui, apribojimas pirkti kuro už 10$. Kalifornijoje įvesta lyginių/nelyginių  pirkimų taisyklė – vairuotojams buvo leidžiama pirkti degalus tik kas antrą dieną, priklausė nuo to koks mašinos numerio skaičius lyginis/nelyginis. Vyravo suvokimas, kad  degalų tiekimas buvo sumažintas, apribotas.

Tuo tarpu, Irano revoliucijos įtaka naftos tiekimui į JAV buvo minimali. Realus Persijos Įlankos regiono (įskaitant Iraną) naftos importas nuo 1978 iki 1979 sumažėjo 500 000 barelių per dieną, 3% JAV sunaudojamo kiekio. Tačiau importas iš kitų regionų padidėjo 640 000 barelių per dieną. 1979 metais importas faktiškai padidėjo 140 000 barelių per dieną. Vietinės naftos gavyba krito 150 000 barelių per dieną, taigi naftos tiekimas buvo pastovus. Tuo tarpu, naftos suvartojimas nukrito 330 000 barelių per dieną, 2% lyginant su 1978 metais.

Vertinant 1979 metus, naftos trūkumo nebuvo. Jei naftos srautas buvo pastovus, kas sukėlė trūkumą? Kur dingo degalai?

————————————————————–

Klausimai:

  1. Kas nulėmė degalų trūkumą? Kur dingo degalai?
  2. Kaip individualūs vairuotojai reagavo į žinias apie trūkumą? Kokie buvo jų veiksmai?
  3. Kaip efektyvios buvo degalų pirkimo apribojimo strategijos? Maksimalaus pirkinio efektyvumas, lyginis/nelyginis pirkimas.
  4. Ar šios strategijos palengvino trūkumą ar pablogino situaciją? Kodėl?
  5. Kokia pirkimo apribojimo strategija rekomenduotina? Kodėl ji būtų efektyvi?

Tai ir būtų užduotis šiam atvejui. Kitą kartą parašysiu apie tai kaip kuriu situacijos modelį ir galbūt pateiksiu kokiu nors analizės rezultatus. Tikiuosi tai padarysiu anksčiau nei vėliau 🙂

Kas “suka” pasaulį?

The world does not run on data series, does not run on what you read in books or newspapers, it runs on what is in peoples heads.

Jay, W. Forrester

Mintis paprasta, bet labai aktuali visiems norintiems užsiimti verslo ar kitokiais modeliavimais. Kiekvieno verslininko ar kitokios organizacijos vadovo ir nario galvoje yra ypatingai daug informacijos apie organizaciją. Patys modelio, kūrimo metu patys verslininkai nustemba, kiek jie visko žino. Bet žinojimo nepakanka.

Reikia suvokti kokia organizacijų dinamika.

Sudėtingumą reikia valdyti, o ne tik pripažinti, kad jis egzistuoja.

Complexity is not something we need to embrace, merely something we need to accept and manage.

Citata iš “Why We Shouldn’t Be Surprised That Managers Don’t Embrace Complexity”

http://www.forbes.com/sites/gregsatell/2013/05/18/why-we-shouldnt-be-surprised-that-managers-dont-embrace-complexity/

Neturiu tinkamo lietuvių kalbos žodyno šiai minčiai išversti ir pakomentuoti. Jaučiu labai didelį norą aptarti angliškai, bet suvokiu, kad ne anglams aš rašysiu. Lietuvoje irgi reikia apie tai kalbančių, ir kalbančių lietuviškai.

Sudėtingumą reikia valdyti, o ne tik pripažinti, kad jis egzistuoja.

Šį ištrauka yra iš straipsnio, kurio nuorodą pateikiau aukščiau. Straipsnis apie sudėtingumą (complexity) ir valdytojų (manager) nesugebėjimą, nenorą jį pažinti ir reguliuoti. Pagrindinė mintis, kad bene visi šiuolaikiniai valdytojai yra pakilę iš vykdytojų (executives), todėl retas kuris sugeba žvelgti į valdymą kaip į visaapimantį procesą, kurio metu jis valdo organizaciją sudėtingumo ir neapibrėžtumo kontekste. Valdytojas turi suburti ir vadovauti komandai, kuri sugebėtų suvokti aplinkos, organizacijos sudėtingumą. Komanda papildytų valdytojo sugebėjimus srityse, kurios jam nežinomos. Tai būtų pirmas žingsnis link sudėtingumo reguliavimo, valdymo.

Straipsnis pateikia sudėtingumo apibrėžimą bei kelis pavyzdžius. Tai trumpa įžanga į sudėtingumo sąvoką.

Matyt, dėl suprantamo vietos trūkumo ir noro padaryti straipsnį “kąsnio” dydžio, yra pateikiama gana paviršutiniška kryptis, kaip reikia veikti, kai norima valdyti organizciją sudėtingumo sąlygomis.

Yra daug sisteminiu požiūriu (mąstymu) paremtų metodikų, kurios įgalina valdyti ir modeliuoti organizacijos elgseną sudėtingumo ir neapibrėžtumo sąlygomis. Bet svarbiausia yra valdytojo suvokimas apie sistemą. Svarbu kas yra galvoje.  Pas mus galvose yra protiniai modeliai. Tie modeliai yra tarpininkai tarp mūsų ir aplinkos. Nuo vaikystės išmokstame paprastų tiesinių grįžtamojo ryšio tipo modelių. Prilietei lygintuvą – nusideginai; įsipjovei ranką – bėga kraujas; pardavei paslaugą – gavai pajamų; sumažinai darbuotojams atlyginimus – sutaupei pinigų; pakėlei mokesčius – gavai pajamų į biudžetą. Va tokiais protiniais modeliais mes beveik visada ir vadovaujamės.

Norint valdyti sudėtingumą ir neapibrėžtumą, reikia pakeisti suvokimą apie valdomas organizacijas, vystomas rinkas. Reikia išplėsti savo modelius, ir ne bet kaip, o kad naujai sukonstruoti protiniai modeliai atsižvelgtų į sudėtingumą ir neapibrėžtumą.

Aš tam naudoju sistemų dinamikos principus, apie juos sysdin.lt ir kartkartėmis rašysiu.

Labas pasauli! Laikas pabusti …

Šiandien reikia pabusti. Pabusti iš apmąstymų ir pažinimo liūno. Pabusti ir pradėti judėti.

Šiandien diena, kai atėjo laikas skleisti/atskleisti/paskleisti mintis apie Sisteminį Mąstymą (System Thiking) ir Sistemų Dinamiką (System Dynamics). Pats nesu ypatingai pasikaustęs šiame lauke, bet draugauju su šia tema jau daugiau nei 15 metų. Per tuos metus turėjau daug ir visokios patirties, ne vieną kartą ieškojau pagalbos šioje srityje ir radau atsakymus. Sistemų Dinamika ar Sisteminis Mąstymas skamba gana sudėtingai, tačiau daugelis nustebs – viskas paprasčiau nei skamba.

Aš suvokiu šį blogą, kaip kelią, dienoraštį ir grįžtamojo ryšio priemonę. Man reikia erdvės, kurioje aš galiu surašyti savo patirtį, ją kažkaip struktūrizuoti. Reikia, kad žmonės galėtų mane kritikuoti, patarti, nukreipti. Noriu rasti bendraminčių, galbūt ką nors įkvėpti. Tikslų daug ir jie asmeniniai, bet apie asmeninius “reikalus” čia bus mažai, nebent tai bus geras pavyzdys, kaip reikia ar nereikia daryti. Noriu, kad šis dienoraštis būtų samplaika trijų temų – sistemų dinamikos taikymo, marketingo ir rinkos tyrimų. Kas iš to gausis? Na, bus matyti.

Aš nežinau kaip viską darysiu, bet natūraliai …

EDIT: atskiroje kategorijoje sukėliau savo senesnius postus iš tumblr -> … 3 … (tumblr)