Introduction

The incremental trend of industrialization demands more and more resources for producing the innovative and old-fashioned products. However, two main types of resources can be identified. Renewable resources are sources of energy that are not depleted by use, such as wind, or solar power and the like. A non-renewable resource cannot be replaced by the nature such as fossil fuels. In this study, we focus on the non-renewable resources that are noteworthy due to depleting. Considering the increase in demand for resources, these resources will be too expensive as they become less available. Consequently, many companies try to produce products that use resources supplied by the end-user. In this chain, the end-users deliver the used products to collection centers to be used for producing products in manufacturing centers (McWilliams and Siegel 2001). The process of collecting products from the end-users and recycling is called “reverse logistics” (Chen et al. 2017). A good instance for reverse logistics is the Japanese Ministry of the Environment for the automotive industry (Sudarto et al. 2016). Recent studies show a good classification for the investigated industries related to CLSC. These studies involve 69 papers between 2003 and 2015 (Govindan and Soleimani 2017). As shown in Table 1, no study is performed in the area of oil and related fields during 12 years. This reason encouraged us to make a research in this area.

Table 1 Classification of papers related to CLSC

Oil involves many derivatives such as kerosene, lubricant, gasoline, and tar. In this study, we concentrate on the lubricants. Engine oil that is one of the important products which is used in cars for lubrication of engine parts. Since oil is one of the expensive and non-renewable products, designing an optimized reverse logistics will be advantageous both financially and environmentally (Özceylan and Paksoy 2013).

This paper aims to design a closed-loop reverse logistics for collecting used engine oil that will be used in manufacturing centers. Most of real-world supply chain (SC) problems are complex due to high number of indices which increase the dimension of the problem and it may lead to inefficiency of routine solution approaches (Fahimnia et al. 2013). Regarding increase in the size of problem, exponential growth in complexity makes the model become NP-hard (Park et al. 2007; Jolai et al. 2011). To deal with this problem, meta-heuristic solution methodologies are applied in this study. The algorithms that have been employed in this study are NSGA-II, MOSA, and MOPSO. In order to validate the results generated by each algorithm, three meta-heuristics are used.

The paper is composed of the following sections. In “Literature review,” a comprehensive study is performed to examine earlier researches and introduce the present research path. The problem is described and the mathematical model is represented in “Problem statement” section. Meta-heuristics are presented in the “Solution methodology”. The criteria are introduced in “Performance measure.” Taguchi approach is discussed in “Parameter setting,” and finally, brief results of the study and future research recommendations are provided in “Conclusion and future research” section.

Literature review

In this section, solution methodologies for solving mathematical models are presented specifically supply chain network models which were proposed by recent researchers. Since the current work focused on the meta-heuristic solution approaches the field of the supply chain, the concerned papers are discussed as follows.

Bandyopadhyay et al. (2008)proposed a new simulated annealing (SA) called archived multi-objective simulated annealing (AMOSA). The proposed algorithm was compared with two other solution methods: (1) non-dominated sorting genetic algorithm (NSGA-II) (2) Pareto archived evolution strategy (PAES). The results showed better performance of AMOSA than NSGA-II and PAES. Mahdavi et al. (2009) designed a model for a cell formation problem in cellular manufacturing was designed for this problem. Genetic algorithm was used for solving the model. Simple and uniform crossovers as well as a heuristic mutation generate new solutions. A genetic algorithm was implemented for optimization that showed better results than other methods. Pishvaee et al. (2009) discussed a reverse logistics network. This network was formulated using a mixed integer linear programming model. Due to NP-hardness of the problem, a simulated annealing (SA) algorithm was used to solve the proposed model. Priority-based chromosome representation was used in order to encode solutions. The results of different sizes of problems showed intangible differences between exact and meta-heuristic method. Altiparmak et al. (2009) designed a SC network which was solved using a steady-state genetic algorithm (ssGA). The results obtained from ssGA were compared with some exact and heuristic algorithms which outperformed them. Lee et al. (2009) considered a reverse SC. The proposed model was solved using a hybrid genetic algorithm. A novel method is used for crossover to generate elite offsprings called weight mapping crossover (WMX). Pishvaee et al. (2010) designed a bi-objective model for a SC which involves two objective functions of maximizing responsiveness and minimizing costs. Due to insufficient search capability of genetic algorithm, a memetic algorithm is used for local search improvement. Since two objective functions are defined in their model, a multi-objective algorithm is implemented for optimizing the proposed model. Umar et al. (2012) discussed a vehicle routing problem (VRP) which was formulated as a single-objective mathematical model. Since GA was implemented for solving this problem, the priority-based method was used for genetic representation. Subramanian et al. (2013) considered a CLSC network, and then the simulated annealing algorithm was conducted in the proposed CLSC using a priority-based encoding for chromosome representation. Yang et al. (2013) considered a mixed-model assembly line which contains a multi-objective function. To solve this model, an extended version of the genetic algorithm is used, called multi-objective genetic algorithm (MOGA). Partial representation is implemented for chromosome representation. Lotfi and Tavakkoli-Moghaddam (2013) discussed a transportation problem which was solved using a genetic algorithm. New operators of crossover and mutation were proposed in their paper. The priority-based algorithm was tested against spanning-tree-based algorithm by different instances of small, medium and large-sized problems that outperformed for medium and large-sized problems. Ghasimi et al. (2014) proposed a model for a defective goods SC network with an objective function of minimizing costs. This model determines the appropriate length of each cycle based on the importance of customer lead time using just-in-time logistics. Finally, the results of CPLEX solver and the GA are compared that CPLEX showed better results. The chromosomes are displayed in a matrix representing quantity variable. Yadegari et al. (2015) implemented a memetic algorithm for an NP-hard problem of an integrated forward-reverse logistics network. Random path-based direct decoding procedure is used for the delivery and recovery path generation. Pasandideh et al. (2015) implemented two bi-objective optimization methods of NRGA and NSGA-II to solve the model for a SC network. Priority-based was used for chromosome representation. NSGA-II for outperformed NRGA in this problem. Santosa and Kresna (2015) designed a mathematical model for a warehouse location problem. Simulated annealing was used for solving the model. Quantity of variables construct the chromosome matrix. An 11% gap exists between exact and meta-heuristic methods. Since computation time is more important, SA outperforms the exact method. Liu et al. (2015) designed a multi-objective model. Two maximizing and one minimizing objective functions are used. To solve the model, a modified version of NSGA-II called I-NSGA-II is implemented which enhances diversity and convergence of the solutions. Sarrafha et al. (2015) designed a SC that was formulated as an MILP model. A multi-objective biogeography-based optimization (MOBBO) was utilized as a solution methodology. Habitat structure was used to represent the chromosome. The results of their method are compared with NSGA-II and MOSA algorithms. Kumar et al. (2015) designed a mathematical model for a reverse logistics. To solve the model, an artificial bee colony approach was utilized. Mousavi et al. (2016) discussed a bi-objective mathematical model for an inventory optimization problem. The reviewed papers are classified in Table 2, according to the implemented algorithms.

Table 2 A brief of reviewed meta-heuristic algorithm

Among reviewed papers, the papers that utilized priority-based representation are classified according to the type of the proposed supply chain and its specifications in Table 3.

Table 3 The main classification of supply chain papers considering priority-based representation

Based on the reviewed papers, none of the studies have been performed on the closed-loop supply chains considering multi-objective, multi-product, and multi-period models. Current paper considers a CLSC for collecting used engine oil that is multi-product, multi-period, and multi-objective. In this study, the NSGA-II, MOSA, and MOPSO multi-objective solution methods are utilized to get the optimal solution for the proposed multi-objective mathematical model.

Problem statement

Used engine oil collection involves several layers that have been studied practically to obtain information for designing the supply chain network. The flow of collected used oil starts from vendors and continues to collection centers and then to the manufacturing centers. Two types of manufacturing centers are considered. Type one is manufacturing centers using the original oil to produce product type one; the second type is manufacturing centers that purify used engine oil and use it in the type two product. In the forward supply chain, products are distributed from manufacturing centers to distribution centers and finally to vendors. Described CLSC is presented in Fig. 1.

Fig. 1
figure 1

Illustration of the proposed closed-loop logistics

Assumptions, notations, and parameters

  • Manufacturing centers are two types. The first one is manufacturing type one that produces products type one using original oil and the second one is manufacturing type two which produces products by used engine oil.

  • Some hybrid centers are defined which function as distribution and collection centers.

  • Used engine oil is supplied by vendors and original oil is provided by the suppliers.

  • The capacity of containers that is used for transferring the used engine oil from vendors to collection centers is PO1.

  • Vehicles which transfer oil from collection centers to manufacturing centers have a capacity of PO2.

Considering the defined problem and its assumptions, a model is designed for the proposed SC. The notations, parameters, and decision variables are as follows:

Indices

c

Index of the first type of products; c = 1,…, C

d

Index of the second type of products; d = 1,…, D

r

Index of products; r = c ∪ d

i

Index of the first type of manufacturing plants (MPs); i = 1,…, I

j

Index of the second type of MPs; j = 1,…, J

p

Index of MPs; p = i ∪ j

e

Index of distribution centers (DCs); e = 1,…, E

f

Index of collection centers (CCs); f = 1,…, F

h

Index of hybrid (multi-purpose) centers; h = 1,…, H

k

Index of distribution and multi-purpose centers; k = d ∪ h

k′

Index of collection and multi-purpose centers; k′ = c ∪ h

v

Index of vendors; v = 1,…, V

t

Index of periods; t = 1,…,T

Parameters

C rpt

Production cost related to product r which is produced in MP p in period t

WEI r

Weight of product r

TC1 rpkt

Cost of shipping product r from MP p to DC k in period t

TC2 rkvt

Cost of shipping product r from DC k to vendor v in period t

\( TC3_{{vk^{\prime}t}} \)

Cost of shipping one unit of used engine oil from vendor v to CC k in period t

\( TC4_{{k^{\prime}pt}} \)

Cost of shipping one unit of used engine oil from CC k to MP p in period t

Cap rpt

Capacity of MP r for product p in period t

Cap kt

Capacity of DC k in period t

\( Cap_{{k^{\prime}t}}^{{\prime \prime }} \)

Number of available PO2 containers in CC k in period t

Cap ′″ vt

Capacity of vendor v to supply used oil in period t

BE vt

Purchase cost for each PO1 container of used oil from vendor v in period t

PP rpt

Price of product r in MP p in period t

\( {\text{B}}_{\text{rt}} \)

Shortage cost of product r in period t

τ r

Amount of oil to produce one unit of product r

PO1

Weight of small container to ship used oil from vendors to collection and hybrid centers

PO2

Weight of each tanker of used engine oil shipped from CC to MP

D rvt

Demand of vendor v for product r in period t

RI k′v

Rate of risk of supplying used oil by vendor v to CC k′

EC e

Establishment cost of DC of e

EC f

Establishment cost CC of f

EC h

Establishment cost of h

M

A big number

Decision variables

Q rpt

Quantity of production of product r in MP p in period t

X rpkt

Quantity of product r shipped from MP p to DC k in period t

Y rkvt

Quantity of product r shipped from DC k to vendor v in period t

\( Y^{\prime}_{{vk^{\prime}t}} \)

Amount of used oil transferred from vendor v to CC k in period t

\( X^{\prime}_{{k^{\prime}pt}} \)

Amount of used oil transferred from CC k′ to MP p in period t

L rvt

Shortage of product r for vendor v in period t

DES e

If DC e is open 1, otherwise 0

CES f

If CC f is open 1, otherwise 0

HES h

If HC h is open 1, otherwise 0

Mathematical model

The first objective function (1) is maximizing total profit. It is obtained by SC costs from total incomes.

$$ {\text{Max}}\;Z_{\text{1}} = {\text{INCOMES}} - {\text{COSTS}} $$
(1)

Term (2) shows incomes obtained from selling products in the forward direction of the SC network.

$$ \text{INCOMES} = \sum\limits_{r} {\sum\limits_{p} {\sum\limits_{t} {\sum\limits_{k} {\sum\limits_{v} {PP_{rpt} } } } } } Y_{rkvt} $$
(2)

Terms (3) and (4) show facility establishment and production costs, respectively.

$$ \text{COSTS} = \sum\limits_{e} {\text{EC}_{e} \text{DES}_{e} } + \sum\limits_{f} {{EC^{\prime}}_{f} \text{CES}_{f} } + \sum\limits_{h} {{EC^{\prime\prime}}_{h} \text{HES}_{h} } $$
(3)
$$ { + }\sum\limits_{r} {\sum\limits_{p} {\sum\limits_{t} {{\text{C}}_{rpt} Q_{rpt} } } } $$
(4)

Transportation costs between facilities are obtained from term (5).

$$ \begin{aligned} { + }\sum\limits_{r} {\sum\limits_{p} {\sum\limits_{k} {\sum\limits_{t} {TC1_{rpkt} WEI_{r} X_{rpkt} } } } } + \sum\limits_{r} {\sum\limits_{k} {\sum\limits_{v} {\sum\limits_{t} {TC2_{rkvt} WEI_{r} Y_{rkvt} } } } } \hfill \\ { + }\sum\limits_{v} {\sum\limits_{{k^{\prime}}} {\sum\limits_{t} {TC3_{{vk^{\prime}t}} \times PO1 \times Y^{\prime}_{{vk^{\prime}t}} } } } + \sum\limits_{{k^{\prime}}} {\sum\limits_{p} {\sum\limits_{t} {TC4_{{k^{\prime}pt}} } } } \times PO1 \times X^{\prime}_{{k^{\prime}pt}} \hfill \\ \end{aligned} $$
(5)

Terms (6) and (7) represent used engine oil purchase cost and forward products shortage costs, respectively.

$$ { + }\sum\limits_{v} {\sum\limits_{{k^{\prime}}} {\sum\limits_{t} {BE_{vt} \times \left\lceil {Y^{\prime}_{{vk^{\prime}t}} } \right\rceil } } } $$
(6)
$$ { + }\sum\limits_{r} {\sum\limits_{v} {\sum\limits_{t} {B_{rt} L_{rvt} } } } $$
(7)

Minimization of total risks of purchasing used oil from vendors is represented as the second objective function in Eq. (8).

$$ {\rm Min} \, Z_{2} = \sum\limits_{v} {\sum\limits_{{k^{\prime}}} {\sum\limits_{t} {RI_{{k^{\prime}v}} \times Y^{\prime}_{{vk^{\prime}t}} } } } $$
(8)

Finally, minimizing the shortage of products is obtained from the third objective function in term (9).

$$ {\text{Min Z}}_{ 3} = \sum\limits_{r} {\sum\limits_{\text{t}} {\left(\frac{{\sum\nolimits_{\text{v}} {L_{rvt} } }}{{\sum\nolimits_{\text{v}} {{\text{D}}_{\text{rvt}} } }} \right)} } $$
(9)

Constraints

The number of products transferred from manufacturing centers to distribution centers should equal the quantity of production in manufacturing centers (10).

$$ Q_{rpt} - \sum\limits_{k} {X_{rpkt} } = 0\quad \forall r,p,t $$
(10)

Constraints (11) present the balance of flow in distribution centers. To generate a feasible solution, it is mandatory that output from DCs be less than or equal to input to DCs.

$$ \sum\limits_{p} {X_{rpkt} } - \sum\limits_{v} {Y_{rkvt} } = 0\quad \forall r,k,t $$
(11)

Constraint (12) presents shortages of forward products. If the number of transferred products to vendors are less than their demands, there will be shortages of products.

$$ \sum\limits_{k} {Y_{rkvt} } + L_{rvt} = D_{rvt} \quad \forall r,v,t $$
(12)

The balance of flow in collection centers is specified using constraint (13).

$$ PO1\sum\limits_{v} {Y^{\prime}_{{vk^{\prime}t}} } - PO2 \left(\sum\limits_{r} {X^{\prime}_{{k^{\prime}rt}} } \right) = 0\quad \forall k^{\prime},t $$
(13)

Maximum allowed production in manufacturing centers is bounded by their capacities in term (14). Capacity is defined for each product r in each manufacturing center p in period t.

$$ Q_{rpt} \le cap_{rpt} \quad \forall r,p,t $$
(14)

Each vendor has a certain capacity to supply used engine oil that is shown in constraint (15). This capacity is the amount of used engine oil that can be provided by each vendor in each period as the resources of producing the second type of products.

$$ PO1 \times \sum\limits_{{k^{\prime}}} {Y^{\prime}_{{vk^{\prime}t}} } \le cap_{vt}^{'''} \quad \forall v,t $$
(15)

Collection centers have a capacity of processing used engine oil due to the number of the vehicle for shipment that is shown in Eq. (16).

$$ \sum\limits_{v} {Y^{\prime}_{{vk^{\prime}t}} } \le PO2 \times cap^{\prime\prime}_{{k^{\prime}t}} \quad \forall k^{\prime},t $$
(16)

Since products type two are produced by used engine oil, the quantity of production is specified using constraint (17).

$$ \sum\limits_{d} {WEI_{d} \tau_{d} } Q_{djt} = \sum\limits_{{k^{\prime}}} {PO2 \times X^{\prime}_{{k^{\prime}jt}} } \quad \forall j,t $$
(17)

Constraints (18)–(25) are defined to control variables to be activated when a center is open. If a center is open, the right side of the constraint can take amount.

$$ X_{rpet} \le M \times DES_{e} \quad \forall r,p,e,t $$
(18)
$$ X_{rpht} \le M \times HES_{h} \quad \forall r,p,h,t $$
(19)
$$ Y_{revt} \le M \times DES_{e} \quad \forall r,e,v,{\text{t}} $$
(20)
$$ Y_{rhvt} \le M \times HES_{h} \quad \forall r,h,v,t $$
(21)
$$ Y^{\prime}_{vct} \le M \times CES_{f} \quad \forall v,c,f $$
(22)
$$ Y^{\prime}_{vht} \le M \times HES_{h} \quad \forall v,h,t $$
(23)
$$ X^{\prime}_{fjt} \le M \times CES_{f} \quad \forall f,j,t $$
(24)
$$ X^{\prime}_{hjt} \le M \times HES_{h} \quad \forall h,j,t $$
(25)

The domain of decision variables is specified in Eq. (26).

$$ \begin{array}{ll} {DES_{e} \in {\text{ }}\left\{ {0,1} \right\}} \hfill &\quad {\forall e \in E} \hfill \\ {CES_{f} \in \left\{ {0,1} \right\}} \hfill &\quad {\forall f \in F} \hfill \\ {HES_{h} \in \left\{ {0,1} \right\}} \hfill &\quad {\forall h \in H} \hfill \\ {Q_{{rpt}} \ge 0,{\text{ integer}}} \hfill &\quad {\forall r,p,t} \hfill \\ {X_{{rpkt}} \ge 0,{\text{ integer}}} \hfill &\quad {\forall r,p,k,t} \hfill \\ {Y_{{rkvt}} \ge 0,{\text{ integer}}} \hfill &\quad {\forall r,k,v,t} \hfill \\ {L_{{rvt}} \ge 0,{\text{ integer}}} \hfill &\quad {\forall r,v,t} \hfill \\ {Y_{{vk^{\prime } t}}^{\prime } ,X_{{k^{\prime } vt}}^{\prime } \ge } \hfill &\quad {\forall {\text{v,}}k^{\prime } ,t} \hfill \\ {} \hfill &\quad {\forall k^{\prime } ,v,t} \hfill \\ \end{array} $$
(26)

Solution methodology

Different solution methods are utilized in order to solve problems. In case of simple problems, routine methods can be used. However, by increasing the problem size, the routine solution methods would not work efficiently (Leu and Yang 1999). In these cases, using optimization techniques that are called evolutionary techniques are advantageous. Genetic algorithm (GA), particle swarm optimization (PSO), and simulated annealing (SA) are of these methods.

In this paper, three meta-heuristic algorithms are utilized for optimization. Using different algorithms can validate the accuracy of results. Since the model involves three objective functions, using multi-objective solution methodology is necessary. Non-dominated sorting genetic algorithm (NSGA-II), multi-objective simulated annealing (MOSA), and multi-objective particle swarm optimization (MOPSO) are used for this purpose. Two encoding schemes are proposed which are priority-based and permutation encoding. In the priority-based representation, the priorities of the nodes are shown by the values in a list. According to this method, the nodes with higher values of priorities are selected earlier (Peng and Wei 2008; Taleizadeh et al. 2010). In this paper, priority-based encoding is utilized due to its compatibility with the problem.

Chromosome representation

Chromosomes are encoded using three methods: (1) encoding based on edge, (2) encoding based on vertex, and (3) encoding based on edge-and-vertex (Gen and Cheng 2000). Using the last method, sources and depots are used. When |K| is the number of sources and |J| is the number of depots, the dimension of the proposed matrix for GA representation will be |K|·|J| and the length of this matrix is |K| + |J|. The values of genes for this chromosome are between 1 and |K| + |J|. Each gene presents two kinds of values that is the locus and the allele. The locus shows the position of the value that is representative of the source or depot and the allele which is the value of the priority. Since transportation trees are generated for a set of sources and depots, the highest priority should be considered in each chromosome to select a source or depot (Altiparmak et al. 2009). These transportation problems should be solved to obtain the flow between a source and a depot. As the constrained optimization problems require constraints to be met, feasibility check is necessary. To prevent from generating infeasible solutions, using the repair mechanism is mandatory. Priority-based representation method is used to generate feasible solutions without using excessive repair mechanism (Gen and Cheng 2000). To apply priority-based encoding, stages should be clarified in the SC. The proposed SC is divided into four stages which is shown in Fig. 2. These stages are used in all the proposed algorithms such as NSGA-II, MOPSO and MOSA.

Fig. 2
figure 2

Representation of stages in the supply chain

NSGA-II

NSGA-II is a multi-objective optimization algorithm which is used to generate Pareto solutions for multi-objective models. The main procedure of NSGA-II is based on the GA that is shown in Fig. 13. Generated populations are ranked using non-dominated sorting procedure (Pasandideh et al. 2015; Safaei et al. 2017). Ranked solutions create the Pareto fronts. The crowding distance and the rank are calculated for each solution. New solutions generated by crossover and mutation operators are added to the current populations. New population is sorted and the population size is selected from these solutions (Pasandideh et al. 2015; Taleizadeh et al. 2011). Populations consist of so-called chromosomes that are the strings of values called genes. According to this definition, a chromosome is an initial solution. A chromosome is designed for each stage. The representation for each stage is shown in Fig. 3. The encoding procedure that is specified for each stage is presented in the “Appendix”.

Fig. 3
figure 3

Chromosome representation for stage 1

Crossover and mutation operators

Due to defining priorities in these chromosomes, mutation and crossover should be specified in a way that duplication will be prevented. To perform crossover, order crossover (OX) was implemented. Two cut points are determined in each chromosome. The first cut point is determined in each row and the second one is determined in each column. As shown in Fig. 4, the darker parts are selected from the first parent and the white part is selected from the second one. The rest of priorities in each row are obtained from the second parent (Pasandideh et al. 2015).

Fig. 4
figure 4

Crossover representation

In case of mutation, two positions are changed randomly for all the periods. The mutation is shown in Fig. 5.

Fig. 5
figure 5

Mutation representation

MOSA

Simulated annealing (SA) is adapted from metal annealing. In this process, the metal is heated so that its particle can move freely. As the temperature decreases, the movement will be more limited. Solutions in problems are defined as particles in the metal. A minimum temperature is defined in simulated annealing process to which the initial temperature is decreased (Bandyopadhyay et al. 2008). In higher temperatures, solutions can be changed more freely in comparison to lower temperatures. SA provides the acceptance of worse solutions with a certain probability which increases the domain of local search (Santosa and Kresna 2015). Simulated annealing generates new solutions in the neighborhood of the original solution (Altiparmak et al. 2009). Since SA is a single-objective algorithm, MOSA provides a method for generating Pareto solutions. In this method, the concept of domination is used for ranking the populations. Solutions are allocated to different fronts so that the solutions in each front are non-dominated. Solutions are selected according to their ranks (Sarrafha et al. 2015). The pseudo code of simulated annealing is represented below. SA uses local search for finding solutions. A solution is generated at random initially which is updated by neighborhood procedure. If the objective function is reduced, the current solution is changed otherwise the solutions will be retained. The iteration continues until no significant change will occur (Eglese 1990).

figure a

Neighborhood procedure

Neighborhood procedure is a mechanism which generates new solutions based on the initial solution. It works like crossover or mutation, but their procedures are not the same. To apply this procedure, some mechanisms such as swap, reversion and insertion are defined. By applying these mechanisms, new solutions are generated. In this paper, each gene contains a priority. Swap changes the positions of two positions. Reversion is a mechanism which generates new solution by reversing the positions. In the third method, called “insertion,” two positions are selected randomly. The first position is omitted and moved after that position (Sarrafha et al. 2015). The illustrations of the procedures are shown in “Appendix” Figs. 17, 18 and 19.

MOPSO

Particle swarm optimization (PSO) works with particles that is originally taken from the bird and fish movements (James and Russell 1995). PSO searches the solution space using particles that are updated in each iteration. Each particle is specified by its position and velocity. A swarm of particles is initialized randomly which will be modified according to two experiences: the local and the global best. The local best (personal best (Pbest)) is the best experience for each particle that is ever found and the global best (Gbest) is the best position among all the particles. Considering these two best sets, the velocity is computed for each particle by subtracting the local and global best from the current position (Prasanna Venkatesan and Kumanan 2012). The mechanism of updating each particle is defined by changing the velocity randomly.

Velocity update

Although the priority-based representation simplifies the optimization procedure, updating velocities may be too complex because the routine velocity formula cannot update the permutation. In formula (27), c 1 and \( {\text{c}}_{2} \) are the local and global learning coefficients.

$$ \begin{aligned} v_{ij}^{t} = v_{ij}^{t - 1} + c_{1} r_{1} (p_{ij}^{t - 1} - x_{ij}^{t - 1} ) + c_{2} r_{2} (G_{j}^{t - 1} - x_{ij}^{t - 1} ), \hfill \\ x_{ij}^{t} = x_{ij}^{t - 1} + v_{ij}^{t} , \hfill \\ \end{aligned} $$
(27)

In this study, a specific mechanism for updating the priority-based encoding approach is used which keeps the priority values exclusive. In order to create such a mechanism, the theory of vector similarity is defined. According to this theory, the solutions are considered as vectors. The vector resemblance-degree between the current and Pbest position (p i ) and the current and the Gbest position (g) specifies the way which that the current vectors (x i ) should be changed in order to obtain velocity. The vector of resemblance-degree between the current particle (vector) and Pbest is denoted by r(p i x i ) and similarly Gbest by r(gx i ). Vectors are specified by their magnitudes and directions. The magnitude of a vector is calculated using formula (28).

$$ \left\| {x_{i} } \right\| = \sqrt {\sum\limits_{j = 1}^{k} {x_{ij}^{2} } } = \sqrt {\sum\limits_{j = 1}^{k} {j^{2} } } , \, i = 1,2, \ldots ,k $$
(28)

In order to calculate the vector resemblance-degree, the direction cosine between x i and Pbest or Gbest vector is calculated.

$$ m(p_{i} ,x_{i} ) = \frac{{\sum\nolimits_{j = 1}^{j} {x_{ij} *p_{ij} } }}{{\sqrt {\left( {\sum\nolimits_{j = 1}^{k} {x_{ij}^{2} } } \right)*\left( {\sum\nolimits_{j = 1}^{k} {p_{ij}^{2} } } \right)} }},\quad m(g,x_{i} ) = \frac{{\sum\nolimits_{j = 1}^{k} {x_{ij} *g_{j} } }}{{\sqrt {\left( {\sum\nolimits_{j = 1}^{k} {x_{ij}^{2} } } \right)*\left( {\sum\nolimits_{j = 1}^{k} {g_{j}^{2} } } \right)} }} $$
(29)

Formula (30) is used in order to specify the number of dimensions to be changed. In this formulation, “r” is a random number within [0, 1] and “w” is inertia weight parameter.

$$ s_{i}^{i + 1} = (r.w)s_{i}^{t} + (1 - r.w)\left( {\frac{{1 - m(p_{i} ,x_{i}^{t} )}}{2} + \frac{{1 - m(g,x_{i}^{t} )}}{2}} \right) $$
(30)

After a change occurred in a vector, velocity should be updated. The following formula calculates new velocity:

$$ v_{i}^{t + 1} = w*v_{i}^{t} + c_{1} r(p_{i} - x_{i}^{t} ) + c_{2} r(g - x_{i}^{t} ) $$
(31)

Position update

In particle swarm optimization, positions are updated considering velocities. In this study, positions take an integer value. Indeed, a permutation of integer numbers makes a string which creates the solutions. Since integer numbers compose the positions, velocities should also be an integer. The exclusive updating procedure for permutation string is presented in (32).

  1. 1.

    Round the velocity and number of dimensions.

    $$ v_{ik}^{t + 1} = \text{int} (v_{ik}^{t + 1} ),{\text{ s}}_{ik}^{t + 1} = \text{int} (s_{ik}^{t + 1} ) $$
    (32)
  2. 2.

    New positions of a vector are calculated according to the following procedure. Formula (33) generates values in interval [1,n]. When a value in the permutation changes from λ 1 to λ 2, another change should be done to keep the values in permutation exclusive. This change is replacing λ 2 by λ 1.

    $$ x_{ik}^{t + 1} = \left\{ {\begin{array}{ll} {\frac{{x_{ik}^{t} + v_{ik}^{t + 1} }}{n}},&\quad v_{ik}^{t + 1} \ge 0 \\ \frac{{x_{ik}^{t} + v_{ik}^{t + 1} }}{n} + n,&\quad v_{ik}^{t + 1} < 0 \\ \end{array} } \right. $$
    (33)

The graphical presentation of the permutation position updating is shown in Fig. 6 that can be useful for better understanding of this procedure (Peng and Wei 2008).

Fig. 6
figure 6

Position update

Performance measure

There are some measures defined for evaluating multi-objective meta-heuristics algorithms. In this study, four performance metrics are considered for assessing the proposed algorithms.

Number of Pareto solutions (NPS): This measure presents the number of Pareto optimal solutions in each algorithm.

Mean ideal distance (MID): This measure examines how close the Pareto solutions and ideal point (0, 0) are.

$$ MID = \frac{{\sum\nolimits_{i = 1}^{n} {c_{i} } }}{n} $$
(34)
$$ c_{i} = \sqrt {f_{1i}^{2} + f_{2i}^{2} + f_{3i}^{2} } \quad \begin{array}{l} {f_{{\text{1}i}} :\text{First}\;\text{objective}\;\text{function}} \\ {f_{2i} :\text{Second}\;\text{objective}\;\text{function}} \\ {f_{3i} :{\text{Third objective function}}} \\ \end{array} $$

Spread of non-dominance solution: This measure shows the diversity of Pareto solutions. The more diverse are Pareto solutions, the higher is this measure. The last metric is CPU time that measures running time of each algorithm (Karimi et al. 2010).

$$ SNS = \sqrt {\frac{{\sum\nolimits_{i = 1}^{n} {(MID - c_{i} } )^{2} }}{n - 1}} $$
(35)

Parameter settings

Optimization algorithms operate using different parameters, e.g., GA uses crossover and mutation rates, number of iterations and populations, selection pressure and other parameters. Parameter setting is necessary in order to run algorithms in its best performance. In addition, it decreases the number of experiments and CPU time (Sarrafha et al. 2015). There are several parameter tuning approaches for meta-heuristics algorithms referring to the historical researches, try and error, arranging full factorial experiments, Taguchi method, response level, neural network, and meta-heuristic algorithms (prior or during the main optimization algorithm). Taguchi presents the optimized number of controllable factors. In this study, Taguchi method is utilized because it is based on the design of experiment (DOE). The purpose of the design of experiments is performing a set of tests that make meaningful changes in input variables to evaluate the impact of response variables. The response variable is obtained at the end of each experiment. A number of experiments are obtained considering how many factors and levels are defined. The total number of experiments is calculated using the formula (36).

$$ {\text{Total}}\;{\text{number}}\;{\text{of}}\;{\text{experiments}} = \left( {{\text{number}}\;{\text{of}}\;{\text{levels}}} \right)^{{{\text{number}}\;{\text{of}}\;{\text{factors}}}} \times {\text{number}}\;{\text{of}}\;{\text{iterations}} $$
(36)

Two strategies are defined for performing the experiments: (1) changing one factor against other fixed factors. This method is called “one factor at time (OFAT). (2) Changing some factors simultaneously, so that the impact of each factor and their interactions will be specified. The second one is the so-called “DOE”.

To simplify the computation, orthogonal arrays are designed which presents a number of experiments considering a number of factors and levels. In order to perform Taguchi analyses, two methods are recommended. First, a standardized method in which analysis of variance (ANOVA) is used. Second, using signal to noise (S/N) ratio for the same stages in the analysis. The higher this ratio is, the variance around a specific amount will be lower (Roy 2010). Three levels are defined for each parameter in each algorithm according to its characteristics that is shown in Table 4.

Table 4 Algorithm parameters and their levels

Ten random instances are given to compare proposed algorithms. Table 5 shows dimensions of the instances. Parameters are generated randomly according to parameter ranges defined in Table 6.

Table 5 Dimension of each instance
Table 6 Ranges of parameters for generating random instances

Number of runs were specified by the orthogonal arrays considering number of factors and levels. An L9 design was recommended for NSGA-II, L27 design for MOSA and L27 for MOPSO algorithm according to orthogonal arrays in Minitab software. Since ten instances were generated, 270 test problems were solved for MOSA algorithm, 90 test problems were solved for NSGA-II and 270 test problems for MOPSO. Therefore, 630 runs were totally solved for Taguchi analysis. The outputs were normalized using formula (37) which is shown in Table 7. Table 7 contains three measures of MID, NPS, and SNS. As observed, the mechanism that is used for position update of MOPSO algorithm provides a spread search of the solution space. Thus, this procedure is very useful for a wide search.

Table 7 The normalized outputs for different approach
$$ N = \frac{{\left| {X - Y} \right|}}{Y}\quad \begin{array}{l} {X:{\text{Present}}\;{\text{solution}}} \hfill \\ {Y:{\text{Best}}\;{\text{solution}}} \hfill \\ \end{array} $$
(37)

The formula (38) was utilized for calculating the scores. Since all results are normalized, test problems with minimum scores are selected.

$$ {\text{Score}} = \sum\limits_{i = 1}^{I} {w_{i} v_{i} } \quad \begin{array}{l} {w_{i} :{\text{weight}}\;{\text{of}}\;{\text{criterion}}} \hfill \\ {v_{i} :{\text{value}}\;{\text{of}}\;{\text{data}}} \hfill \\ \end{array} $$
(38)

The computations are executed on a Desktop Computer with core™ i7 3.50 GHz CPU. The scores and CPU time are computed for each algorithm, shown in Table 8. In order to compare three algorithms, performance measures “w” consisting of weighted summation of MID, NPS and SNS and CPU time were used. Both criteria of NSGA-II are minimum, so it its ranked first. Figures 7, 8, 9, and 10 show the comparison among three algorithms considering performance measures.

Table 8 Decision matrix
Fig. 7
figure 7

MID related to each algorithm

Fig. 8
figure 8

NPS related to each algorithm

Fig. 9
figure 9

SNS related to each algorithm

Fig. 10
figure 10

CPU time related to each algorithm

According to the analyses, NSGA-II is selected. Taguchi approach is conducted for parameter tuning which can enhance the performance of NSGA-II. The Taguchi analyses are performed for instances that are generated using data in Table 5. In this table, instances are classified to three types of problems: small, medium and big-size problems. Three instances are selected from Table 5, i.e. 1, 5 and 10, on behalf of all the problems. Pareto fronts of the optimal solutions for instances 1, 5 and 10 in Fig. 11 present proper diversity of the generated solutions for NSGA-II, MOSA and MOPSO.

Fig. 11
figure 11

Optimal solutions for instances 1, 5 and 10

In order to interpret results, two criteria of the mean of means and signal to noise ratio (S/N) are defined. The lower values of the mean of means and the higher S/N ratio show the better results that is shown in Fig. 12. Based on this figure, NSGA-II parameters are tuned for each instance. The tuned parameters are population, crossover rate, mutation rate, and iteration.

Fig. 12
figure 12

Mean of means and S/N ratio of instances 1, 5 and 10

Conclusion and future research

In this study, a CLSC of the used engine oil is optimized using different meta-heuristics. Optimizing small-size problems can be performed using optimization software. However, in case the dimensions of the problems increase, the new optimization tools dominate the routine optimization software. The Meta-heuristic algorithms are one of these methods that assists engineers to solve the big-size problems faster. In this paper, three meta-heuristic algorithms are utilized to optimize the proposed mathematical model. Since a multi-objective model is discussed, a multi-objective meta-heuristic should be applied in this case. The NSGA-II, MOSA and MOPSO are three algorithms implemented to deal with the multi-objective model. The feasibility control of the constraints is very essential, so it encouraged us to concentrate on the priority-based encoding and position update very carefully. In all the algorithms, a priority-based encoding is used. Instances are generated randomly to compare the capability of three algorithms. To compare three algorithms, MID, NPS, SNS, and CPU time are used as measures. Considering these criteria, NSGA-II outperformed other algorithms for the closed-loop supply chain of engine oil. This algorithm works better than other proposed algorithms for sophisticated problems such as closed-loop used engine oil logistics. Taguchi approach that is used in this study helps enhance the performance of the present algorithm and determine the best present of operational parameters.

This study could be pursued by the direction of solution methodology and parameter settings. Other algorithms can be provided to compare the performance of the proposed algorithms and other algorithms. For enthusiasts of supply chain management, there would be an option to modify the mathematical model to cover the requirement in used engine oil collection. Vehicle routing for distribution and collection part of the proposed supply chain can be complementary to the proposed mathematical model. In addition, other objective functions could be added to the present objective functions to cover real-world problems. Considering the uncertainty of real-world problems can be helpful for this purpose.