Update of /cvsroot/quantproject/QuantProject/b1_ADT/Optimizing/Genetic
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv24699/b1_ADT/Optimizing/Genetic
Modified Files:
GeneticOptimizer.cs
Log Message:
Fixed bug: now parameters elitismRate, mutationRate and crossoverRate are properly used by constructors
Index: GeneticOptimizer.cs
===================================================================
RCS file: /cvsroot/quantproject/QuantProject/b1_ADT/Optimizing/Genetic/GeneticOptimizer.cs,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** GeneticOptimizer.cs 2 Jul 2006 19:53:26 -0000 1.15
--- GeneticOptimizer.cs 4 Aug 2006 15:30:41 -0000 1.16
***************
*** 33,37 ****
/// The class needs to be initialized by an object implementing
/// IGenomeManager interface
! /// Default GO parameters: crossoverRate = 0.85, mutationRate = 0.02, elitismRate = 0.01,
/// populationSize = 1000, generationNumber = 100
/// keepOnRunningUntilConvergenceIsReached = false, minConvergenceRate = 0.80
--- 33,37 ----
/// The class needs to be initialized by an object implementing
/// IGenomeManager interface
! /// Default GO parameters: crossoverRate = 0.85, mutationRate = 0.05, elitismRate = 0.01,
/// populationSize = 1000, generationNumber = 100
/// keepOnRunningUntilConvergenceIsReached = false, minConvergenceRate = 0.80
***************
*** 164,172 ****
int generationNumber)
{
! this.genomeManager = genomeManager;
! this.populationSize = populationSize;
! this.generationNumber = generationNumber;
this.random = new Random(ConstantsProvider.SeedForRandomGenerator);
- this.commonInitialization();
}
--- 164,169 ----
int generationNumber)
{
! this.commonInitialization(genomeManager, populationSize, generationNumber);
this.random = new Random(ConstantsProvider.SeedForRandomGenerator);
}
***************
*** 174,182 ****
int generationNumber, int seedForRandomGenerator)
{
! this.genomeManager = genomeManager;
! this.populationSize = populationSize;
! this.generationNumber = generationNumber;
this.random = new Random(seedForRandomGenerator);
- this.commonInitialization();
}
--- 171,176 ----
int generationNumber, int seedForRandomGenerator)
{
! this.commonInitialization(genomeManager, populationSize, generationNumber);
this.random = new Random(seedForRandomGenerator);
}
***************
*** 185,196 ****
IGenomeManager genomeManager)
{
this.crossoverRate = crossoverRate;
this.mutationRate = mutationRate;
this.elitismRate = elitismRate;
- this.populationSize = populationSize;
- this.generationNumber = generationNumber;
- this.genomeManager = genomeManager;
this.random = new Random(ConstantsProvider.SeedForRandomGenerator);
- this.commonInitialization();
}
--- 179,187 ----
IGenomeManager genomeManager)
{
+ this.commonInitialization(genomeManager, populationSize, generationNumber);
this.crossoverRate = crossoverRate;
this.mutationRate = mutationRate;
this.elitismRate = elitismRate;
this.random = new Random(ConstantsProvider.SeedForRandomGenerator);
}
***************
*** 199,219 ****
IGenomeManager genomeManager, int seedForRandomGenerator)
{
this.crossoverRate = crossoverRate;
this.mutationRate = mutationRate;
this.elitismRate = elitismRate;
- this.populationSize = populationSize;
- this.generationNumber = generationNumber;
- this.genomeManager = genomeManager;
this.random = new Random(seedForRandomGenerator);
- this.commonInitialization();
}
! private void commonInitialization()
{
! this.mutationRate = 0.20;
! this.crossoverRate = 0.99;
! this.elitismRate = 0.0;
this.minConvergenceRate = 0.80;
this.keepOnRunningUntilConvergenceIsReached = false;
this.genomeSize = this.genomeManager.GenomeSize;
this.minValueForGenes = this.genomeManager.MinValueForGenes;
--- 190,213 ----
IGenomeManager genomeManager, int seedForRandomGenerator)
{
+ this.commonInitialization(genomeManager, populationSize, generationNumber);
this.crossoverRate = crossoverRate;
this.mutationRate = mutationRate;
this.elitismRate = elitismRate;
this.random = new Random(seedForRandomGenerator);
}
! private void commonInitialization(IGenomeManager genomeManager,
! int populationSize, int generationNumber)
{
! //default parameters for the GO
! this.mutationRate = 0.05;
! this.crossoverRate = 0.85;
! this.elitismRate = 0.01;
this.minConvergenceRate = 0.80;
this.keepOnRunningUntilConvergenceIsReached = false;
+
+ this.genomeManager = genomeManager;
+ this.populationSize = populationSize;
+ this.generationNumber = generationNumber;
this.genomeSize = this.genomeManager.GenomeSize;
this.minValueForGenes = this.genomeManager.MinValueForGenes;
|