title: Convergence in Differential Evolution
body: <p>I am using Scipy's differential evolution optimizer and am seeing some behaviour that I cannot reconcile and am looking for someone with a bit of expertise with DE.</p>
  <p>A little background, I looking at the objective function for all members of the population as a function of iteration with &quot;best1exp&quot; mutation strategy.</p>
  <p>The best1exp strategy determines new population candidates by taking</p>
  <p><a href="https://i.stack.imgur.com/rUr9g.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/rUr9g.png" alt="enter image description here" /></a></p>
  <p>where b_0 is the best known solution, F is a mutation constant m^i_r represents a random member of the i^th population iteration.</p>
  <p>The &quot;exp&quot; part in best1exp is the crossover strategy which is independent of the effect I am concerned with (presents even with CR=1 which sets bin=exp).</p>
  <p>It looks like the population is supporting two solutions, which should not be possible since all the members are being randomized around the &quot;best&quot; solution for each iteration (I know there is crossover, but ignoring that detail since it does not depend on CR. The same type of structure exists for differing CR, F with and without dithering, exp and bin.)</p>
  <p><a href="https://i.stack.imgur.com/6Rcie.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/6Rcie.png" alt="enter image description here" /></a></p>
  <p>So the question is, how can DE support a structure like this?
  To be clear I am not asking the question tell me why &quot;my&quot; code is generating this, but rather how is it even possible.</p>