# A Label Correcting Algorithm for Partial Disassembly Sequences in the Production Planning for End-of-Life Products

Authors: Pei-Fang (Jennifer) Tsai
Journal: Mathematical Problems in Engineering
 (2012)

---

## Abstract

Remanufacturing of used products has become a strategic issue for cost-sensitive businesses. Due to the nature of uncertain supply of end-of-life (EoL) products, the reverse logistic can only be sustainable with a dynamic production planning for disassembly process. This research investigates the sequencing of disassembly operations as a single-period partial disassembly optimization (SPPDO) problem to minimize total disassembly cost. AND/OR graph representation is used to include all disassembly sequences of a returned product. A label correcting algorithm is proposed to find an optimal partial disassembly plan if a specific reusable subpart is retrieved from the original return. Then, a heuristic procedure that utilizes this polynomial-time algorithm is presented to solve the SPPDO problem. Numerical examples are used to demonstrate the effectiveness of this solution procedure.


---

## Body

## 1. Introduction

Product recovery, or remanufacturing, has been considered as one of the most profitable options in dealing with the end-of-life (EoL) products. The benefit of product recovery is especially more attractive when a facility is capable of performing both manufacturing and remanufacturing processes, and the coordination of these two processes can be included in the production planning and scheduling. Griese et al. [1] discussed the economic challenges for reuse and the main technical obstacles in three product categories: medical equipment, automotive electronics, and computers. They argued that, for personal computers, reuse and repair appeared to have more potential than pure recycling materials. Similar benefit was confirmed by Grenchus et al. [2] from the practice at the IBM Endicott asset recovery center. They found that, with little disassembly effort, functional parts that were recoverable had more resale value than plain material recovery.For any original equipment manufacturer (OEM) with the capacity in performing assembly and disassembly operations, the retrieved components from returned products can be integrated with their forward production. As shown in Figure1, a complete product life cycle is defined by forward logistics (solid line) and reverse logistics (dotted line). Information (bold line) from disassembly operation can further assist in design and manufacturing new products. Retrieving spare parts from returned products has been one of the most prominent strategies. Fleischmann [3] observed that, when the returned used equipments were integrated into the spare part planning, a push policy in which returned equipments were tested and dismantled as soon as available can achieve higher service level in IBM’s spare part management.Figure 1
Integrated supply chain for original equipment manufacturers. Adopted from [4].It remains as one of the biggest challenges to develop the techniques in production planning system for product recovery to be sustainable [5]. For regular assembly, demand can be determined in advance and hence the required resources can be planed and scheduled along the time horizon. However, for disassembly process planning, variation in quantity and quality of returned products is so huge that it fails to fit into any available planning scheme. Even when the demand for remanufactured products is known with a set of available returned products, it is still challenging to decide how these products should be dismantled to minimize the disassembly effort for those refurbished products. Kasmara et al. [6] used an integer programming model that included sales and returns in each period with the objective function as maximization of profits. Clegg et al. [7] presented a linear programming model of production planning for both new and remanufactured products. Some studies focused on the effect of average flowtime for both assembly and disassembly operations under different scenarios in planning mixes [8–13].The ability to salvage the value of these returned products relies both on the disassembly capacity and the ability to find the most cost-effective disassembly sequences to retrieve valuable parts. This research is motivated to find disassembly sequences with minimum operation costs in the production planning for EoL products. A single period planning is considered due to the inherent fluctuation in the demand and supply of EoL products in different periods. Moreover, a partial disassembly policy is considered for better profit in product recovery.


## 2. Literature on Disassembly Planning

