НачатьНачать бесплатно

Транспортная модель: определение входных данных

Давайте соберём всё вместе и построим все компоненты модели.

Вам поручили оптимизировать работу светофоров в Чикаго, чтобы улучшить транспортный поток. В подобных ситуациях дискретно-событийная модель — отличный инструмент.

Первый шаг — измерить среднюю длину участков дороги между перекрёстками. По результатам замеров она составила в среднем 100 метров при стандартном отклонении около 20 метров, то есть водитель встречает светофор каждые 80–120 метров.

Ограничение скорости в Чикаго — 30 миль/ч (примерно 50 км/ч). Городские службы сообщили, что в среднем красный сигнал горит до 90 секунд. Начните с определения входных и выходных данных модели.

Это упражнение является частью курса

Дискретно-событийное моделирование на Python

Посмотреть курс

Инструкции к упражнению

  • Задайте среднее значение и стандартное отклонение для массива inputs["Dist_between_intersections_m"].
  • Примените распределение Гаусса для генерации значений RandomGener["Distance"].
  • Примените случайный метод для генерации целых чисел RandomGener["WaitTime"].

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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()
Редактировать и запускать код