-
Notifications
You must be signed in to change notification settings - Fork 51
Open
Labels
contribution-welcomeContribution welcome issuesContribution welcome issuesnew-packageNew packagesNew packages
Description
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
- Holland, J. H. (1992). Genetic Algorithms. Scientific American, 267(1), 66–73.
- Erik D. Goodman, Introduction to Genetic Algorithms, 2009
Description
The key components of the GA sampler will include:
- Initialization: This sampler will initialize the population using
RandomSamplerof 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
RandomSamplerof 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
Labels
contribution-welcomeContribution welcome issuesContribution welcome issuesnew-packageNew packagesNew packages