REVERSE LOGISTICS NETWORK PROBLEM USING SIMULATED ANNEALING WITH AND WITHOUT PRIORITY-ALGORITHM

In recent years, Reverse Logistics (RL) has become a field of importance for all organizations due to growing environmental concerns, legislation, corporate social responsibility and sustainable competitiveness. In Reverse logistics, the used or returned products are collected after their acquisition and inspected for sorting into the different categories. The next step is to disposition them for repair, remanufacturing, recycling, reuse or final disposal. Manufacturers may adopt reverse logistics by choice or by force, but they have to decide whether performing the activities themselves or outsourcing to a third party (Martin et al., 2010). Lourenço et al., (2003) described three main areas of improvement within the RL process. Firstly, companies can reduce the level of returns through the analysis of their causes. Secondly, they can work on the improvement of the return’s process and, thirdly, they can create value from the returns. This paper considers the multistage reverse Logistics Network Problem (mrLNP) proposed by Lee et al., (2008). With minimizing the total of costs to reverse logistics shipping cost. We will demonstrate the mrLNP model will be formulated as a three-stage logistics network model. Since such network design problems belong to the class of NP-hard problems we propose a Simulated Annealing (SA) and simulated annealing with priority (priSA) with special neighborhood search mechanisms to find the near optimal solution consisting of two stages. Computer simulations show the several numerical examples by using, SA, priSA and priGA(Genetic algorithm with priority-based encoding method) and effectiveness of the proposed method.


Introduction
Recently recovery of used products and product recovery are becoming increasingly important for economic, environmental or legislative.A reverse logistics system includes a series of activities, which form a continuous process to treat back-products until they are well recovered or disposed.After customers make their products already used, these products will be sent to the disassembly; in a 2nd stage the products are then completely disassembled.Each component must be examined and inspected to determine its status.Three choices available are possible for subsets that are in a functional state, they will be sent to the manufacturer in order to rebuild them, however subsets that can be reused are transported to a recycling center and finally the pieces are in an unusable state are being discarded.Recently the reverse logistics holds a great attention because of the legislative growing concern for the environment and economic opportunities for the minimization costs or income from returned products.In recent decades, various mathematical models for the design of the RL network have been proposed in the literature (Ilgin and Grupta,2010).(Lewczuk, 2015 ) proposed to using genetic algorithm to support organization of internal transport processes in logistics facilities.Barros et al., (1998) proposed a mixed programming model integer (MILP) multi-level to solve a warehouse location problem using heuristic procedures.The model determined the optimal capacity, and deposit locations.Kirkke et al.,(1999) presented an MILP model based on a multi-level incapacitated warehouse location model.They described a case study, dealing with a reverse logistics network for the returns, processing, and recovery of discarded copiers.The model was used to determine the locations and capacities of the recovery facilities.Karkula (2014) presented an analysis of selected aspects of modelling the internal transport systems using methods of stochastic discrete event simulation.Jayaraman et al., (1999), proposed an MILP model to determine the optimal number and locations of distribution/remanufacturing facilities for electronic equipment.Jayaraman et al.,(2003) developed a mixed integer programming model and solution procedure for a reverse distribution problem focused on the strategic level.The model determines whether each remanufacturing facility is open considering the product return flow.(Min et al.,2005) proposed a Lagrangian relaxation heuristics to design the multi-commodity, multiechelon reverse logistics network.(Kim et al.,2006) proposed a general framework for remanufacturing environment and a mathematical model to maximize the total cost saving.The model determines the quantity of products/parts processed in the remanufacturing facilities/subcontractors and the amount of parts purchased from the external suppliers while maximizing the total remanufacturing cost saving.(Min et al.,2006) proposed a nonlinear mixed integer programming model and a genetic algorithm that can solve the reverse logistics problem involving product returns.Their study proposes a mathematical model and GA which aim to provide a minimumcost solution for the reverse logistics network design problem involving product returns.Ko et al., (2007) presented a mixed integer nonlinear programming model for the design of a dynamic integrated distribution network to account for the integrated aspect of optimizing the forward and return network simultaneously.They also proposed a genetic algorithmbased heuristic for solving this problem.Lee et al., (2008)., Proposed a multi-stage, multi-product, MILP model for minimizing the total of costs to reverse logistics shipping cost and fixed opening cost of facilities.They also proposed a hybrid genetic algorithm for solving this problem.(Żochowska and Soczówka, 2018) analyses the assessment of selected structures of a transportation network based on graph measures.In this article, we took as support the reverse logistics network model multistage proposed by Lee et al., (2008)., our contribution is to change the resolution approach to finding better.We will choose the default approach simulated annealing (SA) based on research method of dynamic neighborhood that consists of two decoding part, we will make the model resolution by simulated annealing algorithm in the first place without the algorithm (SA) priority and secondly with the priority algorithm (priSA) which was proposed with Gen et al. (2006).Then we compare our approach with priority-based genetic algorithm (PRIGA), which is the approach most used logistic models.This paper is organized as follows: in Section 2, the mathematical model (mrLNP) proposed by Lee et al., (2008)..is introduced, in Section 3,an efficient simulated annealing (SA) algorithm is applied to solve the model with and without adapting the encoding method based on the priority and a dynamic neighborhood search strategy that enhances the performance of the applied algorithm are the main contributions of this paper; Section 4, numerical experiments are presented to demonstrate the effectiveness of the proposed approach; Finally, in Section 5, we close our work a little insight on the procedures followed during the entire research and open new perspectives.

