A novel multi-criteria self-organising migrating algorithm for engineering problems. (2018)