1 Introduction and literature review

Supply chain is an aggregate string of organizations, tasks and actions to produce and deliver a product or service. It also refers to a network of facilities and distribution methods to provide the material, transport the raw material and final products and deliver the products to the customers. In this regard, management of the provided products is the best method to minimize the costs to satisfy the customers. The purchase section of the supply chain is completely responsible for the procedure of the supplier selection, purchase decision procedure and finding resources (Aissaoui et al. 2007).

Evaluating and selecting the suppliers analyze, evaluate and select the suppliers as a part of the supply chain. Different methods have been developed to evaluate and select the suppliers; for instance comparative, weighing and cost ratio methods can affect the selection validity (Li et al. 1997). The supplier selection is a multi-criterion decision making problem whose criteria might be contradicting. Therefore, purchase management analyzes different criteria (Tahriri et al. 2008). The supplier selection is based on singular and multiple resource findings (Jàfarnezhad et al. 2008).

Regarding the significance of transportation in supply chain, it cannot be neglected. Depending on the cargo type and location, there are various methods of transportation: ground (road and railroad), marine, air and pipe transportations. Most researches in global logistic have considered the transportation cost as a usual accounting problem which is an important decision making task with significant impacts on the management and supply chain. In addition, transportation cost has a major part in the final cost of the products. In the delivery optimization problems, the product price is generally one of the main parameters. In addition, carriers with different capacities and transportation conditions have allowed to change the transportation time and cost which requires a comprehensive investigation. Thus, a combination of the decision making in orders’ plan and selecting the source and appropriate carrier can reduce the total cost of planning horizon giving rise to delivery of more appropriate amount of orders (Choudhary and Shankar 2014).

Considering the environmental problems caused by transportation, such problems are recognized as most effective ones on the environment. These problems include resource consumption, land use and greenhouse gas emission. Apart from the mentioned negative effects, emission of greenhouse gases is directly related to destruction of ozone layer. Necessity of considering this problem is originated from the fact that transportation-induced gas emission has a major contribution in air pollution of most countries. Given the increasing concerns on such dangerous effects, the implementation of a strict transportation plan to reduce the fuel consumption and air pollution is essential. As a green rule in supply chain, management of green supply chain is a newly proposed concept which has received considerable researches. In this definition, the green supply chain management seeks for approaches to reduce the environmental pollutants for a better life and increase the customers’ attention to gain more profit and reduce the transportation costs (Dekker et al. 2012).

Numerous researchers have been conducted on transportation and resource selection in the supply chain, and several mathematical models have been proposed to solve these problems in recent years. Barzinpour and Taki (2015) investigated a two-channel green supply chain to reduce the pollution caused by the transportation section. Pishvaee and Rabbani (2011) proposed a two-channel multi-level supply chain with direct and indirect distribution channels and a model to minimize the transportation costs. Shaw et al. (2012) studied the supplier selection using a fuzzy AHP and proposed a multi-objective model for fuzzy linear programming with emphasis on carbon reduction in the chain. Şenyiğit (2013) studied a three-level supply chain by selecting appropriate suppliers considering the fault rate.

Wang et al. (2011) studied the problem of designing a supply chain considering the environmental pollutions and proposed a multi-objective optimization problem to overcome the trade-off between the total cost and the environmental effects due to the importance of investment decisions in the design phase. Seuring and Müller (2008) observed a positive relationship between selection of a green source and green supply chain; their findings were based on the Delphi method. Noci (1997) proposed a ranked framework to select the resources based on the environmental condition. Bai and Sarkis (2000) studied the problem of supplier selection in a green supply chain from the environmental stability point of view and developed a model to evaluate the green suppliers considering the economic, environmental and social issues. Jamshidi et al. (2012) addressed a multi-objective model and solved a model for designing a supply chain to minimize the annual costs considering the environmental effect including transportation-induced NO2 and CO emission and supply chain costs (transportation cost and holding/delayed orders). Humphreys et al. (2003) studied a framework to integrate the environmental factors and sourcing selection, and the proposed factors like quality and flexibility to evaluate the suppliers’ performance. Paksoy et al. (2010) proposed a model to reduce the total cost, prevent CO2 emissions and encourage the customers to use recyclable products and offered different transportation methods between supply chain according to CO2 emissions. Elhedhli and Merrick (2012) considered a supply chain network considering the CO2 emissions. They modeled the emission costs alongside the fixed and variable locations and production costs.