Problem definition and mathematical modeling
The reverse logistics network discussed in this paper is a multi-stage logistics network, includes the areas of return, disassembly, processing and manufacturing with limited capabilities.Fig. 1 illustrates the general outline of a multistage reverse logistics network model proposed by Lee et al., (2008)..In the first stage and after that customers return their products which are already used, these products are transported in the disassembly center for disassembled.Three cases are possible for the shipping of disassembled parts, the first case is the 2nd stage of this model, and the parts of which the treatment process is necessary for reuse are transported to the processing center.Second, the disassembled parts that can be reused without any treatment process are transported to a recycling center.Finally, the parts that are not functional are transported in disposal In the 3rd stage, the parts treated are transported to the manufacturer The basic assumptions in this model m-rLNP (multi stage Reverse Logistics Network problem) are: A1: If the quantity of provided parts from processing center is not enough for requirement of manufacturer, then manufacturer must buy parts from supplier.A2: If the quantity of provided parts from processing center exceeds the requirement of manufacturer, then exceeded capacities distribute in order of recycling and disposal.A3: Not considering the inventories.A4: The parts demands of manufacturer are known in advance.A5: Recycle rate and disposal rate are 1% and 0.5% of capacity of part each other on the disassembly process.Only, round off the numbers to one decimal place of result.The indices, parameters and decision variables used in the mathematical formulation are: Parameters: I: number of returning centers J: number of disassembly centers K: number of processing centers M: number of parts ai: capacity of returning center i bj: capacity of disassembly center j ukm: capacity of processing center k for parts m uR: capacity of recycling R dm: demand of parts m in manufacturer F nm: the number of parts m from disassembling one unit of product rR: Recycling rate rD: Disposal rate cij: unit cost of transportation from returning center i to disassembly center j cjkm: unit cost of transportation from disassembly center j to processing center k ciRm: unit cost of transportation from disassembly center j to recycling R ciDm: unit cost of transportation from disassembly center j to disposal D ckFm: unit cost of transportation from processing center k to manufacturer F ckRm: unit cost of transportation from processing center k to recycling R ckDm: unit cost of transportation from processing center k to disposal D cSFm: unit cost of transportation from supplier S to manufacturer F Decision Variables: xij: amount shipped from returning center i to disassembly center j xjkm: amount shipped from disassembly center j to processing center k xjRm: amount shipped from disassembly center j to recycling R xjDm: amount shipped from disassembly center j to disposal D xkFm: amount shipped from processing center k to manufacturer F xkRm: amount shipped from processing center k to recycling R xkDm: amount shipped from processing center k to disposal D ySFm: amount shipped from supplier S to manufacturer F The mathematical model of the problem is: Xij, Xjkm Xjdm Xjrm Xkfm Xkrm Xkdm Ysfm≥0 ∀m, j,k,i (6) Fig. 2 The mathematical model (Lee et al., 2008).
The objective function (1) minimizes the cost of transportation between the centers (from the shipment of the products used to manufacture the disassembly and reassembly in reusable together).Constraint (2) ensures that the quantity of products considerate back center dismantling facility does not exceed the total capacity of center back.Constraint (3) ensures that the amount subsets ships dismantling center to the processing center or recycling or disposal, does not exceed the total capacity of dismantling center.Constraint (4) ensures that the amount subsets manufacturer sent to the processing center or recycling or disposal, does not exceed the total capacity of manufacturer center.Equation (5) provides that the manufacturer of demand must be met by the processing center and by the supplier, and finally the stress (6) applies the non-negativity restriction on the decision variables used in this model.We know that the design problem of reverse logistics network is a problem NP-hard combinatorial optimization.Given the complexity of this problem, the resolution of this model by exact algorithms is very time consuming.Therefore, many heuristics and meta-heuristics have been developed to get near optimal solutions for these kinds of problems.Here, the simulated annealing algorithm with and without priority is applied, we will then develop a comparative literature emanated.

Proposed The simulated annealing algorithm
The algorithm of Simulated Annealing (SA) was proposed (Kirkpatrick et al.,1983)Its principle is based on the process of annealing of metals used by metallurgists .themetheuristic simulated annealing is inspired by the Metropolis algorithm (Metropolis et al.,1953) the principle (for a minimization problem) can be summarized as follows: The search starts from an initial feasible solution.Each solution has a specific value of the costs.A small change in one or a combination of some variables can generate a similar solution with a different value of cost.In simulated annealing, the next solution is randomly generated.If the value of the cost of the candidate solution is lower than the current solution, the transition to the candidate solution is made.However, if the candidate does not improve the current solution, there is still a transition opportunity as a probability function based on the "Boltzmann".The simulated annealing algorithm we have chosen to make the resolution consists of two component decoding; we will make the resolution in the first step without the priority algorithm and in 2nd step with priority algorithm.

Definition of the neighborhood searches
In the simulated annealing algorithm, three neighborhood searching methods are used in each selected segment; the value in some cells will be exchanged with each other: − 2-opt mutation In the 2-opt perturbation scheme, two cells in the vector are exchanged with each other(Fig.3).− Inverse mutation in inverse mutation, a length of the vector is selected and the values in the segment are reversed (Fig. 4).− mutation by insertion : we will choose two random positions and we will shift all the cells between these two positions, then we need to insert the position of the first cell to the last position(Fig.5) − The logic of the use of different types of search neighborhood in the simulated annealing algorithm, described above, is illustrated in Fig Step 5: Return the best solution Fig. 6.The pseudo code of the SA algorithm Algorithm 2 Neighborhood search algorithm X1 =Mutation-2opt (X0) X*=Simulated annealing (X 1) X2 =Mutation by insertion (X1) X*=Simulated annealing (X 2) X3 =Mutation inverse (X2) X*=Simulated annealing (X 3) Fig. 7.The pseudo code of the Neighborhood search algorithm

Decoding of solutions using priority based method
In this section, first we introduce the priority-based simulated annealing algorithm (priSA) for solving 1st stage and 2 nd stage sub-problems of mrLNP.Gen et al., (2006) presented a priority-based encoding algorithm as an alternative that does not need any excessive repair mechanism.In this method, solutions are encoded as arrays of size |K|+|J|, and the position of each cell represents the sources and depots and the value in cells represent the priorities (Fig. 12).To decode a solution, after priority assignment, the algorithm starts from highest priority.In each iteration, the node (depot or source) with the highest priority is selected and then connected to a depot or source with the minimum transportation cost.After that, the minimum of demand and capacity of the selected depot and source is determined as the amount of shipment between the selected nodes.This process is repeated until all demands of depots are satisfied.For more information about the decoding algorithm proposed by Gen et al., (2006), we refer the readers to Fig. 13.For mrLNP, we use two priority-based encodings to represent the transportation trees on stages.This means that each segment consists of two parts.While the first part (i.e., the first priority-based encoding) represents transportation tree between return centers and disassembly centers, the second part (i.e., the second priority-based encoding) represents transportation tree between disassembly centers and processing centers The 1 ST stage is transportation sub problem between 5 return centers and 2 disassembly centers (Fig. 12).The decoding procedure of 1 ST stage priority-based decoding and its trace table are given in Fig. 13 and Table 3.   [2 0 0 0 00 3] (10, 0, 0, 0, 0) (0, 10) 1 2 10 [0 0 0 0 00 0] (0, 0, 0, 0, 0) (0, 0) As it is seen in trace table, at the first step of decoding procedure, between returning center 1 and disassembly center 4 is added to transportation tree since returning center 1 has highest priority in the chromosome and the lowest cost is between returning centers 2 and disassembly centers 2. After determining the amount of shipment that is x22 = min {60, 150} = 60, capacity of returning center and disassembly center are updated as a2 = 60 -60 = 0, b2 = 150 -60 = 90, respectively.Since a2 = 0, the priority of disassembly center 2 is set to 0, and disassembly center 4 with next highest priority is selected.After adding between disassembly center 4 and returning center 1, the amount of shipment between them is determined and their capacity are updated as it is explained above, and this process repeats until capacities of all disassembly centers are met.The 2nd stage decoding method is the same with in procedure 1.1 of 1st stage encoding.The 2nd stage is transportation sub problem between 3 disassembly centers and 3 processing center .In the 2nd stage, first, we calculate recycle rate and disposal rate.
Then subtract calculated result from capacity of part.Lastly, we consider processable processing center according to type of part.The decoding procedure of 2nd stage priority-based decoding and its trace table are given in Fig. 15 and Table 4 Procedure1 As continuity of this study we plan to expand soon by the following perspectives in order of chronology: − The implementation of a heuristic for hybridization of the simulation and optimization.− In the future, it is possible to study the performance of m-rLNP on large-scale problems also including real data.− In this work, we consider a single product network with deterministic returned products; however, in many real cases, we have a multi-network product with the uncertainty in the statements.Therefore, given these assumptions may be a subject for future research.

