Talk:Differential evolution

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Missing relation to evoluationary optimizers[edit]

Isn't evolution by itself iterative? I really wonder if there is any difference bw DE and the other older well-known and popular algorithms. They all base on populations and iterations!! — Preceding unsigned comment added by 213.131.238.28 (talk) 14:58, 8 August 2012 (UTC)[reply]


Copy-Paste from the Authors Website[edit]

This article doesn't read only as someone's essay, but is moreover a copy-paste-product from the referenced website. I currently write my diploma about evolutionary algorithms and even I did not fully understand the essence of DE. I support the strong doubts that someone unfamiliar may have just a single clue what DE is all about.

I recommend a total rewrite. I would love to do it but I have a very tight time plan to write my diploma. Someone else may be? Philipppixel (talk) 20:25, 9 November 2009 (UTC)[reply]

The first sentence of the history section seemed to taken from one of the sources and should be rewritten. I commented it out for now. The rest of the article seems ok to me wrt copyvio; were there any other passages that came from another source? Also, can you be more specific out the context issue? For example which terms were not clear from the context? I'm removing the Essay tag as it doesn't seem to be supported by your comment. Again, please be more specific if you add it back in.--RDBury (talk) 17:39, 18 December 2009 (UTC)[reply]

The definition at the beginning of the article is the same the one used in the Metaheuristic article and is therefore too general. —Preceding unsigned comment added by 109.144.225.240 (talk) 19:05, 29 December 2010 (UTC)[reply]

Issues with Pseudocode[edit]

There are a few issues with the code provided in this article.

First, this section defines a data type of integer:

class Individual{ //normally DifrentialEvolution uses floating point variables var float data1,data2 //but using integers is possible too var integer data3

However, Differential Evolution - A Practical Approach to Global Optimization (the book written by Storn and Price, creators of the algorithm), suggests that functions from the integers should be use floating point variables that are rounded to the nearest acceptable variable. Otherwise, the value of F is limited to being 1. Further, if you use integer data points, you can encounter a situation where a valid data point is never reached. The example they give is a function defined on odd integers as well as 2. Since F=1, you will never reach 2 as a data point.

The use of a linked list to store the population makes no sense. An array would be far better. The population never changes size while the program is running, and there algorithm does need to access arbitrary elements of the population during the crossover stage. Both suggest the use of an array, which allows constant time access, while a linked list must iterate through the elements.

The method of generating random indices given:

Math.floor(random.UniformNoise()%(population.size()-1))

introduces modulo bias and will never select the last element of the list (it should be %population.size(), since the floor function is being used). — Preceding unsigned comment added by 129.59.122.24 (talk) 01:12, 2 April 2015 (UTC)[reply]

Agreed. I'll take a shot at fixing it according to the guidelines at MOS:CODE. ← scribbleink talk 07:45, 2 April 2015 (UTC)[reply]
There's already a pseudocode listing in the section titled "Algorithm". I'll update the heading to indicate this is a code sample. Regarding your concerns about the assumptions in the code, that needs further investigation. ← scribbleink talk 16:59, 3 April 2015 (UTC)[reply]

What is 'differential' in differential evolution?[edit]

I think this article should describe where the term 'differential' stems from as my first thought was "Well, since it carries 'differential' in its name, it must use some sort of gradient". However, that does not seem to be the case. Thus, we require an explanation on this.

Thank you — Preceding unsigned comment added by Whiletrue1 (talkcontribs) 14:04, 30 March 2020 (UTC)[reply]

Broken Link[edit]

The link at the bottom of the page (http://www.icsi.berkeley.edu/~storn/code.html) leads to a failsafe page, as the original webpage no longer exists. Perhaps an alternative could be found — Preceding unsigned comment added by 174.91.154.233 (talk) 14:37, 17 July 2020 (UTC)[reply]

Parameter selection[edit]

I think we need a more detailed explanation of the meaning and implications of the "performance landscape", as well as a description of the rules of thumb of parameter selection. CaffeineP (talk) 02:51, 16 July 2021 (UTC)[reply]