Я использую вены 4.6 и пытаюсь оценить изменение выбросов из-за различных протоколов маршрутизации. Исследуя сайт SUMO, мне удалось заложить основу для эксперимента. Сейчас я использую демо-приложение вен с небольшими изменениями конфигурации. Вот содержание моего erlangen.sumo.cfg файл:
<?xml version="1.0" encoding="iso-8859-1"?>
<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.sf.net/xsd/sumoConfiguration.xsd">
<input>
<net-file value="erlangen.net.xml"/>
<route-files value="erlangen.rou.xml"/>
<additional-files value="erlangen.poly.xml"/>
</input>
<time>
<begin value="0"/>
<end value="400"/>
<step-length value="1"/>
</time>
<routing>
<routing-algorithm value="CHWrapper"/>
<device.rerouting.probability value="1"/>
</routing>
<emissions>
<device.emissions.probability value="1"/>
</emissions>
<report>
<no-step-log value="true"/>
</report>
<gui_only>
<start value="true"/>
</gui_only>
<output>
<fcd-output value="erlangen.fcd.xml"/>
<emission-output value="erlangen.emission.xml"/>
<tripinfo-output value="erlangen.trip_info.xml"/>
<vehroute-output value="erlangen.route_followed.xml"/>
<summary value="erlangen.summary.xml" />
</output>
</configuration>
Файл маршрутов (erlangen.rou.xml) содержание выглядит следующим образом:
<routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/routes_file.xsd">
<vType id="passenger" vClass="passenger" accel="2.6" decel="4.5" sigma="0.5" length="2.5" minGap="2.5"maxSpeed="120" guiShape="passenger/sedan" color="1,0,0" emissionClass="HBEFA3/LDV_G_EU4">
<param key="has.emission.device" value="true"/>
<param key="has.rerouting.device" value="true"/>
<param key="device.fcd.probability" value="1"/>
</vType>
<flow id="flow0" type="passenger" from="3013106#1" to="29900564#1" begin="0" period="3" number="30" />
erlangen.net.xml без изменений и в omnetpp.ini я изменился * .connectionManager.maxInterfDist только от 2600 до 100 метров.
Используя эти конфигурации, я запустил симуляцию с использованием алгоритма A * и CHWrapper, но на выходе получилось то же самое. На изображении ниже видно, что после изменения маршрута узел 25-29 следовал по другому пути, но в обоих случаях они одинаковы.
Результаты Tripinfo приведены ниже, как обсуждалось Вот «tripinfo_rerouteNo» ясно показывает, что узлы были перенаправлены.
Теперь следующее вращается в моей голове:
Я застрял здесь, любые направления будут высоко оценены.
Нелегко сказать со стороны, какой алгоритм маршрутизации был применен, но я бы предположил, что 2. является правильным решением. Разные алгоритмы в основном отличаются тем, как они могут обрабатывать динамические изменения веса ребра в зависимости от скорости расчета, но в большинстве случаев они должны давать один и тот же результат. Вы можете попробовать scale
возможность легко увеличить трафик или установить device.rerouting.period
до значения, такого как 10 (секунд), чтобы включить периодическое изменение маршрута транспортных средств, чтобы увидеть больше эффектов. Также настройка weights.random-factor
к большой стоимости может помочь.
Можно проверить с помощью примера сети, как показано ниже:
В моем тестовом примере я установил начальную позицию транспортных средств как крайнюю левую крайнюю полосу движения, а пунктом назначения была верхняя полоса того же края. UTurn не был реализован, поэтому транспортные средства должны были проходить через перекресток, и FCD для каждого алгоритма был существенно различен.