Operations Research Letters 34 (2006) 465 – 472 Operations Research Letters www.elsevier.com/locate/orl An efficient algorithm for multi-hoist cyclic scheduling with fixed processing times Janny M.Y. Leung a , , Eugene Levner b a Department of Systems Engineering and Engineering Management, The Chinese University of Hong Kong, Shatin, Hong Kong b Department of Computer Science, Holon Academic Institute of Technology, Holon 58102, Israel Received 5 August 2003; accepted 7 July 2005 Available online 29 September 2005 Abstract We consider no-wait production processes, where identical products are processed sequentially on n machines and trans- ported by programmable hoists. We present an O(n 5 ) algorithm that determines the minimum number of hoists required for all possible cycle-times; given the number of hoists, it also finds the minimum-time cyclic hoist-schedule. © 2005 Elsevier B.V. All rights reserved. Keywords: Hoist-scheduling; Partially-ordered sets; PCB manufacturing; Cyclic schedules; Polynomial algorithms 1. Introduction, definitions and assumptions We consider production processes (such as printed- circuit-board manufacturing and electroplating) where the product is processed sequentially on n machines (such as chemical baths or tanks). We assume that the processing time in each tank is fixed, since no varia- tion is allowed in many precise production processes, for example, in electrochemical and electroplating in- dustries. The tanks are arranged in a row without in- termediate storage buffers between them, and parts are moved from one tank to the next by programmable Corresponding author. E-mail address: janny@se.cuhk.edu.hk (J.M.Y. Leung). 0167-6377/$ - see front matter © 2005 Elsevier B.V. All rights reserved. doi:10.1016/j.orl.2005.07.010 hoists. Each tank can process only one part at a time. When processing is completed in one tank, the part must be moved to the next tank immediately (so as to avoid quality degradation due to contamination and/or oxidization). The programmable hoist can move in both directions, but all hoists run on a shared track. With multiple hoists, the issue of collision avoidance makes the scheduling problem significantly more dif- ficult than for single-hoist systems. Let i =1, 2,...,n index the tanks for the production process. Hoist move m i refers to the set of operations involved in picking up and transporting a part that has finished processing in tank i to begin processing in the next tank i +1. We let tank 0 be the loading ‘tank’, and tank n + 1 be the unloading ‘tank’. Thus, hoist-move m 0 consists of moving a new part from the loading