protected override double Evaluate(double quality, RealVector point, AdditiveMove move) {
   RealVectorAdditiveMoveWrapper wrapper = new RealVectorAdditiveMoveWrapper(move, point);
   var eval = EvaluatorParameter.ActualValue as MultinormalEvaluator;
   if (eval != null)
     return eval.Evaluate(wrapper);
   throw new InvalidOperationException("evaluator is not a multinormal evaluator");
 }
 private RealVectorAdditiveMoveWrapper(RealVectorAdditiveMoveWrapper original, Cloner cloner)
     : base(original, cloner)
 {
     this.dimension    = original.dimension;
     this.moveDistance = original.moveDistance;
     this.vector       = cloner.Clone(vector);
 }
        protected override double Evaluate(double quality, RealVector point, AdditiveMove move)
        {
            RealVectorAdditiveMoveWrapper wrapper = new RealVectorAdditiveMoveWrapper(move, point);
            var eval = EvaluatorParameter.ActualValue as MultinormalEvaluator;

            if (eval != null)
            {
                return(eval.Evaluate(wrapper));
            }
            throw new InvalidOperationException("evaluator is not a multinormal evaluator");
        }
        protected override double Evaluate(double quality, RealVector point, AdditiveMove move)
        {
            RealVectorAdditiveMoveWrapper wrapper = new RealVectorAdditiveMoveWrapper(move, point);

            return(BealeEvaluator.Apply(wrapper));
        }
 protected override double Evaluate(double quality, RealVector point, AdditiveMove move) {
   RealVectorAdditiveMoveWrapper wrapper = new RealVectorAdditiveMoveWrapper(move, point);
   return RastriginEvaluator.Apply(wrapper, A.Value);
 }
 protected override double Evaluate(double quality, RealVector point, AdditiveMove move) {
   RealVectorAdditiveMoveWrapper wrapper = new RealVectorAdditiveMoveWrapper(move, point);
   return BoothEvaluator.Apply(wrapper);
 }
 private RealVectorAdditiveMoveWrapper(RealVectorAdditiveMoveWrapper original, Cloner cloner)
   : base(original, cloner) {
   this.dimension = original.dimension;
   this.moveDistance = original.moveDistance;
   this.vector = cloner.Clone(vector);
 }
예제 #8
0
        protected override double Evaluate(double quality, RealVector point, AdditiveMove move)
        {
            RealVectorAdditiveMoveWrapper wrapper = new RealVectorAdditiveMoveWrapper(move, point);

            return(SphereEvaluator.Apply(wrapper, C.Value, Alpha.Value));
        }
 protected override double Evaluate(double quality, RealVector point, AdditiveMove move) {
   RealVectorAdditiveMoveWrapper wrapper = new RealVectorAdditiveMoveWrapper(move, point);
   return SphereEvaluator.Apply(wrapper, C.Value, Alpha.Value);
 }