Új ütemezési eljárás kifejlesztése erőforrás menedzsment feladatokra
|
|
- Frigyes Fodor
- 8 évvel ezelőtt
- Látták:
Átírás
1 Új ütemezési eljárás kifejlesztése erőforrás menedzsment feladatokra Diplomaterv Készítette Horony Csaba Mérnök Informatikus MSc Témavezetők: Dr. Oláh András és Tornai Kálmán Pázmány Péter Katolikus Egyetem Információs Technológiai Kar 2012.
2 Alulírott Horony Csaba, a Pázmány Péter Katolikus Egyetem Információs Technológiai Karának hallgatója kijelentem, hogy ezt a Diplomatervet meg nem engedett segítség nélkül, saját magam készítettem, és a Diplomatervben csak a megadott forrásokat használtam fel. Minden olyan részt, melyet szó szerint, vagy azonos értelemben, de átfogalmazva más forrásból átvettem, egyértelműen a forrás megadásával megjelöltem. Ezt a Diplomatervet más szakon még nem nyújtottam be.
3 Tartalomjegyzék Tartalmi kivonat 1 Abstract 2 1 Bevezetés Áttekintés Pénzügyi-gazdasági erőforrások Kliens-szerver probléma Kommunikáció A dolgozat felépítése Ütemezési módszerek Knapsack probléma Részleges Knapsack probléma Integrál Knapsack probléma Többszörös választásos Knapsack probléma Többszörös Knapsack probléma Round-robin ütemezés P roportional fair ütemezés Maximális átviteli ütemezés Job Shop ütemezés Online algoritmus Johnson algoritmusa Total Tardiness Total Weighted Tardiness Earliest Due Date Weighted Shortest Processing Time Largest Weighted Process First Multihop Aperiodic Scheduling Rendszermodell A WSN modell Az ütemezés megfogalmazása i
4 Tartalomjegyzék 3.2 Kvadratikus eszköztár Az ütemezés QP transzformációja HNN paraméter becslés Smart Hopfield Neural Network Perturbed Smart Hopfield Neural Network Perturbáció heurisztika Konklúziók és fejlesztési lehetőségek 41 5 Összefoglalás 43 Köszönetnyilvánítás 44 Irodalomjegyzék 45 ii
5 Tartalmi kivonat Diplomatervemben ütemezési módszerekkel foglalkozom az erőforrás menedzsment témaköréhez kapcsolódóan. Ütemezések optimalizálása az egyik legkézenfekvőbb eszköz az erőforrások hatékony felhasználásához. Minden felhasználási területen szükséges jó ütemezési módszert választani, mint ahogy egy processzor ütemezésben, úgy a kommunikációban vagy gyártási folyamatban is. Általában a felmerülő feladványok megoldása NP-nehéz. Ezért az eljárásainkban különböző heurisztikákat alkalmazunk, melyek legjobban igazodnak a felmerülő problémához. Bemutatok több alapvető ütemezési módszert és ezek megoldására néhány eljárást. A módszerek megismerése segít betekintést nyerni a mögöttes feladványok közötti különbségekre, mint az elvégzendő feladatok és az azokat teljesítő eszközök közötti kapcsolatra, vagy a költségek természetére, azok megjelenésének okaira. A problémákhoz kialakított modellek közötti különbségek főként a különböző korlátozó tényezőkből származtathatóak. Részletezem a Multihop Aperiodic Scheduling (MAS) heurisztikus eljárást, mely egy vezetéknélküli szenzor hálózatban (WSN) történő ütemezési problémára ad polinom idejű megoldást. Ez az új Total Tardiness (TT) alapú ütemezési eljárás speciális tulajdonságai miatt átalakítható kvadratikus optimalizációs feladatra, amit Hopfield Neurális Hálózattal (HNN) oldunk meg. Ennek a módszernek ígéretes eredményei születtek eddig, amik nagy feladatszámú (job) ütemezési problémára is jobb eredményt adtak más alkalmazott eljárásokhoz képest. Ennek az eljárásnak a módosított smart HNN (shnn), valamit perturbed shnn (pshnn) változatait vizsgáltam, és a kapott szimulációs eredményeket mutatom be. 1
6 Abstract In my Diploma I m dealing with scheduling methods within the topic of resource management. The optimization of the schedulings is one of the most obvious tool towards effective resource utilization. In every area of application it is needed to choose the most fitting scheduling methods as in processor scheduling so in communication or in production processes. Generally the arising tasks are NP-hard. That s why in our algorithms we need to use different heuristics which fits the most for our problem. I present several basic scheduling problems and some algorithms solving them. Understanding these models helps us to gain insight into the differences of the underlying problems such as the connection between the jobs and the machines or the nature of the costs and the reasons of their appearance. The differences between the models created to fitting the problems can be derived from the different limiting factors. I specify the Multihop Aperiodic Scheduling (MAS) heuristic algorithm which gives a polynomial time solvable solution for a Wireless Sensor Network (WSN) scheduling problem. This novel Total Tardiness (TT) scheduling based algorithm can be transformed to quadratic optimization which is solved by a Hopfield Neural Network (HNN). So far this method has promising results even for scheduling tasks with large number of jobs it gave better results compared to other applied algorithms. I investigated its modified smart HNN (shnn) and perturbed shnn (pshnn) methods and I show the obtained results. 2
7 1 Bevezetés 1.1 Áttekintés Az Erőforrás menedzsment több tudományban is fontos szerepet tölt be, mivel szinte minden erőforrásunk szűkösen áll rendelkezésre egyáltalán fizikai mennyiségében, időben vagy költsége szempontjából. Ezeket az erőforrásokat úgy szeretnénk felhasználni, hogy minél több eredmény, termék, nagyobb hasznosság származzon belőle, vagy másik oldalról tekintve, ugyanazon eredmény eléréséhez minél kevesebbet kelljen felhasználni belőlük. Tehát könnyen tudjuk az erőforrásokat költségként kezelni, ami által egy matematikailag nagyon jó eszközhöz jutunk, mert az optimális erőforrás menedzsmentet, ami az erőforrások felhasználási módját jelenti, a haszon/hasznosság maximalizálásával vagy költségek minimalizálásával érhetjük el. A legfontosabb tervezési és modellalkotási kérdések ezek után az adott költségek és hasznosság valós meghatározását jelentik. A következő példákban bemutatom az erőforrás menedzsment több fontos alkalmazási területét Pénzügyi-gazdasági erőforrások Samuelson definíciója szerint: A közgazdaságtan azokat a szabályokat és törvényszerűségeket igyekszik megfogalmazni, amelyek alapján az egyének és közösségek döntenek a szűkösen rendelkezésre álló, többféle célra alkalmas erőforrások felhasználásáról. A közgazdaságtan a termelési döntések mellett tanulmányozza az elosztás és a fogyasztás során követett elveket is. Ebben a világban az erőforrások a következőkben foglalhatók össze természeti erőforrások, mint a nyersanyagok és termények, környezeti értékeink, humán erőforrások, mint a munkaerő, kreativitás vagy szaktudás és tőke. Ezek felhasználását pedig a szükségletek és a hasznosság határozzák meg a termelési lehetőségek határának tekintetében. Hasznosnak tekintünk közgazdasági értelemben minden olyan jószágot, amely képes a társadalom valamely tagjának szükségletét kielégíteni. Tehát itt célunk lehet a szükségletek olyan kielégítése, hogy az a lehető leghasznosabb legyen számunkra. A társadalomban, ezt a céloknak megfelelő gazdaságpolitikával lehet befolyásolni. Kisebb méretekben viszont rengeteg konkrét alkalmazási területet találhatunk, 3
8 1.1 Áttekintés például befektetések terén, ahol egy jobban jövedelmező befektetési portfólió a célunk, vagy gyártási kapacitások jobb kihasználása érdekében megfelelő ütemezés tervezése Kliens-szerver probléma Az informatikában széleskörűen ismert feladat, mely modellnek célja, hogy egy igény kielégítésére az erőforrásokat nyújtó szerver a szolgáltatás minőségi követelményeinek megfelelően szolgálja ki a szolgáltatást kérő klienseket. Ez történhet PCI buszon, egy közös elérésű memória vezérlőjében vagy bármely erre a célra kialakított hardver eszközön, vagy számítógépes hálózatokon, mint amilyen az internet. Ezen szolgáltatásokat végző alkalmazásoknak általában van egy harmadik eleme is, melyet alkalmazás szervernek hívnak. Ebben dől el, hogy a kliensek kiszolgálása milyen sorrendben mekkora kapacitással történjen. Ezen problémák elterjedtségüknél fogva rendkívüli figyelmet kaptak. Minden ilyen rendszerben a feladatok/kérések feldolgozásához ütemezési eljárásokat alkalmaznak, melyek gyakran figyelembe veszik a kérések prioritását, súlyozását, határidőket, feldolgozási időket, illetve alkalmazhatnak stabilizáló elemeket is, mint pl. lejárati időt, ami után egy feladatot eldobnak vagy nem szolgálnak ki Kommunikáció Vezeték nélküli kommunikáció során az adatátvitel hatékonyságát két eszköz között sok tényező befolyásolja. Ilyenek a távolság, sávszélesség, környezet, esetleges akadályok. Ezek áthidalásához, illetve ezekhez való alkalmazkodáshoz sok hardveres és szoftveres megoldás áll rendelkezésre, melyeket alkalmaznak is a telekommunikációs eszközökben. Olyan esetben, amikor sok eszköz kapcsolódik egymással, felmerülnek olyan újabb problémák is, hogy ezek a berendezések már zavarják egymást, így sok adatunk elveszhet vagy a adatátvitel több erőforrást vesz igénybe, illetve az átfolyó adatmennyiség is erősen lecsökkenhet. Ezek az erőforrások lehetnek közös hozzáférésűek, illetve elosztva minden felhasználónak saját forrásai is. Ezért szükség van olyan eljárásokra, amik optimalizálni tudják a sok eszköz közötti kommunikációt, képesek megfelelő módon szabályozni, illetve ütemezni a túlnyomó részben szűkös erőforrásokat. Az ütemezés egy optimalizációs eljárás bizonyos erőforrások megfelelő allokálása több felhasználó vagy fogyasztó között, adott megszorítások mellett biztosítva a szolgáltatáshoz tartozó QoS követelményeket [24]. Egy döntési folyamatot jelent, melynek a vezeték nélküli vagy vezetékes kommunikáció mellett sok a fentebb említett területeken kívül más ipari, műszaki és szervezési alkalmazása is van. Feladata a meglévő erőforrások lehető legjobb felhasználásának elérése adott feladatok elvégzésé során, vagy legalább lehető 4
9 1.2 A dolgozat felépítése legjobb közelítése az optimálisnak az adott cél(ok) tekintetében, amik lehetnek felhasználási, illetve eredmény oldaliak is. A feladatok itt is különböző súlyúak, prioritásúak lehetnek, de persze más egyéb tényezők is befolyásolhatják a kapott eredményt, mivel az erőforrásainkhoz való hozzáférés módja is különbözhet. A vezeték nélküli hálózatokban, de általában véve más kommunikációs közegben is hasonlóan többféle erőforrással kell gazdálkodnunk, melyek mind kifejezhetők költségben, ahogy a rendelkezésre álló technológia és eszközök is. Vezeték nélküli erőforrás menedzsment témában alapvetően a következő négy erőforrással foglalkozunk [13]: i) sávszélesség, ii) adóteljesítmény, iii) antenna, iv) cellák-közötti erőforrás megosztás. A kommunikáció során, ha több adatot küldünk, mint amennyit fogadni képes a fogadó fél, vagy amit nem képes átengedni a közvetítő közeg, akkor azon adatok egy része el fog veszni. Viszont szeretnénk a lehető legtöbb adatott átvinni a legkevesebb erőforrás felhasználásával. A dolgozatban szeretném bemutatni azokat az ütemezési módszereket és problémákat, amelyek alkalmazhatók vezeték nélküli kommunikációban. Célom, hogy egy olyan rendszer kommunikációjára találjak megfelelő ütemezési megoldást, ami egy központi, és több alárendelt eszközből áll, mint például sok elszórt mérőállomás, amik adatokat küldenek a központi eszköznek, akár más közbeeső eszközön keresztül úgy, hogy a rendszer a lehető legkisebb legyen az energiafelhasználása. 1.2 A dolgozat felépítése Az Ütemezési módszerek fejezetben részletesebben foglalkozom ütemezési módszerekkel. Több módszert is bemutatok, főleg kommunikációs vagy feladat kiszolgálási szempontból, de természetesen ezek technológia független problémák. Tehát könnyen adaptálhatóak más területekre is, mint ahogy fenntebb már említettem, pénzügyi, processzor ütemezési, gyártási, logisztikai problémákra is. Egyes esetekben pedig ismert és széleskörűen használt megoldási algoritmusokat is részletezek. Egy WSN kommunikációs problémát és egy azt megoldani szándékozó új ütemezési eljárást mutatok be a Multihop Aperiodic Scheduling fejezetben, mely Hopfield Neurális Hálózatot használ az optimális ütemezés megközelítéséhez. Az ütemezési feladat, Multihop Aperiodic Scheduling (MAS), melyet a [23] cikkben részleteznek, egy egyre gyakrabban felmerülő kihívásra kíván megoldást találni, azaz hogyan tudnunk minél hatékonyabban adatokat gyűjteni egy nagyszámú szenzorhálózat csomópontjaiból. Az ilyen és ehhez hasonló hálózatok elengedhetetlenül szükségesek, amennyiben intelligens otthon vagy egy egészségügyi monitorozó rendszereket akarunk megvalósítani. A leírt ütemezési eljárást implementáltam MatLAB környezetben, és ebben szimulációkat végeztem, összehasonlítva más ütemezési algoritmusokkal. A Konklúziók és fejlesztési lehetőségek fejezetben pedig ennek eredményeit ismertetem. 5
10 2 Ütemezési módszerek Az ütemezés (scheduling) egy döntéshozó folyamat, amit rendszeresen alkalmaznak az ipari és szolgáltató szektorokban [18]. Az ütemezés során döntést kell hozni, hogyan rendeljük optimálisan a rendelkezésre álló erőforrásainkat az elvégzendő feladatokhoz, figyelembe véve egy vagy több célkitűzést. Ezen célok mögött mindig valamilyen szűkös erőforrás lehető legjobb kihasználása vagy minimális felhasználása áll. Az erőforrások sokfélék lehetnek: gépek, eszközök, infrastruktúra, természeti erőforrás, az infokommunikációban pedig a már a bevezetésben említett négy lényeges erőforrás: sávszélesség, adóteljesítmény, antenna és a cellák-közötti erőforrás megosztás. A feladatok igényei pedig az erőforrásokhoz kapcsolódóan a kapacitás kiosztása vagy hozzárendelése, melyek lehetnek: idő, hely, energia, munkafolyamat, számítási teljesítmény vagy frekvencia ablak. Az erőforrások és feladatok természeténél fogva különbözőképpen kell modellezünk a megoldandó problémákat. Sok elterjedt és bevált módszert alkalmazhatunk. Ezek technológia függetlenül megállják a helyüket, melyeket megfelelőség alapján választhatunk és használhatunk fel a konkrét esetekben. Ezt az ütemezési módszer kiválasztást úgy hozzuk meg, hogy figyelembe vesszük, milyen szempontok alapján szeretnénk kielégíteni a feladatok/felhasználók igényeit, hogy azzal valóban azt az optimális felhasználást tudjunk elérni vagy ésszerűen megközelíthessünk azt, ami megfelel kitűzött céljainknak. A megfelelő modell kiválasztása után különböző heurisztikák és algoritmusok állnak rendelkezésre, melyek nagyon körültekintő vizsgálatot igényelnek ahhoz, hogy a legjobb teljesítményt nyújtót alkalmazzuk az ütemezés megvalósításához. A következőekben bemutatok néhány kombinatorikai optimalizációs problémát és megoldási heurisztikákat egyes esetekben. 2.1 Knapsack probléma Ez az egyik első megfogalmazott módszer, ami talán a leggyakrabban van szükség a mindennapokban. Az elnevezés eredete a következőre probléma: egy hátizsákba szeretnénk bepakolni úgy, hogy minél nagyobb értéket tudjunk magunkkal vinni. Az elrakandó tárgyaknak van súlyuk (vagy méretük) és értékük, de a hátizsák miatt van egy súlykorlátunk is, amit nem szabad a zsák tartalmának meghaladnia. A kérdés tehát az, hogy hogyan tudjuk kiválogatni a legértékesebb tárgyakat? Alkalmazása akkor merül fel, amikor ki akarunk választani egy optimális korlátos súlyú 6
11 2.1 Knapsack probléma részhalmazt egy n elemű halmazból, mely elemek mind rendelkeznek w i súlyokkal, illetve p i profittal/értékkel, ahol (1 i n) és a súlyok összege nem léphet túl egy maximális pozitív W értéket. Formálisan a következőképpen fogalmazhatjuk meg: Példa: Feladat: Adottak a n, p 1,..., p n, w 1,..., w n, és W nemnegatív egészek Találjuk meg az S {1,..., n}halmazt, hogy a p j j S összeg legyen maximális úgy, hogy teljesül a w j W j S feltétel. A Knapsack problémák komplexitása NP-teljes. Ezért ezt és az ehhez hasonló problémákat NP-nehéznek nevezzük, bár a Knapsack probléma ezek között a legkönnyebb [11] Részleges Knapsack probléma A részleges Knapsack problémát egy kis módosítással kapjuk a fentiekből, azonos példára alkalmazva: Feladat: Találjuk meg az x 1,..., x n [0, 1]számokat, hogy a n x i p i (2.1) i=1 összeg maximális úgy, hogy teljesül a feltétel. n x i w i W i=1 Ennek a problémának egy optimális megoldását Dantzig [4] adta meg, melyhez megfelelően kell rendezni az elemeket. 1. Tétel: Legyenek n, p 1,..., p n, w 1,..., w n, és W nemnegatív egészek a és n w i W i=1 p 1 w 1 p 2 w 2... p n w n 7
12 2.1 Knapsack probléma feltételek mellett, ekkor legyen k := j min j {1,...,n} i=1 w i > W. (2.2) Akkor a részeges Knapsack probléma adott példájának egy optimális megoldása a következőképpen definiálható: x j := 1, ha j = 1,..., k 1 x j := W k 1 j=1 w j w k, ha j = k x j := 0, ha j = k + 1,..., n Ezzel az egyszerű algoritmussal a probléma megoldható O (n log n) időben. Ha kiválasztjuk a két megvalósítható megoldás a {1,..., k 1} és {k} közül a jobbikat, akkor az egy kéttényezős közelítési algoritmust jelent a Knapsack problémára O (n) időben. Továbbiakban használjuk a súlyozott medián keresést: Példa: Feladat: n természetes szám, z 1,..., z n R, w 1,..., w n R +, és W szám 0 W j S p j megszorítással. Találjuk meg azt az S {1,..., n} részhalmazt, amire a p j j S kifejezés maximális a w j W j S megszorítás mellett. A z i = p i w i, i = 1,..., n helyettesítés alkalmazásával a súlyozott medián probléma a ( 2.1) részleges Knapsack problémára egyszerűsödik, és ebben az esetben helyesen működik O (n) időben, szóval lineáris időben megoldható Integrál Knapsack probléma Mint fentebb említettem, a probléma NP-nehéz, de mivel nem erősen NP-nehéz, ezért van esélyünk arra, hogy egy pszeudo-polinomiális algoritmust találjunk [11]. Az 1. Tétel alapján, a k i=1 p i egy felső korlát az Integrál Knapsack probléma optimális értékére. Egyszerű rekurzív formulákra épülő dinamikus programozással kaphatunk egy algoritmust, ami megtalálja az optimális megoldást O (np ) időben, ahol P = n i=1 p i, de ez 8
13 2.1 Knapsack probléma nem polinomiális korlát a bemenet méretében. A Knapsack problémának van egy teljesen polinomiális közelítési megoldása. Ahhoz, hogy csökkentsük a dinamikus programozású Knapsack algoritmus futási idejét, kézenfekvő ötlet a p 1,..., p n számok elosztása h tényezővel: p i := p i h, ( de ez ) pontatlan megoldásokhoz vezethet. Ennek a közelítő eljárásnak a futási ideje O n 2 1 ɛ -on belüli Többszörös választásos Knapsack probléma Sok egyéb variációja van még a Knapsack problémának a részleges(korlátos), integrál és teljesen polinomiális közelítő megoldáson kívül is. A többszörös választásos módszer egy olyan feladatot határoz meg, ahol az elemek az N j, j = 1,..., m halmaz osztályokba tartoznak, és pontosan egy elemet kell kiválasztani minden egyes osztályból. Példa: Feladat: Adottak az n, m, p 11,..., p mn, w 11,..., w mn, és W nemnegatív egészek Találjuk meg azt az S {N 1,..., N m } részhalmazt amire következő arg max S m p ji x ji j=1 i N j kifejezés értéke maximális úgy, hogy az alábbi feltételek teljesülnek: m j=1 i N j w ji x ji W (2.3) és x ji = 1, (2.4) i N j ahol x ji = {0, 1}, j = 1,... m-re. Ebben a problémában tehát fel kell tudni osztani a feladatokat olyan csoportokra, hogy azok értéke maximális legyen Többszörös Knapsack probléma A többszörös Knapsack annyiban különbözik, az előzőleg leírttól, hogy az elemosztályokhoz külön-külön más korlát tartozhat a súlyozott feltételhez. Formálisan ez a következőt jelenti: Példa: Adottak az n, m, p 11,..., p mn, w 11,..., w mn, és W 1,..., W m nemnegatív egészek 9
14 2.2 Round-robin ütemezés Feladat: Találjuk meg azt az S {N 1,..., N m } részhalmazt amire következő arg max S m p ij x ij i=1 j N i kifejezés értéke maximális úgy, hogy az alábbi feltételek teljesülnek: n w ji x ji W j (2.5) i=1 és m x ji = 1 j=1 minden j = 1,..., m-re, ahol x ji = {0, 1}, i = 1,..., n-re. Mint láthatjuk a fenti feltételek közül az első biztosítja, hogy egy adott j osztályba tartozó elemek súlyozott értéke kisebb legyen, mint az adott osztályra vonatkozó W j korlát. A második feltétel pedig, hasonlóan a ( 2.4) feltételhez biztosítja, hogy egy feladat csak egy eszközhöz legyen hozzárendelve. Vegyük észre, hogy W i1 = W i2, i 1, i 2 = 1,..., n esetén a W = n i=1 W i korlát alkalmazásával a többszörös választásos Knapsack problémát kapjuk, és így a ( 2.3) feltétel analóg lesz az ( 2.5) feltétellel. 2.2 Round-robin ütemezés A Round-robin (RR) kifejezés eredete egy módszer, amit régebben egy dokumentum vagy petíció aláírásánál alkalmaztak. Ahhoz, hogy ne lehessen felismerni, ki volt az első aláírója vagy vezetője a petíciónak, a neveiket hierarchia nélkül egy körön írták alá, mint ahogy egy kerek asztalnál ülő emberek közül sincs senki aki az asztalfőnél ülne. Ehhez hasonlóan az alap RR ütemező minden aktív felhasználó, fogyasztó számára egyenlő mértékben, prioritás mentesen ad hozzáférést az erőforrásokhoz, más szóval ciklikus ütemező. Egyenlő időszeleteket ad, megnézi minden felhasználó igényeit, és annak megfelelő erőforrással látja el, amennyiben a feladat teljesítése nem nyúlik túl a kapott időablakon, ellenkező esetben megszakítja a hozzáférést. Ez az egyik legegyszerűbben megvalósítható ütemező, minimális a számítási kapacitással. Hátránya, hogy nem tesz különbséget a különböző felhasználók különböző Quality of Service (QoS) feltételei, és a különböző átviteli igények között. Tehát megtörténhet, hogy egy adott felhasználó szám felett csak bizonyos szolgáltatások teljesíthetőek. Az optimalizálás célja a kommunikációban a maximális adatátvitel elérése. A probléma formális megfogalmazása: Példa: Adottak az J = {J 1,..., J n } feladatok, M = {M 1,..., M m } eszközök és az X halmaz, mely az összes feladatoknak az eszközökhöz való hozzárendelése úgy, hogy minden feladatot csak egyszer végzünk el az eszközökön. 10
15 2.2 Round-robin ütemezés Feladat: Találjuk meg azt az x X = n m, x ij = {0, 1}, i {1,..., n}, j {1,..., m} hozzárendelést, amire az arg max y ij n m y ij ρ ij (2.6) i=1 j=1 érték a legnagyobb, ha y = x, ahol y X, és ρ ij 0 az adatátviteli mennyiség és a és n m x ij m (2.7) i=1 j=1 m m x ij = x i2 j (2.8) j=1 j=1 feltételek teljesülnek. A ( 2.7) feltétel biztosítja, hogy hogy ne szolgáljunk ki több feladatot, mint ahány eszköz van, vagy vezetéknélküli kommunikáció esetében: adót egy csatornához. ne allokáljunk egynél több A ( 2.8) feltétel pedig azt hivatott biztosítani, hogy a feladatok/felhasználók egyenlő mértékben legyenek kiszolgálva. Kommunikáció megvalósítása során a ρ ij értékek az átviteli teljesítmény és a csatorna minőségének függvénye. Tehát a ρ ij = ρ (r ij, γ ij ), ahol a r ij az átviteli teljesítmény és γ ij a csatorna minősége M j vivő J i felhasználóhoz való hozzárendelése esetén. Ebben az esetben a kibővített probléma a következő módon fogalmazható meg, az átvitel maximalizálásának függvényében: arg max y ij n m y ij ρ (r ij, γ ij ) (2.9) i=1 j=1 és ekkor szükség van még két feltételre: n m r ij r Tx i=1 j=1 valamint m m r ij = r i2 j, j=1 j=1 ahol r Tx érték az összes átviteli teljesítmény összegét jelöli. Láthatjuk, hogy a ( 2.9) módosított függvény a ( 2.6) célfüggvénytől csak a kibővített paraméterezésben különbözik, viszont a feltételek már az átviteli teljesítmény szemszögéből jelentenek korlátozást, de az eredeti feladattal analóg módon, az összteljesítményre, illetve a teljesítmény egyenlő 11
16 2.3 P roportional fair ütemezés elosztására szorítanak P roportional fair ütemezés A proportional fair (PF) ütemezésnek a megfogalmazása sokban hasonlít az előbbi RR ütemezéséhez. A PF ütemezés célja az, hogy a felhasználók között úgy ossza el az erőforrásokat, hogy egy fair felosztást kíván megvalósítani az elérhető erőforrásokból, mint a teljesítmény és csatorna hozzáférés. Például, ha van két felhasználónk, és az egyik nagyon közel van, a másik pedig távolabb, akkor a távolabbi felhasználó számára sokkal nagyobb energiát használ fel, ezért a felhasználók egyenlő energia mennyiséget kapnak. Ez a felosztás nem feltétlen fair olyan szempontból, hogy a távolabbi, nagyobb energia igényű felhasználók számára kevesebb energia jut, mint amennyire szüksége volna. A Round-robin ütemezőhöz hasonlóan a PF optimalizációs probléma megfogalmazható az adatátvitel összegének maximalizációjával: Példa: M = {M 1,..., M n } vivők, J = {J 1,..., J k } felhasználók, és az X halmaz, mely az összes felhasználónak a vivőkhöz való hozzárendelése úgy, hogy minden felhasználót csak egy vivőhöz rendeljük hozzá. Feladat: Találjuk meg azt az x X = n m, x ij = {0, 1}, i {1,..., n}, j {1,..., m} hozzárendelést, amire a arg max y ij n m y ij ρ (r ij, γ ij ) i=1 j=1 maximális értékű y = x, és ahol az alábbi feltételeknek kell teljesülnie: n m i=1 j=1 r ij r Tx és valamint és m m r ij = r i2 j, (2.10) j=1 j=1 n m x ij m i=1 j=1 m j=1 x ij ρ (r ij, γ ij ) > r min i, J i J re. (2.11) 12
17 2.4 Maximális átviteli ütemezés feltételeknek, ahol az ri min a J i felhasználó vagy szolgáltatás minimálisan megkövetelt adatátviteli sebessége. A ( 2.10) összefüggéssel egyenlő mértékű hozzáférést biztosítunk az energiából a felhasználóknak, viszont a ( 2.11) alapján biztosítani kell a minimális adatátviteli sebességet a felhasználók számára, így a nagy energiaigényű kommunikáció számára is biztosítanunk kell egy minimális adatátvitelt. Tehát a PF ütemező megvalósít valamilyen fair hozzáférést az erőforrásokhoz, de figyelembe veszi a csatorna kapacitást is, de ezzel még éheztetheti a távol lévő felhasználót, illetve számos felhasználó számára ronthatja a felhasználói élményt. 2.4 Maximális átviteli ütemezés A maximális átviteli (Maximal throughput) ütemezésnek is az a célja, hogy a lehető legnagyobb adat folyjon át a rendszeren, de itt nem a felhasználók felől közelítjük meg a problémát, hanem a rendelkezésre álló erőforrás tekintetében. Tehát úgy akarjuk azt felosztani, hogy a lehető legnagyobb adatforgalmat generáljuk az ütemezés által. Azok a felhasználók előnyben részesülnek, akiknek jobb minőségű az adatátvitelük, és így azonos energiafelhasználással több adatot tudnak küldeni, ez által bizonyos szempontból ellentéte a RR ütemezésnek. Formálisan megfogalmazva: Példa: M = {M 1,..., M m } vivők, J = {J 1,..., J n } felhasználók, és az X halmaz, mely az összes felhasználónak a vivőkhöz való hozzárendelése úgy, hogy minden felhasználót csak egy vivőhöz rendeljük hozzá. Feladat: Találjuk meg azt az x X = n m, x ij = {0, 1},i {1,..., n}, j {1,..., m} hozzárendelést, amire a arg max p ij n m y ij ρ (p ij, γ ij ) (2.12) i=1 j=1 maximális értékű y = x, és ahol teljesülnek az alábbi feltételek: n m p ij p Tx i=1 j=1 és n m x ij n i=1 j=1 m j=1 x ij ρ (p ij, γ ij ) > p min i, J i J re. A fenti feltételekkel az ütemező biztosítja a minimális adatátvitelt a felhasználók számára 13
18 2.5 Job Shop ütemezés az ri min alapján, és ezen felül pedig a maximális adatmennyiség elérése érdekében biztosít a felhasználóknak hozzáférést az erőforrásokhoz. A PF ütemezéshez hasonlóan a távolabb lévő vagy rosszabb átviteli minőségű csatornával rendelkező felhasználók nem kapnak feltétlen megfelelő hozzáférést. 2.5 Job Shop ütemezés A Job Shop ütemezés (JSS) egy nehezen megoldható optimalizációs feladat, ahol bizonyos időn belül adott eszköznek el kell végeznie szintén adott mennyiségű feladat műveleteit a lehető leghamarabb vagy legkisebb költséggel, ami számos féle lehet, akár az eszközökkel kapcsolatos is, mivel költségfüggvény határozza meg a egy adott feladat költségét az ütemezésben, nagy szabadsággal lehet meghatározni költségeket befolyásoló körülményeket, eseteket. Minden feladat több műveletből állhat, amiket adott eszközökön tudunk elvégezni. A műveleteket a megadott sorrendben kell elvégezni. Ezeknek költsége vagy ideje van, ezért nem mindegy, hogy a milyen sorrendben rendeljük a feladatok műveleteit az eszközökhöz. Ezen kívül minden egyes eszköz egyszerre csak egy műveletet képes elvégezni, és minden egyes feladat egyszerre csak egy eszközön végezhető. A teljes ütemezésnek akkor van vége, ha minden feladat minden műveletével végeztünk. Tehát azt az ütemezést keressük, amit a legrövidebb idő alatt tudunk elvégezni. A probléma formális leírása: Példa: Adottak az M = {M 1,..., M m } eszközök, J = {J 1,..., J n } feladatok és az O = {O ik i = 1,..., n, k = 1,..., µ i } halmaz, mely a feladatok eszközökön elvégzendő műveletei, ahol µ i a J i feladat műveleteinek száma. K ik -val indexelhetjük az O ik műveletet az eszközökhöz. Legyen µ = max i µ i és t ik a J i feladat O ik műveletének műveletideje az M j eszközön, ahol j = K ik. Az ütemezések halmaza X tartalmazza az összes lehetséges ütemezést, ami a feladatok műveleteinek az eszközökön végzett sorozata. Feladat: Találjuk meg azt az x X ütemezést, amire a C (x)idő-költség függvény a legkisebb. Más szóval, találjuk meg a feladatok műveleteinek egy olyan x hozzárendelését az eszközökhöz, hogy a C (x) idő-költség függvény minimális legyen, tehát nem létezik olyan, y X hozzárendelés, ami rövidebb ideig tart, azaz C (y) < C (x). Könnyen adhatunk két egyszerű alsó becslést az optimális ütemezés idő-költség függvényének értékére. Az egyik, hogy az összes feladat elvégzése nem tarthat kevesebb ideig, mint a leghosszabb feladat elvégzése, azaz a teljes ütemezés legalább olyan hosszú ideig tart C (x) T J = max J i t ik k ez a korlát a maximális feladat hossza. A másik korlát abból következik, hogy az eszkö- 14
19 2.5 Job Shop ütemezés zöknek minden műveletet el kell végezniük, tehát C (x) T M = max M j K ik =j t ik, ez korlát a maximális eszköz terhelés. A JSS egy speciális esete a jól ismert utazó ügynök probléma (traveling salesman problem - TSP), ahol m = 1 az egyedüli eszköz az ügynök, és a feladatok a városoknak felelnek meg, amiket az ügynöknek meg kell látogatnia úgy, hogy minél hamarabb végezzen vele, vagy minél rövidebb út során tegye meg. Tehát ebben az esetben a megteendő út hossza vagy az idő jelenti a költséget Online algoritmus A JSS az egyik legismertebb probléma, amit online algoritmussal megoldhatunk. Az algoritmusnak döntenie kell az éppen számba vett feladatról, mielőtt a következős vizsgálná. Tehát a feladatokat sorban értékeli ki, és rendeli hozzá az eszközökhöz, nem ismerve a még következő feladatokat, tehát nincs is szüksége jövőbeli információhoz a döntéshez. Ennek ellentéte az offline algoritmus, ami során már az elején ismerjük az összes feladatot, és úgy kapjuk meg a kimenetet Mivel nem ismerünk minden bemenetet, az online algoritmus olyan kimenetet is adhat, ami utólag az összes feladatra vetítve nem optimális. Formálisan az online algoritmus az x kérések sorozatát kapja: x = x (1),..., x (k) X, mely műveleteket a felmerülés pillanatában kell kiosztani. A x (t) kiszolgálásakor, nem ismerjük azokat a x (τ) műveleteket, amikre τ > t. A műveletek kiszolgálása idő-költséghez kötött, és ennek az összköltségnek a minimalizálása a célunk. Az Alg online algoritmus hatékonyságát az az úgynevezett kompetitív analízissel vizsgáljuk, amiben az Opt optimális offline algoritmuséhoz hasonlíthatjuk a teljesítményét, ami az egész bemenet ismeretében hozza meg az optimális döntést. Jelöljék az Alg (x) és Opt (x)értékek az adott x = x (1),..., x (k) bemeneti sorozatra az Alg és Opt algoritmusok eredményeként kapott idő-költségét értékét. Azt mondjuk, hogy az online algoritmus c competitív, ha létezik olyan b, amire igaz, hogy Alg (x) c Opt (x) + b minden x sorozatra. A b konstansnak függetlennek kell lennie az x bemenettől. A kompetitív analízis egy erős mérték a legrosszabb teljesítményére esetére. 15
20 2.6 Total Tardiness Johnson algoritmusa Ez az S.M. Johnson által leírt heurisztikus algoritmus [10], mely alkalmas egy két eszközből és n feladatból álló probléma optimális megoldására, így jól alkalmazható bizonyos Job shop ütemezés megvalósítására is. Algoritmus leírása: Adottak az M 1 és M 2 eszközök, J 1,..., J n J feladatok. Minden J i feladatnak van két, t i1 és t i2 hosszúságú művelete van, melyeket M 1, M 2 eszközökön kell elvégezni. 1. lépés: Készítsünk három listát, A = {1,..., N} az összes művelet listája, L 1 = {} és L 2 = {} listák, melyek kezdetben üresek. 2. lépés: keressük meg a minimális t idejű műveletet, ha a minimum ideje t k1 -be tartozik, akkor tegyük a K műveletet az L 1 = {}-be, ha t k2 -be tartozik, akkor tegyük az L 2 = {}-be. 3. lépés: Ismételjük a 2. lépést, amíg A nem üres. 4. lépés: Fűzzük össze L 1 -et és L 2 -t, ez lesz az optimális sorozat. Az algoritmus csak két eszközre ad optimális megoldást, de mivel nagyon egyszerű és gyors, ezért alkalmazzák több eszközre is, ahol ezért m > 2. Ilyenkor az eszközök M = {M 1,..., M m } halmazát két képzeletbeli csoportba osztjuk, és úgy hajtjuk végre az algoritmust, majd a csoportokat tovább osztjuk, és így alkalmazzuk a 2-3. lépéseket, amíg nem rendeltük a műveleteket egyenként az őket végrehajtó eszközökhöz, ezek után következik a 4. lépés. Végül pedig megkapjuk a kívánt eredményt, tehát az algoritmus akár több eszközre is képes optimális megoldást nyújtani. 2.6 Total Tardiness A Total Tardiness (TT) ütemezésben n feladatot kell rendezni, ahol minden J i, i = 1,..., n feladatnak van p i feldolgozási ideje, illetve d i esedékességi időpontja. Adott σ ütemezési sorrend, amiben a J i feladat befejezési időpontja F i és T i a késedelmessége (tardiness). Amennyiben egy ütemezésben F i > d i, akkor a feladat késedelmes és késedelmessége pozitív, egyébként 0. Az optimális ütemezés elérése érdekében ezen értékek minden J i feladatra vonatkozó összegének minimalizálására törekszünk. A továbbiakban bemutatom a problémának az egy, illetve több azonos eszközre való megfogalmazását. 1. Egy eszközön megvalósított TT ütemezés formális leírása a következőképpen adható meg: Példa: Adott a J = {J 1,..., J n } feladatok halmaza. Minden J i feladathoz tartozik egy T i (σ) érték mely az alábbi módon számítható: T i (σ) = max 0, i p j d i, j=1 16
21 2.6 Total Tardiness ahol d i a J i feladathoz tartozó esedékességi időpont, a p j, j = 1,..., i értékek pedig az alkalmazott ütemezési sorrendben a J i -t megelőző feladatok feldolgozási ideje. (A T i (σ) érték az adott σ ütemezéstől függő költség, a J i feladat késedelmessége a σ ütemezésben.) Feladat: Találjuk meg azt a σ = (1,..., n) ütemezési sorrendet, amivel minimalizáljuk a teljes ütemezésre vonatkozó T (σ) késedelmességet. Tehát a következő kifejezés értéke legyen minimális: ( n ) T (σ) = min T i (σ) i=1 (2.13) másképpen: ( n ) T (σ) = min max (0, F i (σ) d i ), i=1 ahol F i (σ) a J i feladat befejezési ideje adott σ ütemezésben. Vagy minimalizáljuk az átlagos késedelmességet, ami ( 2.13)-ből adódik: ( ni=1 ) T i (σ) T (σ) = min. n 2. Párhuzamos, több azonos eszközön való feldolgozásnál, a feladatok nincsenek eszközhöz kötve. Ebben az esetben a J i feladatokat az M = {M 1,..., M m } eszközhalmaz bármelyikéhez lehet rendelni. Ebben az esetben már két dolog felől is kell dönteni, egyik, hogy melyik eszközhöz rendelünk egy adott feladatot, illetve az adott eszközön milyen sorrendben ütemezzük a hozzárendelt feladatokat. Ebből eredő nehézsége miatt a parallel feldolgozású ütemezés rengeteg vizsgálat tárgya mind a mai napig. A probléma a következő módon fogalmazható meg: Példa: Adottak az M = {M 1,..., M m } gépek/eszközök és a J = {J 1,..., J n } feladatok halmaza. Minden J i feladathoz tartozik egy T i (σ) ütemezés függő érték, mely az alábbi módon számítható: T i (σ) = max (0, F i (σ) d i ), ahol d i a J i feladathoz tartozó esedékességi időpont, a F i (σ) értékek pedig az adott ütemezési sorrendben a J i feladat befejezési ideje. Az M k M eszközhöz tartozó feladatok késedelmessége: Γ k (σ) = T i (σ) i, J i M k (σ) Feladat: Keressük azt a Σ = (σ 1,..., σ m ) ütemezést, ahol σ k, k = (1,..., m) az M k 17
22 2.7 Total Weighted Tardiness eszközhöz tartozó feladatok ütemezési sorrendjét jelöli, és amire az ütemezés késedelmessége minimális lesz, azaz: ( m ) T (Σ) = min Γ k (Σ). k=1 Láthatjuk, hogy azzal, hogy választhatunk a rendelkezésre álló eszközök közül, jóval komplexebb feladatot kapunk, hiszen a teljes problémára vonatkozó Σ ütemezés az eszközökhöz tartozó σ k részütemezésekből áll össze, amikben szereplő feladatok nem kötöttek, átkerülhetnek más eszközhöz is. A problémára [5] bebizonyította, hogy már m = 1 gép/eszköz számra NP-nehéz, azaz nem oldható meg polinom időben, következésképpen m > 1 esetben is az. Ezért szükségesek a megoldásukhoz megfelelő heurisztikát alkalmazni, amikre több megoldás is született [12], optimális megoldást először [2] adott. 2.7 Total Weighted Tardiness A TT ütemezéshez képest, a Total Weighted Tardiness (TWT) ütemezés esetén a feladatok súlyozottak, azaz minden J i feladathoz létezik egy w i 1 súly. Ez annyiban módosítja a problémát, hogy a késedelmesség súlyozva van, így pl. két feladat késedelmessége nem azonos súlyú költséget jelent. A súlyok értéke lehet egész vagy valós szám is, ez függ a felmerülő probléma jellegétől, vagy a rendelkezésre álló megoldási módszerektől. Általában a súlyok meghatározása nehéz és időigényes, és ez alapjaiban határozza meg a kapott megoldás hatékonyságát [20]. A súlyok időnként arányosak lehetnek a feladatok feldolgozási idejével, hiszen azok jól reprezentálhatják azok értékét [1][21]. Abban az esetben, amikor minden feladatokhoz egységsúlyokat rendelünk, kapjuk a TT ütemezést. Ilyen szempontból a TWT a TT egy speciális esetének tekinthető. Ennek a két problémának a vizsgálata nagyon szorosan összefonódott az elmúlt évtizedekben [19]. Tehát a TWT a TT ütemezéssel analóg módon, súlyok alkalmazásával a következőképpen fogalmazható meg: 1. Egy eszközön való feldolgozás esetén: Példa: Adott a J = {J 1,..., J n } feladatok halmaza, és a hozzájuk tartozó {w 1,..., w n } súlyok. Minden J i feladathoz számítható egy T i (σ) érték az alábbi módon: i T i (σ) = max 0, w i p j d i, j=1 ahol d i a J i feladathoz tartozó esedékességi időpont, a p j, j = 1,..., i értékek pedig az alkalmazott ütemezési sorrendben a J i -t megelőző feladatok feldolgozási ideje. (A T i (σ) érték az adott σ ütemezéstől függő költség, a J i feladat késedelmessége a σ ütemezésben.) 18
23 2.7 Total Weighted Tardiness Feladat: Találjuk meg azt a σ = (1,..., n) ütemezési sorrendet, amivel minimalizáljuk a teljes ütemezésre vonatkozó T (σ) késedelmességet. Tehát a következő kifejezés értéke legyen minimális: ( n ) T (σ) = min T i (σ) i=1 (2.14) másképpen: ( n ) T (σ) = min max (0, w i (F i (σ) d i )), i=1 ahol F i (σ) a J i feladat befejezési ideje adott σ ütemezésben. Vagy minimalizáljuk az átlagos súlyozott késedelmességet: ( ni=1 ) T i (σ) T (σ) = min. n 2. Párhuzamos feldolgozással, azonos eszközökre szintén a TT-vel analóg módon a következő probléma fogalmazható meg: Példa: Adottak az M = {M 1,..., M m } gépek/eszközök és a J = {J 1,..., J n } feladatok halmaza a hozzájuk tartozó {w 1,..., w n } súlyokkal. A J i feladat késedelmessége a σ ütemezési sorrend esetén: T i (σ) = max (0, w i (F i (σ) d i )), ahol d i a J i feladathoz tartozó esedékességi időpont, a F i (σ) pedig az adott ütemezési sorrendben a J i feladat befejezési ideje. Az M k M eszközhöz tartozó feladatok késedelmessége minden k = (1,..., m) esetén: Γ k (σ) = T i (σ) i, J i M k (σ) Feladat: Keressük azt a Σ = (σ 1,..., σ m ) ütemezést, ahol σ k, k = (1,..., m) az M k eszközhöz tartozó feladatok ütemezési sorrendjét jelöli, és amire az ütemezés késedelmessége minimális lesz, azaz: ( m ) T (Σ) = min Γ k (Σ). k= Earliest Due Date Az Earliest Due Date (EDD) heurisztika a feladatokat az esedékességi idejük alapján rendezi sorba csökkenő sorrendben a legkorábbitól kezdve a legkésőbbi határidő- 19
24 2.7 Total Weighted Tardiness vel rendelkezővel bezárólag. Formálisan annyit jelent, hogy a J i feladatok σ ütemezési sorrendjének teljesítenie kell a következő egyenlőtlenséget: d 1 d 2... d n 1 d n. A feladatokat végrehajtása tehát ez szerinte történik. Parallel eszközökön az első m feladatot végezzük, majd amint egy befejeződik az egyik eszközön, akkor az m + 1-ik feladatot végezzük azon, és így tovább. Ez a módszer optimális eredményt ad egy eszközön megvalósított TT ütemezésre. De TWT ütemezés során, mivel nem veszi figyelembe a feladatok súlyozását, nem biztosít minden esetben optimális megoldást Weighted Shortest Processing Time A Weighted Shortest Processing Time (WSPT) a széleskörűen használt és ismert Shortest Processing Time (SPT) [14] ütemezési heurisztika módosított változata. Az SPT heurisztika optimális megoldást ad egy gépen való ütemezésen, ha a cél az átlagos folyamat idő minimalizálása, olyan rendszerekben, amikben az új feladatok nem ismertek előre, hanem folyamatosan érkeznek. Az SPT a fentebb bemutatott EDD -vel analóg módon a következő rendezést valósítja meg az adott σ ütemezésben a J i feladatok között: p 1 p 2... p n 1 p n. (2.15) WSPT-ben ( 2.15)-hez képest a feladatokhoz tartozó w i súlyokkal korrigálva kialakított sorrend alapján történik az ütemezés: p 1 w 1 p 2 w 2... p n 1 w n 1 p n w n. (2.16) Tehát a súlyozás figyelembevételével úgy módosul a sorrend, hogy a nagyobb súlyú feladatok, amik akár tovább tartanak, mégis megelőzhetik a kisebb súllyal rendelkezőket Largest Weighted Process First Az Largest Weighted Process First (LWPF) heurisztika azonos a [6] cikkben bemutatottal. A feladatokat a hozzájuk rendelt súlyok alapján rendezi sorba úgy, hogy először a legnagyobb súlyú feladatokat végezzük el. Tehát a sorbarendezésnek az alábbi egyenlőtlenségnek kell megfelelnie a σ ütemezés feladataira: w 1 w 2... w n 1 w n. Így egy olyan ütemezést kapunk, ami egyszerűen csak a feladatok súlya alapján a legfontosabbakat veszi előre, de nem veszi figyelembe a feladatok határidejét. Ezzel látszólag 20
25 2.7 Total Weighted Tardiness nem veszi figyelembe a késedelmességet, de a szimulációk alapján jó eredményeket ad. Az ütemezés a Maximum Weight Opportunistic Scheduling heurisztikával megegyező elven működik, mely algoritmus bizonyítottan optimális áteresztőképesség szempontjából [16], emellett elfogadott és jelentős módszer is, mert képes stabilizálni a hálózatot [22]. 21
26 3 Multihop Aperiodic Scheduling Ebben a fejezetben bemutatok egy létező kommunikáció modellt [23], melynek kiindulópontja egy WSN hálózat, amiben csomag továbbítási igények merülnek fel. A hálózat csomópontjaiban lévő eszközök generálhatnak és továbbküldhetnek hozzájuk beérkező csomagokat, melyeknek bizonyos időn meg kell érkezniük a gyűjtő eszközhöz. TDMA ütemezésre épül, kihasználja a Contention Based Protocol (CBP) előnyeit, ami így versenyképes ütemezési módszert ad. Célja, hogy a jelenleg széles körben alkalmazásban lévő MAC protokollokkal szemben úgy érjen el energia hatékony működést az adatcsomagok továbbítása során, hogy a késleltetés a lehető legkisebb legyen. Ezt úgy éri el, hogy optimalizálja az alapul szolgáló TDMA ütemezést az által, hogy minimalizálja a hálózat csomópontjainak/eszközeinek készenléti állapotba vagy ébrenlétbe való kapcsolásának számát. Az ütemezést optimalizálását kvadratikus alakra hozzák, melyet aztán egy Hopfield hálózattal oldanak meg polinom időben, és így valósítják meg az energia hatékony ütemezést. 3.1 Rendszermodell Mivel WSN hálózatról van szó, amiben több tucat vagy akár száz eszközből is állhat a teljes hálózat, az adatokat, amik lehetnek szenzor értékek vagy üzenetek, el kell juttatnia a bázisállomás(ok)hoz. Az eszközöknek van egy hierarchiája, amely alapján fogad adatokat bizonyos eszközöktől, illetve küldi az adatokat a saját szülője felé. Ahhoz, hogy az eszközök minél tovább működőképesek maradjanak, ki kell egyenlíteni az átmenő adatforgalmat közöttük, így ez a hierarchia megadott szempontok alapján módosulhat is a működés során, figyelembe véve az eszközök állapotát A WSN modell A hálózatnak N statikus csomópontból/eszközből áll, melyek képesek küldeni és fogadni is adatcsomagokat, és vannak olyan eszközök, amelyek más szenzor eszközök által küldött adatot is továbbítanak. Ez a hálózat egy G = (V, E) gráffal reprezentálható, ahol V = {v 1, v 2,..., v N, } az eszközök halmaza, az E pedig az élek halmaza. Két v i, v j V csomópont között csak akkor van e = (v i, v j ) E él, ha v j csomópont a v i átviteli tartományán belül található, azaz amennyiben a v i által küldött csomagok elérnek hozzá. 22
27 3.1 Rendszermodell A G gráfhoz definiáltak egy A N N szomszédossági mátrixot: A = [A ij ] i,j=1,...,n, ahol A ij = 1, ha e = (v i, v j ) E. Ebből következik, hogy minden eszköz hatótávolsága azonos, és nincsenek veszteséges kapcsolatok, illetve a szomszédosság miatt az A mátrix szimmetrikus. Egy ilyen hálózatra mutat példát a 3.1. ábra. Ezen látható, hogy mindazon, számmal jelölt eszközök össze vannak kötve egymással, amik elérhető távolságra vannak. Például a 8-as r környezetében vannak a 3, 7, 9 és 10 számmal jelzett eszközök. Az A szomszédsági mátrixban ennek megfelelően helyezkednek el az 1-esek: A = (3.1) ábra. Egy WSN hálózat tagjainak szomszédossága 23
28 3.1 Rendszermodell Az adatfolyam modellezéséhez az A mátrix alapján definiálhatunk egy R irányítási fát, ami leírja, hogy az adatcsomagoknak, mely eszközökön keresztül kell eljutniuk a bázisállomásig, amennyiben nincsenek vele közvetlen szomszédságban az A mátrix alapján. A fa az elosztott Bellmann-Ford algoritmus által épül fel. A statikus irányítási fa reprezentálható az R N N irányítási mátrixszal: R = [R ij ] i,j=1,...,n, (3.2) ahol R ij = 1, ha a v j csomópont a szülője a v i eszköznek (azaz, a v i a v j felé továbbítja az adatcsomagokat). A 3.2. ábra mutat példát az irányítási fa felépülésére. Hasonlóan a ( 3.1) mátrixhoz kaphatjuk meg a ( 3.2) elemeit ábra. Az eszközök hierarchiája Vezeték nélküli kommunikáció lévén el kell kerülni a csomagütközéseket illetve az interferenciát. Kétféle interferenciát különböztethetünk meg. Elsődleges interferenciának nevezzük, ha egy adott eszköz akkor küld csomagot, amikor egy másik eszköztől egyidejűleg fogadnia kéne. A másodlagos interferenciának azt mondjuk, ha egy másik, parallel kommunikáció zavarja a csomagküldést, ilyen esetben egy másik küldő és fogadó fél között ugyanabban az időben jön létre adatátvitel, mely a fizikai közelsége miatt zavarja a kommunikációt. Az itt bemutatott megközelítésben, a szerzők igyekeznek elkerülni az interferencia mindkét típusát a [7] cikkben bemutatott protokoll interferencia modellel. Ebben minden v i eszköznek fix d átviteli távolsága és D interferencia hatóköre van, az egyszerűség kedvéért, legyen d = D. következő interferencia mátrixot: A szomszédossági mátrix alapján definiálták a ( ) F = A 2 + A diag A 2 + A. (3.3) 24
29 3.1 Rendszermodell Ez abból következik, hogy a kapcsolatok a következő módon vannak definiálva: F = [F ij ] i,j=1,...,n, ahol F ij = 1, ha a v j eszköz nem küldhet a v i eszközzel párhuzamosan. A 3.3. ábrán láthatjuk, hogy példánkban ez milyen párhuzamos kommunikációkat jelent. A ( 3.3) mátrixból látható, hogy az F mátrix átlója 0, mely azt reprezentálja, hogy egy csomópont nem zavarhatja saját magát, illetve a mátrix szimmetrikus, ami a szomszédossági mátrix szimmetrikusságából következik ábra. Párhuzamosan engedélyezett kommunikációk Az ütemezés megfogalmazása A MAS ütemezés TT alapú, de a 2.6. fejezetben bemutatott nem-preeptív modellhez képest itt preemptív ütemezést valósítunk meg. Tehát a feladatok hosszabbak lehetnek mint az ütemezési ciklusok, és ezért megszakíthatóak is [3], viszont egyszerre csak egy gépen lehet dolgozni egy feladaton. Értelmezhető úgy is, hogy egy adott feladat p feldolgozási ideje egy egész szám, és értéke megegyezik az elvégzéséhez szükséges ütemezési ciklusokkal. Ennek eredményeképpen egy feladaton egymás után több gép is dolgozhat. Ennek a problémának a megfogalmazása a következő: Példa: Adott m N darab eszköz és J 1,..., J N feladat és ezen feladatok p = {p 1,..., p n } N n 25
30 3.1 Rendszermodell mérete/feldolgozási ideje. Preemptív ütemezés lévén a feladatok megszabadítóak, és más eszközökhöz is allokálhatóak. A feladatokhoz tartoznak d = {d 1,..., d N } N n esedékességi időpontok, amin belül a feladatokat el kell végezni, illetve w = {w 1,..., w n } R n súlyok, amikre a w i 0, i = 1,..., n feltétel teljesül. Ezen felül a feladatokhoz definiáljuk a késedelmességi értéket, mely egy adott σ ütemezés függvénye: T i (σ) = max (0, F i (σ) d i ), ahol az F i (σ) pedig az adott ütemezési sorrendben a J i feladat befejezési ideje. Feladat: Találjuk meg azt az optimális ütemezést, amiben a feladatok összesített késedelmessége minimális lesz: N min T i (σ) (3.4) i=1 Ahhoz, hogy ebben a TT problémában alkalmazható legyen a fenntebb vázolt WSN modell, az ütemezést más módon kell ábrázolnunk. Egy C bináris mátrix reprezentálja az ütemezést: C {0, 1} N L, ahol: N a sorok száma, megegyezik a feladatok számával, L az oszlopok pedig az időréseket/ütemezési ciklusokat reprezentálja, így ez jelöli az időrések számát. Az ütemezésnek ezen belül kell lezajlania. A feladatok adott ütemezési ciklusban való feldolgozását az ütemezési mátrixban lévő 1-esek jelzik, tehát C jk = 1, ha a v j eszköz csomagot küld a fogadó félnek a k időpontban, egyébként 0. Az egy oszlopban lévő 1-esek száma nem lehet nagyobb m-nél, mivel legfeljebb ennyi eszköz küldhet csomagot, illetve az i-ik sorban lévő 1-esek számának meg kell egyeznie p i -vel, azaz nem maradhat befejezetlen feladat. Ebben a reprezentációban a ( 3.4) probléma az alábbi módon fejezhető ki: 26
Az optimális megoldást adó algoritmusok
Az optimális megoldást adó algoritmusok shop ütemezés esetén Ebben a fejezetben olyan modellekkel foglalkozunk, amelyekben a munkák több műveletből állnak. Speciálisan shop ütemezési problémákat vizsgálunk.
RészletesebbenMiskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék
Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék 2016/17 2. félév 5. Előadás Dr. Kulcsár Gyula egyetemi docens Tartalom 1. Párhuzamosan
RészletesebbenApproximációs algoritmusok
Approximációs algoritmusok Nehéz (pl. NP teljes) problémák optimális megoldásának meghatározására nem tudunk (garantáltan) polinom idejű algoritmust adni. Lehetőségek: -exponenciális futási idejű algoritmus
RészletesebbenAdatszerkezetek 2. Dr. Iványi Péter
Adatszerkezetek 2. Dr. Iványi Péter 1 Fák Fákat akkor használunk, ha az adatok között valamilyen alá- és fölérendeltség van. Pl. könyvtárszerkezet gyökér (root) Nincsennek hurkok!!! 2 Bináris fák Azokat
RészletesebbenÁltalános algoritmustervezési módszerek
Általános algoritmustervezési módszerek Ebben a részben arra mutatunk példát, hogy miként használhatóak olyan általános algoritmustervezési módszerek mint a dinamikus programozás és a korlátozás és szétválasztás
Részletesebben1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok. HálózatokII, 2007
Hálózatok II 2007 1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok 1 Az előadáshoz Előadás: Szerda 17:00 18:30 Gyakorlat: nincs Vizsga írásbeli Honlap: http://people.inf.elte.hu/lukovszki/courses/g/07nwii
RészletesebbenSzámítógépes Hálózatok. 4. gyakorlat
Számítógépes Hálózatok 4. gyakorlat Feladat 0 Számolja ki a CRC kontrollösszeget az 11011011001101000111 üzenetre, ha a generátor polinom x 4 +x 3 +x+1! Mi lesz a 4 bites kontrollösszeg? A fenti üzenet
RészletesebbenAlgoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás
Algoritmusok Tervezése 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás Mi az algoritmus? Lépések sorozata egy feladat elvégzéséhez (legáltalánosabban) Informálisan algoritmusnak nevezünk bármilyen jól definiált
RészletesebbenÜtemezési feladatok. Az ütemezési feladatok vizsgálata az 50-es évek elején kezdődött, majd
1 Ütemezési feladatok Az ütemezési feladatok vizsgálata az 50-es évek elején kezdődött, majd tekintettel a feladat gyakorlati fontosságára sok különböző modell tanulmányozására került sor, és a témakör
RészletesebbenProgramozási módszertan. Mohó algoritmusok
PM-08 p. 1/17 Programozási módszertan Mohó algoritmusok Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu PM-08 p. 2/17 Bevezetés Dinamikus programozás
RészletesebbenSzámítógép hálózatok, osztott rendszerek 2009
Számítógép hálózatok, osztott rendszerek 2009 1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok 1 Az előadáshoz Előadás: Hétfő 10:00 12:00 óra Gyakorlat: Hétfő 14:00-16:00 óra Honlap: http://people.inf.elte.hu/lukovszki/courses/0910nwmsc
RészletesebbenSzámítógépes Hálózatok. 5. gyakorlat
Számítógépes Hálózatok 5. gyakorlat Feladat 0 Számolja ki a CRC kontrollösszeget az 11011011001101000111 üzenetre, ha a generátor polinom x 4 +x 3 +x+1! Mi lesz a 4 bites kontrollösszeg? A fenti üzenet
RészletesebbenDöntéselőkészítés. VII. előadás. Döntéselőkészítés. Egyszerű Kőnig-feladat (házasság feladat)
VII. előadás Legyenek adottak Egyszerű Kőnig-feladat (házasság feladat) I, I 2,, I i,, I m személyek és a J, J 2,, J j,, J n munkák. Azt, hogy melyik személy melyik munkához ért ( melyik munkára van kvalifikálva)
RészletesebbenGráfszínezési problémák és ütemezési alkalmazásaik
Gráfszínezési problémák és ütemezési alkalmazásaik Marx Dániel Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi és Információelméleti tanszék dmarx@cs.bme.hu Neumann János Doktoranduszi
RészletesebbenMiskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék
Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék 06/7. félév 7. Előadás Dr. Kulcsár Gyula egyetemi docens Tartalom. A projektütemezés alapjai..
RészletesebbenÜtemezési modellek. Az ütemezési problémák osztályozása
Ütemezési modellek Az ütemezési problémák osztályozása Az ütemezési problémákban adott m darab gép és n számú munka, amelyeket az 1,..., n számokkal fogunk sorszámozni. A feladat az, hogy ütemezzük az
Részletesebben11. Előadás. 11. előadás Bevezetés a lineáris programozásba
11. Előadás Gondolkodnivalók Sajátérték, Kvadratikus alak 1. Gondolkodnivaló Adjuk meg, hogy az alábbi A mátrixnak mely α értékekre lesz sajátértéke a 5. Ezen α-ák esetén határozzuk meg a 5 sajátértékhez
RészletesebbenÜtemezési problémák. Kis Tamás 1. ELTE Problémamegoldó Szeminárium, ősz 1 MTA SZTAKI. valamint ELTE, Operációkutatási Tanszék
Ütemezési problémák Kis Tamás 1 1 MTA SZTAKI valamint ELTE, Operációkutatási Tanszék ELTE Problémamegoldó Szeminárium, 2012. ősz Kivonat Alapfogalmak Mit is értünk ütemezésen? Gépütemezés 1 L max 1 rm
RészletesebbenOnline algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30.
Online algoritmusok Algoritmusok és bonyolultságuk Horváth Bálint 2018. március 30. Horváth Bálint Online algoritmusok 2018. március 30. 1 / 28 Motiváció Gyakran el fordul, hogy a bemenetet csak részenként
Részletesebben22. GRÁFOK ÁBRÁZOLÁSA
22. GRÁFOK ÁBRÁZOLÁSA A megoldandó feladatok, problémák modellezése során sokszor gráfokat alkalmazunk. A gráf fogalmát a matematikából ismertnek vehetjük. A modellezés során a gráfok több változata is
RészletesebbenSzámítógépes döntéstámogatás. Genetikus algoritmusok
BLSZM-10 p. 1/18 Számítógépes döntéstámogatás Genetikus algoritmusok Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu BLSZM-10 p. 2/18 Bevezetés 1950-60-as
RészletesebbenFüggvények növekedési korlátainak jellemzése
17 Függvények növekedési korlátainak jellemzése A jellemzés jól bevált eszközei az Ω, O, Θ, o és ω jelölések. Mivel az igények általában nemnegatívak, ezért az alábbi meghatározásokban mindenütt feltesszük,
RészletesebbenA technológiai berendezés (M) bemenő (BT) és kimenő (KT) munkahelyi tárolói
9., ELŐADÁS LOGISZTIKA A TERMELÉSIRÁNYÍTÁSBAN Hagyományos termelésirányítási módszerek A termelésirányítás feladata az egyes gyártási műveletek sorrendjének és eszközökhöz történő hozzárendelésének meghatározása.
Részletesebben2. Visszalépéses keresés
2. Visszalépéses keresés Visszalépéses keresés A visszalépéses keresés egy olyan KR, amely globális munkaterülete: egy út a startcsúcsból az aktuális csúcsba (az útról leágazó még ki nem próbált élekkel
RészletesebbenKereső algoritmusok a diszkrét optimalizálás problémájához
Kereső algoritmusok a diszkrét optimalizálás problémájához A. Grama, A. Gupta, G. Karypis és V. Kumar: Introduction to Parallel Computing, Addison Wesley, 2003. könyv anyaga alapján A kereső eljárások
RészletesebbenKorlátozás és szétválasztás elve. ADAGOLO adattípus
Korlátozás és szétválasztás elve ADAGOLO adattípus Értékhalmaz: E Adagolo : A E Műveletek: A : Adagolo, x : E {Igaz} Letesit(A) {A = /0} {A = A} Megszuntet(A) {Igaz} {A = A} Uresit(A) {A = /0} {A = A}
RészletesebbenSzámítógépes Hálózatok 2010
Számítógépes Hálózatok 2010 5. Adatkapcsolati réteg MAC, Statikus multiplexálás, (slotted) Aloha, CSMA 1 Mediumhozzáférés (Medium Access Control -- MAC) alréteg az adatkapcsolati rétegben Statikus multiplexálás
RészletesebbenVállalati modellek. Előadásvázlat. dr. Kovács László
Vállalati modellek Előadásvázlat dr. Kovács László Vállalati modell fogalom értelmezés Strukturált szervezet gazdasági tevékenység elvégzésére, nyereség optimalizálási céllal Jellemzői: gazdasági egység
RészletesebbenAlgoritmuselmélet 18. előadás
Algoritmuselmélet 18. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Május 7. ALGORITMUSELMÉLET 18. ELŐADÁS 1 Közelítő algoritmusok
RészletesebbenSapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 4. kurzus. 3. Előadás: A mohó algoritmus
Csíkszereda IRT-. kurzus 3. Előadás: A mohó algoritmus 1 Csíkszereda IRT. kurzus Bevezetés Az eddig tanult algoritmus tipúsok nem alkalmazhatók: A valós problémák nem tiszta klasszikus problémák A problémák
RészletesebbenAlgoritmusok bonyolultsága
Algoritmusok bonyolultsága 5. előadás http://www.ms.sapientia.ro/~kasa/komplex.htm 1 / 27 Gazdaságos faváz Kruskal-algoritmus Joseph Kruskal (1928 2010) Legyen V = {v 1, v 2,..., v n }, E = {e 1, e 2,...,
RészletesebbenSzámítógép és programozás 2
Számítógép és programozás 2 6. Előadás Problémaosztályok http://digitus.itk.ppke.hu/~flugi/ Emlékeztető A specifikáció egy előfeltételből és utófeltételből álló leírása a feladatnak Léteznek olyan feladatok,
RészletesebbenAlgoritmusok bonyolultsága
Algoritmusok bonyolultsága 9. előadás http://www.ms.sapientia.ro/~kasa/komplex.htm 1 / 18 Közelítő algoritmusok ládapakolás (bin packing) Adott n tárgy (s i tömeggel) és végtelen sok 1 kapacitású láda
RészletesebbenNem teljesen kitöltött páros összehasonlítás mátrixok sajátérték optimalizálása Newton-módszerrel p. 1/29. Ábele-Nagy Kristóf BCE, ELTE
Nem teljesen kitöltött páros összehasonlítás mátrixok sajátérték optimalizálása Newton-módszerrel Ábele-Nagy Kristóf BCE, ELTE Bozóki Sándor BCE, MTA SZTAKI 2010. november 4. Nem teljesen kitöltött páros
RészletesebbenÚj módszerek és eszközök infokommunikációs hálózatok forgalmának vizsgálatához
I. előadás, 2014. április 30. Új módszerek és eszközök infokommunikációs hálózatok forgalmának vizsgálatához Dr. Orosz Péter ATMA kutatócsoport A kutatócsoport ATMA (Advanced Traffic Monitoring and Analysis)
RészletesebbenKiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése
Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése Dr. Kallós Gábor 2014 2015 1 Az Ordó jelölés Azt mondjuk, hogy az f(n) függvény eleme az Ordó(g(n)) halmaznak, ha van olyan c konstans (c
RészletesebbenOnline migrációs ütemezési modellek
Online migrációs ütemezési modellek Az online migrációs modellekben a régebben ütemezett munkák is átütemezhetőek valamilyen korlátozott mértékben az új munka ütemezése mellett. Ez csökkentheti a versenyképességi
RészletesebbenJAVASLAT A TOP-K ELEMCSERÉK KERESÉSÉRE NAGY ONLINE KÖZÖSSÉGEKBEN
JAVASLAT A TOP-K ELEMCSERÉK KERESÉSÉRE NAGY ONLINE KÖZÖSSÉGEKBEN Supporting Top-k item exchange recommendations in large online communities Barabás Gábor Nagy Dávid Nemes Tamás Probléma Cserekereskedelem
RészletesebbenMegkülönböztetett kiszolgáló routerek az
Megkülönböztetett kiszolgáló routerek az Interneten Megkülönböztetett kiszolgálás A kiszolgáló architektúrák minősége az Interneten: Integrált kiszolgálás (IntServ) Megkülönböztetett kiszolgálás (DiffServ)
RészletesebbenHálózatok. Alapismeretek. A hálózatok célja, építőelemei, alapfogalmak
Hálózatok Alapismeretek A hálózatok célja, építőelemei, alapfogalmak A hálózatok célja A korai időkben terminálokat akartak használni a szabad gépidők lekötésére, erre jó lehetőség volt a megbízható és
RészletesebbenHálózati réteg. WSN topológia. Útvonalválasztás.
Hálózati réteg WSN topológia. Útvonalválasztás. Tartalom Hálózati réteg WSN topológia Útvonalválasztás 2015. tavasz Szenzorhálózatok és alkalmazásaik (VITMMA09) - Okos város villamosmérnöki MSc mellékspecializáció,
RészletesebbenKereső algoritmusok a diszkrét optimalizálás problémájához
Kereső algoritmusok a diszkrét optimalizálás problémájához A. Grama, A. Gupta, G. Karypis és V. Kumar: Introduction to Parallel Computing, Addison Wesley, 2003. könyv anyaga alapján A kereső eljárások
Részletesebbenút hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám.
1 Az utazó ügynök problémája Utazó ügynök feladat Adott n számú város és a városokat összekötő utak, amelyeknek ismert a hossza. Adott továbbá egy ügynök, akinek adott városból kiindulva, minden várost
RészletesebbenAmortizációs költségelemzés
Amortizációs költségelemzés Amennyiben műveleteknek egy M 1,...,M m sorozatának a futási idejét akarjuk meghatározni, akkor egy lehetőség, hogy külön-külön minden egyes művelet futási idejét kifejezzük
RészletesebbenFlynn féle osztályozás Single Isntruction Multiple Instruction Single Data SISD SIMD Multiple Data MISD MIMD
M5-. A lineáris algebra párhuzamos algoritmusai. Ismertesse a párhuzamos gépi architektúrák Flynn-féle osztályozását. A párhuzamos lineáris algebrai algoritmusok között mi a BLAS csomag célja, melyek annak
RészletesebbenKIEGÉSZÍTŽ FELADATOK. Készlet Bud. Kap. Pápa Sopr. Veszp. Kecsk. 310 4 6 8 10 5 Pécs 260 6 4 5 6 3 Szomb. 280 9 5 4 3 5 Igény 220 200 80 180 160
KIEGÉSZÍTŽ FELADATOK (Szállítási probléma) Árut kell elszállítani három telephelyr l (Kecskemét, Pécs, Szombathely) öt területi raktárba, melyek Budapesten, Kaposváron, Pápán, Sopronban és Veszprémben
RészletesebbenA számítógép-hálózat egy olyan speciális rendszer, amely a számítógépek egymás közötti kommunikációját biztosítja.
A számítógép-hálózat egy olyan speciális rendszer, amely a számítógépek egymás közötti kommunikációját biztosítja. A hálózat kettő vagy több egymással összekapcsolt számítógép, amelyek között adatforgalom
RészletesebbenA 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória
Oktatási Hivatal A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató INFORMATIKA II. (programozás) kategória Kérjük a tisztelt tanár kollégákat, hogy a
RészletesebbenSzámítógépes Hálózatok. 7. gyakorlat
Számítógépes Hálózatok 7. gyakorlat Gyakorlat tematika Hibajelző kód: CRC számítás Órai / házi feladat Számítógépes Hálózatok Gyakorlat 7. 2 CRC hibajelző kód emlékeztető Forrás: Dr. Lukovszki Tamás fóliái
RészletesebbenAlgoritmizálás, adatmodellezés tanítása 8. előadás
Algoritmizálás, adatmodellezés tanítása 8. előadás Elágazás és korlátozás A backtrack alkalmas-e optimális megoldás keresésére? Van költség, és a legkisebb költségű megoldást szeretnénk előállítani. Van
RészletesebbenTovábbi programozási esetek Hiperbolikus, kvadratikus, integer, bináris, többcélú programozás
További programozási esetek Hiperbolikus, kvadratikus, integer, bináris, többcélú programozás Készítette: Dr. Ábrahám István Hiperbolikus programozás Gazdasági problémák optimalizálásakor gyakori, hogy
Részletesebben1. Előadás Lineáris programozás
1. Előadás Lineáris programozás Salamon Júlia Előadás II. éves gazdaság informatikus hallgatók számára Operációkutatás Az operációkutatás az alkalmazott matematika az az ága, ami bizonyos folyamatok és
RészletesebbenTovábbi forgalomirányítási és szervezési játékok. 1. Nematomi forgalomirányítási játék
További forgalomirányítási és szervezési játékok 1. Nematomi forgalomirányítási játék A forgalomirányítási játékban adott egy hálózat, ami egy irányított G = (V, E) gráf. A gráfban megengedjük, hogy két
RészletesebbenA Markowitz modell: kvadratikus programozás
A Markowitz modell: kvadratikus programozás Harry Markowitz 1990-ben kapott Közgazdasági Nobel díjat a portfolió optimalizálási modelljéért. Ld. http://en.wikipedia.org/wiki/harry_markowitz Ennek a legegyszer
RészletesebbenOperációs rendszerek II. Folyamatok ütemezése
Folyamatok ütemezése Folyamatok modellezése az operációs rendszerekben Folyamatok állapotai alap állapotok futásra kész fut és várakozik felfüggesztett állapotok, jelentőségük Állapotátmeneti diagram Állapotátmenetek
RészletesebbenHagyományos termelésirányítási módszerek:
Hagyományos termelésirányítási módszerek: - A termelésirányítás határozza meg, hogy az adott termék egyes technológiai műveletei - melyik gépeken vagy gépcsoportokon készüljenek el, - mikor kezdődjenek
RészletesebbenAdott: VPN topológia tervezés. Költségmodell: fix szakaszköltség VPN végpontok
Hálózatok tervezése VITMM215 Maliosz Markosz 2012 12.10..10.27 27. Adott: VPN topológia tervezés fizikai hálózat topológiája Költségmodell: fix szakaszköltség VPN végpontok 2 VPN topológia tervezés VPN
RészletesebbenEGYÜTTMŰKÖDŐ ÉS VERSENGŐ ERŐFORRÁSOK SZERVEZÉSÉT TÁMOGATÓ ÁGENS RENDSZER KIDOLGOZÁSA
infokommunikációs technológiák EGYÜTTMŰKÖDŐ ÉS VERSENGŐ ERŐFORRÁSOK SZERVEZÉSÉT TÁMOGATÓ ÁGENS RENDSZER KIDOLGOZÁSA Témavezető: Tarczali Tünde Témavezetői beszámoló 2015. január 7. TÉMAKÖR Felhő technológián
RészletesebbenSzimuláció RICHARD M. KARP és AVI WIGDERSON. (Készítette: Domoszlai László)
Szimuláció RICHARD M. KARP és AVI WIGDERSON A Fast Parallel Algorithm for the Maximal Independent Set Problem című cikke alapján (Készítette: Domoszlai László) 1. Bevezetés A következőkben megadott algoritmus
RészletesebbenMohó algoritmusok. Példa:
Mohó algoritmusok Optimalizálási probléma megoldására szolgáló algoritmus sokszor olyan lépések sorozatából áll, ahol minden lépésben adott halmazból választhatunk. Ezt gyakran dinamikus programozás alapján
RészletesebbenRegresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.
Regresszió Csorba János Nagyméretű adathalmazok kezelése 2010. március 31. A feladat X magyarázó attribútumok halmaza Y magyarázandó attribútumok) Kérdés: f : X -> Y a kapcsolat pár tanítópontban ismert
RészletesebbenAdatszerkezetek II. 1. előadás
Adatszerkezetek II. 1. előadás Gráfok A gráf fogalma: Gráf(P,E): P pontok (csúcsok) és E P P élek halmaza Fogalmak: Irányított gráf : (p 1,p 2 ) E-ből nem következik, hogy (p 2,p 1 ) E Irányítatlan gráf
RészletesebbenRőczei Gábor Szeged, Networkshop
Az ARC új generációs bróker rendszere 2009.04.16. 04 Rőczei Gábor Szeged, Networkshop 2009 roczei@niif.hu Rövid összefoglaló Nemzeti Információs Infrastruktúra Fejlesztési Intézet KnowARC projekt Mi is
RészletesebbenA lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2018/
Operációkutatás I. 2018/2019-2. Szegedi Tudományegyetem Informatika Intézet Számítógépes Optimalizálás Tanszék 2. Előadás LP alapfeladat A lineáris programozás (LP) alapfeladata standard formában Max c
RészletesebbenKeresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék
Keresés képi jellemzők alapján Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék Lusta gépi tanulási algoritmusok Osztályozás: k=1: piros k=5: kék k-legközelebbi szomszéd (k=1,3,5,7)
RészletesebbenOsztott algoritmusok
Osztott algoritmusok A benzinkutas példa szimulációja Müller Csaba 2010. december 4. 1. Bevezetés Első lépésben talán kezdjük a probléma ismertetésével. Adott két n hosszúságú bináris sorozat (s 1, s 2
RészletesebbenA k-szerver probléma
Bevezetés A k-szerver probléma Imreh Csanád SZTE, Informatikai Tanszékcsoport 6720, Szeged, Árpád tér 2. Email: cimreh@inf.u-szeged.hu A gyakorlatban gyakran fordulnak elő olyan optimalizálási feladatok,
RészletesebbenBranch-and-Bound. 1. Az egészértéketű programozás. a korlátozás és szétválasztás módszere Bevezető Definíció. 11.
11. gyakorlat Branch-and-Bound a korlátozás és szétválasztás módszere 1. Az egészértéketű programozás 1.1. Bevezető Bizonyos feladatok modellezése kapcsán előfordulhat olyan eset, hogy a megoldás során
RészletesebbenA lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2017/
Operációkutatás I. 2017/2018-2. Szegedi Tudományegyetem Informatika Intézet Számítógépes Optimalizálás Tanszék 2. Előadás LP alapfeladat A lineáris programozás (LP) alapfeladata standard formában Max c
Részletesebben2017/ Szegedi Tudományegyetem Informatikai Intézet
Operációkutatás I. 2017/2018-2. Szegedi Tudományegyetem Informatikai Intézet Számítógépes Optimalizálás Tanszék 8. Előadás Bevezetés Egy olyan LP-t, amelyben mindegyik változó egészértékű, tiszta egészértékű
RészletesebbenMINTA Írásbeli Záróvizsga Mechatronikai mérnök MSc. Debrecen,
MINTA Írásbeli Záróvizsga Mechatronikai mérnök MSc Debrecen, 2017. 01. 03. Név: Neptun kód: Megjegyzések: A feladatok megoldásánál használja a géprajz szabályait, valamint a szabványos áramköri elemeket.
RészletesebbenAGSMHÁLÓZATA TOVÁBBFEJLESZTÉSE A NAGYOBB
AGSMHÁLÓZATA TOVÁBBFEJLESZTÉSE A NAGYOBB ADATSEBESSÉG ÉS CSOMAGKAPCSOLÁS FELÉ 2011. május 19., Budapest HSCSD - (High Speed Circuit-Switched Data) A rendszer négy 14,4 kbit/s-os átviteli időrés összekapcsolásával
RészletesebbenTananyagok adaptív kiszolgálása különböző platformok felé. Fazekas László Dr. Simonics István Wagner Balázs
elibrary ALMS Tananyagok adaptív kiszolgálása különböző platformok felé Fazekas László Dr. Simonics István Wagner Balázs Mire jó az mlearning Tanulás bárhol, bármikor A dolgozó ember már nehezen tud időt
RészletesebbenAutóipari beágyazott rendszerek. A kommunikáció alapjai
Autóipari beágyazott rendszerek A kommunikáció alapjai 1 Alapfogalmak Hálózati kommunikáció Vezérlőegységek közötti információ továbbítás Csomópontok Kommunikációs csatornákon keresztül Terepbuszok (cluster)
RészletesebbenKorszerű raktározási rendszerek. Szakdolgozat
Gépészmérnöki és Informatikai Kar Mérnök Informatikus szak Logisztikai Rendszerek szakirány Korszerű raktározási rendszerek Szakdolgozat Készítette: Buczkó Balázs KOKIOC 3770 Sajószentpéter, Ady Endre
RészletesebbenGyártórendszerek modellezése: MILP modell PNS feladatokhoz
Gyártórendszerek modellezése MILP modell PNS feladatokhoz 1 Pannon Egyetem M szaki Informatikai Kar Számítástudomány Alkalmazása Tanszék Utolsó frissítés: 2008. november 16. 1 hegyhati@dcs.uni-pannon.hu
RészletesebbenPélda. Job shop ütemezés
Példa Job shop ütemezés Egy üzemben négy gép működik, és ezeken 3 feladatot kell elvégezni. Az egyes feladatok sorra a következő gépeken haladnak végig (F jelöli a feladatokat, G a gépeket): Az ütemezési
RészletesebbenSzámítógépes döntéstámogatás. Döntések fuzzy környezetben Közelítő következtetések
BLSZM-09 p. 1/17 Számítógépes döntéstámogatás Döntések fuzzy környezetben Közelítő következtetések Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu
RészletesebbenProgramozás alapjai 9. előadás. Wagner György Általános Informatikai Tanszék
9. előadás Wagner György Általános Informatikai Tanszék Leszámoló rendezés Elve: a rendezett listában a j-ik kulcs pontosan j-1 kulcsnál lesz nagyobb. (Ezért ha egy kulcsról tudjuk, hogy 27 másiknál nagyobb,
RészletesebbenMiskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék
Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék 2016/17 2. félév 1-2. Előadás Dr. Kulcsár Gyula egyetemi docens A tantárgy tematikája 1.
RészletesebbenHálózatok II. A hálózati réteg torlódás vezérlése
Hálózatok II. A hálózati réteg torlódás vezérlése 2007/2008. tanév, I. félév Dr. Kovács Szilveszter E-mail: szkovacs@iit.uni-miskolc.hu Miskolci Egyetem Informatikai Intézet 106. sz. szoba Tel: (46) 565-111
RészletesebbenRekurzió. Dr. Iványi Péter
Rekurzió Dr. Iványi Péter 1 Függvényhívás void f3(int a3) { printf( %d,a3); } void f2(int a2) { f3(a2); a2 = (a2+1); } void f1() { int a1 = 1; int b1; b1 = f2(a1); } 2 Függvényhívás void f3(int a3) { printf(
RészletesebbenHálózati Folyamok Alkalmazásai. Mályusz Levente BME Építéskivitelezési és Szervezési Tanszék
Hálózati Folyamok Alkalmazásai Mályusz Levente BME Építéskivitelezési és Szervezési Tanszék Maximális folyam 7 7 9 3 2 7 source 8 4 7 sink 7 2 9 7 5 7 6 Maximális folyam feladat Adott [N, A] digráf (irányított
RészletesebbenVezetői információs rendszerek
Vezetői információs rendszerek Kiadott anyag: Vállalat és információk Elekes Edit, 2015. E-mail: elekes.edit@eng.unideb.hu Anyagok: eng.unideb.hu/userdir/vezetoi_inf_rd 1 A vállalat, mint információs rendszer
RészletesebbenMiskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék
Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék 2017/18 2. félév 3. Előadás Dr. Kulcsár Gyula egyetemi docens Kereső algoritmusok alkalmazása
RészletesebbenSorozatok I. Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma)
Sorozatok I. DEFINÍCIÓ: (Számsorozat) A számsorozat olyan függvény, amelynek értelmezési tartománya a pozitív egész számok halmaza, értékkészlete a valós számok egy részhalmaza. Jelölés: (a n ), {a n }.
RészletesebbenAdatbázismodellek. 1. ábra Hierarchikus modell
Eddig az adatbázisokkal általános szempontból foglalkoztunk: mire valók, milyen elemekből épülnek fel. Ennek során tisztáztuk, hogy létezik az adatbázis fogalmi modellje (adatbázisterv), amely az egyedek,
RészletesebbenDöntéselőkészítés. I. előadás. Döntéselőkészítés. Előadó: Dr. Égertné dr. Molnár Éva. Informatika Tanszék A 602 szoba
I. előadás Előadó: Dr. Égertné dr. Molnár Éva Informatika Tanszék A 602 szoba Tárggyal kapcsolatos anyagok megtalálhatók: http://www.sze.hu/~egertne Konzultációs idő: (páros tan. hét) csütörtök 10-11 30
RészletesebbenÜtemezés gyakorlat. Termelésszervezés
Ütemezés gyakorlat egyetemi adjunktus Menedzsment és Vállalatgazdaságtan Tanszék Feladattípusok Általános ütemezés Egygépes ütemezési problémák Párhuzamos erőforrások ütemezése Flow-shop és job-shop ütemezés
RészletesebbenKorlátozás és szétválasztás módszere Holló Csaba 2
Korlátozás és szétválasztás módszere Holló Csaba 2 A módszert Imreh Balázs, Imreh Csanád: Kombinatorikus optimalizálás Novadat, Győr, 25 egyetemi tankönyve alapján, kisebb változtatásokkal fogjuk bemutatni.
Részletesebben6. gyakorlat. Gelle Kitti. Csendes Tibor Somogyi Viktor. London András. jegyzetei alapján
Közelítő és szimbolikus számítások 6. gyakorlat Sajátérték, Gersgorin körök Készítette: Gelle Kitti Csendes Tibor Somogyi Viktor Vinkó Tamás London András Deák Gábor jegyzetei alapján . Mátrixok sajátértékei
RészletesebbenBX Routing. Routin
BX Routing Inteligens Járatoptimalizáló Megoldás SAP Business One-hoz Routin Kis és közepes méretű, kereskedelmi és gyártó cégek logisztikai feladatainak tervezéséhez, optimalizálásához és megvalósításához
RészletesebbenA félév során előkerülő témakörök
A félév során előkerülő témakörök rekurzív algoritmusok rendező algoritmusok alapvető adattípusok, adatszerkezetek, és kapcsolódó algoritmusok dinamikus programozás mohó algoritmusok gráf algoritmusok
RészletesebbenMesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008
Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 007/008 Az Előadások Témái Bevezető: mi a mesterséges intelligencia... Tudás reprezentáció i stratégiák Szemantikus hálók / Keretrendszerek
RészletesebbenOperációkutatás példatár
1 Operációkutatás példatár 2 1. Lineáris programozási feladatok felírása és megoldása 1.1. Feladat Egy gazdálkodónak azt kell eldöntenie, hogy mennyi kukoricát és búzát vessen. Ha egységnyi földterületen
Részletesebben5/1. tétel: Optimalis feszítőfák, Prim és Kruskal algorithmusa. Legrövidebb utak graphokban, negatív súlyú élek, Dijkstra és Bellman Ford algorithmus.
5/1. tétel: Optimalis feszítőfák, Prim és Kruskal algorithmusa. Legrövidebb utak graphokban, negatív súlyú élek, Dijkstra és Bellman Ford algorithmus. Optimalis feszítőfák Egy összefüggő, irányítatlan
RészletesebbenSzámítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék
Számítógépes képelemzés 7. előadás Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék Momentumok Momentum-alapú jellemzők Tömegközéppont Irányultáság 1 2 tan 2 1 2,0 1,1 0, 2 Befoglaló
RészletesebbenDinamikus programozás - Szerelőszalag ütemezése
Dinamikus programozás - Szerelőszalag ütemezése A dinamikus programozás minden egyes részfeladatot és annak minden részfeladatát pontosan egyszer oldja meg, az eredményt egy táblázatban tárolja, és ezáltal
RészletesebbenAz Internet jövője Internet of Things
Az Internet jövője Dr. Bakonyi Péter c. docens 2011.01.24. 2 2011.01.24. 3 2011.01.24. 4 2011.01.24. 5 2011.01.24. 6 1 Az ( IoT ) egy világméretű számítógéphálózaton ( Internet ) szabványos protokollok
RészletesebbenSZÁLLÍTÁSI FELADAT KÖRUTAZÁSI MODELL WINDOWS QUANTITATIVE SUPPORT BUSINESS PROGRAMMAL (QSB) JEGYZET Ábragyűjtemény Dr. Réger Béla LÉPÉSRŐL - LÉPÉSRE
SZÁLLÍTÁSI FELADAT KÖRUTAZÁSI MODELL WINDOWS QUANTITATIVE SUPPORT BUSINESS PROGRAMMAL (QSB) JEGYZET Ábragyűjtemény Dr. Réger Béla LÉPÉSRŐL - LÉPÉSRE KÖRUTAZÁSI MODELL AVAGY AZ UTAZÓÜGYNÖK PROBLÉMÁJA Induló
Részletesebben