Discrete Particle Swarm Optimization for the Multi-Level Lot-Sizing Problem