Agha Mohammad Ali Kermani et al. (2015) studied the supplier selection by considering some real-world assumptions and selected the best suppliers in terms of quality, price and on time delivery employing the imperialist competitive algorithm to solve the problem. Jolai et al. (2011) considered a supply chain network including a producer, several factories and distribution centers, retailers and customers. They developed a multi-objective programming model for integrating production–distribution network with the contradicting objectives, and they also used the genetic algorithm (GA) to solve the problem. Sadeghi Moghadam et al. (2010) modeled the material flow in the supply chain in different supplies, productions and distribution sections of Kachiran Company with an integrated approach. After solving the problem with GA, they obtained the best satisfactory solution with minimum cost. Then, they compared the proposed model with real values of variables to validate the model and concluded that the costs were reduced in the model.

Considering the studies conducted in this field, several conventional models have been focused on cost, quality, time and other problems, and they, however, have not considered the greenhouse gas emission and evaluation of suppliers and carriers. Inappropriate selection of suppliers and carriers may impose high costs to the company and directly affect the final price of the product. Therefore, suppliers and producers have to completely evaluate their current potentials to manage carbon emission and set appropriate objectives to reduce the greenhouse gas emission.

The aim of this research is to select the best supplier to decrease the transportation cost and rejection of raw material; the selected supplier should also provide on time delivery along with declining the greenhouse gas emission. As a general definition, the purpose of this study is to design an integrated decision making model by considering selection of carrier and supply resources in a three-level supply chain to reduce the transportation cost and rejection ratio based on material quality such that they are compatible with environmental conditions while considering the limitations of greenhouse gas emission.

We expanded the green supplier selection model to include carrier selection and simultaneously allow for trade-offs between cost and quality of raw materials. In this research, a mixed-integer programming model was employed to optimize amount of supplier-provided material and the product sent to the distributor as well as selecting the appropriate carriers and opening the distribution centers. Regarding the new assumptions and complexity of the problem, a multi-objective meta-heuristic algorithm was applied. Previous researches proved the superiority of the proposed algorithm. Also, the nature of multi-objective supplier selection problem matches with this algorithm, so this meta-heuristic algorithm was selected to solve the problem.

Furthermore, according to the published papers in this field, several examples of numerical problems were randomly generated and solved using multi-objective imperialist competitive algorithm. According to the findings, features such as carrier selection and environmental factors provide well real-world approximation of the decision process for selecting the supplier demonstrating the potential efficacy of these concepts.

The rest of this article includes the following sections: The problem is modeled in Sect. 2 according to its assumptions. Section 3 provides the solution of exact epsilon method, while the multi-objective imperialist competitive algorithm results are presented in Sect. 4. Conclusions are made in Sect. 5.

2 Modeling the problem

2.1 Assumptions

Assumptions of this research are as follows:

  • Supply chain has three levels (supplier, producer and customer).

  • Suppliers are independent, and each supplier responds to a part of demands.

  • Each supplier has a limited production capacity.

  • Buyers’ demands are certain and predefined.

  • Transportation cost differs for different carriers.

  • Each supplier offers a different price for its products.

  • Products are sent by carriers with different capacities.

  • The problem is offered with a single product.

  • Problem is studied in single period.

  • A decision maker (buyer or customer) decides on selecting one or several suppliers and carriers.

  • Suppliers prepare customer’s demand in different delivery times

  • Greenhouse gas emission is an environmental issue studied in terms of economic impacts.

Figure 1 shows the studied supply chain and relationships among its different levels:

Fig. 1
figure 1

Supply chain structure

2.2 Indices

i :

producer (factory), i = 1, …, I

j :

distributer (customer), j = 1, …, J

m :

supplier, m = 1, …, M

s :

raw material type used to produce final product, s = 1,…,S

v :

carrier (vehicle), v = 1, … ,V

2.3 Parameters

d j :

jth distributor’s demand

f i :

fixed cost of establishing ith factory

g i :

fixed cost of establishing jth distributor

C i :

cost of processing each product unit in producer i

C sm :

cost of buying each product unit of s from supplier m

θ i :

penalty cost for each pollution unit for factory i

θ miv :

penalty cost for each pollution unit for carrier v from supplier m to producer i

\( \theta_{ijv}^{{\prime \prime }} \) :

penalty cost for each pollution unit for carrier v from producer i to distributor j

Resmi:

rejection ratio of raw material s sent from supplier m to producer i (based on its quality)

FLv:

cost fuel (per liter) for vehicle v

K v :

amount of fuel consumed by carrier v (per kilometer) (in liter)

Distmi:

distance between supplier m and distributor j

Distij:

distance between producer i and distributor j

P smiv :

provision cost (waybill cost and lateral costs) for sending each unit of raw material s from supplier m to producer i by carrier v

P ijv :

provision cost (waybill and lateral costs) for sending each unit of product from producer i to distributor j via carrier v

m ms :

maximum supplier capacity in providing raw material s

m i :

maximum production capacity of the factory i

CPv:

maximum load which can be transported by carrier v from producer to distributor

CPsv:

maximum amount of raw material s which can be transported by carrier v from supplier to producer

GPs:

amount of raw material required to produce one product

DLijv:

delivery time of each product from producer i to distributor j by carrier v

DTjv:

maximum delivery time to distributor j by carrier v

U i :

amount of greenhouse gas emission for producing each product unit in producer i

\( U_{smiv}^{{\prime }} \) :

amount of greenhouse gas emission for transporting each raw material unit s by carrier v from supplier m to producer i

\( U_{ijv}^{{\prime \prime }} \) :

amount of greenhouse gas emission for transporting each product unit by carrier v from producer i to distributor j

Ψ :

maximum acceptable level for greenhouse gas emission in the whole chain

h sm :

cost of ordering product s to supplier m

2.4 Model variables

E smiv :

amount of material s bought from supplier m by producer i and carried by carrier v

X ijv :

amount of product sent from producer i to distributor j by carrier v

N smiv :

equals 1 if carrier v is used to send material s from supplier m to producer i; otherwise it is 0

N ijv :

equals 1 if carrier v is used to send load from producer i to distributor j; otherwise it is 0

B i :

equals 1 if producer i is active; otherwise 0

W j :

equals 1 if distribution center j is open; otherwise 0

F ms :

equals 1 if supplier m satisfies the producer demand for material s; otherwise 0

2.5 Formulating the model

The model can be described as:

$$ \begin{aligned} {\text{Min}}\,z_{1} & = \mathop \sum \limits_{i} f_{i } B_{i} + \mathop \sum \limits_{j} g_{i } w_{j} + \mathop \sum \limits_{m} \mathop \sum \limits_{i} \mathop \sum \limits_{v} \mathop \sum \limits_{s} C_{sm } E_{smiv} \\ & \quad + \mathop \sum \limits_{m} \mathop \sum \limits_{i} \mathop \sum \limits_{v} \mathop \sum \limits_{s} \left( {{\text{FL}}_{V } K_{V } {\text{Dist}}_{mi} } \right)N_{smiv } + \mathop \sum \limits_{m} \mathop \sum \limits_{s} h_{ms } F_{ms } + \mathop \sum \limits_{i} \mathop \sum \limits_{j} \mathop \sum \limits_{v} C_{i } X_{ijv } \\ & \quad + \mathop \sum \limits_{m} \mathop \sum \limits_{i} \mathop \sum \limits_{v} \mathop \sum \limits_{s} P_{smiv } E_{smiv } + \mathop \sum \limits_{i} \mathop \sum \limits_{j} \mathop \sum \limits_{v} \left( {{\text{FL}}_{v } K_{v } {\text{Dist}}_{ij} } \right)N_{ijv } + \mathop \sum \limits_{i} \mathop \sum \limits_{j} \mathop \sum \limits_{v} P_{ijv } X_{ijv } \\ & \quad + \mathop \sum \limits_{i} \mathop \sum \limits_{j} \mathop \sum \limits_{v} U_{ijv}^{\prime \prime } X_{ijv } \theta_{ijv }^{\prime \prime } + \mathop \sum \limits_{i} \mathop \sum \limits_{j} \mathop \sum \limits_{v} U_{i} X_{ijv } \theta_{i } + \mathop \sum \limits_{s} \mathop \sum \limits_{m} \mathop \sum \limits_{i} \mathop \sum \limits_{v} U_{smiv} E_{smiv } \theta_{miv} \\ \end{aligned} $$
(1)
$$ {\text{Min }}z_{2} = \mathop \sum \limits_{s} \mathop \sum \limits_{m} \mathop \sum \limits_{i} U_{v} \text{Re}_{smi } E_{smiv } $$
(2)
$$ {\text{St}}: \mathop \sum \limits_{i} \mathop \sum \limits_{v} X_{ijv} = d_{j} \quad \forall j $$
(3)
$$ \mathop \sum \limits_{m} \mathop \sum \limits_{v} E_{smiv } \ge {\text{GP}}_{s } \mathop \sum \limits_{j} \mathop \sum \limits_{v} X_{ijv } \quad \forall i,s $$
(4)
$$ \mathop \sum \limits_{j} \mathop \sum \limits_{v} X_{iJv } \le B_{i } m_{i} \quad \forall i $$
(5)
$$ \mathop \sum \limits_{i} \mathop \sum \limits_{v} E_{smiv } \le F_{ms } m_{ms} \quad \forall m,s $$
(6)
$$ {\text{CP}}_{sv} N_{smiv } \ge E_{smiv} B_{i} \quad \forall i,m,s,v $$
(7)
$$ {\text{CP}}_{v} N_{ijv} \ge X_{ijv} W_{j} \quad \forall j,i,v $$
(8)
$$ {\text{DL}}_{ijv} X_{ijv} N_{ijv} \le {\text{DT}}_{j} X_{ijv} N_{ijv} \quad \forall i,j,v $$
(9)
$$ \sum\limits_{i} {\sum\limits_{j} {\sum\limits_{v} {U_{i} X_{ijv} + \sum\limits_{i} {\sum\limits_{j} {\sum\limits_{v} {U_{ijv}^{\prime \prime } X_{ijv} + \sum\limits_{s} {\sum\limits_{m} {\sum\limits_{i} {\sum\limits_{v} {U_{smiv}^{\prime } E_{smiv} \le \varPsi } } } } } } } } } } $$
(10)
$$ F_{ms} ,B_{i} ,W_{j} ,N_{ijv} ,N_{smiv} \in \left\{ {0,1} \right\}\quad \forall m,i,j,s,v $$
(11)
$$ E_{smiv} ,X_{ijv} \ge 0\quad \forall i,j,v,m,s $$
(12)

(1) An objective function for minimizing the chain total costs including the fixed costs (cost of establishing factories and distribution centers), transportation cost, fuel cost and cost of ordering to the supplier, as well as the other costs such as buying raw material from supplier and final product from the producer, penalty costs for greenhouse gas emission. (2) An objective function for minimizing the rejection ratio of raw material sent from the supplier to the producer. The rejection ratio from each supplier can be determined based on the quality of the raw material. (3) Constraints of responding to the distributor’s demands in the supply chain. (4) Constraints of balancing raw material and produced goods between the two levels of the supply chain. (5) and (6) The limited capacities of production centers and suppliers. (7) and (8) The limitations of carrier capacity between two levels of supply chain. This means that the amount of goods transmitted between the levels of supply chain should not exceed the carrier capacity between two levels. (9) Constraints of distributor’s delivery time. (10) Limitations of green approach for designing a green supply chain. This limitation indicates the maximum acceptable greenhouse gas emission from the whole chain which includes the pollution caused by transportation and production unit. (11) and (12) determine the sign of constraints of decision variables.

3 Validating the model

In order to validate the model, a small problem was considered which included two suppliers with two different types of raw materials, two factory locations and two distribution centers with two transportation carriers possessing different transportation costs and capacities between the two layers of the chain. For production of the required data, a proper uniform distribution was used. For example, penalty cost for each pollution unit produced by each carrier and amount of emitted greenhouse gases for transporting each unit of raw material s had uniformly distributed values (0.5, 0.25) and (1.8), respectively.

The amount of raw material for producing each product from s1 and s2 was 4 and 8 units, respectively. The demands of two customers are also given in Table 1.

Table 1 Customers’ demands

This problem was coded using GAMS and run on a PC with Core Duo 2.13 GHz. The results are presented in Table 2. In order to solve this problem using epsilon constraint method, Δ was considered 1. Table 2 lists the optimum values of objective functions using epsilon method in which the first column is for Pareto solution obtained from the example, while the second one gives chain costs for each point and the third column shows rejection rate. So, it can be concluded that reducing the first objective function (costs) can increase the rejection rate of the raw material s sent from supplier to producer. Figure 2 also shows the variation in the objective function by the number of carriers. As it can be seen, increase in the number of carriers enhanced the chain costs. Figure 3 indicated the variation in the objective function versus the number of suppliers. It can be seen an increase in the number of suppliers elevated the chain cost.

Table 2 Optimum values of objective functions
Fig. 2
figure 2

Impact of the number of carriers on the cost

Fig. 3
figure 3

Impact of the number of suppliers on the cost

In the following, some small, medium and large examples were solved and their computation results are presented in Table 3.

Table 3 Examples with different sizes solved by GAMS

4 Meta-heuristic algorithm

Since the problem was NP-hard, the computation time exponentially increases by the enhancement of problem size. In this regard, efficient approaches such as meta-heuristic algorithms were employed. On the other hand, as the proposed model had two objectives, the applied algorithms should be able to solve the multi-objective problems. The techniques employed to solve the multi-objective problems are divided into classic and evolutionary classes. Classic or numerical methods include weighted sum, goal programming and epsilon constraint. Since each method has its own drawbacks, evolutionary-based methods were proposed to resolve them. These methods exploit the concept of the dominant set. One of the evolutionary and meta-heuristic methods is used to optimize the multi-objective problems in imperialist competitive algorithm (ICA). Considering the variety of multi-objective evolutionary algorithms and according to the literature review of the computational methods, ICA showed to be more efficient compared to the other algorithms. Imperialist competitive algorithm employs a novel optimization insight and establishes a new relationship between the human sciences and the social sciences on the one hand and between the technology and mathematics on the other hand. The advantages of the proposed algorithm can be summarized as follows:

  • Novelty of its basic idea: This is the first optimization algorithm based on a social–political process

  • Ability to optimize the levels and even higher compared to different optimization algorithms while facing various optimization problems

  • Proper solution speed (Atashpaz-Gargari 2009).

4.1 Imperialist competitive algorithm

This algorithm starts by generating several countries; in fact, countries are the possible solutions of the problem within the definition of evolutionary algorithms like chromosome in GA. Imperialist competitive algorithm improves the initial solution by the following procedure, and it finally offers the optimal solution of the problem (desired country). This algorithm mainly relies on assimilation, imperialist competition and revolution. In fact, it imitates social, economic and political evolution of countries and present operators (in form of algorithm) by mathematical modeling of this process, which can be helpful in solving complex optimization problems. This algorithm considers solutions as countries and tries to improve the solution through an iterative process to obtain the optimum solution of the problem at the end (Atashpaz-Gargari and Lucas 2007).

The aim of optimization is to find an optimum solution with respect to the problem variables. An array of the problem variables which need optimization is created; here, this array is called a country. First, a number of these countries should be created; therefore, a matrix of total countries is randomly formed. Cost of a country (Eq. 13) is obtained by evaluating f function in variables (p1, p2, …, pNvar); therefore,

$$ \text{Cos} {\text{t}}_{i} = \, f\left( {{\text{country}}_{i} } \right) = f(p_{1} ,p_{2} ,p_{3} , \ldots ,p_{{N_{\text{var}} }} ) $$
(13)

Imperialist competitive algorithm searches for the best country by generating an initial set of coefficients and classifying them as imperials and applying attraction policy from colonial to colonies and creating an imperialist competition among empires. To start the algorithm, a number of initial countries are created. The best members of this population (countries with minimum cost function) are selected as the imperialist. Remaining countries form colonies which belong to an empire. The power of each empire is calculated based on its normalized cost.

Imperialist competitive algorithm starts with the initial state of all empires. Evolution trend is a loop which continues until stop condition is satisfied. Figure 4 shows the formation process of the initial empires. As shown, larger empires have more colonies. In the mentioned figure, imperialist 1 created the strongest imperial and with the highest number of colonies.

Fig. 4
figure 4

Formation of the initial empires

4.1.1 Modeling attraction policy: colonies movement toward imperialist

Attraction policy is aimed to analyze the cultural and social structure of colonies within the culture of central authority. Considering how a country is presented in an optimization problem, it is the central authority which applies the attraction policy to make the colony more similar to itself in terms of political and social aspects. This part of optimization algorithm is modeled as movement of colonies toward imperialist as schematically shown in Fig. 5.

Fig. 5
figure 5

General scheme of the colonies movement toward the imperialist

According to this figure, the imperialist attracts the colony in cultural and linguistic aspects. Colony moves X units toward the imperialist along the line connecting the colony to the imperialist. Sometimes there are some deviations in movement of the colony toward imperialist which are shown in Fig. 6 with \( \theta \).

Fig. 6
figure 6

Real movement of colonies toward imperialist

4.1.2 Revolution, sudden change in position of a country

In imperialist competitive algorithm, revolution is modeled with random movement of a colony to a new position. Revolution in algorithm viewpoint saves the evolutionary movements from being trapped in local optimums which sometimes improves a country and takes it to a better optimal state. Intensity of these changes can be defined by parameter alpha which could be either partial or total.

4.1.3 Moving position of the colony and the imperialist

Although attraction policy destroys the social and political structures of a country, but in some cases, it could have some positive impacts as well. While colonies move toward the colonial, some of these colonies might achieve a position better than the imperialist. (They reach points in the cost function which generates less cost compared to the colonial). In such situation, colonial and the colony change their positions and the algorithm continues with the new colonial; this time it is the new imperialist who applies the attraction policies to its colonies. Figure 7 illustrates how a colonial and a colony change their positions. In this figure, best colony of the empire (with the lowest cost compared to the imperialist) is shown darker. Figure 8 depicts the whole empire after changing the positions.

Fig. 7
figure 7

Colonial and colony change their position

Fig. 8
figure 8

Whole empire after positions were changed

4.1.4 Total power of an empire

Total power of an empire (Eq. 14) is defined as the power of a colonial plus a fraction of its colonies’ total power. Thus, total cost of an empire is:

$$ {\text{TC}}_{n} = {\text{Cost}}({\text{imperialist}}_{n} ) + \xi {\text{mean}}\{ {\text{Cost}}({\text{colonies}}\,{\text{of}}\,{\text{empire}}_{n} )\} $$
(14)