Disassembly is the process of dismantling a product through successive steps at the end of its life so as to recover useful components or subassemblies, for resale, reuse, or proper disposal. A product, as a whole, may not be repairable at the end of its conventional useful life, yet there might be components and subassemblies that are in good enough condition for use in a new product or in the remanufacture of an old one [14]. The efficient retrieval of these parts/subassemblies will not only cut down the production cost but will also reduce the associated disposal costs and, consequently, the environmental hazards.Taleb and Gupta [15] addressed the scheduling problem of disassembly operations with commonality in the parts or materials. Then, a scheduling mechanism was provided to determine the total disassembly requirement as well as the time to release along the planning horizon. Langella [16] developed heuristics for the disassembly planning when a returned product was used in multiple purposes. Gungor and Gupta [17] used a heuristic algorithm to evaluate total costs among different disassembly strategies for returned products using the precedence relationship among subassemblies. Deterministic formulations originated from variations of travelling salesman problem (TSP) were used to find optimal disassembly sequences [18, 19]. Johnson and Wang [20] considered the disassembly precedence relationship according to a bill of material (BOM) of the product and formulated the problem as a two-commodity network formulation. Lambert [21] solved a similar formulation as in [20] with sequence-dependent setup time by using an iterative heuristic approach.Graph-based representation is often used to find all feasible disassembly sequences. De Fazio and Whitney [22] proposed a network of liaison sequences, or precedence sequences, that are generated from the bill of material (BOM) of a product. Sarin et al. [19] incorporated the precedence constraints into a tree-structured network with additional nodes representing the connection and joints between subparts. Zhang and Kuo [23] and Kuo [24] proposed a component-fastener graph to represent the assembly relationship to find the most profitable dismantle sequence for returned products. Homem de Mello and Sanderson [25, 26] introduced an AND/OR graph representation of assembly plan which includes all possible sequences of operations. Lambert [27] utilized the AND/OR graph to generate sequences in retrieving subassemblies with the consideration of disassembly line balancing.The objective of this research is to find an optimal partial disassembly sequence to retrieve reusable subassemblies or subparts from EoL products in single planning period or referred to as single period partial disassembly optimization (SPPDO) problem herein. A label correcting algorithm is proposed to solve the AND/OR graph as a shortest path problem. Furthermore, a heuristic procedure is developed to utilize this label correcting algorithm in solving the SPPDO problem. The remainder of the paper is organized as follows. In the next section, the representations of disassembly sequences and AND/OR graph are briefly discussed. The subsequent sections further introduce the mathematical formulation of the problem, the label correcting algorithm, and a heuristic procedure for solving SPPDO. This is followed by a section that illustrates how the heuristic algorithm works with numerical examples. Then, some concluding remarks are summarized in the last section.


## 3. Formulation of Partial Disassembly Optimization Problem

### 3.1. Disassembly Sequence and AND/OR Graph

For a given return, the feasible disassembly sequence is restricted to the design of that product. After specifying the structure of a product, it is prerequisite to develop the relations between subassemblies and parts where separation operations are possible. A component-fastener graph can be used to represent the assembly relationship [23, 24]. As shown in Figure 2, if two components are attached or joined by fasteners, then these two components are connected by an undirected edge in the component-fastener graph.Figure 2
(a) The structure and (b) component-fastener graph for a partially disassembled PC [24].A disassembly AND/OR graph is another useful representation for all possible disassembly sequences. An AND/OR graph is a directed hypergraph where subassemblies are represented as nodes. If more than one subassembly/part can be separated from a parent assembly in one disassembly operation, a hyperarc (AND arc) is used to indicate this operation and connects the parent node to all child nodes. Otherwise, a directed arcs (OR arcs) are used. Figure3(a) illustrates the drawing of a ballpoint product with associated AND/OR graph in Figure 3(b). The assembly {ABCDE} yields two subassemblies {BCD} and {AE} through the disassembly operation {12}, and this operation is represented as an AND arc (“∪” arc). Moreover, this hypergraph is compact which requires a reduced number of nodes/arcs to enumerate all partial sequences of disassembly operations [25].Figure 3
(a) The structure, (b) AND/OR disassembly tree, and (c) transition matrix for a ballpoint [21].This AND/OR graph can also be represented completely via a transition matrixT. Suppose I be the set of subassemblies/subparts and J be the set of operations, the element Tij has a value of 1 if a subassembly i∈I is released by some operation j∈J or  −1 if subassembly i∈I is to be dismantled via operation j∈J. Figure 3(c) defines the associated transition matrix for the ballpoint product in Figure 3(a), where I={1⋯15} and J={1⋯13}. For example, the operation j=12 will dismantle one subassembly i=2 or assembly {ABCDE}, for two corresponding subassemblies i=6 and i=8 or assemblies {BCD}, and {AE}, respectively.


### 3.2. Mathematical Model

