[ieee sixth international conference on intelligent systems design and applications - jian, china...

6

Click here to load reader

Upload: iza

Post on 15-Apr-2017

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: [IEEE Sixth International Conference on Intelligent Systems Design and Applications - Jian, China (2006.10.16-2006.10.16)] Sixth International Conference on Intelligent Systems Design

JADE-Based A-Team as a Tool for Implementing Population-Based Algorithms

Dariusz Barbucha, Ireneusz Czarnowski, Piotr Jedrzejowicz, Ewa Ratajczak, Iza WierzbowskaDepartment of Information Systems

Gdynia Maritime UniversityMorska 83, 81-225 Gdynia, Poland

{barbucha, irek, pj, ewra, iza}@am.gdynia.pl

Abstract

The paper proposes a JADE-based A-Team environmentas a middleware supporting the implementation and execu-tion of population-based algorithms. The paper includesan overview of the JADE-Based A-Team components andpresents examples of the population-based architectures de-signed to obtain solutions to example combinatorial opti-mization problems including traveling salesman, resource-constrained project scheduling, vehicle routing and clus-tering problems. Conclusions focus on advantages of theJADE-Based A-Team and on suggestions for further re-search.

1. Introduction

Population based methods are optimization techniquesinspired by natural evolution processes. They handle apopulation of individuals that evolves with the help of in-formation exchange procedures. Population-based algo-rithms usually provide good solutions since any construc-tive method can be used to generate the initial population,and any local search technique can be used to improve eachsolution in the population. But population-based methodshave the additional advantage of being able to combinegood solutions in order to get possibly better ones. Thebasic idea behind this way of doing is that good solutionsoften share parts with optimal solutions [8].

Among best known population-based method are evolu-tionary algorithms. These can be perceived as a generaliza-tion of genetic algorithms, which operate on fixed-lengthbinary strings, which need not be the case for evolution-ary algorithms [13]. Evolutionary algorithms are stochasticsearch methods that mimic the metaphor of natural biologi-cal evolution. Evolutionary algorithms operate on a popula-tion of potential solutions applying the principle of survivalof the fittest to produce better and better approximations toa solution.

Development and proliferation of evolutionary algo-rithms have been initiated by and advanced in semi-nal works of Holland [9], Goldberg [7], Davis [3], andMichalewicz [13]. Despite the fact that evolutionary algo-rithms, in general, lack a strong theoretical background, theapplication results were more than encouraging. This suc-cess has led to emergence of numerous techniques, algo-rithms and their respective clones that are now consideredas belonging to the population-based class, and which dif-fer in some respects from ”classic” evolutionary algorithms.Among well known population-based methods are scattersearch techniques [6], ant colony optimization algorithms[4], particle swarm optimization [10], and greedy random-ized adaptive search procedure [5].

There are several ingredients common to all population-based approaches. Among them most characteristic includediversification by means of generating a population of in-dividuals which are solutions or parts of solutions and in-troducing some random noises at various stages of search-ing for the solution. All population-based algorithms areequipped with some tools allowing to exploit and exchangebetween population members, information gathered duringcomputation, with a view to drop less promising directionof search. Finally, all population-based approaches mimicsome natural biological or social processes.

In most population-based approaches population mem-bers (individuals) can be conveniently represented asagents, understood as entities capable of acting in an en-vironment, which can communicate directly with otheragents, which are driven by a set of tendencies (in the formof individual objectives or of a satisfaction/survival func-tion which they try to optimize), which possess resourcesof their own and are capable of perceiving their environ-ment (but to a limited extent), which possess skills and canoffer services and whose behavior tends towards satisfyingtheir objectives, taking account of the available resourcesand skills and depending on their perception, their repre-sentation and the communications they receive.

During the last decade, a number of agent-based ap-

Proceedings of the Sixth International Conference on Intelligent Systems Design and Applications (ISDA'06)0-7695-2528-8/06 $20.00 © 2006

Page 2: [IEEE Sixth International Conference on Intelligent Systems Design and Applications - Jian, China (2006.10.16-2006.10.16)] Sixth International Conference on Intelligent Systems Design

proaches have been proposed to solve different types ofoptimization problems [1, 14]. One of the successful ap-proaches to agent-based optimization is the concept of A-Teams. An A-Team is composed of simple agents thatdemonstrate complex collective behavior. The A-Teamarchitecture was originally proposed by Talukdar [16] asa set of objects including multiple agents and memorieswhich through interactions produce solutions of optimiza-tion problems.

The paper proposes a JADE-based A-Team environment(in short: JABAT) as a middleware supporting the construc-tion of the dedicated, new-generation, A-Team architecturesused for implementing and executing variety of population-based algorithms. JADE is an enabling technology, for thedevelopment and run-time execution of peer-to-peer appli-cations which are based on the agents paradigm and whichcan seamless work and interoperate both in wired and wire-less environment [2]. JADE allows each agent to dynami-cally discover other agents and to communicate with themaccording to the peer-to-peer paradigm.

The paper contains a short overview of the functionalityand structure of the JABAT as well as several examples ofJABAT architectures used to obtain population-based solu-tions of several example combinatorial optimization prob-lems. Conclusions focus on evaluation of the proposed ap-proach and on suggestions for further research.

2. Overview of the JABAT

JABAT is a middleware allowing to design and imple-ment an A-Team architecture for solving combinatorial op-timization problems. The problem-solving paradigm onwhich the proposed system is based can be best defined asthe population based approach.

The JABAT produces solutions to combinatorial opti-mization problems using a set of agents, each representingan improvement algorithm. To escape getting trapped into alocal optimum an initial population of solutions called indi-viduals is generated or constructed. Individuals forming aninitial population are, at the following computation stages,improved by independently acting agents, thus increasingchances for reaching a global optimum.

Main functionality of the proposed environment includesorganizing and conducting the process of search. It involvesa sequence of the following steps:

• Generating an initial population of solutions.

• Applying solution improvement algorithms whichdraw individuals from the common memory and storethem back after attempted improvement, using someuser defined replacement strategy.

• Continuing reading-improving-replacing cycle until astopping criterion is met.

To perform the above two classes of agents are used. Thefirst class includes OptiAgents, which are implementationsof the improvement algorithms. The second class includesSolutionManagers, which are agents responsible for main-tenance and updating of individuals in the common mem-ory. All agents act in parallel. Each OptiAgent is represent-ing a single improvement algorithm (simulated annealing,tabu search, genetic algorithm, local search heuristics etc.).An OptiAgent has two basic behaviors defined. The first issending around messages on readiness for action includingthe required number of individuals (solutions). The secondis activated upon receiving a message from some Solution-Manager containing the problem instance description andthe required number of individuals. This behavior involvesimproving fitness of individuals and resending the improvedones to a sender. A SolutionManager is brought to life foreach problem instance. Its behavior involves sending indi-viduals to OptiAgents and updating the common memory.

Main assumption behind the proposed approach and, atthe same time, its novelty, can be described as independencefrom a problem definition and solution algorithms. Hence,main classes Task and Solution upon which agents act, havebeen defined at a rather general level. Interfaces of bothclasses include function ontology(), which returns JADE’sontology designed for classes Task and Solution, respec-tively. Ontology in JADE is a class enabling definition ofthe vocabulary and semantics for the content of messageexchange between agents. More precisely, an ontology de-fines how the class is transformed into the text message ex-changed between agents and how the text message is usedto construct the class (here either Task or Solution).

The interface of the main class Task is composed of thefollowing three functions: Task() - class constructor, Solu-tion createSolution() - function generating an initial solu-tion which can be either randomly drawn or empty, TaskOn-tology ontology() - function returning task ontology.

The interface of the main class Solution is composed ofthe following functions: Solution() - class constructor, So-lution(Task t) - constructor producing solution to the taskt, SolutionOntology ontology() - function returning solutionontology, Object clone() - function producing a copy of theobject, boolean equals(Solution s) - function returning theresult of comparison between two solutions, void evaluate()- function returning the fitness of a solution (stored as avalue of the variable fitness).

To solve a problem instance the following actions shouldbe carried out:

• Defining own classes M Task and M Solution inher-ited from Task and Solution, respectively. In thesenew classes constructors and other functions need tobe over-ridden to assure compatibility between actionsand the problem instance requirements.

Proceedings of the Sixth International Conference on Intelligent Systems Design and Applications (ISDA'06)0-7695-2528-8/06 $20.00 © 2006

Page 3: [IEEE Sixth International Conference on Intelligent Systems Design and Applications - Jian, China (2006.10.16-2006.10.16)] Sixth International Conference on Intelligent Systems Design

• Defining own ontologies M TaskOntology andM SolutionOntology inherited from TaskOntology andSolutionOntology, respectively. Both are responsiblefor translating classes M Task and M Solution intotext messages. Messages are in reality more complexthan a single task or solution but to produce them theoutcome of M TaskOntology and M SolutionOntologyclass functions are used.

• Defining auxiliary classes and functions as, for exam-ple, the Compare function, which could be used by theSolutionManager to compare and sort thus far obtainedsolutions.

The above elements support both - communication be-tween agents and solution improvement procedures. Itshould be noted that communication and improvement pro-cesses use only functions, which are common to the imple-mentation of classes intended for particular tasks and solu-tions.

The following section contains several example JADE-A-Team architectures designed to search for a solution towell-known combinatorial optimization problems.

3. Example JADE-A-Team architectures

3.1. Resource-constrained project schedul-ing problem

The resource-constrained project scheduling problem(RCPSP), is a generalization of the classical job shopscheduling problem. An instance of the RCPSP consists ofa set of n activities, where each activity aj , j = 1, ..., n hasto be processed without interruption to complete the project.The dummy activities a1 and an represent the beginningand the end of the project. There are renewable and nonre-newable resources accessible during the processing. Eachactivity is characterized by a duration, resource require-ments and precedence relations. The objective is to finda schedule of activities starting times where resource con-straints and precedence relations are satisfied such that theschedule duration is minimized. In case of the multi-moderesource-constrained project scheduling problem (MRCPS)each activity j, j = 1, ..., n may be executed in one out ofMj modes. The activities may not be preempted and a modeonce selected may not change. Each mode of the activity ischaracterized by a duration and resource requirements.

The JABAT environment has been used to develop anarchitecture suitable for solving the RCPSP and MRCPSPinstances. All the required classes are defined in the pack-age called RCPSP. The RCPSP is represented by the fol-lowing classes: RCPSP Task inheriting form the Task class,RCPSP Solution inheriting from the Solution class, Activ-ity, Mode and Resource. The RCPSP Task identifies in-

stances which attributes include a list of activities, and a listof available renewable and non-renewable resources. TheResource identifies both - renewable and non-renewable re-sources, storing the value representing a number of the re-source units. The Mode identifies activity modes, whichattributes include the number, duration and a list of therequired resources of both types. Finally, the Activityidentifies activities, which attributes include the number,a list of modes and a list of predecessors and successors.The RCPSP TaskOntology and RCPSP SolutionOntologyclasses have been also defined through over-ridding theTaskOntology and SolutionOntology, respectively. Figure 1depicts a part of the RCPSP Task ontology with someschemes of classes describing the RCPSP.

To obtain solution to the RCPSP instances three heuristicalgorithms have been implemented: the local search algo-rithm as the RCPSP LSA class, an algorithm based on thesimple evolutionary crossover operator as the RCPSP CAclass and a tabu search algorithm as the RCPSP TS class.The three classes are inherited from the OptiAgent class andrepresents optimization agents.

To manage the system the strategy has been defined asthe RCPSP Strategy class inherited from the BasicStrat-egy class accessible in the environment. According to theRCPSP strategy the randomly selected solutions from thepopulation are sent to the optimization agents and the newsolutions obtained from the optimization agents replaces theworst solutions in the population.

Figure 1. A part of the definition of theRCPSP Task class ontology.

The proposed architecture has been verified experimen-tally. Several RCPSP and MRCSP instances from thePSPLIB benchmark set [18] have been solved. In Figure 2an example instance and its solution obtained by the JABATare shown.

3.2. Clustering problem

The clustering problem (CP) is defined as follows. Givena set of N data objects, partition the data set into K clus-ters, such that similar objects are grouped together and ob-jects with different features belong to different groups. Par-

Proceedings of the Sixth International Conference on Intelligent Systems Design and Applications (ISDA'06)0-7695-2528-8/06 $20.00 © 2006

Page 4: [IEEE Sixth International Conference on Intelligent Systems Design and Applications - Jian, China (2006.10.16-2006.10.16)] Sixth International Conference on Intelligent Systems Design

Figure 2. Example MRCPSP instance and itsJABAT solution.

tition defines the clustering by giving for each data objectthe cluster index of the group to which it is assigned. Thegoal is to find such a partition that minimizes the objectivefunction, which in this case is the sum of squared distancesof the data objects to their cluster representatives.

The JABAT approach to solving the clustering problemis based on three types of optimization agents - random lo-cal search, hill-climbing local search and tabu search. Op-timization agents have been implemented in the form ofclasses inheriting from the OptiAgent class.

Solutions to the clustering problem instances in the formof data lists have been defined as the CP Task class inher-iting from the Task. Communication on tasks between op-timization agents and the solution manager required defin-ing the CP TaskOntology inheriting from the TaskOntology.An example task ontology is shown in Figure 3. For thisproblem the ontology has been simplified and is not usedto sending the task parameters but to sending a location ofthese parameters. The agent, after receiving the message,reads the task parameters from a file. This approach shownthat a construction of complicated ontology can be replacedby a very simple structure.

Figure 3. CP task ontology.

An example solution ontology is shown in Figure 4. Thesolution for clustering problem is represented by the permu-tation of numbers pointing to number of elements in eachcluster and numbers of vectors allocated to each cluster.

To verify the approach several benchmark instances havebeen solved. An example solution to the benchmark Rus-pini problem [15], consisting of 75 points in the two-dimensional Euclidean space with a partition into four clus-ters, produced identical result as the one generated by theK-means algorithm.

Figure 4. CP solution ontology.

3.3. Euclidean planar traveling salesmanproblem

The Euclidean planar traveling salesman problem is aparticular case of the TSP. Given n cities in the plane andtheir Euclidean distances, the problem is to find the short-est TSP-tour, i.e. a closed path visiting each of the n citiesexactly once.

To solve an instance of the Euclidean planar TSP twoalgorithms have been used, each overriding the Optimise()method of the class OptiAgent to create classes OptiKLand OptiCross respectively. The algorithm in OptiKL is animplementation of the Lin-Kerninghan algorithm [12], theother is a crossing algorithm.

The architecture for solving the discussed problem isbased on classes TSP Task and TSP Solution, which havebeen defined by overriding classes Task and Solutionand adding appropriate data structures. For example theTSP Task has been extended by a table of classes called Lo-cation containing coordinates of all cities. Also, for bothTSP Task and TSP Solution appropriate ontologies havebeen defined.

The above architecture has been experimentally testedand several instances from TSPLIB [19] have been succes-fully solved. In addition, several tests have been carried outto evaluate the functionality of the mechanism of Strategiesin JABAT. A Strategy is a built in class defining four ba-sic activities related to the maintanance of the population ofsolutions:

• init - creating the initial population of solutions,

• read - drawing the required number of individuals fromthe population to send them to an OptiAgent

• add - adding to the population a solution received froman OptiAgent

• stop - evaluating whether the process of searching fora solution has to be stopped at the given moment.

In order to fully adapt JABAT to solving a particular tasknew strategies may be easily created and added to the li-brary.

The Table 1 presents results of the experiments withstrategies for the problem kroa100 from TSPLIB. The pop-ulation consisted of 5 solutions, there was one OptiAgent

Proceedings of the Sixth International Conference on Intelligent Systems Design and Applications (ISDA'06)0-7695-2528-8/06 $20.00 © 2006

Page 5: [IEEE Sixth International Conference on Intelligent Systems Design and Applications - Jian, China (2006.10.16-2006.10.16)] Sixth International Conference on Intelligent Systems Design

Table 1. The results for problem kroa100 (thevalue of the optimal solution is 21282).

Strategy ResultRead - draws a random individual 22677Add - exchanges the worst individualRead - draws a random individual 21614Add - exchanges a random individualRead - BlockingStrategy1 21475Add - exchanges a worse individualRead - BlockingStrategy2 21393Add - exchanges a worse individual

Table 2. The results obtained for selectedproblems from TSPLIB.

Problem Solution Optimal solution Erroreil51 428 426 0.47%berlin52 7542 7542 0.00%kroa100 21424 21282 0.67%eil101 645 629 2.57%bier127 119834 118282 1.31%

of each kind and the time was limited to 15 minutes. Block-ingStrategy1 is a strategy in which the solutions drawn fromthe population are blocked so that they would not be sendto two agents at the same time. In our case this strategyquickly led to the population of similar solutions, which iswhy BlockingStrategy2 has been introduced. The new strat-egy periodically exchanges the worse solution in the popu-lation by a new one, created at random.

The Table 2 presents some results obtained for problemsfrom TSPLIB. However the test conducted so far were con-nected more with testing the functionality of the JABAT en-vironment itself, and in the future, after tuning out the pa-rameters of the system, better results may be obtained.

3.4. Vehicle routing problem

The vehicle routing problem (VRP) plays an importantrole in the optimization of distribution of goods and ser-vices. Let G = (V, E) be an undirected graph, whereV = {0, 1, . . . , n} is the set of nodes and E is a set ofedges. Node 0 is a central depot with NV identical vehiclesof capacity W . Each other node i ∈ V − {0} denotes cus-tomer with a non-negative demand di. Each link (i, j) ∈ Edenotes the shortest path from customer i to j and is de-scribed by the cost cij of travel from i to j by shortest path(i, j = 1 . . . , n). It is assumed that cij = cji. The goal isto find vehicle routes such that each route starts and ends

at the depot, each customer is serviced exactly once by asingle vehicle and total load on any vehicle associated witha given route does not exceed vehicle capacity in order tominimize total cost of travel (or travel distance).

To obtain solutions to VRP instances using JABAT en-vironment two basic classes VRP Task and VRP Solutionhave been defined. VRP Task contains attributes and meth-ods representing an instance (the number of customers,the list of customers including their coordinates and de-mands, vehicle capacity, max route time and drop time).VRP Solution contains representation of the solution (listof routes for each vehicle and a total cost).

The initial population of solutions is generated apply-ing several heuristics and random mechanisms. Thereare five improvement algorithms. The Opti 2opt 1T is asimple 2-opt algorithm operating on a single route. TheOpti 2opt MT extends the former algorithm covering dif-ferent routes. The Opti 2lambda MT is an implementationof the λ - interchange local optimization method (λ = 2).The Opti exchange 2plus MT operates on a two randomroutes interchanging sequences of visits involving morethen two customers. Finally, Opti random MT changes ran-domly elements on all routes. All the above classes areagents inheriting from the OptiAgent class.

To enable exchange of data on tasks and solutions, twoclasses - VRP TaskOntology and VRP SolutionOntologyhave been also defined, similar as for previous problems.

The proposed approach, as in case of the earlier de-scribed ones have been verified experimentally. SeveralVRP instances from the ORLibrary benchmark set [17]have been solved. The Table 3 shows results obtained bya suggested algorithm, the best known solutions reportedby [11] and mean relative error from best known solution.

4. Conclusions

The proposed JADE-based A-Team environment is a”middleware plus” supporting development of A-Team sys-tems. Its main advantages that have been inherited fromJADE, include:

• Ability to simplify the development of the distributedA-Teams composed of autonomous entities that needto communicate and collaborate in order to achieve theworking of the entire system.

• Interoperability - JADE-A-Team agents can cooperatewith other agents provided that they comply with theFIPA standard.

• Uniformity and portability - JADE-A-Team providesa homogeneous set of APIs that are independent fromthe underlying network and Java version.

Proceedings of the Sixth International Conference on Intelligent Systems Design and Applications (ISDA'06)0-7695-2528-8/06 $20.00 © 2006

Page 6: [IEEE Sixth International Conference on Intelligent Systems Design and Applications - Jian, China (2006.10.16-2006.10.16)] Sixth International Conference on Intelligent Systems Design

Table 3. The results for instances of VRP fromORLibrary.

Number BestProblem of known JABAT Error

customers solution (VRP)vrpnc1 50 524.61 546.80 4.23%vrpnc2 75 835.26 859.89 2.95%vrpnc3 100 826.14 852.63 3.21%vrpnc4 150 1028.42 1096.36 6.61%vrpnc5 199 1291.45 1404.25 8.73%vrpnc6 50 555.43 559.63 0.76%vrpnc7 75 909.63 919.01 1.03%vrpnc8 100 865.94 871.31 0.62%vrpnc9 150 1162.55 1206.40 3.77%vrpnc10 199 1395.85 1422.01 1.87%vrpnc11 120 1042.11 1067.70 2.46%vrpnc12 100 819.56 878.26 7.16%vrpnc13 120 1541.14 1553.00 0.77%vrpnc14 100 866.37 950.62 9.72%

Moreover, a software framework that hides all complex-ity of the distributed architecture plus a set of predefinedobjects are made available to users, who can focus just onthe logic of the A-Team application and effectiveness of op-timization algorithms rather than on middleware issues. It isexpected that such an approach will result in achieving scal-able, flexible, efficient, robust, adaptive and stable A-Teamarchitectures at a low development costs. Parallel actions ofindependent agents working in the distributed environmentis the main factor behind efficiency of the A-Team basedarchitectures.

During the test and verification stages JADE-A-Teamhas been used to implement several A-Team architecturesdealing with well known combinatorial optimizationproblems including traveling salesman, project schedul-ing under resource constraints, vehicle routing problemand clustering problem. Functionality, ease of use andscalability of the approach have been confirmed. Furtherresearch will concentrate on providing a friendly humancomputer interface and developing a set of classes that caneven further support the construction of advanced A-Teamsarchitectures featuring population - based algorithms.

Acknowledgement: This work is supported by the KBNgrant No. 3T11C05928

References

[1] M.E. Aydin and T.C. Fogarty, ”Teams of autonomous agentsfor job-shop scheduling problems: An Experimental Study”,

Journal of Intelligent Manufacturing, 15 (4), 2004, pp. 455-462.

[2] F. Bellifemine, G. Caire, A. Poggi, G. Rimassa, ”JADE. AWhite Paper”, Exp, 3 (3), 2003, pp. 6-20.

[3] L. Davis, Handbook of Genetic Algorithms, Van NostrandReinhold, New York, 1991.

[4] M. Dorigo, G. Di Caro, ”The Ant Colony OptimizationMeta-Heuristic”, in: D. Corne, M. Dorigo and F. Glover(Eds.), New Ideas in Optimization, McGraw-Hill, New York,1999, pp. 11-32.

[5] T.A. Feo, M.G.C. Rosende, ”Greedy randomized adaptivesearch procedures”, Journal of Global Optimization, no. 6,1995, pp. 109-133.

[6] F. Glover, ”Heuristics for Integer Programming Using Sur-rogate Constraints”, Decision Sciences, vol. 8, no. 1, 1997,pp. 156-166.

[7] D.E. Goldberg, Genetic Algorithms in Search, Optimization,and Machine Learning, Addison-Wesley, Reading, Mass,1989.

[8] A. Hertz, D. Kobler, ”A framework for the description ofevolutionary algorithms”, European Journal of OperationalResearch, 126, 2000, pp. 1-12.

[9] J.H. Holland, Adaptation in natural and artificial systems,The University of Michigan Press, Ann Arbor, 1975.

[10] J. Kennedy, R.C. Eberhart, ”Particle swarm optimization”,in: Proc. of IEEE International Conference on Neural Net-works, Piscataway, N.J., 1995, pp. 1942-1948.

[11] G. Laporte, M. Gendreau, J. Potvin, F. Semet, ”Classicaland modern heuristics for the vehicle routing problem”, In-ternational Transactions in Operational Research, 7, 2000pp. 285-300.

[12] S. Lin, B.W. Kerningham, ”An Effective Heuristic Algo-rithm for the Travelling Salesman Problem”, Operations Re-search, 21, 1973, pp. 498-516.

[13] Z. Michalewicz, Genetic Algorithms + Data Structures =Evolution Programs, Springer-Verlag, Berlin-Heidelberg-New York, 1994.

[14] H.V.D. Parunak, ”Agents in Overalls: Experiences andIssues in the Development and Deployment of IndustrialAgent-Based Systems”, International Journal of Coopera-tive Information Systems, 9 (3), 2000, pp. 209-228.

[15] E.H. Ruspini, ”Numerical method for fuzzy clustering”. In-formation Science, 2, 1970, pp. 319-350.

[16] S. Talukdar, L. Baerentzen, A. Gove, P. de Souza, ”Asyn-chronous Teams: Co-operation Schemes for Autonomous,Computer-Based Agents”, Technical Report EDRC 18-59-96, Carnegie Mellon University, Pittsburgh, 1996

[17] ORLibrary, http://people.brunel.ac.uk/mastjjb/jeb/orlib/vrpinfo.html

[18] PSPLIB, http://129.187.106.231/psplib

[19] TSPLIB, http://elib.zib.de/pub/ Packages/mp-testdata/tsp/tsplib/tsp/index.html

Proceedings of the Sixth International Conference on Intelligent Systems Design and Applications (ISDA'06)0-7695-2528-8/06 $20.00 © 2006