Professional Documents
Culture Documents
An Agent-Mediated Collaborative Negotiation in E-Commerce: A Case Study in Travel Industry
An Agent-Mediated Collaborative Negotiation in E-Commerce: A Case Study in Travel Industry
Faculty of Information Sciences and Engineering, The University of Canberra, ACT, Australia
{bala.balachandran, masoud.mohammedian, ebrahim.al-hashel}@canberra.edu.au
Abstract
1. Introduction
During the last decade, there has been a growth of research activities exploring the potential of
automating negotiation for E-Commerce. Lomuscio et al provide an insightful overview of the
existing research efforts on negotiation and describe a classification scheme for negotiation in
electronic commerce [15]. Beam and Segev present a survey on automated negotiations [2].
Merlat discusses the importance of multi-issue negotiation for e-commerce and demonstrates a
decentralized constraint satisfaction algorithm (DCSP) as a means of multi-issue negotiation
[16]. He argues that it rarely the case where a single issue characterises a product or service.
Sheng [7] presents work that offers customers online business-to-customer bargaining service.
Morris et al [21] present a prototype system called ‘Sardine’ which demonstrates seller
strategies in auction marketplace. Implementation issues of agents capable of dynamic
negotiations were discussed by Paprzycki et al [18].
2
Travel industry is a good candidate for agent-mediated e-commerce, due to the inherent
characteristics of the travel domain. For example, hotel reservation activity is well suited for
automatic negotiation. In this paper, our aim is to develop a multi-agent system capable of
handling the travel constraints that tie together the services such as hotel booking, flight
booking and car rental, for example, time and budget constraints. We first show how to
transform the travel booking problem into a multi-agent negotiation problem. Then we present
our negotiation model in terms of the negotiation protocols, agent communication and
negotiation strategies. We also describe details of a prototype system that is being currently
developed using the JADE [12, 8] platform. Finally, we present our concluding remarks and
discuss possible future work.
2. The Travel Agency Problem
The travel agency problem has several characteristics. It is a complex domain because the
travel industry is expanding rapidly and there are too many resources to connect and interact.
The travel agency application has been used as a case study by many researchers in the area of
e-commerce [3, 9, 10]. Currently customers, looking for holiday packages, depend on their
travel agent to show them what is available according to their interests and budget, or visit
specific content providers on the Internet such as airlines, hotel accommodators and car rental
agencies. Automating these tasks by a computer system requires a complex software system
involving multi-agents which are capable of solving the problem by communicating and
cooperating within themselves. Typically such automated travel agency systems aim to find a
bundle of services for a customer comprising travel tickets, hotel accommodation and car
rental. NDumu, Collis and Nwana discuss the challenges for the creators of a personal travel
assistant and propose the use of collaborative software agents as a potential solution [17]. The
key challenges involved in providing integrated personalised travel services include:
• The information discovery problem
• The communication problem
• The ontology problem
• The reasoning and co-ordination problem
• The negotiation problem
3. An AgentOriented Solution to the Travel Agency Problem
A multi-agent system can be defined as a collection of autonomous agents that interact with
their activities in order to solve a problem that could not be solved by an individual agent [22].
In a multi-agent system, negotiation is the process by which a group of agents communicate
with one another to try to resolve conflicts and reach agreement [19]. Such automatic
negotiation significantly influences electronic business transactions [2]
Figure 1 illustrates our multiservice negotiation model to solve the travel agency problem. In
this model, negotiations are performed through a mediator agent that acts as a unique
intermediary between the customer agent and the service provider agents. The main purpose of
the personal agent is to find a bundle of services matching the customer’s requirements and
3
secondly to adapt the bundle in the case of service failure. The negotiation model we use is a
bargaining game which is a process consisting of a number of offer/reply cycles, as part of an
iterative improvement cycle between the mediator and participating agents. The negotiation
protocol we use here is an extension of the Contract-Net Protocol [20] which adds rounds of
counter proposals from the mediator agent and the other service providers.
Customer Agent
Mediator Agent
The mediator agent requests a set of services to a set of service providers (the participants).
Each participant answers either by providing a solution or by rejecting it. If the requests have
been responded successfully by all the participants, then the mediator agent evaluates the
package solution in terms of some ranking criteria. If the solution is not acceptable, the
personal agent starts the renegotiation process with a set of modified requests. This cycle is
done until a satisfactory solution is found or a predefined number of rounds is reached.
4. System Infrastructure
The architecture of our multi-agent travel booking application is made up of the following five
agents: Customer Agent, Mediator Agent, Hotel Booking Agent, Flight Booking Agent, and Car
Rental Agent. The behaviours of these agents are described below.
Generally negotiations are characterised by their setting: bilateral, one-to-many and many-to-
many. Many kinds of negotiation models exist, such as auctions, the contract-net protocol, and
multi-issue negotiation. There are three key issues involved in automatic negotiation: the
negotiation protocol, the negotiation strategy and the ontology. The negotiation protocol
defines the messages that agents can send each other and is characterised by successive
messages exchanged between an initiator and participants as in the contract net protocol
framework [5, 6]. It is necessarily open and public. The negotiation strategy, on the other hand,
is the way in which a party acts within the protocol specification to get the best outcome of the
negotiation. It is therefore necessarily private. The ontology is a way for categorising domain
objects so that they are semantically meaningful to a software agent [9].
In our model, each of the service provider agents follows a certain price strategy for hotel room,
rental car and flight offers, when re-negotiation of prices with the Mediator Agent becomes
necessary. The price strategies are thereby the reduction of the offer price. Some example
strategies are as follows:
• After a certain number of iterations by a certain percentage (e.g. after 2 iterations by
20%);
• After a certain number of iterations by a fixed amount (e.g. after 3 iterations by 100
Dollars) or
• After each iteration by a certain percentage (e.g. in the first two iterations by 10%).
5
The Mediator Agent has the broker role. In this role it forwards the requests from the Customer
Agent to the appropriate service provider agent and returns the results back to the Customer
Agent. It thereby acts as a mediator that understands the interaction protocol the Customer
Agent is speaking and translates it into an interaction protocol that the Service Provider Agent
understands.
Successful booking without iterations: In this scenario the booking is successful. This means
there are flight-, car- and hotel-room offers for the given period and a travel package that does
not exceed the given maximum price can be built.
Successful iterated booking with iterations: The last scenario covers a successful booking
process after a number of iterations. The Mediator Agent initiates a negotiation process with the
booking agents in order reach a deal that is suitable for the customer. In this case the booking
agents reduce the price of their offers according to their own strategy.
As shown in Figure 3, this means that the all round price is between 0 and the maximum value
for the price. If more than one combination of proposals can fulfill this requirement, the
Mediator Agent tries to maximize the value of the utility function for selection of one of them.
In other words always the cheapest travel package will be selected.
Using Gaia methodology, analysis and design models have been created for the travel industry
support system [1, 23]. The system implementation is being carried out in JADE environment
using the Gaia models. JADE has been selected because of its open source, ease of use and
compliant with the FIPA specifications [6]. We have implemented partially the travel industry
support system in JADE 3.5 platform and our implementation process is going on.
Customer
User Interface: The customer applies the UI for accessing the travel support system such as
inserting the search criteria, choosing and booking the appropriate travel package, as well as
receiving the search and booking results, the system messages and confirmations.
8
Database: It contains travel information including flights, accommodation and cars, as well the
customer details.
Agents: The system has five types of agents to approach the goal for finding and booking the
appropriate travel packages as described in section 4. Mediator agent is responsible for finding
the travel package using the given search criteria by the customer and incorporates with the
other agents to find out the booking availability and book the travel package. Flight, Hotel and
Car agents interact with the web services to retrieve the information of availability for booking
and to create booking. These agents are activated when Mediator agent requests the action.
Agent communication is probably the most fundamental feature of JADE and is implemented
accordance with the FIPA specifications. The JADE communication paradigm is based on
asynchronous message passing. Each agent is equipped with an incoming message box and
message polling can be blocking or non-blocking. FIPA specifies a set of standard interaction
protocols such as FIPA-request, FIPA-query, and so on. A message in JADE is implemented as
an object of the jade.lang.acl.ACLMessage object and then calling the send () method of the
Agent class.
7. Discussion
8. Conclusions
In this paper, we presented some of the problems inherent to automating integrated travel users
through the use of software agents. We presented a collaborative agent-based approach that
makes personal travel assistant development possible. We described an agent-mediated
coordination and negotiation to solve the problem. The customer’s requirements are met
through a series of negotiations between the mediator agent and the service providers. Each
agent is capable of using its own strategy to handle the requests. This work has demonstrated
that agent technology is a very promising tool to start address real business problems.
Even though we have implemented some parts of the multi-agent travel booking application,
we still need to fully implement the designed features for travel booking in our future work.
9
9. References