An Evolutionary Algorithm for Selective Disassembly of End-of-Life Products

This paper addresses the problem of creating intelligent, green, and financially-beneficial disassembly sequences for end-of-life (EOL) electronic products. These complex EOL products contain a broad spectrum of materials including precious metals. Therefore, one would have to process these products to retrieve the value buried in them. EOL processing options include, reuse, remanufacturing, recycling or proper disposal. Each of this option requires a certain level of disassembly. Hence, obtaining an optimal or near optimal disassembly sequence is crucial to increasing the efficiency of EOL processing. Since the complexity of determining the best disassembly sequence increases as the number of parts in a product grows, an efficient methodology is required for disassembly sequencing. In this paper, we present an evolutionary algorithm for generating near-optimal and/or optimal sequences for selective disassembly of EOL products. A numerical example is provided to demonstrate the functionality of the algorithm.


Introduction
Advanced technology products are regularly rendered technically obsolete within a few years of commercialization due to the rapid pace of technological enhancement. Thus, for example, electronic products are frequently discarded before their materials degrade. These complex end-of-life (EOL) products contain a broad spectrum of materials including precious metals such as silver and gold and valuable materials such as copper. Therefore, efficient recovery of materials in the electronic EOL products is essential not only for economic reasons but also for a sustainable environment. The practical lifetime of an electronic product depends primarily on the pace of superseding technological advancement that could make the otherwise fully-functioning product virtually obsolete.
However, the discarded product is likely to contain one or more usable component(s). The economically and environmentally sustainable option is to reuse these components in technically valid products. EOL processing options such as reuse, recycle and remanufacturing are effective ways to reclaim the materials and the components in electronic EOL products [5,8]. Regardless of the motivation, most EOL processing options necessitate a certain level of disassembly. Disassembly is the process of the systematic removal of desirable constituents (components and/or materials) from the original assembly so that there is no impairment to any useful constituent. Disassembly can be selective (product not fully disassembled) or complete (product fully disassembled), and may use a methodology that is destructive (focusing on materials rather than components recovery) or non-destructive (focusing on components rather than materials recovery). Disassembly operations are very complex, time-consuming and expensive. Recent books by Lambert and Gupta [13] and McGovern and Gupta [17] can be helpful in understanding the general area of disassembly.
As mentioned before, EOL processing often necessitates a certain level of disassembly (an expensive process due to its labor-intensive nature). Hence, finding an efficient disassembly sequence is necessary. In addition, the complexity of determining the best disassembly sequence increases as the number of parts of a product grows. In fact, this problem has been proven to be NP complete [16]. Thus, not only an efficient methodology is required for disassembly sequencing, but also limiting the disassembly operations to recyclable materials and reusable components in the EOL product is crucial to making the recovery operations economically viable.
In recent years, genetic algorithm (GA) has been gaining popularity for solving combinatorial and NP-complete problems [11]. GA is a heuristic technique that can provide a quick and cost effective solution to a problem that would otherwise take an excessive amount of time to render it practical. The price one has to pay is in terms of the quality of solution one gets. Even though by using GA an optimal solution cannot always be guaranteed, a reasonable (and in many cases optimal) solution is often obtained. Thus, GA offers a good compromise for a large class of problems including disassembly sequencing.
A GA for multi-objective optimization was proposed by Valenzuela-Rendón and Uresti-Charre [23] who calculated the fitness of each entity in the population incrementally based on the degree to which it was dominated or how close it was to other entities. The behavior of each was then analyzed with regard to the visited search space, the quality of the final population attained and the percentage of non-dominated entities in the population through time. The authors commented that GA had a stable and reliable time response. Keung et al. [10] applied a GA approach to a tool selection problem. In their paper, the overall objective of the model was to minimize the processing time. Loughlin and Ranjithan [15] proposed a GA method, to a so-called neighborhood constraint problem, and concluded that the GA performed better in multi-objective problems compared to single objective problems. Lazzerini and Marcelloni [14] used GA in scheduling assembly processes. They employed modified partially matched crossover (PMX) and mutation operations to obtain a near optimal sequence. The precedence relationships were not considered in their model.
One of the factors that add to complications in sequencing problems is precedence relationships. The conventional search algorithms often use combinatorial search techniques and then augment them with precedence relationships. Sanderson et al. [21] considered precedence relationships in assembly sequence planning in such a manner. Regular GAs are generally not suitable for the systems where precedence relationships and constraints are involved. Seo et al. [22], for example, proposed a genetic algorithm for generating optimal disassembly sequences considering both economical and environmental factors. However, their search could lead to infeasible strings during the crossover and mutation operations. The authors addressed that situation by penalizing the string with the hope that it would be eliminated during latter generations. However, that turned out to be a weakness in their algorithm. Bierwirth et al. [3] and Bierwirth and Mattfeld [2] proposed a methodology to overcome such a problem by introducing the precedence preservative crossover (PPX) technique for scheduling problems. The methodology preserves the precedence relationships during the crossover function of GA. The method guarantees feasible results at each of the steps. While Bierwirth et al. [3] and Bierwirth and Mattfeld [2] employed the PPX approach to a single objective job shop scheduling problem, it works equally well for multiple criteria modeling [11], where the authors tackled the complete disassembly problem. However, as was mentioned above, it is imperative to develop an efficient methodology by limiting disassembling operations only to recyclable materials and reusable components in the EOL product so that the recovery operations are economically viable. To that end, in this paper, we present a GA-based methodology to perform selective disassembly of a product. This is a generalized methodology that not only can determine sequences for selective disassembly, but it can also do the same for complete disassembly.

