ARTICLE IN PRESS Neurocomputing 71 (2008) 2720– 2726
Contents lists available at ScienceDirect
Neurocomputing journal homepage: www.elsevier.com/locate/neucom
A genetic algorithm for product disassembly sequence planning Wang Hui , Xiang Dong, Duan Guanghong The Department of Precision Instruments and Mechanology, Tsinghua University, 100084 Beijing, PR China
a r t i c l e in f o
a b s t r a c t
Available online 8 May 2008
This paper presents a method to solve disassembly sequence planning problem. Firstly, disassembly feasibility information graph (DFIG) is presented to describe the product disassembly sequence and operation information. Then, disassembly sequence planning problem is mapped onto the DFIG as an optimal path-searching problem. Based on this idea, a genetic algorithm is provided to find out feasible and optimal disassembly solutions efficiently. Finally, a case study, which is used to illustrate the performance of proposed method, is presented. & 2008 Elsevier B.V. All rights reserved.
Keywords: Disassembly sequence planning Genetic algorithm
1. Introduction Product’s disassembly/recycle design is one of the most important issues in product green design. As Gupta [11] pointed out, ‘‘product disassembly sequence is the main engine of disassembly planning system’’. Disassembly sequence generation problem involves the generation of one or more feasible sequences to disassemble a product successfully. Traditionally, researches on disassembly planning have often made use of graph-models to represent product architecture, collect and store relevant product information, such as adjacency graph or adjacency matrix, AND/OR graph and precedence graph [4,12,7,20,14]. Main contents of these researches are:
How to construct the graph model to represent product architecture.
How to handle the graph and generate disassembly sequence solution(s). Adjacency graph (or adjacency matrix) is often used to represent the connecting relationships between components of a product. AND/OR graph, in essence, describes all of its possible disassembly sequences by simulating components’ disassembly/ assembly operations. Precedence graph shows the constraint relationships among these components. Thus, feasible or optimal disassembly sequences could be deduced from these constraint relationships. Disassembly sequence planning problem is a NP-hard combinatorial optimization problem [18]. Generally, with the increase of Corresponding author.
E-mail address:
[email protected] (W. Hui). 0925-2312/$ - see front matter & 2008 Elsevier B.V. All rights reserved. doi:10.1016/j.neucom.2007.11.042
components in product, the computational complexity of searching for optimal disassembly sequence in a large solution space will increase more quickly. Therefore, traditional methods cannot solve this problem effectively—that is, avoid the combinatorial explosion. Consequently, metaheuristic methods are often used to find out optimal solutions at a high efficiency [6,15]. Several examples of metaheuristic applications in assembly/ disassembly sequencing have been introduced [16], such as expert systems, simulated annealing, Petri nets and neural networks. In particular, genetic algorithm (GA) is often used, for its capability to evolve toward optimal solution without processing all the alternatives. Lazzerini et al. [17], in their GA method for assembly planning, encoded chromosome with three parts: disassembly sequence of components, directions of disassembly operations and used gripper. Kongar and Gupta [15] also proposed a genetic algorithm for disassembly process planning. A little different from Dini’s encoding method, the representation of a chromosome (solution) consists of three parts of equal length, sequences of components, operations’ directions and the methodology (destructive method or not). This encoding method was also used by Galantucci et al. for his fuzzy logic and genetic algorithms (2004) [9]. As the above-mentioned methods, much information of constraint relationships and disassembling operations is included in chromosome as genes. But these researchers failed to explain how to obtain relevant information/data to construct solutions space before genetic search. Furthermore, with the increase of components number, the solutions space will be very, very huge. And it may make the search process less efficient to find out optimal solution. The research work presented in this paper, by converting disassembly sequence planning problem into a searching problem on an information-enhanced graph, uses genetic algorithm to search for good disassembly solutions.
ARTICLE IN PRESS W. Hui et al. / Neurocomputing 71 (2008) 2720–2726
The rest of this paper is organized as follows. Section 2 provides a detailed description of the disassembly feasibility information graph (DFIG), and discusses the idea of converting disassembly sequence planning problem into a simple path searching problem. In Section 3, a GA-based algorithm is presented to solve this problem. All key parts of the proposed algorithm, including encoding of chromosome, genetic operators and fitness function, are introduced. Finally, Section 4 describes briefly an application case. 2. DFIG model Firstly, we give the definition of DFIG, which is designed to represent product’s disassembly operations (sequences) information. And Fig. 1 illustrates the DFIG of a product with five components. Definition. Let G ¼ {V, W, D} be a simple non-negative weight, directed graph, and meanwhile: 1. G has a root node, start point. 2. Vertices set is V ¼ {Vi | iAM}, where M is the number of vertices, D is directed edges set and W is the set of weights loaded on related edges. 3. O ¼ {ai | iAN} represents all components of an assembly (product) and N is the number of components. Function x(V*V) is defined to describe geometrical constraint relationships among these components in Set X. 4. Once a component ai, is put on the vertex (node) Vj, the node Vj(ai) will represent the disassembling operation of ai in the sequence from Start Point to Vj.
Start Point
A
B
2721
5. The weight w (W ¼ {wij, iAM, jAM, i6¼j}), implies the length of the edge connecting two nodes. And heuristic information g ¼ 1/w, Z ¼ {Z , iAM, jAM, i6¼j}. !ij 6. Let Path ¼ WðV iÞ be a vector, composed of sequenced nodes on the DFIG (D, w), which starts from start point and makes a single traverse of O ¼ {ai | iAN}. For instance, in Fig. 1, one path is Start Point-D-E-C-A-B. Therefore, product’s disassembly sequence planning problem could be converted into this problem: On the DFIG, to find out a path with an optimal value, which starts from Start Point, and could tour all the components of set X just one time, along with the weighed, directed edges. For each node in DFIG, it includes the following information:
The component’s basic information. Whether this component could be disassembled? [TRUE or FALSE].
Information of disassembling operation, if this component could be disassembled.
Others. 3. Disassembly planning based on GA 3.1. Genetic algorithm As is known today, genetic algorithm (GA) was first described by John Holland in the 1960s and 1970s. It is currently a prominent and widely used model [5,10], for solving combinatorial optimization problems. When GA is used in engineering applications, the following steps are often very important: 1. Encode problem into proper chromosome. 2. Define fitness function to evaluate the performance of chromosome (solution). 3. Genetic operators: crossover, mutation and selection.
C
E
D
3.2. Encoding of chromosome
A
C
C
D
...
E
E
...
B
C
A
Chromosomal encoding is a way of representing solutions in genetic algorithm. For product’s disassembly sequence planning problem, a natural way to represent its solution is through a sequence of operations. For example, Chromosome ¼ [A B C D E F], indicates the disassembly sequence A-B-C-D-E-F. Obviously, this chromosomal encoding method could represent the whole space of disassembly sequence solutions, that is, does not exclude any potential optimal solution. 3.3. The proposed GA algorithm
C
D
C
A
B
In the sequence from Start Point, the disassembly operation is infeasible In the sequence from Start Point, the disassembly operation is feasible Fig. 1. The disassembly feasibility information graph.
B
Here, we will give a detailed description of our proposed method for disassembly planning. Fig. 2 illustrates the general architecture of the proposed GA method. And the procedure of proposed GA method is as following: (Denote r as current node in the GA computation procedure) Generate initial population Whole population (size ¼ M) are placed on the initial position: r ¼ Start point For each chromosome Begin Searching DFIG If the succeeding nodes of r do not exist
ARTICLE IN PRESS 2722
W. Hui et al. / Neurocomputing 71 (2008) 2720–2726
Population
Initialize whole population on the Start Point node
Traverse Disassembly Feasibility Information Graph Calculate Heuristic Information
Add new nodes into DFIG
For each chromosome
Compute its fitness
Disassembly Path Planning Tool on CAD platform
Assess the performance of each gene
Genetic operators (crossover and mutation)
Next step?
NO
Finished? Select new offspring
YES
Termination condition? NO
New population
YES End Fig. 2. General architecture of the proposed method.
Then: Compute the succeeding nodes of r and add these nodes into DFIG (For each node: Compute its feasibility by disassembly planning tool on CAD system) Compute the performance of chromosome feasibility and the solution’s quality End If not (satisfied with the termination condition) Genetic operators: Crossover Mutation Selection Generate new population Continuey Generally, solving assembly planning problem based on DFIG model, should achieve two goals: generating an assembly’s DFIG and searching the DFIG for optimal solutions. In theory, they are independent of each other. However, for assembly planning problem, candidate solutions will grow exponentially as the number of parts and interconnections increase. Moreover, evaluating a disassembly solution’s performance often encompasses much geometric and mechanical computation. Therefore, traditional ideas that search optimal solutions after the generation of solutions space (all potential solutions) are less feasible to apply
in industries. In practical applications, a method to improve the optimization process is to integrate the two goals/works into a concurrent working system: the generation and extending of DFIG is synchronous with the searching process for feasible and optimal disassembly planning solutions. 3.4. Generate DFIG synchronously with genetic search Generation/construction of DFIG is a process to collect product’s data & information (including constraint relationships) for disassembly planning. In this process, the crucial focus is on evaluating the performance of a given sequence (solution). Involving much complicated computation in 3D CAD system, part of this work is to determine whether and how these components could be disassembled/assembled successfully, and moreover, whether these operations are convenient. Therefore, for a product with many components, due to the complexity of DFIG, it will be very time consuming to generate all nodes of the graph. To improve the computational efficiency during this process, a proper method is to construct DFIG model under the guidance of genetic algorithm for the search has the trend to better goals, despite of a stochastic algorithm. Therefore, the idea of generating DFIG synchronously with genetic search was put forth. Based on this proposal, at the beginning of genetic search, DFIG just has one root node, start point. During genetic search, according to chromosomes’ traces (along the sequence’s
ARTICLE IN PRESS W. Hui et al. / Neurocomputing 71 (2008) 2720–2726
moving directions), new nodes are created and added into the DFIG. The procedure is as the follows, and also illustrated in Fig. 3. Let us suppose a chromosome, and:
its partial sequence is Path {Li}; all nodes in Path {Li} already exist in DFIG model; node r is the tail node of current partial path Path {Li}; in the whole genetic search, the chromosome is the first chromosome which includes node r.
2723
a noticeable feature in the proposed GA method: search neighborhood nodes during one trip, and with the expansion of genetic search, potential nodes will be added into the DFIG. Moreover, even though some nodes show poor performance which is evaluated according to the partial tour from start point node to current node, could be extended with succeeding nodes, in theory, they rarely have an opportunity to do this, because genetic algorithms are often biased to select the better nodes. Therefore, this process could also efficiently reduce potential computation costs. 3.5. Crossover operator
Following are the steps to construct/expand DFIG model: 1. Generate succeeding nodes of node r, and denote as set Jk(r). If Jk(r) is null, node r must represent the last node in the solution. Therefore, terminate this process. 2. For each node s in Jk(r): [1] Compute its disassembly feasibility under the sequence: start point-y-r-s, by using disassembly planning tool based on CAD platform. [2] Information/data relevant to computation result will be stored into the node. [3] Add the node into DFIG. 3. Feasible nodes set in Jk(r) will be named as Fk(r). 4. If the node representing the next operation in current chromosome is in Fk(r), continue. 5. Else, this chromosome will be infeasible. Terminate current process. Therefore, though a chromosome is just a single sequence of nodes in DFIG, its trace’s neighborhoods are also searched and inserted into the DFIG as new nodes, as illustrated in Fig. 3. This is
Root
Root
Recombination plays a crucial role for GA method’s performance. According to the widely accepted design goal for crossover operators, important information already existing in the parents should be transferred to offspring. For a chromosome represents the sequence of disassembly operations, the precedence preservative crossover (PPX) is used here, which was independently developed for vehicle routing problems by Blanton and Wainwright [3] and for scheduling problems by Bierwirth [1,2]. The operator passes on precedence relations of operations given in two parental permutations to one offspring at the same rate, while no new precedence relations are introduced. PPX is illustrated in Fig. 4 for a problem consisting of six operations denoted as A–F. 3.6. Mutation operator In general, mutation operator should alter a permutation only slightly. The most commonly used mutation operators in combinatorial optimization problems are Swap operator, Inverse operator and Insert operator. In our GA method, we alter the permutation by the following steps, and Fig. 5 shows the process of mutation: 1. firstly, select (and delete) an operation randomly; 2. then reinsert this operation at a randomly chosen position in the permutation; 3. it will be the new chromosome.
Chromosome 1
A B C D E F
Chromosome 2
F B E D A C
New Chrom
A B C D E F F B E D A C A
A B C D E F F B E D A C A F
Construct the DFIG during genetic search
Chromosome
A path on DFIG
Fig. 3. Extend the DFIG during genetic search: the 1st chromosome generates relevant neighborhood nodes near its path, and for following chromosomes in this neighborhood, they will directly read relevant information.
New Chrom
A F B E C D
Fig. 4. Crossover operator.
ARTICLE IN PRESS 2724
W. Hui et al. / Neurocomputing 71 (2008) 2720–2726
Chrom
A
B
C
D
E
A
B
C
D
E
*
NewChrom
A
C
D
E
B
F
F F
reason why we do not test operations after D is based on the following idea: if a disassembly operation in a given disassembly sequence cannot be done, this solution will be infeasible. 3.8.2. Fitness function Fitness function represents the performance of current solution. It can be evaluated by the following procedure:
Fig. 5. Mutation operator.
Due to the reordering of disassembly operations by genetic operators (crossover and mutation), new offspring created from two parents may be infeasible (solutions), even though both parents are feasible. Therefore, approaches to improve the performance of new population often are often necessary and useful in practical applications. 3.7. Test chromosome by precedence relations In industrial applications of product disassembly planning/ analysis, by utilizing engineer’s knowledge and experience, some technical difficulties can be eliminated, if not overcome. In the beginning, some obvious precedence relations (which could be determined easily by designers/engineers) between components could be marked directly and put into a set of constraints defined by the user. By this arrangement, these precedence relations could be used to evaluate chromosomes before they are embraced into new population. Illegal chromosomes (those do not satisfy these precedence relations) will be rejected directly. Thus, the total performance of population could be improved noticeably. One thing which needs to be mentioned is that this method is not indispensable in our method for disassembly planning, though it could improve the computation efficiency prominently. In fact, if this arrangement is not adopted, it will just need more time to find out the optimal solutions. 3.8. Fitness function (optimization objective) Fitness function represents the feasibility and quality of disassembly solution. Therefore, it plays the role of bonding genetic algorithm and disassembly planning problem. We define a method to compute the fitness function. Firstly, we define Fitness Vector to represent the basic status information about the sequence which records the feasibility of disassembly operations. Then, we use Fitness as the performance of current solution. 3.8.1. Fitness Vector Represents the geometric feasibility of disassembly operations. The procedure of determining Fitness Vector is as the following: Suppose Chrom [] is [A B C D E F], Fitness Vector ¼ [1¯ 1¯ 1¯ 1¯ 1¯ 1¯] //that is ‘‘don’t know’’ For (i: 1-6) IF Disassembly (Chrom[i]) Is TRUE THEN Fitness Vector [i] ¼ 1 ELSE //that is, Disassembly(Chrom[i]) is FALSE {For (k: i-6) Fitness Vector [k] ¼ 0 AND Break out the cycle} *Disassembly function represents the evaluating process for feasibility of disassembly operations. For a Chromosome ¼ [A B C D E], if A-B-C is feasible, but operation D is infeasible, Fitness Vector will be [1 1 1 0 0]. The
IF the solution is infeasible, THEN its Fitness will be 0 ELSE: IF the number of ‘‘1’’ in Fitness Vector is N THEN Fitness ¼ a * N+b * cost Cost represents the cost of operation. It is mainly affected by these factors as production, process, and environment: 1. Production (a) Performance of disassembly & recycle line. 2. Environment (a) Environmental impact of component’s material and used process. 3. Process (a) Operation time. (b) Number of directions in disassembly process. (c) Reorientations in disassembly process. (d) Used tools. (e) Complexity of the component structure. 4. And so on. In fact, the definition of Cost of disassembly, or Quality of disassembly, is a complicated topic in green design, generally, called Economic and Environmental Evaluation for Disassembly. In actual applications, simplification for this function is often necessary. In this assessment process, done by experts, these factors of disassembly operation are considered as a whole, and an evaluated value (between 1 and 20) is given by Costðai ; jÞ ¼ A Time þ B ðDirections þ ReorientationsÞ þ C Tool Here, Time is the operation time, and Tool is the evaluated value for the tools used in this operation. The Directions represents the !0 number of used directions in the partial sequence T ðkÞ and the Reorientations represent the number of reorientations in the !0 partial sequenceT ðkÞ. Additionally,
The value in Cost is simplified and mapped into [11,8], according to the suggestions of many experienced engineers.
The operation time is normalized into [11,8] as Time. If the used tool is a general tool, Tool will be set as 1; and if the
used tool is a special tool for this process, Tool will be a value of [20,8] according to the tool cost/structure. Based on many experiments and the consideration that the proposed sequence’s directions and reorientations have a potential impact on the operation’s time and used tools, we give more weight to the operation complexity as compared to the Tool and the Time: A ¼ 0.2, B ¼ 0.6, and C ¼ 0.2.
4. A case study and results We have developed a software system based on the above methods. It is designed, developed and tested as a sub-system of PTC Pro/Engineer Wildfire [13] (Pro/Engineer is PTC’s integrated 3D product design software, which is one of most famous
ARTICLE IN PRESS W. Hui et al. / Neurocomputing 71 (2008) 2720–2726
140
software for product design and development in manufacturing). By this system, product is displayed as a 3D model to facilitate the visualization of disassembly process. A hypothetical product, formed by 30 parts, has been used to evaluate the performance of our proposed method. These main parameters are configured as follows:
! Costðai ; kÞ ;
a ¼ 1;
b ¼ 0:1
Generation Number
In the fitness function: N X
120
100
Population size: Pop_Size ¼ 50–500; Generations: Generations ¼ 1–100; Crossover probability: P_crossover ¼ 0.8; Mutation probability: P_mutation ¼ 0.1.
Fitness ¼ a N þ b
2725
As mentioned in the above sections, the performance of a given solution could be evaluated by the proposed method. In our experiments, when the GA process achieves convergence, we will compare the best solution in population with solutions recommended by experts. If they are the same, then it can be proved that the GA search can ‘‘correctly’’ find out the optimal solution. Using the parameters given above, by many times experiments, we got similar optimal solutions (same with the recommended solution by technical advisors) finally, which proves this method is feasible and robust. Main results of these experiments are shown in Table 1 and Fig. 6. Note: The used computation platform is configured as: CPUAMD Athlon64 3000+, RAM-1000 M DDR, Graphics CardnVIDIA GeForce 6600 (128 M Memory), Operating SystemWindows XP Professional. Furthermore, the following information is important: 1. In these experiments, each time when more than 80% of the whole population selects the optimal solution steadily, the generation number will be recorded as ‘‘Generation Number’’ achieved the optimal solution. Actually, the number fluctuates around a median number, Averaged Generation Number. 2. ‘‘Average Used Time’’ is the average of ‘‘Used Time’’ to find out the optimal solutions in these experiments, as above mentioned. 3. ‘‘Used Time’’ in each experiment represents the runtime of GA system during the complete process, not only the time of pure genetic search. Actually, constructing the DFIG model needs much geometrical computation (such as collision detection) based on CAD platforms, and therefore, in those experiments, time spent on that is much more than the time spent on pure genetic search. Theoretically, time-cost to construct a product’s DFIG model in different experiments is similar. This is the main reason why ‘‘Average Used Time’’ in Table 1 does not change proportionally with the population size and the averaged generation number. 4. Size of population has a close relation with the Generation Number (of finding out optimal solutions). Technically, large population could help to construct product’s DFIG model in
Table 1 Experimental results using different initial populations Population size
Averaged generation number
Average used time (min)
500 300 200 100 50
10 20 30 50 100
50 58 63 70 80
psize = 50
60
psize = 100
40
psize = 200
20
psize = 300
0
psize = 500
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 51 53 55 57 58
k¼0
80
Experiments No. Fig. 6. Results of generation number vs. population size (psize).
Table 2 a comparative study of DFIG, DCG and DNN Model
Complexity
DFIG
Based on these experiments, 1. the DFIG model has nearly 200 nodes, 2. nearly 200 edges, 3. genetic search mainly visit about 120 nodes.
DCG, J.F.Wang, et al. [19]
Denote N as the parts number, according to the theoretical model of DCG, Node number: 6N ¼ 6 30 ¼ 180; Total edges: 18N(N1) ¼ 183029 ¼ 15,660. Many arcs imply much more computation to generate this graph and search for the optimal solution.
DNN, Failli and Dini [8]
Denote N as the parts number and M as the grippers number, according to the theoretical model of DNN, Node Number: 6NM; Total edges: 18N(N1)M. Potential grippers/tools make the nodes network more complicated.
early generations. Therefore, heuristic search for the optimal solution can be completed without using many generations. A comparison among our DFIG model and two other models (for assembly/disassembly modeling) [8][19] is shown in Table 2. Firstly, both the methods put forth by Wang and Dini assume that information of their proposed assembly models (disassembly completed graph and disassembly nodes network) has already been given. And then, they presented ant colony optimization methods to find out the best solution. Very different from these methods, in our method, the generation of DFIG is synchronously with the genetic search for feasible and optimal disassembly planning solutions. Therefore, no comparable runtime of pure heuristic search can be obtained directly. We will just compare these methods on their assembly modeling because the difference in assembly models has a crucial impact on efficiency of meta-heuristics search. For Wang’s method, in theory, the increasing speed of nodes in disassembly completed graph (DCG) will be sextuple of the
ARTICLE IN PRESS 2726
W. Hui et al. / Neurocomputing 71 (2008) 2720–2726
increasing speed of part number and in Failli and Dini’s work, the nodes of disassembly nodes network (DNN) will increase more quickly with the increase of components because the nodes of DNN are affected by three factors: part, gripper and direction. Moreover, edges in DCG and DNN will increase more quickly than nodes. Since each edge implies a sequenced assembling/ disassembling operation, it will be very difficult to complete the whole computation on CAD system to construct these models. Therefore, for a product with many parts, using DFIG which is more concise than the other two, can achieve better efficiency in meta-heuristics search. This also makes feasible the application of the mechanism of ‘‘Generate DFIG synchronously with Genetic Search’’ in real engineering.
5. Conclusions Disassembly & recycle research is an important field of Environmentally Conscious Manufacturing, in recent years. The Disassembly Feasibility Information Graph (DFIG) proposed in this paper, by simulating product’s disassembly operations, can represent product’s disassembly solutions and store relevant information, and therefore, we can map disassembly sequence planning problem onto DFIG model as an optimal path searching problem. This conversion offers a concise and powerful model to use intelligent algorithm in disassembly sequencing. The proposed algorithm is able to deal with big instances of problem without computation time explosion, and therefore, proves to be an effective tool for disassembly planning of End-of-Life product. References [1] C. Bierwirth, D. Mattfeld, H. Kopfer, On Permutation Representations for Scheduling Problems, Proceedings of Parallel Problem Solving from Nature IV, Springer, Berlin, Germany, 1996, pp. 310–318. [2] C. Bierwirth, D. Mattfeld, Production scheduling and rescheduling with genetic algorithms, Evol. Comput. 7 (1) (1999) 1–17. [3] J.L. Blanton, R.L. Wainwright, Multiple vehicle routing with time and capacity constraints using genetic algorithms, in: Proceedings of the Fifth International Conference on Genetic Algorithms, Morgan Kaufmann, San Mateo, CA, 1999, pp. 452–459. [4] Chen Ke, Jean-Michel Henrioud, Systematic generation of assembly precedence graphs, in: Proceedings of IEEE International Conference on Robotics and Automation, 1994, pp. 1476–1482. [5] Lawrence Davis, Handbook of Genetic Algorithms, Van Nostrand Reinhold, New York, 1991. [6] P. De Lit, P. Latinne, B. Rekiek, et al., An ordering genetic algorithm for assembly planning, in: Proceedings of the 15th International Conference of Production Research, 1999. [7] G. Dini, F. Failli, M. Santochi, A disassembly planning software system for the optimization of recycling processes, Prod. Plann. Control 12 (1) (2001) 2–12. [8] F. Failli, G. Dini, Ant colony systems in assembly planning: A new approach to sequence detection and optimization, in: Proceedings of the Second CIRP International Seminar on Intelligent Computation in Manufacturing Engineering, ICME 2000, Capri (NA), Italy, 2000, pp. 227–232. [9] L.M. Galantucci, G. Percoco, R. Spina, Assembly and disassembly planning by using fuzzy logic & genetic algorithms, Int. J. Adv. Robot. Syst. 1 (2) (2004) 67–74.
[10] Mitsuo Gen, Runwei Cheng, Genetic Algorithm and Engineering Optimization, Wiley, New York (Chichester, UK), 2000. [11] S.M. Gupta, P. Veerakamolmal, Disassembly of products, NIST systems integration for manufacturing application program final report, 1996. [12] J.M. Henrioud, L. Relange, C. Perrard, Assembly sequences, assembly constraints, precedence graphs, in: The Proceedings of the IEEE International Symposium on Assembly and Task Planning, 2003, pp. 90–95. [13] http://www.ptc.com/. [14] G. Jianggang, D. Guanghong, W. Jinsong, On generation of all possible disassembly sequences of electronic equipment, Mach. Des. Res. 19 (1) (2003) 11–13 [in Chinese]. [15] E. Kongar, S.M. Gupta, Genetic algorithm for disassembly process planning, Proc. Int. Soc. Opt. Eng. 4569 (2002) 54–62. [16] J.D. Lambert, Disassembly sequencing: a survey, Int. J. Prod. Res. 41 (16) (2003) 3721–3759. [17] B. Lazzerini, F. Marcelloni, G. Dini et al. Assembly planning based on genetic algorithms, Fuzzy Information Processing Society, NAFIPS, in: 18th International Conference of the North American, 1999, pp. 482–486. [18] Wang Ling, Job-Shop Scheduling and Genetic Algorithm, Tsinghua University Press, Beijing, 2003. [19] J.F. Wang, J.H. Liu, Y.F. Zhong, A novel ant colony algorithm for assembly sequence planning, Int. J. Adv. Manuf. Technol. 25 (11–12) (2005) 1137–1143. [20] K. Yokota, D.R. Brough, Assembly/disassembly sequence planning, Assem. Autom. 12 (3) (1992) 31–38. Wang Hui is currently a Ph.D. candidate in the Department of Precision Instruments and Mechanology, Tsinghua University, PR China. He received B.Eng and M.Sc. in 2000 and 2003, respectively, from Northwestern Polytechnical University, Xi’an. His main research interests include assembly/disassembly planning, green design, and heuristic methods.
Xiang Dong received his Ph.D. from Chongqing University. Now he is an associate professor in the Department of Precision Instruments and Mechanology of Tsinghua University. His main research interests include design for environment, cleaner production and recycling technology of e-wastes.
Duang Guanghong is a professor in the Department of Precision Instruments and Mechanology. He is also the Director of Research and a senior member of CASME. His current research interests include CAD/CAM, green manufacturing, advanced manufacturing machine and NC technology.