HereToThere: Market-Based Mechanisms for Allocating by Dennis Gregorovic

advertisement
HereToThere: Market-Based Mechanisms for Allocating
Agents to Location-Based Tasks
by
Dennis Gregorovic
Submitted to the Department of Electrical Engineering and Computer Science
in Partial Fulfillment of the Requirements for the Degrees of
Bachelor of Science in Computer Science and Engineering
and Master of Engineering in Electrical Engineering and Computer Science
at the Massachusetts Institute of Technology
May 22, 2000
) Copyright 2000 Massachusetts Institute of Technology
Author
Department of Electric&
Engineering and Computer Science
May 19, 2000
Certified
by
v
iSu
Pattie Maes
rvisor
Accepted
by
Ar hur C. Smith
Chairman, Department Committee on Graduate Theses
ENG
MASSACHUSETTS INSTITUTE
OF TECHNOLOGY
JUL 2 7 2000
LIBRARIES
HereToThere: Market-Based Mechanisms for Allocating
Agents to Location-Based Tasks
by
Dennis Gregorovic
Submitted to the Department of Electrical Engineering and Computer Science
in Partial Fulfillment of the Requirements for the Degrees of
Bachelor of Science in Computer Science and Engineering
and Master of Engineering in Electrical Engineering and Computer Science
at the Massachusetts Institute of Technology
May 22, 2000
Abstract
This thesis proposes a new approach to the vehicle routing problem. The vehicle routing
problem is defined as deciding how to allocate a fleet of delivery vehicles to a number of
parcels needing delivery in order to optimize some goal and subject to constraints.
Current solutions tend to be centralized and narrow in focus. The solution proposed here
is the use of market-based mechanisms that allow vehicles to bid for parcels. The
specific method presented in this thesis is a sealed-bid competitive auction where
vehicles bid for parcels along a set of parameters such as cost and delivery speed and the
parcels choose the winning vehicle. Each parcel and each vehicle has an agent that
makes bidding decisions based on individual utility functions. Benefits of this system
include efficiency, scalability, and feasibility in a wide range of certain situations. An
interactive simulator was written in Java that has supported these conclusions.
3
4
Table of Contents
1
2
Introduction
11
1.1 The Problem ..................................................................................................
11
1.2 Current Approaches.......................................................................................
11
1.2.1
Taxis..................................................................................................
11
1.2.2
Courier Services ................................................................................
13
1.2.3
Packet Routing ..................................................................................
14
1.3 New Approach................................................................................................
15
1.4 Roadm ap to the thesis.....................................................................................
17
Related Work
19
2.1 M arkets for Resource Allocation ..................................................................
19
Case Studies .......................................................................................
20
2.2 Vehicle Routing Problem ..............................................................................
22
2.1.1
3
2.2.1
Routing..............................................................................................
22
2.2.2
Allocation.........................................................................................
23
The HereToThere Simulator
25
3.1 Important A spects..........................................................................................
26
3.1.1
Tim ing ................................................................................................
26
3.1.2
Order of Operations............................................................................
26
3.1.3
Bidding ..............................................................................................
26
3.1.4
M ap.....................................................................................................
27
3.1.5
Vehicles..............................................................................................
27
5
3.1.6
4
5
6
Parcels ..............................................................................................
30
3.2 U ser Interface .................................................................................................
30
3.2.1
U ser M ode..........................................................................................
32
3.2.2
Batch M ode........................................................................................
32
3.3 A rchitecture ...................................................................................................
33
Experiments & Initial Results
35
4.1 Evaluating D ifferent Strategies......................................................................
36
4.2 Scalability.....................................................................................................
43
4.3 Feasibility .......................................................................................................
43
Future Work
47
5.1 Realistic Environm ents..................................................................................
47
5.2 Timing ...............................................................................................................
47
5.3 Im proved A lgorithm s...................................................................................
48
5.4 Reputation .....................................................................................................
49
5.5 U ser Interface ................................................................................................
49
5.6 Subcontracting...............................................................................................
50
5.7 M ultiple Bids Per V ehicle............................................................................
51
Conclusion
53
Appendix A - Important Simulator Classes
55
References
59
6
List of Figures
Figure 1 Bidding process with the use of a gateway...................................................
16
Figure 2 H ereToThere application..............................................................................
25
Figure 3 Sample HereToThere Simulator Screenshots..............................................
31
Figure 4 Sample input file for batch mode...................................................................
33
Figure 5 Parcel Sensitivity Levels..............................................................................
37
Figure 6 Effect of Price Sensitivity on Delivery Cost and Delivery Time .................
38
Figure 7 Effect of Bidding Strategy on Delivery Time and Distance Traveled..........40
Figure 8 Effect of Parcel Intelligence on Global Optimization ..................................
42
Figure 9 Delivery Times for Different Bidding Radii.................................................
45
7
8
Acknowledgements
My biggest thanks go to the Software Agents group. I have learned so much this past
year from hanging out with everyone in the group and I have truly enjoyed my time there.
I wish it didn't have to end so soon, but best of luck to everyone.
I have a ton of gratitude for Pattie Maes who took me into the Software Agents group.
She has been a pleasure to work with and a great thesis supervisor.
TK4D to Bob Broderick and Ben Krinsky for being great fraternity brothers in addition to
awesome classmates.
Finally, I would also like to recognize my mother who helped me get into MIT and has
been helping me keep on track ever since.
9
10
1
Introduction
1.1 The Problem
The problem being looked at in this thesis revolves around a situation in which a number
of parcels appear at different locations randomly over time, and these parcels need to be
delivered to different destination points. There is a fleet of vehicles that performs the
delivery of these parcels. Given this situation, the problem at hand is deciding which
vehicles should be assigned to deliver each parcel, and doing so in a way that maximizes
the utility of both the parcels and vehicles.
1.2 Current Approaches
The parcel delivery problem is quite common in today's society in a number of various
forms. One example is the use of taxis in large cities to deliver people. Courier services
like the Post Office, Federal Express, and UPS are another. Even the problem of packets
being routed through the Internet can be viewed as an instance of this problem.
Specific circumstances of each of these examples have led to different solutions. Here is
an overview of them:
1.2.1
Taxis
The taxi industry has been around for a long time and, especially in the United States,
tends to be very fragmented. It is not only fragmented in terms of companies but also
11
with respect to business plans. Some taxi companies own and operate all of their vehicles
and use drivers as salary employees. Other companies own the vehicles but lease them to
drivers for a fixed cost per day and then the drivers keep all of the revenue they bring in.
In other cases the taxi companies don't own any vehicles but act purely as a fee-based
dispatching service. Finally, some taxi drivers own their own taxi and simply ride around
looking for fares without the use of a dispatch system at all. One effect of this chaos in
the taxi industry is that it has been very slow to innovate or adopt new technology. Most
taxi services still operate through a central radio-based, company-specific dispatch
system. The primary problem with this type of system is that a dispatcher has minimal
current information about the fleet of taxis - a dispatcher only has a vague idea where
each taxi is, does not know which drivers are on break, may not know about local traffic
conditions, etc. In order to decide which taxi to send to a particular job, the dispatcher
must go through a slow dialog process with a number of drivers and may ignore
important considerations like traffic in order to make the decision quicker.
That said, there are some strides being made in the taxi industry. Sigtec and Digital
Dispatch are the two leading companies integrating technology with fleet management
and vehicle dispatch for the taxi industries [5][18]. In 1996, Sigtec used Singapore as a
test bed for the world's first automated taxi system.
This system integrated GPS
technology for locating taxis with a mobile data network and a computerized dispatch
service.
With this system, once a passenger's pickup location is known the nearest
available taxi can be dispatched automatically.
It is estimated that this system has
reduced the average time taken to dispatch a taxi from five minutes to thirty seconds [8].
12
Since the initial launch in Singapore, Sigtec has launched this system in Sydney and
China. Digital Dispatch has developed similar systems and has sold them to taxi
companies in the United States and Canada. Digital Dispatch uses a slightly smarter
dispatching algorithm that weighs in vehicle type and vehicle capabilities (e.g. van vs.
sedan) in addition to distance from parcel [6].
The bottom line is that in taxi industry the integration of technology is happening,
although at a rather slow pace. However, the fundamental approach has not changed.
The process remains that a passenger requesting a taxi contacts a specific taxi company
with his current location, and that taxi company sends the closest available and suitable
taxi to pick up the passenger.
1.2.2
Courier Services
At first glance, courier services like the United States Post Office, FedEx, DHL, and UPS
appear to be in a much different business than your local taxi company, but in fact, they
are all primarily delivery service providers. It's just that courier services deliver a lot
more and often much farther. FedEx alone uses more than 37,000 vans and trucks and
about 550 planes to deliver 3 million packages daily to 211 countries [8]. Given the
enormous size of the delivery problem that a company like FedEx has, it is obvious that a
one parcel per vehicle end-to-end solution isn't going to work. What FedEx and the other
companies have adopted is the hub and spoke model, which is a multi-tier solution where
parcels are aggregated at the local level, transported in bulk, and then delivered to their
final destinations. One benefit of a solution like this is the use of efficient transportation
vehicles for each level, such as airplanes for long distance bulk transport and small trucks
13
for local pickup and drop-off. This model is different from the taxi industry, but within
tiers of the hub and spoke they face similar issues. The solutions used by courier services
are commonly pre-determined allocation plans. For example, FedEx often assigns local
delivery trucks to specific zones and then each truck is responsible for all pickups and
drop-offs in that zone.
Similarly, Post Office deliverymen and delivery trucks have
assigned routes that they follow every day.
Because the courier service industry is dominated by a small number of companies and is
highly competitive, it has seen much more of a technological push. FedEx alone spent
more than $1
billion in 1997 on IT investments [15]. The result of this has been
extremely tight integration of technology with the delivery process. This includes parcel
tracking over the web, location-awareness of all delivery vehicles, hardware and software
solutions for companies to automate large number of delivery requests, electronic
signature capture, and more. However, technology has not fundamentally altered the
courier services industry, it has simply made its existing infrastructure more efficient.
1.2.3
Packet Routing
The Internet, while an entirely different entity than either taxis or courier services, also
faces the problem of how to deliver a number of dynamically arriving parcels. When
data is sent across the Internet it is first broken down into small chunks of data called
packets. These packets are then sent individually and the original data is reconstructed
from these packets at the destination computer. Rarely are packets sent directly from the
source computer to the destination computer.
Instead, packets start at the source
computer and "hop" from computer to computer until they reach their destination. These
14
computers in the middle are called routers and they decide which route each parcel
should take to reach its destination. Therefore, formulated as a delivery problem, the
parcels are packets of data and routers are the vehicles.
Each router is connected to a small number of other routers. When a router receives a
packet, it must decide among the routers it is connect to which one it should use to send
the packet onto. The goal of this decision is to minimize the number of hops the packet
must make to reach its destination. To simplify a bit, the way that routers decide where
to send packets is by keeping a table of every IP address and associating with each
address the router with the lowest hop count. When a packet arrives, the router simply
looks up the IP address of the packet's destination computer and sends the packet to the
router associated with that address in the table [3][16]. The state of the Internet changes
frequently as connections are lost or made and machines come up or go down. So, in
addition to routing packets, routers also communicate with each other to ensure that their
tables are up to date.
1.3 New Approach
The approach that I propose is the use of market-based system [4] where vehicles bid for
parcels and the bidding process determines the allocation of parcels to vehicles.
Specifically, this system works as follows. When a new parcel arrives and needs to be
delivered it will send out a Request For Bid (RFB). If the parcel is able to communicate
directly to the vehicles then the RFB is sent straight to them. Otherwise, a gateway is
used to take the RFB and forward it to the vehicles. As soon as each vehicle receives an
15
RFB it composes a BID. A BID can contain any set of parameters depending on the
scenario. Likely parameters include delivery time, cost of delivery, vehicle information,
etc. The vehicles then send these BIDs back to the parcel (or back to the gateway which
forwards them to the parcel).
which vehicle it prefers.
Once the parcel has received all of its BIDs it decides
It sends a positive acknowledgement to that vehicle and
negative acknowledgements to the rest. At this point the winning vehicle is assigned to
that parcel and the allocation process is over.
Vehicle 2
RFB
ID_1
RFB3
RFB
Parcel
BID_2 F-Vehicle 2
-qGateway
BID_2
BID 2BI3
BID_3
_
RFB
Vehicle 3
Figure
1 Bidding process with the use of a gateway
This approach is different than the taxi and courier service examples discussed before in
that a decentralized market is being used to dynamically allocate vehicles instead of a
using a centralized dispatcher or having a priori assignments. In a sense routers do use a
16
market-like mechanism in that routers "bid" with their hop-count, and the lowest bid
wins. This new approach is also different than the other others described in that it is the
parcel that decides which vehicle to use and not the other way around.
1.4 Roadmap to the thesis
Chapter 2 presents work that is related to this thesis. The theory behind this thesis draws
on the literature in the Dynamic Vehicle Routing problem and the use of markets for
resource allocation. The related works are divided up accordingly.
Chapter 3 will discuss the HereToThere simulation.
This simulation represents a
majority of the time spent researching this thesis. It was critical for both evaluation
purposes and for gaining insight into the effects of a market-based system in action.
Chapter 4 presents several experiments conducted using the HereToThere simulator
along with some initial results.
Chapter 5 contains discussion on future work and implementation issues.
Finally, Chapter 6 will present concluding remarks.
17
18
2 Related Work
Two distinct bodies of research directly relate to the focus of this thesis. The first is the
use of markets for resource allocation, which has been a popular topic in both economics
and software agent research and has been used to attack problems as diverse as
distributed computing and pollution control.
The second body of relevant research
focuses on developing solutions to the problem of dynamic vehicle routing, a variation of
the deterministic vehicle routing problem, which has been studied extensively in
operations research.
2.1 Markets for Resource Allocation
The problem of resource allocation is deciding how to allocate a set of tasks among a
limited amount of resources in such a way as to maximize the efficiency of the system. A
common example is distributed computing where programs are split up among a set of
processors with the goal of minimizing the time necessary to run all of the programs.
Traditional solutions have used centralized controller such as a task scheduler, which is a
master process in charge of assigning the other processes to computers.
Recent research has explored the use of markets as an alternative solution. Any system
where buyers and sellers come together to trade goods can be considered a market, and
obviously there are many examples of markets in our world today such as the New York
Stock Exchange, flea markets, eBay, and more. There are many benefits to a market-
19
based system, but often the primary reason for using one is that it allows for control of
complex and dynamic situations through simple means. [1]
2.1.1
Case Studies
Enterprise
Enterprise is a system developed at MIT in the mid 80's that uses markets to allocate
processing tasks among a network of computers. [12] Enterprise and HereToThere share
a similar bidding mechanism. In Enterprise, when a processing task is created it sends
out a Request For Bid (RFB) to all of the computers on the network. Each idle computer
returns a Bid estimating how long it will take that computer to finish the task. Enterprise
does differ from HereToThere in that as soon as a processing task receives a Bid it
immediately accepts it. Then, as it continues to receive more bids it looks to see if any
are "considerably better" and, if so, cancel the task where it's currently running and start
it on the new computer.
This type of a cancellation system would not work in
HereToThere because the effective cost of "task switching" is much higher due to the
location-based nature of the problem. In other words, in Enterprise a computer's ability
to service a task depends on that computer's hardware and whether it is currently idle or
busy. In HereToThere, a vehicle's ability to deliver a parcel depends on that vehicle's
capabilities and current delivery status, akin to Enterprise, but it also depends the location
of the vehicle, which constantly changes as it delivers.
Another unique aspect of Enterprise is a priority system where certain processing tasks
are more important than others. In HereToThere all parcels and all vehicles are equal in
20
the eyes of the market. However, there are still ways to implement a priority system in
HereToThere that will be discussed in the future work section.
Pollution Permits
The trade of sulfur dioxide permits as dictated by the 1990 Clean Air Act is probably the
most novel example of market use for resource allocation. At the beginning of each year
every regulated facility receives a certain number of "pollution permits." During the year
these facilities can buy and sell the permits among themselves and at the end of the year
each facility must own enough permits to cover the amount of pollution it produced
during the year. The system was designed to help reduce to cost of pollution control for
the facilities. The logic is that the facilities that can efficiently reduce emission will do so
and sell their extra permits while the other facilities will buy those permits to cover their
extra emissions.
The designers of the market mechanisms for pollution permit trade faced a much
different set of needs than in the Enterprise system. For one thing, pollution permit trade
has both buyers and sellers whereas Enterprise was only interested in buyers. In addition,
for pollution permit trade it was desirable to allow bundled trades where combinations of
different permit types are bought or sold together. Another difference is that the volume
of trade of pollution permits is much thinner. Thinner volume usually makes it more
difficult to match up buyers and sellers and was a problem that needed to be addressed.
The solution that the designers came up with is a double-sided combinatorial call auction.
In this auction, any facility interested in buying or selling permits must enter their bids by
21
a specific date. Bids can be conditional on other bids, allowing for bundling. At the
specified date, an algorithm is run on all of the bids to determine prices for all of the
permits with the goal of maximizing the total market surplus in an unbiased manner
towards either buyers or sellers. [11]
2.2 Vehicle Routing Problem
The common definition of the vehicle routing problem (VRP) is, given a set of customer
locations and a set of vehicles, deciding how to visit each of the locations [1].
The
objective is to minimize some function (e.g. total distance traveled) and is usually subject
to some constraints (e.g. the capacity of the vehicles). Although the name implies that
vehicle routing is the sole focus of the problem, there are actually two key aspects routing and allocation. The routing problem is deciding in what order a vehicle should
visit customer locations while the allocation problem is deciding which vehicle should
visit each specific location.
2.2.1
Routing
Vehicle routing problems can divided along the lines of static vs. dynamic. In a static
VRP the list of customer locations is known a head of time and the problem can be
solved deterministically.
This is akin to the traveling salesman problem and has been
extensively covered in the research literature [8].
A dynamic VRP deals with situations where customer locations are not know in advance
but appear over time. Because of the combinatorial complexity of routing decisions, it is
22
usually infeasible to use an optimal algorithm in practice where routing decisions must be
made quickly. Instead, a wide range of heuristics has been developed that have shown to
be near optimal [1]. One of the key benefits of using a market for vehicle allocation is
that each vehicle can use whatever routing algorithm it likes and it makes no difference to
the market itself.
2.2.2
Allocation
Allocation on the other hand is extremely relevant since that is the responsibility of the
market-based mechanisms in HereToThere. Virtually all the research of allocation in the
VRP has taken the same form. When a new parcel arrives, the central controller tests
each vehicle with the new parcel to see which assignment maximizes the overall
objective function.
The best vehicle then is assigned to that parcel. [19] This is
fundamentally different from the approach taken in this thesis in that the thesis does not
assume an overall objective function nor does it require a central coordinator to perform
the allocation.
23
24
3 The HereToThere Simulator
To test the ideas of this thesis both quantitatively and qualitatively I wrote a simulator in
Java called HereToThere that is shown in Figure 2. HereToThere sets up and executes
the basic framework of vehicles bidding for and delivering parcels as they randomly
appear in a uniform Euclidean space. In this section I will first describe the different
aspects and workings of the simulator. Then I will present an overview of the user
interfaces. Finally, I will discuss the architecture of the program.
Figure 2 HereToThere application
25
3.1 Important Aspects
3.1.1
Timing
Timing in the simulator is done entirely via discrete clock ticks. Using the system clock
to do timing is unreliable because it can vary widely depending on the hardware,
operating system, and other programs running. By using clock ticks these concerns are
eliminated. The only drawback is that the performance of the code in the simulator itself
is no longer reflected in the timing. However, this is acceptable since the code for most
of the simulations runs on the order of milliseconds (although the user interface can be
considerably slower), which would be a trivial amount of time in most real-world
situations. Scalability concerns are addressed in the evaluation section.
3.1.2
Order of Operations
Everything in the simulator is run in a serialized fashion. At every tick of the clock the
following events occur in order:
1) All existing parcels that have not found a vehicle yet initiate an auction.
2) Any new parcel looks for a vehicle by initiating an auction.
3) Every vehicle that is picking up or dropping of a parcel moves one unit towards its
destination.
3.1.3
Bidding
For simplicity's sake, bidding is done by one parcel at a time. When a parcel is looking
to be delivered, it sends a request for bids (RFB) to every vehicle it can communicate
with, which are all vehicles by default. However, there is an option to enable a Limited
26
Bidding Radius of arbitrary size. If the Limited Bidding Radius is enabled then each
parcel can only send an RFB to each vehicle that is within that radius of the parcel.
Every vehicle that receives an RFB responds with either a bid or an empty bid. A bid
specifies how long it will take that vehicle to pickup the parcel and how long it will take
that vehicle to drop off that parcel after it is picked up. It may also specify the price that
the vehicle will charge the parcel for delivery. An empty bid indicates that the vehicle is
currently unable to deliver that parcel. Once the parcel has received either a bid or an
empty bid from all of the vehicles then it picks the bid that maximizes it utility. It sends
an acknowledgement to the vehicle that "won."
No acknowledgement is sent to the
"losers" so they infer by lack of acknowledgement that they have lost.
3.1.4
Map
In the simulator, the area in which all of the delivery action takes place is a uniform
Euclidean area represented by a rectangular grid with only discrete integer coordinates.
Travel can only be either horizontal or vertical, and all distances (including a Limited
Bidding Radius) are calculated using Manhattan Distance.
3.1.5
Vehicles
There are two types of vehicles in the HereToThere simulator - taxis and trucks. These
vehicles are very similar except for one key difference. By nature taxis are only allowed
to carry one parcel at a time. In practice this parcel may be one person or a group of
people, but we still treat it as a single object and ignore for simplicity's sake any unusual
circumstances such as multiple drop off locations. Trucks on the other hand usually can
27
transport a large number of parcels at a time. These vehicle properties are represented in
the simulator as capacity constraints where taxis have a capacity of 1 and trucks have an
arbitrary capacity > 1.
All vehicles have the same speed of one map unit per clock tick. Each vehicle can use
one of two driving heuristics for deciding how to get from one point to another. The first
is Horizontal-Then-Vertical where the vehicle first goes all the way horizontal and then
all the way vertical. The other driving method is Alternate-Horizontal-Vertical where the
vehicle alternates moving horizontally and vertically until it reaches its destination.
Each vehicle also has a choice of several bidding strategies (although each vehicle must
use the same bidding strategy throughout a simulation run). These bidding strategies are:
1. Random
If the vehicle is currently picking up or dropping off a parcel then an empty bid is
returned. Otherwise, random pickup and drop off times are returned.
2. Simple
Again, if the vehicle is currently picking up or dropping off a parcel then an
empty bid is returned. Otherwise, pickup and drop off times are calculated based
on the vehicle's distance from the parcel and the distance that the parcel needs to
be delivered.
3. Queue
With the Queue strategy the vehicle always returns a bid.
If the vehicle is
currently idle then the bid returned is the same as with the Simple strategy. If the
28
vehicle is busy, then the pickup and drop off times returned are calculated based
on the vehicle's current delivery schedule. For example, let's say some taxi is
heading to pick up parcel A and gets an RFB from parcel B.
The taxi will
respond with a pickup time that is the sum of how long it will take the taxi to 1)
pickup up parcel A 2) drop off parcel A 3) pick up parcel B. With this strategy
each vehicle maintains a queue of future jobs in addition to its current one.
Taxis and trucks implement their queues in slightly different fashions. Taxis use
a First Come First Served method where new parcel requests are always put at the
end of the queue. Trucks on the other hand insert new parcels into their existing
queue in whichever location minimizes their total travel distances. In addition,
trucks may split up a parcel's pickup from its drop-off in the queue as long as a)
each parcel is picked up before it is dropped off and b) there are never more
parcels in the truck than the truck's capacity. [19]
4. Center Hub
This is an extension to the Queue strategy that employs the use of a hub in the
center of the board. Vehicles using this strategy are assigned to one of the four
quadrants of the board and only travel within their quadrant. Deliveries are routed
through the hub if they cross quadrant boundaries.
These strategies are admittedly simplistic. However, the focus of the thesis is not on
finding optimal routing algorithms but for providing a framework for different routing
algorithms to be used. These bidding strategies were implemented more as a proof of
concept that the system works even when different vehicles use different strategies, and
29
that the choice and distribution of strategies does have an impact on the effectiveness of
parcel delivery.
3.1.6
Parcels
There is only one type of parcel in HereToThere although parcels are allowed to have
varying degrees of price sensitivity.
In HereToThere the parcels appear at random
locations with random destinations.
The parcels appear one at a time in a Poisson
distribution with a mean that is specified by the 'Parcel Frequency' - a parameter
configurable by the user.
3.2 User Interface
HereToThere has two primary modes of operation: User Mode and Batch Mode. User
Mode has an interactive graphical user interface that allows the user to run simulations
with a variety of parameters and displays statistical analysis of each simulation run.
Batch Mode is command-line driven and is used for data collection.
30
Figure 3 Sample HereToThere Simulator Screenshots
31
3.2.1
User Mode
User mode is centered around a graphical user interface built using Java Swing. The GUI
is divided into three major sections. See Figure 3. The first section allows the user to
specify a number of system parameters and to start, stop, and resume a simulation run.
The focus of the second section is a map that shows the position and state of every
vehicle and active parcel. This section of the screen also has a slider bar to control the
speed of the simulation, and toggle button for disabling map updates, and a legend to
explain the symbols in the map.
The third section presents information about each
simulation as its being run. This information includes the current clock tick count, the
number of parcels delivered, and the average pickup, drop off, and delivery times. It also
has charts of the average pickup and delivery times; and detailed information about any
vehicle, parcel, and hub that is selected. These objects become selected when the user
clicks on one of them in the map with a mouse.
3.2.2
Batch Mode
Batch mode is designed for data collection. At the command line an input file must be
specified. This file contains a list of system parameters that describe what simulations to
run.
See Figure 4. Each line in this file specifies a system parameter along with a
minimum value, a maximum value, and a step value for that parameter. If the parameter
is a vehicle than it also specifies what bidding strategy those vehicles should use. The
min, max, and step values are used to calculate a list of values for each parameter (e.g. 5
x 15 x 5 would yield the list 5, 10, 15). Multiple simulation configurations can be listed
in a single file using the word "GO" to separates each one. Once HereToThere reads in
32
the file, it runs a simulation for every Cartesian product of the system parameters. This
allows for easy testing of the effect of several system parameters independently.
parcels 100 x 100 x
frequency 40 x 40 x
truck QUEUE 10 x 10
iterations 50
GO
parcels 100 x 100 x
frequency 40 x 40 x
taxi SIMPLE 10 x 10
taxi QUEUE 5 x 10 x
iterations 50
GO
1
5
x 5
1
5
x 5
5
Figure 4 Sample input file for batch mode
3.3 Architecture
HereToThere was written in Java using Sun JDK 1.2.2 on a Windows 2000 platform.
Java was chosen as the language not only for its ease of use and portability, but also
because its object oriented nature nicely complemented the problem being solved. In the
simulator there are separate Vehicle and Parcel classes as well as Taxi and Truck
subclasses.
There are several other key classes including a Vehicle Manager that
facilities communication between parcels and vehicles, a Parcel Manager that creates
parcels at the appropriate times, a Hub Manager that coordinates the use of hubs, a Bid
Response class for describing bids, and an Algorithm class for enumerating different
bidding strategies. Relevant interfaces to these classes are listed in Appendix A.
Several other classes play an integral role in the simulator but are not a part of the
market-based framework itself. The first two are Main and Simulation, which are the
foundation of the program.
Another important class is MyTimer, which runs as a
33
separate thread and is responsible for producing clock ticks. InputUl, DisplayUl, and
OutputUl comprise the three panels on the GUI. JBarChart and Display are used for the
charts and map respectively. Finally, there is a DataCenter object that records all of the
data during a simulation run, which is either shown in the GUI during User Mode or
outputted during Batch Mode.
34
4 Experiments & Initial Results
Rigorous quantitative evaluation of the framework presented in this thesis is difficult
because the framework is generic enough to work for a wide range of scenarios, each of
which could be evaluated independently along several different metrics. So, what I have
done is come up with a list of important properties that the framework should provide and
then tested to see how these properties are evident using the HereToThere simulator.
These properties are 1) efficiency of homogeneous and heterogeneous environments 2)
scalability 3) feasibility. Efficiency of homogeneous and heterogeneous environments
means the system should work well for scenarios where all delivery and parcel agents use
the same strategies with the same utility functions as well as scenarios where the agents
have individually differing strategies and / or utility functions. Scalability is the ability of
the system to maintain performance levels as the number of vehicles and parcels
increases.
Feasibility is whether the system is actually able to work (i.e. parcels get
delivered) under specific scenarios.
All of the simulations run used the following defaults unless otherwise specified:
Map Size: 300 x 300 units
Number of Parcels: 100, all price insensitive
Mean Parcel Arrival Interval: 40 clock ticks
Vehicles: 10 taxis using SIMPLE bidding strategy
Limited Bidding Radius: none
35
Given a map size of 300 by 300, the average distance between two random points is 200
units. Also, with 10 vehicles, the expected minimum distance between a parcel and any
vehicle is 65 units. Therefore, the best-case expected delivery time is 265 clock ticks (65
for pickup + 200 for delivery).
4.1 Evaluating Different Strategies
One of the greatest benefits of using a market-based system is the variety of potential
participants.
Any vehicle or parcel that is able to use the proper protocol for
communication and follows the bidding convention of the system can participate in the
market irrespective of implementation, utility function, or bidding strategy. This allows
for the traditional homogeneous examples that have been the focus of dynamic vehicle
routing literature as well the heterogeneous systems one would likely find in real-world
examples.
Two simple experiments were run to test the effects of homogeneity and heterogeneity.
In the first test, delivery prices were introduced as a bidding factor to see how price
sensitivity affects vehicle allocation. A series of simulation runs were conducted where
all of the parcels had the same level of price sensitivity within a run but changed between
runs. The four levels of price sensitivity are given by the utility functions in Figure 5. As
for the taxis, a random half of them charged $1 per delivery and the other half charged $2
per delivery. This was then repeated using the prices of $1 and $3. The results in Figure
6 clearly show that increased price sensitivity resulted in lower average delivery cost and
longer average delivery time. The explanation for this is that as parcels become more
36
price sensitive they choose the "cheaper" vehicles more often. This results in lower cost
per delivery. It also raises the average delivery time since the parcels are passing up
shorter delivery in favor of cheaper delivery.
The "correct" ratio of delivery cost to
delivery time is dependent upon price sensitivity. In this situation, a central controller
could not make the correct allocation without knowing the price sensitivity of the parcels.
Insensitive:
utility = 1000 / delivery time
Somewhat Sensitive:
utility = 1000 / (delivery time * price)
Moderately Sensitive:
utility = 1000 / (delivery time * price ^ 2)
Extremely Sensitive:
utility = 1000 / (delivery time * price ^ 3)
Figure 5 Parcel Sensitivity Levels
37
Effect of Price Sensitivity on Delivery Cost
A(0
0
L)
2.50
-
2.00
-
1.50-
4)
1.16
1'01.02
1.000.50
Prices = 1,2
--. *--Prices= 1, 3
-
0.00
not sensitive
moderately
sensitive
somewhat
sensitive
very sensitive
Price Sensitivity
Effect of Price Sensitivity on Delivery Time
1800
-
1600
1600
1400
1200
0
01171
-.
1128
-U--- Prices = 1, 2
1000
*E
800
.a)
~0
600
400
- -18
--
-- Prices= 1,3
.- .-- '34
200
0
not sensite
somewhat
sensitive
moderately
sensitive
\.ery sensitive
Price Sensitivity
I
Figure 6 Effect of Price Sensitivity on Delivery Cost and Delivery Time
Cost values and delivery time are an average per delivery over each set of 50 simulations runs. Within
each set of simulation runs all parcels had the same price sensitivity. In all simulations there were five
taxis that "charged" $1 per delivery. Half of the sets of simulations had an additional five taxis that
"charged" $2 and the other half sets of simulations had additional taxis that "charged" $3.
38
The second set of simulations performed was focused on different vehicle bidding
strategies. Here, all parcels were price insensitive and again there were 10 taxis per run.
This time, however, some of the taxis used the SIMPLE strategy while others used the
QUEUE strategy. With the SIMPLE strategy, taxis that are idle return a bid equal to the
time it would take to pickup and drop off the parcel. Taxis that are idle do not respond
with a bid. The QUEUE strategy works the same for idle taxis, but taxis that are busy
return a bid equal to the amount of time it will take to first deliver their current parcel
plus any additional parcels they have waiting for them and then deliver the new parcel.
As you can see in Figure 7, the average delivery time dropped by almost half when all of
the taxis used QUEUE versus when they all used SIMPLE, which was to be expected
since the QUEUE bidding strategy is able to give better bids than the SIMPLE bidding
strategy. In addition, the total distance traveled by the taxis also decreased with use of
the QUEUE strategy. So, switching to QUEUE from SIMPLE is a "win-win" move
because the parcels benefit from quicker delivery and the taxis benefit from shorter
distance traveled. However, Figure 7 does reveal an unexpected result, which is the spike
in delivery time that occurs when there is one taxi using QUEUE. Why is it that when
one taxi improves its strategy all of the parcels suffer?
39
Effect of Bidding Strategy on Delivery Time
2000
1800
1600
e1400
1200
1000
600-
-
.
400
200
0
Queue: 0
Queue: 1
Queue: 2
Queue: 3
Queue: 4
Queue: 5
Queue: 6
Queue: 7
Queue: 8
Queue: 9
Queue: 10
Sirrple: 10
Sirrple: 9
Simple: 8
Simple: 7
Sirrple: 6
Simple: 5
Simple: 4
Sirple: 3
Simple: 2
Simple: 1
Sirple: 0
Distribution of Taxi Strategies
4
Parcel Frequency = 40 clock ticks -. -A--- Parcel Frequency = 30 clock ticks
Effect of Bidding Strategy on Distance Traveled
43000
-o 41000
Z 39000
2 370000 35000--
.
33000 31000 - -
-1---
5
ii 290000 27000 --
---
-- -
25000
Queue:
1
Queue:
2
Queue:
3
Queue:
4
Queue:
5
Queue:
6
Queue:
7
Queue:
8
Queue:
9
Queue:
10
Simple: Simple:
9
10
Simple:
8
Simple:
7
Simple:
6
Simple:
5
Simple:
4
Simple:
3
Simple:
2
Simple:
1
Simple:
0
Queue:
0
Distribution of Taxi Strategies
- Parcel Frequency = 40 clock ticks -- -A--- Parcel Frequency = 30 clock ticks
Figure 7 Effect of Bidding Strategy on Delivery Time and Distance Traveled
For each set of simulation runs there were 10 taxis with some using the SIMPLE bidding strategy and the
rest using the QUEUE bidding strategy as shown on the horizontal axis. For half of the simulation sets the
mean parcel frequency was 40 clock ticks and the other half had a parcel frequency of 30 clock ticks.
Delivery times are an average per delivery. Distance traveled is total distance for all taxis per simulation.
The error bars show one standard deviation in each direction.
40
The reason for this is that taxis using SIMPLE will not respond to an RFB if they are
busy while a taxi using QUEUING will always respond. During the simulation, when the
taxis using SIMPLE were all busy then new parcels would only receive a bid response
from the taxi using QUEUING, and since this was the only bid they received they would
use it no matter how bad it was. Indeed, because of this that one taxi got to deliver
disproportionably large share of the parcels, so it succeeded in its goal of local
optimization at the expense of overall parcel utility. Now, the question is whether this is
"bad" and if so, what's to blame. I would say that it is not bad - it's just the result of the
market. However, it's also not ideal, as we would like competition amongst the vehicles
to not only benefit themselves but the parcels as well. There are two solutions to this
which are two sides of the same coin - either improve the vehicle strategies or improve
the parcel strategies.
In the first case, it was shown that parcel delivery performance
increases as soon as three or more of the taxis adopt the QUEUING strategy. We could
imagine that in the real world if there was a taxi doing significantly better than the other
taxis would strive harder to compete. The other solution is to increase the intelligence of
the parcel's agent. While the HereToThere marketplace does not allow parcels to switch
vehicles once they have accepted a bid, they are allowed to refuse any bid they don't like.
If an agent knows that the bids it receives may change over time then one way to improve
it would be to set an upper limit on the delivery time it is willing to accept. This was
done in HereToThere by setting a worst-case delivery time of 1200 clock ticks, which is
roughly four times the ideal delivery time. If the best bid received by a parcel was for a
delivery time of more than 1200 clock ticks then that parcel refused all of the bids and
41
sent out a new RFB at a later time in hopes of getting a better bid. Using this parcel
strategy, the test was rerun and the results shown in Figure 8 confirm the theory.
Effect of Parcel Intelligence on Global Optimization
2000
1800
1600
10 1400
E
S1200
Z; 1000
cm
A---
800
0
<600
400
200
0
Queue: Queue: Queue: Queue: Queue: Queue: Queue: Queue: Queue: Queue: Queue:
10
9
7
8
6
5
4
3
2
1
0
Simple: Simple: Simple: Simple: Simple: Simple: Simple: Simple: Simple: Simple: Simple:
0
1
2
3
4
5
6
7
8
10
9
Distribution of Taxi Strategies
--
Always Accept Best Bid - - 0
- - Accept Best Bid If Below Threshold
Figure 8 Effect of Parcel Intelligence on Global Optimization
Delivery times are an average per delivery over 50 simulation runs and the error bars show one standard
deviation in each direction. For each set of simulation runs the mean parcel frequency was 30 clock ticks
and there were 10 taxis with some using the SIMPLE bidding strategy and the rest using the QUEUE
bidding strategy as shown on the horizontal axis. For half of the simulation sets the parcels always chose
the bid with the lowest delivery time. For the other half the parcels only chose the bid with the lowest
delivery time if the delivery time was less than 1200 clock ticks. Otherwise, they accepted no bid and kept
requesting bids until a suitable one was found.
42
4.2 Scalability
How well a system scales is a relationship of the resources it requires as the size of its
inputs increases. A distributed framework like the market-based system used here scales
better than a central controller system for two reasons. First, because each parcel and
vehicle is responsible for its own bidding, the processing demand is distributed among all
of the objects instead of a single controller. In addition, the computational demands
placed on parcels and vehicles are minimal. Parcels have to calculate the utility of each
bid they receive, so the amount of work for each parcel is 0 (V) where V is the number
of vehicles. Vehicles have to compute a bid for every RFB so the amount of work that
vehicles have to do is 0 (P) where P is the number of parcels. The second reason why
the HereToThere system scales well is low bandwidth.
The only information being
transferred is RFBs and bids, which are both minimal in size and there are only 0 (VP) of
these transmitted.
4.3 Feasibility
There are some scenarios where a centralized system can't work at all. The best example
is ad-hoc networks composed of devices with a limited transmission radius. Developing
efficient systems that work with ad-hoc networks is becoming especially important these
days with the proliferation of handheld devices and standards soon to be quickly adopted
such as Bluetooth [2]. Because of the small transmission radius, each device can only
communicate with other agents around it, and even with the use of multi-hop systems
they may not be able to reach a central server. Still, using market-based mechanisms
43
these devices can buy and sell delivery tasks to the agents nearby. The HereToThere
simulator mimicked this ability by having a Limited Bidding Radius mechanism.
If
enabled, parcels could only communicate with vehicles within the specified radius.
When a new parcel appears with a limited bidding radius, if there is no vehicle close by at
that moment it must wait until a vehicle comes by.
performance.
This results in a drop-off in
How much performance drops is very dependent on the length of the
bidding radius and whether the parcels have thresholds for accepting bids. This is shown
in Figure 9. In extreme cases (radius < 75) delivery times can be 10 to 20 times worse
than with an unlimited bidding radius. However, at least the parcels are being delivered
which would not be possible in the central controller scenario.
44
Delivery Times for Different Bidding Radii
6000
5000
3000
4)
C)
00
1000
25
50
75
100
125
150
175
200
Bidding Radius
-+---
Always Accept Best Bid -
-- - --
Accept Best Bid if Below Threshold
Figure 9 Delivery Times for Different Bidding Radii
Delivery times are an average per delivery over 50 simulation runs and the error bars show one standard
deviation in each direction. For each set of simulation runs there were 10 taxis with some using the
QUEUE bidding strategy and all parcels had a specific bidding radius as shown on the horizontal axis. For
half of the simulation sets the parcels always chose the bid with the lowest delivery time. For the other half
the parcels only chose the bid with the lowest delivery time if the delivery time was less than 1200 clock
ticks. Otherwise, they accepted no bid and kept requesting bids until a suitable one was found.
45
46
5 Future Work
While simulations are very useful, implementation is always the best test of any system.
In building the simulator several significant simplifications were made. Here is a list of
them and the issues that would need to be addressed.
5.1 Realistic Environments
Obviously the artificial city used in HereToThere is not reflective of any real-life city. A
real-life city would be irregularly shaped, have a network of streets, have traffic speeds,
have patterns of traffic flow, and a list of externalities that could affect pickup and
delivery of parcels.
The city in the HereToThere simulator was intentionally left as
simple as possible so that the research could focus on the market mechanisms and not on
building a realistic city. It is true that in a real-world situation that vehicles especially
and parcels to some extent would need to include both background and real-time
knowledge of the city in order to make accurate bidding decisions. However, the method
of bidding and its outcome should be the same.
5.2 Timing
Possibly the largest simplification that the HereToThere simulator assumes is that of
timing. In the simulator all events happen in order and at discrete time steps. As part of
this, all RFBs are sent out one at a time, and each RFB collects all of its bids and decides
on one before the next RFB is sent. There are two main problems here.
47
First, in the real world time is continuous, nothing is instantaneous, and multiple things
can happen at the same time. Because it takes time for an RFB to reach the vehicles, the
vehicles to send back their bids, and the parcel to notify the winner, we would expect that
vehicles would have to deal with multiple RFBs at the same time.
One benefit of timing in the real world is that it eliminates artificial bidding preferences
that the simulator introduced.
For example, in the simulator, at each clock tick, all
existing parcels got a chance to have vehicles bid on them before any new parcels were
able to contact the vehicles. In the real world bidding is not done "in order" and so this
problem would go away.
5.3 Improved Algorithms
The algorithms used by the vehicles in the simulator for deciding how to do routing and
how to bid are extremely simple. They should take into account many more things in the
real world. In the taxi scenario, for example, they should account for traffic, road layout,
city regulations, refueling, driver breaks, and more. Also, vehicles should use a good
strategy for what they do when they are idle. For example, a vehicle might want to move
to a central location or a location of high parcel frequency in hopes of being in a position
to offer a more attractive bid for future parcels.
Another thing that would be cool would be to extend the use of Hubs. Currently, the
CENTER HUB strategy has shown to not be worthwhile.
48
However, it would be
interesting to see how efficient a system with multiple hubs would be. One system for
example could employ the use of four symmetric hubs with trucks running between the
hubs and taxis running from the hubs to and from the pickups and drop-offs. This would
more closely resemble a real-world hub and spoke delivery system.
5.4 Reputation
In the simulator it is known that the vehicles are reporting accurate bids to the parcels.
Although they may give different bids depending upon their routing algorithms, none of
them is trying to win parcels by intentionally bidding below their actual possible delivery
time. However, the vehicles can still underestimate their delivery time in cases where
future parcels change their delivery order. Whether intentional or unintentional, there
needs to be some way of punishing vehicles who don't live up to their bids and rewarding
those that do.
The straightforward solution to this would be the use of reputation
mechanisms. With reputation mechanisms, once a parcel is delivered it rates the vehicle
on how the delivery time it gave in its bid compared with its actual delivery time. This
way each vehicle would buildup a reputation score over time. This score would then
become a part of future bids, allowing each parcel to factor reputation into its vehicle
decision.
5.5 User Interface
In the simulator there is a user interface that allows the user to specify which algorithms
the vehicles should use, but there is no interface that allows the user to send out RFBs or
reply with corresponding bids. All of that is done automatically in the code. In the real
49
world, you may or may not need a higher level of interaction with humans. In the taxi
scenario, the person who wants a taxi needs some way of specifying where she is and
where she wants to go. On the taxi end, either the taxi company can have a computer
does the bidding on behalf of the taxis or the RFB could be propagated to the taxis where
the driver could respond to the bid. Then, once the bids are sent back to the person either
she could decide which bid she wants to accept or she could have a software agent that
would make that decision for her. Ideally, the use of software agents would reduce the
amount of user attention needed.
5.6 Subcontracting
Subcontracting is the process where a single delivery agent acts as a "representative" for
multiple delivery agents. There are primarily two uses for subcontracting. The first is for
coordinated effort of vehicles.
An individual router, for example, does not deliver a
packet from its source to destination. Instead, the hop count that routers use to bid
"represents" other routers, and through this coordinated effort packets reach their
destination. The other primary use of subcontracting is for abstraction. Abstraction is
useful for when you don't want the parcel to communicate directly with each vehicle, but
prefer to have the parcel communicate with a vehicle representative. One scenario where
this would make sense is a marketplace for taxis with several different taxi companies
participating. It's likely that for competitive reasons a taxi company would not reveal
how many taxis it has out any given moment, so instead of having every taxi respond to
an RFB it can have a delivery agent that collects bids from the taxis and then only sends a
select few to the parcel. Another reason a taxi company may want to do subcontracting
50
in this fashion is to set up a bid filter to screen bids before they are sent back to the
parcel.
No matter what the reason, subcontracting provides a way for intelligent
coordination of delivery agents that is transparent to parcels.
5.7 Multiple Bids Per Vehicle
In HereToThere, each vehicle responds to a Request For Bid with either no bid or exactly
one bid. However, there are situations in which vehicles may want to return multiple
bids to allow more choice alternatives for the parcel. One way in which multiple bids
could be beneficial is as a method for prioritizing parcels. For example, a vehicle could
offer a "standard" bid and a "priority" bid. The "priority" bid would likely offer shorter
delivery time in exchange for a higher delivery cost. This is akin to the pricing system
used by courier services, but it is much more flexible in that the priority pricing could be
determined dynamically for each parcel.
51
52
6 Conclusion
This paper has proposed the use of market-based mechanisms as a new approach for
allocating delivery agents to location-based tasks. It then looked at the use of a specific
market-based mechanism - a sealed bid, competitive auction - for a particular problem in
this domain - the Dynamic Vehicle Routing Problem. Initial research has shown that this
new approach provides benefits including efficiency in heterogeneous environments,
scalability, and feasibility. An interactive simulator of the application supported these
benefits. In addition, a wide range of topics of future research for this framework has
been presented.
53
54
Appendix A - Important Simulator Classes
Simulation.java
Constants
public static final int MAXX = 300
public static final int MAXY = 300
Constructors
public Simulation ()
Methods
(HubManager hm, VehicleManager vm, ParcelManager pm,
int bidradius)
void start (int[][] taxis, int[][] trucks, int numparcels,
int parcelfrequency, int bid-radius)
void stop ()
void resume ()
void clockTick()
void setBatchMode (boolean batch)
boolean getBatchMode ()
public void start
public
public
public
public
public
public
Vehicle.jiava
Methods
public abstract BidResponse getBid (Parcel p)
public abstract void ackBid (Parcel p, boolean accepted)
public abstract void clockTick()
Constructors
public Taxi
public Taxi
public Truck
public Truck
(Simulation simulation, Point p, Rectangle bounds,
Hub[] hubs, int algorithm, int id)
(Simulation simulation, Point p, int algorithm, int id)
(Simulation simulation, Point p, Rectangle bounds,
Hub[] hubs, int algorithm, int id)
(Simulation simulation, Point p, int algorithm, int id)
55
VehicleManager.java
Methods
public void reset ()
public BidResponse[] getBids
public void clockTick()
(Parcel parcel,
Point location)
Constructors
public VehicleManager(Simulation
simulation,
int[][] taxis,
int[][]
trucks)
Parcel.iava
Variables
Point current, next, finish
Methods
public
public
public
public
void hubStop (Point p)
void pickup ()
void dropoff ()
boolean go ()
Constructors
public Parcel
public Parcel
(Simulation simulation, int id)
(Simulation simulation, int id, Point start, Point finish)
ParcelManager.java
Methods
public void clockTick()
Constructors
public ParcelManager(Simulation s)
public ParcelManager(Simulation s,
mt
np, it f)
Hub.iava
Constructors
public Hub(Simulation simulation,
Point location,
Methods
public void addParcel (Parcel parcel)
public Point getLocation ()
public void sendParcels ()
56
int numparcels)
HubManager.ava
Constructors
public HubManager (Simulation simulation,
int num hubs,
int numparcels)
Methods
public Hub[] getHubs (Rectangle bounds)
public void clockTick ()
Algorithm.iava
Constants
public static final int RANDOM = 0, SIMPLE
=
1, QUEUE
=
BidResponse.lava
Constants
public
public
public
public
static
static
static
static
final
final
final
final
String
String
String
String
PICKUP = "PICKUP";
DROPOFF = "DROPOFF";
DELIVERY = "DELIVERY";
PRICE = "PRICE";
Variables
public Vehicle vehicle;
public HashMap conditions;
Constructors
public BidResponse (Vehicle vehicle, HashMap conditions)
57
2, CENTERHUB
=
3
58
References
1.
Bertsimas, Dimitris J and D. Simchi-Levi. (1996) A New generationof Vehicle
Routing Research: Robust Algorithms, Addressing Uncertainty. Operations Reseach
vol. 44, pp. 286 - 304.
2. Bluetooth (1999), Bluetooth ProtocolArchitecture Version 1.0. Bluetooth White
Paper 1.C.120/1.0. http://www.bluetooth.com/developer/whitepaper/whitepaper.asp
3. Cisco Systems. Routing Basics,
http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito doc/routing.htm
4. Clearwater, Scott H., editor. (1996) Market-Based Control:A ParadigmFor
DistributedResource Allocation. World Scientific Publishing Co. Pte. Ltd.
5. Digital Dispatch Systems, http://www.digital-dispatch.com/
6. Digital Dispatch Systems (1992), Transportationdispatch and delivery tracking
system. U.S. patent US5122959.
7. Gendreau, Michel and J.Y. Potvin. (1998) "Dynamic Vehicle Routing and
Dispatching." In Fleet Management and Logistics (pp. 115 - 124), Kluwer Academic
Publishers, Boston.
8. Goldberg, Matt (1996), "How FedEx Runs on Time," Fast Company, Issue 8, p. 38,
http://www.fastcompany.com/online/08/minm8.html
9. Kahaner, D.K. Singapore's Smart Taxis. (1996) Asian Technology Information
Program Report ATIP96.016.
http://www.atip.or.jp/ATIP/public/atip.reports.96/atip96.016r.html
10. Lawler, E.L. et al. (1985) The TravelingSalesman Problem: A Guided Tour of
CombinatorialOptimization. John Wiley, Chester, U.K.
11. Marron, Donald B. and C.W. Bartles. (1996) "The Use of Computer-Assisted
Auctions for Allocating Tradeable Pollution Permits." In Market-Based Control:A
ParadigmForm DistributedResource Allocation (pp. 274 - 299), World Scientific
Publishing Co. Pte. Ltd.
12. Malone, Thomas W., et al. (1988) "Enterprise: A Market-like Task Scheduler for
Distributed Computing Environments." In The Ecology of Computation (pp. 177 205), Elsevier Science Publishers B.V.
59
13. 0. Shehory and S. Kraus, (1998) "Methods for task allocation via agent coalition
formation," Artificial Intelligence, Vol. 101, No. 1-2, May, 1998, pp. 165 - 200.
14. Psaraftis, H.N. and G.G. Tharakan. (1979). A Dynamic ProgrammingApproach to the
Dial-a-RideProblem. An Extension to the Multi- Vehicle Case. Department of Civil
Engineering Report R79-39, Massachusetts Institute of Technology
15. Rao, Bharat, Z. Navoth, R. Wuebker, and M. Horwitch. (1998) "The FDX Group:
Building the Electronic Commerce Backbone for the Future" Institute for
Technology and Enterprise. http://www.ite.polv.edu/people/brao/fedex case.htm
16. Requirements for IP Version 4 Routers, RFC 1812,
http://andrew2.andrew.cmu.edu/rfc/rfc 1812.html
17. Rodden, Tom. et al. (1998) "Exploiting Context in HCI Design for Mobile Systems"
First Workshop on Human Computer Interaction with Mobile Devices
18. Sigtec Pty Ltd, http://www.sigtec.com.au/corpmain.htm
19. Wilson, N.H.M., J.M. Sussman, H.K. Wang and B.T. Higonnet. (1971). Scheduling
Algorithms for Dial-a-Ride Systems. Urban Systems Laboratory Report USL TR-7013, Massachusetts Institute of Technology
60
Open Markets for Agent Interaction:
Enabling a Multi-Agent System of Markets and Traders
Jim Youll, Pattie Maes
MIT Media Laboratory
20 Ames St., Cambridge, MA 02139, U.S.A.
E-mail: {jim,pattie}@media.mit.edu
ABSTRACT
Market operators have always provided two important
services to traders: a market place where compatible traders
meet, and enforcement of a market model. In traditional
markets, the market place and market model are
inextricably bound.
This paper considers the separation of market model from
market place. We discuss the design of distributed market
systems optimized for interactive, negotiation-dominated
environments for electronic commerce. In our architecture,
a plurality of market models is active. These models,
executed by agents representing buyers, sellers and interagent services, form a distributed marketplace.
We discuss new economic interactions made possible by
the decomposition of the market into components that may
be individually negotiated, modified, or delegated. Market
participants may act in many market places simultaneously,
pursuing diverse strategies ranging from contingent
arrangements to fully- delegated multi-party agreements.
KEYWORDS:
Software agent, market, negotiation,
transaction processing, auction, retail, wholesale, risk
management
1. INTRODUCTION
The operator of a traditional market such as a stock
exchange, retail store or online merchant provides two
important services to participating traders. First, the market
place is a venue where compatible traders meet (such as
"New York Stock Exchange"). Second, market models
created and enforced by the market control the flow of
goods and money and dictate the rules of engagement
between traders. For example, New York Stock Exchange
rules require full disclosure of bid/ask prices, minimum
price variations of $0.0625, and trades in 100-share "round
lots" [20]. In traditional markets, the market place and
market model are inextricably bound. A NYSE trader
cannot, for example, trade by self-made rules within the
exchange even if other interested traders also agree to
honor his conventions. And a trader cannot demand that the
rules of one stock exchange be honored in another.
Agent-based electronic marketplaces [9] could facilitate
new transaction and negotiation models that are not viable
in traditional physical marketplaces, including the ability to
flexibly apply one's preferred rules ofsengagement across
many market places. However, most present electronic
markets do not employ agents and are typically modeled
after physical markets in which every market model
belongs to some market place.
For example, both open-air flea markets and Ebay auctions
attract niche specialty traders to a bazaar environment. The
electronic market wins a large audience by bringing
together geographically disparate participants. But the
physical market's salespeople can dynamically restructure
goods and prices to accommodate changing conditions and
buyer demands. Real-world sellers can also create bundles
and special offers tailored to individual buyers. Highlyengaged interactions of this nature do not occur on
electronic markets such as Ebay.
This paper considers the separation of market model from
market place. Can a viable economy arise when a central
market authority no longer controls the interactions
between traders? What are the fundamental, minimal rules
of engagement to which all agents must adhere, and how
will they communicate? In this new order, what is the
appropriate division of authority and responsibility between
the market, market agents, and market intermediaries?
2. DIGITAL AND PHYSICAL MARKETS
As researchers continue to explore the issues of expressive
human interaction through the Internet [25], common
Internet applications in their present form clearly limit the
medium's ability to provide a level of human interaction
comparable to that found in face-to-face discourse. From
the start, the technical limitations of virtual marketplaces
may hinder rich interaction and compromise that might
1
otherwise enhance trader-to-trader discourse.
Beyond the limitations of the medium, the market models
underlying Ebay [11] and sites like it may actively
discourage dynamic interaction between buyers and sellers.
In contrast to a seller in an open-air flea market who
constantly invents new offers to entice buyers, an Ebay
seller who frequently alters a listing may be penalized if
buyers interpret Ebay's prominent notice of changes as a
negative indicator. Ebay also locks out modifications once
bidding has begun. The rules are sensible for basic
mechanized auctions, but preclude expressive responses to
changing market conditions. Creative vendors have
circumvented the rules through a practice in which items
for sale are displayed with URLs directing customers to the
sellers' own web sites, which display bundles and dynamic
offers not possible on Ebay. These vendors may aid
consumers by chaining together previously partitioned
marketplaces, increasing competition and reducing search
costs.
Auction environments such as Ebay and the Michigan
Internet AuctionBot [26] present literal models of physicalworld auctions. Retail sites like Homeruns.com closely
mimics brick-and-mortar retailers, even appropriating
supermarket nomenclature such as "aisles" and "deli" for
its virtual supermarket. Priceline.com deploys a patented
bidding model in which buyers accept restrictions on their
ability to reject undesirable offers in exchange for the right
to bid on items that ordinarily bear non-negotiable prices
[21]. Coalition or "aggregate" buying at sites like
Mobshop.com represents another conceptual model made
practical by the Internet. In this market, buyers subscribe to
product offerings whose prices fall for everyone as more
buyers join. Aggregate markets are open to new
participants for a time period predetermined by the market
operator, ranging from several hours to several days.
These Internet-based marketplaces nonetheless bind place
to market model precisely as their physical-world
predecessors do. For example, Mobshop.com buyers cannot
join group purchases led by other aggregators such as
Mercata.com without joining the Mercata.com marketplace.
Neither can they attempt a group purchase at another retailonly site. Priceline.com's buyer-bidding model cannot be
used to purchase goods from sellers not represented by
Priceline.com.
Some of these markets do permit sligh tuning of their rules.
Mobshop.com accepts price-contingent commitments ("if
the price falls to level P, then I will buy the item"). Ebay
allows sellers to set reserve prices (private or public) and
opening bids - practices that impose some characteristics of
a retail fixed-price sale on an auction. Amazon.com allows
retail buyers to see if the same goods are for sale at auction
- but only in Amazon-run auctions, not others. Overall,
there is little theoretical backing for these models compared
to the wide range of auction theory [24].
2.1 Business drivers, market structure and the
consequences of high search costs
The business models of market-making companies depend
upon control of the marketplace and the ability to capture
and retain traders. Especially when a market trades
homogeneous goods, markets may attempt to attract traders
(consumers) by promoting proprietary trading models or
financial terms that are represented as improving market
conditions for traders. Each market seeks to seize a greater
share of all traders by presenting its market model as a
competitive advantage.
Two costs are borne by consumers who attempt to survey a
market before committing to a transaction or relationship:
search cost and switching cost.
Search cost - the cost of discovering new markets or new
trading partners, or the cost of discovering the "market
price" of some good or service. Maintaining current
relationships carries zero search cost. The expected
additional utility of any new relationship established as the
result of a given search must exceed the search cost to
make a search worthwhile.
Switching cost - the cost of cessation of business with a
given trading partner, plus the cost of establishing a
business relationship with a newly discovered provider.
Bertrand addressed the question of sellers' profits in
competitive commodities markets, predicting that
downward pressures brought about by buyer price
comparisons should drive prices to the marginal production
cost [4]. Kephart [17] has further modeled the risks to profit
and price stability in agent economies whose traders have
ready access to price information across markets and low
search costs.
Chamberlin presented the concept of product differentiation
in response to Bertrand. arguing that price will always
exceed marginal cost, even in a competitive setting, due to
buyer preference. Sellers thus profit by charging more than
the production cost, even for commodity goods [8]. And
Diamond argued that the cost of discovering prices (search
cost), even if very small, could potentially dissuade buyers
from comparing any prices. When buyers do not search,
monopolistic price levels may appear even in a crowded
market populated by many competitors selling commodity
goods [10].
Anderson and Renault endorsed a possibility discussed but
dismissed by Ausubel concerning the role of search costs
and switching costs as contributors to high credit card
interest rates [2], citing the dramatic increase in credit card
advertisements that began after Ausubel's 1991 study. Card
issuers began promoting low initial interest rates and prefilled application forms, actions that lowered consumer
search costs. However, the substantial rise in ititeresi iates
after perhaps six months for a given card, Anderson and
2
Renault write,
component." [1]
"suggests a strong switching cost
Individual market actors must not only search for the
desired goods or possible trading partners in an everexpanding universe, but must also evaluate trading venues,
market models, prices and terms. Every new marketplace
adds to the overall search cost for traders who participate in
multiple markets. The success of existing markets has
enticed Internet heavyweights to enter the online market
business, possibly leading to a proliferation of market
places. [23]
A proliferation of electronically facilitated markets could
partition buyers and sellers, increasing search costs rather
than driving them down. Electronic markets built in the
tradition of physical markets deliver economic rewards to
market builders but need not be engineered to improve
flexibility or reduce prices or search costs for market
participants[14].
Anderson and Renault conclude that the optimum number
of firms decreases as search cost increases, but predict that
any search costs exacerbate over-entry by firms into
optimally-populated or overpopulated markets. Whenever
the entry of a new firm into a market increases consumer
search costs, the overall density of searches will decline,
reducing competition and permitting higher prices.
However, even when some level of consumer search cost is
inevitable, market prices may fall as a consequence of
consumer taste diversity. Taste diversity fosters more
searches, increased search activity fosters competition, and
competition in turn leads to lower prices.
2.2 Double dipping
The New York Stock Exchange (NYSE) restricts its
activities to operational and administrative functions of its
market. Unlike the NYSE, new-era market operators such
as Priceline.com and Mobshop.com may act as both market
managers and market participants. Profits for these firms
flow not only from order handling, but also from their
imposition of undisclosed spreads between the selling price
and the price at which they purchase the underlying goods
or services from producers [13]. Thus, these participants are
more like ordinary vendors and less like true market
operators, no more motivated to identify or provide the best
prices or largest selection to buyers than any other
merchant [21].
3. THE OPEN MARKET AND ITS APPLICATIONS
We propose a market structure that maintains near-constant
search costs while permitting rich interaction between
buyers and sellers, accommodating the participation of
many firms eager to trade. We believe such a marketplace
can effectively encourage searches while offering a means
for vendors to convert buyer preferences into sales
opportunities. Increased search activity should encourage
competition and promote lower prices, while the vendors'
ability to differentiate themselves through unique product
offerings, multi-parameter negotiations, and trading
policies may provide the leverage they need to avoid the
Bertrand Paradox and its prediction of price regression to
marginal cost.
Our design separates the market model from the market
place, binding preferred and potential interaction models
directly to transacting agents. Buyers and sellers find each
other through directories that could be considered abstract
market places. Unlike traditional markets, however,
participating agents follow their own dynamically chosen
strategies when negotiating the rules of engagement with
other agents, rather than the "rules of the market."
A large open market system is a distributed network of
specialized directories for market-based agents. The
directories may be strongly vertical, bringing together
specialists in a narrow market niche ("National Beanie
Baby collectors' market") or mostly horizontal ("Downtown
Cambridge merchants' market") bringing together trading
partners from many specialties who often do business with
one another. The exact content, purpose and interactions
facilitated through them will be determined in practice and
constantly evolving. The system shquld encourage the
dynamic creation of "markets" by many parties for any
reason they find useful.
Three application areas made feasible by an open,
distributed market are described next:
1. Complex conditions for routine transactions
2. Component-based transactions
3. Better communication through and about markets
3.1 Complex conditions for routine transactions
Open markets facilitate conditional, ad hoc arrangements
between trading partners in forms of negotiation, agreement
and settlement that cannot be anticipated a priori, the
ordinary mandate of conventional market models.
Bundles - Trading partners may arrange the sale of "this
item and that item," with consideration to the buyer for a
greater overall purchase, and some benefit to the seller.
Forward contracts - Traders may wish to enter into a
commitment to buy or sell a quantity of goods over time
rather than all at once. Buyers making such commitments
for goods would ordinarily do so in exchange for an
incentive, such as a discount or preferential delivery terms,
from a complementary trader. A loan of cash and its
subsequent repayment schedule could also be considered a
form of forward contract.
Contingencies - Conditions related to the traders or to
external events may control the ultimate terms of a deal.
Two productive uses of contingent terms in market
transactions are: the reduction of risk for one or both parties
when external results are not yet known, such as the
3
approval of a home mortgage; encouraging
consummation of transactions by supporting
constructive nature of consumer choice [5].
the
the
The current generation of electronic marketplaces does not
broadly support ad hoc bundles, forward contracts or
contingent arrangements. With market models bound to
these marketplaces, every marketplace would have to add a
multitude of possible transaction models to the underlying
software that runs the market. Also, markets' primary
function has been the rapid and efficient clearing of
transactions by the single set of rules that define it.
Complex transactions such as those described here may
preclude immediate clearing. Trader-to-trader transaction
systems can more readily support complex interactions
provided the peers unambiguously state, and agree to, the
conditions of the interaction.
3.2 Component-based transactions
Even the smallest transactions include many participants
and transaction elements. Prior to completion of a
transaction, the services of all the necessary participants
must be engaged, payment terms arranged, and
requirements negotiated. Upon completion of the
transaction, participants must be individually compensated
according to the agreed terms.
An example of a small sale involving many participants is a
music purchase by credit card from CDNow. Participants
include the customer, CDNow, the credit card issuing bank,
credit card merchant bank, shipper and insurance provider.
Contributors to this transaction are customarily engaged
and compensated outside the market system, or through
other unconnected markets. CDNow makes direct
-sm
Wholesaler
Merchant Bank
.
Shipperient
Shipper
Issuing
Bank
Insurer
I+
I
I
Goods
Customer
Fig. 1 Settlement of a component-based transaction
arrangements with carriers for shipping, with underwriters
for insurance, and with a merchant bank for financial
settlement. Ultimately, the parties are compensated outside
the "sales market" in which CDNow tendered the sale of
goods and received payment.
In comparison, the participants in a component-based open
market transaction could actively contribute the "missing
parts" to help complete a multi-party transaction. An
insurer, for example, could deploy an agent to bid on the
"risk" in many transactions on a scale that would ordinarily
be too small to even consider. We envision a competitive
insurer underwriting the risk of loss for thousands of
individual, small, mail-order sales, each independently
evaluated and priced according to the relative exposure,
possibility of loss, and "fit" with the insurer's overall goals
and desired customer base. Transactional components are
also used to route payment directly from source to payee
for the process of "settlement." In Fig. 1, a merchant bank
directly compensates the vendor, wholesaler, shipper and
insurer upon receipt of credit card authorization from the
customer.
3.3 Better communication through and about markets
Buyers and sellers in a conventional electronic market
cannot meet potential trading partners in other market
places unless they exhaustively search all such places on
their own. Buyers also must conduct a similar exhaustive
search to compare prices or products offered.
Spiders that periodically survey the items posted at for-sale
sites [19] are one answer to the problem of poorlydistributed market information. This approach consolidates
information about price and goods across many market
places, but is inherently inefficient. Information is not fed
back into the markets themselves, but used as a third-party
reference, not seen by all traders, . Operators of some
market places oppose external market-querying activities,
and have employed both technical and legal defenses [3,6]
to stop "scans" by information-gathering intermediaries.
Other than web sites specifically designed to host "wanted"
ads [16], most sales-oriented sites are not also equipped to
accept or respond automatically to an individual's "wants."
This limitation not only reduces consumer choice, but also
works against such sites' ability to learn what potential
customers were really looking for.
An open market, on the other hand, supports simultaneous
participation in many market places by both buyers and
sellers. Desired goods and services receive equal billing
with offered goods and services.
4. DESIGN CONSIDERATIONS
We divide the conventional concept of "market" into two
disjoint, distributed elements. Both market places and the
market models must be capable of freestanding operation in
this environment. We might say that there are no actual
4
"markets" per se. Market activities are distributed among all
the buyers and sellers. Their composite state at any moment
is the state of the "market."
A key design challenge has been the creation of minimallyintrusive protocols to support agent autonomy for the
negotiation of not only goods and funds, but also the rules
of engagement themselves.
4.1 The market place
The "marketplace" itself remains a common forum in which
traders establish a presence and attempt to engage other
traders and market service providers. But this
"marketplace" is little more than a directory of agents
participating in each market, whose listings are available to
all participants. A diminished market authority assumes an
administrative role, facilitating but not regulating the
interactions of participants. An agent can ask the market to
send notice whenever there is a change in the state of other
agents, a change in the marketplace itself, or when specific
goods or agents of interest appear in the directory.
4.2 Market models
Market models, the rules and conventions for peer-to-peer
trading are moved out of the "market" and onto individual
agents. A plurality of market models is active in our
system, with market rules determined and enforced by
individual agents representing buyers, sellers and
intermediaries. This design stands in contrast to
conventional markets in which the essence of the
marketplace is the underlying transaction model.
4.3 The market authority
Our vision of an open market is thus a set of conventions
permitting independent agents to follow their own
strategies when directly engaging each other in negotiations
and transactions. What had been "markets" are now
"directories." Markets help complementary agents meet,
perform basic administrative functions, and broadcast event
notifications.
in a traditional stock exchange, or advertisements in a
newspaper classified section. Some markets, including
Priceline.com or Mobshop.com, promote their market
models. Insurers tout their long histories and stability.
Online auctioneers advertise the size of the auction
audience and the reliability of their systems. Physical-world
auctioneers promote their ability to win a higher price for
sellers, their specialized audiences, and their expertise with
difficult-to-sell goods.
In the world of open markets, the matter of a market's
"audience" is less significant. And advertising messages
about past performance, longevity and audience size are not
likely to be understood by trading partners built of
software. How then, might traders advertise their
availability and attract others to interact with them?
Initially, we believe traders will gain prominence by listing
their availability in many directories and by implementing
flexible trading rules to improve their chances of finding a
compatible trading partner. As markets mature, traders will
seek entry to "preferred" directories that emerge over time,
created by private individuals and trade or consumer
groups.
Eventually, as technologies and markets evolve, traderrating services will monitor market activity, collect
assessments and recommendations from market entities,
and provide evaluations of reliable, appropriate trading
partners in a form useful to interested agents.
4.4 Protocols and practices
Communications within the open markets follow a few
guiding principles:
1. All values are communicated with units (USD, Km,
hr, units, etc)
2. Agents subscribe to common ontologies for item
codes, field names, units, and protocols
3. All messages bear expiration timestamps; all
markets adhere to one time standard
The former role of the central market authority as rulemaker and rule-enforcer is removed. In practice, agent
interactions may create an illusion of place when viewed
from a distance. But it is the peer-to-peer negotiations and
transactions carried out between traders, taken as a whole,
that create myriad short-lived markets.
4. Messages from one agent to another may be
answered by a critique from the receiving agent,
indicating out of bounds values or fields that were not
understood by the receiving agent
4.4 Market prominence and trader self-promotion
Traditional markets distinguish, name and advertise
themselves through the models with which they match
buyers and sellers, the manner in which their participants'
offerings and wants are made known to others, the rules
they impose on participants, and the unique offerings found
within.
4.5 Messages
Agents may send these messages to markets:
1. {Add me to, remove me from} the directory
2. Notify me if (join, leave, item n I event occurs
3. What agents in your directory are complementary to
(requirements}
A market's primary advantage may be the broad, uniform
exposure a given message receives - such as stocks for sale
Markets may send these messages to agents:
1. Event (join, leave, item) occurred
2. Confirming (added to, removed from} directory
5
3. These agents complement your requirements
Agents may send these messages to each other:
1. What parameters do you require?
2. I require these parameters {list}
3. Will you give me an exclusive for {time}
4. Here is an offer { (field, value), (field, value),
{list
...
}
An agent that receives a message from another agent may
answer with a field-by-field critique, inspired by [12]:
{field} (too high, too low, do not understand value,
required, do not understand units} { suggested value
4.6 Basic conversation flow
Sender
Format and send message
Receive critique
Execute private strategy
Repeat with replacement message to answer critique
Receiver
Receive message
Execute private strategy
Issue critique
4.7 Peer discovery
An agent interested in finding transaction partners may
pursue either or both of these basic strategies:
1. Ask the market if its directory
complementary traders; contact them
lists any
2. Post its identification, wants/offers and availability
to the market; wait to be contacted
4.8 Market service providers
Open markets may contain not just buyers and sellers, but
also providers that exist specifically to offer marketenhancing services to traders. We believe these intramarket service providers will prove an important, essential
part of the market machinery.
Some likely service providers are currency converters, cost
estimators, reputation reporting/querying tools, transaction
auditors, and group purchase aggregators. The exceptionhandling systems designed by Mark Klein and Chrysanthos
Dellarocas [18] could be attached to open market agents as
intra-market services, introducing robust failure handling to
otherwise unsophisticated agent machinery.
5. RELATED WORK
The COPS project [22] discusses a distributed market
model in the evolution of an infrastructure for "security and
fairness" in trading. COPS provides transaction security
across dynamic, distributed market structures.
providers, and described two implementations of the
models in the Stanford Digital Library Project [15].
The Internet Open Trading Protocol (IOTP), RFC2801, [7]
provides an electronic commerce framework and
communication standard that is payment system
independent and encapsulates many popular payment
systems. IOTP codifies several "roles" in an e-commerce
transaction. and provides information and payment routing
between them.
6. CONCLUSIONS AND FUTURE WORK
We have discussed a framework, design philosophy and
potential economic implications of a peer-based open
market of trading agents.
We are building simulations of the open market framework
discussed in this paper to evaluate the requirements for
effective communication between economic agents, and to
explore the optimal balance of responsibilities between the
market, agent intermediaries and market principals.
We are further testing new kinds of economic interactions
made possible by the decomposition of the market into
components. Market models not designed after physical
markets but made possible by such a system will be tested
against traditional market models to determine whether
they generate advantages for traders.
Early results support the intuitive conclusion that
freestanding agents in an open market are larger and more
complex than agents in traditional markets. They require
more code and introduce new opportunities for failure and
unexpected behaviors. Inter-agent communications must
adhere to the lowest common denominator by which agents
may communicate, basically, text messaging. RMI and
CORBA are communication options that would allow
transmission of more complex negotiation objects at the
expense of still more complex individual agent traders.
A heavily-mediated open marketplace could allow lesscapable agents to "hire" the additional capabilities they
need, rather than bringing every necessary skill themselves.
ACKNOWLEDGMENTS
We thank Joan Morris and the Software Agents Group for
their advice and invaluable assistance. We also thank
British Telecom and the sponsors of the Digital Life
Consortium and e-Markets SIG at the MIT Media
Laboratory for their support of our research.
REFERENCES
1. S.P. Anderson and R Renault Pricing, product
diversitv, and search costs: a Bertrand-ChamberlinDiamond model, RAND Journal of Economics, Vol.
30, No. 4, Winter 1999, pp. 719-735.
presenied fiurmal s'1oppin 1m-1dUI L Us.cibe Mre
modes of interaction between customers and information
Kteclpel
6
2.
L.M. Ausubel The Failureof Competition in the Credit
Card Market, American Economic Review, Vol. 81,
1991, pp. 50-81.
3.
J.P. Bailey and Y Bakos An exploratory study of the
emerging role of electronic intermediaries,
International Journal of Electronic Commerce, vol.1,
no.3, Spring 1997, pp.7-20. M.E. Sharpe, USA.
16. S. Kirsner Technology & Innovation, The Boston
Globe, Mar. 20, 2000, p. C1
4.
J.L.F. Bertrand Thiorie mathimatique de la richesse
sociale par Lion Walras: Recherches sur les principes
mathimatiques de la theorie des richessepar Augustin
Cournot, Journal des savants, Vol. 67 (1883), pp. 499508.
17. J.O. Kephart and A. Greenwald Shopbot Economics, in
Proceedings of Fifth European Conference on
Symbolic and Quantitative Approaches to Reasoning
with Uncertainty, University College London, London,
July 6, 1999.
5.
J.R. Bettman, MF Luce and JW Payne Constructive
Consumer Choice Processes, Journal of Consumer
Research. Vol. 25 (3). p 187-217. December 1998.
18. M. Klein and C. Dellarocas, Exception Handling in
Agent Systems, in Proceedings of the third annual
conference on Autonomous Agents, 1999, pp. 62-68.
6.
H. Bray Net Auctioneer Ebay Sues Mass. Web Site
Over Link, The Boston Globe, Dec. 14, 1999, p. C2.
19. http://www.mysimon.com
7.
D. Burdett, Internet Open Trading Protocol - IOTP
Version 1.0, ftp://ftp.isi.edu/in-nots/rfc2801.txt
8.
E. Chamberlin The Theory of Monopolistic
Competition, Cambridge. Mass.: Harvard University
Press, 1933.
9.
A. Chavez and P Maes Kasbah: an agent marketplace
for buying and selling goods, in Proceedings of the
first international Conference on the Practical
Application of Intelligent Agents and Multi-Agent
Technology, London, U.K., April 1996.
10. P.A. Diamond A Model of PriceAdjustment, Journal of
Economic Theory, Vol. 3 (1971), pp. 156-168.
11. EBAY, Inc. Annual Report, 12/31/99, Disclosure
Incorporated, 2000.
12. G. Fischer, A.C. Lemke and T. Mastaglio The Role of
Critiquing in Cooperative Problem Solving, ACM
Transactions on Information Systems, Vol. 9, No. 3,
April 1991, Pages 123-151.
13. S. Ginsberg Fishing for That Affordable Fare?
Priceline's Hook: You Name a Price, it Hunts for
Takers, The Washington Post, June 24, 1998, p. C9
14. G.L. Ho, J.C. Westland and H. Sewon The impact of
electronic marketplaces on product prices: an
empirical study of AUCNET, International Journal of
Electronic Commerce, vol. 4, no. 2, Winter 1999-2000,
pp. 45-60. M.E. Sharpe, USA.
15. S.P. Ketchpel, H. Garcia-Molina and A. Paepcke
Shopping models: a flexible architecture for
information commerce, in Proceedings of the 2nd ACM
international conference on Digital Libraries, 1997, pp.
65-74.
20. New York Stock Exchange Rules and Procedures,
Commerce Clearing House, Inc. Chicago, Illinois.
21. Priceline.com Inc. Annual .Report,
Disclosure Incorporated, 2000.
12/31/99,
22. A.W. ROhm, G. Pernul COPS: A Model and
Infrastructurefor Secure and Fair Electronic Markets
In Proceedings of the 3 2 "d Hawaii International
Conference on System Sciences, 1999
23. AOL, Yahoo Jump Aboard Online-Marketplace
Bandwagon, San Jose Mercury News, Mar. 21, 2000.
24. A. Segev and C. Beam Brokering Strategies in
Electronic Commerce Markets, in Proceedings of the
ACM conference on Electronic Conference (May 3-5,
1999, Denver, CO), 1999, pp. 167-176.
25. F.B. Viegas and J.S. Donath Chat circles, in
Proceedings of the CHI 99 Conference on Human
Factors in Computing Systems (May 15-20, Pittsburgh,
PA), 1999, pp. 9-16.
26. P.R. Wurman, MP Wellman and WE Walsh The
Michigan Internet AuctionBot: A ConfigurableAuction
Server for Human and Software Agents, in Proceedings
of the second international conference on Autonomous
Agents (May 10-13, Minneapolis, MN), 1998, pp. 301308.
7
Download