Javier Ferrer, Manuel López-Ibáñez, and Enrique Alba. Reliable
simulation-optimization of traffic lights in a real-world city.
Applied Soft Computing, 78:697–711, 2019.
doi:10.1016/j.asoc.2019.03.016
[ bibtex ]
Software versions used in the paper:
- irace 3.0
- SUMO 0.22.0
- Perl 5
-
Install irace (>=3.0): https://cran.r-project.org/package=irace
-
Install SUMO (>= 0.22.0): https://www.eclipse.org/sumo/
IMPORTANT: The
sumo
executable must be in the PATH, otherwisesumo-wrapper
will not find it! -
Compile sumo-wrapper:
make all -C src/sumo-wrapper/code
-
The files
./irace/target-runner-rel
and./irace/target-runner-abs
require Perl 5. -
The setup is designed for GNU/Linux. It may be possible to make it work in Windows or OSX, but you may need to rewrite some of the scripts.
Look at scenarios in src/irace/
, choose one, for example
scenario-abs-repjavier-first2new0confs10.txt
. Then run (removing scenario-
):
$ run.sh abs-repjavier-first2new0confs10 2
This will create a directory ./execdir-2
with the results of irace.
run.sh
will call both./irace/target-runner-rel
and./irace/target-runner-abs
using the traffic-light file instance defined inrun.sh
to create./irace/parameters-rel.txt
and./irace/parameters-abs.txt
. An example of traffic-light instance issrc/sumo-wrapper/instanceFiles/malagaChica.txt
. You can regenerate this file using:
./src/sumo-wrapper/code/genInstanceFile ./instances/malagaChica/ malagaChica 4200
-
run.sh
will callirace
which calls either./irace/target-runner-rel
or./irace/target-runner-abs
(defined by the scenariotargetRunner
). Let's assume it is./irace/target-runner-rel
. -
./irace/target-runner-rel
will call./src/sumo-wrapper/code/sumo-wrapper
which callssumo
-
sumo
will use the files insrc/sumo-wrapper/instanceFiles/
src/sumo-wrapper/instances/
. Please readsrc/sumo-wrapper/README.txt
-
Instance files for
irace
are defined inmalagaChica-train.txt
andmalagaChica-test.txt
. The*.rou.xml
files defined there are the routes of the cars and each file describes a traffic scenario. As mentioned in the paper, they were generated by Daniel Stolfi from sensor data and using the Flow Generator Algorithm (FGA) [27]. They are specific to a network file and cannot be re-used for a different network.