A Cyclic Approach for the Multi-Product Hoist Scheduling Problem