Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 10

An Agent-Mediated Collaborative Negotiation in E-Commerce:

A Case Study in Travel Industry

Balachandran, B.M, Mohammedian, M and Ebrahim, A.

Faculty of Information Sciences and Engineering, The University of Canberra, ACT, Australia
{bala.balachandran, masoud.mohammedian, ebrahim.al-hashel}@canberra.edu.au

Abstract

This paper examines an agent-mediated collaborative negotiation framework for e-commerce.


This paper specifically focuses on travel industry. Individual customers and travel agencies will
both be able to benefit from the usage of the system, since its negotiation strategies will not
depend on price only, but several attributes, such as the number of rooms, the required
facilities, and so on. The key issues in automating negotiation are the negotiation protocol, the
negotiation object, and the negotiation strategy. Our paper addresses these issues by discussing
the development of an agent-mediated e-commerce system using the FIPA compatible agent
development framework, the JADE platform. Finally we provide our conclusions and discuss
possible future work.

Keywords: Multi-agent systems, Intelligent Agent, Automated Negotiation,


Contract-Net Protocol, JADE, FIPA, E-Commerce, Personal Travel Assistant

1. Introduction

Agent-mediated electronic commerce (AMEC) is rapidly emerging as a new paradigm to


develop distributed and intelligent e-commerce systems. Agent-mediated e-commerce systems
are built upon the foundations of agent technology with a strong emphasis on the automatic
negotiation [4, 11, 13, 14, 17]. We define negotiation in e-commerce as the process by which
two or more parties multilaterally bargain resources for mutual intended gain. Automated
negotiation takes place when the negotiating parties are represented by software agents [22].

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 Agent­Oriented 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

Service Service Service


Provider#1 Provider#2 Provider#3

Figure 1. Multiservice negotiation via a mediator

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.

4.1 Customer Agent (CA)


The Customer Agent provides the user with a graphical user interface that allows the customer
to enter his/her travel requirements. The Customer Agent then deals with the Mediator Agent in
an attempt to obtain a suitable travel package on behalf of the customer.
4

4.2 Mediator Agent (MA)


The Mediator Agent has basically the role of travel booking. Having the offers from the
participants, it tries to create an appropriate travel package that meets the user defined
maximum price, thereby maximising the utility of the travel package concerning the total price.
If the utility is zero it is also able to re-negotiate the prices with the participating agents. This is
done in a number of user defined iterations until a travel package is found so that
total price does not exceed the user defined maximum. If an appropriate travel package has
been found the Mediator Agent books and pays for the rental car, the hotel room and the flights
for the agreed offers.

4.3 Hotel Booking Agent (HBA)


The Hotel Booking Agent proposes hotel room offers to the Mediator Agent. It is also able to
place reservations, if the Mediator Agent accepts a proposal. If a reservation has successfully
placed, it also returns the reservation details.

4.4 Flight Booking Agent (FBA)


The Flight Booking Agent proposes flight offers to the Mediator Agent. It is also able to place
reservations, if the Mediator Agent accepts a proposal. If a reservation has successfully placed,
it also returns the reservation details.

4.5 Car Rental Agent (CRA)


The Car Booking Agent proposes car rental offers to the Mediator Agent. It is also able to place
reservations, if the Mediator Agent accepts a proposal. If a reservation has successfully placed,
it also returns the reservation details.

5. The Negotiation Process

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.

We consider four different scenarios in the negotiation process:

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.

Unsuccessful booking without iterations: This scenario shows a non-succeeding booking.


The scenario can be divided into two cases. In the first case the booking fails because no offers
(hotel, car or flight) are available for the trips target period. In the second case one or more
offers are available; however no travel package can be built for the given maximum price.

Unsuccessful iterated booking with iterations: This scenario shows a non-succeeding


booking process that includes a number of iterations. During the iterations the Service Provider
Agents can reduce the price of their offers. On the other hand the Mediator Agent tries to
maximize the value of the utility function discussed below. The booking process fails if the
Mediator Agent is not able to build a travel package that does not exceed the given maximum
price, or if no offers (hotel, car or flight) are available for the required period.

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.

5.1 Agent Communication


The agents described for the proposed multi-agent travel booking system use the FIPA Iterated
Contract Net Interaction Protocol for the communication and negotiation [5]. Figure 2
illustrates the communication between the Customer Agent, the Mediator Agent and the
TravelBookingAgent via the FIPA Iterated Contract Net Interaction Protocol. The protocol
starts with a Call- For Proposal message. The message contains either a CarRentalRequest, a
FlightTicketRequest or a HotelRoomRequest depending on the roles offered by the
TravelBookingAgent, The request and offer types send between the agents are defined in a
travel booking ontology. If the TravelBookingAgent can propose an offer, it sends either a
CarRentalOffer, a FlightTicketOffer or a HotelRoomOffer to the MediatorAgent. The
MediatorAgent then evaluate all received offers. If the price of a travel package is lower or
equal than the budget, the MediatorAgent accepts the offers of the appropriate travel booking
agents. If all round prices of all possible travel packages are greater than the budget, the
Mediator initialises further negotiation iterations by sending CallForProposal messages to all
travel booking agents.
6

Customer Agent Mediator Agent Travel Booking Agent

Figure 2: Communication between the agents during the travel booking

5.2 Decision Making Process


During the iterated negotiation the Mediator Agent tries to build a travel package whose value
of the all round price utility is greater than 0. See Figure 3 below.

Figure 3. Price Utility Function


7

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.

