| 1 . INTRODUCTION Transportation scheduling problems are common real world problems. Example of some problems: 1. In shipping company and courier service, there are many orders that have to be sent to specific destination address, specific time. All of these orders should be assigned to the appropriate vehicle such as truck, bicycle, etc. Every vehicle has to be assigned to the appropriate route, so the truck will not spend off the road or travelling empty. Dispatch officers often face some problem when: · During the execution of the order, a customer comes with a new order. · The vehicle has broken down. · The traffic situation changes Therefore, he/she has rescheduled the existing plan. 2. Another transportation problem is scheduling for truck dispatch in surface mining. In this case, the problem is how to assign jobs to the appropriate truck so that certain performance demand effectiveness is optimised. The goals of this transportation scheduling are minimize transport cost and transport time. We are introduced to the concept of multi agents, which can optimise the distribution and execution of tasks (order). The multi agents can handle the situation where the constraints change, such as the arrival of new order or the changing traffic situation. My study is about using
the concept of multi agent for transportation scheduling. There are 2
studies for approaching an optimisation of task assignment in transportation
scheduling. This paper will provide a description of these 2 studies. It is organised as follows: Starts with a literature review of all the paper that relate to my research in part 2. In part 3, I will discuss about my research, which are 2 studies that I have mentioned above. Part 4 is my conclusion.
The term of agent is widely
used in Artificial Intelligence. What is an agent? The Workers involved
in agent research have offered a variety of definition. Pattie Maes describe an
agents as : Instead of Russel &
Norvig and Maes definitions, there are many other definition vary from
the simple to the long and severe definition. Hence, we can identify the
term of agent as a component of software and/or hardware, which is capable
of acting exactingly in order to accomplish tasks on behalf of its user.
This term can cover a variation of other specific agent type [15]. Contract Net Protocol
[19] The contract net protocol is a negotiation protocol proposed by Smith and David on 1980, which facilitates distributing subtask among various agents. Each agent in the system takes on one of the role in the execution of task, which are manager role or contractor role. A manager is responsible for monitoring the execution of a task and processing the results of its execution. On the other hand, a contractor is responsible for the actual execution of the task. The manager broadcast a message of task to be executed to all of contractors. Each message in the CNP has a set of slots for task-specific information such as task eligibility specification, task abstraction, bid specification, expiration time. ·
Task eligibility specification is a list of criteria that the contractor
must meet to be eligible to
submit a bid. The purpose of this slot is reducing message traffic
by pruning contractors whose bids would clearly unacceptance. The manager waits for reply from the contractor for some length of time, and then awards the contract to the best offers from the contractor according to its selection criteria. There are some modified
versions of this Classic Contract Net Protocol. Some researchers modify
this protocol to meet some special requirement of their application such
as B-Contract Net by Scalabrin on 1996 and Extended Contract Net Protocol
(ECNP) [6,7,8]. For example, the classic Contract Net Protocol will hit upon problems on the situation where the task exceeds the capacity of every single VA. Because of this reason, Fischer proposed Extended Contract Net Protocol for transportation scheduling. We will briefly discuss about ECNP in the subsection below. |
|||||||||||||||||
![]() Figure 1 Contract Net Protocol |
|||||||||||||||||
Extended Contract Net Protocol [6,7,8] (see figure 2 and 3) As state above, the CNP will face problem where
Firstly, the CA announces
an order to its VAs and wait for some length of time, and then sent a
temporal grant to contractor that offers the best bid according to some
specific selection criteria. All others contractor will receive a temporal
reject. If the best bid does not cover the whole amount of an order, the
remaining part of the order is re-announced by the CA. This procedure
is repeated until there is a set of bids that covers the total amount
of the original order. CA sent this set of bids to the customer. The CA
send the definitive grant to all VAs that got temporal grants before,
based on customer approval. VA store a copy of its local situation when
it receive a temporal grant since it must be able to restore this situation
in case it receive a definitive reject. On the other hand, when VA is
sent a definitive grant for an order, it removes the copy created above
and switches to the new plan. |
|||||||||||||||||
![]() Figure 2 Extended Contract Net Protocol - Perspective of Company Agents |
|||||||||||||||||
![]() Figure 3 Extended Contract Net Protocol - Perspective of Vehicle Agents |
|||||||||||||||||
SIMULATED TRADING[1] The original idea of simulating
trading heuristic is for improving a heuristic of solving vehicle routing
problems with additional side constraints. The basic problem of vehicle
routing problems is given as follows: a set of n customers with demands
di has to be served from a depot using t trucks of capacity Q. The objective
is to minimize the total distance covered by the trucks or some other
measure such as cost, time, etc. The current exist heuristic is only used
for local improvement within one of the available tours. Simulated Trading
introduce a global improvement, which is changing customers between tours.
Consider the following example of below:
|
|||||||||||||||||
![]() Figure 4 |
|||||||||||||||||
| ALGORITHM OUTLINE OF SIMULATED TRADING | |||||||||||||||||
| T
= (T1,
.Tt) is a feasible tour plan
Repeat |
|||||||||||||||||
| Sell-and-Buy phase
The trading graph will construct level by level until a given maximum level is reached. In each level, the tour may select 3 possibilities decision (figure 2):
|
|||||||||||||||||
|
Figure 5 |
|||||||||||||||||
|
|
|||||||||||||||||
|
Trading-
Matching-Search phase Trading Matching
is a trading graph with a set of edge M that has the following property
The purpose of Trading-Matching is to find a complex customer interchange leading to an improved feasible tour plan. A feasible tour plan is improved if the matching value is positive. We can conclude that the simulated trading is a heuristic to improve existing solution, not to find a solution from the beginning. This simulated trading mechanism is modelled in transportation scheduling as an auction procedure for optimisation of task distribution. This mechanism is applied to the cooperation between CA. It allows CA exchange the order that optimises the global solution. |
|||||||||||||||||
| Constraint
Satisfaction Problem and Distributed CSP
[23]
Constraint A constraint is a logical relation among several unknowns (or variable), each taking a value in a given domain. A constraint thus restrict the possible values that variables can take, it represents some partial information about the variables of interest. Example of constraints: A+B = C , X>Y Constraint
Satisfaction Problem (CSP) Distributed Constraint Satisfaction Problem (DCSP) The definition
of DSCP is a CSP in which the variables and constraints are distributed
among the agents. Hence, there are more than one agent involve in the
problem. There are many algorithms for solving problem in Distributed
Constraint Satisfaction Problem. The algorithm is classified into 2, which
are algorithm for single local variable and algorithm for multiple local
variables. Algorithm for single local variable is applied for problem
where agent only has one variable. In the other hand, Algorithm for multiple
local variables is applied for problem where agent has more than 1 variable.
Below is the list of some algorithm for DSCP. |
|||||||||||||||||
|
|||||||||||||||||
| 2.3 . EXAMPLE
OF THE APPLICATION OF TRANSPORTATION SCHEDULING THAT HAS BEEN IMPLEMENT. MAS - MARS [6,7,8,9] TELETRUCK [2,3 ] Teletruck is an extended re-implementation of the MAS-MARS system. The agents of MAS-MARS system represent homogeneous trucks. On the contrary, Teletruck is using heterogeneous agents (drivers, trucks, trailers, containers). Teletruck is an interactive system for computer-supported dispatch in the haulage sector. Teletruck takes care of routine tasks and proposed dispatch solution, thus enhancing the productivity of the dispatcher. The feature of teletruck is allowance of online re-scheduling. The agent society of Teletruck is implemented as a holonic agent system. A Holonic agent is composed of the sub-agents working together in order to pursue a common goal. The user or the other members of the agent society can interact with a holon as if it were a single agent. |
|||||||||||||||||
| 3 . RESEACH AREA | |||||||||||||||||
|
The definition of multi agent transportation scheduling is a system with a group of agents that cooperate to optimise the distribution and execution of orders according to cost and time measure. 3.1 Multi Agent Transportation Scheduling Using Contract Net Protocol and Internal Market Place Two
basic objects that will be agentified: company and vehicle that will execute
the task. The company agent (CA) allocates the order to the vehicle agent
(VA) and trying to satisfy the constraints provided by the customer including
time and to approach a minimal cost. This relationship between CA and
VA can be solved by Contract Net Protocol concept but the solution is
not optimized. Consider, the situation where the constraints dynamically
change such as traffic situation, arrival of new order, defective truck.
In this case, it is possible that the current solution is not an optimal
solution any longer. Hence, we need to find the way to re-arrange the
solution. The good news is we can use the idea of exchange task in Simulated
Trading to escape from this problem. 3.2 Applying Constraint Satisfaction Problem into Multi Agent Transportation Scheduling In this section,
I will present the idea of applying Constraint Satisfaction Problem into
Multi Agent Transportation Scheduling. As mentioned above, The definition
of transportation scheduling is a system that deals with the allocation
of vehicle (in my case, it is a truck) to perform a collection of order.
The goals of this transportation scheduling are minimize transport cost
and transport time. We are introduced to the concept of multi agents,
which can optimise the distribution and execution of tasks (order). The
multi agents can handle the situation where the constraints change, such
as the arrival of new order or the changing traffic situation. |
|||||||||||||||||
|
|
|||||||||||||||||
o Optimisation constraint. This problem requires scheduling a set of order O = {O1, ,On} on a set of Truck T = {T1,..,.Tn} that has to satisfy the time constraint with cost as cheap as possible. Each truck agent can locally solve the problem with inserting an order into its journey plan. Truck agent has to find the best journey plan, which has the cheapest cost. Hence, the output from this assignment is the best cost that this truck can offer. Consider, if there is other truck agent that can offer a cheaper cost. Therefore, we have to find the optimal solution where the order can be done by the cheapest cost. It is very easy to find a solution for this problem but the solution is not always an optimal solution. In another case, the situation is dynamically changed such as incoming new order. In order to find an optimal solution, we always have to revise the solution. There are some CSP algorithms that can solve this problem. In this paper, I will not discuss further about the algorithm. Beside I will describe the formalisation of this problem into CSP. Formalisation of problem into CSP Constants: Variables:
Constraints: S [a,b] is described a length of time that has to be covered between location a and location b. di + S[dli,dlj] £
dj Ú
dj + S[dlj,dli] £
di i ¹ j pi £
pj Þ
pi + S[pli,plj] £
pj o Due time constraint There is an object function for this case, which is a cost for this order. Once the new order is attached to the existing plan, the cost for this order will be calculated.
Variable Domain Constraint |
|||||||||||||||||