This project contains the source files to reproduce the results of experiments on the Simpop Local model. This experiment is described in the paper:
C. Schmitt, S. Rey, R. Reuillon, D. Pumain, Half a billion simulations: Evolutionary algorithms and distributed computing for calibrating the SimpopLocal geographical model, submitted to EPB, in publication, 2013.
You can find a preprint version here : http://www.openmole.org/files/Schmitt2014.pdf
Page project website : http://iscpif.github.io/simpoplocal-epb/
This software is licenced under the GNU Affero GPLv3 free software licence.
To compile and run this project you need sbt 0.13 (http://www.scala-sbt.org/).
Go to the fitness directory.
cd fitness
To execute a single run:
sbt run
To build and publish the OpenMoLE plugin:
sbt osgi-bundle
Get the plugin in thetarget
repository, for instance:
target/scala-2.11/exploration_2.11-1.0.0.jar
We use OpenMoLE to describe and launch our experimentation.
OpenMOLE (Open MOdeL Experiment) is a workflow engine designed to leverage the computing power of parallel execution environments for naturally parallel processes. A process is told naturally parallel if the same computation runs many times for a set of different inputs. OpenMOLE workflows are suitable for many types of naturally parallel processes such as model experiment, image processing, text analysis… It is distributed under the AGPLv3 free software license.
Description of OpenMoLE installation is described on www.openmole.org website.
You can find multiple other great tutorials and examples of other applications on same website.
To launch OpenMoLE in console mode and load the exploration jar :
openmole -c -p /path/to/exploration_2.11.jar
Then you can use the workflows avialable in the openmole directory (it is compatible with OpenMoLE 1.0). Those workflows are configured to run on the biomed VO of the grid EGI, however switching the execution environment in OpenMoLE is easy so you can use this workflow on you own multi-core machine, cluster or grid virtual organisation (you can find examples of workflows in the tutorial section on the openmole website).
You can find graphics scripts into R folder.
You need R with ggplot2
installed to run correctly this two scripts.
Graphics use csv file generated by WriteResultGraph1.scala
and WriteResultGraph2.scala
If you want to add more replication or change the default output for result in the graphic 1, you need to modify directly the two lines into scala file WriteResultGraph1.scala
:
val replications = 5
val folderPath = "/tmp/"
If you want to add more replications, change the frequency of data writer, or change the default output for result in the graphic 2, you need to modify directly the two lines into scala file WriteResultGraph2.scala
:
val replications = 5
val folderPath = "/tmp/"
val each = 10
To generate csv files, you need to run sbt
and choose the correct option in the menu. After that, you can locate the csv file and modify into R folder the two .sh
scripts :
To generate graphics 1 you need to modify the graph1.sh
file
To generate graphics 2 you need to modify the graph2.sh
file