Av. Dr. Francisco Sá Carneiro, 50, 6300 Guarda, Portugal. Barrie Baker, Gözde Tütüncü. School of Mathematical and Information Sciences, Coventry University.
THE USE OF SOFTWARE COMPONENTS TO IMPROVE A VISUAL INTERACTIVE SYSTEM FOR VEHICLE ROUTING PROBLEMS Cláudia Bonifácio, Carlos Carreto, Tiago Camilo Escola Superior de Tecnologia e Gestão, Instituto Politécnico da Guarda Av. Dr. Francisco Sá Carneiro, 50, 6300 Guarda, Portugal
Barrie Baker, Gözde Tütüncü School of Mathematical and Information Sciences, Coventry University Priory Street, Coventry CV1 5FB, UK
ABSTRACT In this paper we describe a visual interactive system to solve vehicle routing problems with backhauls. We have called the system Computerised Routing Using Interactive Seed Entry. It combines a graphical-user-interface, with various interactive tools, and a Greedy Randomised Adaptive Search Procedure, in order to provide a solution method which enables the user’s special knowledge or insights to be augmented by the computer’s capacity to perform high speed calculations. We present the basic visual interactive approach developed in a previous work, and the improvements we have made to it, especially through the use of self-contained software objects called components. A description of the visual interactive approach developed, and details about the structure and implementation of the components and their advantages in the development of our system and optimization algorithms in general, will be given during the session. KEYWORDS
Routing, Heuristics, Visual Interactive Modelling, Software Components
1. INTRODUCTION In this paper we describe the work in progress of the improvement of a visual interactive approach to solve vehicle routing problems with backhauls (VRPB). The system combines a graphical user interface (GUI), with various interactive tools, and a Greedy Randomised Adaptive Search Procedure (GRASP) [6], in order to provide an approach which enables the user’s special knowledge or insights to be augmented by the computer’s capacity to perform high speed calculations. We have called the system which we developed Computerised Routing Using Interactive Seed Entry (CRUISE ). First we describe the VRPB and the basic visual interactive approach, and next we describe how CRUISE has been improved by using software components.
1.1 Vehicle Routing Problem with Backhauls The VRPB consists of a large number of customers of two types. Linehaul customers require a specified weight of goods to be delivered and backhaul customers require a specified weight of goods to be collected. Routes starting and finishing at a depot must be determined for vehicles which can only make collections after all deliveries for that vehicle have been made. Thus, any practical difficulties of re-arranging vehicle contents are avoided. Each customer’s requirements for delivery or for collection must be satisfied by just one vehicle. Vehicle capacities are given and, in our implementation, a maximum distance that each vehicle can travel can be specified too. In the latter case, a drop allowance can be associated with each customer and
II - 66
THE USE OF SOFTWARE COMPONENTS TO IMPROVE A VISUAL INTERACTIVE SYSTEM FOR VEHICLE ROUTING PROBLEMS
added to the total distance travelled by the vehicle to which the customer is assigned. Possible objectives may be to find a set of routes which minimises the total distance travelled, or which minimises the number of vehicles used and the total distance travelled with this number of vehicles. Laporte [4] gives a survey for the standard vehicle routing problem (VRP) and for various extensions of the VRP, including mathematical formulations. An extensive bibliography has been compiled by Laporte and Osman [5].
1.2 Visual Interactive Approach Our visual interactive approach is based on the method proposed by Fisher & Jaikumar [3], and subsequently extended by Baker [1]. For the standard VRP, the customer locations are first displayed using a symbol whose area is proportional to the demand of the corresponding customer. Then, for each vehicle, the user can select a single seed customer to indicate the region of operation of the vehicle, as proposed in [3]. Alternatively, two or more customers can be selected in the order that the user would expect them to be visited, to form an outline route, as described in [1]. Carreto & Baker [2], extended this approach into a GRASP interactive algorithm also showing that excellent results can be obtained for the VRPB. The procedure extends readily to the VRPB, simply requiring two different symbols to distinguish linehaul and backhaul customers, and the process of selecting one or more linehaul customers followed, in most cases, by one or more backhaul customers to form outline routes is a straightforward extension for the user. The visual interactive approach implemented in CRUISE can be described in three different phases: Seeds selection, Routes construction and improvement, and Solution refinement. These phases are described in the next sections.
1.2.1 Seeds Selection The seeds are the customers that for some reason the user forces to be serviced by specific vehicles. The user selects the seeds for each vehicle in accordance with his local knowledge and experience of a real life problem, or by identifying certain patterns like clusters of customers, customers with very high demands or isolated customers. During the selection process the user is helped by the computer which checks for constraint violations.
1.2.2 Routes Construction and Improvement The routes construction and improvement phase constructs the routes by clustering the remaining customers according to the vehicles defined by the seeds. This clustering is done without user intervention and is implemented in the construction phase of the GRASP algorithm. The heuristic may find a feasible solution where all the customers have been allocated to the vehicles, or the clustering may result in an infeasible solution, because there was a violation of a capacity or distance constraint. The clustering heuristic allocates each customer to the position in a route where the insertion cost is minimised, giving allocation priority to customers with a more obvious insertion route, and to customers for which the number of routes they can go on is smallest. The GRASP local search phase makes use of inter-route interchange procedures and tries to further improve the solution obtained in the construction phase. Throughout the GRASP iterations, the display shows the best solution obtained so far (feasible or infeasible), and the user can terminate the procedure whenever they wish to make a manual intervention in the solution process.
1.2.3 Solution Refinement After the routes construction and improvement phase, the user can try to refine the solution in order to improve it (especially if it is infeasible), by using interactive tools. With no formal rules to follow, the CRUISE interactive environment is sufficiently flexible to allow creativity and imagination from the user, and different refinement techniques are possible for using these tools. The simplest example consists of the removal of some customers from their current routes, followed by a new call to the construction and improvement heuristics. A new set of GRASP iterations will be performed that will try to reallocate the removed customers and search for a possible local optimum, eventually improving the solution. This is a very effective procedure when there is some overlap between routes, and can lead to several different feasible solutions in a very short period of time. Other solution refinement techniques based on seeds selection and local refinement will be described.
II - 67
IADIS International Conference Applied Computing 2004
2. IMPROVEMENT OF CRUISE Next we describe the interactive environment of CRUISE and the framework of software components that allowed us to improve the visual interactive approach.
2.1 Interactive Environment While previous versions of the visual interactive approach had a relative simple graphical user interface to interact with the solution method, the present version of CRUISE is characterized by a richer visual interactive environment allowing a more powerful collaboration between the user and the computer.
Figure 1. CRUISE’s graphical user interface
Figure 1 shows the general aspect of the graphical user interface developed. The interface is characterized by the visual feedback that allows the user to interact with this system in a simple yet powerful way. For example, customers are represented by triangles with dimensions proportional to their demands. This allows the user to easily identify areas with bigger demands of goods, leading him to decide the allocation of more than one vehicle to those areas. Also, it is important, during the solution improvement phase, to know the state of the routes in relation to the vehicle restrictions. In previous versions of the interactive approach, this information was given to the user in a numerical form, which was difficult to interpret and therefore not very useful in the interactive process. In the actual version of CRUISE the same information is represented graphically which is easier to interpret by the user. To complement the description of the interactive environment, a live demonstration of CRUISE will be given during the session.
2.2 Building Blocks CRUISE was developed with modularity in mind. CRUISE was coded in C++Builder and achieves its modularity through the component model Visual Component Library (VCL). Figure 2 shows the framework of components developed. These components are the "building blocks" of CRUISE. They provide the discrete set of operations that implement the visual interactive approach. The modularity provided by the components helped us to tackle the development of a relative complex piece of software like CRUISE. Furthermore, the development of CRUISE through a framework of components facilitates the maintenance of the code and simplifies further developments. For example, one could develop a new component to implement an improved version of the inter-route local search algorithm, knowing just how the component
II - 68
THE USE OF SOFTWARE COMPONENTS TO IMPROVE A VISUAL INTERACTIVE SYSTEM FOR VEHICLE ROUTING PROBLEMS
should communicate with the component that implements the GRASP routing heuristic. Furthermore, the new component can be seen as a black-box allowing seamless integration in the system.
Figure 2. The framework of components developed for CRUISE
More details about the structure and implementation of these components, and their advantages in the development of CRUISE and optimization algorithms in general, will be given during the session.
3. CONCLUSION An improved visual interactive system, CRUISE, has been presented which is easy to use, with a Windows interface of the kind that will be familiar to most computer users. The new and improved interactive features which have been programmed into CRUISE provide extra flexibility, allowing users to better combine their insights, knowledge and judgment with the power of the computer to perform modern heuristics at high speed. Some preliminary results for benchmark problems will be given during the session. The implementation of CRUISE trough components provides modularity and brings many advantages.
REFERENCES 1. Baker, B., 1992. Further improvements to vehicle routing heuristics. In JORS, Vol. 43, No 10, pp. 1009-1012. 2. Carreto, C. and Baker, B., 2001. A GRASP interactive approach to the vehicle routing problem with Backhauls. In: P. Hansen and C. Ribeiro (eds). Essays and Surveys on Metaheuristics. Kluwer Academic Publishers, pp. 185-199. 3. Fisher, M. and Jaikumar, R., 1981. A generalised assignment heuristic for vehicle routing. In Networks, No 11, pp. 109-124. 4. Laporte, G., 1992. The Vehicle Routing Problem: An Overview of Exact and Approximate Algorithms. In European Journal of Operational Research, No 59, pp. 345-358. 5. Laporte, G. and Osman, I. H., 1995. Routing Problems: A Bibliography. In Annals of Operations Research. No 61, pp. 227-262. 6. Pitsoulis, L. and Resende, M., 2001. Greedy randomized adaptive search procedures. In: P. Pardalos and M. Resende, (eds). Handbook of Applied Optimization. Oxford University Press, pp. 168-183.
II - 69