# Multiobjective Stochastic Programming for Mixed Integer Vendor Selection Problem Using Artificial Bee Colony Algorithm

Authors: Mostafa Ekhtiari; Shahab Poursafary
Journal: ISRN Artificial Intelligence
 (2013)

---

## Abstract

It has been always critical and inevitable to select and assess the appropriate and efficient vendors for the companies such that all the aspects and factors leading to the importance of the select process should be considered. This paper studies the process of selecting the vendors simultaneously in three aspects of multiple criteria, random factors, and reaching efficient solutions with the objective of improvement. Thus, selecting the vendors is introduced in the form of a mixed integer multiobjective stochastic problem and for the first time it is converted by CCGC (min-max) model to a mixed integer nonlinear single objective deterministic problem. As the converted problem is nonlinear and solving it in large scale will be time-consuming then the artificial bee colony (ABC) algorithm is used to solve it. Also, in order to better understand ABC efficiency, a comparison is performed between this algorithm and the particle swarm optimization (PSO) and the imperialist competitive algorithm (ICA) and Lingo software output. The results obtained from a real example show that ABC offers more efficient solutions to the problem solving in large scale and PSO spends less time to solve the same problem.


---

## Body

## 1. Introduction

In a competitive environment, to select and evaluate vendors are among the most important issues ahead of manufacturing companies as the expenses of procuring raw materials largely contribute to the final cost of a product. Vendor selection is one of the most important activities of a purchasing department and the selection of an appropriate vendor could largely result in decreases in purchase costs, delivery time, and an increase in customers’ satisfaction and company’s competition power. Companies are better off selecting as many appropriate vendors as they could commensurate with the production capacity of all potential vendors and establishing long lasting and useful relationships with them.What brings about desirable results for companies managers in their decisions on selecting vendors is the selection of vendors based on three aspects of multiple criteria, random factors, and the quality of the obtained results simultaneously. The selection process and the evaluation of vendors are a multiple objective issue indeed so that more than one criterion could be considered during this process. Moreover, decisions related to the selection of vendors become more intricate when different criteria are to be simultaneously dealt with in the decision making process. In the various evaluation methods proposed in the available literature, price, delivery performance, and quality are the most common criteria in evaluating suppliers [1].Several studies have been so far conducted on the selection of vendor problem with multiple objectives/criteria some of which are dealt with as follows.Weber and Current [2] presented a multiobjective approach to systematically analyze the inherent trade-offs involved in multiple criteria vendor selection problems. Yahya and Kingsman [3] proposed a new approach based on the use of analytic hierarchy process (AHP) method and applied it into vendor rating for a government sponsored entrepreneur development program in Malaysia. Lam and Tang [4] proposed a new integrated supply chain model for vendor allocation in a multiechelon supply chain. This model takes into account the usual cost objective and other important criteria in a multiechelon supply chain ranging from the most upstream suppliers’ quality to end customers’ satisfaction level through a large-scale multi-objective linear programming (MOLP).Lin et al. [5] proposed a novel hybrid multiple criteria decision making (MCDM) technique to cope with the complex and interactive vendor evaluation and selection problem which can determine the structural relationships and the interrelationships amongst all the evaluation’s dimensions and support the analytic network process (ANP) method to arrange appropriate weightings to each dimension and criterion in the evaluation model by summarizing the opinions of the experts. Hsu et al. [6] proposed how the best selection to conduct the recycled materials can be implemented for enhancing and increasing the efficiency of using resources in the manufacturing process through recycled materials vendor selection. They used the MCDM model combining DEMATEL-based on ANP (called DANP) with VIKOR to solve the recycled materials vendor selection problems of multiple dimensions and criteria that were interdependent. Furthermore, some of the latest works concerning multiple criteria decision making in vendor selection problem can be searched in Zanjirani Farahani and Fadaei [7], Li et al. [8], Zhang et al. [9], and Arunkumar et al. [10].One of the issues to be always accounted for in selecting vendors is to consider random factors and conditions that are likely to occur due to the existence of changing conditions and a dearth of information. To this end, some conventional techniques and methods, which consider the stochastic conditions of problem, should be used to select vendors. Stochastic programming deals with a class of optimization models and algorithms, in which all or some of the parameters may be subject to significant uncertainty. Stochastic programming is capable of inserting random factors in selecting and evaluating vendors.Leung et al. [11] illustrated the production planning problem in supply chain management, with additional constraints, such as production plant preference selection. To deal with the uncertain demand data, they proposed a stochastic programming approach to determine optimal medium-term production loading plans under an uncertain environment. Talluri et al. [12] presented a chance-constrained data envelopment analysis (CCDEA) approach in the presence of multiple performance measures of vendors that were uncertain. Xu and Ding [13] presented a class of chance-constrained multi-objective linear programming models with birandom coefficients for vendor selection problem. They designed a genetic algorithm (GA) based on bi-random simulation for solving a birandom multiobjective vendor selection problem. Zhimin et al. [14] developed a multiple objective mixed integer stochastic programming model for the vendor selection problem (VSP) with stochastic demand under multiproducts purchases. Kasilingam and Lee [15] proposed a mixed integer programming model to select vendors and determine the order quantities. The model considers the stochastic nature of demand, the quality of supplied parts, the cost of purchasing and transportation, the fixed cost for establishing vendors, and the cost of receiving poor quality parts. Their proposed model also considers the lead time requirements for the parts. Alonso-Ayuso et al. [16] presented a two-stage stochastic one-zero modeling and a related algorithmic approach for supply chain management under uncertainty. Zang et al. [17] developed a new chance-constrained programming model for supplier selection problem. In their proposed optimization problem, costs, quality, and lead times were characterized by random variables.A review of the researches conducted in this regard shows that the selection of vendors has been modeled in the form of zero and one variables. For example, Keskin et al. [18] proposed a mixed integer nonlinear model for integrated vendor selection under capacity constraints. On the other hand, the issues that are modeled on a large scale and based on zero and one increase the time to achieve a solution. Hence, the researchers make use of metaheuristic algorithms to overcome this problem. Many algorithms such as GA, ABC, and PSO have been introduced so far. In the literature, there are several researches on the use of these algorithms in optimizing the vendor selection problem as follows.He et al. [19] developed a class of special chance-constrained programming models and a GA designed for the vendor selection problem. They considered quality and service as uncertain parameters. Taleizadeh et al. [20] presented a multibuyer multivendor supply chain problem, in which the demand of each product was stochastic and was following a uniform distribution. The model of this problem was of an integer nonlinear programming type and in order to solve it a harmony search algorithm was employed. Also, to validate the solution and to compare the performance of the proposed algorithm, a GA was utilized as well. Huang et al. [21] used PSO algorithm to solve partner selection problem under uncertainty. Kuo et al. [22] developed an intelligent vendor decision support system by the collection of quantitative data such as profit and productivity, a PSO-based fuzzy neural network to derive the rules for qualitative data.ABC is one of the new metaheuristic algorithms that can be used for solving nonlinear problems on a large scale. The algorithm was first introduced by Karaboga [23]. This paper studies the performance of ABC in solving the stochastic problem of selecting vendors on a large scale. It is conducted with the objective to improve the vendors’ selection and evaluation process simultaneously at three aspects, that is, multiple criteria, random factors, and achievement of efficient solutions. For this purpose, the problem of vendor selection is introduced in the form of a mixed integer multi-objective stochastic problem as converted by CCGC (min-max) [24] into a mixed integer nonlinear single objective deterministic problem. The converted problem is nonlinear and its solution on the larger scale could be more time-consuming; therefore, in order to solve it, not only Lingo software; but also ABC, PSO, and ICA have been used and their performance is compared and evaluated from the view of solutions quality and the speed of reaching solutions.The rest of this paper is organized as follows. Section2 introduces the main structure of mixed integer multi-objective stochastic problem for vendor selection and the CCGC (min-max) model is reviewed in Section 3. In Section 4, some basic concepts on the ABC, the PSO, and the ICA are briefly introduced, respectively, for optimization of mixed integer nonlinear problem of vendor selection. Section 5 provides the background information for the case study problem and obtains the results. Also in this section, comparative evaluations are made to contrast the performances of these algorithms and discussions. Finally, conclusion remarks are drawn in Section 6.


## 2. The Mixed Integer Multiobjective Stochastic of Vendor Selection Problem

A general model for the multi-objective stochastic problem of vendor selection can be stated as follows:(1)max00000Zk(x)=∑j=1nc~kixiyi,k=1,…,K,min00000Zr(x)=∑j=1nc~rixiyi,r=K+1,…,R,subjectto∑i=1nyi≤Ny,subjecttox∈S,subjecttoyi∈{0,1},i=1,…,n,subjecttoxi∈{0,Z+},i=1,…,n.The objectives of Program (1) can be generally divided into two categories as follows. Some objectives are positive, and the aim is to maximize them. Some of these objectives are profit and/or quality, so that the aim is to select vendors, which increase these cases. The other category of the objectives is of negative type with the aim of minimizing. Some of these objectives are cost, wastes, and/or lead time. Therefore, our objective is to select vendors that decrease these objectives. The constraints of the model are such total demand volume from the vendors, minimum and maximum goods vendors being capable of providing and/or maximum vendors selected (Ny), where have been in brief displayed with x∈S in Program (1). In Program (1), yi, i=1,…,n, is a one-zero variable, where if yi is equal to l, that is to say, the vendor i is selected; otherwise, vendor i is not selected.Also, vectorx takes positive integer or zero values and if x∈S are system constraints that make solution space of the model and c~ki and c~ri are normal random parameters with known means and variances, then the objective is to maximize ∑i=1nc~kixiyi(fork=1,…,K) and minimize ∑i=1nc~rixiyi (forr=K+1,…,R).Program (1) can be solved by an appropriate optimization technique. Next section introduces the CCGC (min-max) model to solve Program (1) and multi-objective stochastic problems.


## 3. The CCGC (Min-Max) Model

The CCGC (min-max) model was proposed by Ekhtiari and Ghoseiri [24]. They introduced their deterministic equivalent programming model for solving multi-objective stochastic problems such as Program (1). The CCGC (min-max) model, which is equivalent to Program (1), can be stated as
(2)min00000v,subjecttov≥wk×(∑i=1nVar(c~ki)xi2yiUk-∑j=1nE(c~ki)xiyisubjectto00000000000+Φ-1(1-αk)subjectto00000000000×∑i=1nVar(c~ki)xi2yi),subjectto00000000000000000000000k=1,…,K,subjecttov≥wr×(∑i=1nVar(c~ri)xi2yi∑i=1nE(c~ri)xiyi-Ursubjectto000000000+Φ-1(1-αr)subjectto000000000×∑i=1nVar(c~ri)xi2yi),subjectto000000000000000r=K+1,…,R,subjectto∑i=1nyi≤Ny,subjecttox∈S,subjecttoyi∈{0,1},i=1,…,n,subjecttoxi∈{0,Z+},i=1,…,n,subjecttov≥0,
where wk and wr, respectively, are preference weights of objective k (k=1,…,K) and r (r=K+1,…,R), and ∑k=1Kwk+∑r=K+1Rwr=1 (wk,wr>0, for k=1,…,K and r=K+1,…,R). Also in Program (2),αk and αr, respectively, are the threshold value of objective k(k=1,…,K) and Φ(z)=prob(N(0,1)≤z) represents the probability distribution function of a standard normal distribution. Meanwhile, r (r=K+1,…,R) and Uk and Ur, respectively, are the utopia value of objective k (k=1,…,K) and r (r=K+1,…,R).Let us considercki* as the maximum value observed for objective k, variable i for all the state of nature ω(cki*=maxωc~ki). In Program (2), Uk is the best solution of the objective function ∑i=1ncki*xiyi subject to system constraints. In other words,
(3)Uk=max∑i=1ncki*xiyi,k=1,…,K,subjecttox∈S,subjecttoyi∈{0,1},i=1,…,n,subjecttoxi∈{0,Z+},i=1,…,n.Also, let us considercri* as the minimum value observed for objective r, variable i for all the state of nature ω(cri*=minωc~ri). In Program (2), Ur is the best solution of the objective function ∑i=1ncri*xiyi subject to system constraints. In other words,
(4)Ur=min∑i=1ncri*xiyi,r=K+1,…,R,subjectto00x∈Ssubjecttoyi∈{0,1},i=1,…,n,subjecttoxi∈{0,Z+},i=1,…,n.Program (2) is a nonlinear programming model whose solution by Lingo software results in local solutions. Therefore, in order to obtain effective solutions, one may make use of metaheuristic algorithms, which, in addition to original ABC, PSO, and ICA, will be reviewed in brief for solving the problem of selecting vendors.


## 4. Metaheuristic Algorithms

One of the common methods for solving optimization problems is metaheuristic algorithms. In some problems with structural complication, mathematical methods and software packages based on mathematical methods are not capable of solving them or their solution time is too lengthy. Some metaheuristic algorithms can be recommended for such problems. The structure of such algorithms is that, at first, they produce primary random population in the searching space, and then they make use of latent calculation intelligence in their structure; they move the solutions in such a way as to be directed towards optimal point.The main advantages of metaheuristic algorithms are as follows [25].(1)
Being robust to dynamic changes: traditional methods of optimization are not robust to dynamic changes in the environment and they require a complete restart for providing a solution. In contrary, evolutionary computation can be used to adapt solutions to the changing circumstances.(2)
Broad applicability: metaheuristic algorithms can be applied to any problems that can be formulated as function optimization problems.(3)
Hybridization with other methods: metaheuristic algorithms can be combined with more traditional optimization techniques.(4)
Solves problems that have no solutions: the advantages of metaheuristic algorithms includes the ability to address problems for which there is no human expertise. Even though human expertise should be used when it is needed and available, it often proves less adequate for automated problem-solving routines.Some of meta-heuristic algorithms as introduced are reviewed in brief as follows.


### 4.1. The ABC

