You are on page 1of 34

Accepted Manuscript

A genetic algorithm for supply chain configuration with new product develop-
ment

Zahra Alizadeh Afrouzy, Seyed Hadi Nasseri, Iraj Mahdavi

PII: S0360-8352(16)30340-0
DOI: http://dx.doi.org/10.1016/j.cie.2016.09.008
Reference: CAIE 4464

To appear in: Computers & Industrial Engineering

Received Date: 19 September 2015


Revised Date: 25 May 2016
Accepted Date: 6 September 2016

Please cite this article as: Afrouzy, Z.A., Nasseri, S.H., Mahdavi, I., A genetic algorithm for supply chain
configuration with new product development, Computers & Industrial Engineering (2016), doi: http://dx.doi.org/
10.1016/j.cie.2016.09.008

This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers
we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and
review of the resulting proof before it is published in its final form. Please note that during the production process
errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.
A genetic algorithm for supply chain configuration with new
product development

Zahra Alizadeh Afrouzy,


a
Department of Mathematics, Faculty of Mathematical Sciences, University of
Mazandaran, Babolsar, Iran, z.afrouzy@stu.umz.ac.ir

Seyed Hadi Nasseri*,


a
Department of Mathematics, Faculty of Mathematical Sciences, University of
Mazandaran, Babolsar, Iran, nasseri@umz.ac.ir

Iraj Mahdavi
Department of Industrial Engineering, Mazandaran University of Science and
Technology, Babol, Iran, irajarash@rediffmail.com

A genetic algorithm for supply chain configuration with new


product development

Abstract

New product development has become increasingly important recently due to highly
competitive market place and economic reasons. Development and production of new
products in the planning horizon require an efficient and responsiveness supply chain
network. As new products appear in the market, the old products could become obsolete,
and then phased out. A generously persuasive parameter for new product and developed
product problems in a supply chain is the time which the developed products are
introduced and the old products are phased out and also the time new products are
introduced in the planning horizon in order to maximum the total profit.
With consideration of the factors noted above, this study proposes to design a multi
echelon multi product multi period supply chain model which incorporates product
development and new product production and their effects on supply chain configuration.
In terms of the solution technique, to overcome NP-hardness of the proposed model,
priority based genetic algorithm is applied to find the suitable time for introducing
developed and new product in the planning horizon, production schedule and design of
supply chain network in order to maximum the total profit in a reasonable computational
time. The accuracy of the proposed genetic algorithm is validated on small, medium and
large instances that have been solved using the software LINGO, in order to evaluate the

*
Corresponding author

1
performance of the algorithm. Then, the implementation of the fuzzy crossover and
mutation controllers is described. It is able to regulate the rates of crossover and mutation
operators during the search process. Finally, a comparison is done on conventional GA
and the controlled GA.
Keywords: Supply chain; New product development; Priority based genetic algorithm;
Fuzzy logic controller.

1- Introduction and literature review


In a Supply Chain (SC), the product flow starts with suppliers and manufactures, and then
final products are delivered by distributors to the customer groups to meet their demands.
As customer tastes are rapidly changing, to survive in a highly competitive industry,
strategies to collaborate with or compete with suitable firms within a network should be
considered in the New Product Development (NPD) process. To overcome these
challenges, integration of the NPD process and the SC can offer a sustainable competitive
advantage to achieve success according to the current competitive environment in the
market place. While both of the NPD process and SC problems separately have received
a considerable attention in the literature, there is little (or no) effort in the literature for
covering SC and NPD in which there are several products produced. Since most SC
networks have multiple echelons, periods and products, the SC network problem is an
NP-complete problem (Ibaraki and Katoh, 1988). These cause the search space and time
required to obtain a solution to increase markedly.
The main focus of this research is on the integration of NPD and SC and its network
design problem and then the priority based Genetic Algorithm (GA) is proposed to solve
large size problem. In the following subsections related literature is discussed.

1.1- Integration of NPD and SC


Manufacturers are trying to introduce new products to the market quickly. Having an
efficient and effective SC network prepares a marketing area for enterprises in the global
market environment. A SC network is typically composed of suppliers, manufacturers,
distributors and customer groups.
The NPD process starts with having ideas about new products. Multiple sources,
including customers, top management, employees, competitors and new technologies can
be used for generating new ideas. As noted by Van Kleef et al. (2005) a range of methods
is available that can aid the product developer in generating new product ideas based on
input from marketing research. There are many researches that focus on the critical
factors of successful NPD process, for instance integration is recognized as one of the
critical enablers and researchers concentrated on each aspect of SC integration (Hong et
al., 2004, Flynn et al., 2010 and Koufteros et al., 2007). As another study, He et al.
(2014) stated the combination of two important integrations as supplier and customer
integrations together and examined their impacts on new product performance.
In addition to critical factors, SCs through which new products are manufactured need
flexibility and responsiveness elements. Each element of a SC echelons may have options
which is able to satisfy a required function as the procurement, transportation and
producing a product. These decisions after a new product design is complete get more
importance because it increases the costs (Simchi-Levi et al., 2000).

2
As new products appear in the market, the old products could become obsolete, and then
phased out. A generously persuasive parameter for NPD problems in a SC is the strategy
of introduction a new product and phasing out the old products which are developed in
the planning horizon. Before launching a new product, a manufacturer must decide the
timing of the product launch and the production/sales plan over the planning horizon.
According to Billington et al. (1998) there is two rollover strategies namely single
product roll and dual product roll to introduce new products to the market. In the first
strategy, single product roll, the time phasing out the old product and the time introducing
the new product are the same which means that as the new product is introduced the old
product is phased out. As such, in dual rollover strategy as the new product is introduced
the firm continues producing the old product, in other words, the coexistence of both
products is allowed during a certain period of time. In the proposed model the single
product rollover is assumed.
Although many studies have investigated the SC configuration and the NPD problems
separately, a few researchers have dealt with SC together with NPD. Naraharisetti and
Karimi (2010) proposed the SC redesign and new process introduction in multi-purpose
plants. They added some production and inventory facilities, distribution and customer
centers to their chain. An integrated optimization model for configuring the SC of new
product is developed by Amini and Li (2011). Their work was a first attempt to model the
interaction between new product diffusion and SC configuration. The aim of their
research is configuration of SC subject to demand dynamics and other SC parameters
such as lead-time and inventory. Also, Li and Amini (2012) developed an integrated
optimization model which allowed multiple-sourcing and safety stock placement
decisions in coordinate with the demand dynamics during the new product diffusion
process throughout its life cycle. As another study, Nepal et al. (2011) has extended a
multi-objective optimization model for SC configuration during product development.
Their presented model consists of two objectives: maximization of the total compatibility
index in strategic alliance and minimization of the total SC costs. Their model improves
SC efficiency and stability by jointly considering sourcing, inventory costs and
compatibility decisions during the configuration of the SC. They solved their model by
using GA. Jafarian and Bashiri (2014) provided a five echelon dynamic SC model. Their
proposed model considers the time of new product lunching in the SC, which is
optimized with SC configuration simultaneously. In addition, production, sales,
transportation planning and their lead times are considered in the model. In their
proposed model each firm individually decide to introduce new products and their model
considers developing a single product.
To improve NPD activities in a SC, this paper presents an integer linear programming
model that considers a multi echelon multi product multi period SC together with NPD. It
generalizes the previous studies in the following aspects:
• The previous studies have assumed single product models. They considered the
SC for producing only one product and the product is developed during the
planning horizon. This study proposes a multi product model.
• The proposed model includes three groups of products. Products which are being
produced by the company, products that are developed during the planning
horizon and products which is decided to newly be produced during the planning
horizon.

3
1.2- Genetic algorithm
Many SC optimization models are NP-hard and researchers employ heuristics or meta-
heuristic methods to find the optimal solution for them. As effective approaches for
solving different problems from manufacturing systems, SC systems, transportation
systems and logistics systems, heuristics or meta-heuristic methods have drawn more
attention from researchers in recent years (Sel and Bilgen, 2014, Kumar and Chatterjee,
2013, Mahdavi et al., 2009, Ribas and Companys, 2015, Bandyopadhyay and
Bhattachary, 2013, Ahmadizar et al., 2015, Fahimnia et al., 2012, Bootaki et al., 2014,
Paydar et al., 2010).
He et al. (2015) formulated a mixed integer programming model for the multi echelon
container SC network where the objective is subject to the minimization of the total SC
service cost. They proposed a novel simulation-based heuristic method for solving it. As
another study, Jamshidi et al. (2015) proposed a mixed integer non-linear model for a
five-tier SC with controllable lead time and multiple transportation options and
developed a novel meta-heuristic method that combines the Taguchi’s feature with
Artificial Immune System to solve their proposed model. They examined the
performance of the proposed solution method against a set of numeric instances.
Soleimani and Kannan (2015) developed a deterministic multi echelon, multi product,
multi period model for a closed-loop SC network and presented a new PSO-GA hybrid
algorithm to solve various kinds of problems. Then a complete computational analysis
was under taken to validate their proposed algorithm.
GAs, which are search techniques that mimic the process of natural selection and natural
genetics, have been routinely used to generate useful solutions for optimization and
search problems. It belongs to the class of meta-heuristic optimization techniques.
GA can be implemented in several different ways to solve different problems. One of the
important issues that affect the performance of GAs is representation. Different genetic
representations are introduced for different problems.
Syarif, Yun and Gen (2002) have developed a spanning tree-based GA approach for the
multi source, single product and multi stage SC network design based on Prüfer numbers.
A priority-based GA was developed by Gen et al. (2006), in which new decoding and
encoding procedures were used to adapt to the characteristic of a two-stage transportation
problem. The aim of their proposed model was minimizing the total logistic cost
including the opening costs of distribution centers and shipping cost from plants to
distribution centers and from distribution centers to customers. Lin et al. (2009)
formulated an integrated multi stage logistics network model with considering the direct
shipment and direct delivery of logistics and inventory. To solve the problem, they
proposed an effective hybrid evolutionary algorithm which combined an extended
priority-based encoding method with the local search technique. Altiparmak et al. (2009)
proposed a mathematical model for a three-stage SC network with a single source and
multiple products. They presented a solution approach based on steady-state GAs for
their model. Demirel et al. (2014) considered a mixed integer programming model for a
closed-loop supply chain (CLSC) network with multi periods and multi-parts. Then, they
developed a GA approach and applied it to solve real size crisp and fuzzy CLSC
problems. Roghanian and Pazhoheshfar (2014) proposed a probabilistic mixed integer
linear programming model for the design of a reverse logistic network with multi

4
products and multi stages. Then, they proposed priority based GA to find reverse logistics
network. For implementation of this study, priority based GA method is adopted.
An evolutionary algorithm contains various parameters. The action of setting the values
of various parameters of an evolutionary algorithm is crucial for good performance and is
necessary to produce an executable version. However, the correct setting of these
parameters is not an easy task. For instance, the parameters of GA technique such as
crossover and mutation rate have significant impact on its performance. Two main forms
are considered for identifying the correct setting values; parameter tuning and parameter
control (Yun and Gen (2003)). In parameter tuning approach, various efforts such as trial
and error is done before the run of GA to find good values for the parameters and then the
run starts and the parameters remain fixed during the run. However, different values of
parameters might be optimal at different stages of the running process (Schwefel, 1981,
Eiben et al., 1999, Yun and Gen, 2003). Parameter control is another form for identifying
the correct setting values. It starts with initial parameter values and they are changed
during the run. By controlling the parameters of GAs, they can be adaptively regulated
according to the problems under consideration which improve their overall performance
(Hong et al., 2002, Yun and Gen, 2003). Here, the Fuzzy Logic Controller (FLC) is used
to regulate the GA operators.
Hence, the aim of this study is to design an integrated multi echelon multi period and
multi product optimization model for maximizing the total profit and priority based GA
method is applied to obtain a solution in a reasonable time. In addition, FLC is used to
regulate the rates of crossover and mutation operators during the search process.
After the introduction, the remainder of the paper is structured as follows: Section 2
presents the proposed optimization model and the mathematical model formulation. A
numerical example is illustrated in section 3. To solve the model, the proposed GA
solution approach is presented in Section 4. The implementation of the FLC is described
and test problems to investigate the performance of the developed GA algorithm are
presented in Section 5. Finally, section 6 draws conclusions.

2- Problem description
In this section, a four echelon SC model which consists of suppliers, manufacturers,
distributors and customer groups is considered while the company is able to design and
introduce new products according to customers' tastes and preferences in the planning
horizon. As a company produces several products, flexibility is needed to respond to
marketplace changes to gain or maintain competitive advantage and for that the company
must have the ability to introduce and produce new products. This can be expressed in the
two following options: 1) developing an old product, 2) producing new products. The
rollover which is considered in the proposed model is single-product roll as the rollover
strategy which means first the old product is phased out then the new product is
introduced, thereby only one of the old or new products is produced in a moment. The
proposed model stops producing the old product after it gets developed and the developed
one is ready to be produced.
The indices, sets and parameters, designed to model the SC network have been defined in
the following. Then, we continue with a brief description about the objective function and
constraints of the model.

5
Insert Figure 1

2.1- Mathematical model


2.1.1- Indexing sets

t Index of period, T Number of periods


s Index of supplier, S Number of suppliers
f Index of manufacturer, F Number of manufacturers
d Index of distributor, D Number of distributor centers
g Index of customer group, G Number of customer groups
r Index of raw material, R Number of raw materials
i Index of products I Number of products

It is noted that the products contain three groups, first group indicates the products that
are being produced by the company, the second group relates to the products which are
the developed form of the old products and is decided to be produced and the third group
contain the new products that the company decides to produce during the planning
horizon. The indices are as the following:

⎧o (old ) o = 1, ...,O

i = ⎨ j (old → new ) j = O + 1, ..., J
⎪n (new ) n = J + 1, ..., I

2.1.2- Parameters
New product development
Poj 1, if product o can be developed to product j, 0, otherwise

Demand
Dgit Demand of customer group g for product i in period t

Prices
PRsrt Per unit price of raw material r in the supplier s in period t
PDi Per unit price of product i

Bill of material
Bir Number of the raw material r needed to produce product i

NPD duration
dli New product designing duration of product i

Capacities
CM ft Capacity of manufacturer f in period t
CDd Capacity of distributor d
CSsrt Capacity of supplier s for providing raw material r in period t

6
Production cost
CPfi Cost of producing product i in manufacturer f
fCPfi Fixed cost of producing product i in manufacturer f
TPfi Hour needed to produce per unit of product i in manufacturer f
CLS git Lost sale cost per unit of product i at customer group g in period t
Inventory cost
CIR fr Per unit Cost of inventory for raw material r in manufacturer f
CIM fi Per unit cost of inventory for product i in manufacturer f
CID di Per unit cost of inventory for product i in distributor center d

Initial inventory
IIR fr Initial inventory of manufacturer f for raw material r
IIM fi Initial inventory of manufacturer f for product i
IID di Initial inventory of distributor d for product i

Transportation cost
TCS sf Transportation cost between supplier s and manufacturer f
TCM fd Transportation cost between manufacturer f and distributor center d
TCD dg Transportation cost between distributor center d and customer group g

NPD cost
CDNi Cost of designing new product i
M Sufficiently large number

2.1.3- Decision variables


Inventory
IR frt Inventory of raw material r for manufacturer f at the end of period t
IM fit Inventory of product i for manufacturer f at the end of period t
IDdit Inventory of product i for distributor center d at the end of period t

Flow
SRM sfrt Amount of raw material r transferred from supplier s to manufacturer f in period t
SMD fdit Amount of product i transferred from manufacturer f to distributor d in period t
SDGdgit Amount of product i transferred from distributor d to customer group g in period t

Production
Q fit Production quantity of product i for manufacturer f in period t
LS git The amount of lost sale for product i at customer group g in period t

7
Product availability
ETit Binary variable which represents the new product entering time to distributor centers,

Designing decisions
DPit 1, if company decide to design product i in period t, 0, otherwise

Based on the above definitions, the mathematical model of the problem is derived in the
next subsections.

2.1.4- Objective functions


The aim of this article is to determine the total profit of the SC according to NPD.

Maximize Z =
∑∑∑∑ PDi SDGdgit − ∑∑∑∑ PRsrt SRM sfrt − ∑∑∑ (CPfiQ fit + fCPfi DPit )
d g i t s f r t f i t

−∑∑∑ CIDdi IDdit − ∑∑∑ CIR fr IR frt − ∑∑∑ CIM fi IM fit (1)
d i t f r t f i t

−∑∑∑∑ SRM sfrtTCS sr − ∑∑∑∑ SDGdgitTCDdg − ∑∑∑∑ SMD fditTCM fd


t s f r t d g i t f d i

−∑∑ CDN i DPit − ∑∑∑ CLS git LS git


t i g i t

The objective is maximization of the profit at the end of planning horizon.


The first term computes the total revenue of sales. The second term of the objective
function represents the purchased quantity for each raw material cost and the next term is
the production cost of each product. The fourth, fifth and sixth term calculates the
inventory holding costs of manufacturers and distributors where manufacturers have two
types of inventory; one for raw materials and the other for final products. The next three
terms are the transportation costs. Finally, terms tenth and eleventh formulate the cost
designing new products and lost sales, respectively.

2.1.5- Constraints
Flow
IR frt = IR fr ( t −1) + ∑ SRM sfrt − ∑ Bir Q fit ∀f , t , r (2)
s i

IM fit = IM fi (t −1) + Q fit − ∑ SMD fdit ∀f , i , t (3)


d

IDdit = IDdi ( t −1) + ∑ SMD fdit − ∑ SDGdgit ∀d , i , t (4)


f g

∑ SDG
d
dgit + LS git = Dgit ∀g , i , t (5)

IR frt = IIR fr ∀f , r , t = 0 (6)


IM fit = IIM fi ∀f , i, t = 0 (7)
IDdit = IIDdi ∀d , i , t = 0 (8)

8
Capacity
∑ SRM
f
sfrt ≤ CS srt ∀s , r , t (9)
Q fitTPfi ≤ CM ft ∀f , i , t (10)
∑∑∑ SMD
t f i
fdit ≤ CDd ∀d (11)

Production allowance
Q fit ≤ M * ETit ∀f , t , i (12)

Product rollover strategy


T


h =t + dli +1
EToh < DPjt Poj ∀t , i ∈ o , j (13)

Product introduction constraint


t + dli ∀t , i ∈ j , n (14)
∑ ETih ≤ DPit
h =1

∑ DP
t
it =1 ∀ i ∈ j, n (15)

IR frt , IM fit , IDdit , SRM sfrt , SMD fdit , SDGdgit , Q fit , LS git ≥ 0 and integer (16)
∀ i, t , f , d , s, g , r
DPit , ETit ∈ {0, 1} ∀ i, t (17)
All Constraints are represented from (2)–(17) and are described briefly in the following.
Eqs. (2)- (4) show the flow constraints. Eq. (5) represents that the sales of each product at
each costumer group during each time period should not exceed its corresponding
demand, while the unsatisfied amount is lost. The initial inventories are defined in Eqs.
(6)-(8). Eq. (9) shows that the total raw materials transported from each available supplier
to the manufacturers cannot exceed the supplier capacity. Eqs. (10) and (11) also state the
same issue about the maximum capacity of available plants and distributors, respectively.
Eq. (12) denotes the production allowance and Eq. (13) represents the rollover strategy
which is only related to the developing products. It states that when the company decided
to develop an old product the manufacturers have the ability to produce the developed
products and launch them to the market after the designing duration time. Eq. (14) relates
to the designing starting time. Eq. (15) assures that during the planning horizon the
company decides to produce each new product once. Finally, Constraints (16) and (17)
pertains to the non-negativity condition and to the binary nature of the decision variables,
respectively.

3-An illustrative numerical example


A small sized hypothetical problem is solved to validate the proposed model. The
computations are run on an Intel(R) Core(TM) i7-4501U CPU@ 2.60 GHz processor
laptop using branch and bound (B&B) method under Lingo 8.0 software.
The problem consists of three suppliers, four manufactures, four distributors and two
customer groups. The problem takes into account four types of products with six types of

9
raw materials which the model starts with product one and two and during the time
periods and customer demands and competitive markets the model wants to develop
product two to product three and product four to be newly introduced for the first time.
The planning horizon is considered ten periods and based on the objective function which
is maximizing the total profit; the model determines the appropriate time for developing
the product and introduces the new product. The information related to the example is
given in Tables 1-9.

Insert Table 1
Insert Table 2
Insert Table 3
Insert Table 4
Insert Table 5
Insert Table 6
Insert Table 7
Insert Table 8
Insert Table 9

Table (1) shows the transportation costs and the bill of material matrix are presented in
Table (2). Table (3) contains the information related to distributors and products prices.
Costs of production, raw material and end product inventory are shown in Table (4).
Table (5) represents capacity of manufactures and capacity of suppliers is shown in Table
(7). Cost of raw materials is given in Table (6). Tables (8) and (9) illustrate the demand
of customer groups and Cost of lost sales in each period, respectively. Although the new
products are being produced during the time horizon but designing them are costly and
the costs are considered 170 and 300 for each, respectively. Also the duration for
designing new products are 2 and 4 periods, respectively.
The optimal solution of the illustrative example for ten periods based on the proposed
model and the related objective function value are shown in Table (10). As the aim of the
model is obtaining profit by developing and introducing new products the model decided
to start developing product two in period 4 and after the designing duration introduce
product three in period 6 and phase out product two in period 6. Based on the profit,
introducing product four in period 8 would be profitable.

Insert Table 10

For medium and large-sized problems, the multi echelon design problem is difficult to be
solved optimally. According to the computational complexity, the proposed model cannot
be solved optimally within a practical time.

4- Solution approach
A priority-based GA is proposed for solving the new product development SC problem
in this paper to obtain a good solution for the model in a reasonable time.

4.1- Priority-based genetic algorithm

10
4.1.1- Chromosomes
GAs start with an initial set of random solutions generally called population. Each
individual in the population is called a chromosome. Each chromosome consists of genes
and as it is known, a gene in a chromosome is characterized by two factors: locus, the
position of the gene within the structure of chromosome and allele, the value the gene
takes. To illustrate the GA strategy, chromosome encoding is the first and important step.
In priority-based encoding, the position of a gene is used to represent a node
(source/depot in transportation network), and the value is used to represent the priority of
corresponding node for constructing a tree among candidates (Gen and Cheng, 2000).
For the problem in this paper, the chromosome is made up by three segments, in which
the segments are used to demonstrate the relationship among the four echelons as
described in Figure (2). As an example, consider a SC network with two raw materials,
five suppliers, two manufactures, four distributers, two costumer groups, three products.
The first segment defines the transportation tree between the suppliers and manufactures
and it consists of (|S|+|F|)*|R| digits which |S|, |F| and |R| represent the number of
suppliers, manufactures and raw materials, respectively. As it is seen in Figure (2) each
gene in segment 1 is an integer number between 1 and (|S|+|F|)*|R| which represents the
priority of each node. Similarly, the transportation tree between manufactures and
distributor centers is defined in segment 2. This segment consists of (|F|+|D|)*|I| digits
which |F|, |D| and |I| represent the number of manufactures, distributor centers and
products, respectively and the priority of each node is an integer number between 1 and
(|F|+|D|)*|I|. The third segment which indicates the transportation tree between distributor
centers and customer groups is defined as the same way. It consists of (|D|+|G|)*|I| digits
that |D|, |G| and |I| represent the number of distributor centers, customer groups and
products, respectively and the priority of each node is an integer number between 1 and
(|D|+|G|)*|I|. The illustration of a chromosome structure for one period is given in Figure
(2). As the proposed model is multi period, the full length of a chromosome is the sum of
the lengths of these three segments multiplied by the numbers of periods [((D+G)*I) +
((D+F)*I) + ((S+F)*R)]*T. Figure (3) represents a chromosome for multi product multi
echelon multi period SC.
Transportation tree between customer groups and distributor centers, distributor centers
and manufactures, manufactures and suppliers which is obtained with decoding of the
third, second and first segment of chromosome, respectively, is generated by sequential
arc appending between sources and depots. The chromosome of SC is decoded on the
backward direction. At each step of the decoding procedure, the highest priority in the
chromosome is determined. Although its position gives the product type, it gives a source
(depot) to realize a shipment for the product type, too. Depending on the selected source
(depot), a depot (source) is determined considering minimum transportation cost and an
arc between them is added to corresponding tree (Altiparmak et al., 2009). The decoding
algorithm of the priority based encoding for the multi product case is presented in Figure
(3).
For a NPD problem, under the chromosome structure mentioned above, since the
company decides to produce new products and also develop current products in some
periods, this has to be shown in the chromosome. This is done by randomly generating a
period and depending on the new product designing duration of each product parameter,
the following conversion statements are going to be done:

11
1) If the product is newly created, depending on the period obtained by sum of
randomly generated period and the designing duration parameter, the value of the
genes for this product is updated. The priority of the related product for the
periods up to the determined period is considered zero and the rest remain
unchanged.
2) If the product is developed to another product, depending on the period obtained
by sum of randomly generated period and the designing duration parameter, the
value of the genes for these products are updated. The priority of the old product
from the determined period up to the end of the planning horizon is considered
zero and on contrary, the priority of the developed product for the periods up to
the determined period is considered zero and the rest remain unchanged.
The decoding algorithm of the priority-based encoding for the NPD multi product case
for the third segment is presented in the next subsection. As the periods for developing
and producing products is determined and applied one the third segment chromosome,
these determined periods is transformed to the second segment chromosome and the
chromosome updating is done for this segment, but the first segment remain unchanged
and the general decoding procedure is applied.

4.1.2- Algorithm 1: priority-based decoding for the third segment

Inputs: F: Set of sources (distributors), G: Set of depots (customer groups),


I: Set of products, T: Number of periods,
Dgi : Demand on depot g for product i, ∀ g ∈ G , i ∈ I ,
C fi : Capacity of source f for product i, ∀ f ∈ F , i ∈ I ,
dli : New product designing duration of product i, ∀ i ∈ I
⎧1, if o = j , C ompany decides to produce a new product j ,

B oj : ⎨1, if o ≠ j , C ompany decides to develop product o to j ,
⎪ 0, o . w .

T fgi : Transportation cost of one unit of product i from source f to depot g,
∀ f ∈ F,i ∈ I
V (T ( I ( f + g ))) :Chromosome, ∀ f ∈ F , g ∈ G ,
Outputs:
x fgit : The amount of product i transferred from source f to depot g in period t
Step 1: If Boj = 1 and o = j then Randomly select a period,
add the selected period to dlo ,
For t=1 to obtained period V ( (t − 1) ( o ( f + g ))) = 0 ,
Step 2: If Boj = 1 and o ≠ j then Randomly select a period,
add the selected period to dlo ,
For t=1 to obtained period, V ( (t − 1) ( j ( f + g ))) = 0 ,
For t=obtained period to T, V ( t ( o ( f + g ))) = 0 ,
Step 3: Calculate x fgit using Procedure 1

12
4.1.3- Decoding procedure for the SC problem

The chromosome of SC for the problem in this paper is decoded on the backward
direction. First, a transportation tree between customer groups and distributer centers is
obtained using algorithm (1). In the second step, by the outputs of the third segment and
the periods obtained for introducing new and developed products from the third segment,
the transportation tree between distributer centers and manufactures is derived by an
algorithm similar to algorithm (1) except that here the periods for introducing new and
developed products are as same as the one obtained from the third segment. Lastly, the
transportation tree between manufactures and suppliers is obtained by decoding the first
segment using procedure (1) given in Figure (4). An overall procedure for decoding the
proposed chromosome is shown in Figure (5).

Insert Figure 2
Insert Figure 3
Insert Figure 4
Insert Figure 5

4.1.4- Initial population


Usually, the initial population is generated randomly and size of the population is one of
the GAs parameter and is often known as pop size. For each and every problem, the
population size will depend on the complexity of the problem. Practically, a population
size of around 100 individuals is quite frequent, but anyway this size can be changed
according to the time and the available memory on the machine compared to the quality
of the result to be obtained.

4.2- Evaluation operator


The goodness of a chromosome is evaluated by a fitness function which is the aim of the
evaluation operator. The higher the fitness value of an individual is, the higher its chance
if for survival to the next generation. So, evaluation plays a very important role in the
evolutionary process. After generating the initial population, the fitness of each
chromosome is subsequently evaluated. The chromosomes are sorted based on their
fitness and after genetic operations; the parents and produced children are placed in the
pool. Then the fitness value of the children is calculated too. The chromosomes are
arranged based on the fitness value and finally for the next generation, chromosomes are
selected from the best chromosomes according to population size. The choice of fitness
function is an important issue because it measures the advisability of the features
presented by the chromosome. The objective function of this study has been taken as
fitness function which is maximizing the profit.

4.3- Genetic operators


In the following the genetic operators which are used in the solution procedure are
presented.

4.3.1- Crossover operator

13
Crossover is known as the most important recombination operator in GA. The goal of
crossover operator is to explore new solution space and increase the speed at which the
optimum solution is acquired. To perform the crossover, two parents are selected
randomly. Then, their periods for developing and introducing new products are
exchanged. In other words, when two parents are selected randomly, their priority based
chromosomes are updated by the exchanged periods and then is decoded using Procedure
1 given in Figure 3 and the fitness function is obtained.

4.3.2- Mutation operator


The purpose of mutation is to prevent the premature convergence and increase the
variability of the population. For this purpose, swap mutation was used. The procedure of
mutation is summarized as follows: In the process of mutation, firstly, a chromosome is
randomly extracted. Then, the swap mutation is done for the first and third segment of a
chromosome. Since the second segments priority based chromosome is related to the
third segment, mutation is done only on the third and first segment which are
independent. Then, a period is randomly selected for each segment. This operator selects
two gens from the corresponding segments and exchanges their places. Note that for the
third segment the gens with nonzero value must be swapped.

4.4- Procedure of proposed genetic algorithm


The overall pseudo-code procedure for solving the multi echelon, multi product, multi
period SC design problem is outlined as follows:

Algorithm 2: Priority- based GA for multi echelon, multi product, multi period SC problem
Input: SC data, GA parameters
Output: best solution (Maximum total profit)
Begin
k ←1 ;
Initialize p ( k ) by priority-based encoding
Evaluate ( p )
While (not terminate condition) do
Select p1 ( k ) and p2 ( k ) for crossover
Apply crossover to p1 ( k ) and p2 ( k ) for obtaining p1 ( k ) and p2 ( k )
' '

Select for p3 ( k ) mutation


Apply mutation to p3 ( k ) for obtaining p3 ( k )
'

Evaluate p1 ( k ) , p2 ( k ) and p3 ( k )
' ' '

Update p ( k ) and select p ( k +1 ) from p ( k )


k ← k +1
End
Output best solution
End

5- Computational results

14
5.1- Numerical test problems
For experimentation, this section presents the application of the proposed model along
with the proposed GA algorithm on some random test problems. Some sets of small,
medium and large sized instances are considered to evaluate the performance of the
solution approach. For experimental comparison under a same condition, the parameters
of each test problem are set as: pop size=100; max iteration=200; crossover rate=0.8;
mutation rate=0.1.
First, three small-sized instance is developed due to its ability to compare with the global
optimum. These problems are coded by Lingo optimization software to achieve the
global optimum. Second, the proposed GA is coded by Matlab8.2.0.701 (R2013b)
software to complete the process of comparison. All computations are run on an Intel(R)
Core(TM) i7-4501U CPU@ 2.60 GHz processor laptop. The results of solving these
random test problems using LINGO and proposed GA are shown and compared in Table
(11). GAP in Table (11) illustrates the relative difference between objective values
obtained by two methods. As shown in Table (11), with the result obtained from the
proposed GA for small sized problems, it is noticed that the proposed GA is able to find
the near optimal solutions in a reasonable computational time. However Lingo gives the
real optimal solutions in a shorter time for small sized problems. On the basis of the
results from the small sized problem, the Lingo software provides results in reasonable
time. However, the GA and Lingo solution search qualities are almost the same.
Two test problems are solved to show the performance of the proposed GA which Lingo
was not able to solve it optimally. After 10h the Lingo solver was only able to specify the
best feasible objective function value. The solver was then interrupted and the best values
of the considered examples are demonstrated in Table (11). By considering the GAP
between the objective value of proposed GA and the best feasible objective function
value from the Lingo solver, it is concluded that the proposed GA is capable to find near
optimal solutions for medium sized problems and it is also important to notice that from
the computational time point of view the proposed GA is efficient, too.
As shown in Table (11), for two large sized test problems, after 10h, Lingo is not able to
find even feasible solutions while the proposed GA solved them in less than half an hour.
As the case parameters increases, complexity increases. In other words, as the number of
the products and the ones which are going to be developed and produced newly, increase,
the problem becomes more complicated and the Lingo software requires a much longer
time to solve the problem or either is not able to solve. As far as for real world problems
Lingo is very inefficient. Thus, GA retains high performance and takes reasonable time
for complex problems.

Insert Table 11

5.2- GA parameters control

However the performance of GAs relies on the values of the parameters, identification of
the parameters is a hard task. Obviously, there are many components and parameters that
can be changed and tuned for optimal algorithm performance. Therefore, several
approaches have been proposed in the literatures to identify the correct values of the GAs
parameters. FLCs are efficient methods to control GAs parameters during genetic search

15
process. Song et al. (1997) proposed an improved GA with two fuzzy controllers based
on some heuristics to adaptively adjust the crossover probability and mutation rate during
the optimization process. Gen and Cheng (2000) have offered various adaptive methods
using several FLCs in their book. Yun and Gen (2003) proposed some genetic algorithms
with adaptive abilities and compared the performance among them under a same
condition. As another study, Lin and Gen (2009) proposed an auto-tuning strategy by
using FLC to tune the probabilities of the genetic operators. Their effective approach can
correspond to most optimization problems. More recently, Sharma and Kasniya (2015)
presented the application of a fuzzy logic controlled algorithm to economic dispatch.
They described the implementation of the fuzzy crossover and mutation controllers and
compared its performance with conventional GA.
The basic concept of Song et al. (1997) and Yun and Gen (2003) are used here to
adaptively regulate the rates of crossover and mutation operators during the GAs search
process. FLC is implemented to change the mutation and crossover rate adaptively on the
basis of the fitness values at the current and previous generations for each iteration. It
increases the rates of the crossover and mutation operators if it consistently produces a
better offspring during the process, and conversely, if it produces a poorer offspring, it
reduces the rates of the crossover and mutation operators. By this way, it encourages the
well performing operators to produce more offspring and reduces the chance of poorly
performing operators to produce offspring.

5.2.1- Fuzzy crossover controller


The implementation strategy for the crossover FLC is summarized as follows (Song et al.
(1997), Yun and Gen (2003)):

• Input and output of crossover


The inputs of the crossover FLC are changes in fitness at two consecutive steps,
Δf (t −1 ) Δf (t ) Δc (t )
and . Then, the output is a change in the crossover rate, , where t
presents the number of generation.
Δf (t −1 ) Δf (t ) Δc (t )
• Membership functions of , and
Figures (6) and (7) represent the membership functions of the input and output linguistic
variables, respectively.
Δf (t −1 )
and
Δf (t )
are normalized into the range of
[−1 ,1 ] and
Δc (t )
into the range
[−0 .1 ,0 .1 ] according to their corresponding maximum values.
• Fuzzy Decision table
The fuzzy decision table is shown in Table (12), which is the same as the table defined by
Song et al. (1997).
• Defuzzification table for control actions
The defuzzification table is formulated as presented in Table (13) (Song et al. (1997)).

5.2.2- Fuzzy mutation controller


Mutation fuzzy controller has the same inputs of the crossover fuzzy controller. Then the
Δm (t )
output is the change in mutation, . In addition, the decision and defuzzification

16
tables for the fuzzy mutation controller are similar to the crossover ones (Tables (12) and
(13), respectively).

5.2.3- Fuzzy logic control in GA


The procedure of applying the fuzzy logic controller in a GA loop is outlined as follows:

Algorithm 3: FLC in GA loop


Inputs: Δf (t − 1) , Δf (t )
: Input variables of the FLCs for regulating the GA operators.
Outputs: PC (t ) , PM (t ) : Rates of crossover and mutation operators, respectively.
Step 1: Normalize input variables,
Step 2: Assign the obtained values to the indexes i and j corresponding to the control actions in the
defuzzification table (Table (13)).
Step 3: Δc (t ) Δm (t )
Calculate the changes of the crossover rate and mutation rate :
Δc (t ) = Z (i , j ) × 0.02, Δm (t ) = Z (i , j ) × 0.002
Δf (t − 1) Δf (t )
Where the contents of Z (i , j ) are the corresponding values of and for
defuzzificatin (Table (13)) and the values 0.02 and 0.002 are given values to regulate the increasing
and decreasing ranges of the rates of crossover and mutation operators.
Step 4: Update the change of the rates of the operators as follows:
pC (t ) = pC (t − 1) + Δc (t ) , p M ( t ) = p M ( t − 1 ) + Δm ( t )
End

Insert Table 12
Insert Figure 6
Insert Figure 7
Insert Table 13

5.2.4- Comparison and discussion


In this section, a comparison is done on the random test problems which were solved by
the general GA and GA using FLC.
To evaluate the performance of the algorithm, as test problem 1 and 2 has not any gap,
test problems 3, the medium and the large sized are considered and solved by GA using
FLC. The results obtained by the test problems are listed in Table (14). As seen in Table
(14), the fuzzy logic controlled GA has obtained better solutions for all test problems.
Some test problems have more computation time, since the general GA is not tuned and
the tuning time is not considered during the run process, however, in FLC GA the
computation time includes the tuning time during the process.
For further clarifying, consider the large sized test problem 7. Again, set the general GA
and controlled GA parameters. The pop size and max iteration and crossover rate is
assumed same as before, 100, 200 and 0.1, respectively. This time the crossover rate is
set as 0.5. The results of solving this problem are illustrated in Table (15). As seen in
Table (15) controlled GA gives a better solution. As the crossover rate changed, a gap
about 0.15% is occurred for the general GA solution however, the solution obtained by
the controlled GA has not any gap. According to Table (15) the optimum solution is
obtained in controlled GA in less computation time.
As another aspect, although the aim of the proposed model is maximizing the total profit,
since the model considers NPD, finding the best time for introducing developed and new

17
produced products is an important issue. These periods are obtained for the test problem
7 by general GA and controlled GA. By the controlled GA, it follows that developing
product start at period 15 and new product production start at period 4, similarly, the
general GA states period 19 for developing and period 7 for producing new product. As
results, controlled GA gives a better introduction time. Figure (8) shows the objective
function (fitness function) curves of general GA and controlled GA for test problem 7.
The results of the controlled GA demonstrate that the overall performance of FLC GA is
better in comparison with general GA.

Insert Table 14
Insert Table 15
Insert Figure 8

6- Conclusions
Customer needs and wants are delicate and complex. If a company understands
them and makes efforts to fulfill customer demands, the corresponding SC needs
reconfiguration. Incorporating the SC with NPD is a challenging task. This paper
aims to identify a multi echelon multi product multi period optimization model for
SC configuration and NPD. The proposed model incorporates three kinds of products:
products which are produced during the planning horizon, products which are decided to
be developed and products that are newly introduced during the planning horizon.
The indicated model was capable to determine the optimized lunching time and
phasing time during a planning horizontal time in order to maximum the total profit.
To solve the proposed model the priority based GA is utilized. Some test
problems was provided to illustrate the practicality and validity of the proposed
model and the obtained solutions were compared with the optimal solutions
derived by using Lingo software. A fuzzy controller was described and
considered to adaptively adjust the crossover and mutation rates. The computing
results represent that the controlled GA is efficient and gives quality solutions
and near optimal solutions with a very low difference and reasonable time. In
addition, compared with conventional GA, the results indicate that the controlled
GA improves the performance of conventional GA.
Further research could be planned to investigate other evolutionary algorithms
for obtaining optimal solutions and compare them and consider other adaptive
abilities.

References
Ahmadizar, F., Zeynivand, M. and Arkat, J., (2015) Two-level vehicle routing with
cross-docking in a three-echelon supply chain: A genetic algorithm approach,
Applied Mathematical Modelling, 39(22) 7065-7081.

Amini, M. and Li, H., (2011) Supply chain configuration for diffusion of new products:
an integrated optimization approach, Omega, 39, 313–322.

Altiparmak, F., Gen, M., Lin, L. and Karaoglan, I., (2009) A steady-state genetic

18
algorithm for multi-product supply chain network design, Computers and Industrial
Engineering, 56(2) 521–537.

Bandyopadhyay, S. and Bhattachary, R., (2014) Solving a tri-objective supply chain


problem with modified NSGA-II algorithm, Journal of Manufacturing
Systems, 33(1) 41-50.

Billington, C., Lee, H. and Tang, C., (1998) Successful strategies for product rollovers,
MIT Sloan Management Review, 39, 23–30.

Bootaki, B., Mahdavi, I. and Paydar, M.M., (2014) A hybrid GA-AUGMECON method
to solve a cubic cell formation problem considering different worker skills, Computers
& Industrial Engineering, 75, 31-40.

Demirel, N., Özceylan, E., Paksoy, T. and Gökçen, H., (2014) A genetic algorithm
approach for optimising a closed-loop supply chain network with crisp and fuzzy
objectives, International Journal of Production Research, 52(12) 3637–3664.

Eiben, A.E., Michalewicz, Z., M. Schoenauer, M. and Smith, J.E., (1999) Parameter
Control in Evolutionary Algorithms, IEEE Transactions on Evolutionary
Computation, 3 (2), 124-141.

Fahimnia, B., Luong, L. and Marian, R., (2012) Genetic algorithm optimisation of an
integrated aggregate production–distribution plan in supply chains, International
Journal of Production Research, 50(1) 81–96.

Flynn, B.B., Huo, B. and Zhao, X., (2010) The impact of supply chain integration on
performance: a contingency and configuration approach, Journal of Operations
Management, 28(1) 58–71.

Gen, M. and Cheng, R., (2000) Genetic algorithms and engineering optimization, John
Wiley and Sons, New York.

Gen, M., Altiparmak, F. and Lin, L., (2006) A genetic algorithm for two-stage
transportation problem using priority-based encoding, OR Spectrum, 28, 337–354.

Hong, P., Doll, W.J., Nahm, A.Y. and Li, X., (2004) Knowledge sharing in integrated
product development, European Journal of Innovation Management, 7 (2) 102–112.

Hong, T.P., Wang, H.S., Lin, W.Y. and Lee, W.Y., (2002) Evolution of Appropriate
Crossover and Mutation Operators in a Genetic Process, Applied Intelligence, 16(1),
7-17.

He, Y., Lai, K.K., Sun, H. and Chen, Y., (2014) The impact of supplier integration on
customer integration and new product performance: The mediating role of
manufacturing flexibility under trust theory, International Journal of Production

19
Economics, 147(Part B) 260-270.

He, J., Huang, Y. and Chang, D., (2015) Simulation-based heuristic method for container
supply chain network optimization, Advanced Engineering Informatics, 29(3) 339-
354.

Ibaraki, T. and Katoh, N., (1988) Resource allocation problems-algorithmic approaches.


The MIT Press.

Jafarian, M. and Bashiri, M., (2014) Supply chain dynamic configuration as a result of
new product development, Applied Mathematical Modelling, 38 (3) 1133-1146.

Jamshidi, R., Fatemi Ghomi, S.M.T. and Karimi, B., (2015) Flexible supply chain
optimization with controllable lead time and shipping option, Applied Soft Computing,
30, 26–35.

Koufteros X.A., Edwin Cheng T. and Lai K.H., (2007) “Black-box” and “gray-box”
supplier integration in product development: Antecedents, consequences and the
moderating role of firm size, Journal of Operations Management, 25, 847-870.

Kumar, S. and Chatterjee, A.K., (2013) A heuristic-based approach to integrate the


product line selection decision to the supply chain configuration, International
Journal of Production Research, 51(8) 2399-2413.

Li, H. and Amini, M., (2012) A hybrid optimisation approach to configure a supply chain
for new product diffusion: a case study of multiple-sourcing strategy, International
Journal of Production Research, 50 (11) 3152–3171.

Lin, L. and Gen, M., (2009) Auto-tuning strategy for evolutionary algorithms: balancing
between exploration and exploitation, Soft Computing, 13 (2) 157-168.

Lin, L., Gen, M. and Wang, X., (2009) Integrated multistage logistics network design by
using hybrid evolutionary algorithm, Computers & Industrial Engineering, 56, 854–
873.

Mahdavi, I., Paydar, M.M., Solimanpur, M. and Heidarzade, A., (2009) Genetic
algorithm approach for solving a cell formation problem in cellular manufacturing,
Expert Systems with Applications, 36, 6598–6604.

Naraharisetti, P. and Karimi, I.A., (2010) Supply chain redesign and new process
introduction in multipurpose plants, Chemical Engineering Science, 65, 2596–2607.

Nepal, B., Monplaisir, L. and Famuyiwa, O., (2011) A multi-objective supply chain
configuration model for new products, International Journal of Production Research,
49 (23) 7107–7134.
Paydar, M.M, Mahdavi, I., Sharafuddin, I. and Solimanpur, M., (2010) Applying

20
simulated annealing for designing cellular manufacturing systems using MDmTSP,
Computers & Industrial Engineering, 59 (4) 929-936.

Ribas I. and Companys, R., (2015) Efficient heuristic algorithms for the blocking flow
shop scheduling problem with total flow time minimization, Computers & Industrial
Engineering, 87, 30-39.

Roghanian, E. and Pazhoheshfar, P., (2014) An optimization model for reverse logistics
network under stochastic environment by using genetic algorithm, Journal of
Manufacturing Systems, 33(3) 348-356.

Schwefel, H.-P., Numerical Optimisation of Computer Models, (1981) Wiley, New York.

Sel, C. and Bilgen, B., (2014) Hybrid simulation and MIP based heuristic algorithm for
the production and distribution planning in the soft drink industry, Journal of
Manufacturing Systems, 33 (3) 385–399.

Sharma, V.K. and Kasniya, B., (2015) Economic Load Dispatch Using Fuzzy Logic
Controlled Genetic Algorithms, International Journal of Scientific & Engineering
Research, 6 (10) 141-149.

Syarif, A., Yun, Y. and Gen, M., (2002) Study on multi stage logistics chain network: A
spanning tree- based genetic algorithm approach, Computers and Industrial
Engineering, 43, 299-314.

Simchi-Levi, D., Kaminsky, P., Simchi-Levi, E., (2000) Designing and Managing the
Supply Chain: Concepts, Strategies, and Case Studies, McGraw-Hill, New York.

Soleimani, H. and Kannan, G., (2015) A Hybrid Particle Swarm Optimization and
Genetic Algorithm for Closed-Loop Supply Chain Network Design in large-scale
networks, Applied Mathematical Modelling, 39 (14) 3990-4012.

Song, Y. H., Wang, G. S., Wang, P. T. and Johns, A. T., (1997) Environmental/Economic
Dispatch Using Fuzzy Logic Controlled Genetic Algorithms, IEEE Proceedings on
Generation, Transmission and Distribution, 144(4) 377– 382.

Van Kleef, E., Van Trijp, H.C.M. and Luning, P., (2005) Consumer research in the early
stages of new product development: A critical review of methods and techniques,
Food Quality & Preference, 16, 181–201.

Yun, Y. and Gen, M., (2003) Performance Analysis of Adaptive Genetic Algorithms with
Fuzzy Logic and Heuristics, Fuzzy Optimization and Decision Making, 2, 161– 175.

21
Order

Demand
Manufactures Distributors

Supplier 1 Customer 1

Customer 2
Supplier 2

Products
• •
• •
• •
• •
Customers
Suppliers

Figure 1. The stages of a four echelon SC

Segment 3: Distributor centers (d) → Products (i) → Customer groups (g)


Product1 Product2 Product3
Distributors customers Distributors customers Distributors customers
1 2 3 4 1 2 1 2 3 4 1 2 1 2 3 4 1 2

[ 4 8 2 10 7 12 ] [ 17 1 15 5 14 18 ] [ 16 6 9 13 3 11 ]

Segment 2: Manufactures (f) → Products (i) → Distributor centers (d)


Product1 Product2 Product3
Manufactures Distributors Manufactures Distributors Manufactures Distributors
1 2 1 2 3 4 1 2 1 2 3 4 1 2 1 2 3 4

[ 2 11 6 13 15 5 ] [ 3 7 14 10 4 16 ] [ 18 1 9 12 17 8 ]

Segment 1: Suppliers (s) → Raw materials (r) → Manufactures (f)


Raw material1 Raw material2
Suppliers Manufactures Suppliers Manufactures
1 2 3 4 5 1 2 1 2 3 4 5 1 2

[ 6 12 10 2 9 5 14 ] [ 11 1 8 13 3 7 4 ]
Figure 2. An example of representation for multi product multi echelon SC for one period.

1
Segment 1 Segment 2
Segment 3
t=1
Raw material 1 … Raw material R Product 1 … Product I Product 1 … Product I
S1 … Ss f1 … ff … S1 … Ss f1 … ff f1 … ff D1 … DD … f1 … ff D1 … DD D1 … DD G1 … GG … D1 … DD G1 … GG

t=2
Raw material 1 … Raw material R Product 1 … Product I Product 1 … Product I
S1 … Ss f1 … ff … S1 … Ss f1 … ff f1 … ff D1 … DD … f1 … ff D1 … DD D1 … DD G1 … GG … D1 … DD G1 … GG

.
.
.
.
t=T
Raw material 1 … Raw material R Product 1 … Product I Product 1 … Product I
S1 … Ss f1 … ff … S1 … Ss f1 … ff f1 … ff D1 … DD … f1 … ff D1 … DD D1 … DD G1 … GG … D1 … DD G1 … GG

Figure 3. An illustration of a chromosome for multi product multi echelon multi period SC.

2
Procedure 1: Priority based decoding for multi product multi period transportation tree
Inputs: F: Set of sources, G: Set of depots, I: Set of products, T: Number of periods,
Dgi : Demand on depot g for product i, " g Î G , i Î I ,
C fi : Capacity of source f for product i, " f Î F , i Î I ,
T fgi : Transportation cost of one unit of product i from source f to depot g,
" f Î F,i Î I
V (T ( I ( f + g ) ) ) :Chromosome, " f Î F , g Î G ,
Outputs:
x fgit :The amount of product i transferred from source f to depot g in period t.
For t=1 to T
Step 1: x fgit = 0 , " f Î F , g Î G , i Î I
Step 2: Select a node based on p = arg max {V (n), n Î I * ( F + G )} ,
é pù
Determine the product type based on i = ê
*
Step 3: ú
êF +Gú
If p Î F for product i then a source is selected f = p
* *
Step 4:
g = arg min Tf
*
{ *
gi
* V (((i - 1) * (F + G)) + F + g) ¹ 0, g Î G
*
}
Select a depot with minimum cost
Else p Î G for product i a depot is selected g = p
* *

f = arg min T
*
{ fg
* *
i
V (((i - 1) * (F + G)) + f ) ¹ 0, f Î F
*
}
Select a source with minimum cost
Step 5: xf * * *
g i t {
= min Dg i , C f * * * *
i
} then update demands and capacities:
Dg i = Dg i - x
* * * * *
f g i
* *
t
, Cf i = Cf
* * * *
i
-x *
f g i
* *
t

Step 6: If D * *
g i
= 0 then V (((i - 1) * (F + G)) + f ) = 0
*

If C * *
f i
= 0 then V (((i - 1) * (F + G)) + F + g ) = 0
*

If V (((i - 1) * (F+ G)) + f + g) = 0, " g Î G, f Î F , i Î I then output x fgit and


Step 7:
calculate transportation cost, else return to step 1,
End
Figure 4. Decoding algorithm for the priority based encoding.

3
Procedure 2: An overall pseudo code for priority based decoding of the chromosome
Inputs: Number of raw materials, suppliers, manufactures, distributer centers, customer groups, products,
periods,
SC data,
V1 ,V2 ,V3 : Chromosomes of the first, second and third segment, respectively.
Outputs: X , X ' , X '' : The transferred amount between every two echelons in the first, second and third
segment, respectively,
Z= Maximum profit (objective function).
''
Step 1: Set the customers as depots and distributer centers as sources, call algorithm 1 to obtain X
Update the second segment by the randomly period obtained in step 1 and call procedure 1 to
Step 2: '
obtain X
Step 3: Calculate X using procedure 1
Step 4: Calculate and output Z (objective function)
End
Figure 5. An overall decoding procedure for priority-based encoding

4
m

NR NL NM NS ZE PS PM PL PR
R

-1.0 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1.0

Figure 6. Membership functions for Df ( t - 1 ) and Df ( t ) , where NR- Negative Larger; NL- Negative Large;
NM- Negative Medium; NS- Negative small; ZE- Zero; PS- Positive small; PM- Positive medium; PL- Positive large;
PR- Positive larger.

NR NL NM NS ZE PS PM PL PR
R

-0.1 -0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 0.1

Figure 7. Membership functions for Dc ( t )

5
x 10
8 (a)
1.63
O b je c t iv e f u n c t io n

1.62

1.61

1.6

1.59
0 20 40 60 80 100 120 140 160 180 200
Generation

x 10
8 (b)
1.64

1.63
O b je c t iv e f u n c t io n

1.62

1.61

1.6

1.59
0 20 40 60 80 100 120 140 160 180 200
Generation

Figure 8. (a) General GA, (b) Controlled GA outputs for objective function of test problem 7

6
Table 1: Transportation costs
Supplier Distributor
TCSsf TCMfd
Manufacture 1 2 3 1 2 3 4
1 0.13 0.16 0.15 0.5 0.3 0.5 0.1
2 0.12 0.19 0.18 0.3 0.7 0.5 0.4
3 0.14 0.18 0.15 0.4 0.1 0.2 0.5
4 0.19 0.15 0.17 0.4 0.5 0.1 0.2
TCD dg
Customer group
1 1.5 1.3 1.6 1.4
2 1.7 1.1 1.8 1.2

Table 2: Bill of material matrix

Raw material

Product 1 2 3 4 5 6

1 2 0 3 1 2 3
2 0 3 2 2 1 4
3 2 3 0 1 2 3
4 1 1 4 0 2 0

Table 3: Summarized data for distributors and products price

Distributor Price of product Manufacture


Product 1 2 3 4 1 2 3 4
1 0.85 0.77 0.85 0.85 690 4 5 6 7
2 0.83 0.75 0.84 0.80 750 3 3 4 3
3 0.90 0.75 0.90 0.82 800 6 5 5 6
4 0.95 0.80 0.93 0.83 850 5 4 3 5

Initial distributor inventory


1 2 3 4
1 11 15 14 10
2 10 12 11 15
3 0 0 0 0
4 0 0 0 0
Capacity 1500 1100 1700 1400

1
Table 4: Production, raw material and end product inventory cost

Manufacturer Raw material Product Product

Raw material holding cost End product inventory holding cost Production cost
1 2 3 4 5 6 1 2 3 4 1 2 3 4

1 0.01 0.06 0.07 0.04 0.03 0.08 0.75 0.73 0.8 0.85 15 20 25 21
2 0.07 0.04 0.07 0.05 0.05 0.07 0.67 0.65 0.65 0.7 19 21 18 22
3 0.06 0.05 0.08 0.04 0.08 0.05 0.85 0.84 0.9 0.93 21 24 20 20
4 0.04 0.05 0.07 0.03 0.05 0.07 0.75 0.8 0.82 0.84 24 22 23 19

Initial raw material inventory Initial end product inventory Fixed cost

1 2 3 4 5 6 1 2 3 4 1 2 3 4

1 15 16 15 20 22 18 10 15 0 0 2 4 5 7
2 14 18 19 15 20 23 14 16 0 0 2 4 5 7
3 18 14 20 19 21 17 18 20 0 0 2 4 5 7
4 13 15 17 20 22 19 10 14 0 0 2 4 5 7

Table 5: Capacity of manufacture

Period
Manufacture
1 2 3 4 5 6 7 8 9 10
1 1000 900 800 1600 800 1200 1100 1030 950 800
2 800 1000 1200 1120 1100 900 850 1190 800 820
3 950 1000 850 900 970 1500 1300 1400 1000 1300
4 1100 1000 1200 1270 1000 950 1100 1050 1100 1000

Table 6: Price of raw material


Supplier Period
Raw material 1 2 3 4 5 6 7 8 9 10
1 1 5 6 7 8 9 9 10 11 12 13
2 5 6 8 9 10 10 11 12 13 14
3 4 5 7 8 9 9 10 11 12 13

2 1 6 7 8 9 9 10 11 12 13 13
2 4 5 7 8 9 9 10 11 12 13
3 6 7 8 9 10 11 12 13 14 14

3 1 4 5 7 8 9 9 10 11 12 13
2 6 7 8 9 10 11 12 13 14 15
3 5 6 8 9 10 10 11 11 13 14

4 1 6 7 8 9 10 11 12 13 14 15
2 5 6 7 8 9 9 10 11 12 13
3 7 9 10 12 12 13 14 15 16 17

5 1 5 6 8 9 10 10 11 12 13 14
2 7 9 10 12 12 13 14 15 16 16
3 6 7 8 8 10 11 12 13 14 15

6 1 7 9 10 12 12 13 14 15 16 16
2 6 7 8 9 9 10 11 12 13 13
3 5 6 8 9 10 11 11 12 13 13

2
Table 7: Supplier capacity

Raw material
Supplier 1 2 3 4 5 6
1 3120 3160 3140 3110 3130 3130
2 3150 3140 3120 3190 3120 3160
3 3160 3130 3200 3140 3190 3120
* The capacity of suppliers are assumed to be equal in the planning horizon

Table 8: Demand of customer groups


Period
Product Customer 1 2 3 4 5 6 7 8 9 10
1 1 390 190 390 290 490 340 370 345 350 390
2 330 390 380 240 270 340 290 380 440 290

2 1 290 340 210 330 440 290 330 360 330 410
2 290 410 360 190 290 380 260 290 390 380

3 1 440 290 280 380 290 500 370 460 490 480
2 380 380 400 310 340 390 340 390 460 280

4 1 400 370 290 440 360 440 400 350 290 340
2 300 370 440 290 310 400 300 400 410 340

Table 9: Cost of lost sales


Period
Product Customer 1 2 3 4 5 6 7 8 9 10
1 1 131 131 231 144 202 120 255 149 135 265
2 204 230 248 192 197 222 167 218 189 143

2 1 251 214 242 274 289 283 265 252 150 210
2 156 135 115 183 197 172 278 212 144 132

3 1 159 150 186 129 115 101 116 182 128 204
2 241 170 277 185 255 254 266 139 260 143

4 1 200 224 116 257 184 247 176 273 126 128
2 136 219 247 158 251 201 205 157 137 183

Table 10: Objective function value and products availability


Objective function Period
Product 1 2 3 4 5 6 7 8 9 10
10740120
1 • • • • • • • • • •
•:Product available 2 • • • • • × × × × ×
×:Product not available 3 × × × »»»» • • • • •
»:Designing duration 4 × × × »»»»»»»»»»»» • • •

3
Table 11: Comparison of proposed GA and LINGO for small, medium and large-sized test proble

Problem size Objective value CPU time GAP


No. of No. of
No. of raw No. of No. of No. of No. of No. of
examples
materials suppliers manufactures distributers
customer
products periods
GA Lingo GA Lingo %
groups
Small sized
problems
1 6 3 4 4 2 4 10 10740120 10740120 00:01:33 00:00:01 0
2 10 4 4 4 4 4 12 26807420 26807420 00:05:30 00:30:26 0
3 10 5 4 4 8 7 12 23904985.09 24568330 00:08:15 47:20:10 2.7

Medium sized
problems
4 12 6 4 4 10 10 12 28839862.24 30453920 00:09:15 10:00:00 5.3
5 15 6 4 5 12 10 14 15527388.24 16589090 00:10:34 10:00:00 6.4

Large sized
problems
6 20 8 5 5 12 15 16 115320000 ----- 00:11:18 10:00:00 -----
7 20 8 5 5 14 15 20 162890000 ----- 00:15:22 10:00:00 -----

4
Table 12: Fuzzy decision table for crossover and mutation
Df ( t - 1 )
D c (t )
NR NL NM NS ZE PS PM PL PR
NR NR NL NL NM NM NS NS ZE NE
NL NL NL NM NM NS NS ZE ZE PS
NM NL NM NM NS NS ZE ZE PS PS
NS NM NM NS NS ZE ZE PS PS PM
Df (t ) ZE NM NS NS ZE PE PS PS PM PM
PS NS NS ZE ZE PS PS PM PM PL
PM NS ZE ZE PS PS PM PM PL PL
PL ZE ZE PS PS PM PM PL PL PR
PR ZE PS PS PM PM PL PL PR PR

Table 13: Defuzzification table for control action of crossover and mutation

Z ( i, j ) i
-4 -3 -2 -1 0 1 2 3 4
-4 -4 -3 -3 -2 -2 -1 -1 0 0
-3 -3 -3 -2 -2 -1 -1 0 0 1
-2 -3 -2 -2 -1 -1 0 0 1 1
-1 -2 -2 -1 -1 0 0 1 1 2
j 0 -2 -1 -1 0 2 1 1 2 2
1 -1 -1 0 0 1 1 2 2 3
2 -1 0 0 1 1 2 2 3 3
3 0 0 1 1 2 2 3 3 4
4 0 1 1 2 2 3 3 4 4

Table 14: Comparison of general GA and FLC GA for proposed test problems
No. of Objective value CPU time GAP
examples GA FLC GA GA FLC GA GA FLC GA
3 23904985.09 24224373.38 00:08:15 00:11:13 2.7 1.4
4 28839862.24 29479394.56 00:09:15 00:09:10 5.3 3.2
5 15527388.24 15776224.59 00:10:34 00:13:05 6.4 4.9
6 115320000 117284000 00:11:18 00:11:40 - -
7 162890000 163430000 00:15:22 00:17:25 - -

Table 15: Comparison of general GA and FLC GA for test problem 7 with crossover rate 0.5
Ex. 7 Objective value CPU time GAP
General GA 162640000 00:12:01 0.15%
FLC GA 163430000 00:11:08 0

5
Highlights:
• Designing a multi-echelon multi-product multi-period supply chain model
• Considering new product development effects in supply chain configuration
• Developing a priority based genetic algorithm to find the suitable solution at
reasonable time

28

You might also like