where TCn is the total cost of the nth empire and ξ denotes a positive value ranging between 0 and 1 (which is usually close to zero). This makes total cost of an empire to be equal to the cost of the central authority, while an enhancement in ξ will increase the colonies costs. Typically, ξ = 0.05 results in desirable solutions. In imperialist competitive algorithm, the fitness concept is the country’s power. In order to create colonials with respect to power of each country, stronger countries are selected as colonial, and then, the colonials start colonizing other countries with respect to their power (fitness). This competition is performed using roulette wheel.

4.1.5 Imperialist competition

If an empire fails to increase its power, it will lose its competitiveness and hence will be removed from the imperialist competitions. This process is gradual. This means that the weak empires lose their colonies during time and stronger empires seize these colonies and increase their power. Figure 9 schematically illustrates this process, where n is the weakest empire and one of its colonies is prone to the imperialist competition and empires 1 and 2 compete to seize it. When a colony is seized, operations of this step are fine.

Fig. 9
figure 9

General scheme of the imperialist competition

4.1.6 Weak empires falls

In imperialist competitions, weak empires gradually fall and their colonies will be seized by stronger empires. Different conditions can be considered for an empire. In the proposed algorithm, an empire is removed when it loses all of its colonies (Fig. 10). In this figure, empire 4 does not have power to compete since it lost all of its colonies; hence, it should be removed. The algorithm terminates when only one empire is remained, otherwise it returns to attraction step.

Fig. 10
figure 10

Weak empires fall

4.2 Multi-objective imperialist competitive algorithm

Since modeling the problem is a multi-objective process, multi-objective imperialist competitive algorithm was used for optimization. Multi-objective problems include different objectives which are either maximum or minimum. In fact, when a better solution cannot be found for objectives of the problem, solution vector can call a Pareto optimal vector. Suppose that instead of generating a unique solution, it generates a set of solutions called Pareto optimum. Numerous methods have been developed to select the best solutions in multi-objective algorithms where crowding distance is used to rank the solutions in this algorithm. This process will be briefly described in continue.

4.2.1 Crowding distance

For uniform distribution of the solutions along the optimal Pareto front and assigning higher priority to predominant solutions in less-populated areas, crowding distance was proposed by Deb et al. (2002). This new approach does not require heavy computation and has less complexity and multiplexing function challenges. In order to estimate density of solutions in a specific point of a population, mean distance of two points (at two opposite sides of the points) is used. The value of crowding distance for a solution i is the value of the largest square surface including solution i which does not include any other solutions. Considering Fig. 11, crowding distance for solution i can be calculated by Eq. (15):

Fig. 11
figure 11

Calculation of the crowding distance

$$ d_{i} = \frac{{f_{1}^{i + 1 } - f_{1}^{i - 1} }}{{f_{1}^{\hbox{max} } - f_{1}^{\hbox{min} } }} + \frac{{f_{2}^{i + 1} - f_{2}^{i - 1} }}{{f_{2}^{\hbox{max} } - f_{2}^{\hbox{min} } }} $$
(15)

Solutions i − 1 and i + 1 are the closest solutions before and after solution i.

In summary, crowding distance of the solutions set estimated the density of solutions around each specific solution in the population. Solution for each objective can be obtained by calculating the distance between two solutions on two sides. Crowding distance is an estimate of normalized space using closest neighbors of a solution. After assigning a crowding distance to each solution of the population, solutions are compared and ranked. In ranking, feasible space of the problem is considered and all available points in the feasible points are compared to the ideal point in terms of all objectives. Finally, a set of points of the same rank remain; none of them dominates the others, and they form the first front of the problem. Figure 12 shows Pareto front of a problem with minimizing objectives where F1 is the first front of the problem; none of its points is dominant over the others, and each point can be an appropriate solution for the problem Bilel et al. (2016). Considering methods used for selecting and determining optimal multi-objective models in imperialist competitive algorithm, crowding distance can be employed as a method for selecting the optimal points. Crowding distance is once used after creating the initial population (countries) and once after operators (revolution, etc.) and before selection for the next generation as completely described in Fig. 13.

Fig. 12
figure 12

Pareto fronts

Fig. 13
figure 13

Multi-objective imperialist competitive algorithm based on the crowding distance

4.3 Representation of the solution

For presentation of the solution algorithm, the solution structure should be first found. This structure should properly show all the solution components. In the imperialist competitive algorithm, a country is assigned to the proposed solution string of the problem. Each solution of the combinatorial optimization problem is represented with a country. Each country is a set of parameters proposing a solution for the algorithm. Thus, a country could be a string of numbers (discrete or continuous variables) or a matrix depending on the type of the problem. In other words, each vector of the state space is shown with a country. When creating a country, only independent variables of the problem are required and the superiority should be defined for each of them. Since dependent variables can be easily obtained by values of the independent variables, a solution should be presented for this problem specifying the amount of transmitted product in each section through which we can recognize if a facility is opened or closed, and whether a carrier is used or not. Such solution is comprised of two strings of numbers.

First string with length: producer * distributor * carrier

Second string with length: supplier * raw material * producer *  carrier

In fact, these two sections are two 3D and 4D matrices shown as a string. These strings are filled with decimal numbers ranging from zero to one.

4.4 Other properties of the algorithm

4.4.1 Evaluation function

For this problem, all the generated solutions are justifiable, unless production capacity, capacity of the vehicle, supply capacity constraints are not satisfied. The mentioned limitations are also applied to calculations of power. The power or fitness of each solution is inversely proportional to the solution cost.

4.4.2 Implementing model constraints

To make sure on application of all the constraints, one of its values should be considered in representation of the solution such that the infeasible solution is not considered; other values can be specified from the solution where its feasible part is also calculated in the objective function. It is calculated as if it is satisfied with solution representation except for the constraints on supply, production and transportation capacity and limitation of greenhouse gas emission. Violation from these constraints can be prevented by defining a penalty. Violation is multiplied by 100 and added to the objective function. In this way, a solution with high cost will be infeasible and dominated by the feasible ones.

4.5 Convergence

The algorithm continues until satisfaction of the convergence condition or completion of all the iterations. After a while, all the empires except one will fall and other countries will be controlled by this empire. In the new ideal world, all the colonies are administered by one empire and costs of the colonies are equal to the cost of the empire.

4.5.1 Stopping criterion

Evolution process is a loop which continues until a stopping criterion is met or all competing empires fall and only one empire remains.

4.6 Adjusting parameters

Regarding lack of the standard data, the mathematical model and efficiency of the proposed algorithm were validated by random generation of several problems. Dimensions of each problem were determined by the number of customers, suppliers, producers, carriers and raw materials. In order to adjust the algorithm parameters, three levels were considered for each parameter; ten random examples of each parameter were studied in ten runs for each level. Then, the quality of the parameters was studied by considering the number of Pareto points and the solution time. Table 4 shows different levels for each parameter:

Table 4 Different levels for parameters of the algorithm

In Table 5, ten examples are randomly generated and a ten-run average is presented for each level. For determining the value of population, it was observed that population of 100 offers more Pareto points in a more acceptable time compared to level 50 and 200; thus, 100 was recorded as the population parameter. The same procedure was performed to determine other parameters of the algorithm, and their suitable values were determined; finally, all desired parameters of the algorithm were specified as presented in Table 6.

Table 5 Variations in the proposed algorithm parameters with respect to the population parameter
Table 6 Final value recorded for parameters of the algorithm

4.7 Validation of the proposed algorithm

In this section, the results of the problem considered in subsection 3 are presented using multi-objective imperialist competitive algorithm along with its Pareto boundary. In addition, several indices including fitness and quality of the results were also investigated. Several measures were proposed to investigate the efficiency of multi-objective optimization problem:

4.7.1 Maximum spread

This measure was first developed by Zitzler (1999), which evaluates the length of diagonal of a cube constructed by final values of objectives for a set of predominant solutions. For instance, in a two-objective model, this index is equal to the Euclidean distance between the two boundary solutions in the objective space which can be calculated by Eq. (16):

$$ {\text{MS}} = \sqrt {\left( {\hbox{max} f_{1i} - \hbox{min} f_{1i} } \right))^{2} + (\hbox{max} f_{2i} - \hbox{min} f_{2i} )^{2} } $$
(16)

As this measure increases, the variety of solutions and efficiency of the algorithm will be enhanced.

4.7.2 Space measure

This measure considers the uniformity of predominant solutions. This measure has the following equation (Sedehzadeh et al. 2015):

$$ {\text{SM}} = \frac{{\sum\nolimits_{i}^{m - 1} {\left| {\mathop d\limits^{ - } - d_{i} } \right|} }}{{(m - 1)\mathop d\limits^{ - } }} $$
(17)

where di is the Euclidean distance between subsequent solutions in the predominant solutions set, \( \mathop d\limits^{ - } \) denotes the average of distances and m stands for the number of predominant solutions. The lower SM will result in higher performance and efficiency of the algorithm.

4.7.3 Mean distance from the ideal solution

This measure assesses the mean distance of predominant solutions from a presumably ideal one; it is calculated (Sedehzadeh et al. 2015) by Eq. (18):

$$ {\text{MID}} = \frac{1}{m}\sum\limits_{i = 1}^{m} {\sqrt {(f_{1i} - f_{1}^{\text{best}} ) + (f_{2i} - f_{2}^{\text{best}} )} } $$
(18)

