A Novel Bi-Vector Encoding Genetic Algorithm for ... - Semantic Scholar

3 downloads 42926 Views 281KB Size Report
A Novel Bi-Vector Encoding Genetic Algorithm for the. Simultaneous Multiple ..... and disassembly, temperature change, software download, and calibration ...
A Novel Bi-Vector Encoding Genetic Algorithm for the Simultaneous Multiple Resources Scheduling Problem Jei-Zheng Wu.Xin-Chang Hao.Chen-Fu Chien.Mitsuo Gen

Abstract To improve capital effectiveness in light of demand fluctuation, it is increasingly important for high-tech companies to develop effective solutions for managing multiple resources involved in the production. To model and solve the simultaneous multiple resources scheduling problem in general, this study aims to develop a genetic algorithm (bvGA) incorporating with a novel bi-vector encoding method representing the chromosomes of operation sequence and seizing rules for resource assignment in tandem. The proposed model captured the crucial characteristics that the machines were dynamic configuration among multiple resources with limited availability and sequence-dependent setup times of machine configurations between operations would eventually affect performance of a scheduling plan. With the flexibility and computational intelligence that GA empowers, schedule planners can make advanced decisions on integrated machine configuration and job scheduling. According to a number of experiments with simulated data on the basis of a real semiconductor final testing facility, the proposed bvGA has shown practical viability in terms of solution quality as well as computation time. Jei-Zheng Wu Department of Business Administration, Soochow University, Taipei, Taiwan e-mail: [email protected] Xin-Chang Hao Graduate School of Information, Production and Systems, Waseda University, Kitakyushu-shi, Fukuoka, Japan. e-mail: [email protected] Chen-Fu Chien Department of Industrial Engineering & Engineering Management, National Tsing Hua University, Hsinchu, Taiwan. e-mail: [email protected] Mitsuo Gen Fuzzy Logic Systems Institute, Fukuoka, Japan e-mail: [email protected]

Keywords Total resource management . Manufacturing management.Flexible manufacturing systems.Scheduling.Genetic algorithm Introduction High-tech industries including semiconductor, TFTLCD, and solar cell are with rapid technology development and growing demand on electronics applications such as consumer electronics, household appliances, computer systems, medical and healthcare electronics, and solar and renewable energy. One critical issue in the industry is to improve capital effectiveness via managing capital expenditures (CapEx) under uncertain demand in terms of resources acquisition and capacity installation that can hardly attain instantly (Wang et al., 2008; Chen and Chien, 2011). This leads to a demand fulfillment dilemma, under which overcapacity will sacrifice capital effectiveness leading to cost disadvantages, whereas capacity shortage will disappoint customers, and thus cause low sales and a lower market share. In the foundry service industry, leading companies will match capacity with forecasted demand as much as possible to ensure high margins with high capacity utilization for profitability. On the other hand, a company may become conservative in CapEx for capacity expansion to avoid the risk of low utilized capacity, even though technology is developing and tool acquisition costs are getting higher (Chien et al., 2010). Thus, it is critical to effectively utilize expensive resources with a robust plan for matching the resources with various demands under demand uncertainty and market fluctuation. The majority of CapEx in manufacturing comes from production facilities and tool machines, yet a “machine” is more like an intangible concept than a physical object, since it always needs simultaneous auxiliary resources to process certain operations. For example, steppers or scanners in the lithography process demand auxiliary resources, such as corresponding masks, for operations (Chien and Chen, 2007) and testers, the central process units in wafer testing, must combine with handlers and probe cards to test jobs (Pearn et al., 2004; Lin et al., 2010).

