This paper was accepted by Chemical Engineering Communication on August 20, 2004 and it is in press. _______________________________________________________________ ENVIRONMENTALLY CONSCIOUS HOIST SCHEDULING FOR ELECTROPLATING FACILITIES _______________________________________________________________________________________________________________________________________ ISIK KUNTAY QIANG XU KORKUT UYGUN YINLUN HUANG Department of Chemical Engineering and Materials Science Wayne State University, Detroit, MI 48202 Hoist scheduling in electroplating operations has long been considered a key factor for improving the production rate. It is, however, recently recognized that hoist scheduling can also play an important role in waste minimization. In this work, a new hoist scheduling method is introduced for simultaneously achieving both the economic and environmental goals. A two-step dynamic optimization algorithm is introduced in this paper for identifying an optimal hoist schedule that can minimize the quantity and toxicity of wastewater streams from an electroplating line without loss of production rate. To improve computational efficiency, an engineering approach is adopted to reduce the number of binary decision variables in the optimization problem. An application to an actual electroplating process shows a significant reduction of both chemical and water consumption, which equates to a simultaneous realization of wastewater reduction and increase of profits. Keywords – Electroplating, hoist scheduling, pollution prevention Address correspondence to Prof. Yinlun Huang, Department of Chemical Engineering and Materials Science, Wayne State University, Detroit, MI 48202. Email: (yhuang@wayne.edu). 1 INTRODUCTION Electroplating is performed in a typical hybrid system, where workpieces are processed through a series of cleaning, rinsing, and plating units in a batch mode, while the rinsing water flows through a number of rinse systems in a continuous mode. Electroplating is commonly utilized to apply a thin layer of metal coating on workpieces. In the US, there are over 10,000 electroplating plants, which provide numerous plated workpieces to the electronics, automobile, aerospace and other industries. Electroplating processes typically use various chemicals, and consume huge amounts of fresh water and energy in operation. These plants generate tremendous amounts of hazardous or toxic waste daily in the form of wastewater, sludge and spent solution, which includes over 100 toxic chemicals that are regulated by the EPA (Duke, 1994). The environmental problems have made the electroplating industry the second most regulated one in the nation. Over the past three decades, the industry has developed and adopted a variety of pollution control and pollution prevention (P2) technologies in their systems (Cushnie, 1994). The success in improving environmental quality has been tremendous. However, increasingly stringent environmental regulations and economic competition have been forcing the industrial sectors to look for P2 methods that would not reduce their profits. Lou and Huang (2000) introduced a new concept called profitable pollution prevention (P3). This designates the simultaneous reduction of pollution and increase in profit. In recent years, a number of P3 technologies have been developed for waste minimization in electroplating industry. The essential route to P3 is source reduction, which is the elimination of waste before it has been generated. It is recognized that in most electroplating plants, the consumption of the resources, such as chemicals, water, and energy, are much higher than theoretically calculated necessary amounts. This has suggested great opportunities for P3, as reduced consumption of these resources leads to simultaneous realization of waste reduction (environmental impact) and cost reduction (economic incentive). In the environmentally conscious hoist scheduling method to be introduced in this work, environmental concerns are taken into account simultaneously with cost related criteria. The method simultaneously determines the optimal operation times for the units in an electroplating line, and an optimal hoist schedule for productivity and environmental cleanness. ELECTROPLATING AND SCHEDULING BASICS Figure 1 depicts a general electroplating process. Workpieces, usually loaded in barrels or on racks, are covered by grease, soil, dirt, rust, etc., on their surface. For simplicity, the following text will use “barrel” only; the methodology is entirely applicable to both the barrel based and the rack based processing. The surface of workpieces must be treated before they can be plated, which is achieved by use of preprocessing units. For the process displayed in Figure 1, the barrels are processed in soaking (Unit C1), followed by two-step rinsing (Units R1, and R2), electrocleaning (Unit C2), followed by another two-step rinsing (Units R3, and R4), and acid cleaning (Unit C3) succeeded by one-step rinsing (Unit R5). After electroplating in Unit P, the workpieces need to be post-processed, typically in a couple of more solutions in order to stabilize the plating or extend its features, such as in Units R 6 and R7, in this case. The sequential operations are managed by a hoist or hoists. The barrels are usually placed at one end of the plating line, which is a loading/unloading zone. Each barrel is then moved by the hoist from one unit to the other, according to the pre-specified processing procedure. The residence time of a barrel in a unit varies according to the type of processing (i.e., cleaning, rinsing, and plating). There is a minimum amount of time a barrel must stay in each unit for processing, and for most processes, there is also a maximum processing time limit. The residence time is also limited by the scheduling, so that the production schedule is 2 feasible using a minimum number of hoists. Therefore, the workpiece processing time is directly related to the production rate of the line. If the hoist can pick barrels from the loading station more frequently, the production rate will be higher. Fresh water Parts out Parts in C1 R1 R2 C2 R3 R4 C3 R5 P R6 R7 Wastewater Legend: Water flow Parts flow Figure 1. Sketch of a plating process. Electroplating is an interesting type of hybrid process due to the added complexity of the hoist scheduling. The task of hoist scheduling (HS) is to identify the sequence and the time of hoist movements such that the production objective(s) can be reached. A typical objective is to maximize production rate. Practically, all the operations, and therefore the objectives, in electroplating are related with the hoist schedule. Historically, hoist schedules were developed based on experience. The first reported effort on computerized scheduling was made by Phillips and Unger (1976). The formulation for scheduling is initiated with the information given on the system and processing, which includes information, such as layout, chemistry of processes, hoist operation speeds, workpiece processing sequence and processing time ranges. Phillips and Unger (1976) investigated the scheduling problem for the simplest type of electroplating process that involves a single type of products handled by a single hoist. In this case, the hoist must perform the same sequence of operations on each barrel to maintain uniform processing. This results in a repeating sequence of moves, which is referred to as a cycle (Shapiro and Nuttle, 1988). This type of operation is named a Cyclic Hoist Scheduling (CHS). In such a case, the hoist is controlled by a programmed logic controller executing a loop of commands, such as lift and release actions. The instants when the barrel is lifted from a unit and released into another unit are named the lift time and release time, respectively. In CHS, each move starts with a lift action and ends with a release action. In addition to CHS, there are other kinds of HS, namely real-time hoist scheduling (RHS), predictive hoist scheduling (PHS), and dynamic hoist scheduling (DHS) (Lamothe et al., 1995). The RHS deals with the case when different types of workpieces are processed in a process line with a given order of processing. The PHS covers the operations in which the processing orders are to be determined. The DHS, on the other hand, is concerned with the workpieces of different types arriving randomly at the loading station. Riera and YorkeSmith (2002) provide a comprehensive survey on the history and classification of hoist scheduling problems, where a hybrid algorithm combined with constraint logic programming and mixed integer programming is presented. 3 Figure 2 is an illustration of a “time-way diagram” (Shapiro and Nuttle, 1988), which is a graphical representation of a cycle. In this example, four units are employed. In the figure, each inclined line segment represents a hoist move. A hoist move can be either loaded (called loaded move) or unloaded (called free move). A loaded move starts from a lift action (symbolized by “↑” in the figure). The hoist then carries the barrel or rack to another unit. It stops above that unit and then releases the barrel into it (symbolized by “↓” in the figure). A free move is a hoist movement during which it does not carry any barrel. Thus, it starts from “↓” and ends at “↑” in the figure. A hoist can also pause over some unit for some period (indicated by “W” in the figure). Time (sec) 70 W 60 Loaded move 50 Cycle Free move 40 30 Processing time in Tank 1 20 10 0 5 4 3 2 1 Tank 4 Tank 3 Tank 2 Tank 1 Loading Figure 2. Time-way diagram representation of a hoist cycle. As shown in the figure, the cycle time for this case is 75 seconds. This means every 75 seconds of operation, one barrel will enter the process and one barrel of plated workpieces will leave the process. Or equivalently, every 75 seconds, the hoist will appear at the same location for the same operation of the process. If the lifting of a barrel in the loading station is considered the starting point of the hoist operation, then the hoist will lift the next barrel from the same station in 75 seconds. In each cycle, there are numerous operation states. Each state can be characterized by: a) the location of the hoist, b) the number and location of the barrels in the system, and c) the elapsed processing time of each barrel in its current process (Shapiro and Nuttle, 1988). A cycle is said to be feasible if the associated sequence of hoist movements is executable and the associated processing time in each unit is within the allowed ranges. The throughput of a cycle is defined as the rate at which barrels are processed through the system. CHS is to determine a feasible, hopefully also optimal, cycle that allows a maximum throughput for a given process (Shapiro and Nuttle, 1988). MODELING FOR WASTE REDUCITON In order to discover waste reduction opportunities, mechanisms of waste generation must be precisely known. Luo and Huang (1997) identified two types of waste in plating lines: unavoidable and avoidable. The unavoidable waste is generated from the removal of the dirt 4 on workpiece surface that is essential for ensuring cleaning quality. The avoidable waste, on the other hand, is caused by over cleaning, and loss of chemicals through drag-in/drag-out. Through drag-in/drag-out, a certain amount of chemical and plating solutions is carried over to succeeding rinsing systems and finally enters the wastewater. This type of waste should be avoided to the maximum possible extent. The focal point of an operational strategy is to identify the upper limit of allowable dirt residue on parts and minimizing chemical use such that cleaning is done only up to this limiting amount. Existing P3 methodologies try to achieve this goal by reducing the waste generated in each processing unit, the waste transferal among units, chemicals, water and energy, and meanwhile ensuring cleaning, rinsing and plating quality. The determination of waste generation, or a minimum amount of chemical necessary, requires information about process dynamics. Traditional scheduling formulations are static, i.e., the dynamics in the units are ignored and lumped into maximum and minimum bounds on processing times, which are generally determined in a heuristic and not optimal way. Implementation of waste minimization in HS requires dynamic information that can be acquired from system simulations such that the waste generation can be determined precisely. Gong et al. (1997) developed a set of dynamic models for cleaning, rinsing, and electroplating operations. These models were later improved by Lou and Huang (2001) and Zhou et al. (2001). The algorithm for calculating the needed water consumption of a fresh waterreceiving unit, developed by Gong et al. (1997), is depicted in Figure 3. Based on the processing time of all rinsing units ( t p (1) , …, t p (r ) ), the algorithm is initiated with an initial guess ( W f ,g ) for water flow rate ( W f ). Next, the initial contamination of Unit 1 ( C i (1) ) in the system, which is the fresh-water receiving unit, is assigned an initial guess value ( C i , g 1 ). Calculations that require the solution of coupled differential equations are performed for Unit 1 to find the final contamination in this unit ( C f (1) ). The initial contamination of Unit 1 is set to the final contamination calculated and new calculations are performed. This iterative process continues until the initial and final contaminations are within some neighborhood ( ). Similarly, Unit 2 is subjected to the iterative calculations, noticing that it now does not receive fresh water but water that has been contaminated in Unit 1. Calculations are continued in the order the water flows through the system. Once the final calculation is finished, the qualities of rinsing of all the units ( Ce (k ) ) are evaluated. If any of them is not in the vicinity ( ) of the minimum requirement ( C e ,l ( k ) ), the iteration will continue with a water flow rate a certain level ( ) higher or lower than the previous guess. If all units meet the requirement, the water flow rate is decreased and calculations are continued until one unit hits the limit of satisfactory rinsing. ENVIRONMENTALLY CONSCIOUS HOIST SCHEDULING The methodology introduced in this section is referred to as Environmentally Conscious Cyclic Hoist Scheduling (ECCHS), as only cyclic processes are considered at this point. In development of a feasible hoist schedule, details regarding waste minimization must be considered to maximize the efficiency of hoist usage. Also, the issues concerning profit must be taken into account for P3 goals to be realized. As such, a general discussion of the problems in ECCHS will be presented first. 5 Obstacles and Strategy A hoist schedule for an electroplating operation has to address three major issues. The primary issue is production rate, as it reflects the production efficiency and profitability of a plant. The secondary issue is product quality. A hoist schedule implements the scheduled processing times, which is one of the most important factors of product quality assurance. The relationship between processing time and waste generations creates the ternary issue of P2. Figure 4 summarizes some key ideas of P2 through improved HS. It suggests that P2 can be enhanced through adjusting the processing times in cleaning and rinsing systems. Needless to say, the processing time determination must be coordinated with the hoist schedule. Given k = 1, and Δt p (1) ~ Δt p ( r ) W f W f ,g Ci ( k ) Ci , g ( k ) k=1 Ci ( k ) C f ( k ) No If max Ce (k) Ce,l (k) 0 Dynamic Model for the k-th Rinsing Tank C i (k ) C f (k ) k 1,, r Then W f W f Yes If max Ce,l (k ) Ce (k ) k = k+1 k 1,, r Then W f W f Yes k r No No max Ce (k) Ce,l (k) k 1,, r Yes Wopt W f Figure 3. Algorithm for the optimization of water flow rate into a rinsing system with r units in series and one fresh water inlet (Gong et al., 1997). It is easily realized that if the chemical concentration in a cleaning unit is reduced, then the chemical loss through drag-out will be proportionally reduced, and thus the chemical contents in the wastewater stream will be reduced by the same amount. Of course, this chemical concentration reduction must not affect the cleaning quality adversely. Obviously, at a lower chemical concentration, the cleaning time of each barrel in the unit should be properly increased in order to maintain the cleaning quality. Likewise, if the flow rate of rinsing water is decreased, the consumption of water and the volume of the wastewater stream will also decrease. This again requires an adjustment of the processing time such that the desired rinsing quality is achieved. An increased operation time, however, may lead to a reduced production rate for the electroplating process. This creates the trade-off 6 between environmental quality and economic benefits that necessitates optimization to find the best solution. Scheduling Minimum Cycle Time Increased Production Rate Increased Processing Times Cleaning Tanks: Less Chemical Concentration Less Chemical Loss From Drag-out Rinsing Tanks: Less Water Flow Rate Less Fresh Water Consumption Figure 4. Scheduling strategy analysis. The observations above suggest that hoist schedule could be designed to assist in waste reduction during electroplating operation, by allowing an increase in the workpiece processing times in units. Nevertheless, this is a rather difficult task with the following conceivable technical barriers to be removed. a) The processing time in a cleaning or rinsing unit cannot be increased without bounds because of the requirements on production rate. b) The environmental benefit may not be noticeable when the processing time is longer than some threshold. Note that this threshold is somewhat difficult to determine, as it requires an evaluation of system dynamics. c) Since the rinsing time in one unit is related to the operation of other units as well as the source of rinse water, the determination of the optimal rinse times is a system issue. d) When an environmental issue is integrated into a hoist schedule development process, the decision-making will be a multiple objective optimization problem: to minimize waste and to maximize (or retain) production rate. e) The optimization involves evaluating the dynamic performance of cleaning and rinsing operations to ensure product quality. Thus, the optimization will be computationally expensive. Since hoist schedule development in production is always an on-site issue, the computational time needed must be well acceptable for real applications. Algorithm To realize the dual objectives of ECCHS, a two-step optimization procedure is introduced. The basic idea of this stepwise algorithm is to optimize for production rate first and to minimize waste subsequently, which is detailed in Figure 5. As shown, the first step is to identify the minimum achievable hoist cycle time, tc ,min ; note that the production rate is the reciprocal of the hoist cycle time. In this optimization, no environmental concerns are taken into account, and the problem is essentially equivalent to solving a traditional CHS 7 problem (Phillips and Unger, 1976; Shapiro and Nuttle, 1988). Note that it is possible that the production rate is sometimes determined based on market needs rather than process capacity. a) Hoist Scheduling for Maximum Production Rate t csp Min t c g (x) 0 h(x) = 0 or b) User Specified Cycle Time t csp t csp Hoist Scheduling for Maximum Waste Reduction Minimize Waste tc tcsp s.t. g (x) 0 h(x) = 0 Figure 5. Suggested HS scheme for meeting multi-objectives. In the second optimization step, the objective is to minimize chemical and water consumption while maintaining the optimized or desired production rate. Note that reducing the amount of chemicals and water used will reduce both the operational cost and the total waste generation; hence the environmental and economic goals coincide in this stage. The sp target cycle time ( t c ) identified in the first step is set as a constraint in this optimization problem. Note that if optimization for minimizing waste generation were to be performed without any constraint on the cycle time, the solution identified would probably be very satisfactory in terms of environmental issues but would be deficient in terms of production rate. In order to evaluate water and chemical consumption in production, the second step must utilize process dynamic models, and therefore it is a dynamic optimization. In each iteration during optimization, the process must be simulated. This requires performing the rinsing unit simulation iterations as given by Gong et al. (1997). The iterative nature of the simulations introduces a significant difficulty in solving the second-level problem, particularly in evaluating the objective function. For clarity, we will first discuss the constraints involved along with the notation, and then proceed to the discussion of the objective. After that, a bilevel algorithm developed for solving the optimization problem will be introduced. Constraints. The necessary constraints associated with the optimization problem are listed below. Note that indices (i, j, and k) are all used to designate the units in the electroplating line. Processing time limits. The range of permissible processing time for the parts in each operational unit is given below. 8 t p , min (i ) t p (i ) t p , max (i ) (1) where t p (i ) is the processing time in Unit i. The processing time is allowed to be very large, as long as the rinsing quality is satisfactory for rinsing units. Loaded move. A relationship between the lift time from the i-th unit ( t l (i ) ) and the release time into the succeeding j-th unit in the electroplating procedure ( t r ( j ) ) is given below. (2) tr ( j ) tl (i) tL td tm (i, j ) tR Note that the hoist-related operations for each loaded move include lifting, draining, loaded moving, and releasing. The time needed for moving the hoist from Unit i to Unit j ( t m (i, j ) ) is usually independent of whether the hoist is loaded or not. The time for lifting ( t L ) and the time for releasing ( t R ) are constant for all units, and the drainage time ( t d ) is generally 3~5 seconds. Processing time calculation. The processing time of a barrel in Unit i ( t p (i ) ) is controlled by a hoist schedule. It is the time elapsed between the release and lift time of the barrel from Unit i. In the following equation, the binary variable (y(i)) is an intermediate variable necessary for the algebraic formulation of the logical OR statement, The introduction of the binary variable ensures that the processing time is always less than the cycle time and greater than 0. t p (i ) t l (i ) - t r (i ) t c y (i ) (3) where y (i ) 0 y (i ) 1 if tl(i) tr(i) (4) if tl(i) < tr(i) (5) Single hoist. Equation (6) is the elaboration of the feasibility condition, which states that a sufficient time is needed for the hoist to travel from where it was last used to where it is next needed. k t l (k ) (t r (i) t m (i, k )) z (i, k ) (6) where tl(k) is the time at which a barrel is lifted from and processing is ended in Unit k; tr(i) the time at which a barrel is released and processes is started in Unit i; z(i,k) the binary variable which equals 1 if there is a free hoist movement from Unit i to Unit k, or 0 otherwise. Simple cycle. Equation (7) is the constraint that prevents the hoist to visit Unit k more than once for lifting a barrel. Equation (8) is about the hoist being destined to only a single unit after it has finished one job (i.e., after releasing a barrel). Equation (9) prevents the hoist from visiting the unit it has just left. N z (i, k ) 1 k (7) z (i, k ) 1 i (8) z (i, i ) 0 i i 1 N k 1 (9) Complete cycle. A desired solution of a scheduling process is a cycle that starts and ends at the same unit. Also, the hoist should visit all the units in the line, which means the cycle should contain all the units in the unit index superset, i. Without special constraints to force it so, it is possible for a solution to be composed of two different and completely uncoupled cycles. These two cycles can satisfy all the other constraints, but the solution will not be acceptable since two distinct cycles running simultaneously will require two hoists in the line on different tracks. 9 To formulate the problem mathematically, let us split the hoist cycle into two distinct sets, E and F, and they are arbitrarily extracted from I such that: E F=I (10) E F= (11) |E| > 1 (i.e., E has more than one element) (12) |F| > 1 (i.e., F has more than one element) (13) For a solution not to be composed of two distinct cycles, there must exist at least one movement between the units indexed in E and F that connects these two sets. If e and f are the elements of E and F, respectively, this can be expressed as: z (e, f ) 1 (e E and f F) (14) e f Note that, E and F were arbitrarily chosen subsets that satisfy equations (10) through (13). Let each combination of E and F that satisfy these conditions be represented by the index s S. The constraint (14) must be applied to every single one of these combinations, which means it should be restated as: z (e( s), f ( s)) 1 (15) s , e(s) E(s) and f(s) F(s) e( s ) f ( s ) The number of different combinations of sets E and F can be calculated as follows: S n I! p!( I p2 (16) - p )! where n is the largest integer smaller than or equal to I /2; S is the set of the index s; S is the number of elements in the set S (i.e., the size of set S). Equation (16) is the summation of the number of possible combinations obtainable from a grand set of I with p elements. Note that the summation index starts from 2 as there is no need to include sets E with single elements in Equation (15), since it is impossible to have a cycle with a single element. The reason for terminating the summation at n instead of ( I -1) is to exclude the combinations already accounted for. Cycle start and end constraints. The time of lifting a barrel from the loading station is to be taken as the reference point in time (see equation (17)). The cycle length has to be greater than the ending time of the last move plus the free movement time from the final location of the hoist (after completing the last move) to the starting point of the cycle (the loading station). This is expressed mathematically by equation (18). Also note that the last move is the one for which z(i, 1) is equal to 1, as the definition of cycle requires. Equation (18) provides a generalization of this constraint so that whenever the term z(i, 1) is active for the i-th tank, the cycle time has to be greater than the addition of the release time of a barrel into Unit i and the free movement time from Unit i to the loading station (Unit 1). (17) t l (1) 0 tc (tr (i) tm (i,1)) z (i,1) i (18) Objective. The waste reduction oriented second optimization step involves the following decision variables: the sequence of the hoist moves, the lift and release times of barrels from units during the cycle, and the processing times of all units. A basic form of the objective function is as follows: Min J(tp) = Jc(tp) + Jf(tp) (19) where tp = (tp(1) tp(2) … tp(I))T (20) In equation (19), J(tp) is the combined total chemical and fresh water costs ($/yr), Jc(tp) the chemical consumption cost ($/yr), and Jf(tp) the fresh water consumption cost ($/yr). The cost function includes those related to the processing times of workpieces in all cleaning and rinsing units. Note that the processing times directly determine the consumption of 10 chemicals and water, which can be calculated with iterations as outlined above (Gong et al., 1997). Therefore, Jc(tp) and Jf(tp) can be derived according to following equations. Jc(tp) = Uc Wc(tp) (21) Jf(tp) = Uf Wf(tp) (22)Where Uc is the unit cost of chemicals ($/gal); Uf the unit cost of water consumption ($/gal); Wc (tp) the total chemical consumption (gal/min); Wf (tp) the total water consumption (gal/min); the conversion factor (i.e., = 432,000 for the conversion from min-1 to yr-1, assuming 300 manufacturing days per year). Since it is nearly impossible to express J(tp) analytically, an evaluation of the objective function requires a numerical simulation of the system, which introduces a second level into the optimization problem; this should not be confused with the two-step procedure used in the overall solution algorithm. Figure 6 presents a simplified overview of the ECCHS algorithm. a) Hoist Scheduling for Maximum Production Rate t csp Min t c Step1 b) User Specified Cycle Time t csp t p Hoist Scheduling for Maximum Waste Reduction Minimize Cost (J) s.t. t c t csp Step2 t p ,0 Rinsing and Cleaning Unit Simulations J = f( t p ) Determine J = f( t p ) Level 1 Level 2 Figure 6. Schematic overview of the ECCHS algorithm. There are two methods for tackling such a bi-level problem. One is solving the simulation in each step of iteration in optimization, which is a straightforward, but brute-force approach. The drawback is that since a large number of simulations are necessary, this makes the computational time infeasible for any realistic process. An alternative way was developed by Uygun and Huang (2002). In this method, rather than performing a simulation within the optimization algorithm, linear approximations to the solution of the simulation are constructed. This methodology, which is a dynamic analogy of sequential linear programming approach, is briefly delineated below: 1) Simulations are performed with an initial hoist scheduling design. 2) Linear approximations to the objective function and constraints as functions of decision variables are constructed (in this case, approximations for waste water production and chemical consumption as functions of processing times). 3) The approximate optimization problem, formed by the linear approximations, is solved with an optimization algorithm to obtain a new design. 11 4) If the convergence criterion is met, then an optimum design is obtained and iterations are terminated. Otherwise, Steps 1 to 3 are repeated based on a new design. The above algorithm can significantly reduce the number of simulations and render the solution of the scheduling problem practical. A generalized iteration form for linear approximations to the chemical and water consumption in this problem is as follows: J t pNS J t pNS 1 t pNS t pNS 1 SNS T (23) UW t pNS 1 t pNS t pNS 1 SNS T where J is the total chemical or water cost corresponding to initial processing times; the processing time vector of the NS-th iteration (sec); t pNS t pNS 1 the initial processing time of NS the (NS-1)-th iteration (sec); S the sensitivity of the NS-th iteration. Equation (23) is a first-order Taylor series expansion of the cost function around the initial processing times. This representation of the total cost function is exact within the neighborhood of the previous points, but declines in accuracy when evaluated far from the linearization point. Sensitivities are first-order derivatives of the cost function with respect to the variables (i.e., the processing times). They are essential information for constructing first-order Taylor series expansion, and are evaluated using the following general finite difference formula. NS S J t pNS (1) J t pNS 1 (1) J t pNS ( I ) J t pNS 1 ( I ) , , t pNS (1) - t pNS 1 (1) t pNS ( I ) - t pNS 1 ( I ) T (24) APPLICATION The capacity of the ECCHS algorithm is demonstrated via an application on a typical, largesize electroplating plant performing barrel plating. The process involves 10 processing units as depicted in Figure 7. Each unit has a special functionality designated as cleaning (C), rinsing (R), plating (P), or post processing (S), and each has its own operational requirements. The units need to be operated within certain limits of temperature, processing time and chemical composition. P 9 R 8 R R 10 5 C 4 R 7 R 3 C 6 C S 2 11 L 1 Figure 7. Water flow pattern and unit layout of the plating line. Process Specification The electroplating unit (Unit 9) holds a zinc-containing solution from which the zinc plating is deposited on the workpiece surface. The plating thickness is specified depending on customer request. The amount of electric current passing through the unit is fixed while the workpieces are allowed to stay in this unit for a specific period of time (67.7 minutes). These constraints are crucial for achieving the correct plating thickness. Unit 9 has an 8-barrel capacity. It is partitioned into 8 slots, each reserved for one barrel. Preserving the 12 conventions for multi-capacity units (Shappiro and Nuttle, 1988), the processing time of each slot is p(9) c. In this process, Unit 2 is a primary treatment unit, involving a soak cleaning agent, used for removing dust and grease off metal surfaces. Unit 4 also involves a soak cleaning agent, but much stronger than that in Unit 2. Unit 6 is an electro-cleaning unit, which employs an electric current to remove metal scales and impurities. Unit 11 is a postprocessing unit. It contains a solution that stabilizes the plated surface of the workpieces. This essential operation requires a fixed processing time (2.9 minutes). Once a barrel comes out of a chemical solution, the workpiece surface has to be rinsed before entering a different solution. Units 3, 5, 7, 8 and 10 should provide sufficient rinsing. However, Unit 8 operates in a different manner than the others. This unit is a dragin/out unit. The workpieces are almost immediately lifted after being released into this unit. Figures 8 and 9 show the processing sequence and corresponding hoist schedule for the workpieces used in the plant. Note that the slope of the inclined lines between Units 8 and 9 is larger than the slope of the inclined lines anywhere else because the space between these units in the figure represents a larger distance compared with the distance between other units. Parts Out P 9 R 8 R R 10 5 C 4 R 7 R 3 C 6 C 2 S 11 L 1 Parts In Figure 8. Workpiece processing procedure. It is observed from Figure 9 that though the hoist is free after it has released a barrel in Unit 11, it does not leave the unit. This is because of the restriction on the hoist that it should not make any move while a barrel is being processed in this unit. The cycle time of this process has been pre-specified as 520 seconds (8.67 minutes). This is the minimum cycle time to achieve the 67.7 minutes of electroplating time in Unit 9. In Figure 9, the processing time of Unit 9 appears to be 7.0 minutes, which would be the processing time if unit 9 was a single-capacity unit. This is 1.67 minutes shorter than the cycle time. During this 1.67 minute period, the hoist lifts a barrel from Unit 9, dunks it in Unit 8, places it in Unit 10, lifts a barrel from Unit 7 and places it in Unit 9. For the slot of Unit 9 farthest from Unit 8, the 1.67 minutes is the shortest possible time to replace a barrel lifted from Unit 9. For other slots, there are waiting times of the hoist between Units 8 and 9. Without the waiting times, the processing time of the slot nearest to Unit 8 would have been 68.0 minutes, which is a violation of the limit. The process time constraints are presented in Table 1. It is observed that Unit 8 does not have any processing time because it is a drag-in/out unit. Some units do not have upper limits, which means their processing times can be increased as desired, while some units have very strict limits (i.e., Units 9 and 11). The processing times in the original hoist schedule in Figure 9 are also displayed in Table 1. These are used as an initial point for the iterations. It can be seen that the processing time of Unit 4 is over the limit in the original schedule. 13 t (sec) 2 500 7 8 9 3 5 6 300 W 4 11 200 W 100 10 1 0 P 9 R 8 R 10 R 5 C 4 R 7 R 3 C 6 C 2 S 11 L 1 Figure 9. Original hoist schedule in the plating line. Table 1. Processing Time Specification Unit 2 3 4 5 6 7 8 9 10 11 Lower Limit (min) 6.67 2.78 5.00 0.42 7.50 0.54 0 (Dunk) 67.7 2.00 1.29 Upper Limit (min) None None 6.00 None None None 0 (Dunk) 67.7 None 1.29 Original (min) 6.67 6.43 6.57 1.63 7.50 0.57 0 (Dunk) 67.7 2.23 1.29 14 Engineering Simplifications It is possible to represent a schedule by means of ordering, instead of a time-way diagram. The ordering concept, introduced by Shapiro and Nuttle (1988), is used to elucidate the order in which the moves are performed by the hoist in the cycle. The moves are numbered according to the unit they start from. For example, Move 4 is a combination of the actions of lifting a barrel from Unit 4, waiting on the Unit for 5 seconds for drainage, carrying the barrel to Unit 5 and releasing it to Unit 5. The binary variables show whether a move is followed by another move or not. For instance, z(2,3) has a value of 1 (or 0) means that Move 2 is followed (or not followed) by Move 3. In this context, the hoist schedule in Figure 9 may be expressed by listing the binary variables that are non-zero as: z(1,10), z(10,11), z(11,4), z(4,6), z(6,5), z(5,3), z(3,9), z(9,8), z(8,7), z(7,2), and z(2,1). The total number of binary variables z(i, j) is equal to 11 11 = 121. An application of equation (15) to these variables requires the generation of sets E(s) and F(s). The number of pairs of these sets is calculated using equation (16) as follows: 5 S p 2 11! 11! 11! 11! 11! 1012 p!(11 - p)! 2! 9! 3! 8! 4!7! 5! 6! (25) This is a huge number of constraints. However, heuristic simplifications can be used to reduce the number of binary variables so as to render the problem solvable. A primary simplification follows from the processing time requirement of Unit 9. Since the cycle time is pre-specified, the bulk of hoist moves during which one slot of Unit 9 is empty should last exactly 1.67 minutes. This means that the moves between the time the hoist lifts a barrel from Unit 9 and the time it releases another barrel into the same slot in the original schedule must be preserved, which is equivalent to fixing the value of z(9,8) and z(8,7) to 1. Once this is done, the number of free binaries decreases to 9 9 = 81. In this scheduling problem, Units 2 and 6 are cleaning units. Their processing times do not have an upper bound and can be as long as possible in order have satisfactory plating quality. To maintain maximum processing times for these two units, z(2,1) and z(6,5) are also set to unity. This decreases the number of binaries to 7 7 = 49. Finally, because the hoist is not allowed to leave Unit 11 during a process in that unit, z(10,11) also needs to be fixed to 1. This final simplification reduces the number of binaries to 6 6 = 36, and the number of constraints to 35. Hoist Schedule Development When the bi-level optimization algorithm is run, starting from the original schedule as the initial point, it yields repeating solutions after the fifth iteration. Each step of iteration uses a new approximation and a new optimal solution is derived based on that particular approximation. Table 2 lists the iteration points. An economical analysis of the five schedule candidates shows that the fifth schedule is the most desirable. Note that the economical analysis only includes Units 3, 4, 5, 7 and 10, since these are the only units with variable processing times. All the other units have the same processing times and the same cost as in the original case in all iterations. In performing economical analysis, the unit cost of water (Uf) is set to $0.0195/gal, based on the prices obtained from a water municipality. This is higher than the cost of only fresh water because the municipality sews the industry for wastewater discharge when they purchase fresh water. In addition, the more the volumetric flow rate of water, and consequently the wastewater, the higher the expense of wastewater treatment. Unit 4 uses a soak-cleaning chemical at the cost of $12.5/gal. Once the amount of chemicals lost through drag-out is determined, the amount of unnecessary chemical consumption can be identified by multiplying it with the chemical concentration. 15 The calculations are based on 300 days of continuous production throughout the year. The total consumption cost in the original case is $80,609/yr. The optimal hoist schedule generated in iteration 5 results in $65,794/yr of total consumption cost due to the reduction in Units 3, 4, 5, 7, and 10. The optimal hoist schedule is displayed in Figure 10. Table 2. Water and Chemical Consumptions in the Original Case and Each of the Iterations Fresh Water Chemical Water Chemical Total of Consumption, Consumption, Consumption Consumption Consumption Wf (gal/min) Wc (gal/min) Cost, Jf ($/min) Cost, Jc ($/min) Costs ($/yr) Original 8.2 0.0021 69,077 11,533 80,609 1 6 0.0029 50,544 15,725 66,269 2 7.9 0.0027 66,571 14,774 81,346 3 6.1 0.0027 51,408 14,472 65,880 4 7.9 0.0029 66,571 15,466 82,037 5 6.3 0.0024 unit price of water = 0.0195 $ / gal unit proce of chemicals = 12.5 $ / gal 53,093 12,701 65,794 Iteration # The case study has shown the potential savings realizable using an optimal hoist scheduling. The water consumption has been reduced by 23%. The chemical consumption, however, is increased slightly (10 %). Nevertheless, this was inevitable since the processing time of Unit 4 had to be brought within the feasible limits as specified in Table 1. Overall, the total savings are approximately $15,000/yr with a negligible capital investment. CONCLUDING REMARKS Environmentally conscious hoist scheduling has been achieved by a two-step optimization algorithm developed in this work. In this algorithm, the first optimization step involves the maximization of production rate, while the second step focuses on the environmental objectives and operating costs. The algorithm, therefore, enables simultaneous cost reduction and waste minimization. The industrial case study demonstrates that significant savings are achievable with the method introduced here. A realization of wastewater minimization requires detailed information about the dynamics of the process. In this study, the dynamic information had to be incorporated into the otherwise static hoist-scheduling problem, which results in a rather tedious dynamic optimization problem. The introduced method enables solving the problem with a practically acceptable computational time, and identifying the optimum schedule in terms of both environmental and economic goals. Another useful technique in the methodology is the utilization of engineering heuristics for simplifying the optimization problem. Practical cases in general involve many limitations that do not appear in ideal cases. Instead of introducing these limitations as constraints to the optimization, they have been used to simplify the optimization. A method for grouping of variables applied here has drastically reduced number of constraints. 16 The introduced hoist-scheduling algorithm allows incorporating the dynamic information into the scheduling problem with a minimum amount of additional computational load. Therefore, it is possible to handle industrial problems with ease, as it is demonstrated in the case study. t (sec) 500 2 5 6 3 400 7 8 9 300 4 W 11 200 W 100 10 1 0 P 9 R 8 R 10 R 5 C 4 R 7 R 3 C 6 C 2 S 11 L 1 Figure 10. Optimal hoist schedule. ACKNOWLEDGMENT This work is in part supported by NSF (DMI-0225844). REFERENCES Cushnie, G. C. Jr., 1994, Pollution Prevention and Control Technology for Plating Operations (National Center for Manufacturing Sciences, Ann Arbor, Michigan). Duke, L. D, 1994, Hazardous Waste Minimization: Is It Taking Root in U.S. Industry? Technologies Implemented by the Metal Plating Industry in California, Waste Management, 14(1), 49-60 Edgar, T. F., D. M. Himmelblau, and L. S. Lasdon, 2001, Optimization of Chemical Processes, 2nd edition (McGraw-Hill Inc., New York, New York). 17 Floudas, C. A., 1995, Nonlinear and Mixed-Integer Optimization: Fundamentals and Applications (Oxford University Press, New York, New York). Gong, J. P., K. Q. Luo, and Y. L. Huang, 1997, Dynamic Modeling and Simulation for Environmentally Benign Cleaning and Rinsing, J. of Plating & Surface Finishing, 84(11), 63-70. Lamothe, J. and M. Correge, 1995, A Dynamic Heuristic for the Real-Time Hoist Scheduling Problem, In Proceedings of the ETFA 1995, IEEE, 2, 161-168. Lamothe, J. and M. Correge, 1997, A Multihoist Model for The Real Time Hoist Scheduling Problem, In Proceedings of the Second International French Congress on Industrial Intelligence, ALBI. Lou, H. H. and Y. L. Huang, 2000, Profitable Pollution Prevention: Concept, Fundamentals and Development, J. of Plating & Surface Finishing, 87(11), 59-66. Luo, K. Q. and Y. L. Huang, 1997, Intelligent Decision Support for Waste Minimization in Electroplating Plants, Engng Applic. Artif. Intell., 10(4), 321-334. Phillips, L. W. and P. S. Unger, 1976, Mathematical Programming Solution of a Hoist Scheduling Program, AIIE Transactions, 8(2), 219-225. Randall, P. M., 1992, Pollution Prevention Methods in the Surface Coating Industry, J. of Hazardous Materials, 29(2), 275-295. Riera, D. and N. Yorke-Smith, 2002, An Improved Hybrid Model for the Generic Hoist Scheduling Problem, Annals of Operations Research, 115(1-4), 173-191. Shapiro, G. W. and H. L. W. Nuttle, 1998, Hoist Scheduling for a PCB Electroplating Facility, IIE Transactions, 20(2), 157-167. Uygun, K. and Y. L. Huang, 2002, Integration of Design and Control: A Bi-Level Optimization Approach, Presented at the AIChE Annual National Meeting, Indianapolis, November 3 8. Yang, Y. H., H. H. Lou, and Y. L. Huang, 1999, Optimal Design of a Water Reuse System in an Electroplating Plan, J. of Plating and Surface Finishing, 86(4), 80-84. Zhou, Q., H. H. Lou, and Y. L. Huang, 2001, Design of a Switchable Water Allocation Network Based on Process Dynamics,” Ind. Eng. Chem. Res., 40(22), 4866-4873. Zhou, Z. and L. Li, 2003, Single Hoist Cyclic Scheduling With Multiple Tanks; A Material Handling Solution, Computers and Operations Research, 30(6), 811-819. 18