Principles of soft computing - Sivanandam, S.N (Wiley, 2017)