This equation describes the mean Euclidean distance of the predominant solutions from the ideal one. An ideal solution is a solution with the least cost and maximum possible coverage. Naturally, the lower is this index, the higher is the algorithm efficiency.

4.8 Evaluating the performance of the proposed algorithm

In order to evaluate the performance of the proposed algorithm, a small example with two suppliers, two producers, two distribution centers, two carriers and two types of raw material was solved with the same parameters and data mentioned in subsection 3 using the proposed algorithm. The results are presented in Table 7.

Table 7 Predominant solutions of the algorithm

Figure 14 shows Pareto front obtained from the algorithm for a small example.

Fig. 14
figure 14

Pareto front from the algorithm

Points obtained in Table 7 are Pareto points of the algorithm; 18 points were obtained for the mentioned example while in epsilon constraint method, the number of predominant points was 6. The optimal front obtained from the proposed algorithm was almost similar to the Pareto front obtained by epsilon method. In some points where the epsilon failed to solve the algorithm, the proposed algorithm obtained three predominant points. Figure 15 compares the results obtained from the proposed algorithm with those of epsilon method where the blue points present the front obtained from exact method and the orange points show the results of the proposed algorithm.

Fig. 15
figure 15

Comparing the exact method and the proposed algorithm

The results obtained from measures of epsilon constraint and meta-heuristic algorithm for small example are given in Table 8.

Table 8 Results obtained from the measures with small size

According to Fig. 16, the results obtained from both methods are almost the same which reflects the efficiency of the algorithm. In addition, the number of predominant solutions obtained from the algorithm is more than those obtained from epsilon method which verifies the algorithm performance; however, the number of iterations is very high in this algorithm. In the small size example, reaching to optimal points took longer time compared to the epsilon method.

Fig. 16
figure 16

Comparing epsilon method and the proposed algorithm in a small size example

4.9 Evaluating the performance of the proposed algorithm in medium and large-scale problems

In this section, an example with medium size (three suppliers, three producers, three distribution centers, three carriers and two types of raw material) is studied to analyze the performance of the proposed algorithm; the results are given in Table 9.

Table 9 Results obtained for the medium size problem

According to Fig. 17, it can be concluded that except for the Pareto points, the exact method and the proposed algorithm are very close; but the algorithm found more points compared to the epsilon method. In addition, the time required to solve the problem in epsilon and exact methods was higher. The results of a large-scale problem with five suppliers, five factories, seven distribution centers, four carriers and two types of raw material are presented in Table 10.

Fig. 17
figure 17

Comparing epsilon method and the proposed algorithm for a medium size example

Table 10 Results obtained from measures for large-scale problems

According to Fig. 18, comparing the proposed algorithm and epsilon method for large-scale problem shows good algorithm performance. The results of small, medium and large-scale problems are compared in Fig. 19.

Fig. 18
figure 18

Comparing the epsilon and the proposed algorithm in the large-scale problem

Fig. 19
figure 19

Comparing the epsilon and the proposed algorithm with measures in different problems

According to the above diagram, it can be concluded that the proposed algorithm showed higher efficiency in small-scale problems. By increase in the problem size, its performance decreased. This algorithm is able to solve large-scale problem in a short time which is one of its advantages.

5 Conclusion

In this paper, a bi-objective model is proposed for a three-level supply chain to reduce the costs and rejection ratio in which the carriers were considered heterogeneous. In addition, supplier and carrier were selected in this model. The results were analyzed with GAMS, and epsilon constraint method was used to solve the model. Finally, since the solution time for large-scale problems was high, a multi-objective imperialist competitive algorithm was used whose results were analyzed using measures like distance and maximum distance from ideal solution. Considering this study, following fields might be studied in future works:

  • Considering new assumptions for the supplier selection: In this study, single-product supply chain was studied. The number of products can be increased. Furthermore, in addition to the environmental factors, other factors like satisfaction and security can be included in the model.

  • Other objective functions like social objective can also be addressed. Considering social objectives along with cost objectives might result in a sustainable chain.

  • Considering the uncertainty in some parameters: In some cases, a probability distribution cannot fit due to less information. In such condition, considering the demand as the fuzzy functions and developing new models might be an attractive topic for future studies. In terms of uncertainty approaches, see for example Abu Qamar and Hassan (2019), Grzegorzewski (2017), Saber and Alsharari (2018), Beg and Rashid (2014).

  • It is recommended to use the multi-objective meta-heuristic algorithms, like genetic algorithm, and particle swarm optimization algorithm to solve this problem and compare the results with those obtained from the imperialist competitive algorithm. In terms of solution approaches, the interested readers can refer to Abualigah (2019), Abualigah and Khader (2017), Abualigah and Hanandeh (2015), Abualigah et al. (2018a,b,c).