The partial disassembly optimization problem considered in this research is defined as a single-period partial disassembly optimization (SPPDO) problem. The problem assumed that the disassembly decision is to consider myopic optimal sequences given the quantity of returned products and the demands for reusable subparts in the period. For the product withI as the set of feasible subassemblies/subparts and J as the set of disassembly operations, two more sets are defined as follows: I0 as the set of original products, I0⊆I;   If as set of reusable subparts or target subparts, If⊆I.Consider the AND/OR graphG for this returned product with I nodes and J arcs and the transition matrix T for the product. A feasible disassembly sequence to retrieve reusable parts from a returned product can be defined as a path from a source node in I0 to the corresponding target nodes in If. Let cj be the cost of operation j, and cj≥0, for all j∈J. In this model, the available quantity is defined as a negative number bi≤0, for original returns i, for all i∈I0. For each reusable subpart i, the demand is defined as bi≥0, for all i∈If. Intermediate subassembly has zero demand; that is, bi=0,  for all i∈I∖{I0∪If}. Without loss of generality, we assume that this model has enough supply of original returns; that is, ∑i∈Ibi≤0. Suppose yj be the number of operation j, j∈J, needed in this planning period, then an optimal partial disassembly sequence with minimum total disassembly cost can be obtained by solving the formulation proposed as follows:SPPDO
(3.1)
Minimize
∑
j
∈
J
c
j
⋅
y
j
,
(3.2)
Subject
to
∑
j
∈
J
T
i
j
·
y
j
≥
b
i
,
∀
i
∈
I
0
∪
I
f
,
(3.3)
∑
j
∈
J
T
i
j
·
y
j
≥
0
,
∀
i
∈
I
∖
{
I
0
∪
I
f
}
,
(3.4)
y
j
≥
0
and
integer
∀
j
∈
J
.
This SPPDO model is a generalized minimum cost flow problem where the arc in a graph include both hyperarcs (AND arcs) and regular directed arcs (OR arcs). The constraint set (3.2) is to ensure that the demands of reusable subparts are fulfilled or the required quantities for original returns are still sufficient. The constraint sets (3.3) and (3.4) are nonnegative constraints on the resulting quantity of intermediate subassemblies/parts and the number of operations needed. It is worth noting that this AND/OR graph is acyclic, and the sum of degrees from all nodes might not be zero. Further note that, since the transition matrix T does not have the property of total unimodularity, this SPPDO formulation can only be solved as a pure integer programming (IP) problem.In the literature, a searching algorithm for an AND/OR graph with different interpretation is available, but it is not applicable to solve the SPPDO problem directly. AND/OR graph is often used to represent a problem-solving process which transforms the original problem into several subproblems [28, 29]. Each node represents a distinct problem. The node represents the original problem is referred to as the starting node or root node. A terminal node, or leaf node, in this graph represents a problem whose solution is either known to exist or not to exist. A directed arc is linked from a node (problem) to its associated successive nodes (subproblems). For an OR arc, the problem is solved when the immediately successive subproblem is solved. If the problem is linked by an AND arc, the problem is only solved when all the successive subproblems are solved. Hence, the solution for the original problem is to search for a tree that connects the root node with terminal nodes only [28].Zhang and Kuo [23] had extended this searching algorithm in finding a solution tree from an AND/OR graph to obtain the optimal assembly sequence toward the final product. Even with the assumption of reversible operation, the sequence obtained from the solution tree might not be directly used for generating disassembly sequence if partial disassembly is allowed. The main reason is that the disassembly level needs to be identified if full disassembly is not desirable. The selection in a proper set of terminal nodes can be combinatorial [25]. Considering the example as in Figures 4(a) and 4(b), the searching algorithm can be used to find the best trees for the assembly operations from leaf nodes to the root node as in Figure 5. But to retrieve a stick from the returned problem, the optimal sequences for partial disassembly operations ({1},{8}) or ({4},{7}) can only be obtained if and only if the set of terminal nodes selected are {7,9,10} or {6,10,12}, respectively.(a) The structure and (b) the AND/OR disassembly tree for a simple product [25].
(a)
(b)Alternated trees of disassembly sequence to remove the stick for the simple product in (a) [25].
(a)
(b)


### 3.3. Label Correcting Algorithm

