jakobbossek / ecr3vis

An evolutionary algorithm framework for R (currently limited to performance assessment of multi-objective randomized search heuristics).
https://jakobbossek.github.io/ecr3vis/
GNU General Public License v3.0
1 stars 0 forks source link
evolutionary-algorithms evolutionary-algorithms-framework genetic-algorithm multi-objective-optimization performance-assessment visualization

ecr3vis: ecr3 visualization

Visit the package website.

NOTE: Under heavy development!!! :construction:
It is likely that ecr3vis will be merged/renamed into ecr3 in the course of development.

Project Status: Active – The project has reached a stable, usable
state and is being actively
developed. Status R-CMD-check codecov CRAN_Status_Badge

Introduction

ecr3vis is the visualization module of ecr3 (under development). It offers a collection of functions for the visualization of results of randomized search heuristics. The focus is on multi-objective problems. The package includes 2d- and 3d-scatter-plots, parallel coordinate plots (PCP), heatmaps etc.

Example

In the following we demonstrate how to build a simple mutation-based EA to optimize the Pseudo-boolean function ONEMAX which counts the number of ones in a bistring of length n, i.e., the optimum is obviously the all-ones bit-string. We first define the fitness function that guides the evolutionary search.

library(ecr3vis)
library(tidyverse)

# import sample data-set
data(emoas_on_zdt)
tbl = filter(emoas_on_zdt, repl == 1L)

plot_scatter2d(tbl, colour = "algorithm")

# Add third objective
tbl$y3 = tbl$y2 + 1
plot_heatmap(tbl)
plot_radar(tbl[1:3, ])
plot_radar(tbl[1:3, ]) + facet_grid(. ~ nr)

Development Team

The package is a one-man project by Jakob Bossek at the moment of writing. However, the package interfaces some neat implementations of various other people (see DESCRIPTION file for details).

How to contribute?

You can contribute by identifing annoying bugs in the issue tracker. This is also the preferred place to ask questions and raise feature requests. Moreover, users can contribute even more by forking the ecr3vis repository, implementing feautures or bugfixes and raising a pull request.

Installation Instructions

The package will be available at CRAN when it is done. If you are interested in trying out and playing around with the current github developer version use the devtools package and type the following command in R:

remotes::install_github("jakobbossek/ecr3vis")

Getting help

Please address questions and missing features about the ecr3vis as weell as annoying bug reports in the issue tracker. Pay attention to explain your problem as good as possible. At its best you provide an example, so I can reproduce your problem quickly. Please avoid sending e-mails.

Related Software

There are many alternatives in both R and other languages. We list some examples in the following: