Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

A Genetic Algorithm Approach for Multiobjective Optimization

of Reverse Logistics Network Problem


리버스 로지스틱 네트워크 문제의 다목적 최적화를 위한 유전자 알고리즘 접근

JeongEun Lee1 , Mitsuo Gen1 and KyongGu Rhee2


1
Waseda University
2
DongEui Universiry
E-mail leeje@toki.waseda.jp, gen@waseda.jp, rhee@deu.ac.kr

Abstract function which is in conflict with the cost minimization


Reverse logistics is the process flow of used-products (Farahani et al., 2008).
that are collected to be reproduced so that they can be sold Previous paper considered transportation costs and
again to customers after some processing. just-in-time (JIT) delivery in forward logistics field, but in this
Within this perspective, we formulated a mathematical paper will be consider transportation costs (i.e. from
model of the reuse system as a reverse Logistics Network returning center to processing center and from processing
Problem (rLNP) with two objectives functions: minimizing center to manufacturer), opening cost, disposal cost,
total cost of rLNP, (i.e. transportation cost, disposal cost, inventory holding cost and just-in-time (JIT) delivery in
purchase cost and inventory holding cost) minimizes the reverse logistics field which involves a complex reverse
costs of backorders and inventories in manufacturer in all logistics network problem (rLNP). This rLNP is combined
periods. with three reverse processes, i.e., retuning, disposal and
In this paper, we proposed a genetic algorithm (GA) processing. To solve this problem, we will be using the
approach using priority-based encoding to solve the rLNP. priority-based encoding method, and proposing a new
The approach also combines the adaptive weight approach crossover operator called Weight Mapping Crossover
(AWA) that utilizes some useful information from the current (WMX), swap mutation operator is adopted.
population to readjust weights for obtaining a search This paper is organized as follows: in Section 2, the
pressure towards a positive ideal point. mathematical model of the multiobjective reverse logistics
Finally, the effectiveness of proposed approach was network is introduced; in Section 3, the priority-based
evaluated through numerical experiments. encoding method and adaptive weight approach (AWA) are
explained in order to solve this problem; in Section 4,
Keywords: reverse Logistics Network Problem (rLNP); numerical experiments are presented to demonstrate the
Multiobjective Genetic Algorithm; adaptive weight approach efficiency of the proposed method; finally, in Section 5,
(AWA); Inventory; Backorder Control concluding remarks are outlined.

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
・・・

・・・

distribution network including multiple suppliers, wholesalers l 5


j
and retailers. In this study, a mathematical model is formed ei bj a5
・・・
・・・

to determine the amount of each product, which should be


・・・

L i
shipped between two locations in each period of time, during J ai
eL
・・・

a planning horizon. Besides, the objective function is to Disposal D


bJ
cjH yjH(t)
minimize the total costs of the supply chain including cjD xjD(t) I
purchasing, holding and transportation costs. Another aI
2nd stage 1st stage
objective function is considered, namely “JIT distribution”. Fig. 1 Network model of rNLP
The concept of just-in-time (JIT) delivery is generally
incorporated into models by means of earliness and
tardiness costs. But here, it is defined as a new objective There are the assumptions we considered in this study.
Assumptions:
A1. Only one product is treated in logistics network model. The second objective function, f2 is just-in-time delivery,
A2. The inventory factor is existed over finite planning and minimizes the operating costs of backorders and
horizons. inventories in manufacturer in all periods and disassembling
A3. The requirement by manufacturer and the quantity of cost in all periods.
collected products is known in advanced. T ⎧ J J ⎫
f 2 = β ∑ ⎨c SK x KB (t ) + c KH z KH (t ) + ∑ c jD x jD (t ) + ∑ c Hj y j (t )⎬ (2)
H
A4. The maximum capacities about two echelons are
t =0 ⎩ j =1 j =1 ⎭
known: returning centers and processing centers.
A5. The rejection rate is 0.1% in processing center. min { f1 , f 2 } (3)
Provided, round off the numbers to one decimal J

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

j: index of processing center (j=1,2,…, J) ∑z


j =1
j ≤J
(8)
t: index of time period (t=1,2,…, T) z (t ) ≤ u K w K , ∀ t
H (9)
K
Parameters (10)
x ( t ) ≤ u K (1 − w K ), ∀ t
B
I: number of returning centers K
(11)
x ij ( t ), x jK ( t ), x jD ( t ), x SK ( t ) ≥ 0, ∀ i, j , t
J: number of processing centers (12)
K: manufacturer w K ∈ {0 ,1} (13)
S: supplier z j ∈ {0 ,1}, ∀ j
D: disposal Equations (1) and (2) give the objectives. Constraints (4) and
T: planning horizons (5) represent the capacity of returning center and processing
ai: capacity of returning center i center respectively. Constraint (6) represents the
bj: capacity of processing center j requirement of manufacturer. Constraint (7) represents the
dK: requirement in manufacturer K inventory amount of processing center. Constraint (8) limits
uK: maximum amount of permitted backorder the number of processing centers that can be opened.
manufacturer K in period t Constraints (9) and (10) try to satisfy amounts of both
cij : unit cost of transportation from returning center i to inventory and backorder to be non-positive simultaneously.
processing center j Constraint (11) imposes the non-negativity restriction.
cjK: unit cost of transportation from processing center j to
manufacturer K
cjD: unit cost of transportation from processing center j to 3. Designing Algorithm
disposal D
cSK: unit cost of transportation from supplier S to In this section, we adopted priority-based GA (priGA)
manufacturer K approach using priority-based encoding method. In this
cjop: the fixed opening cost for processing center k approach, a combination of the weight mapping crossover
H
cj : unit holding cost of inventory per period at processing and swap mutation and were used as genetic operations and
center j the adaptive weight approach (AWA) was used to determine
H
cK : unit holding cost of inventory per period at fitness value.
manufacturer K The overall procedure of adopted priGA is given as follows:
Decision Variables procedure: moGA for rNLP
xij(t): amount shipped from returning center i to processing input: rLNP data set, GA parameters (popSize, maxGen, pM, pC)
center j in period t output: Pareto optimal solutions E
xjK(t): amount shipped from processing center j to begin
t ←0;
manufacturer K in period t
initialize P1(t) by priGA encoding routine;
xjD(t): amount shipped from processing center j to disposal calculate objectives fi(P), i=1, 2 by priGA decoding routine;
D in period t create Pareto E(P);
xKB(t): amount backorders of manufacturer K in period t evaluate eval(P) by adaptive weight GA fitness assignment
H
yj (t): inventory amount delivered to processing center j in routine;
period t while (not terminating condition) do
zKH(t): inventory amount delivered to manufacturer K in create C(t) from P(t) by weight mapping crossover
period t routine;
create C(t) from P(t) by swap mutation routine;
1, if inventory of manufacturer K is occurred in period t
wK ={ calculate objectives fi(C), i=1, 2 by priGA decoding
0, otherwise (if backorder of manufacturer K is routine;
occurred in period t) update Pareto E(P,C);
1, if processing center k is open,
z j ={ evaluate eval(P,C) by adaptive weight fitness
0, otherwise assignment routine;
The mathematical model of the problem is: select P(t +1) from P(t) and C(t) by roulette wheel
The first objective function, f1 explains the total selection routine;
transportation cost of rLNP. It includes the costs of t ←t +1;
end
transportation (i.e. from returning center to processing center
output Pareto optimal solutions E(P,C)
and from processing center to manufacturer) and opening end
cost at processing center.

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

Table 3: The result of computational experiment

Problem Time No. of


No. Pareto solutions (f1, f2)
period Pareto solutions
1 3 (205820, 305200), (195810, 323200), (222370, 13600)

2 4 (206740, 507000), (22290, 170000), (237320, 504200), (196410, 522200)


1
3 2 (255220, 527700), (287730, 76000)

4 4 (200540, 505000), (181410, 520200), (205120, 502200), (206830, 178000)

1 5 (358865, 2303000), (293225, 10245100), (298665, 10238700),


(329970,10237400), (273685, 10270300)
2 9 (370445, 1348900), (347970, 9813460), (300560, 9844260), (349860, 9812320)
(274685, 9942220), (302355, 9830200), (328535, 9813560), (277735, 9845320),
2 (315045, 9813820)
3 7 (457305, 9397540), (432405, 9398020), (429045, 9429040), (416455, 9430540)
(512245, 96000), (387595, 9431340), (394645, 9431220)
4 7 (309975, 1484800), (401594, 453999), (299995, 1491100), (340275, 1460400),
(369785, 1458100), (367715, 1459100), (350555, 1459200)
1 8 (1080772, 128900), (1111530, 126700), (1075172, 131600), (1064497, 253099),
(1071462, 136500), (1104212, 127900), (1079587, 130800), (1055082, 258100)
2 5 (673190, 324500), (726390, 324410), (639887, 325620), (622597, 332390),
(884217, 78440)
3 3 12 (749159, 325520), (842342, 322324), (854816, 322224), (770658, 324052),
(855893, 321952), (1036109, 131016), (755359, 324724), (815575, 322352),
(774669, 322880), (789035, 322380), (744710, 412436), (741921, 416180)
4 6 (738634, 304836), (668577, 309852), (688905, 308596), (701357, 305020),
(939266, 113314), (692280, 305828)

You might also like