ABC is one of the metaheuristic algorithms recently introduced. The stages of original ABC are as follows [26].In ABC algorithm, the position of a food source represents a possible solution to the optimization problem and the nectar amount of a food source corresponds to the quality (fitness) of the associated solution. The number of the employed bees or the onlooker bees is equal to the number of solutions in the population. At the first step, the ABC generates randomly distributed initial populationP (C=0) of SN solutions (food source positions), where SN denotes the size of employed bees or onlooker bees. Each solution xi (i=1,…,SN) is a D-dimensional vector. Here, D is the number of optimization parameters. After initialization, the population of the positions (solutions) is subject to repeated cycles, C=1,…,MCN, of the search processes of the employed bees, the onlooker bees, and the scout bees. An employed bee produces a modification on the position (solution) in her memory depending on the local information (visual information) and tests the nectar amount (fitness value) of the new source (new solution). If the nectar amount of the new one is higher than that of the previous one, the bee memorizes the new position and forgets the old one. Otherwise she keeps the position of the previous one in her memory. After all employed bees complete the search process, they share the nectar information of the food sources and their position information with the onlooker bees. An onlooker bee evaluates the nectar information taken from all employed bees and chooses a food source with a probability related to its nectar amount. As in the case of the employed bee, she produces a modification on the position in her memory and checks the nectar amount of the candidate source. If the nectar is higher than that of the previous one, the bee memorizes the new position and forgets the old one.The main steps of the algorithm are as follows.(1)
Initialize population.(2)
repeat.(3)
Place the employed bees on their food sources.(4)
Place the onlooker bees on the food sources depending on their nectar amounts.(5)
Send the scouts to the search area for discovering new food sources.(6)
Memorize the best food source found so far.(7)
until requirements are met.In ABC algorithm, each cycle of the search consists of three steps: sending the employed bees onto their food sources and evaluating their nectar amounts; after sharing the nectar information of food sources, selecting food source regions by the onlookers and evaluating the nectar amount of the food sources; determining the scout bees and then sending them randomly onto possible new food sources. At the initialization stage, a set of food sources is randomly selected by the bees and their nectar amounts are determined. At the first step of the cycle, these bees come into the hive and share the nectar information of the sources with the bees waiting on the dance area. A bee waiting on the dance area for making decision to choose a food source is called onlooker and the bee going to the food source visited by herself just before is named as employed bee. After sharing their information with onlookers, every employed bee goes to the food source area visited by herself at the previous cycle since that food source exists in her memory and then chooses a new food source by means of visual information in the neighborhood of the one in her memory and evaluates its nectar amount. At the second step, an onlooker prefers a food source area depending on the nectar information distributed by the employed bees on the dance area. As the nectar amount of a food source increases, the probability of that food source chosen also increases. After arriving at the selected area, the bee chooses a new food source in the neighborhood of the one in the memory depending on visual information as in the case of employed bees. The determination of the new food source is carried out by the bees based on the comparison process of food source positions visually. At the third step of the cycle, when the nectar of a food source is abandoned by the bees, a new food source is randomly determined by a scout bee and replaced with the abandoned one. In our model, at each cycle at most one scout goes outside for searching a new food source, and the number of employed and onlooker bees is selected to be equal to each other. These three steps are repeated through a predetermined number of cycles called maximum cycle number (MCN) or until a termination criterion is satisfied. An artificial onlooker bee chooses a food source depending on the probability value associated with that food source,pi, calculated by
(5)pi=fiti∑n=1SNfitn,
where fiti is the fitness value of the solution i which is proportional to the nectar amount of the food source in the position i and SN is the number of food sources which is equal to the number of employed bees or onlooker bees.In order to produce a candidate food position from the old one in memory, the ABC uses(6)vij=xij+φij(xij-xkj),
where k∈{1,…,SN} and j∈{1,…,D} are randomly chosen indexes. Although k is determined randomly, it has to be different from i. φij is a random number between [–1, 1]. It controls the production of neighbor food sources around xij and represents the comparison of two food positions visually by a bee. As can be seen from (6), as the difference between the parameters of the xij and xkj decreases, the perturbation on the position xij gets decreased, too. Thus, as the search approaches the optimum solution in the search space, the step length is adaptively reduced.If a parameter value produced by this operation exceeds its predetermined limit, the parameter can be set to an acceptable value. In this work, the value of the parameter exceeding its limit is set to its limit value.The food source of which the nectar is abandoned by the bees is replaced with a new food source by the scouts. In ABC, this is simulated by producing a position randomly and replacing it with the abandoned one. In ABC, if a position cannot be improved further through a predetermined number of cycles, then that food source is assumed to be abandoned. The value of predetermined number of cycles is an important control parameter of the ABC algorithm, which is called “limit” for abandonment. Assume that the abandoned source is xi and j∈{1,…,D}; then the scout discovers a new food source to be replaced with xi. This operation can be defined as
(7)xij=xminj+rand[0,1](xmaxj-xminj).After each candidate source positionvij is produced and then evaluated by the artificial bee, its performance is compared with that of its old one. If the new food source has an equal or better nectar than the old source, it is replaced with the old one in the memory. Otherwise, the old one is retained in the memory. In other words, a greedy selection mechanism is employed as the selection operation between the old and the candidate one.Totally, ABC algorithm employs four different selection processes:(1) a global probabilistic selection process, in which the probability value is calculated by (5), used by the onlooker bees for discovering promising regions, (2) a local probabilistic selection process carried out in a region by the employed bees and the onlookers depending on the visual information such as the color, shape and fragrance of the flowers (sources) (bees will not be able to identify the type of nectar source until they arrive at the right location and discriminate among sources growing there based on their scent) for determining a food source around the source in the memory in a way described by (6), (3) a local selection called greedy selection process carried out by onlooker and employed bees in which if the nectar amount of the candidate source is better than that of the present one, the bee forgets the present one and memorizes the candidate source produced by (6), otherwise, the bee keeps the present one in the memory, and (4) a random selection process carried out by scouts as defined in (7).It is clear from the above explanation that there are three control parameters in the basic ABC: the number of food sources which is equal to the number of employed or onlooker bees (SN), the value of limit, and the maximum cycle number (MCN).In the case of honeybees, the recruitment rate represents a measure of how quickly the bee colony finds and exploits a newly discovered food source. Artificial recruiting could similarly represent the measurement of the speed with which the feasible solutions or the good quality solutions of the difficult optimization problems can be discovered. The survival and progress of the bee colony are dependent upon the rapid discovery and efficient utilization of the best food resources. Similarly, the successful solution of difficult engineering problems is connected to the relatively fast discovery of good solutions especially for the problems that need to be solved in real time. In a robust search process, exploration and exploitation processes must be carried out together. In the ABC algorithm, while onlookers and employed bees carry out the exploitation process in the search space, the scouts control the exploration process. Detailed pseudocode of the ABC algorithm is given as follows.(1)
Initialize the population of solutionsxi, i=1,…,SN.(2)
Evaluate the population.(3)
cycle=1.(4)
repeat.(5)
Produce new solutionsvi  for the employed bees by using (6) and evaluate them.(6)
Apply the greedy selection process for the employed bees.(7)
Calculate the probability valuespi for the solutions xi by (5).(8)
Produce the new solutionsvi  for the onlookers from the solutions xi selected depending on pi and evaluate them.(9)
Apply the greedy selection process for the onlookers.(10)
Determine the abandoned solution for the scout, if exists, and replace it with a new randomly produced solutionxi by (7).(11)
Memorize the best solution achieved so far.(12)
cycle = cycle + 1.(13)
until cycle = MCN.


### 4.2. The PSO

This subsection will introduce the original PSO algorithm developed by Kennedy and Eberhart [27] for optimization of continues nonlinear functions. PSO was inspired by the motion of a flock of birds searching for food. During the search, each bird, called a particles adjust, its searching direction according to two factors, its own best previous experience (pbest) and the experience of all other members (gbest).Mathematically, assume that the searching space isD-dimensional. Let Xit=(xi1t,xi2t,…,xidt) be the particle i in D-dimensional vector, where Xit is treated as a potential solution that explores the search space by the rate of position change called velocity. The velocity is denoted as Vit=(vi1t,vi2t,…,vidt). Let Pit=(pi1t,pi2t,…,pidt) be the best particle i obtained until iteration t and let Pgt=(pg1t,pg2t,…,pgdt) be the global best in the population at iteration t. The basic procedure for implementing original PSO is described as follows [28].(1)
Create population of particles with random positions and velocities on the searching space.(2)
For each particle, evaluate the desired optimization fitness function and compare the evaluated fitness with its pbest. If the current particle is better than pbest, then set pbest to the current particle.(3)
Update particle velocities according to the following equation:(8)vidt=wvidt-1+c1rand(·)(pidt-xidt)+c2rand(·)(pgdt-xidt),
where c1 is the cognition learning factor, c2 is the social learning factor, rand(·) are random numbers uniformly distributed in U(0,1), and w is the inertia weight.(4)
Particles are changed to their new positions according to the following equation:(9)xidt+1=xidt(t)+vidt.(5)
Stop the algorithm if the stopping criterion is satisfied; return to Step 2 otherwise.The velocity update can improve the diversification of the search. To assure that the velocity would not lead the particles to move beyond boundaries, a maximum (Vmax) is set to limit the velocity range; any velocity tending to exceed it is brought back to it [29]. An inertia weight w is used to balance between global and local searches when updating the velocity in (8). The swarm population sizes ranging from 10 to 30 are the most common ones, and it has been learned that PSO requires a smaller population than is generally used in genetic algorithms to search for high quality solution [30].


### 4.3. The ICA

ICA is a novel global search strategy and inspired by the imperialistic competition based on the human’s sociopolitical evolution. This algorithm was first introduced by Atashpaz-Gargari and Lucas [31]. Imperialistic competition forms the core of the algorithm. This causes all countries to converge to an absolute minimum cost function. The original ICA starts with some countries as initial population, which is classified into two groups. Some of the countries with more power are selected to be the imperialist and all other countries with less power than the imperialists form colonies of them. The imperialist countries absorb the colonies based on their power using the absorption policy. The total power of an empire depends on both of its constituents, the imperialist country and the colonies. The mathematical expression of this relationship is defined as a power made up of the power of the imperialist country plus a percentage of the average power of the colonies.After the initial imperialists were formed, the imperialist competition step starts between them. Each imperialist that cannot act successfully in this competition to increase its power (or at least to prevent the loss of its influence) will collapse. Therefore, the survival of an imperialist depends directly on its ability to absorb the rival imperialists’ colonies and its ability to rule them out. Consequently, during the imperialist competition, gradually the power of larger imperialist is added and weaker imperialists will be removed. Those empires that want to increase their power will be forced to develop their own colonies. Thus, over time, colonies will be closer to imperialists, and a convergence will be seen. The convergence condition will be achieved when a single imperialist is created along with the colonies whose statues are very close to the imperialist country.In the next section, original ABC performance in solving a stochastic problem of selecting vendors in the form of a real example is reviewed in comparison to original PSO and ICA and Lingo software.


## 4.1. The ABC