Here we propose a label correcting algorithm to find an optimal disassembly sequence from an AND/OR graph. This algorithm maintains a labelLi=[di,pi] for each node i, i∈I, where di is the minimum disassembly cost to retrieve node i from some starting node in Is, and pi is the set of immediately predecessor nodes in the shortest path. Let f(j) and t(j) denote the from-node and to-node of some arc j, j∈J. Further, Fi={j∈J:f(j)=i} and Ri={j∈J:t(j)=i} define the forward star and reverse star for each node i, i∈I. The detailed steps of this algorithm are as follows.Initialization
For each source nodek in k∈Is, set the minimum cost dk=0, the predecessor set pk=ϕ, and update the set of labelled node L=L∪{k}. For node k in I∖Is, set the minimum cost dk=∞, the predecessor set pk=ϕ. Select the first labelled node k in L.Step 1.
Determine the setSk for unlabelled nodes that are immediately connected from node k; that is, Sk={n∣n∈t(j),j∈Fk}∖L. If Sk is not empty, then go to Step 2. Otherwise, go to Step 3.Step 2.
For each nodei in Sk, do the following(1)
For each arcj where j∈Fk∩Ri, if dk+cj<di, update the minimum cost di=dk+cj and set pi={k}. Otherwise, if dk+cj=di, then update pi=pi∪{k}.(2)
Determine the setUi for unlabelled nodes that are immediately connected toward node i; that is, Ui={n|n∈f(j),j∈Ri}∖L. If Ui is empty, make node i as labelled and update the set of labelled nodes L=L∪{i}.Step 3.
Mark the current nodek as solved. Move to the next unsolved node in L as new node k, go to Step 1. If all nodes are solved, stop.If only original returns can be dismantle for reusable subparts, we haveIs=I0. For any solved node i, the di from the label Li=[di,pi] represents the minimum disassembly cost to retrieve one subpart i directly from a starting assembly. Moreover, the complexity of this procedure is polynomial bound by the number of nodes; that is, O((|I|)2) [30].Lemma 3.1.
If only one target subpart has positive demand, the label correcting algorithm solves the SPPDO problem.Proof.
In the SPPDO formulation, it is assumed that target subparts are retrieved from returned products directly. If only one target subparti has positive demand, it is equivalent to find an optimal sequence of disassembly operations with the minimum total cost to reach the destination node i from the source node. This minimum cost is also defined as di in the label Li=[di,pi] for node i, i∈If.Lemma 3.2.
If more than one target subpart has positive demands, then the correspondingdi from the label correcting algorithm for associated nodes forms an upper bound for the optimal solution in the SPPDO problem. That is, suppose yj*, j∈J, be the optimal solution for the SPPDO problem, then  one has  ∑j∈Jcj·yj*≤∑i∈Ifbi·di.Proof.
Suppose two target subparts, sayl and m, l≠m, have positive demands. Let Pl={jl1,jl2,…,jlp} and Pm={jm1,jm2,…,jmp} be the optimal disassembly sequences for node l and node m, respectively. Without loss of generality, we assume that bl≥bm>0. Suppose there exists some node k∈tj, j∈Pl and also k∈fj, j∈Pm. Then the shortest disassembly path from the source node to node k is overlapped in the optimal disassembly sequences from the source node to node l and node m. Hence, an upper bound for the optimal disassembly cost is ∑j∈Jcj·yj*≤(bl·dl+bm·dm)-bm·dk.Moreover, it can be concluded that∑j∈Jcj·yj*=∑i∈Ifbi·di if and only if each original return can be retrieved for no more than one target subpart only.


### 3.4. A Heuristic Procedure for Solving Partial Disassembly Optimization Problem

Next, we presented heuristic procedure that utilizes the label correcting algorithm in the previous section.  This procedure is to find a good solution for larger instances of SPPDO problem in a real-world setting within a reasonable computation effort. The detail of this iterative procedure is described as follows.Initialization
Apply the label correcting algorithm withIs=Io to obtain the initial labels Li=[di,pi] for all subparts i, i∈I. Set the variable yj=0, j∈J. Let xi be the quantity of subassembly i available for further dismantle, set xi=0, i∈I, and xi=|bi|, i∈I0. Note that ∑i∈I0|bi|≥∑i∈Ifbi.Phase 1 (Path construction).
Select a target nodei which has the maximum total potential cost in unfulfilled demand; that is, i=argk∈Ifmax{(bk-xk)·dk∣bk>xk}. Break ties arbitrarily.Obtain the minimum cost disassembly sequences,Pi={ji1,ji2,…,jip}, which forms a directed path from source node s, s=f(ji1) toward the demand node i; i∈t(jip). Break ties arbitrarily. Find the maximum flow for this path, Δ=min{xs,(bi-xi)}.For each arcj, j∈Pi, start from the first arc, perform the following updates sequentially. 								(3.5)yj=yj+Δ,xk=xk-Δ,ifk∈f(j),xk=xk+Δ,ifk∈t(j).Phase 2 (Termination test).
Update the total disassembly costz=z+Δ·di and check for any unfulfilled demand; that is, xk<bk, k∈If. If all demands are fulfilled, then stop. The current solution of yj, j∈J, is feasible for the SPPDO problem.Otherwise, update the set of source nodes to include intermediate nodes with positive quantity; that is,Is=I0∪{k}, if xk>0 for k∈I∖{I0∪If}. Update labels Li=[di,pi] for all subparts i, i∈I using the label correcting algorithm in Section 3.3 with the new set of source nodes Is. Go to Phase 1.Lemma 3.3.
The objective value of solution obtained from this heuristic procedure, referred to aszH, is at least as good as that obtained from the label correcting algorithm, referred to as zLC.Proof.
In Phase2, the labels for subparts are altered only when there exists some intermediate subassembly with positive quantity to be further dismantled for those target subparts with lower costs. Otherwise, the initial labels remain unchanged. So, the contribution of disassembly cost for a target subpart in zH is no higher than that in zLC.Furthermore, letz*=∑j∈Jcj·yj be the optimal solution for the SPPDO problem and zLC=∑i∈Ifbi·di. We have z*≤zH≤zLC from Lemmas 3.2 and 3.3.


## 3.1. Disassembly Sequence and AND/OR Graph

For a given return, the feasible disassembly sequence is restricted to the design of that product. After specifying the structure of a product, it is prerequisite to develop the relations between subassemblies and parts where separation operations are possible. A component-fastener graph can be used to represent the assembly relationship [23, 24]. As shown in Figure 2, if two components are attached or joined by fasteners, then these two components are connected by an undirected edge in the component-fastener graph.Figure 2
(a) The structure and (b) component-fastener graph for a partially disassembled PC [24].A disassembly AND/OR graph is another useful representation for all possible disassembly sequences. An AND/OR graph is a directed hypergraph where subassemblies are represented as nodes. If more than one subassembly/part can be separated from a parent assembly in one disassembly operation, a hyperarc (AND arc) is used to indicate this operation and connects the parent node to all child nodes. Otherwise, a directed arcs (OR arcs) are used. Figure3(a) illustrates the drawing of a ballpoint product with associated AND/OR graph in Figure 3(b). The assembly {ABCDE} yields two subassemblies {BCD} and {AE} through the disassembly operation {12}, and this operation is represented as an AND arc (“∪” arc). Moreover, this hypergraph is compact which requires a reduced number of nodes/arcs to enumerate all partial sequences of disassembly operations [25].Figure 3
(a) The structure, (b) AND/OR disassembly tree, and (c) transition matrix for a ballpoint [21].This AND/OR graph can also be represented completely via a transition matrixT. Suppose I be the set of subassemblies/subparts and J be the set of operations, the element Tij has a value of 1 if a subassembly i∈I is released by some operation j∈J or  −1 if subassembly i∈I is to be dismantled via operation j∈J. Figure 3(c) defines the associated transition matrix for the ballpoint product in Figure 3(a), where I={1⋯15} and J={1⋯13}. For example, the operation j=12 will dismantle one subassembly i=2 or assembly {ABCDE}, for two corresponding subassemblies i=6 and i=8 or assemblies {BCD}, and {AE}, respectively.


## 3.2. Mathematical Model

