ljvmiranda921 / pyswarms

A research toolkit for particle swarm optimization in Python

Home Page:https://pyswarms.readthedocs.io/en/latest/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

"Forgetful" global best optimizer

lukebemish opened this issue · comments

Is your feature request related to a problem? Please describe.
When using particularly noisy data, especially if the cost function tends to be noisy, the global best optimizer can hold on to a single particularly good data point that was simply caused by noise, causing the particles to tend towards a point that isn't the true global minimum.

Describe the solution you'd like
This could be fixed using a version of the global best optimizer than can "forget" memories after certain amount of time; a "within the last x iterations" global best.

Describe alternatives you've considered
While one approach would be to make a new optimizer entirely, this could likely also be added into the global best optimizer instead.

Additional context
Code to accomplish exactly this has already been added to my fork of this repository.

commented

Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward?

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

I have been thinking about this, and I realized that it may be simpler simply to integrate this functionality into the GlobalBestPSO; the user could provide a number of iterations after which to forget best points, and if this number is not provided, data points won't be forgotten. If anyone else thinks this is useful, I can write up some small changes to do this.