solver  1.0
installation instructions

Program requirements, configuration, building, and installing.

Installation prerequisites

Program installation

  1. download the source codes from this page
  2. extract the sources and enter the root directory of the program
  3. create and enter a separate building directory
    • mkdir build/; cd build/
  4. configure the program
    • cmake [options] ../
    • some CMake options are documented here
    • current configuration can also be interactively changed by 'ccmake ../' command
    • notice the generated SolverConfig.h file
  5. build the program
    • make -jN
    • N is the number of concurrent jobs (~number of CPU cores)
  6. generate html documentation (optional)
    • make doc
    • configuration of Doxygen is located in doxyfilehtml.in file
  7. install program (and documentation)
    • make install

Execution of the program

Enter a directory with the program executable, which depends on the install path ("solver/bin/" by default), and execute the following command to print the program help.

./EnergyOptimizatorOfRoboticCells --help

The program header displays the compile-time information like build type, used solver, and program version. The following part prints valid short/long program parameters, for more information see program help. To test this program it is possible to use either your dataset file, or download available datasets (and optionally generator) from our GitHub page.

Selected CMake options by examples

option description
-DCMAKE_BUILD_TYPE=Debug
Ensures that the program is compiled in a debug mode. Lots of asserts and debug methods are called during the runtime to detect a potential source of problems. If it is not enough, it is possible to use advanced debugging and error checking tools, e.g. GDB or Valgrind, to shed more light on the problems.
-DCMAKE_BUILD_TYPE=Release
The program is fully optimized in a release mode. It is a default build type.
-DILP_SOLVER=solver_name
Selects the Integer Linear Programming solver that will be used to solve (I)LP problems. Valid strings are LPSolve, Gurobi, or Cplex.
-DCMAKE_INSTALL_PREFIX=/usr/local
Specifies the installation path, by default it is the root directory of the program.
-DCMAKE_C_COMPILER=clang
Sets Clang as a C compiler. Clang may be replaced by alternative compilers.
-DCMAKE_CXX_COMPILER=clang++
Sets Clang as a C++11 compiler. Clang may be replaced by alternative compilers.
-DCMAKE_CXX_FLAGS="-O2 -march=native"
Additional optimization flags for C++11 compiler.
-DLIBRARY_LINKAGE=linkage_type
Library linkage is either STATIC or DYNAMIC. The static linkage builds a monolithic binary containing all the program code and its libraries. Dynamic linkage decomposes the program to shared libraries (~modules) that are linked to the resulting executable file.