ABC is one of the metaheuristic algorithms recently introduced. The stages of original ABC are as follows [26].In ABC algorithm, the position of a food source represents a possible solution to the optimization problem and the nectar amount of a food source corresponds to the quality (fitness) of the associated solution. The number of the employed bees or the onlooker bees is equal to the number of solutions in the population. At the first step, the ABC generates randomly distributed initial populationP (C=0) of SN solutions (food source positions), where SN denotes the size of employed bees or onlooker bees. Each solution xi (i=1,…,SN) is a D-dimensional vector. Here, D is the number of optimization parameters. After initialization, the population of the positions (solutions) is subject to repeated cycles, C=1,…,MCN, of the search processes of the employed bees, the onlooker bees, and the scout bees. An employed bee produces a modification on the position (solution) in her memory depending on the local information (visual information) and tests the nectar amount (fitness value) of the new source (new solution). If the nectar amount of the new one is higher than that of the previous one, the bee memorizes the new position and forgets the old one. Otherwise she keeps the position of the previous one in her memory. After all employed bees complete the search process, they share the nectar information of the food sources and their position information with the onlooker bees. An onlooker bee evaluates the nectar information taken from all employed bees and chooses a food source with a probability related to its nectar amount. As in the case of the employed bee, she produces a modification on the position in her memory and checks the nectar amount of the candidate source. If the nectar is higher than that of the previous one, the bee memorizes the new position and forgets the old one.The main steps of the algorithm are as follows.(1)
Initialize population.(2)
repeat.(3)
Place the employed bees on their food sources.(4)
Place the onlooker bees on the food sources depending on their nectar amounts.(5)
Send the scouts to the search area for discovering new food sources.(6)
Memorize the best food source found so far.(7)
until requirements are met.In ABC algorithm, each cycle of the search consists of three steps: sending the employed bees onto their food sources and evaluating their nectar amounts; after sharing the nectar information of food sources, selecting food source regions by the onlookers and evaluating the nectar amount of the food sources; determining the scout bees and then sending them randomly onto possible new food sources. At the initialization stage, a set of food sources is randomly selected by the bees and their nectar amounts are determined. At the first step of the cycle, these bees come into the hive and share the nectar information of the sources with the bees waiting on the dance area. A bee waiting on the dance area for making decision to choose a food source is called onlooker and the bee going to the food source visited by herself just before is named as employed bee. After sharing their information with onlookers, every employed bee goes to the food source area visited by herself at the previous cycle since that food source exists in her memory and then chooses a new food source by means of visual information in the neighborhood of the one in her memory and evaluates its nectar amount. At the second step, an onlooker prefers a food source area depending on the nectar information distributed by the employed bees on the dance area. As the nectar amount of a food source increases, the probability of that food source chosen also increases. After arriving at the selected area, the bee chooses a new food source in the neighborhood of the one in the memory depending on visual information as in the case of employed bees. The determination of the new food source is carried out by the bees based on the comparison process of food source positions visually. At the third step of the cycle, when the nectar of a food source is abandoned by the bees, a new food source is randomly determined by a scout bee and replaced with the abandoned one. In our model, at each cycle at most one scout goes outside for searching a new food source, and the number of employed and onlooker bees is selected to be equal to each other. These three steps are repeated through a predetermined number of cycles called maximum cycle number (MCN) or until a termination criterion is satisfied. An artificial onlooker bee chooses a food source depending on the probability value associated with that food source,pi, calculated by
(5)pi=fiti∑n=1SNfitn,
where fiti is the fitness value of the solution i which is proportional to the nectar amount of the food source in the position i and SN is the number of food sources which is equal to the number of employed bees or onlooker bees.In order to produce a candidate food position from the old one in memory, the ABC uses(6)vij=xij+φij(xij-xkj),
where k∈{1,…,SN} and j∈{1,…,D} are randomly chosen indexes. Although k is determined randomly, it has to be different from i. φij is a random number between [–1, 1]. It controls the production of neighbor food sources around xij and represents the comparison of two food positions visually by a bee. As can be seen from (6), as the difference between the parameters of the xij and xkj decreases, the perturbation on the position xij gets decreased, too. Thus, as the search approaches the optimum solution in the search space, the step length is adaptively reduced.If a parameter value produced by this operation exceeds its predetermined limit, the parameter can be set to an acceptable value. In this work, the value of the parameter exceeding its limit is set to its limit value.The food source of which the nectar is abandoned by the bees is replaced with a new food source by the scouts. In ABC, this is simulated by producing a position randomly and replacing it with the abandoned one. In ABC, if a position cannot be improved further through a predetermined number of cycles, then that food source is assumed to be abandoned. The value of predetermined number of cycles is an important control parameter of the ABC algorithm, which is called “limit” for abandonment. Assume that the abandoned source is xi and j∈{1,…,D}; then the scout discovers a new food source to be replaced with xi. This operation can be defined as
(7)xij=xminj+rand[0,1](xmaxj-xminj).After each candidate source positionvij is produced and then evaluated by the artificial bee, its performance is compared with that of its old one. If the new food source has an equal or better nectar than the old source, it is replaced with the old one in the memory. Otherwise, the old one is retained in the memory. In other words, a greedy selection mechanism is employed as the selection operation between the old and the candidate one.Totally, ABC algorithm employs four different selection processes:(1) a global probabilistic selection process, in which the probability value is calculated by (5), used by the onlooker bees for discovering promising regions, (2) a local probabilistic selection process carried out in a region by the employed bees and the onlookers depending on the visual information such as the color, shape and fragrance of the flowers (sources) (bees will not be able to identify the type of nectar source until they arrive at the right location and discriminate among sources growing there based on their scent) for determining a food source around the source in the memory in a way described by (6), (3) a local selection called greedy selection process carried out by onlooker and employed bees in which if the nectar amount of the candidate source is better than that of the present one, the bee forgets the present one and memorizes the candidate source produced by (6), otherwise, the bee keeps the present one in the memory, and (4) a random selection process carried out by scouts as defined in (7).It is clear from the above explanation that there are three control parameters in the basic ABC: the number of food sources which is equal to the number of employed or onlooker bees (SN), the value of limit, and the maximum cycle number (MCN).In the case of honeybees, the recruitment rate represents a measure of how quickly the bee colony finds and exploits a newly discovered food source. Artificial recruiting could similarly represent the measurement of the speed with which the feasible solutions or the good quality solutions of the difficult optimization problems can be discovered. The survival and progress of the bee colony are dependent upon the rapid discovery and efficient utilization of the best food resources. Similarly, the successful solution of difficult engineering problems is connected to the relatively fast discovery of good solutions especially for the problems that need to be solved in real time. In a robust search process, exploration and exploitation processes must be carried out together. In the ABC algorithm, while onlookers and employed bees carry out the exploitation process in the search space, the scouts control the exploration process. Detailed pseudocode of the ABC algorithm is given as follows.(1)
Initialize the population of solutionsxi, i=1,…,SN.(2)
Evaluate the population.(3)
cycle=1.(4)
repeat.(5)
Produce new solutionsvi  for the employed bees by using (6) and evaluate them.(6)
Apply the greedy selection process for the employed bees.(7)
Calculate the probability valuespi for the solutions xi by (5).(8)
Produce the new solutionsvi  for the onlookers from the solutions xi selected depending on pi and evaluate them.(9)
Apply the greedy selection process for the onlookers.(10)
Determine the abandoned solution for the scout, if exists, and replace it with a new randomly produced solutionxi by (7).(11)
Memorize the best solution achieved so far.(12)
cycle = cycle + 1.(13)
until cycle = MCN.


## 4.2. The PSO

This subsection will introduce the original PSO algorithm developed by Kennedy and Eberhart [27] for optimization of continues nonlinear functions. PSO was inspired by the motion of a flock of birds searching for food. During the search, each bird, called a particles adjust, its searching direction according to two factors, its own best previous experience (pbest) and the experience of all other members (gbest).Mathematically, assume that the searching space isD-dimensional. Let Xit=(xi1t,xi2t,…,xidt) be the particle i in D-dimensional vector, where Xit is treated as a potential solution that explores the search space by the rate of position change called velocity. The velocity is denoted as Vit=(vi1t,vi2t,…,vidt). Let Pit=(pi1t,pi2t,…,pidt) be the best particle i obtained until iteration t and let Pgt=(pg1t,pg2t,…,pgdt) be the global best in the population at iteration t. The basic procedure for implementing original PSO is described as follows [28].(1)
Create population of particles with random positions and velocities on the searching space.(2)
For each particle, evaluate the desired optimization fitness function and compare the evaluated fitness with its pbest. If the current particle is better than pbest, then set pbest to the current particle.(3)
Update particle velocities according to the following equation:(8)vidt=wvidt-1+c1rand(·)(pidt-xidt)+c2rand(·)(pgdt-xidt),
where c1 is the cognition learning factor, c2 is the social learning factor, rand(·) are random numbers uniformly distributed in U(0,1), and w is the inertia weight.(4)
Particles are changed to their new positions according to the following equation:(9)xidt+1=xidt(t)+vidt.(5)
Stop the algorithm if the stopping criterion is satisfied; return to Step 2 otherwise.The velocity update can improve the diversification of the search. To assure that the velocity would not lead the particles to move beyond boundaries, a maximum (Vmax) is set to limit the velocity range; any velocity tending to exceed it is brought back to it [29]. An inertia weight w is used to balance between global and local searches when updating the velocity in (8). The swarm population sizes ranging from 10 to 30 are the most common ones, and it has been learned that PSO requires a smaller population than is generally used in genetic algorithms to search for high quality solution [30].


