Budapesti Műszaki és Gazdaságtudományi Egyetem Közlekedésmérnöki Kar Közlekedésautomatikai Tanszék
Pozitív, NL dinamikus rendszer-osztályába tartozó, az állapottérben normált állapotjellemzőkkel rendelkező közúti hálózati modellek stabilitása és 3D-s vizualizációja
TDK dolgozat
Készítették: Fazekas Sándor és Stróbl András
Konzulens: Dr. Péter Tamás egyetemi docens Budapest, 2010. október
Tartalom
Tartalom ................................................................................................................................. - 2 1.
Bevezetés ....................................................................................................................... - 3 -
2.
A hazai problémák ......................................................................................................... - 5 -
3.
A makroszkopikus modellezés ...................................................................................... - 7 -
4.
Az alkalmazott modell ................................................................................................. - 10 -
5.
Csomópontok optimális működtetése .......................................................................... - 14 -
5.1.
A Ljapunov függvény fizikai jelentése ..................................................................... - 14 -
5.2.
A tartomány stabilitására kidolgozott algoritmus ..................................................... - 18 -
5.3.
Egy jelzőlámpás csomópont optimális irányítása ..................................................... - 21 -
5.4.
Az u1– et meghatározó célfüggvény a csomópont optimális irányítására ................ - 24 -
6.
A sajátfejlesztésű szoftver ........................................................................................... - 30 -
6.1.
Általános leírás ......................................................................................................... - 30 -
6.2.
Forgalomvizualizáció 3D -ben.................................................................................. - 32 -
6.2.1.
Online típusú vizualizáció ..................................................................................... - 33 -
6.2.2.
Animáció megvalósítása ....................................................................................... - 37 -
6.2.3.
Kezdeti állapot ...................................................................................................... - 37 -
6.2.4.
Járművek haladása az egyenes szakaszokon ......................................................... - 38 -
6.2.5.
Járművek haladása a kereszteződésekben, kanyarokban ...................................... - 39 -
6.2.6.
Elosztási tényezők és sűrűségek figyelembe vétele .............................................. - 39 -
6.3.
Bing Maps integráció ................................................................................................ - 41 -
7.
Összefoglalás ............................................................................................................... - 45 -
8.
Köszönetnyilvánítás ..................................................................................................... - 45 -
9.
Irodalomjegyzék .......................................................................................................... - 46 -
10.
Ábrajegyzék .............................................................................................................. - 48 -
11.
Függelék I. ................................................................................................................ - 49 -
12.
Függelék II. ............................................................................................................... - 53 -
-2-
1. Bevezetés A lakosság növekedése szoros kapcsolatban áll az infrastrukturális fejlesztésekkel és fejlődéssel. Ott, ahol a közlekedési lehetőségek fejlesztését visszafogják, vagy elhanyagolják, lelassul a városiasodás – gondoljunk csak a magyar történelemre és a reformkorra, amikor döntő kérdéssé vált a közlekedés fejlesztése és a városiasodás elősegítése. Nem véletlen, hogy a kiegyezést követően éppen ezeken a területeken különösen felgyorsult a fejlődés, és hogy a trianoni béke milyen következetesen igyekezett megtörni ezt a lendületet. A történeti tapasztalatok azt mutatják, hogy várost reprezentáló objektumok, együttesek, mint lakóterületek, gazdasági övezetek, ipari centrumok és a közöttük kiépülő kapcsolatok egymást váltva válnak fő hajtóerőivé a városfejlődésnek. Ugyanakkor a két komponens folyamatosan hat egymásra, és túl nagy különbség sem alakulhat ki. A kapitalista fejlődés megindulásakor sorra omlottak az európai városokban a városfalak, helyüket körutak foglalták el, a városkapuk tágas sugárutaknak adtak helyet, melyekhez a város más településekkel kialakuló kapcsolatai csatlakoztak. Megjelent a városi tömegközlekedés, és az egyéni közlekedés olyan új formái is berobbantak a századfordulón, mint a kerékpár és az autó. Napjaink városaiban a jövő évezred kérdései között található a közlekedés megoldása. A fejlődő országokban hatalmas népességű megapoliszok alakultak, ahol a közlekedés a szegény rétegek mozgása, munkához vagy munkába jutása szempontjából is fontos, de feltételei igen nehezek. Erre példa Mexikóváros, Sao Paolo, Rio de Janeiro is. A fejlettebb országokban a fő- és alközpontrendszerek közötti közlekedés, a történelmi magok kiszolgálása és az agglomerációs jelleghez tartozó nagy távolságok, leküzdése a fő feladat. Az értékes építészeti környezet megóvása miatt, a századfordulóhoz hasonló bontásos közlekedési térnyerés aligha járható. Nem véletlen, hogy itt a külön szintű közlekedés, közúti alagutak, a metrók viszik a prímet. Említhető Lille, Párizs, Bécs példája. Csak kevés város volt képes olyan előnyt szerezni, hogy éppen a nagykapacitású közlekedési hálózat kiépítésével tudja lendíteni a városfejlődést új területeken, mint például Prága vagy Washington DC esetében történt, és történik. Utóbbi esetében a város vezetése éppen a területgazdálkodás szempontjait figyelembe
-3-
véve alakította ki hálózatát, mely mellé üzlethálózatok, bevásárló központok, ipari centrumok települtek. A forgalmi igényeket pedig ott és olyan irányokban kell kielégíteni, ahol jelentkeznek, és a leggyorsabb eljutási időt biztosítják. A történelmi korokban a közlekedésfejlesztés mindig jó üzletnek bizonyult. A közlekedés és különösen a városi tömegközlekedés üzemeltetése viszont sehol sem jövedelmező önmagában. Haszna a város életének fenntarthatóságában, az emberek mobilitásának biztosításában rejlik. A közúti közlekedést, nagyméretű hálózaton (2002-ben 29 millió km volt a teljes úthossz a világban) hatalmas tömegáram jellemzi, ez adja a jelentőségét, és okozza problémáit is. 2000-ben 400 milliónál több volt a gépjármű, 2010 első negyedévében, több mint 750 millió gépjármű van a világon, együttes hossza 65,5 szer kerüli meg az egyenlítőt. Ha a jelenlegi tendencia folytatódik, akkor a Földön a gépjárművek száma a következő 30 évben meg fog duplázódni. A növekedés 25-35 millió db/év. Az Egyenlítőt kétszer körül érné a növekedéssel használatba vett összes járműhossz, hogyha azokkal képzeletben egymás mögé állnánk az Egyenlítő mentén A közlekedési módozatok között az Európai Unióban és Magyarországon is a legnagyobb teljesítménnyel (70-75%) a közúti közlekedés bír. Az EU-ban a forgalmi dugók évente, közel 20 milliárd euró veszteséget okoznak.[ A közúti közlekedés társadalmi és gazdasági költségeinek a meghatározása Dr. Bokor Zoltán, Dr. Mészáros Ferenc, Dr. Török Ádám Bagi Zsófia, Hokstok Csaba, MarkovitsSomogyi Rita OTKA CNK78168 - CONTRA]. A baleseti költségek az alábbi elemekre tagolhatók: anyagi károk, adminisztratív költségek, orvosi ellátás költsége, termelési veszteség, kockázati érték. A közösségnek évente mintegy 130 milliárd Euro kárt okoznak. A kettő együtt 1,46 szorosa a magyar GDP-nek! (26 095-27 811 mrd. Ft ami kb. 1,03004E+11 EUR nominálisan folyó áron). Különösen jelentős tehát a hatása, a nagyméretű közúti hálózatok forgalmi folyamatainak ismeretének és optimálásának.
-4-
2. A hazai problémák
Mindenek előtt, fontos feladat a hálózaton jelentkező terhelések ismerete. Ez jelentős mérési feladat, amely a hálózatra jellemző statisztikai adatokat szolgáltat, lásd budapesti felmérések [IFFK 2010 MONIGL J., Berki Zsolt TRANSMAN:
Korszerű
közlekedéstervezési módszerek a városi térségi lét fenntarthatóságának érdekében], és országos felmérések [BAUCONSULT: A 2007. évi hazai összes forgalom az országos úthálózaton]. Budapest környezeti terhelése egyértelműen a kiemelkedik az ország egyéb régiói közül. Ez annak is köszönhető, hogy Magyarország lakosságának 18 %-a koncentrálódik az ország területének 0,5 %-án. Budapest területe 525,16 km2, lakosainak száma 1.721.556 fő [22]. Ebből adódik, hogy az egy főre jutó kibocsátott káros anyag mennyisége ezen a területen a legkritikusabb (ez még erőteljesebben igaz a belvárosi területekre!) • A Belváros forgalom sűrűsége (jármű km/km2) közel hatszor akkora, mint az egyéb körzeteké, illetve kétszer akkora, mint a csatolt területeké. • Ebből következik, hogy a káros anyag kibocsátás is közel hatszor akkora. Budapest úthálózata radiális kialakítású, úthálózatának hossza több, mint 4.200 km. A magas ipari tevékenységet az is mutatja, hogy Budapesten termeli a GDP 34,1 %-át. A rendszerváltás óta folyamatosan nő a személygépkocsival közlekedők részaránya a tömegközlekedést használókkal szemben, melynek nagy része az agglomerációból bizonyos un. peak time-okban, meghatározott időablakokra koncentrálódik. Ezen időszakok a reggel 7h-8h illetve a délután 16h-18h.
-5-
1. ábra: A 2007. évi hazai összes forgalom az országos úthálózaton (forrás: BAUCONSULT)
Magyarország úthálózatának hossza mintegy 192.000 km, amiből 139.000 km a közút. Jól megfigyelhető, hogy a járművek mennyiségét vizsgálva az adott utakon, a gyorsforgalmi utakon jelentkezik a legnagyobb koncentráció, azt követően pedig az országos főútvonalakon. Kiemelt forgalommal bír az M1-es autópálya, az M3-as és M5ös autópálya (kapcsolat a szomszédos országokkal), valamint az M7-es autópálya szezonálisan (Balaton vonzereje). Külön kiemelendő az M0-s autóút, amely Budapestet elkerülő szerepkörében az összes csatlakozó autópálya és egyéb út forgalmát felveszi.
-6-
3. A makroszkopikus modellezés
A modellezés nagyon merész lépése volt a Makro modellek létrehozása, Lighthill és Whitham, 1955], [Ashton, 1966], amikor is a forgalmat egy közeg áramlásaként kezelték és a modell két reláción alapul, az egyik a járművek megmaradásának törvénye, a másik a fundamentális egyenlet. A modell parciális differenciál-egyenletet eredményezett. Ez azonban igen egyszerű modelleknél is rendkívül számításigényes volt. A másik lehetőség, a forgalom modellezése és valós idejű forgalmi becsléssel összekötött irányításának megvalósítása. Ilyen pl. Papageorgiou és munkatársai által (1981) alkalmazott érdekes modell autópályákra és körgyűrűkre, amely 500 m-es szegmens-hosszakkal dolgozik, és egy-egy szegmensnél k*T (k=0,1,2,…) diszkrét időpontokban állandónak tekintette a forgalomsűrűséget. Ez által, mérésekkel igazolt igen jól alkalmazható modellt nyertek. 1990-ben a makroszkopikus modell az autópályát n számú, Δi = 500 m hosszúságú szelvényekre osztja (i= 1, ..., n), az idő egy T= 10 s lépésköz
alapján diszkretizált, és az időindex: k = 0, 1, 2, ...
Az összegyűjtött
forgalomáramlás változókat következők határozzák meg ebben a különálló téridőkeretben: • Forgalomsűrűség a ρi(k) (jármű/km/sáv) a járművek száma az i-ik szegmensben kT időpillanatban,
osztva
a
Δi
szegmens
hosszával
és
a
λ i.
sávszámmal
• Űrátlag-sebesség vi(k) (km/h) minden olyan jármű átlagos sebessége, amely beletartozik a szegmensbe, a kT időpillanatban. • Forgalomáramlás qi(k) (jármű/h) annak a száma, hogy hány jármű távozik a szegmensből a [kT, (k + 1)T] időintervallumban osztva T-vel. • Rámpabeáramlás: ri(k) és rámpakifolyás: si (k) (mindkettő: jármű/h) az i-ik szegmensnél • βi(k) jelenti a kimenő rátát az i szegmensnél, τ, Ν, Κ, δ, vf, ρcr, a modellparaméterek. • A szóban forgó autópálya szakasznál ξiv(k) és ξiq(k) nulla várható értékű fehérzajt jelentenek, amelyek a sebességegyenletre és a hozzávetőleges áramlásegyenletre hatnak, visszatükrözve a modellezési hibákat, pontatlanságokat.
-7-
2. ábra: Szegmensek és sebességértékek
A légi közlekedési szektorokra, a légi forgalom áramlásirányítás területén készített modell [Arneson and Langbort, 2009] pozitív, konzervatív rendszereknél a hálózatokon keresztül történő anyagáramlását írja le. A légi tervezésre a statikus útvonal paramétereket használja a modell, a késések minimalizálásának elérésére. A szektorok közötti kapcsolatot feltételekkel felírt gráffal adja meg: 01 = {1,3,4}, O2 = {2,3,4}, O3 = 0, 04=0. A repülők sebessége állandó.
3. ábra: A légtér hálózat, amelyet az alkalmazási példában használnak. A modell az alábbi koncepcióra épül: - Az 0≤xi(t) állapotjellemző, az i-ik szektorban tartózkodó repülők számát jelöli. - A közlekedési modell makroszkopikus modell.
-8-
- A modellezés tárgya, egy lineáris, pozitív, konzervatív rendszer. A hálózaton állandó sebességgel és βij szétosztási tényezőkkel áramlik az „anyag”. Az anyagot a légi járművek (repülők) testesítik meg. - A matematikai modell: lineáris időinvariáns, homogén differenciálegyenletrendszer. - Vannak olyan szakaszok, (szektorok) amelyeknél „visszaáramlást” is feltételez. - A vizsgált folyamatnál, adott kezdeti értékű állapotjellemzők mellett, konstans sebességű áramlással, βij szétosztási tényezőket figyelembe véve „kifolyik a hálózatból az anyag”, tehát az összes repülő földet ér a reptereken. Optimálási célok: - A teljes késedelem minimálása: azaz, a megfelelő βij szabályozó paraméterek megválasztásával, a legrövidebb idő alatt történjen meg a repülők földet érése. - Teljes késedelem minimálása, további késedelem megszorításokkal: pl. egyes βij-re vonatkozó kényszerek (βij < cij), vagy pl.
< γ i.
- Teljes késedelem minimálása kapacitás megszorítás mellett, pl.x(t)≤b, t ≥ 0.
-9-
4. Az alkalmazott modell
Az irodalomból ismert közúti közlekedési hálózati modellek a csomópontokat, illetve kereszteződéseket kitüntetett elemként kezelik a modellekben. Így egy olyan gráfot kapunk, amely az eredeti közlekedési hálózat egy leképezése, a gráf csúcsai a csomópontok, illetve kereszteződések, az ívek pedig az őket összekötő útszakaszok. A mi modellünk nem ezt követi. Az irányított gráf élei dinamikus relációk, a kooperáló csúcsok szektorok. A dinamikus kapcsolati gráf térkép-hálózat invariáns, bármely város, közúti hálózat leírható vele. (Ez nem duálisa a térkép gráfnak.) Tehát, a modellezés területén teljesen új szemléletmódra és eredményekre támaszkodunk. A hálózat alkotó elemei a sávszakaszok és a definiált parkolók (hozzájuk sorolhatók az utak melletti parkoló sávokat is). Könnyen belátható, hogy a definiált parkolók, valamint az utak melletti parkoló sávok a hálózat működésében, mint általánosított szakaszok vesznek részt, tehát az egész hálózatban ténylegesen általánosított szakaszok (ívdarabok, szektorok) kooperálnak és ezek az elemek alkotják az új hálózati gráf csúcsait. Ennek az irányított gráfnak az élei dinamikus relációk, amelyek a geometriailag kapcsolatban álló és kooperáló csúcsok közötti átadási és befolyásolási kapcsolatokat írják le. Ez a modell, egyszerre vizsgálja az egész hálózatot a teljes kapcsolatrendszer mellett. Ebben önálló elemként már nem jelenik meg a „csomópont”, ugyanis minden csomópont működése, része a teljes hálózat kapcsolatrendszerének! Modellünkben, ezt a szemléletmódot követve, nagyméretű közúti közlekedési rendszerek matematikai modellezésére speciális, hipergráf struktúrát adtunk meg, amely leírja egy tartomány esetén, a belső-belső, a külső-belső, a belső-külső és a külső-külső hálózati elemek közötti kapcsolati összefüggéseket. A probléma általános megoldására alkalmazott matematikai modell, egy n db. belső szakaszból és m db. külső szakaszból álló dinamikus kapcsolati struktúrát definiál. Hálózati modellünk egy zárt görbével körülhatárolt tartományában helyezkedik el.
- 10 -
(HB) Belső és (HK ) külső hálózat kapcsolatai
K12 K11
K22
HB
HK K21
4. ábra: a belső és külső hálózat kapcsolatai
K11
K21
K12
K22
5. ábra: a belső és külső hálózat kapcsolatai hipermátrixa
x L s
1 1
P
K11 ( x, s) K12 ( x, s) x K 21 ( x, s) K 22 ( x, s) s
Ahol: L és P a szektorok hosszát tartalmazó diagonális mátrixok:
L l1 , l 2 ,..., l n , P p1 , p2 ,..., pm Ez esetben a (HB) belső hálózaton kialakuló normált járműsűrűségek a rendszer állapotjellemzői:
- 11 -
x (t)=[x1(t), x2(t), x3(t),…, xn(t)]T
(1.1)
A modellünkben 0≤ xi(t) ≤1 normált forgalomsűrűség állapotjellemzőt használunk (i=1,…,n). Az egy szakaszon, vagy szektorban tartózkodó járművek együttes hosszát osztjuk a szakasz hosszával. Ez a számítás alkalmazható a parkolók esetében is, így a parkolók is általánosított szakaszok a modellben. A modell, a (HK) külső hálózat azon részhálózatát is használja, amely olyan m db. szakaszból áll, amelyeknek közvetlen kapcsolatuk van valamely belső szakasszal. Az ezeken kialakuló normált járműsűrűségeket jelöli s(t) =[s1(t), s2(t),…,sm(t)]T
(1.2)
amelyeket mérések alapján ismerünk. A hálózatot leíró matematikai modellünk figyelembe veszi a hálózat tartományon belüli belső és a tartományon kívüli külső kapcsolatait is [1,2,3]. Néhány, a kooperálással és a modellel kapcsolatos megjegyzés: - A modellünkben 0≤ xi(t) ≤1 normált forgalomsűrűség állapotjellemzőt használunk (i=1,…,n). Az egy szakaszon, vagy szektorban tartózkodó járművek együttes hosszát osztjuk a szakasz hosszával. Ez a számítás alkalmazható a parkolók esetében is, így a parkolók is általánosított szakaszok a modellben. - A modellezés tárgya egy NL. pozitív rendszer. A hálózaton változó sebességgel és αij–vel jelölt (αij általános esetben időtől függő αij=αij(t), vagy időtől és állapottól függ αij=αij(x(t),t),) szétosztási tényezőkkel, (rátákkal) áramlik a forgalom. A forgalmat a közúti járművek testesítik meg. A sebesség a forgalom sűrűségtől függ. Maximuma szakaszonként limitálva van. A sebesség függvényt befolyásolja még az időjárás, a látási viszonyok, az út geometriája, a domborzat, a minősége és a szélessége.
- 12 -
- βij –vel jelöljük az egyes szakaszok átadásánál fellépő akadályozást 0≤βij<1, vagy rásegítést 1<βij . (βij általános esetben időtől függő βij= βij(t). vagy időtől és állapottól függ βij= βij(x(t),t). - 0≤uij(t)≤1 kapcsolási függvény, az egyes szakaszok átadásánál működő forgalmi lámpák hatását veszi figyelembe. - A párhuzamosan haladó szakaszok (sávok), továbbá szakaszok és parkolók is adnak át egymásnak járművet a hálózaton. Ezt az átadást 0≤γij(t), vagy 0≤γij(xi(t), xj(t), t) arányossági függvény veszi figyelembe. - Belső tiltó automatizmusok is működnek a hálózaton: j-ből nem adhatunk át i-re, ha i tele van (xi(t) =1 S(xi(t)) =0). Ugyancsak j-ből nem adhatunk át i-re, ha j üres (xj(t) =0 E(xj(t)) =0). A normált állapotjellemzők alkalmazásával ezek a feltételek egyszerűen teljesíthetőek. Ezek biztosítják a modellben azt, hogy nem veszünk el járművet onnan ahol nincs (sűrűség nem lép negatív tartományba) és nem adunk oda, ahol a sűrűség már elérte az 1-et. - A hálózatot egy „G” zárt görbével körülkerített, nem feltétlenül egyszeresen összefüggő tartományban vizsgáljuk. Azon külső szakaszokon, amelyek közvetlen átadási, vagy átvételi kapcsolatban vannak valamely hálózati szakasszal, mérjük a normált 0≤si(t) ≤1 forgalomsűrűséget (i=1,…,m). - A matematikai modell: NL. nem autonóm differenciálegyenlet-rendszer.
x’=
-1 [K(x,s) x + K input(x,s) s]
(1.3)
Az (1.3) adja meg a rendszer működését leíró nemlineáris differenciálegyenletrendszert, tetszőleges hálózati gráf esetében. Kimutatható, hogy a rendszer pozitív rendszer. [4], A modell lényegét tekintve, makroszkopikus modell [7,8,9].
- 13 -
5. Csomópontok optimális működtetése
Vizsgálataink során a csomópontok programalkotó rendszerét meghatározottnak tekintjük, és az alábbiakból indulunk ki. [5,6]. 1. Azzal a feltételezéssel élünk, hogy az adott csomópont esetében már megtörtént a fázisba sorolás, minden fontos kritérium figyelembe vételével (pl. a minél kisebb fázisszámra való törekedés, valamint az egy fázisba való lehető legtöbb irány bevonása). 2. Esetünkben a fázisok száma és a fázisok sorrendje sem adott, ez a forgalomtól függ nagymértékben, ezért feltételezzük, hogy a vezérlés terve kiegészült az engedélyezett fázisátmenetek tervével, a vezérlési logikával, valamint a fázisengedélyezési tervvel is. 3. Meghatározásra került az egyes fázisok közti átmenet kapcsán, az úgynevezett közbenső idő mátrix, amely az egymást keresztező, vagy nyomvonal szempontjából kapcsolódó, ill. fonódó mozgások szabad jelzései között biztosítandó legkisebb időt, az úgynevezett közbenső időt tartalmazza. Ilyenkor tehát a vezérlési logika dönt, azaz a vezérlést megvalósító program, amelynél az állapotfüggő irányítására alkalmazzuk az alábbiakban tárgyalásra kerülő speciális MPC technikát.
5.1. A Ljapunov függvény fizikai jelentése
Vizsgáljuk meg a V(x1, x2, …, xn)= l1*x1+ l2*x2+ …+ ln*xn függvény fizikai jelentését. A definíciónk szerint: xi= Ni*h/ li ahol: Ni az i-ik szakaszon tartózkodó járművek száma h egységjármű hossz Ni*h/ li helyettesítés után: V(t) = (N1(t)+ N2(t)+ …+ Nn(t))*h a tartományban tartózkodó összes jármű számával arányos. A Ljapunov függvény deriváltját az (1.3) differenciálegyenlet-rendszerből nyerjük:
- 14 -
m m V m v w1 x1 v w2 x2 ... v wn xn + t w1 w1 w1 n
v i 1
i1
s1
n
v i 1
n
i2
s 2 vim s m i 1
Tehát a rendszer stabilis, ha a peremeken a kiszállítás nagyobb, mint a peremeken történő beszállítás. Röviden: ∑Finput < ∑Foutput Az irányítás, a peremeken kifele mutató ∑ Foutput és a peremeken befele mutató ∑ Finput összes fluxus számítása alapján történik és az alábbi feltétel teljesítését írja elő: ∑ Finput ≤ ∑ Foutput Ljapunov
függvények
módszerével
kimutatható,
hogy az
autonóm
rendszer
aszimptotikusan stabilis. A nem autonóm rendszerre, a peremekre vonatkozó, Ljapunov függvényt alkalmazó irányítási törvény adható meg, amely elégséges feltételt ad a rendszer aszimptotikus stabilitására és dinamikusan alkalmazható a teljes tartományon, illetve, azokon a szubtartományokon, ahol a forgalomsűrűséget tekintve kritikus helyzet lép fel [7,8,9]. Annak a csomópontnak a működése az ideális, amely bármely rajta átáramló forgalmat akadályoztatás nélkül enged át. Mivel minden keresztező forgalom akadályozza a másikat, az ideális eset csak oly módon valósul meg, ha minden keresztező forgalom szintben eltoltan működik, 6. ábra.
6. ábra: szintben eltolt ideális kereszteződés
- 15 -
Nyilván, ahol ez építészeti és környezeti szempontokat is figyelembe véve gazdaságosan megoldható, ott ezt kell alkalmazni. Az extrém forgalmú bonyolult csomópontoknál ez rendkívül költséges, de egyben lehet gazdaságos megoldás is. A legtöbb esetben azonban, gazdaságosan nem alkalmazható. Minden ilyen esetben reális követelmény, a csomóponton átáramló forgalom akadályozásának minimálását előírni! Ez, a csomópontot magában foglaló tartomány-szemléletet alkalmazva, úgy valósul meg, hogy minden egyes lépésben, egy véges időhorizonton előretekintve, olyan irányítást (fázist) valósítunk meg, amelynél, a tartományban lévő összes elem és a hozzájuk közvetlenül csatlakozó külső elemek között együttesen maximális számú járműátadás valósuljon meg. Az így definiált járműszám, a dinamikus modell alapján előre kiszámítható minden fázishoz és az optimumhoz tartozó irányítás (fázisválasztás) ez alapján meghatározható. A véges időhorizont megválasztása esetünkben két módon történhet: 1. Rövid dt időtartamú időhorizont választunk, un. mintavételezést alkalmazunk és ez alapján meghatározott optimális irányítási jelet, a minimális fázisidőtartamig megtartjuk. 2. Egy minimális fázisidőtartamot definiálunk, és ezt választjuk horizontnak. A továbbiakban azt mutatjuk be, hogy már az első, rapid módszerrel is jelentős eredményeket lehet elérni, természetesen, szem előtt tartva, hogy létezhetnek egyensúlyi állapotok is a két fázis között, oly módon, hogy egyiknél nagysebességű forgalom kis járműsűrűség esetén, ill. a másiknál kissebességű forgalomáramlat nagy járműsűrűségnél lép fel. A módszer az olyan gyakori esetekben igen hatékony, amikor az a tipikus eset lép fel, hogy az egyik fázisnál rendszeren kis forgalomsűrűség a jellemző, míg a másiknál jelentős sorok várakoznak. Természetesen, szem előtt tartjuk azt is, hogy a jelzőlámpás csomóponti irányításnak léteznek teljesítőképességi határai. A jelzőlámpával irányított csomópontoknál az egymást követő áramlatok időben biztonságos szétválasztását biztosító közbenső idők, a hasznos időalapot csökkentik. Az ismertetett új szemléletmód alapján minden csomópont a nagy hálózat részgráfjaként jelenik meg az őt alkotó általánosított szakaszok (ívdarabok, szektorok)
- 16 -
kooperációjaként. Modellünk sajátossága tehát, hogy teljes hálózatot vizsgál, amelyben nincs kitüntetett szerepe a csomópontoknak, illetve a kereszteződéseknek. Mivel tetszőleges méretű tartományon történő optimálisra alkalmas, ezért nincs akadálya annak sem, hogy a kereszteződéseket, mint kisebb tartományokat vizsgáljuk a nagy hálózatban. Ezt a továbbiakban három, különböző típusú kereszteződés esetén mutatjuk be. Közöljük egy esetre a rendszer differenciálegyenlet-rendszerét és a számítások eredményeit is.
- 17 -
5.2. A tartomány stabilitására kidolgozott algoritmus
Algoritmusunkat a modell keretei között értelmeztük, implementáltuk a modellezőszimulációs szoftverben, és ennek keretei között vizsgáltuk, teszteltük. Ez az algoritmus nagymértékben épít az adaptív működésű közlekedési lámpák algoritmusára, amely a szoftver korábbi verzióiban már szerepelt. Az adaptív működés során a közlekedési lámpákat csomópontonként külön-külön kezeljük. A csomópontokban található zöld jelzéseket (azaz a makroszkopikus modell fogalmaival élve kapcsolatokat) két – kb. azonos méretű – fázisba (más szóhasználattal élve csoportba) osztjuk, azaz az első fázis ki=1 esetén kap zöldet, a második ki=0 esetén. Jelöljük az i kereszteződésbe belépő, az első csoportba tartozó sávok számát ni1-nek, a kereszteződésbe belépő, a második csoportba tartozó sávok számát ni2-nek. A csomópontokhoz (és így az adaptív működésű közlekedési lámpákhoz) az alább jellemzőket rendeljük hozzá: Mintavételezési periódus hossza (mi). Egymást követő piros periódusok megengedett maximális száma (pmaxi). Az említetteken kívül az i-ik lámpás csomópontban a fázisokra nyilvántartjuk, hogy egymást követően hányadik periódusban kap épp piros jelzést a fázis (pi1 és pi2). Ezt a következő táblázat mutatja be: ki (első
(1 - ki) (második
fázis)
fázis)
tp
1
0
0
tp+1
0
1
1
0
tp+2
0
1
2
0
tp+3
1
0
0
1
Mintavétel
pi1
pi2 x, ahol x
N,
és 0<x
Az adaptív működés algoritmusa a következő: Az egyes csomópontok külön-külön mérik az adott csomópontban lévő időt (t), és az egyes sávokon található járműmennyiségeket (xj).
- 18 -
Amennyiben t értéke alapján épp letelt a mintavételezési periódus, akkor a következő történik: o A csomópont
minden bejövő
sávján fázisonként
a következő
időpillanatban lebonyolított járműforgalomra vonatkozó becslés történik. A becslés során meghatározott járműátadások fázisonként vett átlagát felhasználva történik meg a zöld fázisra vonatkozó döntés. Amennyiben pi1(t) > pmaxi, akkor ki = 1 (első fázis kap zöldet, függetlenül a becsléstől) Egyébként: amennyiben pi2 > pmaxi, akkor ki = 0 (ekkor 1-ki = 1, azaz a második fázis kap zöldet, függetlenül a becsléstől) Legyen az első fázisban a p–ik mintavételezési időpontban a becslés alapján az első illetve második fázis kapcsolatai által lebonyolított járműmennyiség összege ci1tp(t)és ci2tp. Ekkor az algoritmus az első fázisnak adja a zöld jelzést, ha ci1tp / n1 > ci2tp/n2, azaz kitp = 1 lesz. Egyébként az algoritmus a második fázisnak adja a zöld jelzést, ha ci1tp/n1, < ci2tp/n2, azaz kitp = 0 lesz. Az egyenlőségnek csak elméleti jelentősége van, tetszés szerint lehet ki értékét meghatározni a ki = {0,1} halmazból.
A következőkben vázolt algoritmus célja a tartomány szélein elhelyezett lámpák megfelelő szabályozásával a tartomány stabilitásának biztosítása. A tartomány szélén lévő lámpákat a korábban elkészített, járműátadás-becsléseken alapuló adaptív algoritmus továbbfejlesztéséből előálló új algoritmus alapján vezérli a program a szimuláció közben. A korábbi algoritmus lényege az volt, hogy a kereszteződéshez köthető kapcsolatokat két halmazra (A és B) osztotta a felhasználó a modellezéskor, a számítási algoritmus futásakor pedig periodikusan becslés történt arra vonatkozóan, hogy a kettő közül melyik csoport képes nagyobb járműforgalmat lebonyolítani. Az a kapcsolat-csoport kapott zöld jelzést, amelyik várhatóan nagyobb járműforgalmat volt képes lebonyolítani. Ezzel szemben a most elkészített algoritmus három kapcsolathalmazzal dolgozik (A, B, C), ahol az egyik halmaz (C)-t az alkalmazás már a modellezéskor automatikusan
- 19 -
megadja: ebbe a fázisba azon kapcsolatok tartoznak bele, amelyek az aktuális T tartományba vezetnek. A futás során tehát az algoritmus megvizsgálja, hogy az előző lámpaperiódusban a kritikus sűrűségérték felett van-e a tartomány sűrűsége. Ha igen, akkor megvizsgálja a legutóbbi periódusban tapasztalt kimenő és bemenő fluxusokat (a modellben értelmezett input és output szakaszok belső hálózati szakaszokhoz csatlakozó elemeinek járműsűrűsége). Ha ezek különbségéből az következik, hogy a tartomány járműmennyisége csökkent, akkor a korábbi adaptív algoritmus az A, a B és a C halmazokat veti össze az egyes, tartomány határán lévő kereszteződésekben, ellenkező esetben csak az A és a B halmazok becsült járműátadásai kerülnek összevetésre (azaz biztos, hogy nem kap olyan kapcsolat zöld jelzést, amely a tartományon kívülről a tartományon belülre vezet). Természetesen itt nem ki és 1-ki a vezérlőjelek, hanem ki ki2, ki3, ahol ki1 + ki2 + ki3 =1, közülük csak az egyik értéke lehet egy, a másik kettő értéke 0.
- 20 -
5.3. Egy jelzőlámpás csomópont optimális irányítása
s3
4. Külső szakasz (Output) s4
3. Külső szakasz (Output)
(3), x3 (4), x4
u1
1- u1
2. Külső szakasz (Input)
(2), x2
s2
(1), x1
s1
1. Külső szakasz (Input)
7. ábra: Két egyirányú út egyszerű lámpás kereszteződése
Minden
tárgyalt
hálózati
rendszer
differenciálegyenlet-rendszere
(1.1)
állapotjellemzőkkel és (1.2) mért sűrűségek alapján (1.3) alakban felírható: x’=-1 [K(x,s) x + K input(x,s) s]
(3.1)
Ez alapján, a 7. ábrán látható rendszernél a K és K input mátrixok az alábbiak: 0 0 0 u1 S( x3 ) v 3, 1( x3, x1 ) E( x1 ) 0 ( 1 u ) S ( x ) v ( x , x ) E ( x ) 0 0 1 4 4, 2 4 2 2 K := u S( x ) v 0 0 S( s3 ) v 3, 3( s3, x3 ) E( x3 ) 1 3 3, 1( x3, x1 ) E( x1 ) 0 ( 1u1 ) S( x4 ) v 4, 2( x4, x2 ) E( x2 ) 0 S( s4 ) v 4, 4( s4, x4 ) E( x4 )
0 S( x1 ) v 1, 1( x1, s1 ) E( s1 ) 0 S( x2 ) v 2, 2( x2, s2 ) E( s2 ) Kinp := 0 0 0 0
0 0 0 0
0 0 0 0
- 21 -
Modellünknél, a belső tartományban elhelyezkedő útszakasz hosszát li a külső tartományban lévőkét pedig pi jelöli (i=1,2,3,4). Az egységjármű hosszát h-val jelöljük. A j szakaszról i szakaszra történő átvitelnél, vi,j jelöli az áramlási sebességét, ahol vi,j= vi,j(xi,,xj) állapotfüggő. A hálózaton, 0≤αij–vel jelölt szétosztási rátákkal áramlik a forgalom (αij általános esetben időtől függő αij=αij(t), vagy időtől és állapottól függő αij=αij(x(t),t) függvény). βij –vel jelöljük az egyes szakaszok átadásánál fellépő akadályozást 0≤βij<1, vagy rásegítést 1<βij. (βij általános esetben időtől függő βij= βij(t), vagy időtől és állapottól függ βij= βij(x(t),t). A párhuzamosan haladó szakaszok (sávok), továbbá szakaszok és parkolók is adnak át egymásnak járművet a hálózaton. Ezt az átadást 0≤γij(t), vagy 0≤γij(xi(t),xj(t),t) arányossági függvény veszi figyelembe. Belső tiltó automatizmusok is működnek a hálózaton: j-ből nem adhatunk át i-re, ha i tele van (3.2). Ugyancsak j-ből nem adhatunk át i-re, ha j üres (3.3). S( x ){
0 1
1x x1
E( x ){
0 1
x0 0x
(3.2)
(3.3)
A normált állapotjellemzők alkalmazásával a fenti feltételek egyszerűen vizsgálhatók. Ezek biztosítják a modellben azt, hogy nem veszünk el járművet onnan ahol nincs (sűrűség nem lép negatív tartományba) és nem adunk oda, ahol a sűrűség már elérte az 1-et. Ha a K(x,s) és K
input(x,s)
mátrixok azon elemeit külön kezeljük, amelyek az u1
irányító jelet tartalmazzák, a (3.1) egyenlet alábbi (3.4) formáját kapjuk meg: x’=-1 [A(x,s) x + A 1(x,s) s+ B(x,s) u1]
(3.4)
ahol, a differenciálegyenlet-rendszer A, A1 és B mátrixai az alábbiak: 0 0 0 0 0 S( x ) v 0 0 4 4, 2( x4, x2 ) E( x2 ) A := 0 0 S ( s ) v ( s , x ) E ( x ) 0 3 3 , 3 3 3 3 0 S( x ) v ( x , x ) E ( x ) 0 S ( s ) v ( s , x ) E ( x ) 4 4, 2 4 2 2 4 4, 4 4 4 4
- 22 -
0 S( x1 ) v 1, 1( x1, s1 ) E( s1 ) 0 S( x2 ) v 2, 2( x2, s2 ) E( s2 ) A1 := 0 0 0 0
0 0 0 0 0 0 0 0
S( x3 ) v 3, 1( x3, x1 ) E( x1 ) x1 S( x4 ) v 4, 2( x4, x2 ) E( x2 ) x2 B := S( x ) v ( x , x ) E ( x ) x 3 3, 1 3 1 1 1 S( x ) v 4 4, 2( x4, x2 ) E( x2 ) x2
(Ez az alak, pl. computer-algebrai módszert alkalmazva automatikusan előállítható a K és K
input
mátrixoknak az egyes irányító jelek szerint deriválásával, jelen esetben u1
szerinti deriválással.) A vi,j áramlási sebesség esetén, a forgalomsűrűség – forgalomsebesség közötti összefüggésre, regresszió útján nyert számos empirikus összefüggés létezik [5]: Greenshields (lineáris), Kladek, Greenberg (logaritmikus), Pipes and Munjal, Drew, Underwood, Drake, Zachor, Edie. Az alábbiakban az ún. Greenshield függvényt alkalmazzuk, ahol V a maximális sebesség. Ez alapján A, A1 és B mátrixok az alábbi (3.5), (3.6), (3.7) alakban írhatók fel: 0 0 A := 0 0
0
0
S( x4 ) ( l2 V ( 1 x2 ) l4 V ( 1 x4 ) ) E( x2 )
0
l2 l4 0
S( s 3 ) ( p3 V ( 1 s3 ) l3 V ( 1 x3 ) ) E( x3 )
S( x4 ) ( l2 V ( 1 x2 ) l4 V ( 1 x4 ) ) E( x2 ) l2 l4
S( x1 ) ( p1 V ( 1 s1 ) l1 V ( 1 x1 ) ) E( s1 ) p1 l1 A1 := 0 0 0
p3 l3 0
0 0 S( s4 ) ( p4 V ( 1 s4 ) l4 V ( 1 x4 ) ) E( x4 ) p4 l4 0
0 S( x2 ) ( p2 V ( 1 s2 ) l2 V ( 1 x2 ) ) E( s2 )
0
p2 l2
0
0
0
0
0
0 0 0 0
(3.5)
(3.6)
- 23 -
S( x3 ) ( l1 V ( 1 x1 ) l3 V ( 1 x3 ) ) E( x1 ) x1 l1 l3 S( x ) ( l V ( 1 x ) l V ( 1 x ) ) E( x ) x 4 2 2 4 4 2 2 l2 l4 B := S( x3 ) ( l1 V ( 1 x1 ) l3 V ( 1 x3 ) ) E( x1 ) x1 l l 1 3 S( x ) ( l V ( 1 x ) l V ( 1 x ) ) E( x ) x 4 2 2 4 4 2 2 l2 l4
(3.7)
Ezt követően, a rapid irányítást alkalmazva, vizsgáljuk a tartomány minden szakaszát, és a hozzá csatlakozó külső szakaszokat is, a dt idő alatt átadott összes járműszám megállapítása céljából, tehát, az összes átadást figyelembe vesszük a [t, t+dt] időintervallumban. A továbbiakban u1=1 döntés esetén lép működésbe az 1-es fázis és u2=1 esetén a 2-es fázis. Ehhez a tartományban minden t időpontban u1=1 döntéshez és u2=1-u1=1 döntéshez is (az-az mindkét irányban „zöld esetre”) külön-külön kiszámítjuk a dt időtartam alatt átadott összes jármű számát. A számításhoz tehát, adott a modell és minden t időpontban rendelkezése áll a tartományban elhelyezkedő rendszer x(t) állapotjellemző vektor és a tartományhoz csatlakozó szakaszokon mérhető s(t) járműsűrűség vektor is. Ismertek továbbá a geometriai paraméterek, a megengedett maximális sebességek és a belső automatizmusok is.
5.4. Az u1– et meghatározó célfüggvény a csomópont optimális irányítására
Az optimális forgalom lebonyolódása azt igényli, hogy mindenkor vegyük figyelembe azokat a különböző terhelési értékeket, amelyek a napi, heti, és irányonkénti változások során fellépnek, tehát biztosítsuk az irányítás adaptivitását. Az ilyen esetekre jól alkalmazható, a modell prediktív irányítás (MPC), amely olyan numerikus optimalizáláson alapuló irányítási módszer, amelynél – diszkrét időt
- 24 -
feltételezve – a beavatkozó jel jövőbeli étékeit (véges időhorizonton előretekintve) minden diszkrét időlépésben egy előírt célfüggvény optimálása révén határozzuk meg. A célfüggvény értéke függ a rendszer jövőbeli állapotaitól, melyeket a rendszer alkalmas modellje alapján, a beavatkozó jelek és a kezdőállapot függvényében számolni tudunk. Az ily módon működő irányítási eljárás esetén a programalkotó rendszer teljesen forgalomtól függő. A jelzőlámpa program változékonyságának fő jellemzője az adaptivitás érdekében a szabad változtathatóság. A periódusidő, a fázissorrend és a fázisszám változó. A szabadidő-állandó a dinamikus rendszer működése alapján, szintén szabadon változtatható. Általános esetként tekintsünk egy csomóponton történő áthaladást, amelyet n fázissal működő program irányít. Ekkor, [t, t+Δt] időintervallumhoz az adott állapotjellemzők alapján, kiszámítható mindenegyes i fázis működésbe lépése esetén, a csomópontoni szektorok (szakaszok) között átadott járműszám, amelyet jelöljön: Ni (i=1,2,…,n). Az Ni járműszámok rendezett sorozata képezi az n oszlopból álló preferencia mátrix aktuális sorát. Működésbe lépő fázis
Legnagyobb
u1=1
N1
>
N2
>
N3
N1
>
N3
>
N2
N2
>
N1
>
N3
N2
>
N3
>
N1
N3
>
N1
>
N2
N3
>
N2
>
N1
u2=1
u3=1
Középső
Legkisebb
8. ábra: Preferencia mátrix n=3 fázis esetében, minden lehetséges sorrendet felírva
Ha egy k-ik fázisnál átadott járműszámnál nem volt nagyobb, akkor Nk áll az első helyen és a k-ik fázishoz tartozó uk(t)=1 irányítást valósítjuk meg. Az irányítási jel direkt módon, az-az sorba rendezés nélkül is számítható, ha biztosított, hogy az egyes fázisok esetén különbözők az átadott járműszámok! Az okozna ui. problémát a
- 25 -
programban, ha két v. több egyforma legnagyobb Nk lépne fel, vagy, ha nincs forgalom és Ni =0. (Ezeket az eseteket a program automatikusan kiküszöböli anélkül, hogy a gyakorlatban változna a célfüggvény optimálásával elért eredmény. A járműszámokra, náluk nagyságrenddel kisebb véletlen számokat szuperponál.) Ekkor (3.8) szerint, a legnagyobb Nk –hoz tartozó uk(t)=1, minden többi ui(t)=0.
u k (t )
n
E( N
k
N i ) , (k=1,2,…,n).
i 1;( i k )
(3.8)
Az összefüggésben, E(x) függvény a (3.3) szerint van definiálva. A 7. ábra alapján, ha az u1=1 (függőleges irányú) esethez tartozó irányban engedjük az áramlást, akkor a tartomány szakaszain dt idő alatt átadott összes járműszám: N1 := NS1X1 NX1X3 NX3S3 NS2X2 NX4S4
(3.9)
(Az egyenlőség jobb oldalán, a N utáni karakterek jelzik, hogy melyik szektorról melyik szektorra történt az átadás, pl. NS1X1 esetben S1-el jelölt sűrűségűről az X1-el jelölt sűrűségűre.) Ha az u2=1-u1=1 (vízszintes irányú) esethez tartozó irányban engedjük az áramlást, akkor a tartomány szakaszain dt idő alatt átadott összes járműszám: N2 := NS2X2 NX2X4 NX4S4 NS1X1 NX3S3
(3.10)
Ha tehát, a t időpontban, dt időhosszra optimális döntést kívánunk hozni, akkor ez a következő vizsgálattal eldönthető: ha: N1 > N2 akkor u1=1, egyébként 1-u1=1. A vizsgálat eredményét az alábbi függvén valósítja meg:
u1:=E(N1-N2)
(3.11)
Egyszerű számítással az alábbi képlet adódik: u1 E( NX1X3 NX2X4)
(3.12)
- 26 -
Tehát látható, hogy bár - a kezdeti egyenletben - minden átadást figyelembe vettünk a tartományon, a döntés szempontjából csak a lámpa által összekapcsolt szakaszokon, a „zöld” irányokban átáramló járművek száma a meghatározó. Ezen szakaszoknál viszont, mérvadók a lámpa előtti és a lámpa utáni szakaszon fellépő járműsűrűségek, a szakaszok hossza és a megengedett maximális sebesség értéke is! (Természetes, hogy azok az átadásokhoz tartozó járműszámok, amelyek a lámpa állapottól függetlenül, mindkét esetben megvalósultak kiesnek a számításból.) Az N meghatározásához, a rendszer differenciálegyenlet-rendszeréből származó alábbi összefüggéseket használjuk fel:
NX1X3:=
NX2X4:=
S( x3 ) ( l3 V ( 1 x3 ) l1 V ( 1 x1 ) ) E( x1 ) x1 dt ( l1 l3 ) h S( x4 ) ( l4 V ( 1 x4 ) l2 V ( 1 x2 ) ) E( x2 ) x2 dt
(3.13)
( l2 l4 ) h
Ezeket behelyettesítve az u1-re felírt E függvénybe, meghatároztuk u1 –et, amely minden időpillanatban, a tartományban elhelyezkedő rendszer állapotjellemzőitől függ: S( x3 ) ( l3 V ( 1 x3 ) l1 V ( 1 x1 ) ) E( x1 ) x1 dt S( x4 ) ( l4 V ( 1 x4 ) l2 V ( 1 x2 ) ) E( x2 ) x2 dt u1 := E ( l1 l3 ) h ( l2 l4 ) h
(3.14)
Az optimális u1 tehát, meghatározható minden t+k*dt (k=0,1,2,…,n) mintavételezési időpontban. Valóságos közlekedési rendszernél a lámpa nem állítható át bármilyen rövid időintervallumon, ezért vizsgálatunknál minimális „zöld időt” írtuk elő, amelyet 30 sec-ban állapítottunk meg. További feltétel az ugyanazon optimális döntés ismétlődésének figyelése: ha egymás után 3-szor ugyanaz az optimális döntés lép fel u1re, akkor beiktatunk egy 30 sec-os időtartamra vonatkozó ellentétes döntést. Ez szükséges, mivel a keresztirányban is el kell engedni a járműveket, még akkor is, ha minimális számú jármű várakozik erre ott. (Természetesen a definiált legrövidebb „zöld idő” lehet rövidebb is és az egymás utáni azonos u1 -ek számát megszakító feltétel is módosítható.)
- 27 -
Tekintsünk először egy olyan rövid időtartamú esetet, amelynél s1 inputsűrűség maximumai eltérnek s2 inputsűrűség maximumaitól. (3.3 és 3.4. ábrák Függelék I.-ben találhatók) Az outputok sűrűségei mindkét kimeneten egyformák és állandók, s3=s4=0,5. A 3.3-3.10 ábrákon (Függelék I.-ben találhatók) az optimális irányítás eredményei találhatók. Ez alapján látható, hogy 400 sec-ig és 800 sec-tól az s1 irány kap elsőbbséget (hosszan tartó u1=1 zöld jelzések), majd a 400 -800 sec-os intervallumon az s2 irány működésének támogatása (hosszan tartó u2=1 zöld jelzések) lép életbe. A 3.11-3.18 ábrákon (Függelék I.-ben találhatók) a periódus idő állandó, egy irányban 2 percig zöld, majd 2 percig piros a lámpa. Már az ilyen rövid ideig tartó átmeneti forgalmi különbségek esetében is elérhetők kedvező eredmények az optimális irányításnál: mintegy 45 -50%-al megnövelhető a kereszteződésen áthaladó járműszám egy hagyományos fix programmal működő kereszteződéssel
szemben,
3.19-3.21.ábrák
(Függelék
I.-ben
találhatók).
Megállapítható, hogy az optimális irányítás nagy előnye akkor jelentkezik, amikor az egyes irányokban tartósan jelentős forgalomkülönbségek lépnek fel, ilyenkor 45 -50 %os többlet is felléphet a kereszteződésen áthaladó járműszám esetén, a hagyományos fix programmal működő kereszteződéssel szemben. Tévedés lenne azt gondolni, hogy csak az inputoknak van ilyen szerepe a kereszteződéseken történő áthaladásoknál! A 3.22-3.32 ábrákon (Függelék II.-ben találhatók) épp az látható, hogy a kereszteződések utáni szektorokban (az outputoknál) kialakult forgalomsűrűség hogyan akadályozza meg, ill. segíti az átjutást. Ebben az esetben, az s3 outputsűrűség maximumai szintén eltérnek s4 outputsűrűség maximumaitól, és a maximumoknál torlódások lépnek fel a kereszteződés mögött (3.22 és 3.23. ábrák Függelék II.-ben találhatók) Az intputok sűrűségei mindkét bemeneten egyformák és állandók, s1=s2=0,5.
- 28 -
Megállapítható, hogy az optimális irányítás előnye akkor is jelentkezik, (3.30., 3.32. ábrák Függelék II.-ben találhatók) amikor az egyes irányokban a kereszteződés mögött is tartósan jelentős forgalomkülönbségek lépnek fel, és ilyenkor is megállapítható egy 45 -50 %-os többlet a kereszteződésen áthaladó járműszám esetén, a hagyományos fix programmal működő kereszteződéssel szemben.
- 29 -
6. A sajátfejlesztésű szoftver
6.1. Általános leírás
Szoftverünk a nagyméretű közúti közlekedési rendszerek modellezésére kifejlesztett mérnöki program. Működését a fentiekben összefoglalt, matematikailag egzakt módon leírt nemlineáris hálózati modell szabja meg. A közlekedési infrastruktúra
egyes
elemeinek
(sávok,
jelzőlámpák,
gyalogosátkelő
helyek,
kerékpárutak, stb.) interaktív felületen történő grafikus felvitelével és a hálózat alkotóinak minden eddiginél pontosabb paraméterezhetőségével, a szoftver leképezi a hálózati gráfot, és egyedülálló gyorsasággal elvégzi a szimulációt. Szoftverünk olyan komplex analízist tesz lehetővé, melyben már futásidőben azonosíthatóak a problémás szakaszok, továbbá diagramokkal alátámasztva vizsgálhatók a közlekedési rendben, az úthálózat geometriájában, vagy akár a várható forgalmi viszonyokban történő változások hatásai. A szoftvert .NET keretrendszerre írtuk C# nyelven, a Microsoft Visual C# 2008 Express segítségével. Az implementálást gondos tervezés előzte meg, így a rendszerspecifikáció, az alkalmazási körülmények definiálásra kerültek. Meghatároztuk a rendszerkövetelményeket, és megterveztük a program struktúrát, azt szem előtt tartva, hogy objektumorientált, könnyen továbbfejleszthető, moduláris felépítésű. Az egyes elkészült modulok verifikációját követően a rendszer validálásával igyekeztünk biztosítani a hibátlan működés megtartását. A rendszert dinamikus teszteléssel vizsgáltuk több ciklusban, konformitási és hibakereső tesztek futtatásával. Az eredményeket referencia eredményekkel is összevetettük. A szoftver alkalmazta modell helyes implementálását egy másik tanulmány keretében validáltuk. Phd hallgató kollégánk GPS készülékkel és videokamerával összekötött személygépjárművel méréseket végzett terepen, amely igen alacsony hibahatárral közelítette a szoftverrel végzett szimulációk eredményeit [13]. Szoftverünkkel alapvetően: Tehermentesítés-analízis: fennálló közlekedési problémák elemzése; megoldási alternatívák készítése, tesztelése
- 30 -
Hatás-analízis: kiépített infrastruktúra fejlesztésének kockázatmentes vizsgálata Számítások készítése a tervezői szakaszban: Útszakaszok, úthálózatok átépítését, kiépítését megelőző tanulmányok készítése, ennek függvényében a tervek módosítása → stabil, dinamikus infrastruktúra már a kezdetektől. végezhető. Továbbá kiegészítettük a szoftvert egyéb praktikus alkalmazási területekkel: Rendkívüli események szimulációja (balesetek, útépítések, megkülönböztetett jelzést használó járműkonvojok elhaladása, rendezvények, stb.) Útvonal-választás optimalizációja (két tetszőlegesen kiválasztott pont között a különböző szempontok – idő, fogyasztás, útvonal – szerinti legoptimálisabb útvonalra javaslatot tesz) Jármű nyomkövetés (egy kijelölt útvonalon haladó jármű menetidő karakterisztikái számíthatók a nap bármely időpontjaiban meghatározott indulást feltételezve). Szoftverünk olyan innovatív technikákat is képes alkalmazni működésében, mint az adaptív lámpák (intelligens online szabályozás visszacsatolással), vagy a peremlámpák (egész tartományokba történő behajtás-korlátozás szabályozása).
- 31 -
6.2. Forgalomvizualizáció 3D -ben
A vizualizáció a modern szimulációs eszközök egyik jellemzője és erőssége. Ezek nem csak a mérési eredményeket képesek megjeleníteni, hanem a forgalmi viszonyokat is tudják érzékeltetni valamilyen szoftveres megoldással.
Az alábbiakban egy ilyen
megoldást tárgyalunk, amellyel az általunk fejlesztett PannonTraffic 3-as alkalmazást bővítettük ki. Az alábbiakban pár informatikai eszközre és szabványra hivatkozni fogunk, azonban ezeknek részletes kifejtése és tárgyalása nem célja ennek a dolgozatnak, feladatunk elsősorban az általunk meghozott tervezői döntések és technikai megoldások ismertetése. A mi modellező-szimuláció szoftverünk korábbi verziói ilyen szempontból nem voltak túl látványosak. A szimuláció futása közben a modell térképén az egyes sávok színének változtatásával érzékeltettük, hogy az egyes útszakaszok között milyen forgalmi különbségek alakulnak ki. Természetesen a szimuláció lefutását követően a szoftver által prezentált eredmények alapján a felhasználó hozzájutott a számára szükséges információkhoz, azonban a korábbi munkánkkal kapcsolatban az egyik leggyakrabban megfogalmazott észrevétel a forgalomvizualizáció hiányára vonatkozott. A szoftverünk mögött álló modell makroszkopikus, emiatt nem ad lehetőséget a járművek egyedi helyzetének direkt lekérdezésére, azonban a makroszkopikus jellemzőkből következtethetünk a járművek egyedi pozíciójára, mikroszkopikus állapotváltozókra, még ha ez a következtetés valójában csak a lehetséges értékek becslése. A forgalomvizualizáció feladata alapvetően eltér az eddig elkészített alkalmazástól, így kézen fekvő volt, hogy egy különálló szoftverben készítsük el a vizualizációt. Értelemszerűen így ennek a különálló alkalmazásnak le kell kérdeznie a makroszkopikus
modellező-szimulációs
szoftvertől
a
makroszkopikus
állapotjellemzőket, meg kell határoznia az egyes mikroszkopikus elemek megfelelő jellemzőit és meg kell jelenítenie a forgalom animációját.
- 32 -
Lekérdezés Makroszkópikus modellezőszimulációs alkalmazás
Mikroszkópikus vizualizáció Válasz
9. ábra: A vizualizáció architektúrája
El kellett döntenünk, hogy milyen technikákat alkalmazunk ennek a kommunikációnak a lebonyolítására. Két alternatíva állt előttünk, az offline online megvalósítás. Az előbbi esetben a szimuláció lefutását követően történik meg a lekérdezés. Ennek hátránya hatalmas mennyiségű adatot kell átadni a mikroszkopikus vizualizációnak, például az összes belső szakasz járműsűrűségét minden egyes szimulációs
időpillanatban.
Ennek
a
hatalmas
adatmennyiségnek
a
tárolása
hatékonysági problémákat vet fel. Előnye ugyanakkor, hogy a vizualizáció akár teljesen független lehet a makroszkopikus szoftvertől: akár egy nagyméretű fájlban is átadhatóak a szimulációs eredmények. Ezzel szemben az online megvalósítás esetén sokkal több, de csak az adott időpillanatra vonatkozó lekérdezés történik, így nem kell az egész számítás összes állapotváltozójának összes időpillanatában számított értékét átadni, csupán az adott időpillanatban aktuális értékeket. Végül az online megoldás mellett döntöttünk, mivel az összes állapotváltozó teljes időtartamra történő tárolását el kívántuk kerülni. Emellett meg kell említeni, hogy a későbbiekben a renderelt vizualizáció videóra rögzítésének megvalósításával offline módon is használhatóvá tehetjük alkalmazásunkat.
6.2.1. Online típusú vizualizáció
Első lépésként meg kellett határozni azt az interfészt, amelyen keresztül a vizualizáció lekérdezheti a szimuláció állapotát. Az interfész kialakításának fontos eleme, hogy szabványos technológiát választottunk. Így az interfész és a kommunikáció ismeretében
- 33 -
bárki saját vizualizációs engine-t készíthet a jelenlegi szimulációs szoftverhez, vagy a saját szimulációjának forgalmi viszonyait megjelenítheti az általunk készített vizualizációs alkalmazással. További, a fejlesztést megelőző döntés volt az, hogy milyen technológiát alkalmazunk a forgalommegjelenítő szoftver elkészítésénél. Tekintve, hogy a szimulációs alkalmazás a Microsoft .Net 3.5-ös keretrendszerét használja, kézenfekvő volt, hogy a megjelenítő szoftvernél
is
ezt
alkalmazzuk.
Önmagában
a
Net
nem
rendelkezik
3D
osztálykönyvtárral, így nekünk kellett eldönteni, hogy milyen 3D-s megjelenítést alkalmazunk. Választhattunk a közvetlen Direct 3D-s vagy OpenGL-es megjelenítések közül, vagy valamilyen 3D grafikus motor felhasználásával oldjuk meg a kérdést. Végül az ingyenesen használható Mogre grafikus motort választottuk, amely a közkedvelt Ogre 3D engine .Net-re történő portolása. A Mogre képes a Direct3D-vel és az OpenGL-lel történő megjelenítésre is, továbbá a .mesh kiterjesztésű 3D modellek megjelenítésére (erre a formátumra a népszerű .3ds, .blender és .max formátumú modellek átkonvertálhatóak). A már említett interfészre visszatérve: a .Net 3.5 –által támogatott számos lehetőség közül a Windows Communication Foundation –t választottuk; a szimulációs alkalmazás egy webszolgáltatást publikál, amelyhez csatlakozva, és megfelelő metódusait meghívva vezérelhető a szimuláció, és lekérdezhetőek a szükséges adatok. Ennek a megoldásnak az a rendkívül nagy előnye, hogy a szimulációs szoftver és a megjelenítő alkalmazás akár fizikailag különálló, egy hálózaton lévő számítógépeken is elhelyezhető, így a megjelenítés nem terheli le a számítási kapacitást. Mint látni fogjuk, a jelenlegi megoldásban a hívónak is kell publikálnia egy webszolgáltatást, amely egyetlen metódust tartalmaz. A kommunikáció lépései: 0. Előkészületek: meg kell adni a vizualizációs alkalmazásnak a szimulációs alkalmazást futtató gép IP címét illetve a portot, amelyet használ. A szimulációs alkalmazással meg kell szerkeszteni vagy be kell tölteni a modellezett úthálózat gráfját.
- 34 -
1. Kapcsolódás: A megjelenítő alkalmazás a GetMap metódusát hívja meg a szimulációs alkalmazásnak: ez visszaadja a hálózatot reprezentáló XML-t. Ennek segítségével állítja elő a vizualizáció a megjelenítendő úthálózatot. 2. A vizualizáció egy Step metódushívással lekérdezi a modell állapotát, és lépteti azt a következő (tipikusan az 1 másodperccel későbbi) szimulációs időpillanatba. A megjelenítő alkalmazás a válasz alapján frissíti az állapotát, míg a szimuláció addig vár, ameddig nem érkezik egy újabb Step kérés a vizualizációtól. Ekkor ismét a 2. ponttal folytatódik a szimuláció. 3. Amennyiben a vizualizációt megtekintő személy bele szeretne pörgetni a szimulációba – azaz egy későbbi időpont történéseit szeretné nyomon követni az animáción – akkor a megfelelő billentyű leütésével megteheti azt. Ekkor a vizualizációt
végző
alkalmazás
egy
JumpToTime
metódushívással,
paraméterben a célidőponttal elküldi a szimulációnak a célidőpontot. Ezt követően a szimuláció egymás után annyiszor végzi el a számítási lépéseket, míg t a célidőpontot eléri. Ha ez megtörtént, akkor a vizualizációs alkalmazás által publikált, Ready metódust hívja meg, hogy jelezze: folytatódhat a megjelenítés. Ekkor a vizualizáció a 2. lépéssel folytatja a kommunikációt. 4. A 24 órás modellidő elérésekor a megjelenítő alkalmazás kilép, befejezi a futását, míg a szimulációs szoftver visszaáll a 0-ik lépés utáni állapotba.
- 35 -
Vizualizáció
Szimulációs alkalmazás
GetMap: úthálózat lekérdezése Válasz a GetMap kérésre: Úthálózatot reprezentáló XML
Step A t -ik pillanatra vonatkozó makroszkopikus jellemzők
Step A t+1 -ik pillanatra vonatkozó makroszkopikus jellemzők
Step A t+2 -ik pillanatra vonatkozó makroszkopikus jellemzők
JumpToTime: belepörgetés a szmulációba
Ready
} } }
A számítási lépések egyszeri lefuttatása
A számítási lépések egyszeri lefuttatása
A számítási lépések egyszeri lefuttatása
}
n – (t+2) -n darab lefuttatása a számítási algoritmusnak
Step A t+n -ik pillanatra vonatkozó makroszkopikus jellemzők
Step
10. ábra: a két szoftver kommunikációjának lépései
A
makroszkopikus
modell
adatai
tehát
legfeljebb
másodpercenként
állnak
rendelkezésre, a vizualizáció feladata, hogy
- 36 -
ebből megbecsüljön bizonyos makroszkopikus jellemzőket ezeket a jellemzőket két „egymást követő makroszkopikus időpillanat között” módosítsa, hogy a lehetséges forgalmi viszonyokat közelítse és megjelenítse az animált forgalmat.
6.2.2. Animáció megvalósítása Az animációnak és a járművek pozíciói követésének két fontos része van: az egyenes szakaszokban történő járműkövetés és a kanyarokban, kereszteződésekben végzett követés. Megkötése a jelenlegi megoldásnak, hogy nem kezelünk szintkülönbségeket, a járművek sík terepen haladnak. Az animációs megoldás jelenlegi fázisában nincsenek megjelenítve az előzések, balesetek és a gyalogátkelőhelyek; ám tekintve, hogy makroszkopikus modell alapján működik a vizualizáció, és ezek hatása a nagyobb vagy kisebb járműátadásokban (és így az átlagsebesség változásában) nyilvánul meg, ezeket a jelenségeket nem szükséges megjeleníteni a vizualizációban.
6.2.3. Kezdeti állapot A kezdeti állapot alatt a szimuláció és a vizualizáció első pillanatát értjük, azaz az első szimulációs ütemet, amikor a járművek pozícióját meg kell határozni a hálózaton. Ennek jelentősége elméleti, hiszen az általunk készített szimulációs alkalmazás mindig a t=0 időpontról indul, ekkor pedig rendszerint üres a közlekedési hálózat. Azonban a szimulációba történő „beletekeréskor” a korábbi, megjelenítéskor kiszámolt pozíciók elvetésre kerülnek, és újból meg kell határozni a járművek pozícióját. Mivel a „beletekerés” problémáját is megoldja a kezdeti állapot kérdése, mindenképp foglalkozni kellett vele. A következőkben a kezdő pillanatként hivatkozunk az „előre tekert” szimuláció első pillanatára is. A jelenlegi megvalósításban a kezdeti pozíciók és sebességek meghatározására egy nagyon egyszerű algoritmust valósítottunk meg: a makroszkopikus modell alapján megkapott, a sávokon kiszámolt sűrűségek alapján helyezi el a szoftver a járműveket,
- 37 -
annyit, hogy a sáv sűrűsége minél inkább a modellben kiszámolt sűrűség legyen. A pozíciót, azaz hogy ennek a sávnak a jármű hányad részét tette már meg, véletlenszerűen határozza meg az alkalmazás. Ennek következménye, hogy ebben a vizualizáció számára első időpillanatban a járművek összeérhetnek, „ütközhetnek”. Azonban, mint látni fogjuk, pár másodperccel az indítást követően az ütközések megszűnnek majd, valószerű képet kapunk a forgalomról. Másik következménye, hogy a kanyarokban, kereszteződésekben a kezdeti időpillanatban nem lesznek járművek.
6.2.4. Járművek haladása az egyenes szakaszokon Mint már említettük, a járművek az első időpillanatban sávonként véletlenszerű távolságra vannak egymástól. Haladásukat az előttük lévő járműtől mért távolság, a következő kereszteződéstől vagy kanyartól mért távolság illetve a makroszkopikus modellből vett, a szimulációval kiszámított adott t időpillanatra vonatkozó átlagos, sávon mért sebesség határozza meg. A járművek egyenes szakaszon történő haladását úgy kellett megvalósítani, hogy azok ne ütközzenek össze, és a lehető legnagyobb sebességgel haladjanak. Az egyenesben a járművek pozíciójának kiszámítására a következő algoritmust használjuk a vizualizációnál: Egy járműpéldány egyedi, v sebességét csökkentjük egy a konstanssal, amennyiben az előtte haladó járműtől mért távolság egy c konstansnál kisebb. A járművek egyedi, v sebességét növeljük egy a konstanssal, amennyiben az előttük haladó jármű távolsága nagyobb a c konstansnál és a jármű sebessége a sáv átlagsebességénél kisebb. Amennyiben a járműpéldány távolsága a következő kereszteződés bejárati pontjától kisebb, mint egy c2 konstans értéke, akkor csökkentjük a v sebességét egy a konstanssal. A módosított v sebességből és a sáv irányából egy vektort képezünk, ezt a vektort pedig megszorozva a legutóbbi képalkotás óta eltelt idővel hozzáadjuk a jármű pozícióját megadó vektorhoz, így kapjuk meg a jármű új pozícióját. A
- 38 -
jármű elforgatása pedig a sáv irányának felel meg, azaz a járművek a vizualizációban pont abban az irányban haladnak, mint amerre a sáv halad. Az említett konstansok a jelenlegi megvalósításban minden jármű esetén megegyeznek, amennyiben bizonyos eltéréseket megengedünk az értékekben, akkor egy még változatosabb vizualizációt kaphatunk.
6.2.5. Járművek haladása a kereszteződésekben, kanyarokban Fontos megemlíteni, hogy a vizualizáció jelenlegi verziójában a kanyarokat és a kereszteződéseket hasonló módon kezeljük a járművek haladása szempontjából, ezért itt csak a kereszteződéseket tárgyaljuk. A kereszteződés belépési pontját (ez gyakorlatilag a sávok vége) elérve a járművek megadják a kereszteződésben az útvonalukat. Ezt mi a szoftverben másodfokú görbékkel közelítettük. A függvény deriváltjából határozzuk meg a jármű elfordulását. A kereszteződéseknél a járművek ütközéseinek elkerülését a következő módon oldottuk meg: egy jármű a kereszteződésbe történő belépéskor beregisztrálja a kereszteződésben az útvonalát. Ha végighaladt a kereszteződésben megadott útvonalon, akkor pedig kiregisztrál. Minden egyes regisztrációkor leellenőrzi az algoritmus, hogy a megadott pályát nem metszi e már beregisztrált jármű. Amennyiben metszi azt, nem engedi a járművet belépni a kereszteződésbe. A várakozó járművek közül a makroszkopikus modellben megadott elsőbbségi viszonyokat figyelembe véve engedélyezi a csomópont a kereszteződésbe a járművek belépését, oly módon, hogy megvizsgálja a megadott kapcsolat béta tényezőjét, és csak akkor engedélyezi a kapcsolatnak megfelelő pályán történő áthaladást, ha a hozzá tartozó béta tényező nagyobb, mint az összes várakozó jármű kereszteződésbeli pályái kapcsolatának béta tényezője.
6.2.6. Elosztási tényezők és sűrűségek figyelembe vétele A makroszkopikus modell járműsűrűségei tehát közvetlenül csak az első pillanatokat határozzák meg. Ezt követően annak eldöntése, hogy az egyes járműpéldányok merre haladnak a kereszteződésekben, nemdeterminisztikus. Azonban a lehetséges célsávok
- 39 -
eloszlása függ a makroszkopikus modellben megadott járműelosztási tényezőktől és a sávok t időben számított sűrűségétől. Összességében annak valószínűsége, hogy egy jármű az i-k sávról a j-ikre halad tovább a vizualizációban, a
minden k –ra, amely kapcsolatban van i-vel. formula alapján történik, ahol ρvizualizáció j(t) a vizualizáció t–ik pillanatában a megjelenített j-ik sávon lévő sűrűség, ρmakro j(t) a makroszkopikus modell j-ik sáv sűrűségének t–beli értéke, αij(t) az ij kapcsolat t-ben lévő alfája, az összegzés pedig a sávról elérhető (topológiailag kapcsolatban álló) sávokon megy végig. Magyarázat: Amennyiben αij értéke 0, az a valóságban azt jelenti, hogy a szabályok tiltják az ilyen irányú haladást. Ekkor a Pij(t) értéke is nulla lesz. Amennyiben αij(t) értéke 1, akkor validált modell esetén minden αik értéke 0, ahol k nem egyenlő j. Ekkor Pij értéke 1, Pik =0, ha k nem egyenlő j. Az is látható, hogy amennyiben az adott j célsávon a makroszkopikus esethez képest a vizualizációban kevesebb a jármű, akkor a ρ
makro k(t)
-ρ
vizualizáció j(t)
értéke negatív, amennyiben több a jármű a makroszkopikus
esetben a célsávon, akkor az említett különbség pozitív. Így a második esetben – azonos alfával számolva – nagyobb lesz a valószínűsége annak, hogy a j–ik sávra megy a jármű, mint az elsőben.
- 40 -
6.3. Bing Maps integráció
A modellező szoftver a modellezendő hálózatot két rétegben jeleníti meg: -
megjeleníti a hálózati gráfot a hozzá tartozó modellelemekkel (modell-réteg)
-
megjelenítheti a hálózathoz tartozó háttérbe illesztett térképet (térkép-réteg)
A cél a Bing Maps integrációnál az volt, hogy a modell mögé betölthető háttér ne statikus .jpg vagy .png kép legyen, hanem internetkapcsolat megléte esetén a Microsoft Bing Maps szolgáltatásait felhasználva az alkalmazás automatikusan letöltse és összeállítása a háttérbe beillesztett térképet. Emellett lehetőség nyílt arra is, hogy a felhasználó munkáját automatizált funkciókkal könnyítsük meg, így implementálásra került az egérmutató világkoordinátájához tartozó földrajzi nevek kijelzése, amely nagyban megkönnyíti a térképen való tájékozódást és a megfelelő modellelem beazonosítását. További, idén implementált kényelmi funkció, hogy lehetőség van egyes modellelemek - kereszteződések, útszakaszok - pozíció alapján történő automatikus elnevezésére, hiszen a modellelemek pozíciója alapján a Bing Maps szolgáltatáshoz fordulva lekérdezhető egy-egy útszakasz vagy kereszteződés neve. Emellett kísérlet történt a hálózati gráf automatikus, Bing Maps alapú generálására, azonban ez a jelenlegi Bing Maps interfész segítségével még nem kivitelezhető. Azért esett a választás a Bing Maps –re, mivel ez biztosította a legmagasabb szintű, legkönnyebben használható interfészt (emellett a Google Maps és a Yahoo Maps által nyújtott szolgáltatásokat vizsgáltuk meg) A félév során megvalósításra került a Microsoft Bing Maps service-hez történő csatlakozás, a Bing Maps által biztosított szolgáltatások felhasználása, valamint az általuk nyújtott adatok lekérdezése. Technikailag ez úgy történik, hogy a Bing publikál egy web szolgáltatást, amelynek megfelelő metódusait meghívva lekérdezi a távoli szervertől a keresett adatokat, térképrészleteket, lokalizációs információkat. A Microsoft Bing Maps által biztosított szolgáltatások közül a következőket használtam fel:
- 41 -
- A Microsoft Bing Maps Imagery Service segítségével lekérdezhető egy adott szélességi - valamint hosszúsági fokhoz, továbbá részletességhez tartozó térképrészlet képe. - A Microsoft Bing Maps Geocode Service földrajzi szélességi valamint hosszúsági koordinátát képes címre, valamint címet földrajzi szélességi és hosszúsági koordinátákra fordítani. - A Microsoft Bing Maps Search Service Ezen szolgáltatásokat nyújtó interfészeket a következő wsdl–ek írják le: http://dev.virtualearth.net/webservices/v1/metadata/geocodeservice/geocodeservice.wsdl
valamint http://dev.virtualearth.net/webservices/v1/metadata/imageryservice/imageryservice.wsdl
A feladat kivitelezése során meg kellett oldani, hogy a hagyományos, 2 dimenziós koordináták (ModelPoint valamint ScreenPoint) szerint kiszámoljuk az egyes térképrészletek pozícióját, majd ezt át kellett konvertálni szélességi és hosszúsági koordinátára, hiszen az Imagery Service ilyen típusú adatokat vár. A térkép testreszabásának és letöltésék a folyamata a következő: 1. A felhasználó megad egy települést vagy pontosabb címet, amelyen el kívánja készíteni a hálózatát. Ekkor az alkalmazás a Geocode szolgáltatáshoz fordul, és lekérdezi a címhez tartozó szélességi és hosszúsági értékeket. 2. Ekkor megjelenik egy előnézeti kép a megadott területről, és megadhatóak a pontosabb részletek, mint a vizsgálandó terület szélessége és hosszúsága. Beállítható a nagyítás részletessége. Ezek a jellemzők szintén befolyásolják az előnézeti képen megjelenő térképrészletet.
- 42 -
11. ábra: A térképre vonatkozó beállítások megadása 3. A Részletes térkép letöltése gomb megnyomásakor a rendszer letölti az automatikusan
kiszámolt
szélességi
és
hosszúsági
értékekhez
tartozó
térképrészleteket, és ezeket összeilleszti. 4. Az elkészítendő úthálózathoz tartozó térképet offline használat esetén is meg kell tudni jeleníteni a háttérben, ezért a letöltés befejezésével a rendszer felkínálja a letöltött és összeillesztett háttérkép mentési lehetőségét. 5. Ekkor megjelenik a letöltött háttérkép, el lehet kezdeni a hálózat szerkesztését.
12. ábra: A letöltött háttérkép megjelent a háttérben, megkezdődött a modellelemek felvétele, az alkalmazás címsorában pedig megjelenik az aktuális egérpozícióhoz tartozó cím
- 43 -
A pontos földrajzi koordináták ismeretében lehetővé vált az egér pozíciójához „legközelebb” található cím kijelzése a felhasználói felületen. Ehhez az egér értékéhez tartozó koordinátát a rendszer először modell-koordinátává alakítja, majd átkonvertálja a földrajzi szélességi és hosszúsági értékké.
ScreenPoint
ModelPoint
Latitude & Longitude
WebS erv
ice
Geocode Service
Address
13. ábra: Adott egérpozícióhoz tartozó cím meghatározása A fenti lépésekből látható, hogy hogyan történt meg az útkereszteződések és sávok automatikus névgenerálása azok pozíciója alapján. Mivel ezek modell-koordinátája rendelkezésre áll, ez szélességi és hosszúsági értékre konvertálható, majd a Geocode Service segítségével címre fordítható. Lényeges, hogy fent maradt az egyedi modellelem-nevek megadásának lehetősége, a kereszteződések és sávok beállító ablakában egy kattintással állítható be a földrajzi koordináták alapján javasolt név. Amennyiben a szerkesztett hálózat mentésre kerül, nem kell ismét megadni a földrajzi információkat, mivel ezek elmentésre kerülnek a hálózat-leíró xml-be.
- 44 -
7. Összefoglalás Részletesen tárgyaltunk egy, a pozitív NL dinamikus rendszerek osztályába tartozó közúti közlekedési hálózati modellt. Dolgozatunkban ismertettük az általunk fejlesztett algoritmusokat és működésüket, megmutattuk azok gyakorlati alkalmazhatóságának jelentőségét. Bemutattuk, hogy az alkalmazott matematikai modell segítéségével biztosítani tudjuk egy kiválasztott tartomány stabilitását. A csomópontok maximális járműátbocsátására MPC-alapú rapid irányítási stratégiát határoztunk meg, amely irányítás a fázisba sorolást alapul véve, egyaránt figyelembe veszi a csomópont, illetve kereszteződés minden bemenetén és kimenetén is a járműsűrűségeket. A modelleken végzett számítások során az átbocsátott járművek száma mintegy 40-50 %-os növekedést eredményezett az optimális csomópontok működtetése esetén. A hasonló területekre alkalmazott szoftverekkel (VisSim) való összehasonlítás megtörtént, és megállapításra került, hogy az egyedülálló modellünk következtében a szimuláció gyorsaságánál fogva alkalmas olyan feladatokra (valós idejű szimuláció online szabályozás megvalósítása, forgalmi szituációkra gyors reagálás) is, melyekre a konkurens szoftverek nem képesek.
8. Köszönetnyilvánítás
Szeretnénk köszönetet mondani Dr. Péter Tamás témavezetőnk segítőkész munkájáért és mindenkori hasznos útmutatásaiért. Külön köszönet illeti a rendelkezésünkre bocsátott tudományos cikkeiért.
- 45 -
9. Irodalomjegyzék
[1]
Péter T. - Bokor J.: Járműforgalmi rendszerek modellezése és irányításának kutatása. A jövő járműve, Bp,06,1-2 pp19-23.
[2]
Dr. Péter T. – Dr. Bokor J.: Nagy méretű közúti közlekedési hálózatok nemlineáris modelljének kapcsolati hipermátrixa. A jövő járműve,1-2. Budapest, 2007
[3]
Péter T. Nagyméretű nemlineáris közlekedési Közlekedéstudományi Szemle LVII.:(9) 322-331 (2007)
[4]
Péter T. Tetszőleges méretű nemlineáris közúti közlekedési hálózatok modellezése speciális hálózati gráffal, amelyben a gráf csúcsai általánosított szakaszok, a gráf élei a csúcsok közötti kooperálót leíró dinamikus relációk. A jövő járműve, III:(3-4) 26-29 (2008)
[5]
Kövesné Gilicze É. – Debreczeni G. Intelligens közúti közlekedési rendszerek és útjármű rendszerek matematikai modellezése és analízise, Kutatási jelentés BME Közlekedésüzemi Tanszék. Budapest, 2003.pp1-49.
[6]
Marasztó Zoltán Balesetelemzés lehetőségei fázisvezérléses csomópontokban 2009. http://www.vehicles.hu/maj/doc/maraszto.pdf
[7]
Péter T., Stróbl A., Fazekas S. Szoftverfejlesztés eredményei, a nagyméretű közúti közlekedési hálózatok analízisére és tervezésére. A jövő járműve,III:(3-4) 30-33 (2008)
[8]
Péter T. Járműforgalmi rendszerek modellezése és irányítása, célok, kutatási területek és eredmények. A jövő járműve, IV:(1-2) 59-78 (2009)
[9]
Tamas PETER, Michel BASSET Application of new traffic models for determine optimal trajectories, pp. 89-94. Sessions 1 Automation and Mechatronics. (1-C-1 Sistem Modelling and Control). Oct.21-Oct.23, INTERNATIONAL FORUM ON STRATEGIC TECHNOLOGIES (IFOST 2009) HoChiMinh City University of Technology, Viertnam.
hálózatok
modellezése
jelzőlámpás
[10] Dr. Péter T., Stróbl A., Fazekas S. Speciális matematikai modellt alkalmazó szoftver,
optimális útvonalak meghatározására. Budapest, 2009. Magyar Mérnökakadémia: Innováció és Fenntarható Felszíni Közlekedés Konferencia IFFK 2009. 1. szekció http://kitt.bmf.hu/mmaws/ [11] Dr. Péter T., Stróbl A., Fazekas S.: Hazai szoftverfejlesztés a nagyméretű közúti
közlekedési hálózatok folyamatanalízisére, Budapest, 2007 Magyar Mérnökakadémia: Innováció és Fenntarható Felszíni Közlekedés Konferencia1. szekció http://kitt.bmf.hu/mmaws/ [12] Péter T. Intelligens közlekedési rendszerek és járműkontroll. Előírások a közlekedés
biztonságának növelésére. Bp.2005. pp.1-465. Magyar Mérnökakadémia Symposium. [13] Dr. Péter T., Bede Zs. Egyedi sebességfolyamatok kinyerése, nagyméretű városi
úthálózatok modellezése során. 2009. Magyar Mérnökakadémia: Innováció és Fenntarható Felszíni Közlekedés Konferencia IFFK 2009. 1. szekció http://kitt.bmf.hu/mmaws/
- 46 -
[14] Yibing
Wang, Markos Papageorgiou, Albert Messmer, Pierluigi Coppola, AthinaTzimitsi, Agostino Nuzzolo An adaptive freeway traffic state estimator, Automatica 45 (2009) 10_24
[15] Arneson and Langbort, Heather Arneson, Cédric Langbort Linear Programming Based
Routing Design for a Class of Positive Systems with integral and Capacity Constraints. Proceedings of the 1st IFAC Workshop on Estimation and Control ofNetworked Systems, Venice, Italy, September 24-26, 2009 [16] Gráf-elméleti
elemzése a svájci közúti és http://www.strc.ch/conferences/2007/2007_erath.pdf
vasúti
hálózatok
terhelésére.
[17] Monigl et al.: Assessing Sensitiveness to Transport. WP5 Case Studies – Budapest
Case. Budapest, 2009. [18] Vuchic, Vulkan R.: Urban transit systems and technology, 2007 [19] Cascetta, Ennio: Transportation systems engineering, 2001 [20] Fukui, Minoru: Traffic and granular flow’01, 2003 [21] Dios Ortúzar, Juan de: Modelling transport, 2006 [22] Magyarország számokban 2009 (magyar nyelven). KSH, 2010. július 16. (Hozzáférés:
2010. július 17.) http://portal.ksh.hu/pls/ksh/docs/hun/xftp/idoszaki/mosz/mosz09.pdf [23] Közlekedésfejlődés – Metro 4 projekt (Hozzáférés: 2010. október 2.)
http://www.metro4.hu/getfile.php?dir=db%2Fcikkek%2Ffiles&file=20060628oayN8T_ 35_kozlekedesfejlodes.pdf
- 47 -
10. Ábrajegyzék
14. ábra: A 2007. évi hazai összes forgalom az országos úthálózaton (forrás: BAUCONSULT) 15. ábra: Szegmensek és sebességértékek 16. ábra: A légtér hálózat, amelyet az alkalmazási példában használnak 17. ábra: a belső és külső hálózat kapcsolatai 18. ábra: a belső és külső hálózat kapcsolatai hipermátrixa 19. ábra: szintben eltolt ideális kereszteződés 20. ábra: Két egyirányú út egyszerű lámpás kereszteződése 21. ábra: Preferencia mátrix n=3 fázis esetében, minden lehetséges sorrendet felírva 22. ábra: A vizualizáció architektúrája 23. ábra: a két szoftver kommunikációjának lépései 24. ábra: A térképre vonatkozó beállítások megadása 25. ábra: A letöltött háttérkép megjelent a háttérben, megkezdődött a modellelemek felvétele, az alkalmazás címsorában pedig megjelenik az aktuális egérpozícióhoz tartozó cím 26. ábra: Adott egérpozícióhoz tartozó cím meghatározása
- 48 -
11.Függelék I.
3.3 ábra: s1 input sűrűség
3.4. ábra: s2 input sűrűség
3.5. ábra: optimális u1
3.6. ábra: az optimális u2=1-u1
3.7. ábra: x1 sűrűség optimális u1-nél
3.8. ábra: x2 sűrűség optimális u1-nél
- 49 -
3.9. ábra: x3 sűrűség optimális u1-nél
3.10.ábra: x4 sűrűség optimális u1-nél
3.11. ábra: s1 input sűrűség
3.12. ábra: s2 input sűrűség
3.13. ábra: u1 állandó periódusú
3.14. ábra: u2 állandó periódusú
- 50 -
3.15. ábra: x1 sűrűség 120 sec-os zöld u1-nél
3.16. ábra: x2 sűrűség 120 sec-os zöld u1-nél
3.17. ábra: x3 sűrűség 120 sec-os zöld u1-nél
3.18. ábra: x4 sűrűség 120 sec-os zöld u1-nél
3.19. ábra: összes átadott járműszám optimális és 120 sec-os zöld u1-nél
- 51 -
3.20. ábra: összes optimális többlet alakulása
3.21.ábra: %-os többlet az optimális esetben
- 52 -
12.Függelék II.
3.22. ábra: s3 output sűrűség
3.23. ábra: s4 output sűrűség
3.24. ábra: optimális u1
3.25. ábra: optimális u2
3.26. ábra: x1 sűrűség optimális u1-nél
3.27. ábra: x2 sűrűség optimális u1-nél
- 53 -
3.28. ábra: x3 sűrűség optimális u1-nél
3.29. ábra: x4 sűrűség optimális u1-nél
3.30. ábra: összes átadott járműszám
3.31. ábra: összes optimális többlet alakulása optimális és 120 sec-os zöld u1-nél
3.32.ábra %-os többlet az optimális esetben
- 54 -