MatematickΘ modelovßnφ ekonomick²ch jev∙ mß dlouhodobou historii, jejφ₧ poΦßtky spadajφ u₧ do sedmnßctΘho a osmnßctΘho stoletφ. V pr∙b∞hu druhΘ sv∞tovΘ vßlky byly matematickΘ modely vyu₧φvßny hlavn∞ pro vßleΦnΘ ·Φely. Odtud je takΘ odvozen p∙vodnφ nßzev tohoto v∞dnφho odv∞tvφ (Operation Research, v ΦeskΘm p°ekladu operaΦnφ v²zkum).
Jednou z nejstarÜφch disciplφn operaΦnφho v²zkumu je lineßrnφ programovßnφ. Vypl²vß to z pom∞rn∞ jednoduchΘho matematickΘho aparßtu, kter² je pou₧φvßn k °eÜenφ matematick²ch model∙ ·loh lineßrnφho programovßnφ. Tyto modely jsou optimalizaΦnφ, tj. ze vÜech mo₧n²ch °eÜenφ problΘmu hledajφ °eÜenφ podle urΦitΘho kritΘria nejlepÜφ (optimßlnφ).
Formulaci optimalizaΦnφho modelu lze rozd∞lit do dvou fßzφ. V prvnφ fßzi formulace tvo°φme ekonomick² model, ve kterΘm °eÜen² problΘm po d∙kladnΘ anal²ze definujeme a popisujeme ekonomick²mi termφny. Formulace ekonomickΘho modelu vy₧aduje d∙kladnou znalost modelovanΘ skuteΦnosti a je v∞tÜinou zßle₧itostφ zkuÜen²ch odbornφk∙ z praxe.
Ve druhΘ fßzi formulujeme na zßklad∞ ekonomickΘho modelu matematick² model, kter² pak °eÜφme pomocφ Excelu.
Je velice efektivnφ, kdy₧ vÜechny tyto fßze zvlßdne jedna osoba (nap°. mana₧er). Cel² proces se tφm podstatn∞ zrychlφ, proto₧e odpadß komunikace mezi odbornφkem z praxe a matematikem. Mana₧er, kter² nejlΘpe znß problΘm, si sßm sestavφ ekonomick² a matematick² model. Matematick² model pak vy°eÜφ jednoduÜe pomocφ Excelu a zφskanΘ v²sledky pou₧ije pro optimßlnφ rozhodovßnφ.
Model lineßrnφ ·lohy
Lineßrnφ ·lohou rozumφme optimalizaΦnφ problΘm hledßnφ extrΘmu (maxima nebo minima) lineßrnφ funkce na mno₧in∞ nezßporn²ch °eÜenφ soustavy lineßrnφch rovnic nebo nerovnic.
Jednß-li se o maximum, mluvφme o maximalizaΦnφ ·loze lineßrnφho programovßnφ ve smφÜenΘm tvaru, v p°φpad∞ minima o minimalizaΦnφ ·loze. Lineßrnφ funkci (2.3) naz²vßme ·Φelovß funkce.
Vektor x = (x1, x2,à, xn )T, kter² vyhovuje vÜem omezujφcφm podmφnkßm (2.1) i (2.2), naz²vßme p°φpustnΘ °eÜenφ ·lohy lineßrnφho programovßnφ. Optimßlnφ °eÜenφ ·lohy je p°φpustnΘ °eÜenφ maximalizujφcφ Φi minimalizujφcφ hodnotu ·ΦelovΘ funkce (2.3).
┌loha lineßrnφho programovßnφ mß obvykle jedno optimßlnφ °eÜenφ. Je vÜak mo₧nΘ nalΘzt vφce ne₧ jedno optimßlnφ °eÜenφ, tedy vφce r∙zn²ch vektor∙ x(k) =(x1(k), x2(k),à, xn(k) )T, pro n∞₧ nab²vß ·Φelovß funkce stejnΘ hodnoty. V takovΘm p°φpad∞ existuje teoreticky nekoneΦn∞ mnoho optimßlnφch °eÜenφ. M∙₧e vÜak nastat i p°φpad, kdy optimßlnφ °eÜenφ neexistuje. Nap°φklad tehdy, hledßme-li extrΘm neomezenΘ funkce na neomezenΘ mno₧in∞ p°φpustn²ch °eÜenφ ( ·loha pak mß nekoneΦn∞ mnoho koneΦn²ch optimßlnφch °eÜenφ) nebo vzhledem k zadßnφ omezujφcφch podmφnek je mno₧ina p°φpustn²ch °eÜenφ prßzdnß, tedy nemß-li ·loha p°φpustnΘ °eÜenφ, nemß ani optimßlnφ. Je proto t°eba podstat∞ ·lohy a jejφ formulaci v∞novat mimo°ßdnou pozornost.
Formulace optimalizaΦnφho modelu
Chceme-li objektivn∞ urΦit nejv²hodn∞jÜφ °eÜenφ rozhodovacφ situace, je t°eba sprßvn∞ analyzovat a popsat danou skuteΦnost. P°edpokladem je samoz°ejm∞ mφt dostatek pot°ebn²ch a kvalitnφch informacφ o °eÜenΘm problΘmu.
Uv∞domme si, ₧e matematick² model je urΦit²m zjednoduÜenφm modelovanΘ skuteΦnosti. P°ed jeho formulacφ proto musφme peΦliv∞ uvß₧it, kterΘ vztahy z modelovanΘ skuteΦnosti do n∞ho zahrneme a kterΘ vynechßme. Nepoda°φ-li se nßm vystihnout skuteΦnou situaci, °eÜφme vlastn∞ jin² problΘm. Potom nemusφ b²t zφskanΘ v²sledky (by¥ sprßvnΘ) pou₧itelnΘ v praxi. Je tedy rozhodujφcφ zvß₧it, kterß hlediska jsou pro vy°eÜenφ naÜeho ·kolu d∙le₧itß. Hledßnφ optimßlnφho °eÜenφ ·lohy lze rozd∞lit do n∞kolika etap:
1. Formulace ekonomickΘho a matematickΘho modelu
2. V²poΦet optimßlnφho °eÜenφ
P°i tvorb∞ ekonomickΘho modelu analyzujeme obsah ·lohy a popisujeme procesy ·lohy û Φinnosti p°i vhodn∞ zvolenΘ jednotkovΘ ·rovni. Dßle formulujeme cφl ·lohy. Cφl v ekonomickΘm modelu stanovφ kritΘrium, podle kterΘho posuzujeme vhodnost nebo nevhodnost jednotliv²ch Φinnostφ. Vybereme omezujφcφ podmφnky, tedy Φinitele ekonomickΘho modelu.
Je tedy t°eba stanovit:
1.vÜechny Φinnosti, kterΘ v modelovanΘ skuteΦnosti probφhajφ a kterΘ pova₧ujeme za podstatnΘ (nap°. v²roba urΦitΘho v²robku, p°eprava zbo₧φ po urΦitΘ trase, rozd∞lenφ pracovnφk∙ na pracoviÜt∞ apod.);
2.vÜechny podmφnky (tzv. Φinitele ekonomickΘho modelu), kter²mi jsou tyto Φinnosti ovliv≥ovßny:
podmφnky na stran∞ vstupu (nap°. zßsoby surovin, mno₧stvφ strojovΘho Φasu, spot°eba energie, poΦet pracovnφk∙ apod.),
podmφnky na stran∞ v²stupu (nap°. maximßlnφ odbyt v²robk∙, minimßlnφ po₧adovanΘ mno₧stvφ produktu apod.);
maximalizace nebo minimalizace hodnoty urΦitΘho ekonomickΘho ukazatele (nap°. zisk, nßklady, tr₧ba, poΦet v²robk∙ apod.).
P°i tvorb∞ matematickΘho modelu popφÜeme rozhodovacφ situaci matematicky, p°itom vychßzφme z ji₧ formulovanΘho ekonomickΘho modelu. UrΦφme prom∞nnΘ, omezenφ a ·Φelovou funkci:
1.ka₧dΘ Φinnosti v ekonomickΘm modelu p°i°adφme jednu prom∞nnou, pro tuto prom∞nnou i podmφnku nezßpornosti;
2.ka₧dΘ podmφnce, tedy tzv. Φiniteli ekonomickΘho modelu, p°i°adφme nerovnici (s operßtory (, (), pop°. rovnici;
3.formulujeme ·Φelovou funkci, kterß je matematick²m vyjßd°enφm hledanΘho cφle.
Pro p°evedenφ ekonomickΘho modelu do matematickΘho lze vyu₧φt i tabulky:
Ekonomick² modelMatematick² modelΦinnostprom∞nnßpodmφnkaomezenφcφl·Φelovß funkcePostup si ilustrativn∞ ukß₧eme na jednoduchΘm p°φklad∞.
Mßme navrhnout takov² v²robnφ program, kter² zabezpeΦφ nejvyÜÜφ zisk z v²roby a prodeje v²robk∙ A a B p°i omezenΘm disponibilnφm mno₧stvφ suroviny S (24 000 kg), p°i omezenΘm vyu₧itelnΘm ΦasovΘm fondu za°φzenφ K (32 000 hodin) a p°i omezenΘm poΦtu pracovnφk∙ P (disponibilnφ Φasov² fond je 12 000 hodin). Po₧adujeme dßle, vzhledem k smluvnφm zßvazk∙m, v²robu alespo≥ 20 kus∙ v²robk∙ A.
Norma spot°eby surovin S Φinφ 6 kg na jeden v²robek A, 4 kg na jeden v²robek B. Na za°φzenφ K je jeden v²robek A opracovßvßn Φty°i hodiny, jeden v²robek B osm hodin. Souhrnnß norma Φasu pracovnφk∙ P na zhotovenφ jednoho v²robku A je dv∞ hodiny, stejn∞ jako na zhotovenφ jednoho v²robku B. Zisk z jednoho v²robku A je 8 KΦ, z jednoho v²robku B 10 KΦ. P°edpoklßdßme, ₧e vÜechny vyrobenΘ v²robky prodßme.
V ekonomickΘm modelu nejd°φve popφÜeme vÜechny Φinnosti a vybereme omezujφcφ podmφnky, kterΘ je bezpodmφneΦn∞ nutnΘ zahrnout do modelu. P°i posouzenφ naÜφ ·lohy z v∞cnΘho hlediska dosp∞jeme k zßv∞ru, ₧e jde vlastn∞ o sestavenφ takovΘho v²robnφho programu, kter² p°i omezen²ch disponibilnφch mno₧stvφch n∞kter²ch Φinitel∙ zabezpeΦφ nejvyÜÜφ zisk a zajistφ produkci urΦitΘho poΦtu v²robk∙. V²robnφ program zahrnuje v²robu v²robk∙ A a B. Mßme tedy urΦit takovß mno₧stvφ v²robk∙ A a B, kterß m∙₧eme z dan²ch Φinitel∙ vyrobit, a chceme, abychom dosßhli maximßlnφho zisku.
Poznßmka: DφlΦφ procesy ·lohy jsme popisovali pro v²robu a prodej jednoho v²robku A nebo B. Procesy vÜak m∙₧eme popsat i p°i zcela jinΘ veliΦin∞, ne₧ jakou je mno₧stvφ vyrßb∞n²ch v²robk∙. Mno₧stvφ, p°i kterΘm popisujeme procesy v ·loze, naz²vßme jednotkovß ·rove≥ proces∙.
Zvolenß jednotkovß ·rove≥ se nemusφ liÜit pouze kvantitativn∞. M∙₧e jφt o zcela jinou veliΦinu, kterou zvolφme za zßklad popisu proces∙ û Φinnostφ. Nap°φklad v naÜφ ·loze bychom mohli zvolit za jednotkovou ·rove≥ dosa₧enφ jednΘ koruny zisku p°i p°em∞n∞ Φinitel∙ S, K, P na Z.
Ekonomick² model danΘ ·lohy
Omezenφ╚innosti┌rove≥JednotkyABSurovina S6424000kg╚asov² fond K4832000hodPoΦet pracovnφk∙ P2212000hodZisk810maxKΦP°i formulaci matematickΘho modelu vychßzφme z ji₧ formulovanΘho ekonomickΘho modelu:1.ka₧dΘ Φinnosti v ekonomickΘm modelu p°i°adφme jednu prom∞nnou, pro tuto prom∞nnou i podmφnku nezßpornosti;
2.ka₧dΘ podmφnce, tedy tzv. Φiniteli ekonomickΘho modelu, p°i°adφme nerovnici (s operßtory (, (), pop°. rovnici;
3.formulujeme ·Φelovou funkci, kterß je matematick²m vyjßd°enφm hledanΘho cφle.
Formulujme nynφ matematick² model ·lohy.
Podle schΘmatu p°i°adφme jednotliv²m komponentßm ekonomickΘho modelu jejich ekvivalenty matematickΘho modelu.
Dv∞ma Φinnostem odpovφdß zavedenφ dvou prom∞nn²ch:
x1 vyjad°uje poΦet vyroben²ch kus∙ v²robk∙ A,
x2 vyjad°uje poΦet vyroben²ch kus∙ v²robk∙ B.
Dßle je zapot°ebφ matematicky vyjßd°it omezenφ, kterß se t²kajφ disponibility suroviny S, ΦasovΘho fondu za°φzenφ K a poΦtu pracovnφk∙ P:
6x1 + 4x2 ( 24 000
4x1 + 8x2 ( 32 000
2x1 + 2x2 ( 12 000
Uv∞domme si vÜak, ₧e hledßme poΦet v²robk∙, tedy pouze nezßpornß °eÜenφ tΘto soustavy. Je proto t°eba omezit i prom∞nnΘ, kterΘ tento poΦet vyjad°ujφ. Prom∞nnou x1 vÜak omezujeme hodnotou 20, nebo¥ je po₧adovßno vyrobit (viz smluvnφ zßvazky) minimßln∞ 20 kus∙ v²robk∙. Proto
x1 ( 20
x2 ( 0
Matematick² model tedy p°edstavuje nßsledujφcφ formulace:
max z = 8x1 + 10x2
na mno₧in∞ °eÜenφ soustavy:
6x1 + 4x2 ( 24 000
4x1 + 8x2 ( 32 000
2x1 + 2x2 ( 12 000
x1 ( 20
x2 ( 0
╪eÜenφ optimalizaΦnφho modelu
NaÜi ·lohu vy°eÜφme v Excelu nßstrojem ╪eÜitel. Do novΘho listu p°ichystßme v²chozφ ·daje podle tabulky ekonomickΘho modelu. Do bun∞k E2, E3 a E4 zapφÜeme vzorce skuteΦnΘ spot°eby suroviny S, ΦasovΘho fondu za°φzenφ K a ΦasovΘho fondu pracovnφk∙ P s odkazem na bu≥ky B6 a C6, do nich₧ bude spoΦteno mno₧stvφ vyrßb∞n²ch v²robk∙ A a B. Do bu≥ky E5 p°ichystßme vzorec pro v²poΦet dosa₧enΘho zisku. (Je analogick² jako vzorce pro v²poΦet spot°eby suroviny a ΦasovΘho fondu.)
P°φprava aplikace ╪eÜitele p°i hledßnφ optimßlnφho v²robnφho plßnu
ABCDE1V²robek AV²robek B┌rove≥Spot°eba2Surovina S64240000V bu≥ce E2 je vzorec:B2*$B$6+C2*$C$63╚asov² fond K48320000Tento vzorec je zkopφrovßn do E3, E4 a E54PoΦet pracovnφk∙ P221200005Zisk810Max06Optimßlnφ v²robaKurzor umφstφme do bu≥ky E5, jejφ₧ hodnotu maximalizujeme. Z menu volφme Nßstroje, ╪eÜitel zobrazφ se dialogovΘ okno Parametry °eÜitele.
DialogovΘ okno Parametry °eÜitele
V okn∞ u₧ je vypln∞n parametr Nastavit bu≥ku, kter² je nastaven na bu≥ku, v nφ₧ jsme m∞li p°ichystßn kurzor p°ed pou₧itφm ╪eÜitele. VytyΦenφm zadßme M∞n∞nΘ bu≥ky, tj. bu≥ky, do nich₧ bude spoΦtena v²roba v²robk∙ A (B6) a B (C6). Nynφ musφme vytvo°it Omezujφcφ podmφnky. Klepneme na tlaΦφtko P°idat. Zobrazφ se dialogovΘ okno P°idat podmφnku.
DialogovΘ okno P°idat omezujφcφ podmφnku
Klepnutφm do bu≥ky v seÜitu zadßme adresu bu≥ky i podmφnku. Klepneme na tlaΦφtko P°idat a postupn∞ takto definujeme podmφnky uvedenΘ v dialogovΘm okn∞ Parametry °eÜitele. Klepnutφm na tlaΦφtko ╪eÜit v dialogovΘm okn∞ Parametry °eÜitele zahßjφme °eÜenφ. Po skonΦenφ v²poΦtu se v seÜitu do prom∞nliv²ch bun∞k B6, C6 zapsalo optimßlnφ °eÜenφ (2000 kus∙ v²robku A, 3000 kus∙ v²robku B). V bu≥ce E5 je zapsßn maximßlnφ zisk (46 000 KΦ).
V²sledek aplikace ╪eÜitele
ABCDE1V²robek AV²robek B┌rove≥Spot°eba2Surovina S642400024 000V bu≥ce E2 je vzorec:B2*$B$6+C2*$C$63╚asov² fond K483200032 000Tento vzorec je zkopφrovßn do E3, E4 a E54PoΦet pracovnφk∙ P221200010 0005Zisk810max.46 0006Optimßlnφ v²roba20003000DalÜφ d∙le₧itΘ ·daje zφskßme porovnßnφm sloupc∙ ┌rove≥ a Spot°eba. Vidφme, ₧e se surovina S spot°ebovala beze zbytk∙ a byl vyΦerpßn Φasov² fond za°φzenφ K. ╚asov² fond pracovnφk∙ P (12 000 hod.) vÜak vyΦerpßn nebyl, jeliko₧ bylo spot°ebovßno celkem 10 000 hod.
Pomocφ Excelu vÜak lze °eÜit i jinΘ (daleko slo₧it∞jÜφ) ·lohy z praxe. Zßle₧φ v₧dy na °eÜiteli, jak slo₧it² model zvolφ. ╚φm je model slo₧it∞jÜφ, tφm p°esn∞jÜφ informace zφskßme. Proto se v₧dy rozhodujeme podle toho, kolik mßme Φasu na vy°eÜenφ problΘmu a jak² efekt v²slednß optimalizace p°inese.