Fuzzy Self-Tuning PSO: A settings-free algorithm for global optimization