public Individual(Individual other) { SuccessProbability = other.SuccessProbability; sigma = other.sigma; evolutionPath = (RealVector)other.evolutionPath.Clone(); Mean = (RealVector)other.Mean.Clone(); lowerCholesky = (double[, ])other.lowerCholesky.Clone(); Selected = true; strategy = other.strategy; }
public Individual(RealVector mean, double pSucc, double sigma, RealVector pc, double[,] c, MOCMAEvolutionStrategy strategy) { Mean = mean; lastStep = new RealVector(mean.Length); SuccessProbability = pSucc; this.sigma = sigma; evolutionPath = pc; CholeskyDecomposition(c); Selected = true; this.strategy = strategy; }
protected MOCMAEvolutionStrategy(MOCMAEvolutionStrategy original, Cloner cloner) : base(original, cloner) { random = cloner.Clone(original.random); gauss = cloner.Clone(original.gauss); solutions = original.solutions != null?original.solutions.Select(cloner.Clone).ToArray() : null; stepSizeLearningRate = original.stepSizeLearningRate; stepSizeDampeningFactor = original.stepSizeDampeningFactor; targetSuccessProbability = original.targetSuccessProbability; evolutionPathLearningRate = original.evolutionPathLearningRate; covarianceMatrixLearningRate = original.covarianceMatrixLearningRate; covarianceMatrixUnlearningRate = original.covarianceMatrixUnlearningRate; successThreshold = original.successThreshold; }
public Individual(Individual other, Cloner cloner) { strategy = cloner.Clone(other.strategy); Mean = cloner.Clone(other.Mean); sigma = other.sigma; evolutionPath = cloner.Clone(other.evolutionPath); lastStep = cloner.Clone(other.evolutionPath); lastZ = cloner.Clone(other.lastZ); lowerCholesky = other.lowerCholesky != null?other.lowerCholesky.Clone() as double[, ] : null; Fitness = other.Fitness != null?other.Fitness.Select(x => x).ToArray() : null; PenalizedFitness = other.PenalizedFitness != null?other.PenalizedFitness.Select(x => x).ToArray() : null; Selected = other.Selected; SuccessProbability = other.SuccessProbability; }