Esempio n. 1
0
        private void UpdateVelocity(Position globalBestPosition, int c1, int c2, Position localBestPosition = null)
        {
            Random r = new Random();
            Position result1 = PersonalBestPosition.Substract(Position);
            Position result2 = globalBestPosition.Substract(Position);
            result1.Multiply(r.NextDouble() * c1);
            result2.Multiply(r.NextDouble() * c2);

            Velocity velocity1 = result1.ConvertToVelocity();
            Velocity velocity2 = result2.ConvertToVelocity();
            velocity1.Add(velocity2);
            _velocity.Add(velocity1);
        }