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

Implement NSGAIIIElitePopulationSelectionStrategy #4937

Closed
Alnusjaponica opened this issue Sep 22, 2023 · 1 comment · Fixed by #5027
Closed

Implement NSGAIIIElitePopulationSelectionStrategy #4937

Alnusjaponica opened this issue Sep 22, 2023 · 1 comment · Fixed by #5027
Labels
code-fix Change that does not change the behavior, such as code refactoring. contribution-welcome Issue that welcomes contribution. optuna.samplers Related to the `optuna.samplers` submodule. This is automatically labeled by github-actions.

Comments

@Alnusjaponica
Copy link
Collaborator

Alnusjaponica commented Sep 22, 2023

Motivation

To simplify the code base by integrating common parts of NSGAIISampler and NSGAIIISampler.

Previously, NSGAIISampler and NSGAIIISampler shared the code except for _select_elite_population() and the initializer. However, the population selection part of NSGAIISampler has been separated as NSGAIIElitePopulationSelectionStrategy in #4821. The same refactoring remains as a follow-up task."

Suggestion

  1. Create directory named samplers/_nsgaiii
  2. Move _select_elite_population() and functions used in it to samplers/nsgaiii/_elite_population_selection_strategy.py to implement NSGAIIIElitePopulationSelectionStrategy as in Loose coupling nsgaii elite population selection #4821.
  3. Move other part of _nsgaiii.py to samplers/_nsgaiii/_sampler.py
  4. Update import path in samplers/__init__.py and related tests.

Additional context (optional)

This is the first step to integrate the common part of the two samplers. How to complete this task is yet to be decided.

@Alnusjaponica Alnusjaponica added code-fix Change that does not change the behavior, such as code refactoring. contribution-welcome Issue that welcomes contribution. optuna.samplers Related to the `optuna.samplers` submodule. This is automatically labeled by github-actions. labels Sep 22, 2023
@HideakiImamura
Copy link
Member

@g-tamaki works on this issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
code-fix Change that does not change the behavior, such as code refactoring. contribution-welcome Issue that welcomes contribution. optuna.samplers Related to the `optuna.samplers` submodule. This is automatically labeled by github-actions.
2 participants