6. Developing Multi-Agent Systems with JADE

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.

The major components of our prototype system are illustrated in Figure 4.

Customer

MAS for Travel


User Interface
Industry Support

Database Travel Agent

Flight Agent Hotel Agent Car Agent

Flight Web Services Hotel Web Services Car Web Services

Figure 4 The components of the prototype travel booking system

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

Developing a multi-agent e-commerce system involves many challenges, including agent


coordination, agent negotiation, agent communication, system infrastructure, intelligence of
agents and system implementation. In this paper we mainly focus on the agent coordination,
agent negotiation and system infrastructure.

Recently we have seen an explosion of interest in ontology as a mechanism to represent


knowledge about domain objects so that they are semantically meaningful to a software agent.
The “marriage” between agents and ontologies seem to be kind of technology that can
significantly change the face of e-commerce. For coordination and corporation of the agents
within the system, a global ontology will be developed to model the travel agency activities. We
will be reporting the results in our subsequent publications.

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

1. Balachandran, M.B. and Enkhsaikhan, M. (2006). Development of a Multi-agent


system for Travel Industry Support (CIMCA'2006 and IAWTIC'2006), Sydney,
Australia
2. Beam C., Segev A., Automated Negotiations: A Survey of the State of the Art,
Wirtschaftsinformatik, Vol. 39, No. 3, (1997)
3. Nwana, H.S, et al. (1998). Agent-Mediated Electronic Commerce: Issues, Challenges
and Some Viewpoints, Autonomous Agents’98, MN, USA, 1998.
4. Fasli, M. (2007). “Agent Technology for eCommerce”, John Wiley and Sons, UK.
5. FIPA: The Foundation for Intelligent Physical Agents. FIPA Iterated Contract Net
Interaction Protocol.
See http://www.fipa.org/specs/fipa00030/.
6. FIPA: The Foundation for Intelligent Physical Agents. FIPA Request Interaction
Protocol Specification.
See http://www.fipa.org/specs/fipa00026/.
7. Sheng, Y.P. (2004) A dynamic adaptive bargaining algorithm for intelligent software
agents in electronic commerce, International Journal of Computers, Systems and
Signals, Vol. 5, No. 1, 2004.
8. Ganzha M, Paprzycki M, Pirvanescu A, Badica C and Abraham A (2001) JADE based
Multi-agent ECommerce Environment: Initial Implementation. Retrieved on 30 July
2006 from http://www.ganzha.euh-e.edu.pl/agents/index.html
9. Gavinecki M, Gordon M, Nguyen NT, Paprzycki M, and Vetulani Z (2005)
Ontologically Demarcated Resources in an Agent Based Travel Support System.
Retrieved on June 20 from http://agentlab.swps.edu.pl/agent_papers/AKI_2005.pdf
10. Gordon M and Paprzycki M (2005) Designing Agent Based Travel Support System.
Retrieved on June 2 from http://agentlab.swps.edu.pl/ISPDC_2005.pdf.
11. Guttman, R, Moukas, A and Maes, P. (1998). Agent-Mediated Electronic Commerce:
A Survey, Knowledge Engineering Review, 13(2):147-159.
12. JADE (2006) Java Agent Development Environment. See http://jade.tilab.com/.
13. R. J. Lin, S-C. T. Cho. (2004). Mediating a Bilateral Multi-Issue Negotiation”,
Electronic Commerce Research and Applications 3(2), 2004. Proc. of CEC 2003.
14. Liu, K. and Feng, Y. (2007). E-Commerce Oriented Automated negotiation Based on
FIPA Interaction Protocol Specification, Proceedings of the Sixth International
Conference on machine Learning and Cybernetics, Hong Kong, 19-22 August 2007.
15. Lomuscio, A.R., Wooldridge, M, and Jennings, N.R. (2003). A Classification Scheme
for Negotiation in Electronic Commerce, Group Decision and Negotiation, Kluwer
Academic Publishers, 12:31-56.
16. Merlat, W. (1999). An Agent-Based Multiservice Negotiation for ECommerce, BT
technical Journal, Vol 17, No 4, pp:168-175.
17. D T Ndumu, J C Collis and H S Nwana (1998) Towards desktop personal travel
agents, BT Technology J Vol 16 No 3 July 1998.
18. Paprzycki M. et al (2004) Implementing Agents Capable of Dynamic Negotiations, in
D. Petcu et. al. (eds) Proceedings of SYNASC04: Symbolic and Numeric Algorithms
for Scientific Computing, Mirton Press, Timisoara, Romania, pp. 369-380.
19. Rosenschein, J. and Zlotkin, G. (1994). Rules of Encounter: Designing Conventions
for Automated Negotiation among Computers, MIT Press.
10

20. Sandholm, T. (1993). An Implementation of the Contract Net Protocol Based on


Marginal Cost Calculations, Proceedings of the Eleventh National Conference on
Artificial Intelligence (AAAI’93), Washington, D.C.
21. Morris, J. Ree, P. and Maes, P. (2000). Sardine: Dynamic Seller Strategies in Auction
Marketplace, Proceedings of ACM Conference on E-Commerce (EC’2000), MN,
USA.
22. Wooldridge M (2009) Introduction to Multiagent Systems, 2nd Edition, John Wiley
and Sons, UK.
23. Wooldridge, M, Jennings, N.R and Kinny, D. The Gaia Methodology for Agent-
Oriented Analysis and Design, Autonomous Agents and Multi-Agent Systems, Vol. 3,
Issue 3, September 2000.

You might also like