Particle swarm optimisation for discrete optimisation problems: a review