A particle swarm optimization algorithm based on diversity-driven fusion of opposing phase selection strategies