LibCudaOptimize  1.0
DE_Optimizer Class Reference

Differential Evolution. More...

#include <DE_Optimizer.h>

Inheritance diagram for DE_Optimizer:
Collaboration diagram for DE_Optimizer:

List of all members.

Public Member Functions

 DE_Optimizer (EvalFuncPtr fPtr=NULL, unsigned int dn=PROBLEM_DIMENSIONS, unsigned int sn=NUM_SETS, unsigned int pn=NUM_SOLUTIONS)
 see IOptimizer::IOptimizer
virtual bool init ()
 Initialize the optimizer.
void setF (float f)
 set parameter F
void setCR (float cr)
 set crossover rate
void setMutation (DE_MUTATION m)
 set mutation type
void setCrossover (DE_CROSSOVER x)

Protected Member Functions

virtual void initSolutions (dim3, dim3)
 Initialize solutions.
virtual void fitnessEvaluation (dim3, dim3, bool first=false)
 Evaluate solutions.
virtual void step (dim3, dim3)
 Generate solutions for subsequent fitnessEvaluation.
virtual void update (dim3, dim3, bool first=false)
 Update population according to the algorithm and the results of fitnessEvaluation.
virtual void findBest ()
 Updates global best fitnesses, indexes in SolutionSet device memory.

Detailed Description

Differential Evolution.

Definition at line 46 of file DE_Optimizer.h.


Member Function Documentation

virtual void DE_Optimizer::fitnessEvaluation ( dim3  initializationGrid,
dim3  initializationBlock,
bool  first = false 
) [protected, virtual]

Evaluate solutions.

Parameters:
initializationGridorganization of the CUDA blocks
initializationBlockorganization of the CUDA threads
firstit signals if it is the first evaluation of the optimization

Implements IOptimizer.

virtual void DE_Optimizer::initSolutions ( dim3  initializationGrid,
dim3  initializationBlock 
) [protected, virtual]

Initialize solutions.

Parameters:
initializationGridorganization of the CUDA blocks
initializationBlockorganization of the CUDA threads

Implements IOptimizer.

set crossover type

Possible values are:
DE_BINOMIAL
DE_CROSSOVER

Definition at line 90 of file DE_Optimizer.h.

References DE_CROSSOVER_NUM.

void DE_Optimizer::setMutation ( DE_MUTATION  m) [inline]

set mutation type

Possible values are:
DE_RANDOM
DE_BEST
DE_TARGET_TO_BEST

Definition at line 83 of file DE_Optimizer.h.

References DE_MUTATION_NUM.

virtual void DE_Optimizer::step ( dim3  initializationGrid,
dim3  initializationBlock 
) [protected, virtual]

Generate solutions for subsequent fitnessEvaluation.

Parameters:
initializationGridorganization of the CUDA blocks
initializationBlockorganization of the CUDA threads

Implements IOptimizer.

virtual void DE_Optimizer::update ( dim3  initializationGrid,
dim3  initializationBlock,
bool  first = false 
) [protected, virtual]

Update population according to the algorithm and the results of fitnessEvaluation.

Parameters:
initializationGridorganization of the CUDA blocks
initializationBlockorganization of the CUDA threads
firstit signals if it is the first evaluation of the optimization

Implements IOptimizer.


The documentation for this class was generated from the following file:
 All Classes Files Functions Variables Enumerations Enumerator Defines