Optimization is a solver for P2P energetic problem.
This project is a solver to minimize P2P energetic problem based on a European dataset releases in this journal.
This project read all CSV file, execute script on the collected data, then display the result in a graphstream windows.
There are some arguments you can use to launch this programm :
-debug falsewill print on terminal some debug logs if set to true (default false).-gui falsewill display data on graphstream windows if set to true (defautl false).-generator falsewill display on graphstream generators if set to true (default false).-date 2013-12-01 00:00:00a date to load on the CSV loads file.-algo scipywhich algo to use,scipyis based on scipy optimize, whenadmmis a custom implementation.-worker 5number of threads used to compute the specified algo on dataset when date is set toall(default 2).
Date need to be formated as follow : YYYY-MM-DD HH:00:00 with HH between 00 and 23.
This project is compiled under java 8 in order to deploy it more easily. Make sure to install Java 8 and set java.exe to your PATH variables.
Download from this permalink the network_edges.csv and load_signal.csv that are too heavy for git and place these files under src/main/resources/.
Comment the first line of these two files with a #.
To create a local docker image, make sure to execute gradlew clean jar first to generate the jar file, which is located under build/libs/.
Then run :
docker build --no-cache . -t optimization[:tag]
You can run this image with custom jvm arguments through env var.
docker run -d --name optimization --mount type=bind,source="/c/sqlite",target=/optimize/sqlite optimization[:tag] -debug false -date all -worker 5
