========================
GENESYS v2 is an optimisation tool for the optimisation of the transformation and operation of the European Power System. It is implemented using the CMA-ES Optimiser [(1) Nikolaus Hansen et.al.], with the implementation of libcmaes by [(2)Emmanuel Benazera]
GENESYS v2 is based on the ideas and experience from a prior research project (GENESYS v1) which aimed at the study of possible realisation of a fully renewable power system for EUMENA.
GENESYS v2 is implemented by RWTH Aachen University within a collaboration of the Institute for Power Generation and Storage Systems (PGS/ISEA) and the Institute of Power Systems and Power Economics (IAEW).
Learn more: http://www.genesys.rwth-aachen.de
- libcmaes (https://github.com/beniz/libcmaes)
- eigen3 (http://eigen.tuxfamily.org/index.php?title=Main_Page)
-
(1) Hansen, N. and A. Ostermeier (2001). Completely Derandomized Self-Adaptation in Evolution Strategies. Evolutionary Computation, 9(2), pp. 159-195.
-
(2) libcmaes, designed and implemented by Emmanuel Benazera with help of Nikolaus Hansen, on behalf of Inria Saclay / Research group TAO and Laboratoir de l'Accélérateur linéaire, research group Appstats, https://github.com/beniz/libcmaes
The project GENESYS is funded by the German Ministry for Economic Affairs and Energy under the project number FKZ 0325366
Genesys v2.0 is running solely on Linux based machines (see dependencies above). To be able to run the programm stick to the instructions below:
Necessary library configuration for Genesys v2.0
version: 2019-11-25
All instructions refer to the usage of Eclipse Oxigen as development environment
STEP 0: Only for Windows users: Install a virtual box with Centos7
- (0.1) Download/ Install Oracle VM VirtualBox for Windows:
VirtualBox-6.0.14-133895-Win
https://download.virtualbox.org/virtualbox/6.0.14/ - (0.2) Download a Centos7 distribution eg:
CentOS-7-x86_64-DVD-1908.iso
http://ftp.rz.uni-frankfurt.de/pub/mirrors/centos/7.7.1908/isos/x86_64/ - (0.3) Add the distribution to the virtual box clicking on 'New' (Neu) and setting the Version to Red Hat (64-Bit). CHOOSE INSTALLATION WITH GNOME DESKTOP AND SUBFILES
- (0.4) Follow further instructions to finally set up the machine. In the end it should look similar as shown below in the screenshot
STEP 1: Install libraries/dependencies/development software in Centos7
-
(1.1) Download/install eclipse oxigen for C/C++ development: https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/2019-09/R/eclipse-cpp-2019-09-R-linux-gtk-x86_64.tar.gz
-
(1.2) Install epel repository :
sudo yum install -y epel-release
-
(1.3) Install eigen3 lib :
sudo yum install -y eigen3-devel
-
(1.4) Clone libcmaes :
git clone https://github.com/beniz/libcmaes.git
Follow setup instructions in README.MD:
./autogen.sh
echo "#define CMAES_EXPORT" > cmaes_export.h
./configure
make
(the compilation takes some time!) -> agree to install in standard directory
sudo make install
add libraries to shared library path:ldconfig /usr/local/lib
helpful linux commands within the installation:
chmod -R 777 file
(grant recursive access to file for all users and groups)
STEP 2: Download Genesys-Code and import it into Eclipse
- (2.1) Clone repository from GitHub:
git clone https://github.com/open-modex/model_GENESYS-2.git
- (2.2) Checkout the submodule genesys2 as new general project in Eclipse via the Git-Symbol in the upper right corner
- (2.3) Convert the project to a c++ project (Executable, Linux GCC) by right clicking on the project in the project explorer
Step 3: Set Eclipse-Project-Configurations
GO TO: File → Properties → C/C++ Build
- (3.1) set Configuration to '[All configurations]'
GO TO: File → Properties → C/C++ Build → Settings → GCC C++ Compiler
- (3.2) Dialect: ISO C++11 (-std=c++0x)
- (3.3) Preprocessor(-D): __cplusplus=201103L
- (3.4) include paths (-l):
/usr/include/eigen3
/usr/local/include/libcmaes
"${workspace_loc:/genesys_2/}" (or "${workspace_loc:/${ProjName}}")
- (2.5) Miscellaneous - other flags: add '-fopenmp'
GO TO: C/C++ Build → Settings → GCC C++ LINKER libraries (-l): cmaes library search path (-L): /usr/local/lib
- (3) Miscellaneous - linker flags: add '-fopenmp'
Step 4: Change Eclipse-Project-Configurations
- (4.1) Open window Run → Run Configurations and create 2 new C/C++ Applications in the panel on the left side for 'analysis' and 'optimisation'
- (4.2) Fill in Spaces for name, project and C/C++ Application for the 'Main'-tab of the analysis application
- (4.3) Enter '--mode=analysis -j=1' in the Arguments-tab of the analysis application
- (4.4) Important: set the working directory to the Debug-folder location in your project as marked in red below!
- (4.4) Repeat all upper steps for the optimisation application as shown below in the screenshots
Possible Problems while running the Program
- Input files need to be in LF-Line-ending format, otherwise "\r" will be read in as string in Linux. Either the files are generated in Linux in the first place or need to be converted when from Windoes with "Atom" for example in the task menu at the bottom of the program