Materials and methods
Proposed disassembly sequencing system requires a bill of materials (BOM), and separate demands for recyclable materials and reusable components in the EOL product (see Figure 1). BOM data include fastener type, disassembly time, and coordinates, and the precedence relationships in the product structure. After the data is embedded in the genetic algorithm (GA), the user is prompted for the type of disassembly operation (viz. selective or complete disassembly). In the case where complete disassembly is selected, the EOL product is disassembled completely, leaving recyclable materials, reusable components and EOL components behind. If selected disassembly is the required method, only the items demanded for reuse and recycling are taken out of the product structure. Since some of the components must be disassembled due to precedence relationships regardless of their corresponding demands, selective disassembly leaves behind an EOL product residue in addition to the EOL components. Several metaheuristic applications have been utilized to solve disassembly sequencing problems, such as expert systems, simulated annealing, Petri nets and neural networks [9,12]. In particular, genetic algorithm (GA) is often used for its capability to evolve towards optimal solution without processing all the alternatives [6,7]. This paper utilizes a version of genetic algorithm (GA) to generate feasible sequences for selective disassembly. GA starts with a set of randomly selected potential solutions called the population. Each member of the population is encoded as an artificial chromosome which contains information about the solution mapping. A custom fitness function is designed so that the fitness score of each chromosome is individually calculated. The chromosomes are evaluated according to their fitness scores and are iteratively regenerated to increase their fitness in the next generation. In every generation, there is a probability that a mutation will occur in one or more chromosomes. In addition, crossover, the exchange of genetic information between two mating chromosomes, may also occur. The selected fittest chromosomes are further processed. If any of the predetermined termination conditions is met, the genetic algorithm terminates [4].
Basic structure of a genetic algorithm is as follows [adopted from [18]

Elements of genetic algorithm for selective disassembly sequencing
The bill of materials (BOM) of the EOL product and related data are provided in Figure 2. The given product consists of ten components (n = 10) indexed by integers from 0 to 9 (see Figure 3). Therefore

Chromosomes
GA requires that the solution and parameters be coded into chromosomes, represented by a combination of numbers, alphabets and/or other characters, before they can be processed. In this study, in order to capture the five variables, chromosomes are codified in the form of a string consisting of five ordered sections of equal length, representing the disassembly sequence, the disassembly method, the demand type of each component, and the material type of each component, respectively. Coordinate data are kept separate from the chromosome structure to provide ease in calculations. For instance, in the sample chromosome provided below: 0623795418 DDDDNNNNDD rrrruuusrr APCPPAAPAA item 3 requires destructive disassembly (D), is demanded for recycling (r) and is made out of plastic (P).

Initial population
The initial population consists of ncr random chromosomes. The population preserves the precedence relationships and other constraints imposed by the product structure. For the example provided in Figure 2, hundred chromosomes (feasible solutions) are randomly created to form the initial population (ncr = 100). The chromosomes in the initial random population are provided in Table 1 (only 10 out of 100 are shown).

Crossover
The proposed algorithm employs the precedence preservative crossover (PPX) methodology for crossover. In this methodology, in addition to the two strings representing the chromosomes of the parents (Parent 1 and Parent 2 ), two additional strings pass on the precedence relationship based on the two parental permutations to two new offsprings while making sure that no new precedence relationships are introduced. A vector, representing the number of operations involved in the problem, is randomly filled with elements of the set. This vector defines the order in which the operations are successively drawn from Parent 1 and Parent 2 . The algorithm starts by initializing an empty offspring. The leftmost operation in one of the two parents is selected in accordance with the order of parents given in the vector. After an operation is selected, it is deleted in both parents. Finally, the selected operation is appended to the offspring. This step is repeated until both parents are empty and the offspring contains all operations involved.
For instance, consider two chromosome strings (Parent 1 and Parent 2 ) provided below: Assuming that the two random masks created from the above parents are Mask 1 : II II II I I II II II I II,   Mask 2 : II I I II I II II I II II, the output of the crossover process (viz. Child 1 and Child 2 ) is generated as given below:

Mutation
The mutation occurs with a pre-determined probability. If the probability holds, the mutation operator selects a random number of genes (rnd = 1, . . . , 9), and exchanges them in such a way that the same precedence relationships are preserved. Otherwise, the population remains unchanged and is copied to the next generation. The mutation operator proposed in this paper exchanges components 0 and 1. The rest of the strings remain the same. For instance, assuming that rnd = 3, the first three chromosomes in the population mutate (see Table 2).

Fitness evaluation
The fitness function is dependent on the total disassembly time. There are three factors that contribute to the disassembly time. The first one is basic disassembly time for component j in sequence seq(dt j , seq). In this paper, dt j,seq values (in seconds) are given as follows:  1  0623795418  1623795408  2  0613275948  1603275948  3  1630824957  0631824957  4  0327468195  0327468195  5  1328047659  1328047659  6  1385206479  1385206479  7  0463159827  0463159827  8  1342760598  1342760598  9 1385476209 1385476209 10 0213657984 0213657984 Table 2: An example of the proposed mutation operation.
The second factor (ct j,seq ) is the penalty (in seconds) for each travel time to disassemble component j in sequence seq, which is a function of the distance traveled between the (seq − 1) th and seq th sequences and the robot arm speed factor (sf ): The final factor in fitness function is the penalty for disassembly method change (mt j,seq ). For each disassembly method change, the sequence is penalized by 1 second: mt j,seq = 0, if no method change is required (e.g. N to N), 1, if method change is required (e.g. N to D).
The algorithm searches for a "recycling pair" and does not penalize the sequence if the two adjacent components are made of the same material and if they are both demanded for recycling.
Let T seq denote the cumulative disassembly time after the disassembly operation in sequence seq is completed for component j: T seq = T seq−1 + dt j,seq + ct j,seq + mt j,seq , for seq = 0, . . . , n − 2, The objective of the GA model is to minimize the total fitness function (F ) by minimizing (i) the traveled distance, (ii) the number of disassembly method changes and (iii) by combining the identical-material components together, eliminating unnecessary disassembly operations. Let F (ch, gn) denote the total fitness for chromosome ch in generation gn. Hence, total time to disassemble all the components can be calculated as follows:

Selection and regeneration procedure
Following each generation, the chromosomes obtain a certain expectation depending on their fitness values. A roulette wheel is then implemented to select the sequence of parents that will be included in the next generation (the higher the fitness value the higher the chance to be selected). This method aims at allowing the parents in the current generation to be selected for the next generation without getting trapped in the local optima. In addition, a new population is generated eliminating the weak chromosomes.

Termination
The execution of GA terminates if the number of generations reaches up to a maximum value (100 in our example).

Remark
The proposed algorithm allows the user to enter his/her decision regarding selective (partial) or complete disassembly. In selective disassembly, only the parts that are indicated by the user are disassembled via the GA algorithm while complete disassembly would take apart all components in the bill of materials. Regardless of the selection, the precedence relationships are preserved throughout the disassembly sequence generation. In selective disassembly, there is no penalty for the components that are not taken out since the proposed fitness function takes the overall disassembly time into account and does not consider cost and revenue measures such as holding cost, and/or storage cost, and so forth. In addition, regardless of the user selection, the algorithm requires at least three components to be disassembled for the sequence generation to be valid.

Results and discussion
The crossover and mutation probabilities are assumed to be 0.60 and 0.005 respectively for the product structure provided in Figure 1. Initial population consists of 100 chromosomes (ncr = 100). After the GA is run for the case of complete disassembly, only one optimal solution is obtained in the final population with a fitness function value of 26.0248 seconds (see Figure 4).
It took 73.8821 seconds to determine the optimal solution using exhaustive search whereas it took only 2.4180 seconds when genetic algorithm was used (see Figure 4). The genetic algorithm reached the solution at the 6th generation. The initial solution of 100 chromosomes included four identical chromosomes, whereas the rest of them were unique sequences. It is important to note that the optimal sequence is found in a few iterations even though it was not present in the initial random population.
The proposed model assumes that the end effector speed for the robot arm is a constant value of 25 cm/s. In addition, the time spent for robot arm angle change (for all three angles) is assumed to be embedded in the disassembly  The algorithm is run hundred times to obtain average computation time. On an average, the optimal solution was reached in 2.5576 seconds at the 16.56th generation with an average fitness value of 26.4013 seconds.
The algorithm is coded in Matlab (version 7.7.0.471 (R2008b)) using Genetic Algorithm and Direct Search Toolbox. The code was run on a computer with a Processor Intel Core 2 Duo CPU P8400 2.26 GHz, 4.00 GB RAM.
For the selective disassembly, components 7 and 9 and components 2, 5, 7 and 9 are selected for two partial disassembly sequences. Figures 5 and 6 depict the results of these sequences, respectively. For the parts 7 and 9, the best fitness value (16.7823 seconds) is obtained in the 1st generation in 0.4992 seconds.
For the parts 2, 5, 7 and 9, the best fitness value (19.7295 seconds) is obtained in the 24th generation in 0.9048 seconds.
The algorithm is then run 100 times for each of the partial disassembly sequences to obtain the average performance values. The model for generating a disassembly sequence for only the parts 7 and 9, on an average, took 0.5370 seconds and obtained the optimal solution at the 1.34th generation. The model for generating a disassembly sequence for only the parts 2, 5, 7 and 9, on an average, took 0.6117 seconds and obtained the optimal solution at the 10.83th generation.
These partial disassembly sequencing models did not include penalty for not disassembling the non-demanded parts since the fitness value is a function of the overall disassembly time and does not include any cost/revenue measures such as holding cost and/or disposal cost.
Several proofs have been developed that describe the expected convergence time and provide worst-case and average-case convergence time [1,19,20]. Ankenbrandt [1] demonstrated that, with proportional selection, GAs have average and worst case time complexity in O(O(Evaluate(X)) * m log(m) log(r) ), where m is the population size, r is the fitness ratio (the average fitness of a chromosome over the average fitness function of all other chromosomes in the generation), and "Evaluate" represents the combined domain-dependent evaluation and decoding functions of the chromosome X (complexity of the fitness, mutation and crossover functions). The O(Evaluate(X)) is the order of the combined functions computed in every step. For the fitness function, it is in the order of O(n * m), where n is the chromosome length. The crossover function is also in the order of O(cp * n * m), where cp is the crossover probability. Finally, for the mutation function, since it involves two objects from the selected chromosome (regardless of the length of the chromosome), its complexity only depends on the mutation probability which controls the chromosomes selected for mutation. Therefore, the mutation complexity is in the order of O(mp * m), where mp is the mutation probability.
When comparing them, it is important to note that, even though the complexity functions of both selective and complete disassembly sequencing algorithms are identical, due to the variation of the length of the chromosomes in each algorithm the computational time will vary.

Conclusions
A genetic algorithm model is utilized to obtain economically and environmentally sustainable disassembly sequences. The algorithm utilizes BOM data including material, EOL processing option (reuse, recycle, etc.), fastener type, disassembly time, and coordinates, and the precedence relationships in the product structure. The model provides fast and accurate input for the disassembly scheduling environments for both complete and selective disassembly. The GA does not make unrealistic assumptions such as linearity, convexity and/or differentiability. This adds further importance to the proposed model and makes it even more desirable. For the example considered, the algorithm provided optimal disassembly sequence in a short execution time. The algorithm is practical, as it is easy to use, considers the precedence relationships and additional constraints in the product structure and is easily applicable to problems with multiple objectives. Future work will include combining the proposed disassembly algorithm with sensory-driven automated robotic disassembly applications.