Ejemplo n.º 1
0
        /// <summary>
        /// Create the object which uses custom implementation for random generators.
        /// </summary>
        /// <param name="UniformGen"> Object, which implements <see cref="IContUniformGen"/> interface. </param>
        /// <param name="NormalGen">  Object, which implements <see cref="INormalGen"/> interface. </param>
        /// <exception cref="ArgumentNullException">
        /// If <paramref name="NormalGen"/> or <paramref name="UniformGen"/> is null.
        /// </exception>
        public BBBCOptimizer(IContUniformGen UniformGen, INormalGen NormalGen)
        {
            if (NormalGen == null)
            {
                throw new ArgumentNullException(nameof(NormalGen));
            }

            _uniformRand = UniformGen ?? throw new ArgumentNullException(nameof(UniformGen));

            _normalRand = NormalGen;

            _denumKahanSum = new KahanSum();
        }
        /// <summary>
        /// Create object which uses custom implementation for random generators.
        /// </summary>
        /// <param name="UniformGen"> Object, which implements <see cref="IContUniformGen"/> interface. </param>
        /// <param name="NormalGen">  Object, which implements <see cref="INormalGen"/> interface. </param>
        /// <exception cref="ArgumentNullException">
        /// If <paramref name="NormalGen"/> or <paramref name="UniformGen"/> is null.
        /// </exception>
        public GEMOptimizer(IContUniformGen UniformGen, INormalGen NormalGen)
        {
            if (UniformGen == null)
            {
                throw new ArgumentNullException(nameof(UniformGen));
            }

            if (NormalGen == null)
            {
                throw new ArgumentNullException(nameof(NormalGen));
            }

            _uniformRand = UniformGen;

            _normalRand = NormalGen;

            _targetFuncWithTransformedCoords = TargetFunctionWithTransformedCoords;
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Create the object which uses custom implementation for random generators.
        /// </summary>
        /// <param name="UniformGen">
        /// Object, which implements <see cref="IContUniformGen"/> interface.
        /// </param>
        /// <param name="NormalGen">  Object, which implements <see cref="INormalGen"/> interface. </param>
        /// <exception cref="ArgumentNullException">
        /// If <paramref name="NormalGen"/> or <paramref name="UniformGen"/> is null.
        /// </exception>
        public BaseFW(IContUniformGen UniformGen, INormalGen NormalGen)
        {
            if (UniformGen == null)
            {
                throw new ArgumentNullException(nameof(UniformGen));
            }

            if (NormalGen == null)
            {
                throw new ArgumentNullException(nameof(NormalGen));
            }

            _uniformRand = UniformGen;

            _normalRand = NormalGen;

            _distKahanSum         = new KahanSum();
            _denumForProbKahanSum = new KahanSum();
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Create object which uses custom implementation for random generators.
 /// </summary>
 /// <param name="UniformGen"> Object, which implements <see cref="IContUniformGen"/> interface. </param>
 /// <param name="NormalGen">  Object, which implements <see cref="INormalGen"/> interface. </param>
 /// <exception cref="ArgumentNullException">
 /// If <paramref name="NormalGen"/> or <paramref name="UniformGen"/> is null.
 /// </exception>
 public FWOptimizer(IContUniformGen UniformGen, INormalGen NormalGen) : base(UniformGen, NormalGen)
 {
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Create object which uses custom implementation for random generators.
 /// </summary>
 /// <param name="UniformGen">
 /// Object, which implements <see cref="IContUniformGen"/> interface.
 /// </param>
 /// <param name="NormalGen">  Object, which implements <see cref="INormalGen"/> interface. </param>
 /// <exception cref="ArgumentNullException">
 /// If <paramref name="NormalGen"/> or <paramref name="UniformGen"/> is null.
 /// </exception>
 public MOFWOptimizer(IContUniformGen UniformGen, INormalGen NormalGen) : base(UniformGen, NormalGen)
 {
     _nds = new Ndsort <double>(CmpDouble.DoubleCompare);
     _isUseChachedFronts = false;
 }