The partial disassembly optimization problem considered in this research is defined as a single-period partial disassembly optimization (SPPDO) problem. The problem assumed that the disassembly decision is to consider myopic optimal sequences given the quantity of returned products and the demands for reusable subparts in the period. For the product withI as the set of feasible subassemblies/subparts and J as the set of disassembly operations, two more sets are defined as follows: I0 as the set of original products, I0⊆I;   If as set of reusable subparts or target subparts, If⊆I.Consider the AND/OR graphG for this returned product with I nodes and J arcs and the transition matrix T for the product. A feasible disassembly sequence to retrieve reusable parts from a returned product can be defined as a path from a source node in I0 to the corresponding target nodes in If. Let cj be the cost of operation j, and cj≥0, for all j∈J. In this model, the available quantity is defined as a negative number bi≤0, for original returns i, for all i∈I0. For each reusable subpart i, the demand is defined as bi≥0, for all i∈If. Intermediate subassembly has zero demand; that is, bi=0,  for all i∈I∖{I0∪If}. Without loss of generality, we assume that this model has enough supply of original returns; that is, ∑i∈Ibi≤0. Suppose yj be the number of operation j, j∈J, needed in this planning period, then an optimal partial disassembly sequence with minimum total disassembly cost can be obtained by solving the formulation proposed as follows:SPPDO
(3.1)
Minimize
∑
j
∈
J
c
j
⋅
y
j
,
(3.2)
Subject
to
∑
j
∈
J
T
i
j
·
y
j
≥
b
i
,
∀
i
∈
I
0
∪
I
f
,
(3.3)
∑
j
∈
J
T
i
j
·
y
j
≥
0
,
∀
i
∈
I
∖
{
I
0
∪
I
f
}
,
(3.4)
y
j
≥
0
and
integer
∀
j
∈
J
.
This SPPDO model is a generalized minimum cost flow problem where the arc in a graph include both hyperarcs (AND arcs) and regular directed arcs (OR arcs). The constraint set (3.2) is to ensure that the demands of reusable subparts are fulfilled or the required quantities for original returns are still sufficient. The constraint sets (3.3) and (3.4) are nonnegative constraints on the resulting quantity of intermediate subassemblies/parts and the number of operations needed. It is worth noting that this AND/OR graph is acyclic, and the sum of degrees from all nodes might not be zero. Further note that, since the transition matrix T does not have the property of total unimodularity, this SPPDO formulation can only be solved as a pure integer programming (IP) problem.In the literature, a searching algorithm for an AND/OR graph with different interpretation is available, but it is not applicable to solve the SPPDO problem directly. AND/OR graph is often used to represent a problem-solving process which transforms the original problem into several subproblems [28, 29]. Each node represents a distinct problem. The node represents the original problem is referred to as the starting node or root node. A terminal node, or leaf node, in this graph represents a problem whose solution is either known to exist or not to exist. A directed arc is linked from a node (problem) to its associated successive nodes (subproblems). For an OR arc, the problem is solved when the immediately successive subproblem is solved. If the problem is linked by an AND arc, the problem is only solved when all the successive subproblems are solved. Hence, the solution for the original problem is to search for a tree that connects the root node with terminal nodes only [28].Zhang and Kuo [23] had extended this searching algorithm in finding a solution tree from an AND/OR graph to obtain the optimal assembly sequence toward the final product. Even with the assumption of reversible operation, the sequence obtained from the solution tree might not be directly used for generating disassembly sequence if partial disassembly is allowed. The main reason is that the disassembly level needs to be identified if full disassembly is not desirable. The selection in a proper set of terminal nodes can be combinatorial [25]. Considering the example as in Figures 4(a) and 4(b), the searching algorithm can be used to find the best trees for the assembly operations from leaf nodes to the root node as in Figure 5. But to retrieve a stick from the returned problem, the optimal sequences for partial disassembly operations ({1},{8}) or ({4},{7}) can only be obtained if and only if the set of terminal nodes selected are {7,9,10} or {6,10,12}, respectively.(a) The structure and (b) the AND/OR disassembly tree for a simple product [25].
(a)
(b)Alternated trees of disassembly sequence to remove the stick for the simple product in (a) [25].
(a)
(b)


## 3.3. Label Correcting Algorithm