Fig. 5 . 7 : 1 1 : 9 , 2 : 3 :
Inverse mutation scheme.According to the above explanations, the SA algorithm and the other parameters of the SA algorithm are shown in Fig 6, Algorithm Simulated annealing Step Initial temperature=100, Frozen state=0.001, Cooling rate=0.Step Generate random solutions of size (p) Step Decode random solutions using multi-stage decoding algorithm f (X*) = min (f (Xp)), X*=X ; Select the best solution as the initial solution Step 4: Temperature=Initial temperature While Temperature>Frozen state do From i=1 to P Ti=Temperature Create a new solution using k neighborhood search algorithm (Xnew) Decode Xnew using multi-stage decoding algorithm iff

Fig. 8 .
Fig. 8.An illustration of the basic solution of the transport shaft and transport costs for 1st stage on mrLNP

Procedure 2 . 2 :Step 1 :
2nd stage decoding Input: J: number of Disassembly centers, K: number of processing centers, rR: Recycling rate, rD: Disposal rate, nm: the number of parts m from disassembling one unit of product bj: capacity of Disassembly center j, ∀j ∈J ukm: capacity of Processing center k, ∀k ∈K uR: capacity of Recycling cjkm: unit cost of transportation from j to k cjRm: unt cost of transportation from j to Recycling R cjDm: unit cost of transportation from j to Disposal D v2 ( k): encoded solution , ∀j ∈J, Output: xjkm: the amount of shipment from j to k Step 0: Calculate recycle rate and disposal rate.xjkm←0, ∀j∈J, ∀k ∈K Step 2: select a node (Disassembly and processing center) Step 3: Xj*k*m ←min {bj*m, uk*m}; assign available amount of units update the availabilities on j(bj*m) and k(uk*l) bj*m = bj*m -Xj*k*m and Uk*m = Uk*m -Xj*k*m; update the availability Step 4: if bj*m = 0, then v2(j*) = 0 If uk*m = 0, then v2(J + k*) = 0 Step 5: if v2(J + k) = 0, ∀k ∈K, output xjkm, Else return step 2 Fig.11.Decoding procedure for 2 nd stage

Fig. 12 .
Fig. 12.An illustration of the basic solution of the transport shaft and transport costs for 1st stage on mrLNP

. 2 : 15 Fig. 14 . 2 . 2 :Step 1 :
Fig. 14.An illustration of the basic solution of the transport shaft and transport costs for 2 nd stage on mrLNP Procedure 2.2: 2nd stage decoding Input: J: number of Disassembly centers, K: number of processing centers R: Recycling, D: Disposal, rR: Recycling rate, rD: Disposal rate, nm: the number of parts m from disassembling one unit of product bj: capacity of Disassembly center j, ∀ j ∈ J ukm: capacity of Processing center k, ∀ k ∈ K uR: capacity of Recycling cjkm: unit cost of transportation from j to k cjRm: unit cost of transportation from j to Recycling R cjDm: unit cost of transportation from j to Disposal D v2 (j + k): encoded solution, ∀ j ∈ J, ∀ k ∈ K Output: xjkm: the amount of shipment from j to k Step 0: Calculate recycle rate and disposal rate.bjm= ( ) 1

Table 1 .
Trace table of 1st stage decoding procedure

Table 3 .
Trace table of 1st stage decoding procedure