An improved probability-based discrete particle swarm optimization algorithm for solving the product portfolio planning problem