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

Size-limited populations #164

Open
julian-zucker opened this issue Oct 21, 2019 · 1 comment
Open

Size-limited populations #164

julian-zucker opened this issue Oct 21, 2019 · 1 comment
Labels
enhancement New feature or request

Comments

@julian-zucker
Copy link
Member

Is your feature request related to a problem? Please describe.
When working on Evolving Fair Models, I notice that on long runs, the population size grows indefinitely. A 40,000-solution population slows down the improvement of solutions compared to a smaller population.

Describe the solution you'd like
A size-limited population, that works like a FIFO queue (maybe with exceptions for Pareto-optimal solutions?).

Describe alternatives you've considered
I could just write more deletors/allocate more threads to do deletion. However, getting that balance correct is difficult. I want some static guarantees about maximum population size. You can delete within those.

Additional context

@julian-zucker julian-zucker added the enhancement New feature or request label Oct 21, 2019
@drassaby
Copy link
Member

What do you think about adding behavior like this to strategies? Currently, our agent step scheduling is not flexible enough to support this (since strategies can only return wait times), but we could make the system more flexible by allowing strategies to specify run conditions (as predicates). One of these run conditions could be that the population size (which is already encapsulated by PopulationInformation) is less than some number. And then that strategy can be used for the modifiers and creators.

This would also have the benefit of deleting solutions according to deletors instead of some pattern we decide on.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants