top of page

Java Genetic Algorithm

Implementation of a genetic algorithm finding extremum of selected test functions

6622813_google_play_social_store_icon.png

About

This application was created in Java version 8 and based on the Spring Boot framework. It supports two types of genetic algorithms:
- standard genetic algorithm (Goldberg),
- algorithm using chromosomes with floating point representation (Michalewicz).
For this application, the condition for stopping the algorithm is to complete a defined number of operations.

The application allows you to set various parameters of the evolutionary algorithm such as:
- chromosome type - binary or floating-point,
- mutation chance in the range of 0.0 to 1.0,
- the number of genes that represent successive parameters of a multivariable function along with a lower and upper bound,
- population size,
- tournament size 𝑞 for tournament type selection,
- method of optimizing functions of many variables - determines whether the algorithm should search for the global minimum or maximum of this function,
- number of iterations,
- the chance of crossing two individuals in range from 0.0 to 1.0,
- the type of crossing depending on the type of chromosome:
one-point (binary)
uniform (binary)
simple arithmetic (floating-point)
single arithmetic (floating-point)
- 10 different multi-variable functions for testing
All these parameters can be set in the configuration file - application.properties.

Technologies used

Java 8
Spring Boot

Created:

October 26, 2022

bottom of page