mahf-opt / mahf

A framework for modular construction and evaluation of metaheuristics.
GNU General Public License v3.0
10 stars 0 forks source link

Add Differential Evolution #134

Closed Saethox closed 1 year ago

Saethox commented 2 years ago

Closes #74

Some notes:

HeleNoir commented 2 years ago

Sorry for the confusion, I only read the papers really fast and seem to have missed some bits... #74 is adapted accordingly.

current-to-best in http://arxiv.org/abs/2004.10489 seems to be identical to rand-to-best in http://ieeexplore.ieee.org/document/534789/

Yes, they are the same, I would go with rand-to-best as a name but maybe add in the documentation that the other option is the same.

http://arxiv.org/abs/2004.10489 only mentions that the selection and mutation together are pretty close to an arithmetic crossover and nothing otherwise. What did you have in mind for the arithmetic crossover listed in https://github.com/mahf-opt/mahf/issues/74, @HeleNoir?

I don't know if I had an additional paper or if I just misunderstood this one. Just ignore it, if I find the information again, we can add it later on.

Better name for GreedyIndex (keeping a child only if it is better than its parent)?

IndividualPlus? Or something like that, because it's kind of a mu + lambda strategy but within a subpopulation. We will need this for other algorithms as well I think.

DEBest and DECurrentToBest do currently not guarantee that the best and current are not among the solutions randomly picked. Should I change that? The random solutions itself are sampled without repetitions.

I think the best can be in the randomly selected solutions, but the current (as rand-to-best and current-to-best seem to be the same) should only be drawn once.

Saethox commented 2 years ago

I would be okay with merging and tackling the constraint handling in another PR.

Let's do that, then. I'll look into it after #136 is through.

Saethox commented 1 year ago

Do you have any additional comments, @luleyleo? If not, I'd like to merge.