Skip to content

Add simple GA-based sampler #121

@toshihikoyanase

Description

@toshihikoyanase

Motivation

Genetic Algorithm (GA) is a popular metaheuristic algorithm inspired by natural selection.
This issue proposes to add a GA-based sampler to OptunaHub.
We want to start the most straightforward implementation since we can see many variants of GA.

Reference

Description

The key components of the GA sampler will include:

  • Initialization: This sampler will initialize the population using RandomSampler of Optuna
  • Selection: This sampler will use tournament selection to select parents from the population based on their objective values.
  • Crossover: This sampler will apply uniform crossover to combine the parameter values of two parents to create new offspring.
  • Mutation: This sampler will introduce random changes to the genes of the solutions in the population using RandomSampler of Optuna

The GA sampler will have the following configurations:

  • Population size: The number of individuals (trials) in the population
  • Crossover probability: The probability of applying crossover when creating new offspring
  • Mutation probability: The probability of introducing random changes to each parameter when creating new offspring

Note that this implementation will not support distributed optimization of a single population for simplicity. Because of this limitation, we can keep the individuals as a member variable of the GA-based Sampler and do not need to communicate with other sampler instances.

Alternatives (optional)

No response

Additional context (optional)

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions