Problém rozhodovania s neistými dátami
15. August, 2011, Autor článku: Ladovský Tomáš, Informačné technológie
Ročník 4, číslo 8
Pridať príspevok
Článok sa snaží prezentovať problém rozhodovania s neistými dátami. Tvorca rozhodnutí má k dispozícií namerané minulé realizácie, pomocou ktorých je schopný urobiť predikciu do budúcnosti. Článok najskôr rieši jednoduchý rozhodovací problém v reálnej aritmetike a zaoberá sa optimálnou voľbou metódy odhadu. Postupne pridáva neistú informáciu, pomocou ktorej chceme predpovedať presnejšie realizácie časov spracovania. Prvé neisté časy spracovania modeluje článok pomocou intervalovej aritmetiky.
Tá so sebou prináša problematiku ich odhadu a porovnania. Navyše intervaly nedokážu modelovať informáciu o početnosti minulých realizovaných hodnôt. A tak prechádzame z intervalovej aritmetiky do fuzzy aritmetiky. Tá zo sebou prináša taktiež problematiku odhadu a porovnania fuzzy čísel.
1. Motivačný príklad
Predstavme si nasledujúci rozvrhovací (rozhodovací) problém. K dispozícií máme tri stroje (procesory) M1, M2 a M3, ktoré majú spracovať porade úlohy J1, J2 a J3, čo znamená, že úloha J1 bude spracovaná na stroji M1, úloh J2 bude spracovaná na stroji M2 a úloha J3 bude spracovaná na stroji M3. Časy spracovania úloh J1, J2 a J3 sú porade p1, p2 a p3.
Obr. 1: Obrázok zobrazuje výpočet kumulovaných pracovných časov L1, L2 a L3 na strojoch porade M1, M2 a M3 vzhľadom na rozhodnutia tvorcu rozvrhu, t.j.
Našou úlohou je rozhodnúť, ktorému stroju pridelíme úlohu J4 s časom spracovania p4, tak aby sme čo najviac zrovnomernili záťaž na všetkých troch strojoch. V tomto okamihu rozhodovania (plánovania) ešte nevieme aké skutočné časy spracovania sa budú realizovať. Poznáme časy spracovania minulých nameraných realizácií úloh alebo iba ich odhady. Na obrázku 1 môžeme vidieť pseudokód našeho rozhodovacieho problému. Záťaž na i-tom stroji Mi zapisujeme ako Li.
Celočíselná premenná modeluje rozhodnutie tvorcu rozvrhu, či buď bude spracovaná úloha J4 na prvom stroji (x=1), alebo či bude úloha J4 spracovaná na druhom stroji (x=2), alebo či bude úloha J4 spracovaná na treťom stroji (x=3). Existuje viacero optimalizačných kritérií, ktoré sú známe pod pojmom miera nerovnomernosti alebo Schur konvexná funkcia. Čím je miera nerovnomernosti menšia, tým je zaťaženie strojov rovnomernejšie. Pre náš účel nám poslúži miera nerovnomernosti definovaná ako
kde x1, x2, x3 nepredstavujú jednotlivé rozhodnutia tvorcu rozvrhu, ale predstavujú zaťaženia strojov M1, M2, M3.
Poznámka: Časy spracovania úloh sú nezávislé od stroja na ktorom sú úlohy spracované.
Príklad 1.1. (Pracovné časy modelované reálnymi hodnotami)
Máme k dispozícií súbor dát za predošlé obdobie, viď. tabuľka.
i-te meranie | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4 | 3 | 14 | 7 | 8 | 6 | 3 | 8 | 1 | 7 | 15 | 11 | 6 | 8 | 9 | |
11 | 10 | 3 | 14 | 7 | 6 | 12 | 2 | 5 | 3 | 9 | 7 | 4 | 9 | 9 | |
11 | 9 | 3 | 13 | 7 | 7 | 3 | 3 | 9 | 10 | 10 | 11 | 4 | 4 | 10 | |
2 | 3 | 7 | 2 | 7 | 15 | 9 | 10 | 9 | 6 | 5 | 15 | 9 | 12 | 10 |
Ide o namerané (skutočné) hodnoty časov spracovania úloh J1, J2, J3 a J4. Aj keď ide o úlohy rovnakého typu, tak nám merania ukázali, že ich časy spracovania sú rôzne od naplánovaných pôvodných časov. Tieto výchylky sú spôsobené ľudským faktorom, poruchami strojov a nečakanými udalosťami. Z týchto dát vieme určiť približné hodnoty (odhady) časov spracovania p1, p2, p3 a p4. Existuje viacero spôsobov ako tieto odhady vypočítať:
- aritmetický priemer
- modus
- medián
- optimistická hodnota (minimum)
- pesimistická hodnota (maximum)
Za predpokladu, že chceme narábať s presnými číslami a nechceme si komplikovať optimalizáciu zavádzaním neistých údajov, môžeme odhadované časy spracovania úloh J1, J2, J3 a J4 určiť pomocou aritmetického priemeru. Teda pre prvú úlohu vypočítame čas spracovania ako , kde N je veľkosť súboru. Podobne počítame časy spracovania pre druhú, tretiu a štvrtú úlohu. Teda môžeme písať:
Najskôr skúsime priradiť úlohu J4 prvému stroju M1, (x=1), a získame nasledujúce zaťaženia strojov L1 = 7.33 + 8.07 = 15.40, L2 = 7.40 a L3 = 7.60. Teraz skúsime priradiť úlohu J4 druhému stroju M2, (x=2), pre toto rozhodnutie obdržíme nasledujúce zaťaženia strojov L1 = 7.33, L2 = 15.47 a L3 = 7.60. Poslednou možnosťou je priradiť štvrtú úlohu tretiemu stroju M3, (x=3), obdržíme nasledujúce zaťaženia strojov L1 = 7.33, L2 = 7.40 a L3 = 15.67. Pre prvú variantu, (x=1), je miera nerovnomernosti rovná hodnote f(1)dif(L1,L2,L3) = L1 – L2 = 15.40 – 7.40 = 8.0. Pre druhú variantu, (x=2), je miera nerovnomernosti rovná hodnote f(2)dif(L1,L2,L3) = L2 – L1 = 15.47 – 7.33 = 8.14. A pre tretiu variantu, (x=3), je miera nerovnomernosti rovná hodnote $latex f(3)dif(L1,L2,L3) = L3 – L1 = 15.67 – 7.33 = 8.34. V úvode sme povedali, že čím je miera nerovnomernosti menšia, tým sú zaťaženia strojov rovnomernejšie. Preto by sa tvorca rozvrhu rozhodol pre prvú variantu.
Je možné, že pri voľbe inej metódy odhadu časov spracovania by sme obdržali iný výsledok. Napríklad pri voľbe modusu ako metódy odhadu časov spracovania by sa tvorca rozvrhu rozhodol pre tretiu variantu. Výber metódy odhadu je dôležitou súčasťou optimalizačného problému. Tvorca rozvrhu môže mať napríklad za úlohu vypočítať optimistický rozvrh, čo najviac realistický rozvrh alebo pesimistický rozvrh.
Pri tvorbe optimistického rozvrhu môžu tvorcu rozvrhu zaujímať minimálne namerané hodnoty, z ktorých vytvorí odhad. Pri pesimistickom rozvrhu môže tvorcu rozvrhu zaujímať maximálna hodnota, ktorú obsahuje súbor nameraných časov spracovania. Takáto tvorba rozvrhov môže dopomôcť riadeniu sa napríklad finančne pripraviť na prichádzajúce obdobie. Pri tvorbe čo najviac realistického rozvrhu potrebujeme poznať čo najviac informácií. Jednou z možností je modelovať časy spracovania pomocou reálnych intervalov.
2. Intervalová aritmetika
Interval je definovaný [2] ako , kde aL, aR sú porade ľavý a pravý okraj intervalu A definovaného na reálnych číslach. Ak aL = aR = a, potom A = [a,a] je reálne číslo. Interval A môžeme alternatívne reprezentovať pomocou jeho stredu m(A) a polovicou jeho šírky (alebo jednoducho šírkou) w(A) ako A = <m(A),w(A)>, kde m(A) = (aL+aR)/2 a w(A) = (aR-aL)/2.
V literatúre sa na m(A) taktiež odkazujeme ako na priemernú hodnotu, centrálnu hodnotu alebo očakávanú hodnotu intervalu A (Ishibuchi & Tanaka 1990). Podobne alternatívami w(A) sú rozsah, miera neistoty, rozsah neistoty alebo jednoducho neistota intervalu A. Na ľavý okraj a pravý okraj intervalu A sa zvykne odkazovať ako na spodnú a hornú hranicu, minimálnu a maximálnu hodnotu alebo ako na infimum a suprémum. Okada & Gen 1994 použili názvy ako pesimistická a optimistická hodnota intervalu A. Dva intervaly A a B sa:
- Neprekrývajú (sú disjunktné), t.j. aR < bL, obrázok 2(a).
- Čiastočne prekrývajú, t.j. aL < bL ≤ aR < bR, obrázok 2(b).
- Úplne prekrývajúce, také že B ⊆ A, obrázky 2(c), 2(d) a 2(e).
(a) Neprekrývajúce sa intervaly
(b) Čiastočne sa prekrývajúce intervaly
(c) Úplne sa prekrývajúce intervaly m(A) < m(B)
(d) Úplne sa prekrývajúce intervaly m(A) = m(B)
(e) Úplne sa prekrývajúce intervaly m(A) > m(B)
Obr. 2: Obrázok zobrazuje 5 spôsobov ako sa môžu prekrývať intervalové čísla.
Príklad 2.1. (Pracovné časy modelované reálnymi intervalmi)
Použijeme rovnaký tréningový súbor ako v predchádzajúcom príklade, ale budeme predpokladať, že tvorcu rozvrhu nezaujímajú početnosti s akými sa jednotlivé časy spracovania úloh udiali2, ale že ho skôr zaujíma rozsah hodnôt, ktoré sa realizovali. Ani v tomto prípade si optimalizáciu nechce príliš komplikovať a preto predpokladá, že sa tieto realizácie časov spracovania realizujú rovnomerne. Na takéto modelovanie rozsahu hodnôt, pričom každá hodnota sa môže realizovať s rovnakou pravdepodobnosťou, sa hodia reálne intervaly. Aj v tomto prípade záleží na tvorcovi rozvrhu, akú metódu odhadu časov spracovania zvolí:
- min – max
- min – modus, modus – max
- min – medián, medián – max
My použijeme jednoduchý odhad min-max, kde ľavá hodnota času spracovania úlohy J1 je minimum z nameraných časov spracovania a pravá hodnota času spracovania úlohy J1 je maximum z nameraných časov spracovania, t.j. . Teda môžeme písať
Podobne ako v predchádzajúcom príklade je prvou variantou, (x=1), čo znamená, že úlohu J4 pridelíme prvému stroju. Získame tak zaťaženia strojov, ktoré sú porade rovné hodnotám L1 = [3,30], L2 = [2,14] a L3 = [3,13]. Druhou variantou je priradenie úlohy J4 stroju druhému, (x=2). Ne základe tohoto rozhodnutia vieme spočítať zaťaženia strojov, ktoré sú porade L1 = [1,15], L2 = [4,29] a L3 = [3,13]. Treťou variantou je, že priradíme úlohu J4 tretiemu stroju, (x=3), obdržíme tak nasledujúce zaťaženia strojov L1 = [1,15], L2 = [2,14] a L3 = [5,28]. Teraz nám treba spočítať mieru nerovnomernosti, ktorá je definovaná ako
Teda od väčšieho zaťaženia odčítame menšie zaťaženie. Ako vidíme, nie je úplne jednoznačné, či pre druhú variantu, (x=2), je zaťaženie na prvom stroji väčšie ako zaťaženie na stroji treťom. Táto neistota je spôsobená úplným prekrytím intervalov. V dnešnej dobe existuje niekoľko metód, ktoré nám majú pomôcť s touto problematikou, no o každej z nich treba vedieť, prečo práve zvolenú metódu chceme použiť a ako nám jej voľba ovplyvní výsledok. Náš príklad nie je nejako zložitý, a preto si vyberieme metódu porovnania podľa centrálnej hodnoty. Pre prvú variantu, (x=1), môžeme písať, m(L1) = 8, m(L2) = 16.5 a m(L3) = 8. Vidíme, že centrálna hodnota pre druhé zaťaženie L2 je väčšia ako centrálne hodnoty pre zaťaženia L1 a L3. Teda našli sme maximálne zaťaženie strojov. Teraz ešte potrebujeme nájsť minimálne zaťaženie strojov.
Keď porovnáme centrálne hodnoty zaťažení strojov L1 a L3, tak zistíme, že sú rovnaké. V takomto prípade môžeme porovnať šírky ich kumulovaných časov spracovania. Pre L1 a L3 môžeme písať, že w(L1) = 7 a w(L3) = 5. Tu tvorca rozvrhu narazí na ďalší problém. Podľa čoho sa tvorca rozvrhu rozhodne, ktorá z týchto dvoch hodnôt je pri minimalizácii viac preferovaná? Predpokladajme, že tvorca rozvrhu má za úlohu vytvoriť optimistický rozvrh, v ktorom sú preferované zaťaženia strojov s menšou šírkou. Preferovanie intervalu menšej šírky pri minimalizačnej optimalizácii znamená, že tvorca rozvrhu počíta s tým, že budúce realizácie časov spracovania úloh sa budú realizovať v okolí centrálnej hodnoty plánovaných časov spracovania. Pri takomto predpoklade tvorca rozvrhu zvolí za minimálne zaťaženie L3 a miera nerovnomernosti je rovná hodnote
Podobne pre prvú variantu, (x=1), môžeme písať, m(L1) = 16.5, m(L2) = 8 a m(L3) = 8 a w(L2) = 6, w(L3) = 5. V tomto prípade je zaťaženie na prvom stroji maximálne a minimálne na stroji treťom. Z tohoto dôvodu je miera nerovnomernosti pre prvú variantu rovná hodnote
Pre tretiu variantu, (x=3), môžeme písať, m(L1) = 8, m(L2) = 8 a m(L3) = 16.5 a w(L1) = 7, w(L2) = 6. Miera nerovnomernosti pre tretiu variantu je rovná hodnote
Teraz nám treba vybrať optimálnu variantu, čo znamená nájsť minimálnu mieru nerovnomernosti. Pre miery nerovnomernosti môžeme písať, že ich centrálne hodnoty sú rovné
Pre ich šírky platí
Aj v tomto prípade charakterizuje lepší rozvrh menšia šírka (ľavá aj pravá hodnota miery nerovnomernosti je bližšie k nule). Preto tvorca rozvrhu vyberie za optimálny druhý (tretí) variant.
Vidíme, že voľba maximálneho a minimálneho zaťaženia pri výpočte miery nerovnomernosti nie je úplne jednoznačná. Táto voľba je sprevádzaná neistotou. Dôvodmi tejto neistoty sú, že nepoznáme všetky kritéria optimalizácie rozhodovacieho problému. Napríklad, či považujeme pri minimalizačnej optimalizácii interval s menšou šírkou za viac preferovaný (menší – optimistický rozvrh) alebo či považujeme interval s väčšou šírkou za viac preferovaný (pesimistický rozvrh).
Ďalej si môžeme všimnúť, že sa zmenilo rozhodnutie tvorcu rozvrhu o výbere optimálneho variantu. V prvom príklade sa rozhodol tvorca rozvrhu pre výber prvej varianty. V tomto príklade sa ale tvorca rozvrhu rozhodol pre výber druhej alebo tretej varianty. Čo to znamená? V prvom príklade sme modelovali pracovné časy pomocou reálnych hodnôt, ktorých odhady sme robili pomocou aritmetického priemeru. V tomto príklade sme modelovali pracovné časy pomocou reálnych intervalov, ktorých odhad sme robili za pomocou min-max princípu a porovnávali sme ich pomocou centrálnej hodnoty a šírky.
Je teda zrejmé, že oba modely sú veľmi citlivé vzhľadom na výber typu modelovania časov spracovania, odhadov časov spracovania a ich porovnania. O tom ktorý rozvrh je optimálnejší rozhodne až skutočná realizácia časov spracovania. No ani pri nej nie je isté, či by rozvrh vypracovaný vzhľadom na takéto dopredu známe časy spracovania viedol na ich opätovnú realizáciu.
Okrem porovnania intervalov pomocou strednej hodnoty a šírky intervalu A, spomenieme ešte dve metódy porovnania. Prvou je metóda používajúca pravdepodobnostný prístup. Nakahara a kol. (1992) definovali pravdepodobnosť nerovnice P(A≤B) pre ľubovoľné dva intervaly A = [aL,aR] a B = [bL, bR] ako P(A≤B) = P(a≤b), kde a a b sú náhodné premenné rovnomerne rozložené na A a B a P(a ≤ b) je pravdepodobnosť, že a≤b. Nakahara a kol. (1992) študoval pravdepodobnosť, že A≤B pre šesť rôznych pozícií intervalov A a B na reálnej osi, a) aL≤aR≤bL≤bR, b) aL≤bL≤aR≤bR, c) aL≤bL≤bR≤aR, d) bL≤aL≤aR≤bR e) bL≤aL≤bR≤aR a f) bL≤bR≤aL≤aR a definoval pravdepodobnostnú hodnotu pre všetkých šesť prípadov vo všeobecnej forme ako
kde
Poznámka 1. (Nakaharovo pravdepodobnostné porovnanie intervalov)
Ak P(A≤B) = 0.5 potom A a B sú úplne sa prekrývajúce intervaly. Nevieme rozhodnúť, ktorý je väčší alebo menší. Tu nám pomôže porovnať intervaly A a B podľa šírky.
Inou metódou porovnania intervalov je index prijateľnosti (Sengupta a kol. 2009), ktorý definujeme: Nech I je množina všetkých intervalov definovaných na množine reálnych čísel . Index prijateľnosti definujeme ako
kde . môžeme interpretovať ako stupeň prijateľnosti, že prvý interval je inferiórny k druhému intervalu. Stupeň prijateľnosti môžeme klasifikovať a ďalej interpretovať na základe porovnania pozície stredu a šírky intervalu B s rešpektom na interval A ako