Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

A fuzzy primal simplex algorithm and its application 373

Applied Mathematics. He won the International Research Scholarship of the


Japan Student Services Organization (JASSO) which is organised by the
Japanese government. Moreover, he was the Chair of the Scientific Committee
of the Second International Conference of Iranian Operations Research
Society held in 20–22 May 2009 in Babolsar, Iran and the Co-Chair in the
3rd International Conference on Fuzzy Information and Engineering held in
26–29 September 2009 in Chongqing, China.
A. Ebrahimnejad is a PhD student in the Mathematics Department of the
Islamic Azad University (Sciences and Research Branch), Tehran, Iran.
He received his BS from Mazandaran University, Iran and his MSc from
Tehran University, Iran. In 2008, he joined the Islamic Azad University
(Ghaemshahr Branch, Ghaemshahr, Iran) as a faculty member. His research
interests include operations research, network flows, Data Envelopment
Analysis (DEA) and fuzzy linear programming.

1 Introduction

Fuzzy set theory has been applied to many disciplines such as control theory
and management sciences, mathematical modelling and industrial applications.
The concept of fuzzy mathematical programming in the general level was first proposed
by Tanaka et al. (1974) in the framework of the fuzzy decision of Bellman and
Zadeh (1970). Some authors used the concept of comparison of fuzzy numbers for
solving fuzzy linear programming problems. Many convenient methods are based on the
concept of comparison of fuzzy numbers using ranking functions (Campos and Verdegay,
1989; Maleki et al., 2000; Maleki, 2002; Mahdavi-Amiri and Nasseri, 2006; 2007).
Mahdavi-Amiri and Nasseri (2007) introduced a dual simplex algorithm for solving the
linear programming problems with trapezoidal fuzzy variables. Ganesan and Veeramani
(2006) introduced a new approach for solving a kind of linear programming involving
symmetric trapezoidal fuzzy numbers without converting them to the crisp linear
programming problems. Nasseri and Mahdavi-Amiri (2009) based on this approach
defined a new concept of duality of these problems. Ebrahimnejad and Nasseri (2009)
used the complementary slackness to solve fuzzy linear programming without the
need for a simplex tableau. Maleki (2002) showed that a flexible linear programming
problem can be reduced to a linear programming problem with fuzzy variables and
proposed an auxiliary problem for solving these problems. Moreover, some interesting
works concerning the application of the flexible programming in industrial engineering
problems can be found in Miller et al. (1997), Pendharkar (1997), Itoh et al. (2003) and
Mula et al. (2006).
In this paper, we propose a fuzzy primal algorithm for solving linear programming
problems with fuzzy variables and a flexible linear programming without using any
auxiliary problem. Moreover, this technique will be useful for sensitivity analysis in
the flexible linear programming problems. This paper is organised in seven sections.
In Section 2, we give some necessary backgrounds and definitions of the fuzzy set theory.
We give the definition of the linear programming problem with fuzzy variables in
Section 3. In Section 4, we give a fuzzy primal simplex algorithm for Fuzzy Variable
Linear Programming (FVLP) problems. We define the flexible linear programming
problem and then propose a fuzzy primal algorithm for solving the flexible linear
374 S.H. Nasseri and A. Ebrahimnejad

programming problem in Section 5. We consider the Minimum Cost Flow Problem


(MCFP) as a longer numerical example and a practical application of the flexible linear
programming problem in Section 6. The conclusions are given in Section 7.

2 Preliminaries
2.1 Definitions and notations
We review the fundamental notions of fuzzy set theory initiated by Bellman and Zadeh
(1970) (taken from Mahdavi-Amiri and Nasseri, 2007).

Definition 2.1 A convex fuzzy set A on is a fuzzy number if the following


conditions hold:
• Its membership function is piecewise continuous.
• There exist three intervals, namely: [a, b], [b, c] and [c, d] such
that µ A is increasing on [a, b], equal to 1 on [b, c], decreasing
on [c, d] and equal to 0 elsewhere.

Definition 2.2 Let A = (aL, aU, α, β) denote the trapezoidal fuzzy number, where
(aL – α, aU + β) is the support of A and [aL, aU] its core.

Remark 2.1 We denote the set of all trapezoidal fuzzy numbers by F( ).

Now, we define arithmetic on trapezoidal fuzzy numbers. Let a = (aL, aU, α, β) and
b = (bL, bU, γ, θ) be two trapezoidal fuzzy numbers defined as follows:

x 0, x ∈ ; xa = (xaL, xaU, xα, xβ)

x < 0, x ∈ ; xa = (xaU, xaL, –xβ, –xα)

a + b = (aL + bL, aU + bU, α + γ, β + θ).


We point out that the arithmetic on trapezoidal fuzzy numbers follows the extension
principle (for a discussion, see Lai and Hwang, 1992).

2.2 Ranking functions


One convenient approach for solving the fuzzy linear programming problems is based
on the concept of comparison of fuzzy numbers by the use of ranking functions
(Mahdavi-Amiri and Nasseri, 2006; 2007; Mahdavi-Amiri et al., 2009; Maleki et al.,
2000). An effective approach for ordering the elements of F( ) is to define a ranking
function R : F( ) → which maps each fuzzy number into the real line where a natural
order exists.
A fuzzy primal simplex algorithm and its application 375

We define orders on F( ) by:

a b if and only if R ( a) R (b ) (1)


a b if and only if R(a) > R(b) (2)
a b if and only if R(a) = R(b) (3)

where a and b are in F( ). Also, we write a b if and only if b a.


We restrict our attention to linear ranking functions, that is, a ranking function R
such that:

R(ka + b) = kR(a) + R(b) (4)


for any a and b belonging to F( ) and any k ∈ .

Remark 2.2 For any trapezoidal fuzzy number a, the relation a 0 holds if there
exist ε 0 and α 0 such that a (–ε, ε, α, α). We realise that
R(–ε, ε, α, α) = 0 (we also consider a 0 if and only if R(a) = 0).
Thus, without loss of generality throughout the paper, we let
0 = (0, 0, 0, 0) as the zero trapezoidal fuzzy number.
The following lemma is now immediately at hand.

Lemma 2.1 Let R be any linear ranking function. Then:


• a b if and only if a−b 0 if and only if −b −a.
• If a b and c d , then a + c b + d.
We consider the linear ranking functions on F( ) as:

R(a) = cLaL + cUaU + cαα + cββ, (5)

where a = (aL, aU, α, β), and cL, cU, ca, cβ are constants, at least one of which is nonzero.
A special version of the above linear ranking function was first proposed by Yager (1981)
(see also Roubens, 1991; Fortemps and Roubens, 1996; Mahdavi-Amiri and Nasseri,
2007) as follows:
1 1
2 ∫0
R(a) = (inf aλ + sup aλ ) d λ (6)

which reduces to:


a L + aU 1
R(a) = + ( β − α ). (7)
2 4
Then, for trapezoidal fuzzy numbers a = (aL, aU, α, β) and b = (bL, bU, γ, θ), we have:
1 1
a b if and only if a L + aU + ( β − α ) b L + bU + (θ − γ ). (8)
2 2
376 S.H. Nasseri and A. Ebrahimnejad

3 Fuzzy Variable Linear Programming (FVLP)

Definition 3.1 An FVLP is defined by Mahdavi-Amiri and Nasseri (2007) and


Maleki et al. (2000) as:
min z cx
s.t. Ax b (9)
x 0

where c ∈ n
, x ∈ (F( ))n, A ∈ , b ∈ (F( ))m.
m×n

Definition 3.2 We say that a vector x ∈ (F( ))n is a feasible solution to Problem (9)
if and only if x satisfies the constraints of the problem.

Definition 3.3 A feasible solution x* is an optimal solution to Problem (9) if for all
feasible solution x for Problem (9), we have cx* cx.

3.1 Fuzzy basic feasible solution


Definition 3.4 Consider the FVLP problem:
min z cx
s.t. Ax = b (10)
x 0

where the parameters of the problem are defined in Problem (9).


Let A = [aij]m×n. Assume rank(A) = m. Partition A as [B N] where B, m × m, is
nonsingular. It is obvious that rank(B) = m. Let yj be the solution to By = aj. It is apparent
that the basic solution:

xB ( x B1 , …, x Bm )T B −1 b , x N 0 (11)

( )
T
is a solution of Ax = b. In fact, x = x BT x NT . If x B 0, then the basic solution
is feasible and the corresponding fuzzy objective value is z cB x B , where
cB = (cB1 , …, cBm ). Now, corresponding to every nonbasic variable x j , 1 j n, j ≠ Bi,
i = 1, ..., m, define:
zj = cByj = cBB–1aj. (12)
Below, we state some important results concerning the optimality conditions, improving
a feasible solution and unbounded criteria (taken from Mahdavi-Amiri and Nasseri, 2007;
Maleki et al., 2000).

Theorem 3.1 If we have a fuzzy basic feasible solution with fuzzy objective value z
such that zk – ck > 0 for some nonbasic variable x k , and meanwhile
yk 0, then it is possible to obtain a new fuzzy basic feasible solution
with a new fuzzy objective value z , that satisfies z z.
A fuzzy primal simplex algorithm and its application 377

Theorem 3.2 If we have a fuzzy basic feasible solution with zk – ck < 0 for some
nonbasic variable x k , and meanwhile yk ≤ 0, then Problem (10) has an
unbounded solution.

Theorem 3.3 (Optimality conditions) If a basic solution x B = B −1b, x N 0 is feasible


to Problem (10) and zj – cj for all j, 1 j n, then the fuzzy basic
solution is a fuzzy optimal solution to Problem (10).
Maleki et al. (2000) proposed a method for solving FVLP problems using an auxiliary
problem. They discussed some relations between the FVLP problem and the auxiliary
problem and used the results for solving the FVLP problem by the algorithm based on
the solution of the auxiliary problem. Mahdavi-Amiri and Nasseri (2007) developed the
duality results for the FVLP problem and showed that the proposed auxiliary problem
by Maleki (2002) is indeed the dual of the FVLP problem. Based on the results obtained,
we have presented a dual simplex algorithm for solving the FVLP problems directly
using the primal simplex tableau. In the next section, we state a fuzzy primal simplex
algorithm which can directly solve the linear programming problem with fuzzy variables
as well as simplex algorithm in crisp environment.

4 A fuzzy primal simplex algorithm

In this section, we are going to state a fuzzy primal simplex algorithm for FVLP
problems which is established by Mahdavi-Amiri and Nasseri (2007).

4.1 Simplex method in the tableau format


Consider the FVLP Problem (5) rewritten in the following form:
min z cB x B + c N x N
s.t. Bx B + Nx N b (13)
xB , xN 0.

We can write x B B −1b − B −1 Nx N , z cB ( B −1b − B −1 Nx N ) + cN x N and hence x B + B −1 Nx N


B −1b, and z + (cB B −1 N − cN ) x N cB B −1b. Letting x N 0, we have x B = y0 = B −1b,
and z cB y0 . Thus, we write the above FVLP problem in the following tableau
format (Table 1).

Table 1 The FVLP simplex tableau

Basis xB xN R.H.S.
z 0 zN – cN = cBB–1N – cN y00 = cB B −1b
xB I Y = B–1N y0 = B −1b
378 S.H. Nasseri and A. Ebrahimnejad

Table 1 gives us all the information needed to proceed with the fuzzy primal simplex
method. The cost row in the above tableau is as follows:

y0j = 0, j = Bi, 1 i m,

y0j = cByj – cj = zj – cj,

1 j n, j ≠ Bi, 1 i m.

According to the optimality conditions for these problems, we are at the optimal
solution if y0j 0, for all j ≠ Bi, 1 i m. On the other hand, if yok > 0, for some k ≠ Bi,
1 i m, then the problem is either unbounded or an exchange of a basic variable x Br
for some r, and a nonbasic variable x k can be made to decrease the rank of the objective
value (under nondegeneracy assumption).
The following theorems state the conditions for the unboundedness of the FVLP
problem and the conditions permitting the update of the tableau to a new tableau
having a nonincreasing (decreasing under nondegeneracy assumption) rank of the
objective value. The proofs were given by Mahdavi-Amiri and Nasseri (2007) and then
we omit them here.

Theorem 4.1 If in an FVLP simplex tableau, there is a column k (not in basis) for
which zk – ck > 0 and yik 0, i = 1, ..., m, then the FVLP problem
is unbounded.

Theorem 4.2 If in an FVLP simplex tableau, a k exists such that zk – ck > 0 and there
exists a basic index Bi such that yik > 0, then a pivoting row can be
found so that pivoting on yrk will yield a fuzzy feasible tableau with a
corresponding nonincreasing (decreasing under nondegeneracy
assumption) objective value.

4.2 Pivoting and change of basis


If x k enters the basis x Br and leaves the basis, then pivoting on yrk in the simplex tableau
is stated as follows:
Step 1 Divide row r by yrk.
Step 2 For i = 0, 1, ..., m and i ≠ r, update the i-th row by adding to it –yik times the new
i-th row.
Please note that the pivoting results in a fuzzy simplex tableau are corresponding to the
new basis.
A fuzzy primal simplex algorithm and its application 379

4.3 The main steps of FVLP simplex algorithm


Algorithm 1 The fuzzy simplex method for the FVLP problem

Assumption: A basic feasible solution with basis and the corresponding simplex tableau is at hand.
Step 1 The basic feasible solution is given by x B = y0 and x N = 0. The fuzzy objective value is:
z = y00 = cB y0 .
Step 2 Let y0k = max{y0 j }, j = 1, ..., n, j ≠ Bi, i = 1,..., m. If y0k 0, then stop; the current
j

solution is optimal.
Step 3 If yk 0, then stop; the problem is unbounded. Otherwise determine the index Br of the
variable x Br leaving the basis as follows:

yr 0 ⎧⎪ y ⎫⎪
= min ⎨ i 0 | yik > 0 ⎬
yrk 1 i m
⎩⎪ yik ⎪⎭

where yi0 = R( yi 0 ), i = 1,..., m.


Step 4 Pivot on yrk and update the fuzzy simplex tableau. Go to Step 2.

Below, we illustrate Algorithm 1 by solving an example.

Example 4.1 Consider the FVLP problem:


min z −3 x1 − 4 x2
⎧3 x1 + x2 (2, 4, 1, 3)

s.t. ⎨2 x1 − 3 x2 (3, 5, 2, 1)

⎩ x1 , x2 0.
By adding the slack variables, we rewrite the constraints of the problem as:

⎧3 x1 + x2 + x3 (2, 4, 1, 3)

⎨2 x1 − 3 x2 + x 4 (3, 5, 2, 1)

⎩ x1 , x2 , x3 , x4 0.
Now, we rewrite the above problem as the FVLP simplex tableau (Table 2).

Table 2 The first simplex tableau

Basis x1 x2 x3 x4 R.H.S.
z 3 4 0 0 (0, 0, 0, 0)
x3 3 1 1 0 (2, 4, 1, 3)
x4 2 –3 0 1 (3, 5, 2, 1)

We see that y01 = 3, y02 = 4, y03 = y04 = 0, then we may select x2 as an entering variable
and hence x3 is a leaving variable. Then by pivoting on y12 = 1, we obtain the next
tableau as given in Table 3.
380 S.H. Nasseri and A. Ebrahimnejad

Table 3 The optimal simplex tableau

Basis x1 x2 x3 x4 R.H.S.
z –9 0 –4 0 (–16, –8, 12, 4)
x2 3 1 1 0 (2, 4, 1, 3)
x4 11 0 3 1 (9, 17, 5, 10)