## 4.3. The ICA

ICA is a novel global search strategy and inspired by the imperialistic competition based on the human’s sociopolitical evolution. This algorithm was first introduced by Atashpaz-Gargari and Lucas [31]. Imperialistic competition forms the core of the algorithm. This causes all countries to converge to an absolute minimum cost function. The original ICA starts with some countries as initial population, which is classified into two groups. Some of the countries with more power are selected to be the imperialist and all other countries with less power than the imperialists form colonies of them. The imperialist countries absorb the colonies based on their power using the absorption policy. The total power of an empire depends on both of its constituents, the imperialist country and the colonies. The mathematical expression of this relationship is defined as a power made up of the power of the imperialist country plus a percentage of the average power of the colonies.After the initial imperialists were formed, the imperialist competition step starts between them. Each imperialist that cannot act successfully in this competition to increase its power (or at least to prevent the loss of its influence) will collapse. Therefore, the survival of an imperialist depends directly on its ability to absorb the rival imperialists’ colonies and its ability to rule them out. Consequently, during the imperialist competition, gradually the power of larger imperialist is added and weaker imperialists will be removed. Those empires that want to increase their power will be forced to develop their own colonies. Thus, over time, colonies will be closer to imperialists, and a convergence will be seen. The convergence condition will be achieved when a single imperialist is created along with the colonies whose statues are very close to the imperialist country.In the next section, original ABC performance in solving a stochastic problem of selecting vendors in the form of a real example is reviewed in comparison to original PSO and ICA and Lingo software.


## 5. Case Study

In this section, the performance of the proposed methodology is validated on a real problem. For this purpose, a real data set is obtained from a home appliances manufacturer as a case study in the manufacturing industry in Iran. This company manufactures a wide range of home appliances in its factory near Tehran in Iran. Besides, the company also markets its products in various cities.In order to procure some materials and components, the company is always in need of keeping contact with vendors. At present, the company works with ten vendors only. They are its first priority. What the company is looking for is a planning based on two issues: first, if the company wants to continue its activities with these ten vendors according to certain criteria and limits, which vendors could meet how much demand of the company? Second, if the company wants to increase its potential vendors for its future development, which vendor can meet how much need of the company?As the problem propounded by the company revolves around the selection of vendors and determination of the good number they provide, it can be defined in the form of a mixed integer multi-objective stochastic programming problem by taking some random parameters into account. They will be described in detail as follows.


### 5.1. Objectives

(i) Objective Function of Purchase Cost. If ci (i=1,…,n) is fixed cost of purchase of a good unit from vendor i, n is number of vendors, xi is number of products bought from vendor i in such a way that its value is an integer, yi is a zero and one variable, which is equal to 1 if it is bought from vendor i and zero if not, and Z1 is objective function of the purchase cost from vendors, then we have
(10)minZ1=∑i=1ncixiyi.(ii) Objective Function of Wastes. If γ~i is a normal random variable of waste percentage for the vendor i and Z2 is the objective function of wastes for vendors, then we have
(11)minZ2=∑i=1nγ~ixiyi.The best value of the random variable ofγ~i is the least waste percentage observed for the vendor i in accordance with the historical data. Meanwhile, mean and variance of this random variable are calculated based on its relevant historical data.(iii) Objective Function of Lead Time. If t~i is normal random variable for lead time of vendor iand Z3 is the objective function for lead time of vendors, then we have
(12)minZ3=∑i=1nt~ixiyi.The best value fort~i is the least lead time observed for vendor i in accordance with the historical data. Meanwhile, mean and variance of random variable can be calculated based on its relevant historical data.(iv) Objective Function of Quality. If q~i is normal random variable for quality percentage of products provided by vendor i and if Z4 is quality objective function of vendors, then we have
(13)maxZ4=∑i=1nq~ixiyi.The best value ofq~i is the highest percentage observed by vendor i in accordance with historical data. Meanwhile, mean and variance of this random variable can be calculated based on its relevant historical data.


### 5.2. Constraints

(i) Demand Volume. If X stands for total purchase demand volume from vendors, then we have
(14)∑i=1nxiyi=X.(ii) Selection of Maximum Number of Vendors. If Ny is the maximum number of vendors to whom we can refer to purchase goods, then we have
(15)∑i=1nyi≤Ny.(iii) Minimum and Maximum Numbers of Products Each Provider Can Provide. If x_i and x¯i are minimum and maximum numbers of products that vendor i can provide, then we have
(16)x_iyi≤xi≤x¯iyi,i=1,…,n.Therefore, the general form of mixed integer multi-objective stochastic model for vendor selection can be as follows(17)min00000Z1=∑i=1ncixiyi,min00000Z2=∑i=1nγ~ixiyi,min00000Z3=∑i=1nt~ixiyi,max00000Z4=∑i=1nq~ixiyi,subjectto∑i=1nxiyi=X,subjectto∑i=1nyi≤Ny,subjecttox_iyi≤xi≤x¯iyi,i=1,…,n,subjecttoxi∈{0,Z+},i=1,…,n,subjecttoyi∈{0,1},i=1,…,n.Due to the existence of varying conditions and inadequate information, Program (17) is a mixed integer multi-objective stochastic model whose some of its parameters are normal random variables with known mean and variance. Therefore, based on Program (2), Program (17) can be converted into a deterministic equivalent model like Program (18):
(18)min00000v,subjecttov≥w1×(∑i=1ncixiyi-U1),subjecttov≥w2×(∑i=1nVar(γ~i)xi2yi∑i=1nE(γ~i)xiyi-U2+Φ-1subjectto000000000×(1-α2)∑i=1nVar(γ~i)xi2yi)subjecttov≥w3×(∑i=1nVar(t~i)xi2yi∑i=1nE(t~i)xiyi-U3+Φ-1subjectto000000000×(1-α3)∑i=1nVar(t~i)xi2yi),subjecttov≥w4×(∑i=1nVar(q~i)xi2yiU4-∑j=1nE(q~i)xiyi+Φ-1subjectto000000000×(1-α4)∑i=1nVar(q~i)xi2yi),subjectto∑i=1nxiyi=X,subjectto∑i=1nyi≤Ny,subjecttox_iyi≤xi≤x¯iyi,i=1,…,n,subjecttoxi∈{0,Z+},i=1,…,n,subjecttoyi∈{0,1},i=1,…,n,subjecttov≥0.


### 5.3. Data Set

