Skip to content

Refactor/steady state decouple from standard ga#1486

Closed
francastagna wants to merge 28 commits intomasterfrom
refactor/steady-state-decouple-from-standard-ga
Closed

Refactor/steady state decouple from standard ga#1486
francastagna wants to merge 28 commits intomasterfrom
refactor/steady-state-decouple-from-standard-ga

Conversation

@francastagna
Copy link
Collaborator

@francastagna francastagna commented Mar 24, 2026

Summary

  • SteadyStateGeneticAlgorithm never called any method specific to
    StandardGeneticAlgorithm (neither super.searchOnce() nor formTheNextPopulation()),
    so the inheritance introduced unnecessary coupling to a concrete class.
  • SteadyStateGeneticAlgorithm now inherits directly from AbstractGeneticAlgorithm,
    simplifying the hierarchy.
  • StandardGeneticAlgorithm no longer needs to be open.

SteadyStateGeneticAlgorithm never called super.searchOnce() nor
formTheNextPopulation(), so inheriting from StandardGeneticAlgorithm
created unnecessary coupling to a concrete class. SteadyState now
inherits directly from AbstractGeneticAlgorithm, simplifying the
hierarchy. StandardGeneticAlgorithm no longer needs to be open.
@francastagna francastagna requested a review from arcuri82 March 24, 2026 21:26
@arcuri82
Copy link
Collaborator

Hi @francastagna ,

thanks.

But, does this PR contain code from PR #1399? In that case, I cannot review it in this period (it is too big, and time is unfortunately limited). Not sure if @jgaleotti explained you the situation in details.
Architectural changes in driver are high risk and, unless we are going to use them by default in EM, unfortunately they would be low priority :(
To review this PR, should remove the code related to #1399

Btw, regarding running experiments, my apologies, I did not understand you were waiting for me... after speaking with @jgaleotti, I have started to run them now :)

@francastagna
Copy link
Collaborator Author

francastagna commented Mar 25, 2026

Hi @arcuri82 , thanks!

The large diff was my mistake... The PR was accidentally created from feature/dynamosa-3 instead of master, which pulled in all unrelated commits. The actual change is minimal: 2 files, 3 lines.

I've opened a clean PR here: #1488

It's fully independent, just decouples SteadyStateGA from StandardGeneticAlgorithm in the class hierarchy.

Regarding the experiments, no worries...
Feel free to reach out to me or @jgaleotti if you have any questions, I'm happy to help you run them

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants