Solving Multi-Objective Transportation Problem by ... - CiteSeerX

0 downloads 0 Views 600KB Size Report
Dec 12, 1999 - has always feasibility converted to a transportation tree. In the evolutionary process, the mixed strategy with (µ + λ)-selection and roulette wheel ...
IEICE TRANS. FUNDAMENTALS, VOL.E82–A, NO.12 DECEMBER 1999

2802

PAPER

Solving Multi-Objective Transportation Problem by Spanning Tree-Based Genetic Algorithm Mistuo GEN† , Member, Yinzhen LI†† , Nonmember, and Kenichi IDA††† , Member

SUMMARY In this paper, we present a new approach which is spanning tree-based genetic algorithm for solving a multiobjective transportation problem. The transportation problem as a special type of the network optimization problems has the special data structure in solution characterized as a transportation graph. In encoding transportation problem, we introduce one of node encodings based on a spanning tree which is adopted as it is capable of equally and uniquely representing all possible basic solutions. The crossover and mutation were designed based on this encoding. Also we designed the criterion that chromosome has always feasibility converted to a transportation tree. In the evolutionary process, the mixed strategy with (µ + λ)-selection and roulette wheel selection is used. Numerical experiments show the effectiveness and efficiency of the proposed algorithm. key words: multi-objective optimization, transportation problem, spanning tree, genetic algorithm

1.

Introduction

In real-world cases transportation problem can be formulated as a multi-objective transportation problem because the complexity of the social and economic environment requires the explicit consideration of criteria other than cost. Examples of additional concerns include: average delivery time of the commodities, reliability of transportation, accessibility to the users, product deterioration, among others. Until now, many researchers also have great interest in the multi-objective transportation problem, and a number of methods had been proposed for solving it [2], [8], [14]. Recently there have been many studies on evolutionary approachs to solve the variety of transportation problems. Michalewicz et al. [11], [16] firstly discussed the use of genetic algorithm (GA) for solving linear and nonlinear transportation problems. They used these problems as an example of constrained optimization problems, and investigated how to handle such constraints with GA. The matrix representation was used to construct a chromosome and designed the Manuscript received March 2, 1998. The author is with the Department of Industrial Engg. & Oper. Research, University of California, Berkeley, USA, and the Department of Industrial and Information Systems Engg., Ashikaga Institute of Technology, Ashikaga-shi, 326– 8558 Japan. †† The author is with IT Solution Divi., FJB Web Technology LTD., Tokyo, 112–0004 Japan. ††† The author is with the Department of Information Engg., Maebashi Institute of Technology, Maebashi-shi, 371–0816 Japan. †

matrix-based crossover and mutation in their investigation. Gen et al. [4] further extended Michalewicz’s works to bicriteria linear transportation problem and bicriteria solid transportation problem. They embedded the basic idea of criteria space approach in evaluation phase so as to force genetic search towards exploiting the nondominated points in the criteria space. However, in more real-world transportation problems to be solved it will have a large-scale problem. For the problem with m origins and n destinations the matrix-based representation for a solution requires m× n memories in the evolutionary process. It requires so much memories in the development of implementation, and will spend more computation time. In this paper, we present a new approach of the genetic algorithm for solving multi-objective transportation problem. Transportation problem as a special type of the network optimization problems has a special data structure in solution characterized as a transportation graph. We focus on this special graph and utilize the Pr¨ ufer number [3] encoding based on a spanning tree which is adopted as it is capable of equally and uniquely representing all possible trees. Using the Pr¨ ufer number representation the memory only requires m + n − 2 on the problem. Transportation problem has separable set of nodes from origins and destinations. From this point, we design the criterion for feasibility of the chromosome. We also design crossover and mutation based on new encoding so that feasibility can be preserved. And the mixed strategy with (µ + λ)-selection and roulette wheel selection is used. The proposed algorithm can find Pareto optimal solutions for multiobjecitve transportation problem in criterion space. Finally, the numerical experiments will show the effectiveness and efficiency of the proposed spanning tree-based genetic algorithm. 2.

Multiobjective Transportation Problem

Assuming there are m origins, n destinations, and Q objectives, the multi-objective transportation problem can be formulated as follows: min zq (x) =

m  n  i=1 j=1

cqij xij ,

q = 1, 2, · · ·, Q

