Yo'l tarmog'i uchun voqea modeli

|
Yo'l tarmog'i uchun voqea modeli
|
bet | 3/4 | Sana | 16.05.2024 | Hajmi | 151,88 Kb. | | #238048 |
Bog'liq Modeling and control of traffic flows (UZB) — копия4. Yo'l tarmog'i uchun voqea modeli
Izolyatsiya qilingan chorrahani modellashtirish va boshqarishdan boshlab, biz shahar yo'llari tarmog'ini modellashtirishga yondashuvni tahlil qilishga o'tamiz. Shahar yo'llari tarmog'ini modellashtirish uchun qo'shni chorrahalardan transport oqimlarining o'zaro ta'sirini hisobga olish kerak, ammo butun tarmoqni markazlashtirilgan nazorat qilish modelning murakkabligini va hisoblash xarajatlarini sezilarli darajada oshirishi mumkin. Keling, har bir chorraha mustaqil ravishda boshqariladigan hodisalarga asoslangan modelga asoslangan yo'l tarmog'ini boshqarishga yondashuvni ko'rib chiqaylik.
Hodisalar tizimini modellashtirish hodisa oqimlarini yaratadigan va bir-birining voqealarini tinglaydigan bir nechta agentlarning tizim tuzilishini nazarda tutadi. Ushbu modellashtirish yondashuvidagi asosiy masala yig'ish va moslashtirish9 yordamida olingan hodisalarni qanday aniqlashdir. Shahar yo'llari tarmog'ini bog'langan chorrahalar tizimi sifatida modellashtirish mumkin. Keling, bunday tizimning hodisa modelini ko'rib chiqamiz va 10-moddada taklif qilingan Strukturaviy hodisa modeli yondashuvidan foydalangan holda hodisalar ierarxiyasini tuzamiz. Eng past darajada yo'l sensori tomonidan ishlab chiqarilgan xom sensor hodisalari, masalan, oqim zichligi oqimining joriy zichligi qiymati (C, k, d), bu erda C va k kesishish va u yerdagi harakat yo'nalishini, d esa zichlikdir. qiymat. Bunday hodisalar odatda sensor tomonidan ma'lum vaqt oralig'ida muntazam ravishda hosil bo'ladi.
Hodisalar ierarxiyasining keyingi darajasi domen voqealarini belgilaydi. Bizning holatlarimizda svetofor fazalarini simulyatsiya qilish bilan bog'liq voqealar mavjud. SwitchRed/SwitchGreen(C, k, T) kabi hodisalar svetoforning qachon o'tishini aniqlaydi, bu erda C va k kesishish va yo'nalishni, T esa o'tish sodir bo'ladigan vaqtni bildiradi. Ushbu hodisalar fazalarni hisoblash uchun mas'ul bo'lgan tizim komponenti tomonidan ishlab chiqariladi.
Holat hodisalari oldingi darajadagi hodisalardan olinadi va tizimda yuzaga keladigan yuqori tirbandlik, tirbandlik yoki bloklangan yo'l kabi murakkab vaziyatlar haqida signal berish uchun ishlatiladi. Masalan, OverloadedDirection(C, k) tipidagi hodisa C chorrahasidan k yo‘nalishi transport vositalari bilan haddan tashqari yuklangan vaziyatni bildiradi. SQL-ga o'xshash hodisani aniqlash tilidan11 foydalanib, biz ushbu hodisani SwitchRed va FlowDensity hodisalaridan quyidagicha olishimiz mumkin:
insert into OverloadedDirection
select switchEvent.C as C, switchEvent.k as k
from ( select C, k
from SwitchedRed.win:time(m minutes)
group by C, k
having median(T) > M ) as switchEvent,
FlowDensity.win:time(m minutes) as flowDensityEvent where
switchEvent.C = flowDensityEvent.C and
switchEvent.k = flowDensityEvent.k and
mean(flowDensityEvent.d) > D
Ushbu ta'rifdan ko'ramizki, haddan tashqari yuklangan yo'nalish oxirgi m daqiqada yashil fazalar uzunligining yarmidan ko'pi M dan kattaroq va transport oqimining o'rtacha zichligi D dan katta bo'lgan yo'nalish - yashil fazalar. uzoq, lekin shunga qaramay oqim zichligi yuqori. Xuddi shu printsipdan foydalanib, biz qarama-qarshi vaziyat uchun hodisani belgilashimiz mumkin - FreeDirection(C, k).
Nihoyat, ierarxiyada "Harakat hodisalari" darajasi mavjud. Bunday hodisalar davlat hodisalaridan kelib chiqadi va tizimdagi muayyan agentlar tomonidan bajarilishi kerak bo'lgan muayyan vaziyatga mos keladigan harakatlarni ko'rsatadi. Biz BypassCrossroad(C, k, C') hodisasini aniqlaymiz, bu transport vositalarining (haydovchilarning) C chorrahasining k yo'nalishini chetlab o'tish va uning o'rniga C' chorrahasidan o'tish harakatini belgilaydi:
insert into BypassCrossroad
select overloadedEvent.C as C, freeEvent.k as k, freeEvent.C as C’
from OverloadedDirection.win:time(m minutes) as overloadedEvent,
FreeDirection.win:time(m minutes) as freeEvent
where
nieghbour_crossroads(overloadedEvent.C, freeEvent.C) and
overloadedEvent.k = freeEvent.k and
not connects(overloadedEvent.C, freeEvent.C, freeEvent.k)
Xuddi shunday, shahar yo'llari tarmog'ida aylanib o'tishning yanada murakkab stsenariylari uchun voqealar aniqlanishi mumkin.
|
| |