At present, the company has 10 vendors, which are considered its top priority. The whole set of data related to the performance of each of them is presented in Table1.Table 1
The primal and historical data related to 10 main vendors.
i
1
2
3
4
5
6
7
8
9
10
x
_
i
40
53
65
45
40
33
28
46
55
63
x
¯
i
50
63
75
55
50
43
38
56
65
73
c
i ($)
13
14
6
15
11
6
8
11
15
15
E
(
γ
~
i
) (%)
0.037
0.03
0.023
0.05
0.023
0.023
0.042
0.023
0.05
0.05
Var (γ~i)
452
×
10
-
9
721
×
10
-
9
252
×
10
-
9
8
×
10
-
7
613
×
10
-
9
252
×
10
-
9
111
×
10
-
9
613
×
10
-
9
7
×
10
-
7
825
×
10
-
9
E
(
t
~
i
) (day)
3.1
3.2
3.1
3.55
3.37
3.4
3.87
3.35
3.59
3.41
Var (t~i)
0.61
0.62
0.59
0.61
0.91
0.59
0.68
0.95
0.61
0.69
E
(
q
~
i
) (%)
0.83
0.84
0.825
0.85
0.87
0.825
0.88
0.87
0.841
0.85
Var (q~i)
53
×
10
-
5
54
×
10
-
5
6
×
10
-
4
55
×
10
-
5
535
×
10
-
6
6
×
10
-
4
58
×
10
-
5
53
×
10
-
5
45
×
10
-
5
55
×
10
-
5The information presented in Table1 is in accordance with the two-year performance of 10 main vendors of the company. As it can be seen in this table, waste percentage, lead time, and the quality are normal random variables with known means and variances that have been calculated based on each vendor’s historical data. Meanwhile, as the costs of the purchases from the vendors have been fixed, the purchase cost is considered as certain parameter. Given the data of Table 1, the demand volume from all vendors being 200 and the maximum selection of vendors’ number being 5, Program (18) was solved by Lingo software package and its results have been shown in Table 2 (the complete shape of the model inserted in Lingo software is presented in appendix section of the paper). The preference weights, wk(fork=1,2,3,4), have been equally considered to be 0.25 and the values of α2, α3, and α4 are determined to be 0.1, 0.025 and 0.05, respectively. As the problem modeled in Program (18) is nonlinear and the solution obtained is local, therefore, in order to increase the accuracy of the results, this problem in the presence of 10 main vendors was repeated for 25 times. All results have been similarly saved for the solution achievement time at each execution time.Table 2
Results obtained from solving Program (18) with 10 main vendors by Lingo software.
x
i
x
1
x
2
x
3
x
4
x
5
x
6
x
7
x
8
x
9
x
10
0
53
65
0
40
42
0
0
0
0
y
i
y
1
y
2
y
3
y
4
y
5
y
6
y
7
y
8
y
9
y
10
0
1
1
0
1
1
0
0
0
0Considering the results presented in Table2, four of the main vendors have been selected only, so that the optimal value of the objective function of Program (18) is equal to v=145.94 and the average time for obtaining solution is some 1.4 seconds. As the problem of selecting vendors as commercial partners is of high importance for the company and as the model inserted in Lingo software is nonlinear, the results shown in Table 2 are local and better solutions are likely. For this purpose, three metaheuristic algorithms, ABC, PSO, and ICA, which are among the most updated metaheuristic algorithms, are used to solve the problem of Program (18).


### 5.4. Parameters Tuning

For tuning the ABC for the mixed integer vendor selection stochastic problems, extensive experiments were conducted with differing sets of parameters in a competence against PSO, and ICA. At the end, the following sets were found to be effective in terms of solutions quality. Table3 presents the parameters tuned by ABC, PSO and ICA for solving the problem of selecting vendors.Table 3
Parameters tuned by ABC, PSO, and ICA for solving the problem of Program (18) in the presence of 10 main vendors.
ABC
PSO
ICA
Food number
Limit
w
c
1
c
2
Number of initial imperialists
Revolution rate
β
γ
5
15
0.7298
1.4962
1.4962
2
0.4
2
0.1


### 5.5. Solving the Problem of Main Vendors by ABC, PSO and ICA

In order to omit random consequences of the results, the problem of Program (18) was repeated for 25 times in the presence of data related to 10 main vendors, and here the mean value of the objective function, v, and the mean CPU time obtained by ABC, PSO, and ICA are considered as the basis of comparisons. In this research, the said algorithms were executed by Matlab 7.12.0 under Microsoft Windows 7 in a personal computer with Dual Core CPU, 2.2 GHz, and a 4 GB RAM. The results obtained by ABC, PSO, and ICA in 25 repetitions are shown in Figure 1. Number of population for all three algorithms is 10 and maximum repetition number for each algorithm is considered to be 50.Figure 1
Changes trend of objective function for selection problem of 10 main vendors.As specified in Figure1, ABC shows better results as compared to PSO and ICA. ABC practically reaches the final optimal solution from iteration 23 on, while PSO and ICA do not reach the solution in all 25 repetitions. Table 4 presents the mean time for achieving the solution to the problem of Program (18) in the presence of 10 main vendors as well as the least value of v obtained via ABC, PSO, and ICA and Lingo software. From the time view, ABC with the mean time of 0.517 seconds enjoys better status considering Lingo software with the mean time of 1.4 seconds. Of course, in a general comparison, PSO takes lower mean time as compared to ABC and ICA and Lingo software, and this result is not surprising considering its simple structure. Considering that the problem modeled by Program (17) is of multi-objective problems, the best solution is the nearest solution to utopia point (where considering the space solution, each and every one of the objectives has its own best value). This issue can be obtained through the least value of v in Program (18). In this study, the most efficient solution is the one which presents the least possible value for v. Hence, from the viewpoint of the quality and efficiency of the solutions obtained here, ABC with the least possible value for v presents the best solution compared to PSO and ICA and Lingo. Also it should be noted that ICA is ranked last in obtainment of the least possible value for v.Table 4
The average solution achievement time and the least value forv in ABC, PSO, and ICA and Lingo software.
Algorithm
Average of minv
Average of CPU time (seconds)
Lingo
145.9443
1.4
ABC
142.6703
0.517
PSO
144.2132
0.43
ICA
152.5845
0.565As seen already, ABC is ranked first in achieving an efficient solution by obtaining the least possible value forv compared to PSO and ICA and Lingo software. Therefore, Table 5 presents the results obtained from solving Program (18) by ABC in the presence of 10 main vendors.Table 5
The results obtained from solving Program (18) by ABC in the presence of 10 main vendors.
x
i
x
1
x
2
x
3
x
4
x
5
x
6
x
7
x
8
x
9
x
10
49
53
65
0
0
33
0
0
0
0
y
i
y
1
y
2
y
3
y
4
y
5
y
6
y
7
y
8
y
9
y
10
1
1
1
0
0
1
0
0
0
0


### 5.6. Company’s Future Development Strategy with the Policy to Increase the Number of Vendors

Given the reports obtained from R&D unit of the company, one of the important strategies used by company is future development, increase in products, and further acquisition of competitive market share. Therefore, considering the constraint of minimum and maximum good number company can purchase from vendors, the company intends to also consider the policy of increasing the number of vendors commensurate with increased production volume. For this purpose, Table6 presents the scenarios defined for the company’s future strategy within the framework of changes in production volume and maximum number of vendors required.Table 6
Scenarios defined for the company’s future development.
Scenario
1
2
3
4
5
6
7
8
9
Number of available vendors
20
30
40
50
60
70
80
90
100
Purchase demand volume (X)
400
600
1050
1200
2200
3000
3500
4000
4500
Maximum number of vendors required (Ny)
6
9
15
20
30
40
45
50
60To review the scenarios defined in Table6, we act according to the following steps.(1)
The problem modeled in Program (18) is repeated by Lingo software and ABC, PSO, and ICA for each and every one of the scenarios defined in Table 6, another 9 times, so that, with each repetition, the data related to 10 vendors is added to the previous problem. In other words, the first problem is modeled with the data of 20 vendors and the last problem with that of 100 vendors. It should also be noted that the data related to the volume of products and maximum number of vendors required changes commensurate with each scenario. Meanwhile, other data inserted for each vendor comply with the available historical data of their performances during the past cycles.(2)
For each scenario, the value of utopia of each and everyone of the objectives is calculated separately.(3)
Optimization of each and everyone of the problems of Step 1 is repeated 25 times so that the average of the results is finally reported for each algorithm.It should be noted that in all scenarios,wk(fork=1,2,3,4) are considered to be equal to 0.25, and α2, α3, and α4 are 0.1, 0.025, and 0.05, respectively. Table 7 illustrates a summary of the results, which are obtained by Lingo software and ABC, PSO, and ICA according to the above steps.Table 7
The results obtained by ABC, PSO, and ICA and Lingo considering the scenarios related to the company’s future development.
Scenario
1
2
3
4
5
6
7
8
9
Lingo
Average of minv
272.08
391.07
617.56
678.05
1212.78
1629.56
1856.94
2166.92
2423.74
Average of CPU time (seconds)
1.2
1.3
17.1
51.3
70.9
47.9
55
15.9
89
ABC
Average of minv
267.82
375.68
610.34
675.74
1226.78
1598.91
1857.32
2097.85
2338.65
Average of CPU time (seconds)
0.95
1.05
9.56
39.54
43.51
39.65
47.31
14.58
43.41
Population
20
10
40
50
120
140
100
70
120
Maxiter
50
20
50
100
50
50
50
30
50
PSO
Average of minv
274.324
389.86
643.16
714.3
1538.44
1678.22
1965.17
2258.42
2463.15
Average of CPU time (seconds)
0.923
0.99
6.76
10.29
18.44
34.17
35.54
8.65
24.15
Population
20
10
40
50
120
140
100
70
120
Maxiter
50
20
50
100
50
50
50
30
50
ICA
Average of minv
278.35
384.88
636.92
708.24
1235.99
1646.22
1928.48
2206.17
2340.42
Average of CPU time (seconds)
1.17
1.22
12.33
43.54
65.56
61.1
71.93
21.46
60.8
Population
20
10
40
50
120
140
100
70
120
Maxiter
50
20
50
100
50
50
50
30
50One of the important parameters in the presented problem is the maximum number of vendors required. The existence of this parameter increases not only the complexity of the problem but also its solution time by the algorithms. In fact, the relation between the parameter and the company’s purchase volume and the volume any vendor could provide could result in increased complexity; therefore, the population number and maximum iterations (maxiter) for algorithms are based on the complexity rate of these problems so that the solution time is lower than that of Lingo. The results presented in Table7 imply that from the view of reaching an efficient solution, ABC provides better performance compared to other algorithms and Lingo, to the extent that only ABC presents the lowest value for v in all scenarios. Meanwhile, PSO is ranked first from the view of the least solution achievement time.


