Professional Documents
Culture Documents
A Genetic Algorithm Approach For Multiobjective Optimization of Reverse Logistics Network Problem
A Genetic Algorithm Approach For Multiobjective Optimization of Reverse Logistics Network Problem
2. Mathematical Formulation
1. Introduction
In this paper, we consider a rLNP problem with a single
Reverse logistics is the opposite concept of general product and two stage-based rLNP. We formulated this rLNP
logistics flow which means marking after producing of goods. problem as a multiobjective 0-1 mixed-integer linear
In other word, it is flow of process that used-products are programming model. The objectives are minimization of the
collected to the reproduce with from which can be sold again transportation cost including opening cost at processing
to customer after doing some processes. center of reverse logistics and minimization of the operating
Product returns seriously complicate all processes in costs of backorders and inventories in manufacturer in all
the supply chain and particular inventory decisions periods. And for the minimization of the operating costs,
(Fleischmann et al., 1997). Return flows are often disposal cost is also considered in view of characteristics of
characterized by a considerable uncertainty regarding timing reverse logistics.
and quantity. If one could know exactly how much is going to
be returned and when, one would certainly benefit from Returning center i
1
incorporating this perfect information in the management of a1
cij xij(t)
production and inventory management (Marisa et al., 2008). Supplier S
Processing
center j
customer L 2
Many authors have studied about multiobjective which cSk a2
considered transportation costs and inventory in the logistics 1 1
b1
fields. e1 3
cjk xjk(t)
dK ckDm a3
Next paper which is introduced is reference which 2 Manufacturer K
considered transportation costs and inventory in supply e2 2 4
xKB(t) zKH(t) b2
chain. Farahani et al. (2008) investigated, a three-echelon a4
・・・
・・・
L i
shipped between two locations in each period of time, during J ai
eL
・・・
places. s.t. ∑x
j =1
ij (t ) ≤ a i , ∀ i, t (4)
A6. All of inventory holding costs of processing centers are I
same. ∑x
i =1
ij ( t ) + y Hj ( t − 1) ≤ b j z j , ∀j, t (5)
A7. In the case of transportation from processing center to
x jK ( t ) + x SK ( t ) ≥ d K , ∀j, t
manufacturer, the unit of transportation is 100. I
(6)
The notations are defined as follows:
Indices
∑x
i =1
ij ( t ) − ( x jK ( t ) + x jD ( t )) = y ( t ), ∀ j , t
H
j
(7)
i: index of returning center (i=1,2,…, I) J
T ⎡ J I J J ⎤ (1)
f 1 = α ∑ ⎢∑ c op j z j + ∑∑ c ij x ij (t ) + ∑ c jK x jK (t ) ⎥
t = 0 ⎣ j =1 i =1 j =1 j =1 ⎦
3.1 Priority-based encoding method iteration v (i+j) a b i j xij
0 [5 1 4 | 3 2] (40, 60, 50) ( 50, 100) 2 2 60
For a transportation problem, a chromosome consists of 1 [5 0 4 | 3 2] (40, 0, 50) ( 50, 40) 1 2 40
priorities of sources and depots to obtain transportation tree
2 [0 0 4 | 3 0] ( 0, 0, 50) ( 50, 0) 3 1 50
and its length is equal to total number of sources m and
depots n, i.e. m+n. The transportation tree corresponding 3 [0 0 0 | 0 0] ( 0, 0, 0) ( 0, 0)
with a given chromosome is generated by sequential arc As it is seen in trace table, at the first step of decoding
appending between sources and depots. At each step, only procedure, between returning center 2 and processing
one arc is added to tree selecting a source (depot) with the center 2 is added to transportation tree since returning
highest priority and connecting it to a depot (source) center 2 has highest priority in the chromosome and the
considering minimum cost. lowest cost is between returning centers 2 and processing
The detailed process of a chromosome consists of three centers 2. After determining the amount of shipment that is
main phase: x22 =min{60, 100}=60, capacity of returning center and
Phase 1: Coding process on 1st stage disassembly center are updated as a2=60-60=0, b2=100-
Step 1.1: Priority-based encoding from returning center 60=40, respectively. Since a2 =0, the priority of returning
to processing center center 2 is set to 0, and processing center 2 with next
Step 1.2: Priority-based decoding from returning center highest priority is selected. After adding between processing
to processing center center 2 and returning center 1, the amount of shipment
Phase 2: Calculating the rejection rate in the 2nd between them is determined and their capacity are updated
stage as it is explained above, and this process repeats until
Phase 3: A heuristic approach in the 2nd stage capacities of all disassembly centers are met.
As an example of priority-based encoding method, we
consider the problem that has 3 return centers and 2 3.2 Adaptive Weight Approach
processing centers.
I=3;J=2; b=(50, 100), a=(40, 60, 50) While we consider multiobjective problem, a key issue is
v (l)=[5 1 4 3 2] to determine the weight of each objective. Gen et al. (2000)
Returning proposed an Adaptive Weight Approach (AWA) that utilizes
Processing centers
centers some useful information from the current population to
1 40
1 2 50 readjust weights for obtaining a search pressure toward a
1
⎡18 12 ⎤ 1 positive ideal point. In this study, we are using the following
[cij ]= 2⎢16 10 ⎥
2 60 objectives:
3⎢
⎣19 15 ⎥⎦ 100 (1) Minimization of the total cost of rNLP (cT)
2 3 50 (2) Minimization of the costs of backorders and
inventories in manufacturer in all periods. (cBH)
Fig. 2 An illustration of chromosome, transportation tree 1 1 1 1
max { z1 = = , z2 = = (14)
The decoding algorithm of 1st stage priority-based encoding, }
f 1(v k ) c T f 2 ( v k ) cBH
decoding and its trace table are given in Fig.3, 4 and Table 1.
procedure 1 : 1st stage encoding
For the solutions at each generation, zqmax and zqmin are the
input: I : number of returning centers, maximal and minimal values for the qth objective as defined
J : number of processing centers by the following equations:
ai: capacity of returning center i, ∀i∈I (15)
bj: capacity of processing center j, ∀j∈J z qmax = max{ f q (vk ), k = 1,2, ... , popSize}, q = 1,2
(16)
cij: shipping cost of one unit product from i to j z q = min{ f q (vk ), k = 1,2, ... , popSize}, q = 1,2
min
xij(t): the amount of shipment from i to j
output: v1(i+j): chromosome, ∀i∈I, ∀j∈J The adaptive weights are calculated as
step 1 : priority p ←(|I |+ |J |), v1(i+j) ←0, ∀i+j ∈|I |+ |J |;
1 (17)
step 2 : (i*, j*) ← argmin{cij| xij(t)≠0 & (ai = xij(t)||, bj = xij(t)}; wq = max , q = 1,2
step 3 : ai* = ai* - xi* j*(t), bj* = bj*- xi* j*(t); z q − z qmin
step 4 : if ai* =0 then v1(i+j) ←p, p ←p-1; The weighted-sum objective function for a given
step 5 : if (ai* = 0, ∀i* ∈I ) & (bj* = 0, ∀j* ∈J ) then goto step 6;
else return step 1;
chromosome is then given by the following equation
2
eval (vk ) = ∑ wq ( f q (vk ) − zqmin ), k = 1,2,...,popSize
step 6 : for l = 1 to p do (18)
v1[i+j] ← l, t=random[1, (|I|+ |J|)]& v1[i+j] = 0; q =1
step 7 : output encoding v1[i+j] , ∀ t ∈ |I|+ |J|
Fig. 3 Encoding procedure for 1st stage of the chromosome 3.3 Genetic Operators
procedure 2 : 1st stage decoding
input: I : number of returning centers
J : number of processing centers Genetic operators mimic the process of heredity of
ai: capacity of returning center i, ∀i∈I , genes to create new offspring at each generation. Using the
bj: capacity of processing center j, ∀j∈J ,
cij: shipping cost of one unit product from i to j
different genetic operators has very large influence on GA
v1(i+j): chromosome, ∀i∈I, ∀j∈J , performance.
output: xij(t): the amount of shipment from i to j 3.3.1 Crossover Operator
bj' : total capacity on j, ∀j∈J ,
step 0: xij(t): ←0, ∀i∈I, ∀j∈J WMX can be viewed as an extension of one-cut point
step 1: l ←argmax{v1(t), t∈I+J}; select a node crossover for permutation representation. As one-point
step 2: if l∈I, then i ← l; select a returning center crossover, two chromosomes (parents) would be chose a
j* ← argmin{cij| v1(j)≠0, j∈J}; select a j with lowest cost
else j ← l: select a processing center random cut-point and generate the offspring by using
i* ← argmin{cij | v1(i)≠0, i∈I}; select a i with lowest cost segment of own parent to the left of the cut-point, then
step 3: xi* j* (t)← min{ai*, bj*}; assign available amount of units
update the availabilities on i (ai* ) and j (bj*)
remapping the right segment that base on the weight of
ai* = ai* - xi* j* (t), and bj* = bj*- xi* j* (t) other parent of right segment. In this study, we proposed a
step 4: if ai* = 0, then v1(i*) ←0 new crossover operator, weight mapping crossover (Gen et
if bj* = 0, then v1(I+j*) ←0
step 5: if v1(I+j) = 0 , ∀j∈J, output xij(t)
al., 2008).
else return step 1 3.3.2 Mutation Operator
st Mutation is a background operator which produces
Fig. 4 Decoding procedure for 1 stage of the chromosome
Table 1: Trace table of 1st stage decoding procedure spontaneous random changes in various chromosomes.
Similar to crossover, mutation is done to prevent the
premature convergence and explores new solution space. solve this problem, firstly we formulated a mathematical
However, unlike crossover, mutation is usually done by model for the rLNP by using priority-based encoding method
modifying gene within a chromosome. We also investigate and adaptive weight approach (AWA) is proposed. We also
the effects of two different mutation operators on the combined a new crossover operator, weight mapping
performance of GA (Gen et al., 2008). We use swap crossover, with swap mutation in priGA.
mutation operation, in which two positions are selected at Finally, for the future research, something comparisons are
random and their contents are swapped. needed with another methods for the evaluation of validity of
proposed method.
4. Numerical Experiment
References
We used using the developed GA with new encoding
method (priGA) which is coded with JAVA programming [1] M. Fleischmann, J. M. Bloemhof-Ruwaard, R. Dekker, van der
language and run on Pentium 4, 3.20GHz clock pulse with Laan, E., van Nunen and J.A.E.E., Van Wassenhove, L. N.,
1GB memory. As it is seen in Table 1, the number of “Quantitative models for reverse logistics: A review”, European
returning centers changes between 5 and 20 on these Journal of Operational Research, vol. 103, no. 1, pp. 1-17, 1997.
problems and number of processing centers change [2] P. de Brito, Marisa and A. van der Laan, Erwin, “Inventory
between 3 and 15. The data in test problems such as
control with product returns: The impact of imperfect
transportation costs, demand of products, capacitates of
information”, European Journal of Operational Research, In
returning centers, processing centers, recycles and
manufacturer were also randomly generated to provide Press, 2008.
realistic scenarios. [3] R. Z., Farahani, and M. Elahipanah, “A genetic algorithm to
We ran the procedure for 10 times for each problem optimize the total cost and service level for just-in-time
considering following parameters: Population size, distribution in a supply chain”, International Journal of
popSize=5; Maximum generations, maxGen=50; Crossover Production Economics, vol. 111, no. 2, pp. 229-243, 2008.
probability, pC=0.3; Mutation probability, pM=0.3. The 3 test [4] M. Gen, and R.Cheng, Genetic Algorithms and Engineering
problems were combined, as shown in Table 2. Table 3 Optimization, John Wiley and Sons, New York, 2000.
gives Pareto solutions and its numbers by priGA for three [5] M. Gen, and R.Cheng and L. Lin, Network Models and
test problems. Optimization: Multiobjective Genetic Algorithm Approach,
Table 2: The size of test problems
Springer, 2008.
Problem Period returning processing No. of No. of
No. centers centers (J) constraints variables [6] F. Altiparmak, M. Gen, L. Lin and T. Paksoy, “A genetic algorithm
(I) approach for multi-objective optimization of supply chain
1 4 5 3 264 120 networks”, Computers & Industrial Engineering, vol. 51, no. 1,
2 4 10 6 852 404
3 4 20 15 2988 1452 pp. 197-216, 2006.
[7] A. Syarilf and M. Gen, “Double Spanning Tree-based Genetic
algorithm For Two Stage Transportation Problem”, International
5. Conclusion Journal of Knowledge-Based Intelligent Engineering System, vol.
7, no. 4, pp. 388-389, 2003.
In this paper, we presented 0-1 mixed-integer linear
programming model for multiobjective optimization of rLNP
and a genetic algorithm approach. Two objectives were
considered: (1) minimization of the total transportation cost
of rNLP, (2) minimization of the operating costs including
backorders and inventories in manufacturer in all periods. To