Here we propose a label correcting algorithm to find an optimal disassembly sequence from an AND/OR graph. This algorithm maintains a labelLi=[di,pi] for each node i, i∈I, where di is the minimum disassembly cost to retrieve node i from some starting node in Is, and pi is the set of immediately predecessor nodes in the shortest path. Let f(j) and t(j) denote the from-node and to-node of some arc j, j∈J. Further, Fi={j∈J:f(j)=i} and Ri={j∈J:t(j)=i} define the forward star and reverse star for each node i, i∈I. The detailed steps of this algorithm are as follows.Initialization
For each source nodek in k∈Is, set the minimum cost dk=0, the predecessor set pk=ϕ, and update the set of labelled node L=L∪{k}. For node k in I∖Is, set the minimum cost dk=∞, the predecessor set pk=ϕ. Select the first labelled node k in L.Step 1.
Determine the setSk for unlabelled nodes that are immediately connected from node k; that is, Sk={n∣n∈t(j),j∈Fk}∖L. If Sk is not empty, then go to Step 2. Otherwise, go to Step 3.Step 2.
For each nodei in Sk, do the following(1)
For each arcj where j∈Fk∩Ri, if dk+cj<di, update the minimum cost di=dk+cj and set pi={k}. Otherwise, if dk+cj=di, then update pi=pi∪{k}.(2)
Determine the setUi for unlabelled nodes that are immediately connected toward node i; that is, Ui={n|n∈f(j),j∈Ri}∖L. If Ui is empty, make node i as labelled and update the set of labelled nodes L=L∪{i}.Step 3.
Mark the current nodek as solved. Move to the next unsolved node in L as new node k, go to Step 1. If all nodes are solved, stop.If only original returns can be dismantle for reusable subparts, we haveIs=I0. For any solved node i, the di from the label Li=[di,pi] represents the minimum disassembly cost to retrieve one subpart i directly from a starting assembly. Moreover, the complexity of this procedure is polynomial bound by the number of nodes; that is, O((|I|)2) [30].Lemma 3.1.
If only one target subpart has positive demand, the label correcting algorithm solves the SPPDO problem.Proof.
In the SPPDO formulation, it is assumed that target subparts are retrieved from returned products directly. If only one target subparti has positive demand, it is equivalent to find an optimal sequence of disassembly operations with the minimum total cost to reach the destination node i from the source node. This minimum cost is also defined as di in the label Li=[di,pi] for node i, i∈If.Lemma 3.2.
If more than one target subpart has positive demands, then the correspondingdi from the label correcting algorithm for associated nodes forms an upper bound for the optimal solution in the SPPDO problem. That is, suppose yj*, j∈J, be the optimal solution for the SPPDO problem, then  one has  ∑j∈Jcj·yj*≤∑i∈Ifbi·di.Proof.
Suppose two target subparts, sayl and m, l≠m, have positive demands. Let Pl={jl1,jl2,…,jlp} and Pm={jm1,jm2,…,jmp} be the optimal disassembly sequences for node l and node m, respectively. Without loss of generality, we assume that bl≥bm>0. Suppose there exists some node k∈tj, j∈Pl and also k∈fj, j∈Pm. Then the shortest disassembly path from the source node to node k is overlapped in the optimal disassembly sequences from the source node to node l and node m. Hence, an upper bound for the optimal disassembly cost is ∑j∈Jcj·yj*≤(bl·dl+bm·dm)-bm·dk.Moreover, it can be concluded that∑j∈Jcj·yj*=∑i∈Ifbi·di if and only if each original return can be retrieved for no more than one target subpart only.


## 3.4. A Heuristic Procedure for Solving Partial Disassembly Optimization Problem

Next, we presented heuristic procedure that utilizes the label correcting algorithm in the previous section.  This procedure is to find a good solution for larger instances of SPPDO problem in a real-world setting within a reasonable computation effort. The detail of this iterative procedure is described as follows.Initialization
Apply the label correcting algorithm withIs=Io to obtain the initial labels Li=[di,pi] for all subparts i, i∈I. Set the variable yj=0, j∈J. Let xi be the quantity of subassembly i available for further dismantle, set xi=0, i∈I, and xi=|bi|, i∈I0. Note that ∑i∈I0|bi|≥∑i∈Ifbi.Phase 1 (Path construction).
Select a target nodei which has the maximum total potential cost in unfulfilled demand; that is, i=argk∈Ifmax{(bk-xk)·dk∣bk>xk}. Break ties arbitrarily.Obtain the minimum cost disassembly sequences,Pi={ji1,ji2,…,jip}, which forms a directed path from source node s, s=f(ji1) toward the demand node i; i∈t(jip). Break ties arbitrarily. Find the maximum flow for this path, Δ=min{xs,(bi-xi)}.For each arcj, j∈Pi, start from the first arc, perform the following updates sequentially. 								(3.5)yj=yj+Δ,xk=xk-Δ,ifk∈f(j),xk=xk+Δ,ifk∈t(j).Phase 2 (Termination test).
Update the total disassembly costz=z+Δ·di and check for any unfulfilled demand; that is, xk<bk, k∈If. If all demands are fulfilled, then stop. The current solution of yj, j∈J, is feasible for the SPPDO problem.Otherwise, update the set of source nodes to include intermediate nodes with positive quantity; that is,Is=I0∪{k}, if xk>0 for k∈I∖{I0∪If}. Update labels Li=[di,pi] for all subparts i, i∈I using the label correcting algorithm in Section 3.3 with the new set of source nodes Is. Go to Phase 1.Lemma 3.3.
The objective value of solution obtained from this heuristic procedure, referred to aszH, is at least as good as that obtained from the label correcting algorithm, referred to as zLC.Proof.
In Phase2, the labels for subparts are altered only when there exists some intermediate subassembly with positive quantity to be further dismantled for those target subparts with lower costs. Otherwise, the initial labels remain unchanged. So, the contribution of disassembly cost for a target subpart in zH is no higher than that in zLC.Furthermore, letz*=∑j∈Jcj·yj be the optimal solution for the SPPDO problem and zLC=∑i∈Ifbi·di. We have z*≤zH≤zLC from Lemmas 3.2 and 3.3.


