Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add simple GA-based sampler #121

Open
toshihikoyanase opened this issue Jul 31, 2024 · 2 comments
Open

Add simple GA-based sampler #121

toshihikoyanase opened this issue Jul 31, 2024 · 2 comments
Labels
contribution-welcome Contribution welcome issues new-package New packages

Comments

@toshihikoyanase
Copy link
Member

toshihikoyanase commented Jul 31, 2024

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

@toshihikoyanase toshihikoyanase added contribution-welcome Contribution welcome issues new-package New packages labels Jul 31, 2024
@toshihikoyanase toshihikoyanase changed the title [WIP] Add simple GA-based sampler Add simple GA-based sampler Aug 1, 2024
@csking101
Copy link
Contributor

Hi, could I take this up?

@y0z
Copy link
Member

y0z commented Nov 8, 2024

Sure 👍️
We welcome your contribution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
contribution-welcome Contribution welcome issues new-package New packages
Projects
No open projects
Status: Todo
Development

No branches or pull requests

3 participants