private void UpdatePersonalBest() { if (PersonalBestQuality.Length == 0) { PersonalBestQuality = (ItemArray <DoubleValue>)Quality.Clone(); } for (int i = 0; i < RealVector.Length; i++) { if (Maximization && Quality[i].Value > PersonalBestQuality[i].Value || !Maximization && Quality[i].Value < PersonalBestQuality[i].Value) { PersonalBestQuality[i].Value = Quality[i].Value; PersonalBest[i] = RealVector[i]; } } }