Questions tagged [differential-evolution]

In computer science, differential evolution (DE) is a method that optimizes a problem by iteratively trying to improve a candidate solution with regard to a given measure of quality. It's similar to genetic algorithm (GA) except that the candidate solutions are not considered as binary strings (chromosome) but (usually) as real vectors.

DE is used for multidimensional real-valued functions but does not use the gradient of the problem being optimized, which means DE does not require for the optimization problem to be differentiable as is required by classic optimization methods such as gradient descent and quasi-newton methods. DE can therefore also be used on optimization problems that are not even continuous, are noisy, change over time…

DE optimizes a problem by maintaining a population of candidate solutions and creating new candidate solutions by combining existing ones according to its simple formulae, and then keeping whichever candidate solution has the best score or fitness on the optimization problem at hand. In this way the optimization problem is treated as a black box that merely provides a measure of quality given a candidate solution and the gradient is therefore not needed.

DE is originally due to Storn and Price

See also:

103 questions
3
votes
1 answer

ES calculation produces unreliable result (inverse risk) for column: 1

I keep getting this error: ES calculation produces unreliable result (inverse risk) for column: 1 message when using DEoptim. Maybe I am overlooking something so I need some help figuring this out. I have searched across the web but cant seem to…
Rime
  • 912
  • 2
  • 11
  • 39
2
votes
1 answer

Can I use PyOpenCL in integration with Scipy to perform Differential Evolution in parallel with GPU?

I got my code for simulating a multivariate regression model to work using the Differential Evolution, and even got the multiprocessing option to help out in reducing runtime. However, with 7 independent variables with 10 values each and matrix…
2
votes
1 answer

Can Scipy.optimize.differential_evolution compute SD or SE of estimated parameters?

I used Scipy.optimize.differential_evolution to estimate parameters for my models; however, unlike Curve_fit, it cannot retire covariance. How can I calculate the uncertainties of my parameters?
2
votes
0 answers

Is there a way to NOT give 'bounds' argument in Scipy differential evolution algorithm?

I'm writing a code in Python for optimization. I'm using the differential_evolution algorithm available in scipy library. I wrote the following code with the help of internet resources: from scipy.optimize import differential_evolution from numpy…
PPGoodMan
  • 313
  • 4
  • 15
2
votes
2 answers

Get a function pickleable for using in Differential Evolution workers = -1

#I EDITED MY ORIGINAL POST in order to put a simpler example. I use differential evolution (DE) of Scipy to optimize certain parameters. I would like to use all the PC processors in this task and I try to use the option "workers=-1" The codition…
2
votes
0 answers

Scipy Differential Evolution Failed After Adding Constraints

I'm trying to run an optimization with scipy.optimize.differential_evolution. I want to find the best weights combination for like 20 variables to find the maximized Spearman Correlation between the calculated total score and a pre-determined rank.…
2
votes
1 answer

Scipy differential evolution wih 10 variables needs many iterations

I'm trying to optimize a scalar function with 10 variables by using scipy.optimize.differential_evolution. The scalar value is actually calculated by a simulation software which takes about 7 seconds per iteration. The problem is that even if I set…
2
votes
1 answer

Segmented regression in python using differential evolution

I have the long-term aim of creating a module that for a specific data set, fits segmented regressions up to an arbitrary number of breakpoints, as well as a standard polynomial and linear curve fit, and then evaluates which of the fits are the most…
2
votes
1 answer

Why differential evolution works so well?

What is the idea behind the mutation in differential evolution and why should this kind of mutation perform well? I do not see any good geometric reason behind it. Could anyone point me to some technical explanation of this?
JAV
  • 279
  • 2
  • 9
2
votes
1 answer

Explain the intuition for the tol paramer in scipy differential evolution

I am using the differential evolution optimizer in scipy and I don't understand the intuition behind the tol argument. Specifically is say in the documentation: tol: float, optional When the mean of the population energies, multiplied by tol,…
rhody
  • 2,274
  • 2
  • 22
  • 40
2
votes
1 answer

setting initial parameters for scipy.differential_evolution

In a differential evolution optimization algorithm from scipy, is it possible to set initial parameters if I have some good starting points? For example, suppose i know the best x is [0.1, 0.5,0.3], is it possible to add it inside…
2
votes
1 answer

Scipy.optimize differential_evolution Index error: tuple index out of range

I have a smooth function f(x) = sin(x / 5) * exp(x / 10) + 5 * exp(-x / 2) The task is to find a minimum of a non-smooth function h(x) = int(f(x)) on the interval of 1 to 30. In other words, each value of f (x) is converted to type int and the…
plywoods
  • 257
  • 1
  • 3
  • 16
2
votes
1 answer

DEoptim appears to freeze in R

I have encountered a situation where DEoptim appears to freeze. I can't figure out why and was hoping somebody with more experience in C could take a look at it. It is rather difficult to create a reproducible example, so I simply saved the entire…
Vandenman
  • 3,046
  • 20
  • 33
2
votes
1 answer

Explain the Multi-Objective Differential Evolution

Can someone please explain the Multi-Objective Differential Evolution in plain words and point out its differences with the normal Differential Evolution. An example will be appreciated.
imKB
  • 63
  • 6
2
votes
1 answer

Can Differential Evolution solve problems that require mutation of dependent parameters?

One of the differences between Differential Evolution (DE) and Genetic Algorithms (GA) is that DE discards a new candidate unless it is more fit than the old candidate it was derived from while GA allows "less fit" candidates to survive with some…
Gili
  • 86,244
  • 97
  • 390
  • 689