## 5.1. Objectives

(i) Objective Function of Purchase Cost. If ci (i=1,…,n) is fixed cost of purchase of a good unit from vendor i, n is number of vendors, xi is number of products bought from vendor i in such a way that its value is an integer, yi is a zero and one variable, which is equal to 1 if it is bought from vendor i and zero if not, and Z1 is objective function of the purchase cost from vendors, then we have
(10)minZ1=∑i=1ncixiyi.(ii) Objective Function of Wastes. If γ~i is a normal random variable of waste percentage for the vendor i and Z2 is the objective function of wastes for vendors, then we have
(11)minZ2=∑i=1nγ~ixiyi.The best value of the random variable ofγ~i is the least waste percentage observed for the vendor i in accordance with the historical data. Meanwhile, mean and variance of this random variable are calculated based on its relevant historical data.(iii) Objective Function of Lead Time. If t~i is normal random variable for lead time of vendor iand Z3 is the objective function for lead time of vendors, then we have
(12)minZ3=∑i=1nt~ixiyi.The best value fort~i is the least lead time observed for vendor i in accordance with the historical data. Meanwhile, mean and variance of random variable can be calculated based on its relevant historical data.(iv) Objective Function of Quality. If q~i is normal random variable for quality percentage of products provided by vendor i and if Z4 is quality objective function of vendors, then we have
(13)maxZ4=∑i=1nq~ixiyi.The best value ofq~i is the highest percentage observed by vendor i in accordance with historical data. Meanwhile, mean and variance of this random variable can be calculated based on its relevant historical data.


## 5.2. Constraints

(i) Demand Volume. If X stands for total purchase demand volume from vendors, then we have
(14)∑i=1nxiyi=X.(ii) Selection of Maximum Number of Vendors. If Ny is the maximum number of vendors to whom we can refer to purchase goods, then we have
(15)∑i=1nyi≤Ny.(iii) Minimum and Maximum Numbers of Products Each Provider Can Provide. If x_i and x¯i are minimum and maximum numbers of products that vendor i can provide, then we have
(16)x_iyi≤xi≤x¯iyi,i=1,…,n.Therefore, the general form of mixed integer multi-objective stochastic model for vendor selection can be as follows(17)min00000Z1=∑i=1ncixiyi,min00000Z2=∑i=1nγ~ixiyi,min00000Z3=∑i=1nt~ixiyi,max00000Z4=∑i=1nq~ixiyi,subjectto∑i=1nxiyi=X,subjectto∑i=1nyi≤Ny,subjecttox_iyi≤xi≤x¯iyi,i=1,…,n,subjecttoxi∈{0,Z+},i=1,…,n,subjecttoyi∈{0,1},i=1,…,n.Due to the existence of varying conditions and inadequate information, Program (17) is a mixed integer multi-objective stochastic model whose some of its parameters are normal random variables with known mean and variance. Therefore, based on Program (2), Program (17) can be converted into a deterministic equivalent model like Program (18):
(18)min00000v,subjecttov≥w1×(∑i=1ncixiyi-U1),subjecttov≥w2×(∑i=1nVar(γ~i)xi2yi∑i=1nE(γ~i)xiyi-U2+Φ-1subjectto000000000×(1-α2)∑i=1nVar(γ~i)xi2yi)subjecttov≥w3×(∑i=1nVar(t~i)xi2yi∑i=1nE(t~i)xiyi-U3+Φ-1subjectto000000000×(1-α3)∑i=1nVar(t~i)xi2yi),subjecttov≥w4×(∑i=1nVar(q~i)xi2yiU4-∑j=1nE(q~i)xiyi+Φ-1subjectto000000000×(1-α4)∑i=1nVar(q~i)xi2yi),subjectto∑i=1nxiyi=X,subjectto∑i=1nyi≤Ny,subjecttox_iyi≤xi≤x¯iyi,i=1,…,n,subjecttoxi∈{0,Z+},i=1,…,n,subjecttoyi∈{0,1},i=1,…,n,subjecttov≥0.


## 5.3. Data Set

At present, the company has 10 vendors, which are considered its top priority. The whole set of data related to the performance of each of them is presented in Table1.Table 1
The primal and historical data related to 10 main vendors.
i
1
2
3
4
5
6
7
8
9
10
x
_
i
40
53
65
45
40
33
28
46
55
63
x
¯
i
50
63
75
55
50
43
38
56
65
73
c
i ($)
13
14
6
15
11
6
8
11
15
15
E
(
γ
~
i
) (%)
0.037
0.03
0.023
0.05
0.023
0.023
0.042
0.023
0.05
0.05
Var (γ~i)
452
×
10
-
9
721
×
10
-
9
252
×
10
-
9
8
×
10
-
7
613
×
10
-
9
252
×
10
-
9
111
×
10
-
9
613
×
10
-
9
7
×
10
-
7
825
×
10
-
9
E
(
t
~
i
) (day)
3.1
3.2
3.1
3.55
3.37
3.4
3.87
3.35
3.59
3.41
Var (t~i)
0.61
0.62
0.59
0.61
0.91
0.59
0.68
0.95
0.61
0.69
E
(
q
~
i
) (%)
0.83
0.84
0.825
0.85
0.87
0.825
0.88
0.87
0.841
0.85
Var (q~i)
53
×
10
-
5
54
×
10
-
5
6
×
10
-
4
55
×
10
-
5
535
×
10
-
6
6
×
10
-
4
58
×
10
-
5
53
×
10
-
5
45
×
10
-
5
55
×
10
-
5The information presented in Table1 is in accordance with the two-year performance of 10 main vendors of the company. As it can be seen in this table, waste percentage, lead time, and the quality are normal random variables with known means and variances that have been calculated based on each vendor’s historical data. Meanwhile, as the costs of the purchases from the vendors have been fixed, the purchase cost is considered as certain parameter. Given the data of Table 1, the demand volume from all vendors being 200 and the maximum selection of vendors’ number being 5, Program (18) was solved by Lingo software package and its results have been shown in Table 2 (the complete shape of the model inserted in Lingo software is presented in appendix section of the paper). The preference weights, wk(fork=1,2,3,4), have been equally considered to be 0.25 and the values of α2, α3, and α4 are determined to be 0.1, 0.025 and 0.05, respectively. As the problem modeled in Program (18) is nonlinear and the solution obtained is local, therefore, in order to increase the accuracy of the results, this problem in the presence of 10 main vendors was repeated for 25 times. All results have been similarly saved for the solution achievement time at each execution time.Table 2
Results obtained from solving Program (18) with 10 main vendors by Lingo software.
x
i
x
1
x
2
x
3
x
4
x
5
x
6
x
7
x
8
x
9
x
10
0
53
65
0
40
42
0
0
0
0
y
i
y
1
y
2
y
3
y
4
y
5
y
6
y
7
y
8
y
9
y
10
0
1
1
0
1
1
0
0
0
0Considering the results presented in Table2, four of the main vendors have been selected only, so that the optimal value of the objective function of Program (18) is equal to v=145.94 and the average time for obtaining solution is some 1.4 seconds. As the problem of selecting vendors as commercial partners is of high importance for the company and as the model inserted in Lingo software is nonlinear, the results shown in Table 2 are local and better solutions are likely. For this purpose, three metaheuristic algorithms, ABC, PSO, and ICA, which are among the most updated metaheuristic algorithms, are used to solve the problem of Program (18).


