Often transportation companies do not use any dispatch software at all but schedule transportation orders by hand, distribute the cargo among their vehicle fleet, and calculate the routes in an ad hoc manner only ``optimised'' by the experience of their stressed dispatch officers. Therefore, transportation companies have a high potential for rationalisation and optimisation. Because of this demand and its natural distribution the dispatch problem is a highly promising area for distributed AI technology.
In this paper we describe our approach taken in the TeleTruck system. TeleTruck is an extended reimplementation of the MASMARS system [ Fischer et al., 1996 ] , which is a research prototype for transportation scheduling. MASMARS implements an abstract, simplified version of the dispatch problem. The agents of MASMARS represent homogeneous trucks. They negotiate on incoming orders and optimise the distribution and execution of these orders according to an abstract cost measure. The TeleTruck system is an application prototype developed in close collaboration with a forwarding company. It schedules realistic orders using heterogeneous agents modelling different forms of vehicles. A central idea underlying the TeleTruck approach is to model the basic physical objects (drivers, trucks, trailers, containers) of the transportation domain explicitly by basic agents. These agents have to join together and form holonic agents that act in a corporated way. These composed agents represent the physical transportation entities (e.g., road trains or articulated vehicles together with their drivers) which are able to execute the orders.
In the next section we discuss the application domain in more detail. Section 3 presents some basics of holonic MAS. In Section 4 we describe the modelling of the domain, the architecture of TeleTruck, and, finally, its implementation.
The dispatch officer has to consider both the company's own vehicles and those of subcontractors and partners. The vehicle fleet may consist of trucks, road trains, and articulated vehicles of different sizes and types. Trucks and trailers may have fixed or exchangeable loading space. Containers or swap bodies may again be owned by the forwarder, his partners, or even the customers. The drivers have to be scheduled by the dispatch officer according to their free driving times (limited by their contracts or by laws). Amount and type of cargo, different types of time windows (delivery or pick up times, opening times, etc.), consignor and consignee are the features of the transportation orders that have to be taken into account by the dispatch officer.
From an abstract point of view two types of transportation settings can be distinguished: The general one where orders are to be transported between any two places is called the pickupanddeliveryproblem and the restricted setting where the cargo has to be delivered to different points from a single depot or vice versa is known as vehicleroutingproblem.
In an idealised form the vehicleroutingproblem is a fruitful benchmark for operations research [ Desrochers et al., 1992 ] . We adopted these benchmarks for multiagent systems to explore the distributed problem solving capabilities of cooperative agents and to compare it with the OR solutions. It turned out that the solutions obtained by MAS can compete with the OR solutions [ Fischer et al., 1996 ] . The general idea of a MAS solution for these scheduling problems is to model each truck by an agent that has the capability to compute a route for executing a subset of the orders. By successively announcing the tasks to the truck agents via the contract net protocol, an initial solution is obtained. In general, this solution is suboptimal. It can be improved by coordinated exchange of orders among the trucks [ Bachem et al., 1992; Fischer et al., 1996 ] . In every day business of transportation companies the idealised setting of the benchmark has to be extended: New orders arrive during the execution of the orders and have to be incorporated into existing plans quickly. The information which is available may be incomplete or even wrong. The plans are not totally reliable since the time that is needed for loading a truck or driving from one customer to the next depends on factors that are not under control of the dispatch officer. Therefore, a truck can be delayed such that its plan is no longer feasible and it is necessary to replan. These uncertainties and dynamics handicap central OR algorithms which would always have to be restarted when a plan has to be modified or adapted. The MAS approach allows for local improvement of tour plans and the handling of inconsistent and fuzzy knowledge. It is thus able to cope with the dynamic setting.
Nevertheless, it turned out that modelling just the vehicle as autonomous agent was not yet appropriate. In reality truck, trailer or semitrailer, loading space, and driver form a transportation entity which is not fixed but may change during order execution: trucks meet and exchange trailers, containers are left at the customers or a truck may be temporarily staffed with two drivers. The simplifying abstraction does not allow to distinguish all these cases.
We therefore decided to represent each of these components as agents as well, which have to find their ``partners'' and form composed agents representing complete transportation entities that are able to handle the orders at hand. This resulted in a concept which we would like to call a holonic MAS.
These ideas are certainly not unfamiliar to the multiagent community since Marvin Minsky proposed his vision of the mind as a society of agents in [ Minsky, 1985 ] and tried to show how human intelligence could evolve from the neuronal structures of the brain. His approach was to show how complex cognitive tasks can be decomposed into simpler ones that can then be performed by simple, nonintelligent computational structures called agents. Minsky's main message is that the human mind consists of less intelligent structures, which in turn consist of simple parts that are not intelligent at all.
In a MAS holonic structures occur when agents not only cooperate loosely but have to be composed in order to perform their tasks. That means autonomous agents join others and form holons without loosing their autonomy completely but keeping the freedom to leave the holon again and act autonomously or rearrange themselves as new holons. According to this view we call an agent holonic or a holon if it consists of subagents, which can decompose and rearrange themselves and which may again be holonic. The ``leaves'' of a holonic MAS are autonomous agents that are stable over time and cannot be decomposed further into subagents [1] . We will assume one subagent of a holon to be distinguished as the representative or head, that will represent the holon to the rest of the agent society according to all kinds of interactivity.
The competences of the head of a holon range from pure administrative tasks to the authority to issue directives to the other agents. The minimum task a representative must implement is the interaction with the rest of the agent society, such that the behaviour of the holon is consistent. Furthermore, the head can be equipped with the authority to allocate resources to the other agents in the holon, to plan and negotiate for the holon on the basis of its subagents' plans and goals, or even to remove parts from the holon or to incorporate new parts.
resources components |
driving time |
motor |
chassis |
loading space |
---|---|---|---|---|
driver | X | |||
truck with loading space | |
X |
X |
X |
truck without loading space | X |
X |
||
truck tractor | X | |||
trailer | X | X | ||
semi-trailer | X | X | ||
chassis | X | |||
container /swap body |
X |
There is no universal method to determine the head. It may be elected from the agents forming the holon; a new agent may be created just for the lifetime of the holon to represent it; or, as in our setting, special agents are designed, that coordinate the formation of holons and establish themselves as heads of these holons.
We developed an objectoriented data and process model of the domain, where each of the physically indivisible components are modelled as objects offering the services of administrating its resources.
According to the inherent distribution of the problem we chose to go further in order to achieve an incremental and dynamic scheduling procedure with stepwise approximation of globally optimised plans through local optimisation coupled with cooperative redistribution of orders. We agentified the components and equipped them with local goals, plans, and the capabilities to communicate, cooperate, and form holons in a multiagent setting [2]. For such holonic MAS we have different ways of organising the formation and representation of the holons. The different types of component agents have to unite in order to form a transportation entity, the holon, that is able to plan and execute the transportation task for those orders it applied for. Concerning the representation of the holon at a first glance the motor component seems to be a static part during planning and execution and hence would be the natural candidate for the head of the holon. However, the motor component may be exchanged while the holon and its plan continue to exist. The same holds for each of the other components.
Since all physical components can be exchanged during the life time of a holon we decided to introduce a representative component as head of the holon that is able to coordinate the formation of the holon and its potential reconfigurations. The resources of the head are the planning and coordination capabilities.
Figure 2: The TeleTruck Architecture
Figure 3: Holonic Planning
Figure 3 illustrates a company agent announcing a
new transportation task to two vehicle holons and the idle PnEU. The
complete vehicle holon on the left hand side cannot incorporate any
further components. Hence, the head requests the necessary resources
from its components and, if these resources are sufficient, it
calculates the costs for the execution of the task. The second vehicle
holon could integrate one further component. In a first step, however,
its head tries to plan the task using only the resources of the
components, the holon already has incorporated. If the resources are
not sufficient, the head tries to collect the missing resources by
performing an ECNP with idle components that supply such
resources---in this case the idle trailer. The idle PnEU, which has
not yet any resources at all, first of all performs an ECNP with those
idle components that offer loading space; in the example a truck and a
trailer. The trailer supplies loading space and chassis, therefore, it
needs a motor supplying component. Hence, it announces the task to the
truck. The truck which received two different announcements for the
same task---one by the trailer and one by the PnEU directly---can bid
in both protocols since it can be sure that only one of the protocols
will be successful. Therefore, the truck agent looks for a driver,
computes the costs for the two different announcements, and gives a
bid both to the PnEU and to the trailer. Obviously, the costs for
executing the task with a vehicle that consists of a driver and a
truck are less than the costs of executing the same task with the same
truck and driver and, in addition, a trailer. Therefore, the idle PnEU
will pass the bid of the truck to the company agent. If the task is
granted to the idle PnEU, the PnEU merges with the components to a
vehicle holon and a new PnEU will be created for further bidding
cycles. Whenever the plan of a holon is finished the components
separate and the PnEU terminates.
In order to allow the optimisation not only of the plans but also of the combination of components we extended the simulated trading procedure. It might be the case that a good route plan is not efficient because the allocation of resources to the plan is bad, e.g. a big truck is not full while a smaller truck could need some extra capacity to improve its own plan. We divided a trading round into three phases. The first phase consists of order trading cycles as explained above; in the middle phase the holons can submit offers to exchange components. The third phase is, like the first phase, an order trading phase. After the third phase is finished the company agent matches the sell and buy and component exchange offers. This final trading phase is needed to decide whether the exchange of components in the middle phase actually lead to an improvement of the global resource allocation.
Compared to other software supporting order dispatching, it had been shown earlier [ Fischer et al., 1996 ] , that the MASMARS/TeleTruck approach can easily compete with traditional OR algorithms. The features of TeleTruck mentioned above, however, allow for much wider usage and better assistance of dispatch officers. An intensive field trial has to demonstrate also its practical superiority.
The holonic structure of our agent society has several advantages:
TeleTruck is an open system in the sense that other modes of transport (be it by railway, ship or plane) can be taken into account easily. In the same way as different road hauliers can cooperate horizontally other carriers can be integrated together with their subagents (trains, waggons, ships etc.) modelling their modes of transport. We are currently extending our approach towards such intermodal transport chains.
Our general vision for the future of freight haulage in Europe involves a close interaction between the TransEuropean Network (TEN) of transportation and the TransEuropean Network of telecommunications, in such a way that haulage via multiple modes of transportation is supported by AI technology and Telematics. Loading units derived from transport orders are assigned to loading spaces, transport units, transport modes etc. They are hauled between different locations, possibly undergoing several transshipments. Parallel to this flow of physical objects through the transport TEN, a flow of virtual objects through the telecommunications TEN will occur. Intelligent agents accompany the loading units like virtual analogs through the telecommunication TEN and, coupled with other intelligent agents (the virtual analogs of the trucks, trains etc.), they determine an optimal path for the corresponding physical object through the transport TEN. Just as the physical loading unit may change the physical transport unit, or may be loaded or unloaded at a terminal or a loading dock, so its virtual analog may alter the virtual transport unit or may move from or to the server of the terminal or the loading dock (i.e., the virtual analog of that physical location).
[1] Nevertheless, it is possible to find holonic structures in the
sense of Koestler in these agents' architecture
[Gerber and Jung, 1998].
(back to text)
[2] This did not result in lower efficiency, as the core of
TeleTruck has been implemented in Oz
[Smolka, 1995] a modern
concurrent language that allows to model hun dreds of computational
threads with small overhead.
(back to text)