/shiny-ga-demo

Interactive example of a simple genetic algorithm in R shiny.

Primary LanguageRMIT LicenseMIT

Interactive Genetic Algorithm Example

Overview

This is a an R Shiny application using Luca Scrucca's GA package.

The optimisation example searches for optimum values for two dimensions to minimise the Rastrigin function. A plot of this function is shown below:

.

Note that optimum value for both dimensions is zero, and that many local minima are present.

Users can explore the impact of different values for:

  • population size
  • mutation probability
  • crossover probability
  • elitism
  • number of generations.

Implementation

The application makes use of the future package to allow the GA to run asynchronously, and the ipc package for passing messages between the GA and Shiny.

Give it a try

This application is deployed at https://shiny-ga-demo.azurewebsites.net (assuming the hosting doesn't cost me too much).