## 5.4. Parameters Tuning

For tuning the ABC for the mixed integer vendor selection stochastic problems, extensive experiments were conducted with differing sets of parameters in a competence against PSO, and ICA. At the end, the following sets were found to be effective in terms of solutions quality. Table3 presents the parameters tuned by ABC, PSO and ICA for solving the problem of selecting vendors.Table 3
Parameters tuned by ABC, PSO, and ICA for solving the problem of Program (18) in the presence of 10 main vendors.
ABC
PSO
ICA
Food number
Limit
w
c
1
c
2
Number of initial imperialists
Revolution rate
β
γ
5
15
0.7298
1.4962
1.4962
2
0.4
2
0.1


## 5.5. Solving the Problem of Main Vendors by ABC, PSO and ICA

In order to omit random consequences of the results, the problem of Program (18) was repeated for 25 times in the presence of data related to 10 main vendors, and here the mean value of the objective function, v, and the mean CPU time obtained by ABC, PSO, and ICA are considered as the basis of comparisons. In this research, the said algorithms were executed by Matlab 7.12.0 under Microsoft Windows 7 in a personal computer with Dual Core CPU, 2.2 GHz, and a 4 GB RAM. The results obtained by ABC, PSO, and ICA in 25 repetitions are shown in Figure 1. Number of population for all three algorithms is 10 and maximum repetition number for each algorithm is considered to be 50.Figure 1
Changes trend of objective function for selection problem of 10 main vendors.As specified in Figure1, ABC shows better results as compared to PSO and ICA. ABC practically reaches the final optimal solution from iteration 23 on, while PSO and ICA do not reach the solution in all 25 repetitions. Table 4 presents the mean time for achieving the solution to the problem of Program (18) in the presence of 10 main vendors as well as the least value of v obtained via ABC, PSO, and ICA and Lingo software. From the time view, ABC with the mean time of 0.517 seconds enjoys better status considering Lingo software with the mean time of 1.4 seconds. Of course, in a general comparison, PSO takes lower mean time as compared to ABC and ICA and Lingo software, and this result is not surprising considering its simple structure. Considering that the problem modeled by Program (17) is of multi-objective problems, the best solution is the nearest solution to utopia point (where considering the space solution, each and every one of the objectives has its own best value). This issue can be obtained through the least value of v in Program (18). In this study, the most efficient solution is the one which presents the least possible value for v. Hence, from the viewpoint of the quality and efficiency of the solutions obtained here, ABC with the least possible value for v presents the best solution compared to PSO and ICA and Lingo. Also it should be noted that ICA is ranked last in obtainment of the least possible value for v.Table 4
The average solution achievement time and the least value forv in ABC, PSO, and ICA and Lingo software.
Algorithm
Average of minv
Average of CPU time (seconds)
Lingo
145.9443
1.4
ABC
142.6703
0.517
PSO
144.2132
0.43
ICA
152.5845
0.565As seen already, ABC is ranked first in achieving an efficient solution by obtaining the least possible value forv compared to PSO and ICA and Lingo software. Therefore, Table 5 presents the results obtained from solving Program (18) by ABC in the presence of 10 main vendors.Table 5
The results obtained from solving Program (18) by ABC in the presence of 10 main vendors.
x
i
x
1
x
2
x
3
x
4
x
5
x
6
x
7
x
8
x
9
x
10
49
53
65
0
0
33
0
0
0
0
y
i
y
1
y
2
y
3
y
4
y
5
y
6
y
7
y
8
y
9
y
10
1
1
1
0
0
1
0
0
0
0


## 5.6. Company’s Future Development Strategy with the Policy to Increase the Number of Vendors

Given the reports obtained from R&D unit of the company, one of the important strategies used by company is future development, increase in products, and further acquisition of competitive market share. Therefore, considering the constraint of minimum and maximum good number company can purchase from vendors, the company intends to also consider the policy of increasing the number of vendors commensurate with increased production volume. For this purpose, Table6 presents the scenarios defined for the company’s future strategy within the framework of changes in production volume and maximum number of vendors required.Table 6
Scenarios defined for the company’s future development.
Scenario
1
2
3
4
5
6
7
8
9
Number of available vendors
20
30
40
50
60
70
80
90
100
Purchase demand volume (X)
400
600
1050
1200
2200
3000
3500
4000
4500
Maximum number of vendors required (Ny)
6
9
15
20
30
40
45
50
60To review the scenarios defined in Table6, we act according to the following steps.(1)
The problem modeled in Program (18) is repeated by Lingo software and ABC, PSO, and ICA for each and every one of the scenarios defined in Table 6, another 9 times, so that, with each repetition, the data related to 10 vendors is added to the previous problem. In other words, the first problem is modeled with the data of 20 vendors and the last problem with that of 100 vendors. It should also be noted that the data related to the volume of products and maximum number of vendors required changes commensurate with each scenario. Meanwhile, other data inserted for each vendor comply with the available historical data of their performances during the past cycles.(2)
For each scenario, the value of utopia of each and everyone of the objectives is calculated separately.(3)
Optimization of each and everyone of the problems of Step 1 is repeated 25 times so that the average of the results is finally reported for each algorithm.It should be noted that in all scenarios,wk(fork=1,2,3,4) are considered to be equal to 0.25, and α2, α3, and α4 are 0.1, 0.025, and 0.05, respectively. Table 7 illustrates a summary of the results, which are obtained by Lingo software and ABC, PSO, and ICA according to the above steps.Table 7
The results obtained by ABC, PSO, and ICA and Lingo considering the scenarios related to the company’s future development.
Scenario
1
2
3
4
5
6
7
8
9
Lingo
Average of minv
272.08
391.07
617.56
678.05
1212.78
1629.56
1856.94
2166.92
2423.74
Average of CPU time (seconds)
1.2
1.3
17.1
51.3
70.9
47.9
55
15.9
89
ABC
Average of minv
267.82
375.68
610.34
675.74
1226.78
1598.91
1857.32
2097.85
2338.65
Average of CPU time (seconds)
0.95
1.05
9.56
39.54
43.51
39.65
47.31
14.58
43.41
Population
20
10
40
50
120
140
100
70
120
Maxiter
50
20
50
100
50
50
50
30
50
PSO
Average of minv
274.324
389.86
643.16
714.3
1538.44
1678.22
1965.17
2258.42
2463.15
Average of CPU time (seconds)
0.923
0.99
6.76
10.29
18.44
34.17
35.54
8.65
24.15
Population
20
10
40
50
120
140
100
70
120
Maxiter
50
20
50
100
50
50
50
30
50
ICA
Average of minv
278.35
384.88
636.92
708.24
1235.99
1646.22
1928.48
2206.17
2340.42
Average of CPU time (seconds)
1.17
1.22
12.33
43.54
65.56
61.1
71.93
21.46
60.8
Population
20
10
40
50
120
140
100
70
120
Maxiter
50
20
50
100
50
50
50
30
50One of the important parameters in the presented problem is the maximum number of vendors required. The existence of this parameter increases not only the complexity of the problem but also its solution time by the algorithms. In fact, the relation between the parameter and the company’s purchase volume and the volume any vendor could provide could result in increased complexity; therefore, the population number and maximum iterations (maxiter) for algorithms are based on the complexity rate of these problems so that the solution time is lower than that of Lingo. The results presented in Table7 imply that from the view of reaching an efficient solution, ABC provides better performance compared to other algorithms and Lingo, to the extent that only ABC presents the lowest value for v in all scenarios. Meanwhile, PSO is ranked first from the view of the least solution achievement time.


## 6. Conclusion

In this paper, the problem of selecting vendors was modeled within the framework of a mixed integer multi-objective stochastic programming problem. With the objective to improve, the paper studied selection and evaluation process of vendors from the view of multiple criteria, random factors and achievement to efficient solutions. To this end, the problem of selecting vendors was presented as a mixed integer multi-objective stochastic problem its for solution; CCGC (min-max) model was used. As the presented problem was of nonlinear and mixed integer type, the original ABC was described to achieve efficient solutions. The proposed methodology was illustrated in the form of a real example so that the problem of selecting vendors was modeled on a large scale, and apart from original ABC and Lingo software, metaheuristic algorithms PSO and ICA were also used for solving it. The results obtained indicated that the performance of ABC was better compared to PSO, ICA and Lingo output from the view of achieving efficient solutions; and PSO has a better performance compared to other algorithms from the view of the speed of reaching solution.



---

*Source: 795752-2013-12-26.xml*