DifferentialEvolution

scalation.optimization.DifferentialEvolution

The DifferentialEvolution object solves optimization problems using the Differential Evolution algorithm. This population-based metaheuristic optimizes a real-valued function by iteratively improving candidate solutions. minimize f(x)

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

def optimize(f: FunctionV2S, dim: Int, bounds: (Double, Double), maxGen: Int = ..., F: Double = ..., CR: Double = ...)(popSize: Int = ...): (VectorD, Double)

Perform Differential Evolution optimization on objective function f.

Perform Differential Evolution optimization on objective function f.

Value parameters

CR

the crossover probability

F

the differential weight (scaling factor)

bounds

the search boundaries as a tuple (min, max)

dim

the dimensionality of the solution space

f

the real-valued objective function to be minimized

maxGen

the maximum number of generations

popSize

the population size (approx. 10 * dim)

Attributes

Returns

a tuple containing the best solution vector and its objective function value

Inherited methods

def lossPerEpoch(): ArrayBuffer[Double]

Return the loss function for each epoch.

Return the loss function for each epoch.

Attributes

Inherited from:
MonitorEpochs
def plotLoss(): Unit

Attributes

Inherited from:
MonitorEpochs

Inherited fields

protected val epochLoss: ArrayBuffer[Double]

Attributes

Inherited from:
MonitorEpochs