Quick start

EvoLP was designed as a playground, where each block is a reusable computation pattern that you can use to quickly set up your own algorithms and workflows.

You can find some useful tutorials in the navigation bar. These examples are also available in the repository as Jupyter Notebooks. The tutorial on the 8 queens problem details how to incorporate a custom algorithm into the workflow. If you want to use custom blocks, you can do that too.

Installation Guide

Install Julia

EvoLP is a package for Julia. To use EvoLP, download and install the latest version of Julia first.

Install EvoLP

You can install EvoLP from the Julia REPL using the built-in package manager:

julia> import Pkg
julia> Pkg.add("EvoLP")

Alternatively, you can enter Pkg mode by pressing the ] key and then add EvoLP like so:

] # upon typing ], the prompt changes (in place) to: pkg>
add EvoLP

Once EvoLP is installed, you can use all the building blocks by importing/using it at the top of your code:

using EvoLP

# your code here

The general workflow

A common workflow in EvoLP is somewhat similar to this:

  1. Use a generator for initialising your population.
  2. Code your objective or use a test benchmark function.
  3. Depending on your objective function and individual representation, choose appropriate selectors, recombinators and mutators.
  4. Use a built-in algorithm or code your own. Roughly:
    • Evaluate your population.
    • Use select and cross to generate new solutions.
    • Stochastically alter new solutions using mutate.
    • Evaluate the new population members and select the survivors.
    • Optionally compute statistic and log them in the Logbook.
    • Return the results.