GEN et al: SOLVING MULTI-OBJECTIVE TRANSPORTATION PROBLEM BY SPANNING TREE-BASED GENETIC ALGORITHM

2803

s. t.

n 

xij ≤ ai , i = 1, 2, · · ·, m

j=1 m 

xij ≥ bj , j = 1, 2, · · ·, n

i=1

xij ≥ 0, ∀ i, j where ai is the amount of homogeneous products for the i-th origin which are transported to n destinations. bj is the demand of homogeneous products for the j-th destination. cqij is the coefficients of the q-th objective functions which are associated with transportation of an unit of the product from source i to destination j. xij is the unknown quantity to be transported from origin i to destination j. The first set of constraints stipulates that the sum of the shipments from a source can not exceed its supply, the second set requires that the sum of the shipments to a destination must satisfy its demand. mThe above problem implies that the total supply i=1 ai n must be equal to total demand j=1 bj . When total supply is equals to total demand (i.e., total flow), the resulting formulation is called a balanced transportation problem. In this paper, we assume a balanced transportation problem. Because the unbalanced transportation problem can be converted to a balanced transportation problem after including a dummy origin or a dummy destination. Transportation problem have some characteristics in solution: (1) it has m+n−1 basic variables and they correspond to some cell in the transportation tableau, (2) the basis must be transportation tree, that is, there must be at least one basic cell in each row and in each column of the transportation tableau and (3) the basis should not contain a cycle. It is illustrated with one of basis solution in Fig. 1. There are separable set of nodes from origins and destinations on the transportation problem. We denote origins 1, 2, . . ., m as the components of the set O = {1, 2, . . ., m} and destinations m + 1, . . . m + n as the components of the set D = {1, 2, . . ., n}. Obviously, the transportation problem has m + n nodes and m × n

Fig. 1 Illustration of a basis on the transportation tableau and the transportation graph.

