Abstract
In this study, we develop a two-stage capacitated facility location model with fuzzy costs and demands. The proposed model is a task of 0–1 integer two-stage fuzzy programming problem. In order to solve the problem, we first apply an approximation approach to estimate the objective function (with fuzzy random parameters) and prove the convergence of the approach. Then, we design a hybrid algorithm which integrates the approximation approach, neural network and particle swarm optimization, to solve the proposed facility location problem. Finally, a numerical example is provided to test the hybrid algorithm.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
1 Introduction
Since the original study by Cooper [9], facility location problems (FLP) as a crucial and generic engineering optimization model have being attracting an increasing number of people. The key issue of FLP is to find the optimal sizes to open facilities among a given set of potential sites to meet the objective of profit maximization or cost minimization.
Regarding FLPs with deterministic parameters, capacitated FLP in which the capacities of facilities are limited, was originally discussed by Murtagh and Niwattisyawong [30] which is considered as one of studies of the most importance in the filed of FLP, and later on, more and more studies along this direction (capacitated FLP) have been reported in the literature [1, 4, 14]. Since it was proved by Megiddo and Supowit [29] that FLP is NP-hard, a series of analytical methods and programming techniques as well as heuristic algorithms have been developed to solve the FLPs. For instance, Love [27] discussed one-dimensional facility location–allocation problem using dynamic programming. Gong et al. [15] designed a hybrid evolutionary method for solving obstacle location–allocation problem. Lozano et al. [28] discussed the application of Kohonen maps to solve a class of location–allocation problems. Ernst and Krishnamoorthy [14] combined the simulated annealing and random descent method.
In real applications, many parameters of FLP, such as demands of clients, the costs of operating the facilities, may be of uncertainties, e.g., randomness and fuzziness. These distinct uncertainties yields the stochastic FLP and fuzzy FLP, respectively. For stochastic scenarios, readers may refer to [5, 24–26]. Due to the development of fuzzy theory [12, 13, 21, 31, 40, 41], a number of pieces of research brought this tool into the FLP. Darzentas [11] discussed various facility location problems by fuzzy logic methods. Bhattacharya et al. [2] considered facilities located under multiple fuzzy criteria, and proposed a fuzzy goal programming approach to deal with the problem. Ishii et al. [16] developed a location model considering the satisfaction degree with respect to the distance from the facility for each customer and preference of the site in an urban area. In the above-mentioned studies, the parameters of FLP are deterministic, and fuzzy theory are just used to solve classical mathematical programming effectively, the problems were static ones in nature. Apart from those researches, Zhou and Liu [42] modeled three types of capacitated location–allocation problem with fuzzy demands according to different decision criteria. Wen and Iwamura [39] presented an α-cost FLP with fuzzy demands under Hurwicz criterion. In these two papers, the costs for establishing and operating the facilities and the size of the facilities are all assumed fixed, and since the potential region where the location are to be chosen are assumed to be continuous, the proposed FLP in [39, 42] are both continuous type of fuzzy programming problems.
This paper addresses a more realistic fuzzy capacitated FLP in which both the demands of clients and the variable costs of facilities can be fuzzy, and the decision is a 0-1 integer vector which consists of the optimal location and size of the new facilities. What is more, when process the decision-making in FLP, we assume that the decisions are made in two stages so as to maximize expected total profit. The first-stage decision, location decision, is made before the values of fuzzy parameters are realized, and the second-stage decisions, distribution pattern can be taken after the realization of the fuzzy parameters are observed. The optimal value of the problem depends on the realization of the fuzzy parameters and the first-stage decisions. It is a dynamic process.
The rest of the paper is organized as follows. Section 2 recalls some basic concepts of fuzzy variable. In Sect. 3, the model is formulated. Section 4 discusses an approximation method to the expected objective value of second-stage programming, and proves the convergence of the approximation. Then, a hybrid algorithm is designed in which the approximation approach, neural network (NN) and PSO are fused to solve the proposed FLP. A numerical example is provided in Sect. 5 to illustrate the effectiveness of the hybrid algorithm. Section 6 draws the conclusions.
2 Fuzzy variable
Given a universe \(\Upgamma, \) let Pos be a possibility measure defined on the power set \(\mathcal P(\Upgamma)\) of \(\Upgamma. \) Then, triplet \({(\Upgamma,{\mathcal P}(\Upgamma), \hbox{Pos})}\) is called a possibility space. A function \(\xi=(\xi_{1},\xi_{2},\ldots,\xi_{n}):\Upgamma\to\Re^{n}\) is said to be an n-ary fuzzy vector. As n = 1, ξ is called a fuzzy variable. The function
for any \({\bf t}=(t_{1},\ldots,t_{n})\in \Re^n\) is said to be the possibility distribution of ξ, or the joint possibility distribution of \(\xi_{i},i=1,2,\ldots,n. \)
For fuzzy variable ξ with possibility distribution μξ, the possibility, necessity and credibility of event {ξ ≤ r} can be given respectively by
Based on credibility measure, the expected value of a fuzzy variable is defined below [21]:
Definition 1
Let ξ be a fuzzy variable defined on a possibility space \((\Upgamma, \mathcal P(\Upgamma), \hbox{Pos}). \) The expected value of ξ is defined as
provided that one of the two integrals is finite.
Example 1
Let ξ be a triangular fuzzy variable (2, 3, 4). Calculate the expected value E[ξ].
Recall the possibility distribution of triangular fuzzy variable ξ = (2, 3, 4) is
From (2), for any r ≥ 0, we can compute
For any r < 0, we have
It follows from Definition 1 that
Particularly, for a discrete fuzzy variable ξ with the following possibility distribution:
Without any loss of generality, we assume that \( a_{1}\leq a_{2}\leq\cdots\leq a_{n}, \) i.e., a i is the ith smallest outcome value of ξ. Then the expected value defined by (3) reduces to the following form [21]:
where the weights p i ′s are determined by
(μ0 = 0,μ n+1 = 0) for \(i=1,\ldots,n,\) and satisfy the following constraints
Example 2
Let ξ be a fuzzy variable with the following possibility distribution
Calculate the expected value of ξ.
By (6), we have
It follows from (5) that E[ξ] = 1 × 0.35 + 3 × 0.25 + 5 × 0.40 = 3.10.
3 Model formulation
A FLP with fuzzy costs and demands may be described as follows: assume that there are m clients having uncertain demand which is a fuzzy vector for some given commodity. The firm can open some new facilities in potential sites \(i=1,2\ldots, n, \) the cost of each facility consists of fix opening and operating cost and variable operating cost, the later is a fuzzy variable. Each client can be supplied from an open facility where the commodity is made available. No more than 100% of a client’s demand can be served, but the possibility exists that not all demand is served. The total supply from one facility to all clients can not exceed the capacity of the facility. The distribution pattern i.e., the quantities distributed form facilities to clients, is not fixed, it is adapted to the realization of fuzzy event with respected to the demand and variable operating cost. The problem of the firm is to choose the best locations for facilities to open to maximize profit or minimize costs.
In order to model the problem, we give the following notations:
-
\(i=1,2,\ldots,n:\) the index of facilities;
-
\(j=1,2,\ldots,m:\) the index of clients;
-
d j : fuzzy demand of client j for a given commodity;
-
r j : the unit price charged to clint j;
-
x i : decision variable which is a binary variable equal to one if facility i is open and zero otherwise;
-
s i : the capacity of facility i;
-
c i : the fixed cost for opening and operating facility i;
-
v i : the unit variable operating cost of facility i, which is a fuzzy variable;
-
y ij : the quantity supplied to client j from facility i.
-
t ij unit transportation cost from i to j.
All variable operating cost \(v_{i}, i=1,2,\ldots, n\) and the demands \(d_{j}, \; j=1,2,\ldots,m\) are fuzzy variables defined on a possibility space \({(\Upgamma, {\mathcal P}(\Upgamma), \hbox{Pos}), }\) and for any \(\gamma\in \Upgamma, \) v i (γ) and d j (γ) are the realizations of v i and d j , respectively, for each i and j.
Under the above assumptions and notations, taking the objective as maximization of expected profit, we can formulate a capacitated fuzzy FLP as follows:
In order to clarify the dynamic process of the problem more detailedly, we suppose that the decision variables of the model are divided into two categories. The location decision vector \(\user2{x}=(x_{1}, x_{2}, \ldots,x_{n})\) is the first-stage decision which must be taken before the outcome of fuzzy event γ is revealed, here the outcome of fuzzy event refers to the realizations of fuzzy demands and fuzzy operating cost
In the second stage, the demands of all clients are known. As a consequence, the second-stage decision variables y ij for \(i=i,2,\ldots,n\) and \(j=1,2,\ldots,m, \) which represent the distribution pattern, can be adjusted to the realization of the fuzzy event γ.
Following this scheme, we present a two-stage fuzzy FLP, in which there are two optimization problems to be solved. By assuming x and γ to be fixed, the second-stage problem can be formulated as follows:
Let Q(x, ξ(γ)) be the optimal value of problem (9) at fixed x and ξ(γ), it is usually called second-stage value function (abbreviated as SSVF) in two-stage fuzzy programming theory [22]. Furthermore, if we define expected second-stage value function (abbreviated as ESSVF)
where \(E[\cdot]\) is the expected value operator with respect to fuzzy vector ξ, then it represents the expected total revenue obtained from the severed clients, given the first-stage decision x.
Based on the above notations, the first-stage of the FLP can be formulated as follows:
Combining the problems (9) and (11) yields the two-stage fuzzy FLP. It is equivalent to the problem (7).
Particularly, if fuzzy vector ξ in problem (9)–(11) is a discrete one that takes the following values
and \(\max\nolimits_{k=1}^{N}\,\mu_{k}=1.\) Without any loss of generality, we assume that for any fixed x the SSVF Q(x, ξ(γ)) satisfies the condition \(Q(\user2{x},\widehat\xi^{1}) \leq Q(\user2{x},\widehat\xi^{2})\leq\cdots\leq Q(\user2{x},\widehat\xi^{N}), \) then the value of the ESSVF \({{\mathcal Q}_{E}(\user2{x})}\) at x is computed by the formula
where
and the corresponding weights p i ′s are given by formula (6). The following example is provided to depict the process of solving the problem (9)–(11) in a simple discrete fuzzy vector scenario.
Example 3
Let n = 2, m = 1, (r 1, r 2) = (5, 4), (s 1, s 2) = (2, 2), (t 1, t 2) = (3, 2), (c 1, c 2) = (0.1, 0.3). If fuzzy operating cost v 1 takes the values 1 and 2 with possibilities 0.5 and 1, respectively, and v 2 takes the values 3 and 4 with possibilities 0.25 and 1, respectively, and fuzzy demand d≡ 3, then problem (9)–(11) can be built as
where
By the assumptions, we know fuzzy vector ξ = (d, v 1, v 2) is discrete, and
We note that the first-stage decision variable x takes four values in all: (0, 0), (1, 1), (1, 0) and (0,1). And, fuzzy vector ξ have four realizations (3, 1, 3), (3, 1, 4), (3, 2, 3) and (3, 2, 4) for each value of x. The process of the solution of this problem can be divided roughly into three steps: Firstly, calculate the SSVF \(Q(\user2{x}, {\hat\xi})\) by solving a second-stage programming (15) for each value of x and realization \({\hat\xi}\) of ξ. Secondly, compute the ESSVF \({{\mathcal Q}_{E}(\user2{x})=E\left[Q(\user2{x}, \xi)\right]}\) for each x through formula (12). Thirdly, find the optimal solution by solving the first-stage programming (14). The detailed solution process is given below.
In the case of x = (0, 0), straightforwardly, we have the optimal second-stage solution y *1 = y *2 = 0, and the second-stage value \(Q(0,0, \widehat\xi^{k})=0\) for k = 1, 2, 3, 4. Hence, E[Q(0, 0, ξ)] = 0, and the objective value of the model at x = (0,0) is 0.
For the case that x = (1, 1), we can compute respectively that the second-stage value \(Q(1,1, \widehat\xi^{k}), k=1,2,3,4\) as follows. For \(\widehat\xi^{1}=\left(3,1, 3\right)\) with possibility μ1 = 0.25, we have the second-stage programming is
Clearly, the optimal second-stage solution is y *1 = 2, y *2 = 0. Hence, \(Q(1,1, \widehat\xi^{1})=2\) with possibility μ1 = 0.25. By the same reasoning, we can calculate
That is
Furthermore,
As a consequence,
and the objective value at x = (1,1) of the model is −0.1 − 0.3 + 0.5 = 0.1.
If x = (0, 1), we can calculate \( Q(0,1, \widehat\xi^{k})=0\) for k = 1, 2, 3, 4. Thus, E[Q(0, 1, ξ)] = 0 and the objective value of the model at x = (0,1) is −0.3.
If x = (1, 0), we can calculate
hence, we only need to compute
Furthermore,
and the objective value of the model at x = (1,0) is 0.4.
Comparing the objective values for all the values of the first-stage decision x, we obtain the optimal value of this model is 0.4 with the optimal solution x * = (x *1 , x *2 ) = (1, 0).
Observing the problem (9)–(11), we can see the fact that the complexity of the problem is directly related to the number of location decisions and the possible realizations of fuzzy variables. In other words, the problem size rapidly increases with the number of x i and the realizations of ξ. In fact, as illustrated in Example 3, for each first-stage decision x, there are different realizations \(\xi(\gamma), \gamma\in\Upgamma, \) and for each pair (x, ξ(γ)) we have to solve the second-stage programming (9), which is a linear programming. Therefore, it is very difficult to obtain the analytical expression of the ESSVF \({{\mathcal Q}_{E}(\user2{x}). }\) Furthermore, since the fuzzy operating cost v i and fuzzy demand d j involved in problem (9)–(11) are usually continuous which are defined through possibility distributions with infinite support, the model is inherently an infinite-dimensional optimization problem that can not be solved directly and exactly. As a consequence, algorithms designed to solve such a problem must rely on intelligent computing and some approximation scheme. Solution procedure will be discussed in the next section.
4 Solution procedure
In this section, using an scheme proposed by Liu [23], we shall approximate fuzzy variables with infinite supports by finitely supported ones, which enable us to solve the infinite-dimensional optimization model by solving a finite-dimensional problem. Furthermore, in order to accelerate the solution process, we employ an neural network (NN) based on the approximation scheme to simulate the ESSVF. Finally, to avoid getting stuck at a local optimal solution, we suggest a heuristic algorithm, which incorporates approximation approach, NN and PSO, to solve the problem (9)–(11).
4.1 Approximation approach
From the discussion of Sect. 3, we know that in order to solve the problem (9)–(11), it is required to evaluate the ESSVF
where ξ is the fuzzy vector described in (8).
For any given decision x, we compute \({{\mathcal Q}_{E}(\user2 {x})}\) by the following approach.
Assume that \(\xi=(d_{1},\ldots,d_{m}, v_{1}, \ldots, v_{n})\) is a continuous fuzzy vector whose support is
where [a L j , a U j ] is the support of d j and [b L i , b U i ] is that of v i . Then we employ the method proposed in ([23]) to approximate the possibility distribution of ξ by a sequence of possibility distributions of discrete fuzzy vectors \(\{\zeta_{m}\}. \)
For each integer l, we define the discrete fuzzy vector \(\zeta_{l}=(\zeta_{l,1},\ldots,\zeta_{l,m},\zeta_{l,m+1},\ldots, \zeta_{l,m+n})\) as follows:
For each \(j\in\left\{1,2,\ldots,m\right\}\) and \(i\in\left\{1,2,\ldots,n\right\},\) define fuzzy variables \(\zeta_{l,j}=g_{l,j}(d_{j})\) and \(\zeta_{l,m+i}=g_{l,m+i}(v_{i}), \) for \(l=1,2,\ldots,\) where g l,j (d j )’s and g l,m+i (v i )’s are given respectively as follows,
and
Z is the set of integers.
According to the above definitions, for each j, as d j takes its values in the interval [a L j , a U j ], the fuzzy variables \(\zeta_{l,j}\) takes values \(\frac{k}{l}\) for \(k=[l\cdot a_{j}^{L}],[l\cdot a_{j}^{L}]+1,\ldots, [l\cdot a_{j}^{U}]\) with \([\cdot]\) the integer part of ·. Moreover, for each k, fuzzy variable \(\zeta_{l,j}\) only takes the value \(\frac{k}{l}\) as d j takes its values in \(\left[\frac{k}{l},\frac{k+1}{l}\right)\). Consequently, for each \(\gamma\in\Upgamma,\) we have
By the same analysis, we can obtain
Note that \(\zeta_{l}\) and ξ are m + nary fuzzy vectors, and \(\zeta_{l,j}^{d}, \zeta_{l,i}^{v}\) and d j , v i are their components, respectively, we have
for all \(\gamma\in\Upgamma. \) That implies the sequence \(\{\zeta_{l}\}\) of fuzzy vectors converges to infinite-supported fuzzy vector ξ uniformly. The sequence \(\{\zeta_{l}\}\) of finite-supported fuzzy vectors is referred to as discretization of the fuzzy vector ξ.
In the following, we provide an example to show the discretization process described above.
Example 4
Consider the triangular fuzzy variable ξ = (2, 3, 4) in Example 1, define a sequence of discrete fuzzy variables \(\zeta_{l}=g_{l}(\xi), \) where the function g l is defined by
Determine the possibility distributions of the discrete fuzzy variables \(\zeta_{l}\) for \(l=1,2,\ldots. \)
Let l = 1. Then \(\zeta_{1}\) takes only two values: 2 and 3. As ξ takes its values in [2, 3), \(\zeta_{1}\) takes the value 2 only, and \(\zeta_{1}\) takes the value 3 as ξ takes its values in [3,4). Hence,
That is, discrete fuzzy variable \(\zeta_{1}\) takes values 2 and 3 with possibility 1 each.
Let l = 2. Then \(\zeta_{2}\) takes four values, 2, \(\frac{5}{2}, \) 3 and \(\frac{7}{2}, \) as ξ takes it values in the intervals \([2, \frac{5}{2}), [\frac{5}{2},3), [3,\frac{7}{3})\) and \([\frac{7}{3},4), \) respectively. Therefore
That is, \(\zeta_{2}\) takes values 2, \(\frac{5}{2}, \) 3 and \(\frac{7}{2}\) with possibilities \(\frac{1}{2}, \) 1, 1 and \(\frac{1}{2}, \) respectively.
Generally, ζ l takes 2l values \(\frac{i}{l}, i=2l, 2l+1, \ldots, 4l-1. \) The possibility that ζ l takes value \(\frac{i}{l}\) is
We now replace the possibility distribution of ξ by that of its discretization \(\zeta_{l}, \) and approximate the ESSVF \({{\mathcal Q}_{E}(\user2{x})}\) by \(E[Q(\user2{x}, \zeta_{l})]\) for each given decision x. For each given integer l, the fuzzy vector \(\zeta_{l}\) takes finite number of values, which are denoted by
Then, we denote
for \(k=1,2,\ldots,K, \) where μ l,i are the possibility distribution of \(\zeta_{l,i}\) for \(i=1,2,\ldots, m, m+1, \ldots, m+n,\) respectively. For each k, we solve the second-stage linear programming problem (9) through simplex algorithm [8, 10] and obtain the optimal value \(Q(\user2{x}, \widehat \zeta_{l}^{k}), \) whose possibility is ν k . Rearrange the subscript k of ν k and \(Q(\user2{x}, \widehat \zeta_{l}^{k})\) such that
Calculate the wights \(p_{k}, k=1,2,\ldots, K\) by formula (6). After that, the expected value \(E[Q(\user2{x}, \zeta_{l})]\) is computed by the formula
The following Theorem 1 will show that \(E[Q(\user2{x}, \zeta_{l})]\) converges to \({{\mathcal Q}_{E}(\user2{x}), }\) as \(l\to \infty. \) As a consequence, the original ESSVF \({{\mathcal Q}_{E}(\user2{x})}\) can be approximated by \(E[Q(\user2{x},\zeta_{l})]\) through the formula (19), provided l is sufficiently large. The process to compute the ESSVF is summarized as
Algorithm 1: Approximation approach
-
Step 1. Generate K points \(\widehat \zeta_{l}^{k}=\left(\widehat \zeta_{l,1}^{k}, \ldots, \widehat \zeta_{l,m+n}^{k}\right)\) uniformly from the support \(\Upxi\) of ξ for \(k=1,2,\ldots, K. \)
-
Step 2. Solve the second-stage linear programming (9) via simplex algorithm, and obtain the optimal value \(Q(\user2{x}, \widehat \zeta_{l}^{k})\) for \(k=1,2,\ldots, K. \)
-
Step 3. compute the possibility of \(Q(\user2{x}, \widehat \zeta_{l}^{k})\) by setting \(\nu_{k}=\min\{\mu_{l,1}(\widehat \zeta_{l,1}^{k}), \ldots, \mu_{l,m+n}(\widehat \zeta_{l,m+n}^{k})\}\) for \(k=1,2,\ldots, K. \)
-
Step 4. Rearrange the subscript k of ν k and \(Q(\user2{x}, \widehat \zeta_{l}^{k})\) such that \( Q(\user2{x}, \widehat \zeta_{l}^{1})\le Q(\user2{x}, \widehat \zeta_{l}^{2})\le \cdots\le Q(\user2{x}, \widehat \zeta_{l}^{K}).\)
-
Step 5. Calculate the wights \(p_{k}, k=1,2,\ldots, K\) by formula (6).
-
Step 6. Return the value of \({{\mathcal Q}}\) through the estimation formula (19).
The convergence of Algorithm 1 is ensured by the following theorem.
Theorem 1
Consider the problem (9)–(11). Suppose the fuzzy cost and demand vector ξ is a continuous fuzzy vector with support (17), and \(\zeta_{l}\) 's are the discretization of the fuzzy vector ξ, then for any given feasible decision x, we have
Proof
Since the problem (9)–(11) is a two-stage fuzzy programming, and the second-stage programming (9) can be expressed in the form given below:
where V is a matrix containing r j , t ij and fuzzy costs v i (γ) for \(i=1,2,\ldots, n, T\) a matrix containing s i and fuzzy demands d j (γ), H is the matrix of slack variables, and matrix W only consists of 0 and 1. Noting that matrix W is fixed, together with the fact that ξ is a continuous fuzzy vector with a compact support (17) and that \(\zeta_{l}\)’s are the discretization of ξ, by the properties of two-stage fuzzy programming with fixed recourse [22], we can obtain
The proof is complete.\(\square\)
4.2 Estimating the ESSVF by NN
So far, we have discussed the approximation approach for the ESSVF \({{\mathcal Q}_{E}(\user2{x}). }\) It is easy to see that the approach is a time-consuming process though it’s convergence can be ensured by Theorem 1, since in each iteration of simulation, we have to solve the linear programming (9) many times in the second stage. To speed up the solution process, in this paper, we employ the fast BP algorithm [18] to train a feedforward NN to estimate \({{\mathcal Q}_{E}(\user2{x}). }\) The training data set can be generated by the approximation approach of \({{\mathcal Q}_{E}(\user2{x})}\) discussed in Sect. 4.1 Therefore, much time can be saved during the solution process since it is not necessary to evaluate \({{\mathcal Q}_{E}(\user2{x})}\) by the approximation approach. We use the NN with input layer, one hidden layer and output layer connected in a feedforward way, in which there are n neurons in input layer representing the input value of decision variables, p neurons in hidden layer, and 1 neuron in output layer representing the value of the ESSVF. In addition, the number p in the hidden layer can be determined by pruning algorithm [6]. Let \(\left\{(\user2{x}_{k},y_{k})\mid k=1,2,\ldots,N\right\}\) be a set of input-output data generated by fuzzy simulations. The training process is to find the best weight vector w that minimizes the following error function
where F(x k , w) is the output function of the NN. As for more details on NN and its applications, the reader can refer to [3, 7, 35, 36, 37].
4.3 A hybrid algorithm
Particle swarm optimization (PSO) developed by Kennedy and Eberhart [19] is an evolutionary computation technique which uses collaboration among a population of simple search agents (called particles) to find optima in function spaces. In PSO, a potential solution to a problem is represented as a particle i having current position x id and the direction v id in which the particle will travel. Each particle i maintains a record of the position of its previous best performance in a vector p id . The variable g is the index of the particle with best performance so far in the population. An iteration comprises evaluation of each particle, then stochastic adjustment of v id in the direction of particle i′s best previous position p id and the best previous position p gd of any particle in the population. The direction vector v id is updated first and then added to x id according to the formulas given below [32]:
where i is the ith particle, c 1 and c 2 are random numbers independently generated in the interval [0,4] which represent the weighting of the stochastic acceleration terms that pull each particle towards p id and p gd positions, respectively, rand() is a uniform random number in the interval [0,1], and ω is the inertia weight whose value decreases linearly as the number of iterations of the algorithm increases. PSO has demonstrated great success in providing good solutions to many complex optimization problems and has received more and more attention during the past decade. The reader who are interested in detailed discussion about PSO and its applications may refer to [17, 19], [20, 32–34, 38).
In order to use a PSO algorithm to solve the location problem (9)–(11) more effectively, we define the following function:
for \(i=1,2,\ldots,\) and denote \(\varphi({{\bf t}})=(\varphi(t_{1}), \ldots,\varphi(t_{n})), \) where \({{\bf t}}=(t_{1}, \ldots, t_{n})\in [0,1]^{n}. \) Hence, the problem (9)–(11) can be solved by solving the following modified model:
where \({{\mathcal Q}_{E}(\varphi({{\bf t}}))=E[Q(\varphi({{\bf t}}), \xi)]}\) and
Clearly, the original problem (9)–(11) and modified problem (24, (25) correspond the same optimal value, and the optimal solution of problem (9)–(11) can be presented by that of problem (24, (25) using (23):
In the following, we incorporate approximation approach, NN and PSO to produce a hybrid algorithm for solving the FPR problems. First, we generate a training data set for an ESSVF \({{\mathcal Q}_{E}(\user2{x})}\) by approximation approach. Then, using the generated input-output data, we train an NN by fast BP algorithm to estimate \({{\mathcal Q}_{E}(\user2{x}). }\) We repeat this BP algorithm until the error for all vectors in the training set is reduced to an acceptable value or perform the specified number of epochs of training. After that, we use new data (which are not learned by the NN) to test the trained NN. If the test results are satisfactory, then we stop the training process; otherwise, we continue to train the NN. After the NN is well-trained, it is embedded into a PSO. During the solution process, the output values of the trained NN are used to represent the approximate values of \({{\mathcal Q}_{E}(\user2{x}). }\) This process of the hybrid algorithm for solving the problem (9)–(11) is summarized as follows.
Algorithm 2 A Hybrid Algorithm
-
Step 1. Generate a set of input-output data for an ESSVF \({{\mathcal Q}_{E}(\user2{x})}\) through Algorithm 1;
-
Step 2 Train an NN to approximate \({{\mathcal Q}_{E}(\user2{x})}\) by the generated data;
-
Step 3. Initialize a population of particles (potential solutions) at random, set p id equal to x id for each particle i, and find p gd for the population;
-
Step 5. Calculate the objective values for all particles by the trained NN, and evaluate each particle according to the objective value;
-
Step 6. Update the p id for each particle, and the p gd for the population, respectively;
-
Step 7. Repeat Step 4 to Step 6 for a given number of generations;
-
Step 8. Return the particle p gd as the optimal solution of modified problem (24, (25), and obtain the optimal solution of original problem (9)–(11) through formula (26).
5 A numerical example
Suppose a firm intends to open new facilities in six potential sites, whose fixed costs and variable operating costs are given in Table 1, and there are five clients whose demands are triangular fuzzy variables given below
Example 5
Consider the following two-stage fuzzy facility location problem
where \({{\mathcal Q}_{E}(\user2{x})=E[Q(\user2{x}, \xi)]}\) and
and the values of r j − t ij , for \(i=1,2,\ldots,6, j=1,2,\dots,5\) are given by matrix
To solve this problem, for any feasible solution x, we generate 3,000 sample points via approximation approach to evaluate the ESSVF \({{\mathcal Q}_{E}(\user2{x}). }\) That is, we are first required to solve the second-stage programming (28) 3,000 times and obtain the SSVF Q(x, ξ(γ i )) for \(i=1,2,\ldots, 3,000. \) Then the value of \({{\mathcal Q}_{E}(\user2{x})}\) at x can be computed by formula (19).
Furthermore, we generate 2,000 input-output data by using the method mentioned above to train an NN to estimate the ESSVF \({{\mathcal Q}_{E}(\user2{x}). }\) After the NN is well trained, it is embedded into a PSO algorithm to produce a hybrid algorithm (Algorithm 2) to search for the optimal solution. As have described in Sect. 4.3, for problem (27), (28), we replace all the \(x_{i}\in \{0,1\}\) by \(\varphi(t_{i})\in [0,1], \) for \(i=1,2,\ldots,6, \) where \(\varphi(\cdot)\) is given by formula (23). Hence, \({{\bf t}}=(t_{1}, t_{2}, \ldots, t_{6})\) is considered as the particle in the PSO, and the optimal solution of the problem is given by \(\user2{x}^{*}=(\varphi(t_{1}^{*}), \varphi(t_{2}^{*}), \ldots, \varphi(t_{6}^{*})).\)
In this paper, parameters of PSO c 1 and c 2 are set equal to 2, the population size P size = 4, the maximum generation G max = 60, and using the method of (Shi and Eberhart, 1998a) that inertia weight decreases linearly from about 0.9 to 0.4 during a run, ω is given by
where G n the number of current generation. A run of the hybrid algorithm (Algorithm 2) shows the optimal location decision is
whose objective value is 53.798394. In Table 2, we can compare the results at different generations of particles. It follows from Table 2 that the algorithm converges at the generation of 20. Furthermore, in order to test the effectiveness of the algorithm, we reset the P size = 100 to achieve an ergodic search, and obtain the global optimal solution which is right x * = (1, 1, 1, 1, 0) with objective value 53.798394. That is, the hybrid algorithm searches out the global optimal solution at the generation of 20 with population size 4, which implies the high effectiveness of the algorithm.
6 Concluding remarks
This paper puts forth a novel and realistic capacitated two-stage FLP with fuzzy costs and demands. Since the problem is a 0–1 integer two-stage fuzzy programming, and the possibility distributions of fuzzy costs and demands own infinite support, the proposed FLP can not be solved directly and exactly. Therefore, in order to tackle this complicated model, first, an approximation method of the location problem is employed, and the convergence of the method is proved. After that, a hybrid algorithm which integrates the approximation approach, neural network and particle swarm optimization is designed to solve the problem. Finally, a numerical example is provided to test the effectiveness of the hybrid algorithm. With the proposed model, the approximately optimal location can be determined when the location problems are with imprecise cost and demand parameters, or they are directly provided by the experts.
There is much room for further development based on this study, for instance, a more complex situation could be more interesting by considering a hybrid continuous-discrete location region, in that case, the solution should be totally different and much more difficult.
References
Badri MA (1999) Combining the analytic hierarchy process and goal programming for global facility location–allocation problem. Int J Prod Econ 62(3):237–248
Bhattacharya U, Rao JR, Tiwari RN (1992) Fuzzy multi-criteria facility location problem. Fuzzy Sets Syst 51(3):277–287
Boehm O, Hardoon DR, Manevitz LM (2011) Classifying cognitive states of brain activity via one-class neural networks with feature selection by genetic algorithms. Int J Mach Learn Cybern 2(3):125–134
Bongartz I, Calamai PH, Conn AR (1994) A projection method for lp norm location–allocation problems. Math Program 66(1–3):283–312
Carrizosa E, Conde E, Munoz-Marquez M, Puerto J (1995) The generalized Weber problem with expected distances. Rairo-Recherche Operationnelle Oper Res 29(1):35–57
Castellano G, Fanelli AM, Pelillo M (1997) An iterative pruning algorithm for feedforward neural networks. IEEE Trans Neural Netw 8:519–537
Chen C-J (2011) Structural vibration suppression by using neural classifier with genetic algorithm. Int J Mach Learn Cybern. doi:10.1007/s13042-011-0053-9
Chvatal V (1983) Linear Programming. W. H. Freeman and Company, New York
Cooper L (1963) Location–allocation problems. Oper Res 11(3):331–344
Dantzig GB (1963) Linear Programming and Extensions. Princeton University Press, Princeton, New Jersey
Darzentas J (1987) A discrete location model with fuzzy accessibility measures. Fuzzy Sets Syst 23(1):149–154
Dubois D, Prade H (1980) Fuzzy sets and systems: theory and applications. Academic Press, New York
Dubois D, Prade H (1988) Possibility theory. Plenum Press, New York
Ernst AT, Krishnamoorthy M (1999) Solution algorithms for the capacitated single allocation hub location problem. Ann Oper Res 86(1–4):141–159
Gong D, Gen M, Xu W, Yamazaki G (1995) Hybrid evolutionary method for obstacle location–allocation problem. Comput Ind Eng 29(1–4):525–530
Ishii H, Lee YL, Yeh KY (2007) Fuzzy facility location problem with preference of candidate sites. Fuzzy Sets Syst 158(17):1922–1930
Jarboui B, Damak N, Siarry P, Rebai A (2008) A combinatorial particle swarm optimization for solving multi-mode resource-constrained project scheduling problems. Appl Math Comput 195(1):299–308
Karayiannis NB, Venetsanopoulos AN (1992) Fast learning algorithms for neural networks. IEEE Trans Circuits Syst II Analog Digital Signal Process 39:453–474
Kennedy J, Eberhart RC (1995) Particle swarm optimization. In: Proceedings of the 1995 IEEE international conference on neural networks, vol IV, pp 1942–1948
Kennedy J, Eberhart RC, Shi Y (2001) Swarm intelligence. Morgan Kaufmann Publishers, San Francisco
Liu B, Liu YK (2002) Expected value of fuzzy variable and fuzzy expected value models. IEEE Trans Fuzzy Syst 10:445–450
Liu YK (2005) Fuzzy programming with recourse. Int J Uncertain Fuzziness Knowl Based Syst 13(4):381–413
Liu YK (2006) Convergent results about the use of fuzzy simulation in fuzzy optimization problems. IEEE Trans Fuzzy Syst 14(2):295–304
Logendran R, Terrell MP (1988) Uncapacitated plant location–allocation problems with price sensitive stochastic demands. Comput Oper Res 15(2):189–198
Laporte G, Louveaux FV, Hamme LV (1994) Exact solution to a location problem with stochastic demands. Transport Sci 28(2):95–103
Louveaux FV, Peeters D (1992) A dual-based procedure for stochastic facility location. Oper Res 40(3):564–573
Love RF (1976) One-dimensional facility location–allocation using dynamic programming. Manag Sci 24(5):224–229
Lozano S, Guerrero F, Onieva L, Larraneta J (1998) Kohonen maps for solving a class of location–allocation problems. Eur J Oper Res 108(1):106–117
Megiddo N, Supowit KJ (1984) On the complexity of some common geometric location problems. SIAM J Comput 13(1):182–196
Murtagh BA, Niwattisyawong SR (1982) Efficient method for the muti-depot location em dash allocation problem. J Oper Res Soc 33(7):629–634
Nahmias S (1978) Fuzzy variable. Fuzzy Sets Syst 1(2):97–101
Shi Y, Eberhart RC (1998a) A modified particle swarm optimizer. In: Proceedings of the 1998 IEEE international conference on evolutionary computation, pp 69–73
Shi Y, Eberhart RC (1998b) Parameter selection in particle swarm optimization. In: Proceedings of 7th annual conference on evolutionary programming, pp 591–600
Tasgetiren MF, Liang YC, Sevkli M, Gencyilmaz G (2007) A particle swarm optimization algorithm for makespan and total flowtime minimization in the permutation flowshop sequencing problem. Eur J Oper Res 177(3):1930–1947
Tong DL, Mintram R (2010) Genetic Algorithm-Neural Network (GANN): a study of neural network activation functions and depth of genetic algorithm search applied to feature selection. Int J Mach Learn Cybern 1(1–4):75–87
Wang S, Liu Y, Dai X (2007) On the continuity and absolute continuity of credibility functions. J Uncertain Syst 1(3):185–200
Wang X-Z, Li C-G (2008) A definition of partial derivative of random functions and its application to RBFNN sensitivity analysis. Neurocomputing 71(7–9):1515–1526
Wang X-Z, He Y-L, Dong L-C, Zhao H-Y (2011) Particle swarm optimization for determining fuzzy measures from data. Inform Sci 181(19):4230–4252
Wen M, Iwamura K (2008) Fuzzy facility location–allocation problem under the Hurwicz criterion. Eur J Oper Res 184(2):627–635
Zadeh LA (1965) Fuzzy sets. Inform Contr 8(3):338–353
Zadeh LA (1978) Fuzzy sets as a basis for a theory of possibility. Fuzzy Sets Syst 1(1):3–28
Zhou J, Liu B (2007) Modeling capacitated location–allocation problem with fuzzy demands. Comput Ind Eng 53(3):454–468
Acknowledgments
The work was supported partially by “Ambient SoC Global COE Program of Waseda University” of Ministry of Education, Culture, Sports, Science and Technology, Japan, and by the Research Fellowships of the Japan Society for the Promotion of Science (JSPS) for Young Scientists.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Wang, S., Watada, J. Capacitated two-stage facility location problem with fuzzy costs and demands. Int. J. Mach. Learn. & Cyber. 4, 65–74 (2013). https://doi.org/10.1007/s13042-012-0073-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13042-012-0073-0