## 4. Numerical Examples

In this section, the simple product in Figure4(a) is used to demonstrate how the heuristic procedure in Section 3.4 works to generate partial disassembly sequences for the SPPDO problem. There are totally twelve different (sub)assemblies, I={1,…,12}. The original return is represented by node {1}, and reusable subparts are nodes {9},{10},{11},{12} for cap, stick, receptacle, and handle, respectively, that is, I0={1} and If={9,10,11,12}. A total of fifteen disassembly operations can be used to dismantle this product, J={1,…,15} with the associated costs C={5,7,7,5,6,7,2,2,7,6,2,1,4,4,1}.The construction of labels using the label correcting algorithm is shown in Figure6. The minimum disassembly cost to retrieve node {10} (stick) is 7 with two alternative optimal disassembly sequences: P10={4,7} or P10={1,8}. This optimal solution is consistent with observation in Section 3.2.Figure 6
Brief illustration of stepwise label correcting algorithm for the product structure as in Figure5(a).Next, we demonstrate the use of heuristic algorithm with the consideration of the following demands for target subparts: three caps(node{9}) and one stick (node{11}); that is, b9=3. b11=1. It implies that the supply of original returns should be at least four; that is, b1=-4. In the initialization step, all variables x,y are set to zero except x1=4 and the initial labels are obtained from Figure 6. In Phase 1, since node {9} (cap) has a higher total unfulfilled cost than node {11} (stick), node {9} is selected along with the associated directed path P9={1}. Calculate the flow Δ=min{x1,(b9-x9)}=min{4,(3-0)}=3 on this path. Since P9 has only one arc j=1, update the solution y1=3, x1=4-3=1, x3=3, and x9=3.Continue to Phase2 to check for the termination criteria. Update the current total disassembly cost z=z+Δ·d9=0+3*5=15. There still exists unfulfilled demand since x11=0<b11. So, first update the set of source nodes Is={1,3} to include the intermediate node {3} as x3=3>0. Then labels for subparts are updated using the label correcting algorithm. It is worth noting that, as shown in Figure 7, not every label is changed, and the effected nodes with associated arcs are shown in bold in the shaded area.Figure 7
Updated labels with an additional source node{3} as in the shaded area.In the second iteration, select node{11} to fulfil the remaining demand b11=1 with the disassembly path P11={8,14}. Calculate the maximum flow Δ=min{x3,(b11-x11)}=min{3,(1-0)}=1 and update the solution starting from the first arc j=8: y8=1, x3=3-1=2, x7=1, and x10=1. Then update for the second arc j=14: y14=1, x7=1-1=0, x11=1, and x12=1. This procedure terminates since all demands are fulfilled with the total cost z=15+1*6=21. The resulting quantities of subparts are x1=1, x3=2, x9=3, x11=1, and x12=1, and the required disassembly operations are y1=3, y8=1 and y14=1 for three caps and one stick.


## 5. Conclusions

In this paper, we investigate a single period partial disassembly optimization (SPPDO) problem to generate an optimal disassembly sequence in product recovery of the end-of-life (EoL) products. An AND/OR graph representation and associated transition matrix are used in the mathematical formulation of the SPPDO problem to minimize the total disassembly cost. Since the transition matrix does not have the property of total unimodularity, this SPPDO model can only be solved as a pure integer programming (IP) problem, which is NPcomplete.A label correcting algorithm is proposed to find an optimal disassembly sequence when the reusable subpart is retrieved directly from original return. To solve the SPPDO problem in general case, this paper presents a heuristic procedure that utilizes this polynomial-time algorithm to find a solution. This heuristic procedure can quickly provide a good disassembly plan for problems with more complicated disassembly structures in a real-world setting within a reasonable computation effort. It can be further integrated in the production planning for end-of-life (EoL) products to improve the profitability of product recovery.



---

*Source: 569429-2012-06-28.xml*