Since y0j 0 for all j ≠ Bi, i = 1, 2, then the basis is optimal and the optimal fuzzy
objective value is z (–16, –8, 12, 4).

5 Flexible linear programming problem

In practice, there are several models of flexible linear programming. In the following
subsection, a definition for these kinds of problems is given which is important to
our discussion.

5.1 Definition of Nonsymmetric Flexible Linear Programming (NFLP) problem


Definition 5.1 The model:
min z yT b
s.t. (yT A) j F
c j , j = 1, …, n, (14)
y 0,
where A = [aij]m×n and the symbol F denotes a fuzzy version of the
ordinary inequality is known as the Nonsymmetric Flexible Linear
Programming (NFLP) problem (Zimmermann 1985; Maleki, 2002).
It is possible to determine the maximum tolerance pj for each fuzzy constraint.
Now, consider the following fuzzy linear programming problem:
min z = yT b
s.t. (yT A) j c j , j = 1, …, n, (15)
y 0,
where c j is a fuzzy number with Supp c j = [cj, cj + pj]. Lai and Hwang (1992) asserted
that if the membership functions of both cases are the same, then Model (14) and
Problem (15) will be the same. In the special case, assume that A 0, cj 0, and the
membership function is quasi-trapezoidal for each fuzzy constraint, i.e.:

⎧ 1, 0 ( y T A) j cj ,

⎪ ( y A) j − c j
T

µ ( yT A) j ( y) = ⎨1 − cj ( yT A) j cj + pj , (16)
⎪ pj
⎪ 0, otherwise.

A fuzzy primal simplex algorithm and its application 381

Then to solve the NFLP problem (Model 14), we shall have following model:
m
min z ∑b y
i =1
i i

m
s.t. ∑a y
i =1
ij j (0, c j ,0, p j ), j = 1, …, n, (17)

yj 0, j = 1, …, m,

where (0, cj, 0, pj) is a quasi-trapezoidal fuzzy number. However, Model (17) is a linear
programming problem with trapezoidal fuzzy variables and may be solved by the fuzzy
primal simplex algorithm.

Remark 5.1 In practice, there are several models of the flexible linear
programming. In this paper, we restrict our attention to Model (14).
It is clear that we can use a general model for the flexible linear
programming and then obtain the solution by two methods, namely:
the fuzzy dual simplex algorithm and the fuzzy primal simplex
algorithm. The first case is shown in Example 6.1 in the paper written
by Mahdavi-Amiri and Nasseri (2007) and the second case will appear
in the example of the next subsection.

Remark 5.2 As one may see, there is a shortcoming in the paper of Mahdavi-Amiri
and Nasseri (2007) because the authors did not give attention to the
linear programming problem with fuzzy variables when the feasibility
condition for a dual problem was not at hand. Therefore, the need to
use the fuzzy primal simplex algorithm is clear while a fuzzy feasible
solution is at hand. Moreover, the capabilities offered here will be
useful for sensitivity analysis using the primal simplex tableau.
Hence, we hope that the proposed method in this paper besides the
method in Mahdavi-Amiri and Nasseri (2007) will improve the tools for
sensitivity analysis.

5.2 Numerical example


Here, we give an NFLP problem (taken from Maleki, 2002) and solve it by the method
proposed in the previous subsection:
min z = − y1 − 2 y2
s.t. y1 F 3
y1 + y2 F 4 (18)
0.5 y1 + y2 F 3
y1 , y2 0

where p1 = 2, p2 = 4, and p3 = 2. If we use the Membership Function (16) for all fuzzy
constraints in Problem (18), then we have:
382 S.H. Nasseri and A. Ebrahimnejad

min z − y1 − 2 y2
s.t. y1 (0, 3, 0, 2),
y1 + y2 (0, 4, 0, 4), (19)
0.5 y1 + y2 (0, 3, 0, 2),
y1 , y2 0

which is a linear programming problem with trapezoidal fuzzy variables. Now, we solve
the current FVLP problem with the fuzzy primal simplex algorithm as discussed
in Section 4. In fact, by adding the slack fuzzy variables, we have the new constraints
as follows:
y1 + y3 (0, 3, 0, 2),
y1 + y2 + y4 (0, 4, 0, 4),
0.5 y1 + y2 + y5 (0, 3, 0, 2),
y1 , y2 , y3 , y4 , y5 0.

The first fuzzy primal simplex tableau corresponding to the above model is given
in Table 4.

Table 4 The first primal simplex tableau

Basis y1 y2 y3 y4 y5 R.H.S.
z 1 2 0 0 0 (0, 0, 0, 0)
y3 1 1 1 0 0 (0, 3, 0, 2)
y4 1 1 0 1 0 (0, 4, 0, 4)
y5 0.5 1 0 0 1 (0, 3, 0, 2)

It is clear that y2 enters to the basis and then we may consider y3 as a leaving variable.
The results after pivoting are given in the next tableau.

Table 5 The optimal fuzzy primal simplex tableau

Basis y1 y2 y3 y4 y5 R.H.S.
z –1 0 –2 0 0 (–6, 0, 4, 0)
y2 1 1 1 0 0 (0, 3, 0, 2)
y4 1 0 0 1 0 (–3, 4, 2, 4)
y5 0.5 0 0 0 1 (–3, 3, 2, 2)

Hence, the optimal solution of Problem (13) is:


y1 = 0, y2 = (0, 3, 0, 2),
and the fuzzy optimal value of the objective function is:
z = (–6, 0, 4, 0).
A fuzzy primal simplex algorithm and its application 383

It can be seen that the fuzzy optimal solution with fuzzy primal algorithm is equal
to the fuzzy optimal solution that is obtained by solving the auxiliary problem by
Maleki (2002).

6 Application in Minimum Cost Flow Problem (MCFP)

This paper discusses the flexible linear programming problem which has many
applications in management sciences, mathematical modelling and industrial
applications. One application in network optimisation is dealt with in this section.
MCFP, which is an important problem in combinational optimisation and network
flow, has many applications in engineering and practical problems such as transportation,
communication and job scheduling models. The aim of this problem is to find the least
transportation cost of a commodity through a capacitated network in order to satisfy
demands at certain nodes using available supplies to other nodes. Let G = (N, A) be a
directed network defined as a set N of n nodes and a set A of m as directed arcs. Each arc
(i, j) has an associated cost cij denoting the cost per unit flow on that arc and also an
upper and a lower capacity uij and lij, respectively. We usually assume it to be zero
since we can always make it zero using a simple change of variable (Ahuja et al., 1993).
We associate with each i ∈ N a number bi representing its supply, demand or transient
node depending on whether bi ≥ 0 or bi ≤ 0, bi = 0, respectively. The decision variables in
the MCFP are arc flows and we represent the flow on an arc (i, j) ∈ A by xij. The flexible
MCFP is an optimisation model formulated as follows:
min z F

( i , j )∈A
cij xij
(20)
s.t. ∑
{ j:( i , j )∈A}
xij − ∑
{ j :( j ,i )∈A}
x ji F
bi , for all i ∈ N ,

0 F
xij F
uij for all (i, j ) ∈ A (21)
n
where ∑b
i =1
i
F
0.

We note that the symbols F and F denote the fuzzy version of the ordinary equality
and inequality, respectively. So, in order to solve the flexible MCFP above by the
mentioned discussion in Section 5, the following equivalent model can be solved:
min z ∑
( i , j )∈A
cij xij
(22)
s.t. ∑
{ j :( i , j )∈A}
xij − ∑
{ j:( j ,i )∈A}
x ji bi , for all i ∈ N ,

0 xij uij for all (i, j) ∈ A (23)


n
where ∑b
i =1
i 0 and also bi = (0, bi, 0, pi) and bi = (–bi, 0, pi, 0) are the quasi-trapezoidal

fuzzy numbers corresponding to bi F 0 and bi ≺ F 0. Moreover, (0, uij, 0, pij) is the


quasi-trapezoidal fuzzy number corresponding to uij.

You might also like