Wu*, J.-Z., Hao, X.-C., Chien, C.-F., Gen, M. (2012/12), “A novel bi-vector encoding genetic algorithm for the simultaneous multiple resources scheduling problem,” Journal of Intelligent Manufacturing, 23(6), 2255-2270 (http://dx.doi.org/10.1007/s10845-011-0570-0)

1

Unfortunately, most of the resources are expensive and product-specific and cannot be prepared with unlimited budget (Wang and Hou, 2003). Hence, managing resources efficiently influences CapEx/Sales ratio reduction more than managing machines or equipment efficiently. Existing studies mainly focused on managing multiple resources in the capacity planning level. On the other hand, the capital-intensive industrial environment is so competitive, that most of the involved companies become flexible to face supply chain and production network dynamics. Nowadays, manufacturing systems allow the dynamic configuration of resources to process distinct products. It is possible to assign each of these products to more than one type of unrelated machine with different efficiencies. Utilizing resources for multiple objectives will reduce the resource needs, and also waste changeover time between machines configured from different resources, potentially lowering effective resource use. Thus, the complexity of dynamic configurations demands more intelligent management of manufacturing resources. Wang et al. (2009) extacted fuzzy business rules from databases for obtaining resource-allocation knowledge and allocating resourc. However, relying on personal domain knowledge without systematic approaches cannot lead to rapid and effective responses to production needs. Most of the scheduling problems fall into the category of NP-hard problems (Cheng et al., 1996, 1999). Thus, intelligent manufacturing based on metaheuristics, such as genetic algorithms (GAs), simulated annealing (SA), tabu search (TS), and ant colony optimization (ACO), have become a common tool to find satisfactory solutions within reasonable computational times in real settings. Fattahi et al. (2007) developed two heuristic approaches using SA and TS, which involved integrated and hierarchical approaches, to solve flexible job shop scheduling problems. Hierarchical approaches independently treated assignment of operations to machines and sequencing of operations on resources or machines. Integrated approaches combined assignment and sequencing. Kim et al. (2007) developed a symbiotic evolutionary algorithm to solve integrated flexible manufacturing system (FMS) scheduling problems. The evolutionary algorithm was flexible and could cope with asymmetric multileveled structures, including machine allocation, tool allocation, alternative processes, and operation sequences in level 1 (the lowest level), loading and routing plans in level 2, loading/routing and sequencing in level 3, and integration in level 4. Furthermore, the combination of a simulation and a genetic algorithm to schedule dynamic flexible job shops enabled decision-makers to

incorporate most of manufacturing and production factors with complex interrelationships (Gholami and Zandieh, 2009). Nevertheless, a solution methodology should be flexible enough to develop a decision support system that considers as many critical features in practice as possible (Freed et al., 2007). An in-house development is more likely growing competitve advantages than off-the-shelf scheduling systems. However, little research has been done to address the scheduling problem of multiple resources in general. Without a general model, designing problemoriented representation and genetic operators, or involving local search techniques in GAs becomes a time-consuming project, which challenges its validity. To fill the gap, this study aimed to develop a novel bivector GA (bvGA) to model and solve the general simultaneous multiple resources schedule problems (SMRSPs). Furthermore, this study compared the proposed bvGA and a GA approach (wcGA) proposed by Wu and Chien (2008a) using simulation data from a semiconductor final testing facility to estimate its validity and practical viability. The remainder of this paper is organized as follows. Section 2 of this paper defines and structures SMRSPs and reviews related research. Section 3 formulates SMRSPs in a mixed integer linear programming (MILP) model. Section 4 elaborates the proposed GA for SMRSP. Section 5 illustrates the use of the bvGA for SMRSPs by a semiconductor final testing scheduling problem. Section 6 compares experimental results of the bvGA with the wcGA and section 7 concludes with a discussion and future research directions. Simultaneous multiple resources scheduling problems (SMRSPs) General SMRSPs are one of the most complex and common seen scheduling problems (Uzsoy et al., 1991; Wu and Chien, 2008a). In SMRSPs, multiple resources are simultaneously combined and aligned to process a job. Without loss of generality, a set of jobs j  J are ready to be scheduled for a short-term planning horizon. Each job is inseparable so that the process characteristics can be preserved for quality assurance and yield enhancement (Wu et al., 2007). Furthermore, each job has to be processed through a set of operations o  O j . Normally, after an operation starts processing on a particular resource, it has to continue until completion, which is a non-preemption constraint. Resource types can vary and include dedicated physical equipment, platforms, or interfaces between equipment and goods, and supporting labor. There are N types of heterogeneous resources R1  {R11 ,..., R11 },

Wu*, J.-Z., Hao, X.-C., Chien, C.-F., Gen, M. (2012/12), “A novel bi-vector encoding genetic algorithm for the simultaneous multiple resources scheduling problem,” Journal of Intelligent Manufacturing, 23(6), 2255-2270 (http://dx.doi.org/10.1007/s10845-011-0570-0)

2

R 2  {R12 ,..., R22 },..., R N  {R1N ,..., RNN }

for machine

configuration, each of which contains homogeneous but unrelated resources, i.e. with different performances. Some of them can be very expensive and thus only be prepared in limited amount, say Qr ,

r  R n , n  {1, 2,..., N } , according to long-term capacity planning (Barahona et al., 2005; Eppen et al., 1989; Swaminathan, 2000l; Zhang et al., 2007). Thus, the sum of operations overlapping in time demanding any given resource should not exceed the total amount available. Multiple factors, such as maintenance, repairs, breakdowns, and ongoing R&D experiments can influence the availability of resources (Chien and Wu, 2003). This study considers static resource availability whereas further research should take stochastic unavailability and dynamic release of multiple resources into account (e.g., Chiang et al., 2008; Gholami and Zandieh, 2009; Zandieh et al., 2010; Bang and Kim, 2011) On the other hand, machine configuration is dynamic. Different operations may require different machine (configuration) types for processes, whereas more than one machine type can process one operation, which reveals the virtual unrelated parallel machine environment (Chien and Chen, 2007). Different machine types, m  (r1 ,..., r n ,..., r N )  M o , r n  R n , n  {1, 2,..., N } , with dissimilar processing time, say Pom , can perform an operation o. However, it is not possible to configure resources arbitrarily to form a machine type. Consequently, the universal set of all machine types is M   oO , jJ M o  R1  ...  R N . To j

disassemble the original machine type l and to assemble and calibrate the new machine type m for the incoming operation, sequence-dependent setup time (SDST), denoted by Slm , is further required (Wu and Chien, 2008a). Setup activities comprise resources assembly and disassembly, temperature change, software download, and calibration (Ellis et al., 2004). The setup is separable from process and is anticipatory so that a setup can start before a job is ready (Allahverdi et al., 2008). The reconfiguration decision is centralized control rather than heterarchical one that is interacted with multiple local and autonomous controllers (Qiu et al., 2004). A poor plan on machine configuration may waste resource availability on redundant setup or, on the other hand, lead to increasing unmet demand. In some cases, one operation o can start to setup a process only if another operation p is complete. The former is called predecessor of the latter, namely successor. The preceding and succeeding relationships, denoted by p  o, are decision characteristics of jobshop scheduling problems. Each job has a due time to

meet production orders. In other words, the last operation  j of job j has a due time D j , which is compared with the planned completion time c j to measure the tardiness  j  max(c j  D j , 0)

as a

delivery performance. However, when throughput and tool utilization are critical, decision-makers tend to minimize the makespan referring to the completion time of the latest finished job, denoted by cmax  max{c j } . jJ

In particular, the semiconductor wafer probing and final test scheduling problems is a specific example of SMRSPs. Chen et al. (1995) used a Lagrangian relaxation (LR) approach to solve the multiple resource-scheduling problems, which existed in an integrated circuit (IC) final test facility. The three major resources included testers, probers, and handlers. The study accounted for the dynamic machine configuration nature and generated four simulated numerical examples to examine validity. Two of them were smallsize problems and the other two were larger problems, including both non-preemptive and preemptive cases. The study compared LR with three single dispatching rules, i.e., shortest processing time first (SPT), earliest due date first (EDD), and first come first serve (FCFS), and with respect to five performance measures, including weighted sum of tardiness, maximum tardiness, weighted number of tardy jobs, makespan, and mean weighted flow time. The results demonstrated that LR could outperform dispatching rules in most cases. However, the study did not consider the significant impact of sequence-dependent setup time between different machine configurations. Freed and Leachman (1999) described the multihead multiple tester scheduling problem, which considered efficiency differences of using different number of heads. However, the work did not provide a convincing algorithm and did not schedule a number of jobs upon a number of testers, which is the major concern of this study. Lee et al. (2000) proposed a hybrid linear-programming-based algorithm to maximize total production volume, progress with respect to the production target, and equipment utilization. The study included decisions on assigning machine types to jobs, but did not include decisions on sequencing jobs and multiple resource configuration nature. Ellis et al. (2004) modeled the wafer testing scheduling problem as a network flow model and develop four heuristics to solve and compare with different scenarios with respect to makespan minimization. Although this study considered jobmachine assignment and job scheduling, machine configuration flexibility was not addressed.

Wu*, J.-Z., Hao, X.-C., Chien, C.-F., Gen, M. (2012/12), “A novel bi-vector encoding genetic algorithm for the simultaneous multiple resources scheduling problem,” Journal of Intelligent Manufacturing, 23(6), 2255-2270 (http://dx.doi.org/10.1007/s10845-011-0570-0)

3

Lin et al. (2004) presented a simulation-based approach to evaluate a capacity-constrained scheduling problem in a semiconductor IC final test facility using the theory of constraints. The study utilized hierarchical rules based on the importance, availability, and flexibility of machines and based on the characteristics of jobs, e.g. job flexibility and setup times to prioritize resource allocation. Although rule-based simulation heuristics could model complex interrelation of a production system and provide reliable guidance to schedule jobs, the research did not include an efficient solution with validated results. Pearn et al. (2004) developed three efficient algorithms to solve the multistage IC final testing scheduling problem considering re-entrant jobs and compared the algorithms with respect to total machine workload minimization. Song et al. (2007) applied ACO to develop a production scheduling system of bottleneck stations in a semiconductor assembly and testing facility. This study sought improvement of weighted sum of three objectives including total unsupported customer demands, the total number of conversions (setups), and total conversion time (SDST). Lin et al. (2010) examined the real-world wafer sort-scheduling problem to minimize hierarchical objectives, including total setup times and the number of machines used. The research encompassed the development and comparison of three meta-heuristic algorithms including an ant colony system algorithm, a genetic algorithm, and a Tabu search algorithm. Chiang et al. (2008) developed GA to identify the mixed dispatching and machine selection rules for scheduling jobs and machines in the wafer probe center. Bang et al. (2011) also dealt with wafer probe scheduling problems by using GA embedded with a bottleneck-focused method. However, above solutions did not include the dynamic configuration of major resources, including testers, probers, probe cards, and load boards. On the other, Deng et al. (2010) modeled machine machine-toolingtemperature combinations and job scheduling by a mixed integer program that tended to maximize the weighted throughput of lots. This model was solved by a two-phase greedy alogrithm. The first phase fixed machine-tooling combination and searched for a feasible solution. The second phase applied a Monte Carlo simulation-based algorithm to refine combination that can improve solution quality. Due to disaggregation mechanism, the two-phase model had limitations to explore the global solution space. In sum, common characteristics of SMRSPs include operation non-preemption, dynamic machine configuration with SDST, limited resources, and flexible job-shop. Although Wu and Chien (2008a) proposed an efficient dispatching rule-based wcGA to capture most characteristics of SMRSPs, wcGA lacks flexibility to solve general SMRSPs. Most of the

existing studies failed to address all important characteristics of SMRSPs to devise advanced decisions and intelligent algorithms that provides with solution efficiency are still missing. Therefore, we developed a comprehensive mathematical model of SMRSPs followed by an efficient algorithm able to solve all characteristics. Mixed integer linear programming model Sm Slm Z lm

Startup time of machine type m when no operations are processed right before the setup. SDST for changeover from machine type l to machine type m. Indicator for changeover from machine type l to machine type m. Particularly, Z lm  1 if there exists n  {1, 2,..., N } such that l  (q1 ,..., q n ,..., q N ) , m  (r1 ,..., r n ,..., r N ) , and

T Uo Wj Jo T

Mr Οm Rm

Vom

Vo

Wom

q n  r n ; Z lm  0 , otherwise. Max planned time in consideration. The predecessor of operation o.

The weighted importance of job j. Job attribute of operation o. The planning horizon = {1,2,…,T} where t = 1 means the current time. Set of machine types that require resource r. Set of operations that can be processed on machine type m. Set of resources that are configured to process machine type m. Particular, for m  (r1 ,..., r n ,..., r N ) , R m  {r1 ,..., r n ,..., r N } . Set of paired operations and machines that belong to different jobs to operation o demanding at least one common resource utilized by operation o when processing on machine m and include predecessor of operation o and relative candidate machine types. This set helps account the SDST record and can be generated as {( p, l ) | l  Z m , p  Ol \ (O Jo \ U o )} . Set of operations that belong to different jobs to operation o demanding at least one common resource utilized by operation o, i.e., Vo This set helps account the SDST record and can be generated as Vo  { p | m  M o , ( p, l )  Vom } \ U o . Set of paired operations and machines that belong to different jobs to operation o demanding at least one common resource utilized by operation o when processing on machine m and include successor of operation o and relative candidate machine types. Particularly, Wom  {( p, l ) | (o, m)  Vpl } .

Wu*, J.-Z., Hao, X.-C., Chien, C.-F., Gen, M. (2012/12), “A novel bi-vector encoding genetic algorithm for the simultaneous multiple resources scheduling problem,” Journal of Intelligent Manufacturing, 23(6), 2255-2270 (http://dx.doi.org/10.1007/s10845-011-0570-0)

4

Set of machine types that can changeover to machine type m. Particularly, Z m  {l | l  M, Z lm  1} . Equals to one if operation o is occupied by machine type m at time t or zero otherwise. Equals to one if operation o is selected to for machine type m or zero otherwise. Completing time of operation o. Beginning time of operation o. Equals to one if operation o begins setup on machine type m at time t or zero otherwise. Equals to one if operation o is processed on machine type m at time t and not processed on machine type m at time t+1 or zero otherwise. Equals to one if there exists changeover between operation p on machine type l and operation o on machine type m Equals to one if operation o is processed on the starting machine type m

Zm

aomt bom co eo

 omt  omt

 plom  om

Minimize  W j j jJ

(1)

Minimize cmax

(2)

subject to  aomt  Pombom  Sm om  tT



( p , l )Vom

Slm plom  0,

j  J , o  O j , m  M o



mM o

(3)

bom  1, , j  J , o  O j

(4)



 plom   om  bom , j  J, o  O j , m  M o



 ompl  bom , j  J , o  O j , m  M o

( p , l )Vom

( p , l )Wom



(5) (6) aomt  Qrt , t  T, n  {1, 2,..., N }, r  R n

mM r , oO m

(7)

aomt  aom ,t 1   omt   om ,t 1 , t  T \ {1}, j  J, o  O j , m  M o

aom1   om1 , j  J, o  O j , m  M o aomT   omT , j  J , o  O j , m  M o

  omt  bom , j  J, o  O j , m  M o tT

 omt  bom , j  J, o  O j , m  M o tT

c p  1  eo  T (1 



(8) (9) (10) (11) (12)

 plom ),

mM o , rR m , lM r

j  J , o  O j , p  Vo c p  1  eo , j  J , p, o  O j , p  o

(13) (14)

co  eo 



t  omt , j  J , o  O j



t omt , j  J , o  O j

tT , mM o

tT , mM o

(15)

 j  c  D j , j  J j

(16) (17)

 j  0, j  J

(18)

cmax  c j , j  J

(19)

aomt  {0,1}, t  T, j  J, o  O j , m  M o

bom  {0,1}, j  J , o  O j , m  M o

 plom  {0,1}, j  J , o  O j , m  M o , ( p, l )  Vom

 om  {0,1}, j  J, o  O j , m  M o 0   omt ,  omt  1, t  T, j  J, o  O j , m  M o

(20) (21) (22) (23) (24)

To minimize the sum of weighted tardiness and makespan, the objective functions of the MILP model (1) and (2), respectively, were formulated in the linear form. This study focused on the examination of scheduling performance according to makespan. Due date-related criteria and multi-criterion scheduling can be discussed in the future research (e.g., Lee et al. 2000; Song et al., 2007;Yazdani Sabouni et al., 2010; Baez Senties et al., 2010). Equation (3) restricted the total time for a certain operation on a machine type through the evaluated time horizon to be equal to the processing time of the operation by the chosen machine type added to the startup time or SDST between the operation by the chosen machine and its predecessor. Equation (4) restricted the assignment of each operation to exact one machine. In addition, equation (5) restricted the total number of SDST added to startups of paired operations and machines to be consistent with operation assignments. Equation (6) constrained that each operation had at most one successive operation assigned to a particular machine. A resource constraint (7) ensured that the sum of the operations demanding machine types using the same resources did not exceed the available resources in each time slot. A further constraint (8) limited the total number of startups for operations utilizing the same resource. Equations (8)-(12) described the relationships among the decision variables aomt , bom ,  omt , and  omt . Equations (11) and (12) restricted operations to be non-preemptive. The precedence constraints (13) and (14) stated that one operation could begin processing only when its preceding operation was completed. Equations (15) and (16) formulated the beginning and completion times of operations, respectively. Equations (17) and (18) transformed the

Wu*, J.-Z., Hao, X.-C., Chien, C.-F., Gen, M. (2012/12), “A novel bi-vector encoding genetic algorithm for the simultaneous multiple resources scheduling problem,” Journal of Intelligent Manufacturing, 23(6), 2255-2270 (http://dx.doi.org/10.1007/s10845-011-0570-0)

5

tardiness into linear programming, whereas equation (19) formulated the makespan in a linear relationship.

Equations (20)-(24) demonstrated the boundary of variables. The decision variables aomt , bom ,  plom ,

procedure: resource assignment algorithm

and  om were binary. The variables  omt and  omt could be relaxed as continuous variables in [0,1] as bounded in (24). Solutions of the MILP model included the beginning and completion times of operations processed by particular machine types. The sequences of operations were also determined. To represent scheduling solution Gantt charts graphically for ease of understanding and execution in practice, an assignment algorithm was developed to assign appropriate resources to each operation. The assignment algorithm extended the algorithm of Wu and Chien (2008a) by an arbitrary number of resources. The new algorithm searched the earliest unassigned operation and matched it with available multiple resources. The multiple resources could be configured into an appropriate machine to process an operation at each iteration until all operations were assigned. The assignment algorithm involved the following steps with additional input data.

input co : Completing time of operation j  J, o  O j ; eo : Beginning time of operation j  J, o  O j ; bom : Equals to one if operation o is selected for machine type m or zero otherwise, j  J, o  O j , m  M o ;

 ri : A specific resource item for n  {1, 2,..., N }, r  R n , i  {1, 2,..., Qr } ;

output  rit :Assignment of operation and machine pair (o, m) to a specific resource item  ri at time t for t  T, n  {1, 2,..., N }, r  R n , i  {1, 2,..., Q } with initial null value; r

begin U: Set of all unassigned operation and machine pairs; Let U  {(o, m) | j  J , o  O j , m  M o , bom  1} ; Eri : Current earliest available time of resource item  ri ; Let Eri  0, n  {1,..., N }, r  R n , i  {1,..., Qr } ; while (U  ) do (o* , m* )  arg min{eo | (o, m)  U} which is the unassigned operation in U with the earliest beginning time. If more than one choice of (o* , m* ) exists, choose one with the largest co ; Given that m*  (r1 ,..., r n ,..., r N ) ; for n = 1 to N do i*  arg max{Er n i | Er n i  eo* , i  {1, 2,..., Qr n }} ;

for t = eo* to co* do  r n i*t  (o* , m* ) ;

end Er n i*  co* ; end end output all assignment  rit for t  T, n  {1, 2,..., N }, r  R n , i  {1, 2,..., Qr } with value not equal to null; end

bvGA for SMRSP This study proposed a genetic algorithm incorporating with a novel bi-vector encoding method (bvGA) to solve SMRSPs expeditiously with optimal or near-optimal solutions. The success of GAs depends on the coding method, which encodes candidate solutions as genotypes for mimicking evolution and which decodes candidate solutions for performance evaluation (Gen and Cheng, 1997, 2000). The bvGA incorporated a novel bi-vector encoding method with a special decoding mechanism to generate operation sequences and resource assignments effectively. The configuration of these factors is crucial in SMRSPs. The present bivector coding method encoded each chromosome as a combination of two vectors representing the operation sequence v1 , and the seizing of rules for machine assignment v2 . To accelerate the evolutionary process and improve solution quality, the algorithm also included genetic operators (Gen and Cheng, 1997), such as weight mapping crossover, one cut-point crossover, insertion mutation, partition randomization mutation, and immigration operators (Yang and Gen, 1994). Weight mapping crossover was an extension of one cut-point crossover, which randomly selected one position and exchanged the right parts of two parent chromosomes to generate offspring. The weight mapping crossover further mapped gene values of the right part of one parent to those of the other parent by preserving the order of the former parent. The roulette wheel selection was used to process selection operation.

Wu*, J.-Z., Hao, X.-C., Chien, C.-F., Gen, M. (2012/12), “A novel bi-vector encoding genetic algorithm for the simultaneous multiple resources scheduling problem,” Journal of Intelligent Manufacturing, 23(6), 2255-2270 (http://dx.doi.org/10.1007/s10845-011-0570-0)

6

The bi-vector coding method comprised prioritybased decoding for sequencing operations in vector v1 and seized rule-based decoding for assigning available resources to operations in v2 . First, each gene of v1 corresponded to a particular operation to be scheduled, whereas each gene value denoted the priority of the operation for constructing operation sequences. Using a decoding procedure that iteratively identified the schedulable operation with the smallest gene value, i.e. with the highest priority, and then updated the schedulable set by taking out the selected operation from and putting its successor into the schedulable set ensured its feasibility. This is one of the most frequently applied heuristics for solving scheduling problems in practice due to its ease of implementation and low time complexity by preserving feasible solutions during the evolutionary process (Gen et al., 2008). Shuffling a sequence of natural numbers from one to the number of total operations to be scheduled can initialize priority-based decoding.

procedure: priority-based decoding input Γ: set of schedulable operations at stage 0, i.e. first operations of all jobs; O(x): operation represented at stage x, i.e., the xth operation to be scheduled; L(x): the successor of operation O(x) at stage x; v1 : chromosome with gene v1(x) representing the schedule priority of operation O(x); output S: operation sequence; begin S; while ( Γ   ) do y  arg min{v1 ( x) | O( x)  Γ} ; S  S  O( y ) ; Γ  Γ \ O( y ) ; Γ  Γ  L( y ) ; end output operation sequence S; end After determining a feasible operation sequence S, a vector of seizing rules v2 could assign available resources to operations. For the xth operation in S, v2 ( x) represented a seizing rule based on the most favorable machine configuration. This study adopted five common seizing rules, including random (RND), earliest completion time (ECT), shortest process time (SPT), shortest startup or setup time (SST), and shortest setup plus process time (SSPT).

Assigning a random integer from 1 to 5 for each gene could initialize the algorithm. In addition, one machine required multiple resource types, each containing homogeneous but unrelated resources. Hence, to evaluate a candidate machine configuration, one should examine statuses of specific resource items under desired resources. Resource items could then be “seized” to configure a machine simultaneously. The idea was further expatiated in a procedure, where the earliest available times and current machine configurations were essential statuses of resource items and were recorded and updated through computation. For instance, the RND rule chose a random machine configuration to process an operation, whereas the SPT rule chose a machine configuration with the shortest process time. It was reasonable to keep processing operations once resources were available. Therefore, required resource items with the earliest available times were ready to be seized, whereas the available time of the machine was the maximum time among the earliest available times. Similarly, when applying the ECT, SST, or SSPT rule, SDST should include current machine configurations of resource items under desired resources. Whenever multiple items were available for seizing, choosing the item with the earliest available time close to the available time of the chosen machine could break the tie to avoid early idle occupancies of resource items. Choosing the resource item requiring the minimal SDST could further break the tie. The proposed seizing rule-based decoding differed from the conventional dispatching rule-based decoding as used in wcGA. Seizing-rule based decoding chose resources from the perspective of the operation based on a predetermined feasible operation sequence. In contrast, dispatching rule-based decoding chose favorable operations or jobs from the view of the machine and iterated computation according to the earliest available machine on hand. In practice, a limited number of machine configurations, say one to four, can perform each operation, but one machine configuration requiring multiple resources can process more than twenty operations in some cases. Therefore, seizing rule-based decoding could enhance computation by avoiding high-level complexity due to matching with resources and operations. Four critical criteria may evaluate the effectiveness of the different encoding approaches (Gen and Cheng, 1997), including (1) Legality: Any permutation of a chromosome corresponds to a solution; (2) Feasibility: A chromosome corresponds to a feasible solution; (3) Heritability: Offspring from simple genetic operators, such as one-cut point crossovers, correspond to solutions, which possess the basic feature of their parents; (4) Uniqueness: one-to-one mapping from chromosomes to solutions is more desired than manyto-one and one-to-many mappings.

Wu*, J.-Z., Hao, X.-C., Chien, C.-F., Gen, M. (2012/12), “A novel bi-vector encoding genetic algorithm for the simultaneous multiple resources scheduling problem,” Journal of Intelligent Manufacturing, 23(6), 2255-2270 (http://dx.doi.org/10.1007/s10845-011-0570-0)

7

I nm  {i | i  {1,..., Qr n }, S M n n m  Pom

procedure: seizing rule-based decoding input operation sequence S from priority-based decoding; seizing rule vector v2 with v2(x) representing the rule for xth operation; output  rit :Assignment of operation and machine pair (o, m) to a specific resource  ri at time t for t  T, n  {1, 2,..., N }, r  R n , i  {1, 2,..., Qr } , with initial null value; begin Eri : Earliest available time of a resource item  ri for n  {1,..., N }, r  R n , i  {1,..., Qr } , with initial value = 1; M ri : Current machine configured upon a resource item  ri for n  {1,..., N }, r  R n , i  {1,..., Qr } , with

r i

lM o

Κ  {m | m  (r1 ,..., r N )  Κ , S m*  Pom  min{Sl*  Pol }}

end end 1 n N for m  (r ,..., r ,..., r )  K do if v2(x)  {SST, SSPT, ECT} then Em  max min{Er n i n | i n  I mn } ; n{1,2,..., N }

I  {i  I mn | Er n i  Em }, n m

n  {1,..., N }

else

n{1,..., N }

i  {1,..., Qr n }} n  {1,..., N }

min {S M n m },

n{1,2,..., N } i{1,2,..., Q n } r

r i

m  ( r ,..., r ,..., r )  Κ if v2(x) = SST then I nm  {i | i  {1, 2,..., Qr n }, 1

n

I nm  {i | i  I nm* , Em*  Er n i  min{Em*  Er n j | j  I mn * }}, n  {1, 2,..., N } i*  (i1 ,..., i n ,..., i N ), i n  arg min{S M

else if v2(x) = SSPT then

m*

},

;

;

;

 r n i n t  (o, m* ), n  {1, 2,..., N }, Em*  t  C ; Er n i n  C , n  {1, 2,..., N } ; M ri  null,  ri  H r n i n , n  {1, 2,..., N } ;

H ri  ,  ri  H r n i n , n  {1, 2,..., N } ;



b{1,2,..., N }\ n

 r i , n  {1, 2,..., N } ; b b

M r n i n  m* , n  {1, 2,..., N } ;

;

end output all assignment  rit for t  T, n  {1, 2,..., N } r  R n , i  {1, 2,..., Qr } with value not equal to null;

;

r i

lM o

r ni n

n  {1, 2,..., N }

N

S m*  min{Sl* }}

| i  I mn * }, n  {1, 2,..., N } n{1,2,..., N }

H r nin 

Κ  {m | m  (r1 ,..., r N )  Κ ,

m* r ni

C  Em*  Pom*  max {S M

* l

S M n m  Sm* }, n  {1, 2,..., N }

;

end end m*  (r1 ,..., r N )  arg min{Em | m  K} ;

else S m*  max

;

I nm  {i | i  {1,..., Qr n }, Er n i  Em },

Κ  {m  (r ,..., r )  Κ | C  min C } ; lM o * m

Em  max min{Er n i n | n

n  {1, 2,..., N }, r  R n , i  {1, 2,..., Qr } , empty at the beginning; for x = 1 to |S| do o ← S(x); Κ  Mo ; if v2(x) = SPT then Κ  {m | Pom  min{Pol }, m  Κ} ; lΚ else if v2(x) = ECT then Cm*  max min {Er n i  S M n m  Pom }, n{1,..., N } i{1,..., Q n } r i r ; m  Κ I nm  {i | i  {1, 2,..., Qr n }, Er n in  S M n n m  r i ; Pom  Cm* }, n  {1, 2,..., N } N

;

lM o

initial null value. Notably, Sm =Sm ; H ri : Set of resource items that are currently configured with the resource item  ri for

1

;

 min{S  Pol }}, n  {1,..., N } * l

end ;

The bi-vector coding method used in the present study matched genetic operators, guaranteed legality, and feasibility and suited most existing genetic

Wu*, J.-Z., Hao, X.-C., Chien, C.-F., Gen, M. (2012/12), “A novel bi-vector encoding genetic algorithm for the simultaneous multiple resources scheduling problem,” Journal of Intelligent Manufacturing, 23(6), 2255-2270 (http://dx.doi.org/10.1007/s10845-011-0570-0)

8

operators. Particularly, the weight mapping crossover ensured that the chromosome contained a feasible operation sequence. On the other hand, the genetic operators kept the character of the parents for maintaining heritability. Although the bi-vector decoding ended up with many-to-one mapping, it enabled a feasible variety during evolution and possessed potential to outperform most of the existing GAs with many-to-one mapping for scheduling problems described in Gen and Cheng (1997, 2000).

machines, say M 1  ( R11 , R12 , R13 ) , M 2  ( R11 , R22 , R23 ) , M 3  ( R21 , R12 , R33 ) ,

and M 4  ( R21 , R12 , R43 ) . In particular, S11  S22  S33  S44  0 , S13  S14  S31  S 41  4 , S12  S34  2 , S 21  S 43  1 . Otherwise, no exchange could happen. Table 1 Illustrative Job and Operation Information for Semiconductor Final Testing Scheduling Problems Job Operation Machine Processing Time 1 (1,1) 4 4

Solving the semiconductor final test scheduling problem as illustration

2

Indeed, the semiconductor final test scheduling problem shared common characteristics of SMRSPs. The semiconductor final test considers the IC in lots released from on-hand WIP or considers the forecasting output of the assembly. (i.e. the preceding operation to final test). Each job generally passes through the sequential processes of functional test, burn-in, scan, bake, tape and reel, and package and load (Uzsoy et al., 1991). Due to different product specification, different jobs may require different steps of functional testing. Functional testing is the main operation site of the final test process and includes room tests, hot tests, and cold tests. Specific products can only be tested with appropriate machine configurations of testers ( R1 ), handlers ( R 2 ), and accessories ( R 3 ), i.e. N = 3. Test heads connect the tester, a central processing unit loading test programs, to the packaged IC devices to test their functions. Handlers with built-in temperature control systems enabling tests under various temperatures, use suitable material handling devices, called boats, to load ICs by lots packed in plastic antistatic trays or tubes. The boats release ICs from the trays or tubes and the suction devices (called nests) lift and load the ICs onto an electrical interface (called the load board) between the packaged circuits and the tester. After the functional test, the tested ICs are placed into the classified trays (or tubes) according to the results (i.e. passed or failed). The board and the nest are the accessory (or kit). Table 1 illustrates the semiconductor final testscheduling problem with six jobs. Precedence constraints of operations included (2,1)(2,2), (4,1)(4,2), (5,1)(5,2)(5,3), and (6,1)(6,2). Three types of accessories ( R 3  {R13 , R23 , R33 , R43 } and (QR3 , QR3 , QR3 , QR3 )  (2,1,1,1) ), two types of testers 1

2

3

4

( R  {R , R } and (QR1 , QR1 )  (3,3) ), two types of 1

1 1

1 2

1

2

handlers ( R 2  {R12 , R22 } and (QR2 , QR2 )  (3,3) ) with 1

2

equal unity startup time could configure four types of

3

4

2

2

4

4

(2,2)

2

1

(3,1)

4

1

(4,1)

1

4

1

2

4

6

4

5

2

4

4

5

(5,3)

4

5

(6,1)

1

2

(6,2)

3

5

(2,1)

(4,2) (5,1)

5

6

(5,2)

The commercial software LINGO 8.0 (LINGO, 2002) embedded with the SMRSP MILP model could solve the illustrated problem. A cross-resource Gannt chart expressed the optimal time schedule by utilizing the proposed resource assignment heuristic (Figure 1). The schedule started with operation (4,1) on machine type 1 and operation (3,1) on machine type 4 and ended up with operation (2,2) on machine type 2, operation (6,2) on machine type 3, and operation (5,3) on machine type 4 with a makespan equal to 16. The resources R21 , R12 , and R43 were configured as machine type 4 for sequentially processing operations (3,1), (5,1), (1,1), and (5,3). SDSTs on critical resource R43 were reduced as far as possible to ensure minimal makespan. Critical resources for the overall process time varied according to the product-mix on hand. Thus, the performance and quality of the schedule relied on the ability of dynamic resource configuration with respect to combinations of jobs and relative operations. It is difficult to find feasible solutions within reasonable computation time for realistic problems with approximately one hundred simultaneous jobs.

Wu*, J.-Z., Hao, X.-C., Chien, C.-F., Gen, M. (2012/12), “A novel bi-vector encoding genetic algorithm for the simultaneous multiple resources scheduling problem,” Journal of Intelligent Manufacturing, 23(6), 2255-2270 (http://dx.doi.org/10.1007/s10845-011-0570-0)

9

Type Resource Item 1 1 2 3 1 1 2 2 3 1 1 2 3 2 1 2 2 3 1 1 2 3 2 1 3 1 4 1

01

02

03

04 6,1,1

5,1,4

05

06

07

08

09 10 4,1,1 5,2,2

3,1,4

11

12 13 4,2,1

14

15

2,1,2

1,1,4

16 2,2,2

5,3,4 6,2,3

5,1,4 6,1,1

3,1,4

1,1,4 4,1,1

5,3,4 4,2,1 6,2,3

5,2,2

6,1,1

4,1,1

2,1,2

2,2,2

2,1,2

2,2,2

4,2,1

5,2,2 6,2,3 5,1,4

3,1,4

1,1,4

5,3,4

Figure 1 Gannt charts of the illustrative SMRSP problem. However, the small case problem took only 20 Table 2 Illustration of Priority-based Decoding for seconds on a personal computer with an Intel Core2 Sequencing Operations Duo CPU at 2.4G and 2GB RAM. Therefore, efficient v1 ( x) Operation Sequence Iteration Schedulable Set genetic algorithms provided with approximate solutions may be applicable in practice. 1 (1,1), (2,1), (3,1), 11, 2, 7, 5, 3, 1 (6,1) To illustrate the decoding of bvGA, we assumed (4,1), (5,1), (6,1) that v1  [11, 2,8, 7,5, 4,3, 6,10,1,9] corresponded to 2 (1,1), (2,1), (3,1), 11, 2, 7, 5, 3, 9 (6,1), (2,1) operations (1,1), (2,1), (2,2), (3,1), (4,1), (4,2), (5,1), (4,1), (5,1), (6,2) (5,2), (5,3), (6,1), (6,2) based on the above operation (1,1), (2,2), (3,1), 11, 8, 7, 5, 3, 9 (6,1), (2,1), (5,1) information. Among 11 operations, (6,1) had the 3 (4,1), (5,1), (6,2) highest priority and (1,1) had the lowest priority. At the beginning of priority-based decoding, the schedulable 4 (1,1), (2,2), (3,1), 11, 8, 7, 5, 6, 9 (6,1), (2,1), (5,1), (4,1) set contained operations (1,1), (2,1), (3,1), (4,1), (5,1), (4,1), (5,2), (6,2) (6,1) among which (6,1) had the highest priority and 5 (1,1), (2,2), (3,1), 11, 8, 7, 4, 6, 9 (6,1), (2,1), (5,1), (4,1), (4,2) was put into the operation sequence. After adding (6,1) (4,2), (5,2), (6,2) to the operation sequence, its successor (6,2) was put 6 (1,1), (2,2), (3,1), 11, 8, 7, 6, 9 (6,1), (2,1), (5,1), (4,1), (4,2), (5,2) into the schedulable set. Repeating the procedure yielded a feasible operation sequence (Table 2). (5,2), (6,2) Given that v2  [1,1,3,5,1,5,5,1,3, 4, 2] based on 7 (1,1), (2,2), (3,1), 11, 8, 7, 10, 9 (6,1), (2,1), (5,1), (4,1), (4,2), (5,2), the operation sequence generated from priority-based (5,3), (6,2) (3,1) decoding and that (1, 2, 3, 4, 5) = (RND, ECT, SPT, 8 (1,1), (2,2), (5,3), 11, 8, 10, 9 (6,1), (2,1), (5,1), (4,1), (4,2), (5,2), SST, SSPT), there were four RND, one SPT, two ECT, (6,2) (3,1), (2,2) one SST, and three SSPT rules. The seizing rule-based (1,1), (5,3), (6,2) 11, 10, 9 (6,1), (2,1), (5,1), (4,1), (4,2), (5,2), decoding started from (6,1) and ended with (1,1). The 9 (3,1), (2,2), (6,2) first operation (6,1) seized the resource items 1 2 3 (1,1), (5,3) 11, 10 (6,1), (2,1), (5,1), (4,1), (4,2), (5,2), R11 , R11 , R11 according to the RND rule, which choose 10 (3,1), (2,2), (6,2), (5,3) the earliest ready items. The earliest available times and machine configurations (4/1) were updated for the next 11 (6,1), (2,1), (5,1), (4,1), (4,2), (5,2), (1,1) 11 step. Particularly, (2,2) chose the resource item R121 (3,1), (2,2), (6,2), (5,3), (1,1) with the minimal SDST to break the tie in earliest available times even though the RND rule was applied. Table 3 demonstrates the repeat of procedure status updates of the earliest available times and machine configurations for processing all operations.

Wu*, J.-Z., Hao, X.-C., Chien, C.-F., Gen, M. (2012/12), “A novel bi-vector encoding genetic algorithm for the simultaneous multiple resources scheduling problem,” Journal of Intelligent Manufacturing, 23(6), 2255-2270 (http://dx.doi.org/10.1007/s10845-011-0570-0)

10

Table 3

Illustration of Seizing Rule-based Decoding for Resource Assignment 1

Operation

Seizing Rule

Metric

Machine Value

(6,1)

1/RND

Eri / M ri

1/-

*

Pom / m

2/1

(2,1)

1/RND

Pom / m

2/2

*

Pom / m

4/4

(5,1)

3/ECT

Pom / m

5/4*

(4,1) Pom / m

5/SSPT 4/1

*

SM

SM SM

SM

(2,2)

1/RND *

Pom / m

1/2

(6,2)

3/SPT

Pom / m

*

5 /3

(5,3)

4/SST

Pom / m

5/4

(1,1)

2/ECT

Pom / m

4/4

-

1/-

-

-

1

'

1

1/-

1/-

-

1

1

-

*

4/1 4/2 1/-

7

7

7/4

1/-

-

1

*

1/- 4/1 1

4

1/- 4/1 1 7

4 12

1/- 4/1

1/-

1/-

1

1

1/-

1/-

1

'

1

2

1/- 1/- 1/- 1/- 1/- 1/-

-

-

1

*

1

-

1/- 1/- 1/- 4/1 1/- 1/*

-

1

1

-

1

1

-

-

1 -

-

*

-

4 1

1/-

1/-

-

-

1/-

1/-

-

-

-

1'

1/-

1/-

1/-

1/-

1

1

-

-

-

-

-

-

-

1

*

7

-

-

-

-

-

-

-

7*

1/-

7/4 -

7

7/4

1/-

4/2 1/- 1/- 4/1 1/- 4/2

3 1

4/2 1/- 1/- 4/1 1/- 4/2

0

1

1

-

-

-

0

4

1

-

-

-

0

1

-

-

4*

5

5

-

-

-

4*

8

5

-

-

-

4*

5

-

-

-

Eri / M ri

8/1

8/1 4/2 1/-

7/4

1/-

7/4

1/-

1/-

7/4

5/SSPT

1/4

-

-

1/-

1

4/1 4/2 1/-

*

-

-

1/- 1/-

3

2 1

0

(5,2)

Pom / m

1

1

-

1

1

4*

SM

SM

*

2

*

1/-

1

4/1 1/- 1/-

-

4/2

1

1/-

3

3 2 2

SSPT

6/4

5/SSPT

m

1

7/4

Pom / m

(3,1)

ri

1

*

Eri / M ri

SM

5/4

m

4/1

*

1

2 2

3

1/- 1/- 1/1

7

2/1*

Pom / m

ri

m

1

C

Pom / m

4/2

ri

Eri / M ri

1/RND

Pom / m

m

Eri / M ri

(4,2)

*

ri

1

1 2

Resource 2 1 2 3 1

ri

ri

ri

m

1/- 8/1

4/2 1/- 1/- 8/1 1/- 4/2

m

1*

0

1

1*

-

-

-

0

4

1*

-

-

-

0

1*

-

-

-

m

0

-

-

-

0'

4

4

4

0'

1

-

-

-

-

-

-

-

0'

7/4

1/-

7/4

4/1

1/-

7/4 -

Eri / M ri

4/1

8/1 4/2 4/1

1/- 8/1

4/2 1/- 1/- 8/1 4/1 4/2

0

2

0

2

-

-

-

-

-

-

0

1

1

-

-

0

-

SSPT SM m

4*

6

4*

6

-

-

-

-

-

-

4*

5

5

-

-

4*

-

-

0

-

-

-

0

4

4

4

0

4

-

-

-

-

-

-

-

0

SSPT

5

-

-

-

5'

9

9

9

5'

9

-

-

-

-

-

-

-

5'

Eri / M ri

8/2

7/4

1/-

7/4

4/1

1/-

7/4

SM

ri

m

ri

8/1 8/2 4/1

1/- 8/1

8/2 1/- 1/- 8/1 4/1 8/2

0

-

-

-

0

1

1

4

0

4

-

-

-

-

-

-

-

0

SSPT

1*

-

-

-

1*

2

2

5

1*

5

-

-

-

-

-

-

-

1*

Eri / M ri

8/4

8/4

1/-

8/4

4/1

1/-

8/4

-

-

1/-

8/4

SM

SM

ri

ri

m

m

Eri / M ri SM

ri

m

Eri / M ri SM

ri

m

Eri / M ri SM

ri

m

0

*

9/2 1

*

10/3 0

*

13/4 0

8/1 8/2 4/1 2

C

17

Eri / M ri

17/4

2

8/1 9/2 4/1 -

-

-

-

-

-

8/4

1/-

-

8/1 9/2 4/-

1

1

8/4 0

*

*

1/- 8/1 -

-

1/- 8/1 1

4

10/3 1/- 8/1 1

1

4

-

-

8/4

4/1

1

1

8/4 0

*

8/1 9/2 4/- 13/4 10/3 1/- 8/1 13/4 -

*

0

*

-

-

-

0 17

1 *

14

1 5

4 12

0 17

*

8/1 9/2 4/- 17/4 10/3 1/- 8/1 17/4

*

8/2 1/- 1/- 8/1 4/1 8/2 0

*

1

1

-

-

0

*

9/2 1/- 1/- 8/1 4/1 9/2 -

-

-

-

-

-

1

*

10/3 9/2 1/- 1/- 8/1 4/- 9/2 10/3 1

-

-

-

-

-

-

-

8/4 0*

10/3 9/2 1/- 1/- 8/1 4/- 9/2 10/3 13/4 1

-

-

-

-

-

-

-

0

14

-

-

-

-

-

-

-

17*

10/3 9/2 1/- 1/- 8/1 4/- 9/2 10/3 17/4

*

: machine and resource item chosen ' : resource item candidate for configuration

Numerical study To examine the practical viability and efficiency of proposed bvGA, we designed a numerical study for comparison. Firstly, bvGA was compared with MILP to

show whether bvGA can find near-optimal solutions in small-size problems. Secondly, bvGA needed to be compared with efficient algorithms in the previous work. However, wcGA is the only meta-heuristic that captured most characteristics of SMRSPs. Therefore, the proposed bvGA was compared with wcGA based

Wu*, J.-Z., Hao, X.-C., Chien, C.-F., Gen, M. (2012/12), “A novel bi-vector encoding genetic algorithm for the simultaneous multiple resources scheduling problem,” Journal of Intelligent Manufacturing, 23(6), 2255-2270 (http://dx.doi.org/10.1007/s10845-011-0570-0)

11

on a set of simulated data of semiconductor final testing scheduling problems, available at http://dalab.ie.nthu.edu.tw/newsen_content.php?id=0, Decision Analysis Lab. Parameters of simulation data were aligned in order to provide a comparative basis. The experiments were conducted on a personal computer with an Intel Core2 Duo CPU at 2.4G and 2GB RAM. Both algorithms adopted the following parameters: Population size = 100, max generation = 200, crossover rate = 0.6, mutation rate = 0.3, and selection probability = 0.5. An additional parameter immigration rate = 0.1 was applied for bvGA. Makespans were performance measures to examine bvGA in four scale problems, including simple-scale, small-scale, large-scale (LS), and wide-range (WR) problems. Each problem included five problem instances. In addition, each problem contained various quantities of jobs to be processed through a number of operations on a number of candidate machines configured by three types of resources, including tester ( R1 ), handler ( R 2 ), and accessory ( R 3 ) with availability ( R , R , R ) = (10, 5, 3), ( R , R , R ) 1

1

1

1

2

3

2

1

2

2

2

3

=(10, 8, 4), and( R , R , R , R ) = (7, 7, 5, 5). There were 334 = 36 types of machines, thus, the SDST table was a 3636 matrix. In addition, startup times were set to minimum SDST among machine types that could changeover to destination types, i.e., 3

3

3

3

1

2

3

4

S m  S m  min S lm . lZ m

The minimum SDST demonstrated

the least time that a machine configuration had to startup an operation. The four problems were designed for different purposes. Small-scale and simple-scale problems examined whether bvGA could find near-optimal solutions for small problem sizes testable on LINGO. The two larger problems compared bvGA performance with the existing meta-heuristic, wcGA. The simplescale problem included 15 jobs, each with a single operation that could be processed on either a single random machine or on two different types of machines, selected randomly with equal probability. The processing time of each operation was randomly generated from {1, 2, . . . , 6}. The setup time between different operations was randomly generated from {1, 2}. Two types of testers and two types of handlers were considered. Each type of tester or handler included three specific resources with the same function. In the small-scale problems, all random generators were the same as the simple problem except that all jobs could be processed on one random machine. MILP using LINGO terminated if an optimal solution was not found within 24 hours. Table 4 and Table 5 illustrate computation results for simple- and small-scale problems, respectively.

Table 4 Cmax Comparisons of Simple-Scale Problems Instance MILP bvGA/Time(secs) wcGA/Time(secs) SST RND SPT SSPT SRPT LRPT 1 12 12/19.08 13/23.06 16 16 17 16 16 14 2 7 7/19.92 8/23.04 10 10 11 11 12 9 3 10* 10/18.88 10/22.96 12 12 14 15 14 13 4 10 10/18.89 11/22.98 13 13 14 13 19 15 5 11 11/19.27 11/23.06 14 14 15 16 13 14 * global optimal solution found in 16 hours 31 minutes 46 seconds Table 5 Instance 1 2 3 4 5

Cmax Comparisons of Small-Scale problems MILP 10 13 10 15 9

bvGA/Time(secs) 10/21.61 13/19.95 10/20.22 13/19.88 9/21.68

wcGA/Time(secs) 10/26.33 13/24.71 10/25.83 13/25.51 9/27.10

SST RND SPT 11 11 12 16 16 16 12 12 13 19 19 17 12 12 12

SSPT 13 21 13 17 13

SRPT LRPT 12 12 15 13 12 13 16 15 14 12

Wu*, J.-Z., Hao, X.-C., Chien, C.-F., Gen, M. (2012/12), “A novel bi-vector encoding genetic algorithm for the simultaneous multiple resources scheduling problem,” Journal of Intelligent Manufacturing, 23(6), 2255-2270 (http://dx.doi.org/10.1007/s10845-011-0570-0)

12

The third instance of simple-scale problems found an optimal solution in 16 hours, 31 minutes and 46 seconds. bvGA outperformed wcGA in the simple-scale problem, while both GAs had the same performance in the small-scale problem. For all problem instances except the fourth instance of the small-scale problem in which bvGA outperformed wcGA, bvGA found the same solutions as MILP using LINGO. Furthermore, both bvGA and wcGA dominated results of the simple dispatching rules. The LS problem involved 150 jobs (lots), each of which had one to three operations to process that were randomly and uniformly determined from {1, 2, 3}. One to three machines with equal probability could process each operation. The processing time of each operation on a particular type of machine was randomly generated from {1, 2, …, 15}. The setup times between different operations were randomly generated from {1, 2, …, 5}. The size of this problem was similar to a daily scheduling problem in the semiconductor final test facility of an anonymous integrated semiconductor device manufacturer, a world leading provider of Mask Read-Only Memory (ROM), Extra memory-mapped register ROM (Extra-ROM), and Non-Volatile Memory (NVM). The WR problem comprised 60 jobs. The processing times of operations uniformly distributed on a wider range, i.e., generated from {1, 2, …, 50}, and setup times uniformly distributed on {1, 2, …, 15}. The WR problem set was examined to identify the impact of increasing lot size (i.e. increasing processing time and setup time) on the scheduling performance of comparative algorithms. Five problem instantiations were created randomly for all simulated problems to examine effects on problem parameter distinctions. Performances of genetic algorithms varied due to randomization characteristics. Therefore, each problem set solved by bvGA and wcGA was independently replicated 30 times. Figure 2 and Figure 3 illustrate box plots for experimental results of the LS and WR problems, respectively. bvGA outperformed wcGA in most problem instantiations with an exception in W3. Additionally, analysis of variance (ANOVA) demonstrated that the performance differences between bvGA and wcGA were significant (p