Az érzékenységvizsgálat jelentősége (Tanulmány) Egyéb olyan fontos szempontok mellett, mint a stabilitás, rugalmasság, társadalmi elfogadottság, stb., az ipari menedzser fő célja, hogy növelje cége nyereségét. Ennek fő komponensei a kiadások csökkentése és a bevétel növelése. Most egy olyan egyszerű példát vizsgálunk, melynél a bevétel maximalizálása a cél. Kisméretű és lineárisan modellezhető probléma esetében viszonylag könnyű maximumot számítani. Használhatjuk a lineáris programozás jól bevált módszereit. De biztos, hogy az így kapott megoldás az igazi? Nem biztos. Nem elégedhetünk meg a kapott optimális megoldással, mert ezt a megoldást rögzített paraméterek mellett kaptuk. Egy termelési program legfontosabb paraméterei az anyagi korlátok és az egyes termékek eladási árai. Az árakat mi határozzuk meg bizonyos, a piac által diktált korlátok között, de nem csak tőlünk függ, hogy adott nyersanyagból adott időszakban mennyi áll rendelkezésre, vagy hogy milyen termelési kapacitást tudunk mozgósítani. Hogyan változik a nyereség, ha a paraméterek változnak? Változik-e az optimális termelési program is?
" Nem elégedhetünk meg az optimális megoldással. "
" A paraméterekkel változik a termelési program is?"
A kettő nem ugyanaz. Jó esetben az árak vagy a korlátok csekély megváltozása mellett a nyereség értéke nő vagy csökken, de a kibocsátott termékek aránya vagy mennyisége változatlan maradhat: továbbra is optimális. De nem mindig van így. A termelést irányító vezető számára lényeges információ, hogy a kapott optimális termelési program mennyire stabil vagy instabil. Ha már kis paraméterváltozás hatására elveszíti optimalitását, akkor a program nagyon merev, instabil. Ha a paraméterek széles tartományban változhatnak anélkül, hogy az optimális termelési program megváltozna, akkor a döntéshozónak lesz ideje más problémákkal foglalkozni, és sikeresen végzi feladatát. E rövid tanulmányban egyszerű példán mutatjuk be a termelési program ilyen felfogású érzékenység-vizsgálatát.
" Ha a paraméterek széles tartományban változhatnak anélkül, hogy az optimális termelési program megváltozna, akkor a döntéshozónak lesz ideje más problémákkal foglalkozni."
-2-
Alapfeladat Egy gyárban öblítőszert csomagolnak 4-literes hígítandó, és 6literes, rögtön használható kiszerelésben. A 4-literes flakonba 3 liter koncentrátum és 1 liter oldószer kerül, ennek eladási ára 600 Ft. A 6-literes flakonban 2 liter koncentrátumot és 4 liter oldószert kevernek össze, ennek eladási ára 900 Ft. Mindkét termékre bőven van fizetőképes kereslet, ellenben az alapanyag szállítása egyelőre akadozik. A kétféle (üres) flakonból bármennyi rendelkezésünkre áll a raktárból. Az e heti anyagszállítmánnyal 36 hektoliter koncentrátum és 32 hektoliter oldószer érkezett. Jelölje x1 a termelt 4-literes flakonok számát, és x2 a termelt 6literes flakonok számát. Akkor az alábbi táblázat foglalja össze az adatokat és az összefüggéseket: Hígítandó (4-literes) Koncentrátum Oldószer Együtt Darabár Eladott darab
3 liter 1 liter 4 liter 600 Ft x1
Eladott liter
4 x1
Eladott liter Bevétel
600 x1 Ft
Rögtön használható (6-literes) 2 liter 4 liter 6 liter 900 Ft
összesen 3600 liter 3200 liter 6800 liter
x2 4 x1 liter 6 x2
6 x2 liter
900 x2 Ft
(600 x1 + 900 x2) Ft
Melyikből mennyit gyártsunk, hogy a bevételünk maximális legyen?
" Melyikből mennyit gyártsunk, hogy a bevételünk maximális legyen?"
-3-
Matematikai program A fenti feladathoz, az ott használt x1 és x2 jelöléseket használva az alábbi (lineáris) matematikai program állítható össze:
max 900x 1 + 600x 2
(1)
2x 1 + 3x 2 ≤ 3600
(2)
4 x 1 + x 2 ≤ 3200
(3)
x 1 ≥ 0,
(4)
x2 ≥ 0
Magyarázat: (1) A bevételt szeretnénk maximalizálni x1 és x2 alkalmas megválasztásával. A maximalizálandó 900x 1 + 600x 2 kifejezést célfüggvénynek nevezzük. (2) Nem használunk fel több koncentrátumot, mint amennyi rendelkezésre áll. (3) Nem használunk fel több oldószert, mint amennyi rendelkezésre áll. (4) A termelt flakonok száma nulla vagy pozitív (nem lehet negatív). Bár az eredeti feladatban csak természetes (nulla vagy pozitív egész) számú flakonokat lehet gyártani, a modellben folytonos számok szerepelnek, vagyis nem kötjük ki, hogy x1 és x2 egész számok legyenek.
-4-
Az alapfeladat megoldása Tetszőleges x1 és x2 számpárokat a feladat megoldásának szokás nevezni. A (2)-(3)-(4) feltételrendszert kielégítő x1 és x2 számpárokat a feladat megengedett megoldásainak nevezzük. A megengedett megoldások összefüggő tartományt alkotnak az x1 és x2 rendszerben, ezt megengedett tartománynak hívjuk, és e tartományt a lineáris (2)-(3)-(4) korlátok egyenleteit ábrázoló egyenesek határolják.
Az ábrán párhuzamos piros egyenesek mutatják a célfüggvény szintvonalait. (Vagyis egy-egy piros vonal mentén a célfüggvény értéke nem változik.) Minél messzebb van a piros vonal a tengelyek metszéspontjától, annál nagyobb a célfüggvény értéke. Mivel maximumot keresünk, a piros vonalat a lehető „legmagasabbra” kell helyezni úgy, hogy a kék tartománnyal még legyen közös pontja. Ezt jelöli a sárga egyenes. Az ábra szerint a feladat megoldása az, hogy a piros vonal a két kék vonal metszéspontjában érinti a kék tartományt. Eszerint x 1 = 600 és x 2 = 800 (azaz a 6-literes kiszerelésből gyártsunk 600 flakont, a 4-literesből 800-at), a maximális bevétel pedig 1 020 000 Ft.
" Az ábrán párhuzamos piros egyenesek mutatják a célfüggvény szintvonalait."
-5-
Érzékenység-vizsgálat Egy optimális megoldással kapcsolatban számtalan kérdés felmerülhet bennünk. A két legfontosabb kérdés talán a következő:
" Változik a megoldás, ha változtatunk az eladási árakon?"
(1) Hogyan változik a megoldás, ha változtatunk az eladási árakon? Azaz: mennyire stabil a termelési terv? (2) Hogyan változik a megoldás, ha a feltételek módosulnak (például: érkezik újabb szállítmány nyersanyag, vagy kilyukad az egyik tartály)? Ezekre ad választ az érzékenységvizsgálat. Az érzékenységvizsgálat sokféle kérdésre irányulhat, ezek közül most csak a két legfontosabbat mutatjuk be. Az ár-érzékenység vizsgálata során arra vagyunk kíváncsiak, hogy meddig változtathatjuk az egyes termékek árát, vagy azok arányát, hogy közben a termelési programot ne kelljen megváltoztatni. Milyen árak mellett lesz változatlanul az eredeti x 1 = 600 és x 2 = 800 az optimális megoldás? Miközben az optimális megoldás az eredeti x 1 = 600 és x 2 = 800 marad, a bevétel természetesen változhat. A korlát-érzékenység vizsgálata során arra vagyunk kíváncsiak, hogy a rendelkezésre álló erőforrások mennyisége milyen tartományban változhat meg úgy, hogy közben a termelési programot ne kelljen megváltoztatni. Ha több koncentrátum vagy kevesebb oldószer érkezik, akkor is az eredeti x 1 = 600 és x 2 = 800 az optimális megoldás? Mennyivel több vagy kevesebb nyersanyagnak kell érkeznie ahhoz, hogy az optimális megoldás más legyen?
" Változik a megoldás, ha újabb szállítmény nyersanyag érkezik?"
-6-
Ár-érzékenység A célfüggvény szintvonalának (a piros vonalnak) a meredekségét a két eladási ár aránya határozza meg, vagyis a meredekség ezekkel változtatható. Ha csak egy kicsit növeljük vagy csökkentjük az egyik termék árát, akkor a sárga vonal a két kék vonal metszéspontja körül csak kissé fordul el, és az optimum helye nem változik. Az optimális termékarány mindaddig változatlan, amíg a sárga vonal a két kék vonal metszéspontjában érinti a kék tartományt, vagyis amíg a szintvonal meredeksége a két kék vonal meredeksége között (a sárga tartományon belül) marad. " Az optimális termékarány mindaddig változatlan, amíg a sárga vonal a két kék vonal metszéspontjában érinti a kék tartományt "
Ha a második termék árát (600 Ft/flakon) rögzítjük, akkor az elsőnek az árát 900Ft-ról legföljebb 1500 Ft-tal, azaz 2400 Ft-ra növelhetjük, mert ekkor lesz a célfüggvény meredeksége azonos a (2) feltétel vonalának meredekségével. Csökkenteni legföljebb 500 Ft-tal lehet (400 Ft-ra), mert ekkor lesz a célfüggvény meredeksége azonos a (3) feltétel vonalának meredekségével. Legalábbis eddig mehetünk el anélkül, hogy a termékarányokon változtatni kellene. Ezt szemlélteti a fenti ábra. A sárgával jelölt tartományba eső egyenesekre (mint érintő szintvonalakra) lesz az (x1=600, x2=800) termékarány optimális.
-7-
A következő ábrán éppen azt láthatjuk, hogy ha a célfüggvény nem a sárga tartományba esik, akkor módosul a megoldás is, mert feljebb tudjuk tolni az egyenest úgy, hogy még legyen a kék tartománnyal közös pontja:
" Ha a célfüggvény nem a sárga tartományba esik, akkor módosul a megoldás is, mert feljebb tudjuk tolni az egyenest úgy, hogy még legyen a kék tartománnyal közös pontja. "
Ekkor már az optimális megoldás az, hogy csak a 4-literes terméket gyártjuk, még akkor is, ha így az oldószerből nem használjuk fel a teljes készletet. (A 3600 liter koncentrátumból 1200 flakon 4-literes terméket tudunk gyártani, de ehhez csak 1200 liter oldószerre van szükségünk, és így 2000 liter oldószer megmarad.) Az adott példában elég tág határok között változtathatjuk a termékárakat (az 1. termék esetében +1500 és -500 Ft/flakon eltérések között) anélkül, hogy a termékarányokon változtatni kellene. De ez nincs mindig így. Ha ez a két szám nagyon kicsi lenne, akkor a megoldás nagyon érzékeny lenne az áremelésre vagy az árengedményre.
-8-
Korlát-érzékenység Nézzük meg, hogy mi történik a megoldással, ha időközben kiderül, hogy az előző heti termelésből maradt még 300 liter oldószer, amit szintén felhasználhatunk. Az ábra így módosul:
" Ha az egyik korlát eltolódik, emiatt nő a megengedett tartomány (világoskék rész). A célfüggvény szintvonalát feljebb tolhatjuk, növelve ezzel a bevételt. "
Látható, hogy az egyik korlát eltolódik, emiatt nő a megengedett tartomány (világoskék rész). Ennek következménye, hogy a célfüggvény szintvonalát feljebb tolhatjuk, növelve ezzel a bevételt. Az új megoldás x1=690 és x2=740, azaz 90 literrel többet gyártunk a 4-literes flakonból, és 60 literrel kevesebbet a 6-literesből. Ezzel a bevétel 1 065 000 Ft-ra nő (a növekedés 45 000 Ft).
Árnyék-ár Minden korláthoz tartozik egy úgy nevezett árnyék-ár. Ez azt mutatja meg, hogy ha az adott korlát jobb oldala egységnyi értékkel nő, akkor mennyivel nagyobb a célfüggvény értéke az új optimális megoldásban. Ez esetünkben a (3) feltételre 150 Ft/liter. Mivel a korlát növekedése nem egységnyi (nem 1 liter), hanem 300 liter, a célfüggvény 300 liter * 150 Ft/liter = 45000 Ft-tal nőtt.
" Az árnyék-ár azt mondja meg, hogy a feltételek egységnyi változásának hatására mennyire változik meg a célfüggvény optimális értéke."
-9-
Az árnyék-ár tehát azt mondja meg, hogy a feltételek egységnyi változásának hatására mennyire változik meg a célfüggvény optimális értéke.
Megengedhető növekedés és csökkenés Természetesen a korlátokat sem növelhetjük (vagy csökkenthetjük) akármeddig. Erre vonatkozik a megengedhető növekedés és csökkenés, ami azt mutatja meg, hogy a célfüggvény mekkora tartományban viselkedik az árnyékárnak megfelelően. Például ha az első korlát megengedhető növekedése 400 liter, és kapunk 600 liter koncentrátumot, akkor már nem igaz, hogy a bevételünk az új optimális termelésben 600 ⋅ 150 = 90 000 Fttal nő. Minél kisebb a megengedhető növekedés illetve csökkenés, annál kisebb tartományban lehet egyszerű arányossággal számítani a feltételek változásának hatását a bevételre.
" Minél kisebb a megengedhető növekedés vagy csökkenés, annál kisebb tartományban lehet egyszerű arányossággal számítani a feltételek változásának hatását a bevételre."
- 10 -
Megjegyzések A lineáris programozást megvalósító szoftver-termékek általában olyan szolgáltatásokat nyújtanak, melyek tájékoztatják a felhasználót a marginális érzékenységekről, vagyis arról, hogyan változik meg a célfüggvény értéke, ha valamelyik paraméter egységnyi változást szenved. Közölni szokták azt is, hogy milyen korlát- vagy árváltozás mellett kerül be az optimális terméklistába egy onnan korábban kimaradt termék, avagy milyen változás mellett esik ki az optimális terméklistából egy eredetileg bentlevő. (Ezt úgy szokták megfogalmazni, hogy milyen körülmények között változik meg az ’’optimális bázis".) Azonban a fenti vizsgálatok eredményeit e szoftver-termékek ritkán szolgáltatják közérthető módon. Ahhoz, hogy igazán használható eredményekhez jussunk, a matematikai programot célszerű procedurális modellező környezetbe ágyazni. Ilyen környezetet valósít meg például az AIMMS (Paragon Decision Technology, Haarlem, Hollandia), melynek mi vagyunk az egyik regionális szolgáltató partnere, két másik mellett Európában.
" A matematikai programot procedurális modellező környezetbe kell ágyazni. Ilyen környezetet valósít meg például az AIMMS. "
Matusik Ágnes1 Dr. Rév Endre2
Ha többet szeretne megtudni az optimalizáló módszerekről, eszközökről és szoftverekről, jelentkezzen legközelebbi tréningünkre a www.optasoft.hu honlapon.
1
Matematikus, az OptaSoft Kft. operációkutatási szakértője Vegyészmérnök, docens, MTA doktor, kutatási területe az optimális folyamattervezés. Az OptaSoft Kft. szakértője. 2