Прогнозирование плотности транспортного потока
Материал из MachineLearning.
м |
|||
Строка 5: | Строка 5: | ||
== Общее описание == | == Общее описание == | ||
- | Введем понятия и обозначения, которые в дальнейшем будут использованы в статье: АТС — автомобильное транспортное средство; | + | Введем понятия и обозначения, которые в дальнейшем будут использованы в статье: АТС — автомобильное транспортное средство; <tex>\rho(t,x)</tex> — число АТС на единицу длины в момент времени <tex>t</tex> в окрестности точки трассы с координатой <tex>x</tex> (плотность транспортного потока); <tex>v(t,x)</tex> — скорость АТС в момент времени <tex>t</tex> в окрестности точки трассы с координатой <tex>x</tex>; <tex>Q(\rho)</tex> — количество АТС, проходящих в единицу времени через заданное сечение (интенсивность транспортного потока). |
- | <tex>\rho(t,x)</tex> — число АТС на единицу длины в момент времени <tex>t</tex> в окрестности точки трассы с координатой | + | |
- | <tex>x</tex> (плотность транспортного потока); <tex>v(t,x)</tex> — скорость АТС в момент времени <tex>t</tex> в | + | |
- | окрестности точки трассы с координатой <tex>x</tex>; <tex>Q(\rho)</tex> — количество АТС, проходящих в единицу времени | + | |
- | через заданное сечение (интенсивность транспортного потока). | + | |
- | Зависимость <tex>Q(\rho)</tex> также часто называют фундаментальной (основной) диаграммой. Обычно данная зависимость | + | Зависимость <tex>Q(\rho)</tex> также часто называют фундаментальной (основной) диаграммой. Обычно данная зависимость выглядит следующим образом: |
- | выглядит следующим образом: | + | |
[[Изображение:Q(rho).PNG|400px|thumb|center|Фундаментальная диаграмма]] | [[Изображение:Q(rho).PNG|400px|thumb|center|Фундаментальная диаграмма]] | ||
- | Провал интенсивности потока при плотностях <tex>\rho \sim 60-115</tex> шт/км можно тем, что в этом случае на интенсивность | + | Провал интенсивности потока при плотностях <tex>\rho \sim 60-115</tex> шт/км можно тем, что в этом случае на интенсивность потока существенно влияют перемещения АТС между полосами. |
- | потока существенно влияют перемещения АТС между полосами. | + | |
- | Для измерения различных характеристик и определения дорожной ситуации в конкретном ее месте устанавливают транспортные | + | Для измерения различных характеристик и определения дорожной ситуации в конкретном ее месте устанавливают транспортные детекторы. Они могут собирать такие данные, как индивидуальная скорость АТС, количество АТС, заполненность (отношение количества времени, когда автомобиль находился под транспортным детектором, к общему времени измерения). Очевидно, минусом такого подхода является то, что все показатели известны только в определенной точке дороги. |
- | детекторы. Они могут собирать такие данные, как индивидуальная скорость АТС, количество АТС, заполненность (отношение | + | |
- | количества времени, когда автомобиль находился под транспортным детектором, к общему времени измерения). Очевидно, минусом | + | |
- | такого подхода является то, что все показатели известны только в определенной точке дороги. | + | |
- | Вторым важным подходом для определения дорожной ситуации является использование GPS-трекеров, которые широко | + | Вторым важным подходом для определения дорожной ситуации является использование GPS-трекеров, которые широко распространены в последнее время. Минусами такого подхода являются погрешности измерения приборов и относительно невысокий процент оборудованных ими АТС. |
- | распространены в последнее время. Минусами такого подхода являются погрешности измерения приборов и относительно невысокий | + | |
- | процент оборудованных ими АТС. | + | |
<em>Замечание.</em> Все измерения производятся в системе СИ, если не оговорено иначе. | <em>Замечание.</em> Все измерения производятся в системе СИ, если не оговорено иначе. | ||
Строка 30: | Строка 19: | ||
== Постановка задачи == | == Постановка задачи == | ||
- | На графе дорог в известных точках установлены детекторы, которые измеряют среднюю скорость потока и заполненность. | + | На графе дорог в известных точках установлены детекторы, которые измеряют среднюю скорость потока и заполненность. Некоторая часть АТС оборудована GPS-трекерами. Требуется придумать алгоритм, который в каждый момент времени будет наилучшим образом определять плотность транспортного потока на всех ребрах графа дорог. Насколько увеличится ошибка определения плотности, если есть ошибка в исходных данных: как в треках GPS-трекеров (положение автомобиля меняется в круге радиуса <tex>R</tex>), так и в данных детекторов? Каким образом лучше всего расположить детекторы для минимизации ошибки определения плотности? |
- | Некоторая часть АТС оборудована GPS-трекерами. Требуется придумать алгоритм, который в каждый момент времени будет | + | |
- | наилучшим образом определять плотность транспортного потока на всех ребрах графа дорог. Насколько увеличится ошибка | + | |
- | определения плотности, если есть ошибка в исходных данных: как в треках GPS-трекеров (положение автомобиля меняется в | + | |
- | круге радиуса <tex>R</tex>), так и в данных детекторов? Каким образом лучше всего расположить детекторы для минимизации | + | |
- | ошибки определения плотности? | + | |
Также возникает ряд других интересных задач, которые будут описаны ниже по мере их появления. | Также возникает ряд других интересных задач, которые будут описаны ниже по мере их появления. | ||
Строка 45: | Строка 29: | ||
Опишем все необходимые параметры, которые будут в дальнейшем использоваться для эксперимента. | Опишем все необходимые параметры, которые будут в дальнейшем использоваться для эксперимента. | ||
- | Рассмотрим однополосную кольцевую дорогу с радиусом <tex>R</tex>. Пусть все параметры объектов, участвующих в транспортной | + | Рассмотрим однополосную кольцевую дорогу с радиусом <tex>R</tex>. Пусть все параметры объектов, участвующих в транспортной системе, пересчитываются с периодом <tex>t_{\mathit{iter}}</tex> (период дискретизации); <tex>t_{\mathit{a}}</tex> — период обновления положения АТС; <tex>t_{\mathit{d}\mathit{et}}</tex> — период обновления собранной детектором статистики по дорожной ситуации. Пусть также на дороге расположены объекты: множество светофоров <tex>TL</tex>, у которых определены время горения зеленого света <tex>t_{\mathit{green}}</tex> и красного света <tex>t_{\mathit{red}}</tex>; множество детекторов <tex>D</tex>; множество АТС <tex>A</tex>. Изначально все АТС расположены друг за другом на одинаковом расстоянии. |
- | системе, пересчитываются с периодом <tex>t_{\mathit{iter}}</tex> (период дискретизации); <tex>t_{\mathit{a}}</tex> — | + | |
- | период обновления положения АТС; <tex>t_{\mathit{d}\mathit{et}}</tex> — период обновления собранной детектором статистики | + | |
- | по дорожной ситуации. Пусть также на дороге расположены объекты: множество светофоров <tex>TL</tex>, у которых определены | + | |
- | время горения зеленого света <tex>t_{\mathit{green}}</tex> и красного света <tex>t_{\mathit{red}}</tex>; множество | + | |
- | детекторов <tex>D</tex>; множество АТС <tex>A</tex>. Изначально все АТС расположены друг за другом на одинаковом | + | |
- | расстоянии. | + | |
=== Измерение качества === | === Измерение качества === | ||
Строка 61: | Строка 39: | ||
- | Для более точного подбора подходящего алгоритма решения задачи необходимо минимизировать ошибки первых двух типов, поэтому | + | Для более точного подбора подходящего алгоритма решения задачи необходимо минимизировать ошибки первых двух типов, поэтому реальные данные не подходят для анализа. Этот факт следует из тех соображений, что в случае возникновения большой ошибки вычисления плотности транспортного потока неясно, что является ее источником: ошибочные показания детектора, высокая погрешность GPS-трекера или же ошибки самого алгоритма. В связи с этим возникает необходимость в генерации искусственных данных и в варьировании параметров, которые применялись при генерации, для определения зависимости точности работы алгоритма от входных данных. Также в этом случае можно точно определить все интересующие характеристики транспортной системы, так как в любой момент можно их измерить. В реальной же ситуации такой возможности нет: есть лишь исторические данные, собранные с помощью неточных приборов. |
- | реальные данные не подходят для анализа. Этот факт следует из тех соображений, что в случае возникновения большой ошибки | + | |
- | вычисления плотности транспортного потока неясно, что является ее источником: ошибочные показания детектора, высокая | + | |
- | погрешность GPS-трекера или же ошибки самого алгоритма. В связи с этим возникает необходимость в генерации искусственных | + | |
- | данных и в варьировании параметров, которые применялись при генерации, для определения зависимости точности работы | + | |
- | алгоритма от входных данных. Также в этом случае можно точно определить все интересующие характеристики транспортной | + | |
- | системы, так как в любой момент можно их измерить. В реальной же ситуации такой возможности нет: есть лишь исторические | + | |
- | данные, собранные с помощью неточных приборов. | + | |
- | Для измерения качества определения плотности транспортного потока выберем интересующий нас участок дороги длиной | + | Для измерения качества определения плотности транспортного потока выберем интересующий нас участок дороги длиной <tex>L</tex> метров. В течение всего времени <tex>T</tex> симуляции дорожного движения будем измерять плотность на этом участке и строить график ее зависимости от времени. Для определения ошибки измерения плотности потока методом №1 относительно метода №2 будем использовать формулу: |
- | <tex>L</tex> метров. В течение всего времени <tex>T</tex> симуляции дорожного движения будем измерять плотность на этом | + | |
- | участке и строить график ее зависимости от времени. Для определения ошибки измерения плотности потока методом №1 | + | |
- | относительно метода №2 будем использовать формулу: | + | |
:<tex>\frac{\sum_{i = 0}^{T / dt}{|f(i \cdot t_{\mathit{iter}}) - g(i \cdot t_{\mathit{iter}})|}}{\sum_{i = 0}^{T / dt}{f(i \cdot t_{\mathit{iter}})}}</tex>, | :<tex>\frac{\sum_{i = 0}^{T / dt}{|f(i \cdot t_{\mathit{iter}}) - g(i \cdot t_{\mathit{iter}})|}}{\sum_{i = 0}^{T / dt}{f(i \cdot t_{\mathit{iter}})}}</tex>, | ||
Строка 83: | Строка 51: | ||
В зависимости от исходных данных будем вычислять плотность одним из следующих способов. | В зависимости от исходных данных будем вычислять плотность одним из следующих способов. | ||
* Измерение истинного значения плотности. | * Измерение истинного значения плотности. | ||
- | :В каждый момент времени определяем точное значение количества автомобилей <tex>n</tex>, находящихся на интересующем нас | + | :В каждый момент времени определяем точное значение количества автомобилей <tex>n</tex>, находящихся на интересующем нас участке дороги, и вычисляем значение плотности по формуле: <tex>\rho = \frac{n}{L}</tex>. |
- | + | ||
- | участке дороги, и вычисляем значение плотности по формуле: <tex>\rho = \frac{n}{L}</tex>. | + | |
* Измерение плотности на основе данных детектора. | * Измерение плотности на основе данных детектора. | ||
- | :С периодом <tex>t_{\mathit{d}\mathit{et}}</tex> считаем суммарную скорость <tex>V_{\mathit{sum}}</tex> и количество | + | :С периодом <tex>t_{\mathit{d}\mathit{et}}</tex> считаем суммарную скорость <tex>V_{\mathit{sum}}</tex> и количество автомобилей <tex>n</tex>, проехавших под детектором. Тогда из определения плотности следует: |
- | автомобилей <tex>n</tex>, проехавших под детектором. Тогда из определения плотности следует: | + | |
:<tex>\rho = \frac{n}{S} = \frac{n}{V_{\mathit{avr} \cdot t_{\mathit{d}\mathit{et}}}} = \frac{n}{\frac{V_{\mathit{sum}}}{n} \cdot t_{\mathit{d}\mathit{et}}} = \frac{n^2}{V_{\mathit{sum}} \cdot t_{\mathit{d}\mathit{et}}}</tex>. | :<tex>\rho = \frac{n}{S} = \frac{n}{V_{\mathit{avr} \cdot t_{\mathit{d}\mathit{et}}}} = \frac{n}{\frac{V_{\mathit{sum}}}{n} \cdot t_{\mathit{d}\mathit{et}}} = \frac{n^2}{V_{\mathit{sum}} \cdot t_{\mathit{d}\mathit{et}}}</tex>. | ||
Строка 94: | Строка 59: | ||
: Можно выделить два основных способа подсчета плотности транспортного потока на основе данных GPS-трекера: | : Можно выделить два основных способа подсчета плотности транспортного потока на основе данных GPS-трекера: | ||
# отслеживание количества попавших в интересующую нас область дороги АТС для определения плотности; | # отслеживание количества попавших в интересующую нас область дороги АТС для определения плотности; | ||
- | # вычисление средней скорости движения АТС в выделенной нами области и применение различных функционалов для определения | + | # вычисление средней скорости движения АТС в выделенной нами области и применение различных функционалов для определения плотности. |
- | плотности. | + | |
- | :Минусами первого подхода, очевидно, является тот факт, что далеко не все АТС оборудованы GPS-трекерами, поэтому | + | :Минусами первого подхода, очевидно, является тот факт, что далеко не все АТС оборудованы GPS-трекерами, поэтому вычисленное значение плотности будет пропорционально зависеть от их доли. Другая проблема заключается в том, что нам не известна эта доля оборудованных GPS-трекерами АТС, иначе можно было бы просто разделить значение плотности на процент АТС с GPS-трекерами и получить реальное значение плотности транспортного потока (при условии равномерного распространения оборудования). |
- | вычисленное значение плотности будет пропорционально зависеть от их доли. Другая проблема заключается в том, что нам не | + | |
- | известна эта доля оборудованных GPS-трекерами АТС, иначе можно было бы просто разделить значение плотности на процент АТС | + | |
- | с GPS-трекерами и получить реальное значение плотности транспортного потока (при условии равномерного распространения | + | |
- | оборудования). | + | |
- | :Минусами второго подхода (как и первого) является возможность неравномерного распределения оборудования среди АТС и | + | :Минусами второго подхода (как и первого) является возможность неравномерного распределения оборудования среди АТС и погрешность измерения. Все остальное зависит уже от метода вычисления плотности. |
- | погрешность измерения. Все остальное зависит уже от метода вычисления плотности. | + | |
- | Здесь параллельно возникает следующая интересная задача: каким образом расположение светофоров влияет на точность | + | Здесь параллельно возникает следующая интересная задача: каким образом расположение светофоров влияет на точность определения плотности транспортного потока? Насколько важно отношение времени того, когда горит зеленый свет, ко времени работы красного света. Где лучше всего следует расположить детектор: до светофора, после или прямо в одной точке вместе с ним? |
- | определения плотности транспортного потока? Насколько важно отношение времени того, когда горит зеленый свет, ко времени | + | |
- | работы красного света. Где лучше всего следует расположить детектор: до светофора, после или прямо в одной точке вместе с | + | |
- | ним? | + | |
=== Пересчет физических параметров участников дорожного движения === | === Пересчет физических параметров участников дорожного движения === | ||
- | Отметим некоторые особенности пересчета физических параметров объектов (светофоры, АТС, детекторы), которые участвуют в | + | Отметим некоторые особенности пересчета физических параметров объектов (светофоры, АТС, детекторы), которые участвуют в эксперименте. |
- | эксперименте. | + | |
- | С пересчетом характеристик светофора и сбором статистики детектором все относительно просто, поэтому не будем заострять | + | С пересчетом характеристик светофора и сбором статистики детектором все относительно просто, поэтому не будем заострять внимание на этих объектах. Наибольший интерес представляют АТС, для которых необходимо заново обновлять положение, скорость и ускорение на каждой итерации симуляции со временем дискретизации <tex>t_{\mathit{a}}</tex>. |
- | внимание на этих объектах. Наибольший интерес представляют АТС, для которых необходимо заново обновлять положение, | + | |
- | скорость и ускорение на каждой итерации симуляции со временем дискретизации <tex>t_{\mathit{a}}</tex>. | + | |
Все эти параметры пересчитываются исходя из физических законов: | Все эти параметры пересчитываются исходя из физических законов: | ||
:<tex>V_{i} = V_{i - 1} + a_{i - 1} \cdot t_{\mathit{a}}</tex>, | :<tex>V_{i} = V_{i - 1} + a_{i - 1} \cdot t_{\mathit{a}}</tex>, | ||
:<tex>s_{i} = V_{i - 1} \cdot t_{\mathit{a}} + a_{i - 1} \cdot \frac{t_{\mathit{a}}^2}{2}</tex>, | :<tex>s_{i} = V_{i - 1} \cdot t_{\mathit{a}} + a_{i - 1} \cdot \frac{t_{\mathit{a}}^2}{2}</tex>, | ||
- | где <tex>a_{i - 1}, V_{i - 1}</tex> — ускорение, скорость АТС на предыдущем шаге соответственно; <tex>a_{i}, V_{i}, s_{i} | + | где <tex>a_{i - 1}, V_{i - 1}</tex> — ускорение, скорость АТС на предыдущем шаге соответственно; <tex>a_{i}, V_{i}, s_{i}</tex> — ускорение, скорость, пройденное расстояние АТС на текущем шаге соответственно. |
- | </tex> — ускорение, скорость, пройденное расстояние АТС на текущем шаге соответственно. | + | |
- | Особенность описанной выше конфигурации в том, что дорога является окружностью, поэтому положение АТС пересчитывается | + | Особенность описанной выше конфигурации в том, что дорога является окружностью, поэтому положение АТС пересчитывается следующим образом: |
- | следующим образом: | + | |
:<tex>\beta_{i} = \frac{s_{i}}{R}</tex>, | :<tex>\beta_{i} = \frac{s_{i}}{R}</tex>, | ||
:<tex>x_{i} = C_{x} + R \cdot \cos{(\alpha_{i - 1} + \beta_{i})}</tex>, | :<tex>x_{i} = C_{x} + R \cdot \cos{(\alpha_{i - 1} + \beta_{i})}</tex>, | ||
:<tex>y_{i} = C_{y} + R \cdot \sin{(\alpha_{i - 1} + \beta_{i})}</tex>, | :<tex>y_{i} = C_{y} + R \cdot \sin{(\alpha_{i - 1} + \beta_{i})}</tex>, | ||
- | где <tex>C_{x}, C_{y}</tex> — абсцисса и ордината центра окружности, <tex>\alpha_{i - 1}</tex> — угол положения АТС в | + | где <tex>C_{x}, C_{y}</tex> — абсцисса и ордината центра окружности, <tex>\alpha_{i - 1}</tex> — угол положения АТС в предыдущий момент времени, <tex>\beta_{i}</tex> — текущий угол смещения автомобиля за время <tex>t_{\mathit{a}}</tex>. |
- | предыдущий момент времени, <tex>\beta_{i}</tex> — текущий угол смещения автомобиля за время <tex>t_{\mathit{a}}</tex>. | + | |
- | Самый изменчивый параметр АТС — ускорение <tex>a</tex>, через него уже выражаются все остальные параметры. Будем изменять | + | Самый изменчивый параметр АТС — ускорение <tex>a</tex>, через него уже выражаются все остальные параметры. Будем изменять ускорение по следующим правилам: |
- | ускорение по следующим правилам: | + | # пока скорость АТС не достигла некоторого максимума <tex>V_{max}</tex>, ускорение будет иметь значение <tex>a_1</tex>, иначе считаем ускорение равным 0; |
- | # пока скорость АТС не достигла некоторого максимума <tex>V_{max}</tex>, ускорение будет иметь значение <tex>a_1</tex>, | + | # если впереди АТС на расстоянии <tex>L_v</tex> возникает какое-то препятствие в виде, например, светофора и или другого АТС, то ускорение пересчитывается согласно модели "следования за лидером". |
- | иначе считаем ускорение равным 0; | + | |
- | # если впереди АТС на расстоянии <tex>L_v</tex> возникает какое-то препятствие в виде, например, светофора и или другого | + | |
- | АТС, то ускорение пересчитывается согласно модели "следования за лидером". | + | |
Все параметры подбираются опытным путем. | Все параметры подбираются опытным путем. | ||
=== Модель следования за лидером === | === Модель следования за лидером === | ||
- | Принцип простейшей модели следования за лидером в следующем: ускорение <tex>n</tex>-го АТС прямо пропорционально разности | + | Принцип простейшей модели следования за лидером в следующем: ускорение <tex>n</tex>-го АТС прямо пропорционально разности скоростей <tex>(n + 1)</tex>-го АТС с коэффициентом пропорциональности обратно пропорциональным расстоянию до впереди идущего АТС. То есть: |
- | скоростей <tex>(n + 1)</tex>-го АТС с коэффициентом пропорциональности обратно пропорциональным расстоянию до впереди | + | |
- | идущего АТС. То есть: | + | |
:<tex>a_n(t + \tau)=\alpha \frac{v_{n + 1}(t) - v_{n}(t)}{s_{n + 1}(t) - s_{n}(t)}, \alpha > 0</tex>, | :<tex>a_n(t + \tau)=\alpha \frac{v_{n + 1}(t) - v_{n}(t)}{s_{n + 1}(t) - s_{n}(t)}, \alpha > 0</tex>, | ||
где <tex>\alpha</tex> — коэффициент чувствительности, характеризующий скорость реакции водителя. | где <tex>\alpha</tex> — коэффициент чувствительности, характеризующий скорость реакции водителя. | ||
Строка 162: | Строка 107: | ||
:<tex>d(v)= L+ c_1 v+ c_2 v^2,</tex> | :<tex>d(v)= L+ c_1 v+ c_2 v^2,</tex> | ||
- | где <tex>d(v)</tex> – среднее (безопасное) расстояние между АТС, <tex>L</tex> – средняя длина АТС, <tex>c_1</tex> – время, | + | где <tex>d(v)</tex> – среднее (безопасное) расстояние между АТС, <tex>L</tex> – средняя длина АТС, <tex>c_1</tex> – время, характеризующее реакцию водителя, <tex>c_2</tex> - коэффициент пропорциональности тормозному пути. |
- | + | ||
- | характеризующее реакцию водителя, <tex>c_2</tex> - коэффициент пропорциональности тормозному пути. | + | |
При нормальных условиях (сухой асфальт): <tex>L=4.5, c_1=0.504, c_2=0.0285</tex>. | При нормальных условиях (сухой асфальт): <tex>L=4.5, c_1=0.504, c_2=0.0285</tex>. | ||
Строка 171: | Строка 114: | ||
:<tex>\rho= \rho_{max} (1- \frac{v}{v_{max}} ),</tex> | :<tex>\rho= \rho_{max} (1- \frac{v}{v_{max}} ),</tex> | ||
- | где <tex>\rho_{max}</tex> - максимальная плотность потока (при отсутствии движения), <tex>v_{max}</tex> - максимальная | + | где <tex>\rho_{max}</tex> - максимальная плотность потока (при отсутствии движения), <tex>v_{max}</tex> - максимальная скорость движения АТС (при пустой дороге). |
- | скорость движения АТС (при пустой дороге). | + | |
3) Модель Гринберга. | 3) Модель Гринберга. | ||
Строка 184: | Строка 126: | ||
:<tex>\rho= \rho_{max}(1- \frac{v}{v_{max}} )^{\frac{2}{n+1}},\:n \neq -1,</tex> | :<tex>\rho= \rho_{max}(1- \frac{v}{v_{max}} )^{\frac{2}{n+1}},\:n \neq -1,</tex> | ||
- | где <tex>\rho_{max}</tex> - максимальная плотность потока (при отсутствии движения), <tex>v_{max}</tex> - максимальная | + | где <tex>\rho_{max}</tex> - максимальная плотность потока (при отсутствии движения), <tex>v_{max}</tex> - максимальная скорость движения АТС (при пустой дороге). |
- | скорость движения АТС (при пустой дороге). | + | |
5) Модель Гриндшилдса-Гринберга (другой вид формулы). | 5) Модель Гриндшилдса-Гринберга (другой вид формулы). | ||
- | |||
:<tex>\rho= \rho_{max} (1-v \frac{n+1}{c} \rho_{max}^{-\frac{n+1}{2}} )^{\frac{2}{n+1}},\:n \neq -1,</tex> | :<tex>\rho= \rho_{max} (1-v \frac{n+1}{c} \rho_{max}^{-\frac{n+1}{2}} )^{\frac{2}{n+1}},\:n \neq -1,</tex> | ||
+ | где <tex>\rho_{max}</tex> - максимальная плотность потока (при отсутствии движения), <tex>v_{max}</tex> - максимальная скорость движения АТС (при пустой дороге), C – неотрицательная константа с размерностью скорости. | ||
- | + | <font color="red">Раздел ниже необходимо дописать.</font> | |
- | + | ||
- | + | ||
- | <font color="red">Раздел ниже необходимо | + | |
== Вычислительный эксперимент == | == Вычислительный эксперимент == | ||
Строка 207: | Строка 145: | ||
== Заключение == | == Заключение == | ||
- | Исходные коды программ можно найти здесь | + | Исходные коды программ можно найти здесь: |
# Моделирование движения: https://github.com/greexon/TrafficSim. | # Моделирование движения: https://github.com/greexon/TrafficSim. | ||
# Визуализация движения: https://github.com/greexon/TrafficSimVisualizer. | # Визуализация движения: https://github.com/greexon/TrafficSimVisualizer. | ||
Строка 220: | Строка 158: | ||
== Вычислительный эксперимент == | == Вычислительный эксперимент == | ||
- | Для простоты вычислений была смоделирована замкнутая квадратная однополосная дорога со стороной a = 0.5 километров, на | + | Для простоты вычислений была смоделирована замкнутая квадратная однополосная дорога со стороной a = 0.5 километров, на которой АТС не могли обгонять друг друга. В самом начале на вертикальном левом участке расставлялись n = 30 АТС друг за другом. Также в произвольные места устанавливались светофоры. |
- | + | ||
- | которой АТС не могли обгонять друг друга. В самом начале на вертикальном левом участке расставлялись n = 30 АТС друг за | + | |
- | + | ||
- | другом. Также в произвольные места устанавливались светофоры. | + | |
В качестве функционала качества использовалась сумма абсолютных отклонений спрогнозированной величины от реальных данных. | В качестве функционала качества использовалась сумма абсолютных отклонений спрогнозированной величины от реальных данных. | ||
- | Логика движения 1го АТС задавалась отдельно и была следующей: начальная скорость 0 м/с (0 км/ч), максимальная скорость | + | Логика движения 1го АТС задавалась отдельно и была следующей: начальная скорость 0 м/с (0 км/ч), максимальная скорость 16.7 м/с (60 км/ч), торможение перед поворотами и светофорами с ускорением -1.5 м/с2. |
- | + | Все остальные АТС двигались друг за другом по модели следования за лидером. Суть модели в следующем: ускорение n-го АТС прямо пропорционально разности скоростей (n + 1)-го и n-го АТС с коэффициентом пропорциональности обратно пропорциональным расстоянию до впереди идущего АТС. То есть | |
- | + | ||
- | Все остальные АТС двигались друг за другом по модели следования за лидером. Суть модели в следующем: ускорение n-го АТС | + | |
- | + | ||
- | прямо пропорционально разности скоростей (n + 1)-го и n-го АТС с коэффициентом пропорциональности обратно пропорциональным | + | |
- | + | ||
- | расстоянию до впереди идущего АТС. То есть | + | |
:<tex>s_n''(t+\tau)=\alpha \frac{s_{n+1}'(t) - s_n'(t)}{s_{n+1}(t) - s_n(t)},\:\alpha > 0.</tex> | :<tex>s_n''(t+\tau)=\alpha \frac{s_{n+1}'(t) - s_n'(t)}{s_{n+1}(t) - s_n(t)},\:\alpha > 0.</tex> | ||
Строка 241: | Строка 169: | ||
Данные с GPS приемников записывались каждую секунду, а с детекторов – каждые 10 секунд. | Данные с GPS приемников записывались каждую секунду, а с детекторов – каждые 10 секунд. | ||
- | Для подбора лучших коэффициентов и лучшей модели происходило обучение на данных детектора, а затем результат применялся | + | Для подбора лучших коэффициентов и лучшей модели происходило обучение на данных детектора, а затем результат применялся для трековых данных. |
- | + | ||
- | для трековых данных. | + | |
Длительность симуляции – 3000 секунд (50 минут). | Длительность симуляции – 3000 секунд (50 минут). | ||
Строка 303: | Строка 229: | ||
== Выводы == | == Выводы == | ||
- | Из таблицы видно, что при ошибке определения точных координат автомобиля в радиусе 15 метров точность прогноза ухудшается | + | Из таблицы видно, что при ошибке определения точных координат автомобиля в радиусе 15 метров точность прогноза ухудшается примерно в 3 раза по сравнению с «идеальными» условиями. |
- | + | ||
- | примерно в 3 раза по сравнению с «идеальными» условиями. | + |
Версия 00:51, 31 марта 2014
Данная статья является непроверенным учебным заданием.
До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |
Прогнозирование плотности транспортных потоков.
Содержание |
Общее описание
Введем понятия и обозначения, которые в дальнейшем будут использованы в статье: АТС — автомобильное транспортное средство; — число АТС на единицу длины в момент времени в окрестности точки трассы с координатой (плотность транспортного потока); — скорость АТС в момент времени в окрестности точки трассы с координатой ; — количество АТС, проходящих в единицу времени через заданное сечение (интенсивность транспортного потока).
Зависимость также часто называют фундаментальной (основной) диаграммой. Обычно данная зависимость выглядит следующим образом:
Провал интенсивности потока при плотностях шт/км можно тем, что в этом случае на интенсивность потока существенно влияют перемещения АТС между полосами.
Для измерения различных характеристик и определения дорожной ситуации в конкретном ее месте устанавливают транспортные детекторы. Они могут собирать такие данные, как индивидуальная скорость АТС, количество АТС, заполненность (отношение количества времени, когда автомобиль находился под транспортным детектором, к общему времени измерения). Очевидно, минусом такого подхода является то, что все показатели известны только в определенной точке дороги.
Вторым важным подходом для определения дорожной ситуации является использование GPS-трекеров, которые широко распространены в последнее время. Минусами такого подхода являются погрешности измерения приборов и относительно невысокий процент оборудованных ими АТС.
Замечание. Все измерения производятся в системе СИ, если не оговорено иначе.
Постановка задачи
На графе дорог в известных точках установлены детекторы, которые измеряют среднюю скорость потока и заполненность. Некоторая часть АТС оборудована GPS-трекерами. Требуется придумать алгоритм, который в каждый момент времени будет наилучшим образом определять плотность транспортного потока на всех ребрах графа дорог. Насколько увеличится ошибка определения плотности, если есть ошибка в исходных данных: как в треках GPS-трекеров (положение автомобиля меняется в круге радиуса ), так и в данных детекторов? Каким образом лучше всего расположить детекторы для минимизации ошибки определения плотности?
Также возникает ряд других интересных задач, которые будут описаны ниже по мере их появления.
Решение задачи
Описание конфигурации
Опишем все необходимые параметры, которые будут в дальнейшем использоваться для эксперимента.
Рассмотрим однополосную кольцевую дорогу с радиусом . Пусть все параметры объектов, участвующих в транспортной системе, пересчитываются с периодом (период дискретизации); — период обновления положения АТС; — период обновления собранной детектором статистики по дорожной ситуации. Пусть также на дороге расположены объекты: множество светофоров , у которых определены время горения зеленого света и красного света ; множество детекторов ; множество АТС . Изначально все АТС расположены друг за другом на одинаковом расстоянии.
Измерение качества
Как уже было отмечено выше, существуют несколько вариантов получения неточных измерений:
- погрешность измерения детектора;
- погрешность измерения GPS-трекера;
- погрешность работы самого алгоритма.
Для более точного подбора подходящего алгоритма решения задачи необходимо минимизировать ошибки первых двух типов, поэтому реальные данные не подходят для анализа. Этот факт следует из тех соображений, что в случае возникновения большой ошибки вычисления плотности транспортного потока неясно, что является ее источником: ошибочные показания детектора, высокая погрешность GPS-трекера или же ошибки самого алгоритма. В связи с этим возникает необходимость в генерации искусственных данных и в варьировании параметров, которые применялись при генерации, для определения зависимости точности работы алгоритма от входных данных. Также в этом случае можно точно определить все интересующие характеристики транспортной системы, так как в любой момент можно их измерить. В реальной же ситуации такой возможности нет: есть лишь исторические данные, собранные с помощью неточных приборов.
Для измерения качества определения плотности транспортного потока выберем интересующий нас участок дороги длиной метров. В течение всего времени симуляции дорожного движения будем измерять плотность на этом участке и строить график ее зависимости от времени. Для определения ошибки измерения плотности потока методом №1 относительно метода №2 будем использовать формулу:
- ,
то есть это отношение невязки к значению функции.
Вычисление плотности
В зависимости от исходных данных будем вычислять плотность одним из следующих способов.
- Измерение истинного значения плотности.
- В каждый момент времени определяем точное значение количества автомобилей , находящихся на интересующем нас участке дороги, и вычисляем значение плотности по формуле: .
- Измерение плотности на основе данных детектора.
- С периодом считаем суммарную скорость и количество автомобилей , проехавших под детектором. Тогда из определения плотности следует:
- .
- Измерение плотности на основе данных GPS-трекера.
- Можно выделить два основных способа подсчета плотности транспортного потока на основе данных GPS-трекера:
- отслеживание количества попавших в интересующую нас область дороги АТС для определения плотности;
- вычисление средней скорости движения АТС в выделенной нами области и применение различных функционалов для определения плотности.
- Минусами первого подхода, очевидно, является тот факт, что далеко не все АТС оборудованы GPS-трекерами, поэтому вычисленное значение плотности будет пропорционально зависеть от их доли. Другая проблема заключается в том, что нам не известна эта доля оборудованных GPS-трекерами АТС, иначе можно было бы просто разделить значение плотности на процент АТС с GPS-трекерами и получить реальное значение плотности транспортного потока (при условии равномерного распространения оборудования).
- Минусами второго подхода (как и первого) является возможность неравномерного распределения оборудования среди АТС и погрешность измерения. Все остальное зависит уже от метода вычисления плотности.
Здесь параллельно возникает следующая интересная задача: каким образом расположение светофоров влияет на точность определения плотности транспортного потока? Насколько важно отношение времени того, когда горит зеленый свет, ко времени работы красного света. Где лучше всего следует расположить детектор: до светофора, после или прямо в одной точке вместе с ним?
Пересчет физических параметров участников дорожного движения
Отметим некоторые особенности пересчета физических параметров объектов (светофоры, АТС, детекторы), которые участвуют в эксперименте.
С пересчетом характеристик светофора и сбором статистики детектором все относительно просто, поэтому не будем заострять внимание на этих объектах. Наибольший интерес представляют АТС, для которых необходимо заново обновлять положение, скорость и ускорение на каждой итерации симуляции со временем дискретизации . Все эти параметры пересчитываются исходя из физических законов:
- ,
- ,
где — ускорение, скорость АТС на предыдущем шаге соответственно; — ускорение, скорость, пройденное расстояние АТС на текущем шаге соответственно.
Особенность описанной выше конфигурации в том, что дорога является окружностью, поэтому положение АТС пересчитывается следующим образом:
- ,
- ,
- ,
где — абсцисса и ордината центра окружности, — угол положения АТС в предыдущий момент времени, — текущий угол смещения автомобиля за время .
Самый изменчивый параметр АТС — ускорение , через него уже выражаются все остальные параметры. Будем изменять ускорение по следующим правилам:
- пока скорость АТС не достигла некоторого максимума , ускорение будет иметь значение , иначе считаем ускорение равным 0;
- если впереди АТС на расстоянии возникает какое-то препятствие в виде, например, светофора и или другого АТС, то ускорение пересчитывается согласно модели "следования за лидером".
Все параметры подбираются опытным путем.
Модель следования за лидером
Принцип простейшей модели следования за лидером в следующем: ускорение -го АТС прямо пропорционально разности скоростей -го АТС с коэффициентом пропорциональности обратно пропорциональным расстоянию до впереди идущего АТС. То есть:
- ,
где — коэффициент чувствительности, характеризующий скорость реакции водителя.
Данная модель была предложена в 1959 году сотрудниками компании Дженерал Моторс.
Измерение плотности на основе данных GPS-трекера
Модели, которые использовались для тестирования:
1) Модель Танака.
где – среднее (безопасное) расстояние между АТС, – средняя длина АТС, – время, характеризующее реакцию водителя, - коэффициент пропорциональности тормозному пути. При нормальных условиях (сухой асфальт): .
2) Модель Гриндшилдса.
где - максимальная плотность потока (при отсутствии движения), - максимальная скорость движения АТС (при пустой дороге).
3) Модель Гринберга.
где C – неотрицательная константа с размерностью скорости.
4) Модель Гриндшилдса-Гринберга.
где - максимальная плотность потока (при отсутствии движения), - максимальная скорость движения АТС (при пустой дороге).
5) Модель Гриндшилдса-Гринберга (другой вид формулы).
где - максимальная плотность потока (при отсутствии движения), - максимальная скорость движения АТС (при пустой дороге), C – неотрицательная константа с размерностью скорости.
Раздел ниже необходимо дописать.
Вычислительный эксперимент
Значения параметров
Результат
Заключение
Исходные коды программ можно найти здесь:
- Моделирование движения: https://github.com/greexon/TrafficSim.
- Визуализация движения: https://github.com/greexon/TrafficSimVisualizer.
Литература
- Гасников А. В. Введение в математическое моделирование транспортных потоков. Москва, МФТИ, 2010.
- Семенов В. В. Математическое моделирование динамики транспортных потоков мегаполиса.
Данные, приведенные ниже не актуальны.
Вычислительный эксперимент
Для простоты вычислений была смоделирована замкнутая квадратная однополосная дорога со стороной a = 0.5 километров, на которой АТС не могли обгонять друг друга. В самом начале на вертикальном левом участке расставлялись n = 30 АТС друг за другом. Также в произвольные места устанавливались светофоры.
В качестве функционала качества использовалась сумма абсолютных отклонений спрогнозированной величины от реальных данных. Логика движения 1го АТС задавалась отдельно и была следующей: начальная скорость 0 м/с (0 км/ч), максимальная скорость 16.7 м/с (60 км/ч), торможение перед поворотами и светофорами с ускорением -1.5 м/с2.
Все остальные АТС двигались друг за другом по модели следования за лидером. Суть модели в следующем: ускорение n-го АТС прямо пропорционально разности скоростей (n + 1)-го и n-го АТС с коэффициентом пропорциональности обратно пропорциональным расстоянию до впереди идущего АТС. То есть
Данные с GPS приемников записывались каждую секунду, а с детекторов – каждые 10 секунд.
Для подбора лучших коэффициентов и лучшей модели происходило обучение на данных детектора, а затем результат применялся для трековых данных. Длительность симуляции – 3000 секунд (50 минут).
Результаты
Результат обучения
Тип модели | Суммарная ошибка | Лучшие параметры |
---|---|---|
Модель Танака | 17349 | - |
Модель Гриндшилдса | 13849.3 | - |
Модель Гринберга | 13849.3 | c = 7 |
Модель Гриндшилдса-Гринберга | 8425.4 | n = 0 |
Модель Гриндшилдса-Гринберга №2 | 10872.5 | n = 0, c = 1 |
Результат прогнозирования
Суммарная ошибка | % АТС с GPS приемниками | Радиус ошибки определения положения АТС |
---|---|---|
100% | 0 | |
100% | 10 | |
100% | 15 | |
100% | 20 | |
100% | 25 |
Выводы
Из таблицы видно, что при ошибке определения точных координат автомобиля в радиусе 15 метров точность прогноза ухудшается примерно в 3 раза по сравнению с «идеальными» условиями.