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
sumoexecutable must be in the PATH, otherwisesumo-wrapperwill not find it! -
Compile sumo-wrapper:
make all -C src/sumo-wrapper/code -
The files
./irace/target-runner-reland./irace/target-runner-absrequire 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.shwill call both./irace/target-runner-reland./irace/target-runner-absusing the traffic-light file instance defined inrun.shto create./irace/parameters-rel.txtand./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.shwill calliracewhich calls either./irace/target-runner-relor./irace/target-runner-abs(defined by the scenariotargetRunner). Let's assume it is./irace/target-runner-rel. -
./irace/target-runner-relwill call./src/sumo-wrapper/code/sumo-wrapperwhich callssumo -
sumowill use the files insrc/sumo-wrapper/instanceFiles/src/sumo-wrapper/instances/. Please readsrc/sumo-wrapper/README.txt -
Instance files for
iraceare defined inmalagaChica-train.txtandmalagaChica-test.txt. The*.rou.xmlfiles 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.