Ulaşım modeli: model girdilerini tanımlama
Hadi hepsini bir araya getirelim ve model bileşenlerinin tamamını kuralım.
Chicago şehrindeki trafik akışını iyileştirmek için trafik ışıklarını optimize etmen isteniyor. Bu tür durumlarda ayrık olay simülasyonu (discrete-event model) oldukça faydalıdır.
İlk adım olarak kavşaklar arasındaki ortalama yol uzunluğunu ölçüyorsun. Ortalama 100 metre ve yaklaşık 20 metre standart sapma buldun; bu da bir sürücünün her 80-120 metrede bir trafik ışığıyla karşılaşmasının beklendiği anlamına geliyor.
Chicago’daki hız limiti 30 mph’dir (yaklaşık 50 km/s). Şehir yetkilileri, ışığın ortalama olarak en fazla 90 saniye kırmızı kaldığını belirtti. Modelinin giriş ve çıkışlarını tanımlayarak başla.
Bu egzersiz
Python ile Ayrık Olay Benzetimi
kursunun bir parçasıdırEgzersiz talimatları
inputs["Dist_between_intersections_m"]dizisinin ortalamasını ve standart sapmasını ayarla.RandomGener["Distance"]değerlerini üretmek için Gaussian dağılımını uygula.RandomGener["WaitTime"]için tamsayılar üretmek üzere rastgele bir yöntem uygula.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Define the model inputs
inputs = {"Dist_between_intersections_m": [____, ____],
"Speed_limit_ms": 50 * 1000 / (60 * 60),
"Max_waitTime_traffic_lights_sec": 90}
random_generated = {"Distance": [], "WaitTime": []}
for i in range(5000):
# Use the random package to generate pseudo-random values
random_generated["Distance"].append(random.____(inputs['Dist_between_intersections_m'][0],inputs['Dist_between_intersections_m'][1]))
random_generated["WaitTime"].append(random.____(0, inputs['Max_waitTime_traffic_lights_sec']))
# Plot the randomly generated distance "events"
plt.hist(random_generated["Distance"], bins=100)
plt.xlabel('# Events')
plt.ylabel('# Distance travelled (m)')
plt.show()