Sadržaj

Uvod

SUMO je besplatni program otvorenog koda namijenjen mikroskopskoj simulaciji prometa koja uključuje vozila, javni prijevoz i pješake. Osim osnovne mogućnosti stvaranja i simulacije prometnih eksperimenata, SUMO pruža sijaset alata koji pružaju funkcionalnosti poput vizualizacije, unošenja javno dostupnih podataka, te analizu zagušenosti ili emisija.

Prominentniji/tipični slučajevi uporabe:

  • Prognoza prometa u gradu Köln 2005. godine uoči posjeta Pape Benedikta 16.
  • Izrada i procjena rasporeda signalizacije prometnim svjetlima
  • Analiza i razvoj ekološki optimalnijih ruta temeljem simulacije zagušenosti
  • Analiza utjecaja individualnih ili flota autonomnih vozila na promet

Dostupne verzije

verzijamodulparalelna okolina
1.14.1sumo/1-14-1-

Serijski program

SUMO je serijski program, stoga se podnosi bez navođenja paralelne okoline u zaglavlju SGE skripte

Primjeri korištenja

Ispod su navedeni primjeri korištenja:

  1. Hello SUMO - Osnovna Hello SUMO simulacija
  2. Grid test - Simulacija prometa na mreži raskrižja
  3. Grid test array - Simulacija prometa na mreži raskrižja putem polja poslova

Hello SUMO

hello.sge
#$ -cwd
#$ -e output/
#$ -o output/

# activate
module load sumo/1-14-1

# prepare net
netconvert \
  --node-files hello.nod.xml \
  --edge-files hello.edg.xml \
  --output-file hello.net.xml

# run
sumo -c hello.sumocfg \
  --statistic-output hello.statistic.out \
  --tripinfo-output hello.tripinfo.out
hello.nod.xml
<nodes>
    <node id="1" x="-250.0" y="0.0" />
    <node id="2" x="+250.0" y="0.0" />
    <node id="3" x="+251.0" y="0.0" />
</nodes>
hello.edg.xml
<edges>
    <edge from="1" id="1to2" to="2" />
    <edge from="2" id="out" to="3" />
</edges>
hello.sumocfg
<configuration>
    <input>
        <net-file value="hello.net.xml"/>
        <route-files value="hello.rou.xml"/>
    </input>
    <time>
        <begin value="0"/>
        <end value="10000"/>
    </time>
</configuration>

Grid test

grid.sge
#$ -cwd
#$ -e output/
#$ -o output/

# activate
module load sumo/1-14-1

# generate grid
netgenerate --grid \
  --grid.number 4 \
  --grid.length 50 \
  --output-file grid.net.xml

# randomTrips
python3 $SUMO_HOME/tools/randomTrips.py \
  -n grid.net.xml \
  -o grid.flows.xml \
  --begin 0 \
  --end 1 \
  --period 1 \
  --flows 200

# routes
jtrrouter \
  --route-files grid.flows.xml \
  --net-file grid.net.xml \
  --output-file grid.rou.xml \
  --begin 0 \
  --end 10000 \
  --randomize-flows true \
  --remove-loops true \
  --accept-all-destinations

# generateContinuousRerouters
python3 $SUMO_HOME/tools/generateContinuousRerouters.py \
  --end 10000 \
  -n grid.net.xml \
  -o grid.rerouter.xml

# run
sumo -W -c grid.sumocfg --duration-log.statistics
grid.sumocfg
<configuration>
    <input>
        <net-file value="grid.net.xml"/>
        <route-files value="grid.rou.xml"/>
        <additional-files value="grid.rerouter.xml"/>
    </input>
    <time>
        <begin value="0"/>
        <end value="10000"/>
    </time>
</configuration>

Grid test array

SGE_TASK_ID

Varijablom okoliša SGE_TASK_ID mijenja se broj simuliranih vozila pri preprocessingu.

grid-array.sge
#$ -cwd
#$ -e output/
#$ -o output/
#$ -t 10:10:500

# activate
module load sumo/1-14-1

# generate grid
netgenerate --grid \
  --grid.number 4 \
  --grid.length 50 \
  --output-file grid.net.xml

# randomTrips
python3 $SUMO_HOME/tools/randomTrips.py \
  -n grid.net.xml \
  -o grid.flows.xml \
  --begin 0 \
  --end 1 \
  --period 1 \
  --flows $SGE_TASK_ID

# routes
jtrrouter \
  --route-files grid.flows.xml \
  --net-file grid.net.xml \
  --output-file grid.rou.xml \
  --begin 0 \
  --end 10000 \
  --randomize-flows true \
  --remove-loops true \
  --accept-all-destinations

# generateContinuousRerouters
python3 $SUMO_HOME/tools/generateContinuousRerouters.py \
  --end 10000 \
  -n grid.net.xml \
  -o grid.rerouter.xml

# run
sumo -W -c grid.sumocfg --duration-log.statistics

Rezultati

Broj vozilaSrednja brzina
1005.62
2005.91
3004.72
4003.23
5003.12
  • No labels