An open API service indexing awesome lists of open source software.

https://github.com/nico-curti/genetic

Examples about genetic algorithms for parallel computing
https://github.com/nico-curti/genetic

distributed-computing genetic-algorithm parallel-computing

Last synced: about 1 year ago
JSON representation

Examples about genetic algorithms for parallel computing

Awesome Lists containing this project

README

          

| **Authors** | **Project** | **Build Status** |
|:------------:|:-----------:|:-----------------------------:|
| N. Curti | Genetic | **Linux/MacOS** : [![Travis](https://travis-ci.com/Nico-Curti/genetic.svg?branch=master)](https://travis-ci.com/Nico-Curti/genetic) |

[![GitHub pull-requests](https://img.shields.io/github/issues-pr/Nico-Curti/genetic.svg?style=plastic)](https://github.com/Nico-Curti/genetic/pulls)
[![GitHub issues](https://img.shields.io/github/issues/Nico-Curti/genetic.svg?style=plastic)](https://github.com/Nico-Curti/genetic/issues)

[![GitHub stars](https://img.shields.io/github/stars/Nico-Curti/genetic.svg?label=Stars&style=social)](https://github.com/Nico-Curti/genetic/stargazers)
[![GitHub watchers](https://img.shields.io/github/watchers/Nico-Curti/genetic.svg?label=Watch&style=social)](https://github.com/Nico-Curti/genetic/watchers)

# Genetic algorithm

Examples of genetic algorithm applications in parallel and distributed environments.

1. [Prerequisites](#prerequisites)
2. [Installation](#installation)
3. [Authors](#authors)
4. [License](#license)

## Prerequisites

This project collects examples of genetic algorithm applications to very simple problems.
The codes are written in c++ language with the support of **c++14 standard**.
Before install it, please upgrade your c++ compiler version to a compatible one (ex. version >= 5 for g++ compiler).

For the multi-threading version of the algorithm **OpenMP** is required so please check if your compiler support it.

A more sophisticated version of the algorithm is written with **MPI**. Before install this project, please verify if **boost mpi** libraries are already installed.

For the MPI compiler must be set the variable OMPI_CXX.

## Installation

To build the executables, clone the repo and then type

```
make omp OMP=1
```

for the multi-threading version, and

```
make mpi MPI=1
```

for the message-passing version.

If in the Makefile the variable OMP is set to **true** (aka 1) you can enable multi-threading also for the mpi code (**hybrid version**).

## Authors

* **Nico Curti** [git](https://github.com/Nico-Curti), [unibo](https://www.unibo.it/sitoweb/nico.curti2)

## License

This project is released under GPL license. [![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://github.com/Nico-Curti/genetic/blob/master/LICENSE)