edges in the transportation tree. In the sense of multi-criteria programming, criteria are usually conflicting each other in nature and the concept of optimal solution gives place to the concept of Pareto optimal (efficient, nondominated, or noninferior) solutions, for which the improvement of one objective function is attained only by sacrificing another objective function. Denoting the feasible set in decision space by F , for the multi-criteria optimization we can get the following definitions for Pareto optimal solution and ideal point. ¯ = [¯ Pareto optimal solution: A solution x xij ] is said to be a Pareto optimal solution if and only if there does not exist another x ∈ F such that zq (x) ≤ zq (¯ x) ∀q and zp (x) = zp (¯ x) ∃p. Ideal point: The ideal point is one that optimize each objective function simultaneously. It can then be de∗ ] where zq∗ is the optimal fined as z∗ = [z1∗ , z2∗ , · · ·, zQ value for the q-th objective without considering other objectives. 3.

Spanning Tree-Based Genetic Algorithm

Genetic algorithm is one of stochastic search algorithms based on the mechanism of natural selection and natural genetics. Genetic algorithms, differing from conventional search techniques, start with an initial set of random solutions called population. Each individual in the population is called a chromosome, representing a solution to the problem at hand [5], [6], [10]. 3.1 Representation The genetic representation is a kind of data structure which represents the candidate solution of the problem in coding space. Usually different problems have different data structures or genetic representations. Transportation graph in Fig. 1 can be represented as a spanning tree such as in Fig. 2. For a complete graph with p nodes, there are p(p−2) distinct labeled trees. This means that we can use only permutation of p − 2 digits in order to uniquely represent a tree with p nodes where each digit is an integer

Fig. 2

A spanning tree and its Pr¨ ufer number.

IEICE TRANS. FUNDAMENTALS, VOL.E82–A, NO.12 DECEMBER 1999

2804

between 1 and p inclusive. For any tree there are always at least two leaf nodes. Pr¨ ufer number is one of the node encoding for the tree. It can be used to encode a transportation tree. The constructive procedure for a Pr¨ ufer number according to a tree is as follows:

Table 1 Supplies, demands and costs for transportation problem. plants \ warehouse 5 6 7 8 9 supply 1 4 4 3 4 8 8 5 8 9 10 15 19 2 3 6 2 5 1 12 17 3 5 6 9 9 10 4 demand 11 9 5 14 15 54

Procedure: Convert Tree to Pr¨ ufer Number Step 1. Let i be the lowest numbered leaf node in tree T . Let j be the node which is the predecessor of i. Then j becomes the rightmost digit of Pr¨ ufer number P (T ), P (T ) is built up by appending digits to the right; thus, P (T ) is built and read from left to right. Step 2. Remove i and the edge (i, j) from further consideration. Thus, i is no longer considered at all and if i is the only successor of j, then j becomes a leaf node. Step 3. If only two nodes remain to be considered, then P (T ) has been formed, stop; else return to Step 1. Each node in the transportation problem has its quantity of supply or demand which are characterized as constraints. Therefore to construct a transportation tree, the constraint of nodes must be considered. From a Pr¨ ufer number, an unique transportation tree also is possible to be generated by the following procedure: Procedure: Convert Pr¨ ufer Number to Transportation Tree Step 1. Let P (T ) be the original Pr¨ ufer number and let P¯ (T ) be the set of all nodes that are not part of P (T ) and designed as eligible for consideration. Step 2. Repeat the process (2.1)–(2.5) until no digits left in P (T ). (2.1) Let i be the lowest numbered eligible node in P¯ (T ). Let j be the leftmost digit of P (T ). (2.2) If i and j are not in the same set O or D, then add the edge (i, j) to tree T . Otherwise, select the next digit k from P (T ) that not included in the same set with i, exchange j with k, and add the edge (i, k) to the tree T . (2.3) Remove j(or k) from P (T ) and i from P¯ (T ). If j(or k) does not occur anywhere in the remaining part of P (T ), then put it into P¯ (T ). Designate i as no longer eligible. (2.4) Assign the available amount of units to xij = min{ai , bj } (or xik = min{ai , bk }), where i ∈ O and j, k ∈ D to the edge (i, j) (or (i, k)). (2.5) Update availability ai = ai − xij and bj = bj − xij (or bk = bk − xik ). Step 3. If no digit remain in P (T ), then there are exactly two nodes , i and j still eligible in P¯ (T ) for consideration. Add edge (i, j) to tree T and form

a tree with m + n − 1 edges. Step 4: If no available amount of units to assign, then stop. Otherwise, there are remaining supply r and demand s, add edge (r, s) to tree and assign the available amount of units xrs = ar = bs to edge. If there exists a cycle, then remove the edge that assigned zero flow. A new spannning tree is formed with m + n − 1 edges. To illustrate this encoding, we can consider the transportation problem of Table 1 where the supplies, demands and costs are indicated. Obviously, there are four origins(plants) and five destinations(warehouse). The Pr¨ ufer number with 7 digits given in Fig. 2 can be taken as a feasible solution (or chromosome) for it. In Fig. 2, the Pr¨ ufer number [5 9 2 3 2 8 3] corresponds to a spanning tree on a 9-node complete graph. The construction of the Pr¨ ufer number is described as follows: Locate the leaf node having the lowest number. In this case, it is node 1. Since node 5 is incident to node 1 in the tree, assign 5 to the first digit in the permutation, then remove node 5 and edge (1,5). Now, node 4 is the lowest numbered leaf node and node 9 is incident to it, assign 9 to the second digit in the permutation and then remove node 9 and edge (4,9). Repeat the process on the subtree until edge (3,8) is left and the Pr¨ ufer number of this tree with 7 digits is finally produced. Conversely, the corresponding tree using the Pr¨ ufer number can be constructed. As the node 1,4,6 and 7 are not included in P (T ), let P¯ (T ) be the set of them as P¯ (T ) = {1, 4, 6, 7}. Node 1 is the lowest number in P¯ (T ). Node 5 is left most digit of P (T ). Check this two digit 1 and 5, they are not in the same set that 1 ∈ O, 5 ∈ D. Add edge (1,5) to the tree, remove node 1 from P¯ (T ) and leftmost digit 5 of P (T ) leaving P (T ) = [9 2 3 2 8 3]. Because node 5 does not occur in the remaining part of P (T ), put it into P¯ (T ) = {4, 5, 6, 7}. Assign the available amount of units to x15 = min{a1 , b5 } = min{8, 11}=8. Update a1 = 8 − x15 = 0 and b5 = 11 − x15 = 3. Secondly, node 4 is now the lowest digit in P¯ (T ) and node 9 is the leftmost digit in remaining P (T ). Since 4 ∈ O and 9 ∈ D, add edge (4,9) to the tree, remove 4 from P¯ (T ) and the leftmost digit 9 from P (T ) leaving P (T ) = [2 3 2 8 3]. Assign the available amount of units to x49 =min{10, 15}=10. Update a4 = 10 − x49 =0 and b9 = 15 − x49 =5. Repeat the process until P (T ) =[3] and nodes 8

GEN et al: SOLVING MULTI-OBJECTIVE TRANSPORTATION PROBLEM BY SPANNING TREE-BASED GENETIC ALGORITHM

2805

and 9 are in P¯ (T ). Add edge (3,8) to the tree, remove the last digit 3 of P (T ) and node 8 from P¯ (T ). As node 3 no longer occurs in the remaining P (T ), it needs putting into P¯ (T ) leaving P¯ (T ) = {3, 9}. Finally, P (T ) is empty and only nodes 3 and 9 are in P¯ (T ). Add edge (3,9) to the tree, then assign the ramaining amount to x39 as 5, and stop. The tree in Fig. 2 is formed.

sD the sum of connections of nodes which are included in sets O and D respectively from P (T ). Also we denote that s¯O and s¯D the appearing times of those nodes in P¯ (T ) and included in set O and D, respectively. If sO + s¯O = sD + s¯D , then P (T ) is feasible. Otherwise P (T ) is infeasible. 3.3 Genetic Operators——Crossover and Mutation

3.2 Initialization The initialization of a chromosome (i.e., a Pr¨ ufer number) is performed by randomly generated m + n − 2 digits in range [1, m+n]. However, it is possible to generate an infeasible chromosome, which is not adapted to generate a transportation tree. Pr¨ ufer number encoding not only is capable of equally and uniquely representing all possible spanning tree, but also explicitly contains the information of node degree, that is any node with degree d will appear exactly d − 1 times in the encoding. This means that when a node appears d times in a Pr¨ ufer number, the node has d + 1 connections with other nodes. We design the handling for feasibility of the chromosome with the following criterion: Denote sO and

Fig. 3

Fig. 4

Crossover: the one-point crossover operation is used. It is illustrated in Fig. 3. For avoiding unnecessary decoding from which an infeasible chromosome (i.e., a Pr¨ ufer number) may be generated after crossover operator, we add the criterion for feasibility of the chromosome. A Pr¨ ufer number via this criterion is always feasible and can be decoded into a corresponding transportation tree. Mutation: the inversion mutation and displacement mutation are used. The inversion mutation selects two positions within a chromosome at random and then inverts the substring between these two positions as illustrated in Fig. 4. The displacement mutation selects a substring at random and inserts it in a random position as illus-

Illustration of crossover and offspring.

Illustration of inversion mutation.

IEICE TRANS. FUNDAMENTALS, VOL.E82–A, NO.12 DECEMBER 1999

2806

Fig. 5

Illustration of displacement mutation.

trated in Fig. 5. These two mutation operators always generate feasible chromosomes if the parents are feasible, because the criterion sO + s¯O = sD + s¯D is unchanged after these operations. 3.4 Evaluation and Selection In this approach, the evaluation procedure also consists of following two steps: (1) convert a chromosome into a tree, and (2) calculate each objective function. It is given in Fig. 6. In multi-criteria optimization context, usually the Pareto optimal solutions are characterized as the solutions of the multi-objective programming problem. In this stage, the procedure for Pareto solutions consists of the following two steps: (1) evaluate chromosomes by the objective function, (2) select Pareto solutions based on objective function values. Let E(t) be the Pareto solution set generated up to current iteration t, the procedure for Pareto solutions is given Fig. 7. As the fitness function for survival, the weighted sum method is used to construct the fitness function. The multi-objective functions zq , q = 1, 2, · · ·, Q are combined into one overall objective function at hand. Handling for fitness function: (1) Choose the solution points which contain the minimum zqmin (or the maximum zqmax ) that correspond to each objective function value, and then compare with the stored solution points at the previous generation and select the best points to save again.  zqmin(t) = min{zqmin(t−1) , zq(t) (Tk )  k

q = 1, 2, · · ·, Q  max(t−1) (t) = max{zq , zq (Tk ) 

k = 1, 2, · · ·, i size}, zqmax(t)

k

k = 1, 2, · · ·, i size},

q = 1, 2, · · ·, Q

procedure: evaluation begin T ← {∅}; p ← 0; define P¯ (T ) according to the P (T ); repeat select the leftmost digit from P (T ), say i; select the eligible node with the lowest numbered from P¯ (T ), say j; if i, j ∈ O or i, j ∈ D then select next digit from P (T ) not in the set with j, say k; exchange k with i and take i ← k; end assign the flow: xij ← min{ai , bj }, i ∈ O, j ∈ D; T ← T ∪ {xij }; zq (T ) ← zq (T ) + cqij xij , q = 1, 2, · · ·, Q; update available amount: ai ← ai − xij ; bj ← bj − xij ; remove i from P (T ); remove j from P¯ (T ); if i does not occur anywhere in remaining P (T ) then put i into P¯ (T ); end p←p+1 ; until( p ≤ m + n − 2) assign the flow for r, s ∈ P¯ (T ): xrs ← min{ar , bs }, r ∈ O, s ∈ D; T ← T ∪ {xrs }; zq (T ) ← zq (T ) + cqrs xrs , q = 1, 2, · · ·, Q; repeat if ai > 0, ∀ i and bj > 0, ∀ j then assign the flow: xij ← min{ai , bj }, i ∈ O, j ∈ D; T ← T ∪ {xij }; update available amount: ai ← ai − xij ; bj ← bj − xij ; end zq (T ) ← zq (T ) + cqij xij , q = 1, 2, · · ·, Q; until(no available amount) if there exists a cycle then find edge with zero flow and remove it; end end Fig. 6

max(t)

Evaluation procedure.

min(t)

where zq (zq ) is the maximum (minimum) value of objective function q in current generation t, and i size is the number of the chromosomes from the population and generated offspring in cur-

GEN et al: SOLVING MULTI-OBJECTIVE TRANSPORTATION PROBLEM BY SPANNING TREE-BASED GENETIC ALGORITHM

2807

rent generation t. (2) Solve the following equations to get weights for the fitness function: δq = zqmax(t) − zqmin(t) , q = 1, 2, · · ·, Q δq , q = 1, 2, · · ·, Q βq =  Q q=1 δq (3) Calculate the fitness function value for each chromosome as follows: eval(Tk ) =

Q 

βq zq (Tk ), k = 1, 2, · · ·, i size

q=1

In the selection procedure, we will use the mixed strategy with (µ + λ)–selection and roulette wheel selection can enforce the best chromosomes into the next generation. This strategy selects µ best chromosomes from µ parents and λ offsprings. If there are no µ different chromosomes available, then the vacant pool of population is filled up with roulette wheel selection. 3.5 Overall Procedure Let P (t) be a population of chromosomes, C(t) be the generated chromosomes in current generation t, and procedure: Pareto solutions begin t ← 0; E(t) ← {∅}; while(not termination condition) do begin count the number of current chromosomes i size; k ← 1; repeat evaluate a chromosome Tk ; obtain the solution vector zk = [z1 (Tk ) z2 (Tk ) · · · zQ (Tk )]; register Pareto solutions into E(t) and delete non-Pareto solutions in E(t); k ← k + 1; until (k ≤ i size); t ← t + 1; end end Fig. 7

E(t) be the Pareto solution set generated up to current generation t. The overall procedure is summarized in Fig. 8. 4.

Numerical Experiments

The proposed spanning tree-based genetic algorithm is implemented in C language and run on an NEC EWS 4800 under the EWS-UX/V release 4.0 UNIX OS to do our simulations. Firstly, to confirm the effectiveness of the spanning tree-based genetic algorithm on the transportation problem, the five numerical examples were used in the computational studies. First example is from Ref. [1] which only considers the first objective function. The other examples were randomly generated where the supplies, demands are randomly generated according to the uniform distribution over [10, 100] and the transportation costs are over [5, 25]. The simulations were carried out on each example with their best mechanism (parameter setting). Table 2 shows average simulation results from 20 times running by the spanning tree-based genetic algorithm (called t-GA) and matrix-based genetic algorithm (called mGA). From Table 2 we observe that the optimal solution was found accurately by the t-GA with shorter time than m-GA in each running time. This means that t-GA is more appropriate than m-GA for solving transportation problem. The performance of this approach for solving overall procedure: begin t ← 0; initialize P (t); evaluate P (t); determine E(t); while (not termination condition) do begin recombine P (t) to generate C(t); evaluate C(t); update E(t); select P (t + 1) from P (t) and C(t); t ← t + 1; end end Fig. 8

Procedure for obtaining Pareto solutions.

Table 2 problem size: m×n 3×4 4×5 5×6 6×7 8×9 percent: ACT:

Overall procedure.

Average results by the m-GA and t-GA approach for TP. parameter pop size max gen 10 200 20 500 20 500 100 1000 200 2000

matrix-based GA percent ACT(s) 100(%) 1.02 100(%) 12.75 100(%) 18.83 100(%) 1038.25 100(%) 4472.19

tree-based GA percent ACT(s) 100(%) 1.07 100(%) 8.77 100(%) 9.99 100(%) 413.63 100(%) 848.11

the percentage of the number of times that obtained optimal solution the average computation time

IEICE TRANS. FUNDAMENTALS, VOL.E82–A, NO.12 DECEMBER 1999

2808 Table 3 problem. destination bj origin ai 1 2 3 4 5 6 7 demand

8 1 1 8 2 5 8 1 9

Supplies, demands and coefficients of objectives for bicriteria transportation

9 2 9 9 4 4 3 2 7

10 7 3 4 5 5 3 6 15

11 7 4 6 5 1 2 4 10

c1ij 12 8 3 4 3 9 2 5 13

Table 4 problem size m n Q 3 4 2 7 8 2 8 9 3 10 15 3

13 10 5 1 2 9 3 9 16

14 9 7 6 3 1 6 3 7

15 2 1 9 2 6 7 5 12

8 4 6 2 3 1 2 1 9

9 4 2 9 5 4 23 2 7

10 3 5 1 5 12 4 1 15

11 4 1 8 3 2 4 9 10

c2ij 12 5 7 9 2 1 6 0 13

13 8 4 1 8 5 2 13 16

14 9 12 4 3 4 4 2 7

15 10 4 0 3 9 6 3 12

supply 10 8 12 16 21 15 7 89

Comparison with m-GA and t-GA.

memory for a solution ACT(s) parameter m-GA t-GA m-GA t-GA pop size max gen 12 5 10.42 5.45 30 500 56 13 1632.75 863.01 200 2000 72 15 6597.41 2375.53 200 2000 150 23 19411.08 11279.30 300 2000 m: number of origins n: number of destinations Q: number of objectives m-GA: matrix-based encoding GA t-GA: spanning tree-based encoding GA

multi-objective transportation problem was tested on four numerical examples. First and second examples are bicriteria transportation problem, in which one is from the Ref. [1] having 3 origins and 4 destinations, and another one is having 7 origins and 8 destinations where the supplies, demands and coefficients of objective functions are as shown in Table 3. For the first example, the parameters for the algorithm are set as follows: population size pop size = 30; crossover probability pc = 0.2; mutation probability pm = 0.4; maximum generation max gen = 500; and run by 10 times. The Pareto optimal solutions can be found in all of 10 times of program running. The obtained solutions (143, 265), (156, 200), (176, 175), (186, 171), (208, 167) were known as Pareto optimal solutions which are formed in Pareto frontier with the exact extreme points (143, 265) and (208, 167). The average computation time, on the t-GA and m-GA are 5.45 seconds and 10.42 seconds respectively. The other two examples are randomly generated having three objectives. The supplies and demands also are randomly generated according to the uniform distribution over [10, 100] and the coefficients of each objective function are over [5, 25]. The problem size and the simulation results with the best mechanism (pc = 0.2 and pm = 0.4 for t-GA) by the proposed algorithm are shown in Table 4. The average computation time was computed on 10 running times. Figure 9 shows the comparison between the m-GA and t-GA with parameters pc =0.4, pm =0.2 for the mGA and pc =0.2, pm =0.4 for the t-GA on example 2. From Fig. 9, we can see that the obtained results by the t-GA are better than those by the m-GA in the

sense of Pareto optimality because most of them are not dominated by those obtained in the m-GA. Therefore, we can conclude that they are closer to the real Pareto frontier than those by the m-GA. Besides, in Table 4 the average computation time on the t-GA is shorter than that on the m-GA for each example. Obviously, the t-GA is more efficiency than the m-GA in the evolutionary process. It is because the tree-based encoding only requires m + n − 2 memory space for each chromosome but the matrix-based encoding requires m × n memory space for representing a chromosome. As a result, it takes more time for genetic operations for matrix-based encoding GA compared with the tree-based encoding GA. Therefore, for large-scale problem, the tree-based encoding GA proposed will be surely more time-saving than the matrixbased encoding GA. 5.

Conclusion

In this paper, we proposed a new approach by using spanning tree-based genetic algorithm to solve multiobjective transportation problem. Spanning tree-based encoding was implemented with Pr¨ ufer number and adopted to represent a balanced transportation solution. In order to keep the feasibility of chromosomes, a criterion of the feasibility was designed. Based on this criterion the crossover and mutation were operated and they can always generate the feasible chromosomes. To demonstrate the effectiveness and efficiency of the proposed GA approach on the bicriteria transportation problem, we carried out the numerical experiments by both the matrix-based genetic algorithm and the

GEN et al: SOLVING MULTI-OBJECTIVE TRANSPORTATION PROBLEM BY SPANNING TREE-BASED GENETIC ALGORITHM

2809

Fig. 9 Comparison between m-GA and t-GA on the obtained solutions for second tested problem.

spanning tree-based genetic algorithm. For the smallscale problem, there is no great difference on the computing results, which shows the effectiveness of the proposed GA approach. On the larger scale problem, the proposed spanning tree-based GA approach can get the Pareto solutions with less CPU time than the matrix-based genetic algorithm approach and most of the results are not dominated by those obtained in the matrix-based genetic algorithm approach. Therefore, in the sense of Pareto optimality, the proposed spanning tree-based GA approach is more effective than the matrix-based genetic algorithm. So far as the computing time is concerned, the proposed spanning tree-based GA approach is much more efficient than the matrixbased genetic algorithm on the transportation problem. Acknowledgement This work was supported in part by a research grant from the Ministry of Education, Culture, & Sciences, the Japanese Government: Grant-in-Aid for Scientific Research, the International Scientific Research Program (No.07045032). References [1] Y.P. Aneja and K.P.K. Nair, “Bicriteria transportation problem,” Management Science, vol.25, pp.73–78, 1979. [2] A.K. Bit, M.P. Biswal, and S.S. Alam, “Fuzzy programming approach to multiobjective solid transportation problem,” Fuzzy Sets and Systems, vol.57, pp.183–194, 1993. [3] J. Dossey, A. Otto, L. Spence, and C. Eynden, Discrete Mathematics, Harper Collins, 1993. [4] M. Gen, K. Ida, E. Kono, and Y.Z. Li, “Solving bicriteria solid transportation problem by genetic algorithm,” Proceedings of 16th International Conference on Computers & Industrial Engineering, pp.572–575, 1994. [5] M. Gen and R. Cheng, Genetic Algorithms and Engineering

Design, John Wiley & Sons, New York, 1997. [6] D.E. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning, Reading, MA: Addison Wesley, 1989. [7] F. Jim´enez and J.L. Verdegay, “On interval and fuzzy solid transportation problem,” Proc. IEEE Fuzzy Systems, 1997. [8] S.M. Lee and L.J. Moore, “Optimizing transportation problems with multiple objectives,” AIIE Transactions, vol.5, pp.333–338, 1973. [9] Y.Z. Li and M. Gen, “Spanning tree-based genetic algorithm for bicriteria transportation problem with fuzzy coefficients,” Australian Journal of Intelligent Information Processing Systems, vol.4, no.3/4, pp.220–229, Spring/Summer 1997. [10] Z. Michalewicz, Genetic Algorithms + Data structure = Evolution Programs, Springer-Verlag, 1992, Second, extended ed., 1994, Third, revised and extended ed., 1996. [11] Z. Michalewicz, G.A. Vignaux, and M. Hobbs, “A nonstandard genetic algorithm for the nonlinear transportation problem,” ORSA Journal on Computing, vol.3, no.4, pp.307–316, 1991. [12] C.C. Palmer and A. Kershenbaum, “An approach to a problem in network design using genetic algorithms,” Networks, vol.26, pp.151–163, 1995. [13] R. Reynolds and A. Nazzal, “Using culture algorithm with evolutionary computing to extract location decisions from spatio-temporal,” Proceedings of 6th International Conference on Evolutionary Programming VI, pp.443–456, 1997. [14] J.L. Ringuest and D.B. Rinks, “Interactive solutions for the linear multiobjective transportation problem,” European Journal of Operations Research, vol.32, pp.96–106, 1987. [15] J.D. Shaffer, “Multiple objective optimization with vector evaluated genetic algorithm,” Proceedings of 1st International Conference on Genetic Algorithms and Their Applications, pp.93–100, 1985. [16] G.A. Vignaux and Z. Michalewicz, “A genetic algorithm for the linear transportation problem,” IEEE Trans. Syst., Man. & Cybern., vol.21, no.3, pp.445–452, 1991. [17] G. Zhou and M. Gen, “Approach to degree-constrained minimum spanning tree problem using genetic algorithm,” Engineering Design & Automation, vol.3, no.2, pp.157–165,

IEICE TRANS. FUNDAMENTALS, VOL.E82–A, NO.12 DECEMBER 1999

2810

1997. [18] G. Zhou and M. Gen, “Genetic algorithm approach on multi-criteria minimum spanning tree problem,” European Journal of Operations Research, vol.114, pp.141–152, 1999. [19] M. Gen and R. Cheng, Genetic Algorithms and Engineering Optimization, John Wiley & Sons, New York, 1999 (forthcoming).

Mistuo Gen is a visiting professor at the Department of Industrial Engineering and Operations Research, University of California at Berkeley, USA and a professor in the Department of Industrial and Information Systems Engineering at Ashikaga Institute of Technology, Japan. He received his B.E., M.S., and Ph.D. from Kogakuin University in 1969, 1971, and 1974 respectively in Japan. His research interests include Reliability Design, Fuzzy Operations Research, Network Optimization, Neural Networks, and Genetic Algorithms. He has published several books including the books of Genetic Algorithms and Engineering Design, 1997 and Genetic Algorithms and Engineering Optimization, 1999 (forthcoming) with Dr. R.Cheng by John Wiley & Sons, Inc., respectively. He has published decades of articles in several international journals such as IEEE Transaction on Reliability, European Journal of Operational Research, Computers & Industrial Engineering, Soft Computing, International Journal of System Science, Fuzzy Sets & Systems, Networks, International Journal of Logistics, Artificial Automation & Soft Computing, Engineering Valuation & Cost Analysis, Engineering Design & Automation and so on. He is also a member of the editorial board of International Journal of Computers & Industrial Engineering and Engineering Design & Automation, and the associate editor of Engineering Evaluation & Cost Analysis and International Journal of Logistics. He is a member of IEEE, IIE, Japan Industrial Management Association, Japan Society for Fuzzy Theory and Systems, Information Processing Society of Japan, Institute of Electronics, Information, and Communications Society, Operations Research Society of Japan, Japan Society for Artificial Intelligence, Reliability Engineering Assoc. of Japan, and Personal Comouter User Technology Association.

Yinzhen Li is a System Engineer in IT Solution Div. at FJB Web Technology Ltd., Tokyo, Japan. She received her B.S. from Tianjin University, People’s Republic of China, and her M.S. and Ph.D. from Ashikaga Institute of Technology, Japan, respectively. Her research interests are Mathematical Programming, Network Optimization, and Applications of Genetic Algorithms and Neural Networks. She has published a few articles in some journals such as Inter. J. of Logistics, J. of Japan Society for Fuzzy Theory and Systems, Australia J. of Intelligent Information Processing Systems, and J. of Japan Industrial Management Association. She is a member of Japan Society for Fuzzy Theory and Systems and Japan Industrial Management Association.

Kenichi Ida is a professor in the Department of Information Engineering at Maebashi Institute of Technology, Japan. He received his B.E., M.S., and Ph.D. from Kogakuin University, Japan, respectively. His research interests include the Methods of System Optimization and the Numerical Analysis, and the Developments of Fuzzy Mathematical Programming Software. He co-authored Numerical Methods for Personal Computers(HBJ Publishers,1986) and so on. He is a member of Japan Operations Research Society, Japan Industrial Management Association, Information Processing Society of Japan, Japan Society for Fuzzy Theory & Systems, IIE, etc.