Optimizing agent-based meeting scheduling through preference estimation ARTICLE IN PRESS

advertisement
ARTICLE IN PRESS
Engineering Applications of Artificial Intelligence 16 (2003) 727–743
Optimizing agent-based meeting scheduling through
preference estimation
Andy Chun, Hon Wai*, Rebecca Y.M. Wong
Department of Computer Science, City University of Hong Kong, Tat Chee Avenue, Kowloon, Hong Kong
Received 30 June 2003; received in revised form 16 September 2003; accepted 18 September 2003
Abstract
Meeting scheduling is a routine task that needs to be performed quite regularly and frequently within any organization.
Unfortunately, this task can be quite tedious and time-consuming, potentially requiring a several rounds of negotiations among
many people on the meeting date, time and place before a meeting can finally be confirmed. The objective of our research is to create
an agent-based environment within which meeting scheduling can be performed and optimized. For meeting scheduling, we define
optimality as the solution that has the highest average preference level among all the possible choices. Our model tries to mimic real
life in that an individual’s preferences are not made public. Without complete information, traditional optimal algorithms, such as
A will not work. In this paper, we present a novel ‘‘preference estimation’’ technique that allows us to find optimal solutions to
negotiations problems without needing to know the exact preference models of all the meeting participants beforehand. Instead,
their preferences are ‘‘estimated’’ and built on the fly based on observations of their responses during negotiation. Another unique
contribution is the use of ‘‘preference rules’’ that allow preferences to change dynamical as scheduling decisions are made. This
mimics changing preferences as schedule gets filled. This paper uses two negotiation algorithms to compare the effect of ‘‘preference
estimation’’—one that is based on negotiation through relaxation and the other that extends this with preference estimations.
Simulations were then performed to compare these algorithms.
r 2003 Published by Elsevier Ltd.
Keywords: Meeting scheduling; Distributed scheduling; Agent-based negotiation; Software agents; User preference modeling
1. Introduction
Meeting scheduling is a common task for organizations of any size. In simple terms, it involves searching
for a time and place when and where all the meeting
participants are free and available. There may be global
(organizational) and local (individual) constraints and
preferences on the time and/or location (Yang, 1995). If
information was complete, i.e. all the global and local
constraints and preferences are known to everyone in
the organization, then this can be solved using traditional search algorithms or modeled as a constraintsatisfaction problem (CSP). With complete knowledge,
parallel approaches such as artificial neural network
(ANN) can also be applied to solving meeting scheduling (Tsuchiya et al., 1996). However, in reality, personal
*Corresponding author. Tel.: +852-278-871-94; fax: +852-278-44242.
E-mail addresses: andy.chun@cityu.edu.hk
(H. Wai), 96476300@alumni.cityu.edu.hk (R.Y.M. Wong).
0952-1976/$ - see front matter r 2003 Published by Elsevier Ltd.
doi:10.1016/j.engappai.2003.09.009
constraints and preferences and even the personal
calendar, or part of it, might be hidden from others
for privacy. For example, when asked, one might say: ‘‘I
prefer to have meeting Wednesday or Thursday morning,’’ but is not expected to divulge great details of all
the reasons behind this suggestion.
The main focus of our research is in designing an
optimizing algorithm that can perform distributed
scheduling without complete knowledge of the individual preference models. This is done through a
technique we call ‘‘preference estimation,’’ which is
similar to the concept of ‘‘underestimation’’ in search
evaluation functions combined with dynamic programming.
Our agent-based negotiation algorithm works within
an environment we call Mobile Agents for Office
Automation (MAFOA (Wong et al., 2000)). The
scheduling of a person’s calendar is performed by
negotiations between software agents (Danny and
Mitsuru, 1998; Lange and Chang, 1996), called Secretary Agents (SA), on behalf of the individuals. Each SA
ARTICLE IN PRESS
728
A. Chun et al. / Engineering Applications of Artificial Intelligence 16 (2003) 727–743
represents one person and has access to that person’s
calendar, preferences and constraints. This information
is hidden from all other agents. By insulating the
negotiation process from details of the user model, we
enable our negotiation algorithm to work in heterogeneous environments where agents might be built from
different agent technologies with different user models
and preference strategies. Negotiation in a heterogeneous environment is enabled through a well-defined
negotiation protocols and representation standards,
such as FIPA’s Interaction Protocols (2000) or IETF’s
iCalendar specification (Dawson and Stenerson, 1998).
After a meeting is scheduled, the SA readjusts preferences uses preference rules. This simulates real life where
preferences might be affected by each decision made.
Our negotiation protocol mimics a relaxation process.
The process of proposing and counter proposing a
meeting timeslot starts out with everyone putting
forward their most preferred timeslot and gradually
relaxing their preferences to lesser-preferred slots. A
Meeting Agent (MA) manages the whole negotiation
process. There is one MA per meeting to be scheduled.
This mimics real life where there is always a person in
charge of scheduling a meeting. The MA is also the
agent that performs preference estimation. Using the
result of preference estimation, an MA guides the
negotiation to produce an optimal solution. An MA
remains active even after the meeting is scheduled to
monitor events that might affect the meeting and is
deactivated only after the meeting is finally held.
2. State of the art
Our research is related to algorithms for distributed
scheduling and agent-based negotiation. Meeting scheduling involves a search through a search space of time
intervals constrained by the availability of the participants. In our algorithms, we perform this search as a
negotiation process among software agents that act on
behalf of the meeting participants. The scheduling in our
research is fully automated; scheduling responsibilities
are fully delegated to the software agents. Other
researchers (Biswas et al., 1992) have investigated
distributed meeting scheduling as a computer-assisted
process where humans perform negotiation via the
computer.
The science and techniques of negotiation have been
widely studied in business (Albrecht and Albrecht, 1993)
and economics. Research has been performed on
different negotiation strategies, communication techniques, models of negotiation, and multiparty negotiations, such as those with mediators or coordinators.
In recent years, automated negotiation has drawn the
attention of researchers in computer science and
artificial intelligence. This is due partly to commercial
interests in using negotiation techniques in the Internet
for e-commerce purposes, such as to mimic the role of a
salesperson in negotiating a price. Negotiation techniques can also be used for shared resource allocation,
data allocation (Schwartz and Kraus, 1997), auctioning,
and retail electronic commerce (Guttman and Maes,
1998a). Different negotiation mechanisms (Guttman
and Maes, 1998b; Park and Birmingham, 1995) and
strategies have been studied.
Defining precisely what negotiation is can be difficult
as indicated by Guttman and Maes (1998a). Huhns and
Stephens (1999) define agent negotiation as: ‘‘Negotiation is a process by which a joint decision is reached by
two or more agents, each trying to reach an individual
goal or objective. The agents first communicate their
positions, which might conflict, and then try to move
towards agreement by making concessions or searching
for alternatives.’’
Sen and Durfee (1998, 1996, 1994a) performed a
formal study on distributed meeting scheduling (Sen,
1997) and studied the usefulness of different heuristic
negotiation strategies to solve distributed meeting
scheduling. They have identified different forms of
conflicts and commitment strategies that can affect the
efficiency of a meeting scheduling system conflict
between concurrently active scheduling processes. Sen
et al. (1997) presented a user preference mechanism
based on a voting scheme. They acknowledge that user
preference is important and model preferences as
elections between different alternative proposals. Our
work is different as we generate alternatives dynamically
based on preference estimations that drive the negotiation process to converge towards an optimal result.
Other researchers, such as Sycara et al. also presented
a model of distributed negotiation for meeting scheduling. In their approaches, global search is directed by a
coordination mechanism, which dynamically passes
search control to different agents according to a set of
policies. The model gives each one of the participants
the flexibility to object if a proposed schedule has low
utility for the attendee. User preference is also used in
Liu and Sycara (1994) and Garrido and Sycara (1996),
each agent specifies a set of meeting preferences for
attributes of the meeting, such as date, start-time and
length. To maximize individual’s meeting preferences,
their algorithms schedule the meeting in a calendar
interval with attributes closest to its user meeting
preferences. In the case of Liu and Sycara (1994) and
Garrido and Sycara (1996), it is assumed that the values
closest to the preferred one are better. In Liu and Sycara
(1994), agents exchange meeting scheduling constraints
to create a global model of the problem. In our
approach, agents do not have a global model of the
problem. They only have knowledge of their own
constraints, which seems more realistic. In our system,
the meeting coordinator constructs an estimated global
ARTICLE IN PRESS
A. Chun et al. / Engineering Applications of Artificial Intelligence 16 (2003) 727–743
model based responses received from interactions
between agents, i.e., preference estimation. The actual
personal models remain hidden. Although Garrido and
Sycara (1996) also keep their preferences private, unlike
our approach where there is a centralized meeting
coordinator, their meeting scheduling is totally distributed and relies on sharing of partial calendars. Our
research tries to mimic real life interactions where there
is always one person in charge of scheduling the
meeting; otherwise the meeting might not get scheduled
at all!
*
*
*
3. Meeting-scheduling problem
*
The meeting-scheduling problem is a type of negotiation problem. In MAFOA, a negotiation problem is
associated with a set of fixed and variable attributes. The
initiator of the meeting determines which attributes are
fixed and which are variable. Those that are variable will
be negotiated. For example, a person calling a meeting
might tell his assistant: ‘‘I would like to a hold a project
meeting sometime next week, preferably next Wed
afternoon, with Tom, Nancy,y’’ In this example, the
type of meeting, desired time period when the meeting is
to be held, and the attendees are fixed attributes, while
the day and time are variable attributes.
The following are examples of meeting attributes:
*
*
*
*
Initiator: The host or initiator of the meeting. A
person might consider a meeting called by his/her
immediate supervisor to be more important the
others, for example.
Rank: The rank or position of the person calling the
meeting. Values can be any rank or position within
the organization, such as: CEO, CFO, CTO, VP
R&D, VP Sales, etc.
Attendees: The participants or invitees, a list of
people that need to attend the meeting. This list may
be further classified according to priorities of the
attendees, such as those that ‘‘must,’’ ‘‘should,’’ or
‘‘can’’ attend the meeting. All those that ‘‘must
attend,’’ must be all available before the meeting can
be confirmed, otherwise it will be cancelled. ‘‘Should
attend’’ are the normal participants of the meeting.
‘‘Can attend’’ are casual observers; their availability
will not affect the meeting schedule.
Type: The type of meeting. For example, values might
include: general, departmental, group, strategic,
inter-departmental, technical, marketing, sales, project, interview, etc. This value can be used to
determine the priority of the meeting during scheduling. Higher-priority meetings might be scheduled
earlier or might even take over timeslots from
previously scheduled lower priority meetings, i.e.,
unschedule a meeting, which might get automatically
729
rescheduled by the Meeting Agent that is looking
after that meeting. Unscheduling is performed using
conflict resolution.
Period: The time period that the meeting should be
held, such as ‘‘within the coming 2 weeks,’’ ‘‘within
this week,’’ ‘‘within Friday,’’ etc. The exact date and
time is represented by other attributes.
Duration: The length of the meeting. Values may be a
number of hours or minutes.
Part-of-day: The part of the day that the meeting will
be held. For example, values may be from: breakfast,
morning, lunch, afternoon, dinner or evening. This is
a coarser grain classification than hours and seems to
be more nature in defining time preferences.
Day-of-the-week: Day-of-the-week that the meeting
will be held, such as Monday, Tuesday, etc.
3.1. Initiating a meeting
When a person initiates a meeting, he sets up the
negotiation problem by deciding which attributes are
fixed and which are to be negotiated. For variable
attributes, the initiator might decide to further limit the
domain of possible values, such as ‘‘length’’ in our
example. The initiator constrained the length to be
sometime between 2 and 4 h. The exact length of the
meeting will still need to be negotiated.
This negotiation problem is then handed to that
person’s SA, who already has the user’s preference
model. For each new meeting to be scheduled, the SA
instantiates a new MA to coordinate the overall
negotiation process. The MA also makes negotiation
decisions on behalf of the person initiating the meeting.
Negotiation is performed using a negotiation protocol
that defines the interactions between agents and also the
rules and assumptions of the negotiation process (FIPA
Interaction Protocol Library Specification, 2000). Our
negotiation protocol is a form of multistage negotiation
protocol (Conry et al., 1998) and is a type of contract
net protocol (Sen and Durfee, 1996; Smith, 1980).
Similar protocols are also used in Sen and Durfee (1998,
1996, 1994a), Sen et al. (1997) and Jennings and Jackson
(1995). The content of the negotiation messages can be
in a standard knowledge representation, such as KQML
(Finin et al., 1997). Fig. 1 outlines a typical sequence of
messages involved in MAFOA negotiation:
The following are some of the key messages used in
MAFOA negotiation:
*
Announce event: Details of an event are broadcasted
or multicasted asynchronously to all the potential
participants of the event. This includes the fixed and
variable attributes of the event. Sent along with the
announcement is an optional proposal, i.e., set of
proposed values for the variable attributes of the
event. For example, in meeting scheduling, an event
ARTICLE IN PRESS
730
A. Chun et al. / Engineering Applications of Artificial Intelligence 16 (2003) 727–743
4. User preference model
Fig. 1. UML sequence diagram of typical interactions during
negotiation.
*
*
*
announcement might be: ‘‘Tom would like to hold a
departmental meeting next week, preferably next
Monday morning.’’
Counter propose: Once a SA receives a proposal, it
will need to give a reply that indicates whether the
proposal is acceptable or not and optionally whether
it has a counter proposal. For example, a reply might
be: ‘‘I can make it next Monday morning, but would
prefer the afternoon instead.’’ In MAFOA, we
assume that all agents are ‘‘cooperative’’ and will
reply truthfully on whether a proposal is ‘‘acceptable’’ or not even if the preference level is low. For
meeting scheduling, a proposal is ‘‘not acceptable’’
only when a person has a prior committed event that
overlaps with the proposed timeslot. We also assume
that an agent will always counter propose with its
‘‘best’’ alternative first, which is of course quite
logical. Furthermore, we also assume that an SA will
not counter propose if the original proposal is already
‘‘good enough,’’ i.e., the preference level of the
counter proposal must be higher than that of the
original proposal. It does not make sense to counter
propose with a worse alternative.
Announce proposal: If after processing all the replies
and not finding a feasible solution, an MA will
generate another proposal that is announced to all
the potential participants of the event. For example,
‘‘Not everyone can make it next Monday morning,
how about Tuesday afternoon instead?’’ We assume
that each new proposal will be slightly worse if not
equal in preference level than the previous, from the
meeting initiator’s point of view.
Announce confirmation: Once a feasible solution has
been found, this solution will be announced to all
those involved in the event.
A unique contribution of our research is our
formalization of a user preference model that supports
optimal negotiation. Studies (Higa et al., 1996) show
that fully automated meeting scheduling would only be
useful if human factors, such as politics, personal
preferences, power structure, etc. are encoded and used
by the automated system. Each person has his/her own
unique set of personal and business priorities, preferences and constraints. All these come into play during
negotiation. In order for us to delegate negotiation to a
software agent, it must also understand and be able to
make use of the unique preferences of an individual. Our
user preference model tries to encapsulate knowledge on
different types of personal preferences and how they
might change according to changes in the environment.
The user preference model is used to influence the
behavior of the software agent during negotiation.
In MAFOA, a negotiation problem is defined by a
finite set of m fixed attributes f1 ; f2 ; y; fm ; whose values
will not change during negotiation, and a finite set of n
variable attributes v1 ; v2 ; y; vn ; whose values will be
negotiated. In addition, each variable attribute vi is
associated with a domain di that defines a finite set of
possible values x1 ; x2 ; y; xk ; which that variable attribute may be assigned. The value of ‘‘time’’ might be
‘‘9 a.m.,’’ ‘‘10 a.m.,’’ etc. The user preference model
allows users to define priorities on variable attributes
and preferences on their potential values as well as rules
on how these priorities and preferences may change due
to changes in the environment or decisions that were
made. A negotiation ‘‘decision’’ or solution is defined as
a set of assignments of value to variable attributes.
Our user preference model associates priorities,
preferences and rules with negotiable variable attributes.
Each person may have his/her own set of priorities,
preferences and rules, which an agent uses during
negotiation to evaluate whether a proposal is acceptable
or not and what counter proposals to make. This
evaluation results in a preference level for each proposal
and counter proposal. The following sections provide
detail definitions of priorities, preferences, rules, and
preference levels. This preference model is stored in and
accessible only by a person’s Secretary Agent.
4.1. Attribute priority
The importance of a negotiable attribute might be
different for different people. For example, the ‘‘location’’ of a meeting might be more important than the
‘‘time’’ to a particular person. The attribute priority api
of a variable attribute vi defines its degree of importance.
It is a number between 0 and APmax ; where APmax is a
global constant. The importance of a particular variable
attribute to a particular person is proportional to the
ARTICLE IN PRESS
A. Chun et al. / Engineering Applications of Artificial Intelligence 16 (2003) 727–743
value of the attribute priority. For example, if the
meeting ‘‘location’’ is important to John, then the
priority for ‘‘location’’ will be higher than all other
attributes of that meeting. Attribute priorities will affect
how an agent negotiates and hence influence the
outcome of the negotiation process.
To ensure that priorities are used fairly among all the
negotiating agents, we normalize the attribute priorities
for a given agent such that their total sum must be equal
to a fixed global constant APtotal :
n
X
apx ¼ APtotal ;
ð1Þ
x¼1
where n is the total number of variable attributes in the
given negotiation problem.
In other words, each agent has the same total number
of priority points to use, as it likes, to influence the
negotiation, i.e., APtotal : This total value will never
change and is the same for all the negotiating agents. If a
priority is adjusted for an agent, all the priorities of that
agent will be affected and normalized back to the same
total value. For example, if the user adjusts priorities api
to new values ap0i with a new total value of
AP0new aAPtotal ; then the new normalized priority will
be as follows:
n
X
ap0i
api ¼
ap0x :
ð2Þ
APtotal ; where AP0new ¼
0
APnew
x¼1
By default, all variable attributes are considered
equally important and hence have the same initial
priority value
apx ¼ APtotal =n:
ð3Þ
4.2. Preference value
A person might consider certain attributes, such as
‘‘location,’’ to be more important than others during
negotiation. Likewise, he might prefer certain values of
these attributes over others, such as preferring location
to be in ‘‘boardroom’’ rather than ‘‘demo room.’’ We
call the amount of preference for a particular value the
preference value.
For each person, each variable attribute vj and each
potential domain value xi ; there is an associated
preference value pvi : The value of pvi indicates the
preference on having vj be assigned the value xi : The
degree of ‘‘preference’’ is proportional to the value of
pvi : The value of pvi may be a number between 0 and
PVmax ; where PVmax is a global constant.
For example, the ‘‘time’’ of the meeting may be a
variable to be negotiated. A particular user may prefer
having the meeting during ‘‘lunch.’’ Hence the preference value for ‘‘lunch’’ will be higher than the
preference value for any other potential values, such as
‘‘morning’’ or ‘‘afternoon.’’
731
Furthermore, as a way to ensure that the preferences
are not abused or overused by an agent and to give each
agent a fair chance in negotiation, we normalize the
preference values, such that the preference values
pv1 ; pv2 ; y; pvk ; of a variable attribute vi with domain
values x1 ; x2 ; y; xk must add up to a fixed global
constant PVtotal :
k
X
pvx ¼ PVtotal ;
ð4Þ
x¼1
where k is the total number of domain values for a
particular variable attribute.
Initially, by default, there is no special preference on
any particular value to be assigned to a variable
attribute. Each potential domain value will be treated
equally. Hence, all preference values pvx of that variable
attribute vi will have equal value and be set to
pvx ¼ PVtotal =k;
ð5Þ
where k is the total number of values in domain di.
4.3. Preference rules
Preference rules is a unique feature of our user
preference model that is not found in previous models.
In addition to attribute priorities and preference values,
each user may also have a finite set of j preference rules
r1 ; r2 ; y; rj ; that defines how these priorities and
preferences may change as variable attributes are
negotiated and assigned values. Each preference rule ri
defines a finite set of conditions that, when all the
conditions are satisfied, trigger actions that cause
priorities and preferences to be adjusted.
ri : if ðc1 ; c2 ; y; cj Þ then ða1 ; a2 ; y; ak Þ:
In MAFOA, rule conditions c1 ; c2 ; y; cj are defined
as a pattern of values on fixed attributes, variable
attributes or global attributes (attributes that are shared
by all agents). Each ci defines a pattern that will be
matched against scheduled events. For example, a rule
might be ‘‘If there is already a meeting on Monday
morning, then I don’t want any other meetings in the
afternoon.’’ The condition of ‘‘meeting on Monday
morning’’ defines a pattern that will be matched against
all scheduled events.
The rule consequence consists of a finite set of actions
a1 ; a2 ; y; ak to be performed on priorities and
preferences once the rule conditions are satisfied. In
MAFOA, we have defined four possible actions on
attribute priorities:
*
incAPðÞ: To increment the attribute priority api of a
given variable attribute vj by a given amount delta.
All the attribute priorities of the given agent will then
be normalized back to the constant sum of APtotal
using Eq. (2).
ARTICLE IN PRESS
A. Chun et al. / Engineering Applications of Artificial Intelligence 16 (2003) 727–743
732
*
*
*
decAPðÞ: To decrement the attribute priority api of a
given variable attribute vj by a given amount delta
and then perform normalization.
max APðÞ: To assign the maximum possible attribute
priority api ¼ APmax to the given variable attribute vj;
all other priorities of this agent will be set to zero for
normalization.
min APðÞ: To assign an attribute priority api ¼ 0 to
the given variable attribute vj and then perform
normalization.
There are another four related actions that can be
performed on preference values:
*
*
*
*
incPVðÞ: To increment the preference value pvi of a
given value xi of a particular variable attribute vj by a
given amount delta. All the preference values
associated with vj will then be normalized back to
the constant sum of PVtotal :
decPVðÞ: To decrement the preference value pvi of a
given value xi of a particular variable attribute vj by a
given amount delta and then perform normalization.
max PVðÞ: To assign the maximum possible preference value pvi ¼ PVmax to the given value xi of a
particular variable attribute vj ; all other preference
values of this variable attribute will be set to zero for
normalization.
min PVðÞ: To assign a preference value pvi ¼ 0 to the
given value xi of a particular variable attribute vj and
then perform normalization.
Our preference rule technique makes our user
preference model more realistic when compared with
previous models, which are all static. Our model is
dynamic and automatically changes and adopts itself
with the current environment. Although the model is
dynamic, preference rules are checked and fired only
after each scheduling decision. They are not fired during
the dynamic negotiation process—as nothing in the
schedule has changed to cause their preferences to
change. For example, if a meeting has just been
scheduled for Friday afternoon, this will impact the
preference for scheduling another meeting in the same
morning. Therefore, the preference rules will not impact
the optimality of the solution, as the preference values
will remain constant until a decision point is reached.
proposed solution is called a proposal when offered by
the initiating agent, i.e., the agent that initiated the
problem to be negotiated, and a counter proposal when
offered by any other agent involved in the negotiation.
For example, a proposal/counter proposal Px might
be the tuple ðV1 ; V2 ; yVn Þ where each Vj is a constant
value from the domain dj of variable attribute vj : If we
need to negotiate the ‘‘day’’ and ‘‘time’’ of a meeting, a
potential proposal might be the tuple (‘‘Tue’’, ‘‘9 a.m.’’).
In MAFOA, the result of evaluating how satisfied an
agent is with a proposal or counter proposal is called the
preference level of that proposal. Different agents might
of course potentially have a different preference level for
the same proposal. For agent i, for a negotiation
problem with n variable attributes, the preference level
pli for a particular proposal/counter proposal Px is
defined as
n
X
pli ðPx Þ ¼
apj pvjk ;
ð5Þ
j¼1
where pvjk is the preference value for the assignment of
value Vk to the variable attribute vj and apj is the
attribute priority.
A proposal/counter proposal with a higher preference
level means it is more preferred.
4.5. Defining priorities and preferences
In MAFOA, a person defines and modifies his/her
user preference model via a simple interface, such as that
shown in Fig. 2. Pino and Mora (1997) and Pino et al.
(1998) offers a different form of graphic user interfaces
based on rules and timeslots to define meeting preferences, which they call lateral model. In their case, a
human meeting coordinator uses the preference information. In MAFOA, only an individual’s Secretary
Agent uses the user preference model.
4.4. Preference levels
In MAFOA, a potential solution to a negotiation
problem is defined as a tuple from d1 xd2 xyxdn such
that the n assignments of values to the problem’s
variable attributes is to the ‘‘satisfaction’’ of all the
negotiating agents, i.e., a compromise is found. During
the negotiation process, each negotiating agent will need
to evaluate how ‘‘satisfied’’ it might or might not be with
the proposed compromise/solution. In MAFOA, each
Fig. 2. A menu to adjust user preferences for ‘‘day of the week’’
attribute.
ARTICLE IN PRESS
A. Chun et al. / Engineering Applications of Artificial Intelligence 16 (2003) 727–743
In MAFOA, for each attribute, the user can assign a
priority. For each potential attribute value, the user can
assign a preference. The details of the mathematics
involved are hidden from the user. Once he confirms his
preferences, the system automatically normalizes all the
values according to normalization rules defined above.
Luo et al. (2000) takes an alternative approach and use
fuzzy constraints to model preferences. However, fuzzy
preferences must be defined for individual timeslots. In
our model, preferences can be define much more easily
and is adequate for the purpose of determining a
preference level for a proposal.
5. Agent structure
For meeting scheduling, MAFOA uses the services of
two types of software agents—MA and SA. There is one
MA per meeting and there is one SA per user.
5.1. Secretary agent
An SA, like its human counterpart, knows a person’s
individual calendar or schedule, possibly both business
and personal, as well as that person’s preferences. This
schedule is stored in a ‘‘Schedule’’ data structure that is
basically a timetable of events that a personal is
committed to participating and events that a person is
interested in and might consider participating if time
permits, and general broadcasted events. A person’s
preferences are stored using the ‘‘User Preference
Model’’ we have defined earlier that consists of
priorities, preferences and rules.
Given a person’s schedule and preferences, we will
then be able to determine when a person is free and what
his preferences are in using those free timeslots for a
particular event, such as a meeting. For each announced
event that the user is invited to participate, the SA will
create a sorted ‘‘preference vector’’ (PV) (see Fig. 3) to
store pre-computed preferences to be used during
negotiation in evaluating proposals and in generating
counter proposals.
733
5.2. Preference vector
The preference vector is a sorted vector of a person’s
preferences on different alternative proposals for an
announced event, such as a meeting. The vector is sorted
according to the value of the preference level of a
proposed alternative. The preference level is computed
based on Eq. (5), which was explained earlier in the
paper. For example, if we have a simplified meeting
event with only two attributes—day-of-the-week and
part-of-the-day, then ‘‘Mon at noon,’’ ‘‘Tue in the
morning,’’ ‘‘Fri afternoon,’’ etc. would be valid alternatives or proposals. The preference level for these
proposals will be different for different people and will
depend on parameters stored in the user preference
model. For meeting scheduling, only proposals that the
user is willing to commit to are included, i.e., only
proposals for time periods when the user is free will be
included.
The PV contains a ‘‘current’’ pointer (Fig. 4) that
points to the current counter proposal that has been
offered by this SA to a MA. An SA will start off by
offering what it considers to be the ‘‘best’’ counter
proposal for its user, i.e., the counter proposal with the
highest preference level, and gradually move down the
vector. The difference between the final committed
proposal and the best represents the ‘‘compromise’’ that
this SA has made.
5.3. Meeting agent
The role of an MA is to coordinate the scheduling of
an individual meeting event, to track global events that
might affect that meeting schedule and decommissioning
itself when the meeting is finally held. An MA also
represents the interest of the user that initiated the
meeting when negotiation with other agents. An SA
creates an MA when the user initiates a meeting. The SA
also passes along the PV to the MA. Only an SA can
generate a PV, since the user preference model is only
accessible by the SA.
The MA uses the PV to generate proposals that is
offered to each SA involved in the meeting. In return,
each SA can firstly accept or refuse the proposal, and
Fig. 3. UML class diagram of the MA and SA.
ARTICLE IN PRESS
734
A. Chun et al. / Engineering Applications of Artificial Intelligence 16 (2003) 727–743
secondly offer a counter proposal from its our PV.
These proposals and counter proposals are all stored
and tallied in a ‘‘Proposal Table’’ data structure (Fig. 5)
that allows a MA to make negotiation decisions.
A ‘‘timeslot’’ in the proposal table is a combination of
‘‘start time’’ and ‘‘duration,’’ as there may be proposals
with different durations as well as start times. There is a
marker or token (see Fig. 5) when a timeslot has been
proposed. If a participating SA accepts this timeslot,
another token will be added. For each set of proposals
announced by the MA, the SA can optionally offer a set
of counter proposals. These counter proposals are also
represented by tokens and stored in their respective
timeslots. If any SA rejects a proposal, that timeslot will
be marked as infeasible and will not be considered
anymore, for example timeslot T4 in Fig. 5. A solution is
found when there is a timeslot where the total number of
tokens equals the number of participants.
The purpose of the proposal table is to provide
additional information to an MA to help it make
decisions on negotiation strategies. For example, it may
decide to go for a quick solution by offering proposals
with high ‘‘mass appeal,’’ i.e., those timeslots with high
number of tokens, such as timeslot T2 in Fig. 6. Or, it
may decide to go for a high quality solution (from the
meeting initiator’s point of view) by continuing to
propose from its PV.
6. The negotiation algorithms
A unique contribution of our research is the use of
preference estimations that allows optimal meeting
schedules to be found—schedules with highest average
preference levels. To illustrate how preference estimation
works, this paper compares two negotiation algorithms:
Algorithm 1 (NWOPI), which is based on relaxation
only, and Algorithm 2 (NWPI), which is based on
relaxation plus preference estimations.
Fig. 4. The structure of the PV.
Fig. 5. The structure of the proposal table.
Fig. 6. Example of the proposal table after some more negotiation.
ARTICLE IN PRESS
A. Chun et al. / Engineering Applications of Artificial Intelligence 16 (2003) 727–743
6.1. Relaxation
Our relaxation-based negotiation is in some ways
similar to performing heuristic-guided search. The
heuristics determines which potential solutions are more
preferred over others within an upper and lower bound
in terms of preference levels. The heuristics or preferences guide the search in locating higher quality
solutions. However, preferences are unique to each
individual. Therefore, each agent’s heuristics might
contradict and compete with each other. If everyone
holds on to their most preferred proposal, the problem
will be over constrained and there will be no solution.
The relaxation process gradually lowers the lower
bounds on the preference level and expands the search
tree until a mutually beneficial solution is found.
Initially, differences between agents may be great. A
proposal that is good for one agent might be really bad
for another. The relaxation process gradually reduces
this difference until a common ground or compromise is
found. The MA, responsible for coordinating the
negotiation process, will use proposals stored in its PV
to lead the relaxation process.
Bui et al. (1995) offers a different approach to
negotiation called incremental negotiation where negotiation are performed on meeting attributes in a
hierarchical structure. For example, the part of the
week (early or late) might first be negotiated, then the
day of the week, and then the hour. In other words,
individual variable attributes are negotiated one after
another in hierarchical fashion. In MAFAO, a proposal
contains a complete set of proposed variable attribute
values and the whole set is negotiated.
6.2. Preference estimation
Since the negotiation or distributed search process is
guided by MA’s proposals, the speed and accuracy with
which a solution is found depends on whether the MA
can propose solutions that everyone might be ‘‘happy’’
with and early on in the search. This ability will reduce
the number of negotiation cycles that the MA must go
through. However, since an individual’s user preference
model is hidden from others, preference estimation is a
technique to dynamically ‘‘guess’’ global preferences in
generating proposals without needing details of each of
the participant’s preference model. Details of preference
estimation will be described later in Algorithm 2
(NWPI). This is similar to how a human negotiator
would try to guess what the other values as more
important to come up with a compromise solution.
6.3. Algorithm 1 (NWOPI)—relaxation
Algorithm 1 (NWOPI) is to highlight how the
relaxation technique is used to guide a negotiation.
735
Algorithm 1 is similar to the negotiation process defined
in Sen and Durfee (1998). In Sen and Durfee (1998), the
negotiation process uses the ‘‘earliest’’ timeslot to guide
the negotiation. This means timeslots will be proposed
using an ‘‘earliest available timeslot first’’ heuristic. In
our approach, the user preference model guides the
search—the timeslot with the ‘‘best’’ preference estimations first. We believe this is a better approach, as the
‘‘earliest’’ timeslot might not necessarily always be the
most preferred one. In Algorithm 1, individual SA’s
preferences are not passed back to the MA. This is
similar to the private preference model of Garrido and
Sycara (1996).
Fig. 7 highlights the main flow of the MAFOA
negotiation algorithms. Both Algorithms 1 and 2 follow
basically the same flow—negotiation consists of iterations of proposing and counter proposing. The main
difference is in the type of information stored in the
counter proposal as well as how new proposals are
generated. For Algorithm 1, individual’s preferences are
hidden from the MA. The MA relies mainly on the
preferences of the initiating agent plus the counter
proposals to guide the search. For Algorithm 2,
preference levels are fed back to the MA, which allows
it to form preference estimations and guide the
negotiation towards an optimal solution.
The key action states in our algorithms are:
Step 1: Define meeting—the user initiating the meeting provides details of the meeting to be scheduled and
then submits them to his SA. For each meeting to be
scheduled, the SA creates a MA to manage the
negotiation process.
Step 2: Generate preferences—the SA, based on the
person’s calendar and user preference model, produces a
list of possible proposals, which are then sorted
according to their preference levels and stored in a PV.
This PV will then be passed to the newly created MA.
Step 3: Initialization—the MA initializes itself with
the SA’s PV. It also starts the actions 4.1x and 4.2,
which are performed in parallel.
Steps 4.1x:
(a) Select proposal—For Algorithm 1, we use a ‘‘best
first’’ strategy to select the ‘‘best’’ proposals, i.e., the
proposal with the highest preference level, from the
MA’s PV.
(b) Announce meeting—Details of the meeting plus n
selected proposals will be announced to the SA of
each meeting participant.
(c) Generate preferences—This is basically the same as
Step 2 but for the participants. This PV generated
will not be passed to the MA. It will only be stored
within and known to the individual SA.
(d) Counter propose—The participant SA first determines whether any of the n proposals are feasible or
not. It then tries to select m counter proposals that
ARTICLE IN PRESS
736
A. Chun et al. / Engineering Applications of Artificial Intelligence 16 (2003) 727–743
Fig. 7. UML activity diagram of the negotiation algorithms.
have higher preference levels than those proposed
by the MA. It passes both sets of information as a
‘‘counter proposal’’ to the MA.
Step 4.2: Consolidate replies—the MA collects these
counter proposals from all the participating SAs and
consolidates them to determine which of the following
three cases to follow:
Case 1: No solution—if any one SA returns an
‘‘empty’’ counter proposal—none of the n proposals are
acceptable and no counter proposal—then there is no
solution and the meeting is cancelled, i.e., go to Step 8.
Case 2: Proposal accepted!—otherwise, it tries to
determine whether a consensus has been made, i.e., if all
the participants of the meeting accept at least one of the
n proposals. If so, it goes to Step 7 to announce that the
meeting is confirmed.
Case 3: Proposal not accepted—If none of the n
proposals are accepted, the MA must make select and
announce another set of n proposals, i.e., go to Step 5.
Step 5: Select new proposal—this step uses the same
strategy as Step 4.1a in selecting the next set of n
proposals to announce.
Step 6: Announce proposal—this is similar to Step
4.1b except that only the proposals are announced;
without the details of the meeting, which are already
stored locally in each SA.
Step 7: Announce confirmation—an announcement is
made to all the meeting participants that a proposal has
been mutually accepted. The SA shall commit this in its
calendar of events.
Step 8: Announce cancellation—an announcement is
made to all the meeting participants that the meeting
cannot be scheduled and is cancelled.
6.4. Algorithm 2 (NWPI)—relaxation+preference
estimation
Algorithm 2 (NWPI) extends Algorithm 1 with what
we call preference estimation that allows an MA to
‘‘estimate’’ the global preference level of a proposal and
then select those proposals that are more likely to get
accepted, hence generating higher quality solutions. In
order to do so, individual SA’s preferences for each
proposal/counter proposal are also sent to the MA with
their replies. This is similar to the public preference
model of Garrido and Sycara (1996). In MAFOA, we
make use of a preference estimation vector (PEV) to
perform preference estimation.
The PEV is similar to the PV (see Fig. 4) in that it is a
sorted vector of proposals and preference levels.
However, unlike the PV where the preference level is
based purely on the user preference model of a single
user, the PEV consolidates preference levels from all the
ARTICLE IN PRESS
A. Chun et al. / Engineering Applications of Artificial Intelligence 16 (2003) 727–743
participating agents and is dynamically sorted according
to the ‘‘estimated’’ global preference level at that time. It
is only ‘‘estimated’’ since the MA does not have access
to the actual user preference models of the individual
meeting participants.
Preference estimation in Algorithm 2 is done by
extending three of the steps in Algorithm 1—Steps 4.1d,
4.2 and 5.
Step 1: Define meeting—initialize negotiation problem.
Step 2: Generate preferences—initiator’s SA generates
preferences for newly created MA.
Step 3: Initialization—the MA initializes itself and
performs 4.1x and 4.2 in parallel.
Steps 4.1x:
(a) Select proposal—select next n ‘‘best’’ proposals.
(b) Announce meeting—announce meeting and n selected proposals.
(c) Generate preferences—meeting participants generate preferences.
(d) Counter propose—this is similar to Algorithm 1,
except that proposal confirmation and counter
proposals are all sent back together with the actual
preference level; the user preference model is never
passed to anyone. This is similar to Jennings and
Jackson (1995) where an average preference level is
computed from the individual preference levels that
are passed back. However, we believe our approach
is better than that in Jennings and Jackson (1995),
since we use preference estimation to reduce the
number of interactions needed to find an optimal
solution. In Jennings and Jackson (1995), an
average preference level is computed from the
individual preference levels that are passed back.
However, Jennings and Jackson (1995) does not use
preference estimation to rank the remaining proposals. Algorithm 1 simulates the approach used in
Jennings and Jackson (1995), while Algorithm 2
shows that with the addition of preference estimation optimal schedules can be produced. Since
counter proposals’ preference levels are always
decreasing, i.e., always propose more preferred
alternatives first; we can use these values as an
upper bound on any future preference levels for this
737
SA. Fig. 8 shows the proposal table that consolidates counter proposals, now with preference levels.
Algorithm 2 also contains a ‘‘latest preference list’’
(LPL) that stores the ‘‘most recent’’ preference level
received from each of the meeting participants. These
values become the upper bounds on preference levels for
any future counter proposals from the participants.
Step 4.2: Consolidate replies—the end conditions for
Algorithm 2 are slightly different from that of Algorithm 1. Algorithm 1 stops as soon as a ‘‘common
interval’’ or consensus has been found. Algorithm 2,
however, continues the search until the ‘‘common
interval’’ found is the one with the highest average
preference level, i.e., the first element in the PEV. Similar
to branch-and-bound (Lawler and Wood, 1966) or A
search (Shapiro, 1992), the search does not stop, even
after a solution has been found, until all other
alternatives have poorer evaluation scores. In our case,
the average preference level of all other alternatives must
be lower than that of the newly found ‘‘common
interval.’’ After receiving all the counter proposals, the
PEV is updated with more accurate preference levels and
resorted. Based on the new PEV, Algorithm 2’s end
conditions are:
Case 1: No solution—if any one SA returns an
‘‘empty’’ counter proposal—none of the n proposals are
acceptable and no counter proposal—then there is no
solution and the meeting is cancelled, i.e., go to Step 8.
Case 2: Proposal accepted—otherwise, it tries to
determine whether a consensus has been made, i.e., if
all the participants of the meeting accept at least one of
the n proposals. If so and if this consensus or ‘‘common
interval’’ has the best average preference level, it goes to
Step 7 to announce that the meeting is confirmed.
Case 3: Proposal not accepted—otherwise, the MA
must make select and announce another set of n
proposals, i.e., go to Step 5.
Step 5: Select new proposal—instead of selecting the
‘‘best’’ n proposals from the PV, Algorithm 2 selects the
n best proposals from the dynamically sorted PEV,
which consolidates preference levels received from Step
4.1d. Since the negotiation process will be directly driven
from the PEV, this is a form of dynamic programming
Fig. 8. The proposal table for Algorithm 2 with additional preference levels.
ARTICLE IN PRESS
738
A. Chun et al. / Engineering Applications of Artificial Intelligence 16 (2003) 727–743
that allows the MA to dynamically change negotiation
direction as more information is received through
counter proposals.
Step 6: Announce proposal—announce n proposals to
participants.
Step 7: Announce confirmation—confirm meeting.
Step 8: Announce cancellation—cancel meeting.
The PEV is dynamically sorted using the average
‘‘estimated’’ preference level of each proposal/counter
proposal. Only the MA has the PEV, as the MA is
responsible for driving the negotiation process through
its proposal selection from the PEV. For agent i, the
estimated preference level pl0i ðPx Þ of any proposal/
counter proposal Px is defined as
8
pli ðPx Þ if Px has already been proposed=
>
>
>
< counter proposed;
ð6Þ
pl0i ðPx Þ ¼
>
minðpli ðPx Þjx Þ for all Px proposed=
>
>
:
counter proposed:
The estimated preference level pl0i ðPx Þ is equal to the
actual pli ðPx Þ if Px has already been proposed or
counter proposed before. As Step 4.1d requires the
actual preference level to be passed back to the MA
during the counter propose step. Otherwise, we will use
the minimum preference level received so far from the
SA. This is equivalent to the ‘‘most recent’’ preference
level, as the value will be decreasing. SA will always
propose the ‘‘best’’ or ‘‘most preferred’’ alternatives
first. This usage of the minimum value is similar to
‘‘underestimation’’ in A search algorithms (Shapiro,
1992). The evaluation function f 0 ðnÞ in A is equal to
gðnÞ þ h0 ðnÞ; where gðnÞ is the actual cost from start to
node n and h0 ðnÞ is the estimated minimal cost path from
n to goal, i.e., the underestimated remaining cost. For
our meeting-scheduling algorithm, n is analogous to a
particular cycle in the negotiation process. The actual
costs are the preference levels of the counter proposals
received and the estimated costs are the estimated
preference levels of new proposals. By using the
‘‘current’’ or ‘‘minimum’’ preference level as the
estimated preference level, we guarantee that good
solutions will not be ‘‘overlooked;’’ since the actual
preference level will in fact be lower.
Instead of adding the costs, our evaluation function
computes the average preference level. With the pl0i ðPx Þ
value for every participant and every proposal, the MA
can then compute the global average preference level
aplðPx Þ for each proposal Px :
Pn
pl0 ðPx Þ
;
ð7Þ
aplðPx Þ ¼ i¼1 i
n
where n is the total number of participants.
This average preference level provides a more ‘‘global’’
indication of how preferred one proposal might be
compared with another and hence the chances of it
getting accepted. The average preference level aplðPx Þ
for each proposal is updated once per negotiation cycle
to reflect additional preference level information received during the negotiation, i.e., the pl0i ðPx Þ value will
get more and more precise with each negotiation cycle.
The PEV is dynamically sorted in Step 4.2 prior to each
proposal selection step (Step 5). In Algorithm 2, the MA
will propose the n proposals with the highest aplðPÞ
value during each cycle.
For some negotiation problems, different levels of
collaboration may be required or expected from
different participating agents. For example, there may
be a group of agents that ‘‘must’’ participate in the
event, a group that ‘‘should’’ participate, and a group
that ‘‘can’’ participate if they so wish. For these cases, a
weighted evaluation function is used to give more
consideration to preferences from the ‘‘must’’ and
‘‘should’’ group:
f ðPx Þ
P
P
Pmust
wm pl0i ðPx Þ þ should
ws pl0j ðPx Þ þ can
wc pl0k ðPx Þ
i
j
k
;
¼
n
ð8Þ
where n is the total number of participants in the event; i
is an agent from the ‘‘must’’ group, j is an agent from the
‘‘should’’ group, k is an agent from the ‘‘can’’ group, wm
is a weight factor for the ‘‘must’’ group and is usually
greater than 1.0, ws is a weight factor for the ‘‘should’’
group and is usually greater than or equal to 1.0 and wc
is a weight factor for the ‘‘can’’ group and is usually less
than or equal to 1.0.
7. Computer simulations
Computer simulation was performed for the following
objectives: to compare the performances of Algorithms
1 and 2, verify that Algorithm 2 produces optimal
solutions, and to determine the tradeoffs in using
Algorithm 1 versus 2. In our simulation program, we
are able to specific a set of simulation parameters:
Number of simulation cycles—total number of times
the whole simulation is to be executed.
Hours of meetings (H)—total number of hours of
meetings to be scheduled/simulation cycle.
Max number of participants—maximum number of
participants in any one meeting.
Calendar size—the total number of days of meeting
scheduling to be simulated.
Length of day—the number of hours in a day to be
scheduled. For example, we might just want to simulate
the scheduling of meetings within office hours.
Calendar density (CD)—the number of hours that
is already preoccupied by prior engagements. This is
to simulate the effect of having some timeslots
ARTICLE IN PRESS
A. Chun et al. / Engineering Applications of Artificial Intelligence 16 (2003) 727–743
pre-allocated from previous meeting scheduling exercises or for annual leave, training, holidays, etc.
Number of proposals (n)—number of proposals sent
from MA to SA during each cycle.
Number of counter proposals (m)—number of
counter proposals to be returned from SA to MA
during each negotiation cycle.
The initial state of each attendee’s calendar is
determined by the parameter ‘‘calendar density’’ (CD)
that indicates the number of occupied slot in the
attendee’s calendar. The exact occupied slots are also
randomly generated, i.e. if CD ¼ 5; the program will
randomly generate 5 busy slots in each person’s calendar
using a normal distribution. Each randomly generated
meeting event is defined by a set of attributes—the starttime, end-time, length, participants, host, etc. For
simulation purposes, meeting lengths are randomly
generated. The ‘‘attribute priority’’ and ‘‘preference
value’’ are also randomly generated for each participant
for each simulation run. Since this paper does not cover
commitment strategies, our computer simulation schedules the randomly generated meetings one at a time.
Furthermore, we assume that the meetings are independent events, i.e., no sequential constraints are imposed.
Detailed analysis on the effects of different commitment
strategies for concurrent scheduling of meetings were
carried out in Sen and Durfee (1994b). In our
simulations, since there is no concurrency, we can use
either the committed strategy or the non-committed
strategy as defined in Sen and Durfee (1994b). The
‘‘preference rules’’ are not involved in the simulation as
they are only used after a meeting has been scheduled
and do not affect the outcome of the simulations.
For the purpose of comparison, we defined the
following measurements to be made on the simulation
results. The basic measurements are:
H
CD
SHC
jSHC j
jSiHC j
MjHC
PPtjHC
RjHC
RHC
RHC ¼
number of hours to be scheduled;
number of occupied hours in the calendar per
agent;
set of randomly generated meeting based on
parameters H and CD;
number of meetings in SHC ;
number of meeting in SHC that involves agent
i
jth meeting in SHC to be scheduled (contains
many alternative proposals);
number of participant in MjHC ;
total number of requests required to schedule
meeting MjHC ;
average number of requests to schedule
meetings in the meeting set SHC
!
j
X
RjHC =jSHC j:
1
739
Measurements related to committed meetings:
agent i’s preference level for the final committed proposal for MjHC: ;
average preference level (AP) for committed
meeting MjHC
!
i
X
¼
PijHC =PPtjHC :
PijHC
APjHC
APjHC
1
APHC
APHC
average of the AP’s for all the committed
meetings in set SHC
!
i
X
¼
APjHC =jSHC j:
1
Measurements related to overall optimal solutions:
OjHC
AOHC
AOHC
optimal or best AP for all proposals in
meeting MjHC ;
average of all the optimal AP’s for the whole
meeting set SHC ;
!
j
X
¼
OjHC =jSHC j:
DOjHC
difference between optimal AP and AP of
committed proposal for MjHC
ADOjHC ¼ OjHC APjHC :
ADOHC
ADOHC
average difference between optimal AP and
committed AP for SHC
!
j
X
¼
ADOjHC =jSHC j:
Measurements related to individual’s ‘‘expected’’
solutions:
EPijHC
DEijHC
agent i’s ‘‘expected’’ preference for meeting
MjHC —the highest preference level out of all
the possible proposals for MjHC ;
agent i’s difference between expected and
final preference level for MjHC :
DEijHC ¼ EPijHC PijHC :
ADEjHC average difference from expectation on meeting MjHC
!
i
X
ADEjHC ¼
DEijHC =PPtjHC :
ARTICLE IN PRESS
A. Chun et al. / Engineering Applications of Artificial Intelligence 16 (2003) 727–743
740
ADEHC
ADEHC
PDijHC
average difference from expectation on whole
meeting set SHC
!
j
X
¼
ADEijHC =jSHC j:
percentage deviation of actual vs. expected
preference level for agent i on meeting MjHC
PDijHC ¼ DEijHC =EPijHC 100%:
APDiHC
APDiHC
PDjHC
PDjHC
average percentage deviation of agent i on
meeting set SHC
!
j
X
¼
PDijHC =jSiHC j:
Table 1
Optimal preference level and average differences from optimal
Calendar AOHC
ADOHC
density
Alg 1 NWOPI Alg 2 NWPI Alg 1 NWOPI Alg 2 NWPI
0
1
2
3
4
5
6
7
8
9
10
11
12
13
28.82753
28.13506
27.37358
26.40423
25.7022
24.72347
23.87449
22.87245
22.04794
21.2655
20.61108
19.95342
18.98034
18.23806
average percentage deviation for meeting
MjHC for all participants
!
j
X
¼
PDijHC =PPtjHC :
28.144682
27.522175
26.7121
25.933998
24.976007
24.100136
23.418562
22.53191
21.933178
21.050583
20.303194
19.65437
18.683361
17.959663
2.173903
2.075616
1.986882
1.892491
1.85187
1.677021
1.571699
1.480634
1.385773
1.22031
1.239456
1.199134
1.053649
1.023845
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Average Preference, APHC
29
APDHC
average percentage deviation on the meeting
set SHC
!
j
X
¼
PDjHC =jSHC j:
27
Preference Level
APDHC
25
NWPI
23
NWOPI
21
19
17
15
7.1. Simulation results
This section compares the simulation results of
Algorithm 1 with Algorithm 2 from executing our
simulation program with the following simulation
parameters. (The simulation setting used by our experiments was selected to simulate those used in Sen and
Durfee, 1998).
Number of simulation cycles=100;
Hours of meetings=35;
Max number of participants=6;
Calendar size=6;
Length of day=8;
Calendar density (CD)=from 0 to 13;
Number of proposals=1;
Number of counter proposals=1.
Table 1 summarizes a few key measurements for
Algorithm 1 (NWOPI) and Algorithm 2 (NWPI) with
average results obtained over 100 simulation runs with
input parameter ‘‘hours of meetings’’=35 and ‘‘calendar
density’’ ranging from 0 to 13. The average optimal
preference level, AOHC ; and the average difference from
optimal, ADOHC ; of the two algorithms in different
0
1 2
3 4 5
6 7
8 9 10 11 12 13
Calendar Density
Chart 1. The average preference levels of each scheduled meeting.
calendar densities are shown in Table 1. The AOHC is
the average of the highest possible preference level that
can be found for each meeting to be scheduled. This
value is slightly lower for Algorithm 2, as it always finds
an optimal solution, hence the optimal preference value
for each next meeting to be scheduled will be lower. For
Algorithm 1, the objective is to find a quick solution
without optimality. The possible optimal value will
always be higher as the preferred time slots might not
have been taken. As the table shows, Algorithm 2
(NWPI) always finds an optimal solution. This is an
interesting result, as past research in negotiated meeting
scheduling only focused on modeling or algorithm
efficiency, but not optimality. This result shows that
optimality can be obtained by the simple addition of
preference estimation.
Chart 1 shows that the average preference levels of the
committed meeting schedules obtained by Algorithms 1
and 2. Obviously, the overall preference level will
ARTICLE IN PRESS
A. Chun et al. / Engineering Applications of Artificial Intelligence 16 (2003) 727–743
decrease with the calendar densities. This chart also
compares the gain in preference level obtained with
Algorithm 2 using preference estimation compared with
Algorithm 1 using only relaxation.
We also tested whether our algorithms have a bias
towards any of the meeting participants. In this
experiment, we arranged most of the meetings to be
hosted by Agent 0. Charts 2 and 3 show the average
deviation of preference levels from ‘‘expected’’ for each
participant. Chart 2 shows that Algorithm 1 (NWOPI)
has a strong bias for Agent 0 (A0)—the meeting
initiator. Obviously, this is due to the fact that
Algorithm 1 does not receive any preference level
indications from the other participants and hence must
rely solely on its own preferences in ranking and
selecting alternatives. However, what is interesting is
that Algorithm 2 (NWPI) produces very similar deviations for each agent; each agent is treated equally in
terms of meeting their preference expectations. This is
despite the fact that the whole negotiation process is
managed by one MA that uses the initiator’s preferences
as initial ‘‘blue print’’ for the negotiation.
Avg Deviation for each Agent, ADPiHC
(NWOPI)
average deviation
60
50
A0
40
A1
A2
30
A3
A4
20
A5
10
0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
Calendar Density
741
Table 2
Success rates and communication cost
CD Meeting success
rate
0
1
2
3
4
5
6
7
8
9
10
11
12
13
Proposal success
rate
Communication cost
(Cycles)
Alg-1
Alg-2
Alg-1
Alg-2
Alg-1
Alg-2
0.9479
0.9248
0.8998
0.8739
0.8464
0.8126
0.7856
0.7547
0.7262
0.701
0.6816
0.6573
0.6277
0.6044
0.9544
0.9343
0.9059
0.8774
0.8415
0.8138
0.7854
0.7564
0.7337
0.7062
0.6789
0.6583
0.6243
0.6019
0.6648
0.5949
0.5384
0.4905
0.4704
0.4365
0.4103
0.3838
0.3571
0.3468
0.3255
0.3162
0.292
0.2813
0.6572
0.5509
0.4738
0.4187
0.3878
0.3525
0.3234
0.2919
0.2798
0.2651
0.2487
0.2343
0.2164
0.2028
2.5244
2.8119
3.1988
3.5494
3.8572
4.2626
4.6046
4.8802
5.1911
5.2168
5.4258
5.5664
5.7701
5.6918
10.13
10.092
10.373
10.726
11.115
11.634
12.135
12.52
12.738
13.198
13.235
13.518
14.012
14.08
We also computed the average success rates for
meetings and proposals as well as the number of cycles
required to schedule a meeting for different calendar
densities (CD) (see Table 2). We found the on average,
Algorithm 2 (NWPI) requires more negotiation cycles to
complete compared to Algorithm 1 (NWOPI). In other
words, Algorithm 1 finds a fast solution, which might
not be optimal, while Algorithm 2 finds an optimal
solution but requires a few more cycles. It is interesting
to note that the meeting success rate for Algorithm 2 is
actually slightly higher than Algorithm 1. In other
words, finding optimal solutions actually increases the
likelihood of success. The proposal success rate for
Algorithm 2 is of course lower as more proposals need
to be negotiated in order to find the optimal one.
However, this difference is not substantial.
Chart 2. The average deviation for each agent using Algorithm 1
(NWOPI).
8. Conclusion
Avg Deviation for each Agent, APDiHC (NWPI)
Average Deviation
60
A0
50
A1
40
A2
A3
30
A4
20
A5
10
0
0
1
2
3
4
5
6
7
8
9 10 11 12 13
Calendar Density
Chart 3. The average deviation for each agent using Algorithm 2
(NWPI).
In this paper, we presented MAFOA’s approach to
distributed agent-based meeting scheduling. We also
outlined a novel preference estimation technique that
allows optimal meeting schedules to be found without
complete knowledge of individual user preference
models. Our approach to user preference modeling
involves priorities, preferences and rules, and a method
to use the user preference model in evaluating scheduling proposals through preference levels. We also
described two meeting scheduling algorithms—Algorithm 1 (NWOPI) and Algorithm 2 (NWPI)—that are
based on a negotiation protocol that uses this methodology. Using simulation, we verified that Algorithm 2,
using preference estimation, finds the optimal solution at
only a slightly higher cost that Algorithm 1, which relies
on relaxation.
ARTICLE IN PRESS
742
A. Chun et al. / Engineering Applications of Artificial Intelligence 16 (2003) 727–743
8.1. Conflict resolution extensions
Besides research on using relaxation and preference
estimation techniques in negotiation, we have also
performed research on conflict resolution as extensions
to the above algorithms. Although full details of conflict
resolution might be outside the scope of this paper, we
would like to explain briefly how it helps improve our
algorithms. As mentioned above, the attendee list may
be further qualified with ‘‘must,’’ ‘‘should’’ and ‘‘can.’’
When a solution cannot be found in our previous
Algorithms 1 and 2, the meeting is cancelled. With
conflict resolution, the algorithm tries to resolve this
impasse using a technique similar to dependency directed
backtracking (Stallman and Sussman, 1977). In our case,
the dependency is the source of the impasse—those
previously committed events that conflict with the
current event being scheduled. For each rejected
proposal, the MA keeps track of conflict levels that
serve as indications of the number of conflicts and the
priorities of those conflicts. When an impasse occurs, the
MA tries first to relax the problem by considering only
‘‘must’’ and ‘‘should’’ attendees. If no solution can be
found, it then triggers rescheduling for previously
committed but less important meetings. It does this by
locating a previously rejected proposal where the
number of conflicts is below a threshold and where the
conflicting events are less important than the current
events. This is done using a technique we call conflict
estimation, which is similar to preference estimation.
Preference estimation allows us to guess which proposal
will most likely get accepted. Conflict estimation allows
us to guess which proposal might cause the least amount
of conflicts. If conflict resolution is successful, the
current event gets committed. Otherwise, the meeting
will be cancelled as before. The meeting will still be
cancelled if the number of conflicts is above the
threshold, i.e., too many meetings to reschedule and
might not worth the trouble. This threshold can be
dependent on the important of the current meeting
being scheduled.
Ashir et al. (1997) introduces a concept called quorum
and a two-round negotiation protocol that allow a meeting
to be scheduled even when non-mandatory invitees are
not available. However, in Ashir, quorum is used only as
a way to relax the meeting-scheduling problem and to
improve efficiency. In our case, the attendee list is used to
trigger rescheduling if the current meeting cannot be
scheduled because of conflicts with ‘‘must’’ and ‘‘should’’
attendees’ schedule. Unscheduling (or moving) a lesser
priority meeting to make time for another has also been
studied by Woo et al. (1999). Their research is also based
on agent negotiation using a contract net protocol (Sen
and Durfee, 1996). However, Woo et al. does not use
attendee qualifiers as we do to relax the problem prior to
conflict resolution. Furthermore, rescheduling is per-
formed by an agent that has complete knowledge of all
the participants’ schedule. In our case, the MA only
knows conflict levels while details of individual’s schedule
remains hidden to protect privacy.
Acknowledgements
The work described in this paper was substantially
supported by a grant from the Research Grants Council
of the Hong Kong Special Administrative Region,
China (Project No. 9040517, CityU 1109/00E). This
work was also partially supported by a grant from City
University of Hong Kong (Project No. 7001286).
References
Albrecht, K., Albrecht, S., 1993. Added Value Negotiating: The
Breakthrough Method for Building Balanced Deals. Irwin Professional Publishing, Homewood, IL.
Ashir, A., Kwang, H.J., Kinoshita, T., Shiratori, N., 1997. Multi-agent
based decision mechanism for distributed meeting scheduling
system. In: Proceedings of the 1997 International Conference on
Parallel and Distributed Systems, pp. 275–280.
Biswas, J., Bhonsle, S., Tan, C.W., Tay, S.Y., Wang, W., 1992.
Distributed scheduling of meetings: a case study in prototyping
distributed applications. In: Proceedings of the Second International Conference on Systems Integration, ICSI ‘92, pp. 656–665.
Bui, H.H., Venkatesh, S., Kieronska, D., 1995. A multi-agent
incremental negotiation scheme for meetings scheduling. In:
Proceedings of the Third Australian and New Zealand Conference
on Intelligent Information Systems, ANZIIS-95, pp. 175–180.
Conry, S.E., Meyer, R.A., Lesser, V.R., 1998. Multistage negotiation
in distributed planning. In: Bond, A.H., Gasser, L. (Eds.),
Readings in Distributed Artificial Intelligence. Morgan Kaufman,
San Mateo, pp. 367–384.
Danny, L., Mitsuru, O., 1998. Programming and Deploying Java
Mobile Agents with Aglets. Addison-Wesley, Reading, MA.
Dawson, F., Stenerson, D., 1998. Internet Calendaring and Scheduling
Core Object Specification (iCalendar). Proposed Standard, Network Working Group, RFC 2445, The Internet Engineering Task
Force (IETF), November 1998.
Finin, T., Labrou, Y., Mayfield, J., 1997. KQML as an agent
communication language. In: Brad-shaw, J.M. (Ed.), Software
Agents. AAAI Press/The MIT Press, Cambridge, MA, pp. 291–316
(Chapter 14).
FIPA Interaction Protocol Library Specification, 2000. Foundation
for Intelligent Physical Agents (FIPA).
Garrido, L., Sycara, K., 1996. Multi-agent meeting scheduling:
preliminary experimental results. In: Proceedings of the Second
International Conference in Multi-Agent Systems (ICMAS’96),
Kyoto, Japan, December.
Guttman, R.H., Maes, P., 1998a. Agent-mediated integrative negotiation for retail electronic commerce. In: Proceedings of Workshop
on Agent Mediated Electronic Trading, AMET-98.
Guttman, R.H., Maes, P., 1998b. Cooperative vs. competitive multiagent negotiations in retail electronic commerce. In: Proceedings of
the Second International Workshop on Cooperative Information
Agents (CIA’98), Paris, France, July 3–8.
Higa, K., Shin, B., Sivakumar, V., 1996. Meeting scheduling: an
experimental investigation. In: Proceedings of the IEEE International Conference on Systems, Man and Cybernetics, Vol. 3,
pp. 2023–2028.
ARTICLE IN PRESS
A. Chun et al. / Engineering Applications of Artificial Intelligence 16 (2003) 727–743
Huhns, M.N., Stephens, L.M., 1999. Multiagent systems and societies
of agents. In: Weiss, G. (Ed.), Multiagent Systems: A Modern
Approach to Distributed Artificial Intelligence. MIT Press, Cambridge, MA.
Jennings, N.R., Jackson, A.J., 1995. Agent-based meeting scheduling:
a design and implementation. Electronics Letters 31 (5), 350–352.
Lange, D., Chang, D.T., 1996. IBM aglets workbench—programming
mobile agents in Java. White Paper, IBM Corporation, Japan,
August 1996.
Lawler, E.L., Wood, D.W., 1966. Branch and bound methods: a
survey. Operations Research (ORSA) 14, 699–719.
Liu, J.S., Sycara, K.P., 1994. Distributed meeting scheduling. In:
Proceedings of the 16th Annual Conference of the Cognitive
Science Society, Atlanta, GA, August 13–16.
Luo, X., Leung, H.-F., Lee, J.H.-M., 2000. A multi-agent framework
for meeting scheduling using fuzzy constraints. In: Proceedings of
the Fourth International Conference on MultiAgent Systems,
pp. 409–410.
Park, S., Birmingham, W.P., 1995. Multiagent Negotiation Framework. Technical Report (CSE-TR-248-95), University of Michigan,
Ann Arbor.
Pino, J.A., Mora, H.A., 1997. Scheduling meetings with guests’
approval. In: Proceedings of the XVII International Conference of
the Chilean Computer Science Society, pp. 182–189.
Pino, J., Mora, A., Hugo, A., 1998. Scheduling meetings using
participants’ preferences. Information Technology and People 11
(2), 140–151.
Schwartz, R., Kraus, S., 1997. Negotiation on data allocation in multiagent environments. Artificial Intelligence 94 (1–2), 79–98.
Sen, S., 1997. Developing an automated distributed meeting scheduler.
IEEE Expert 12 (4), 41–45.
Sen, S., Durfee, E.H., 1994a. On the design of an adaptive meeting
scheduler. In: Proceedings of the Tenth IEEE Conference on
Artificial Intelligence for Application, San Antonio, TX, March,
pp. 40–46.
743
Sen, S., Durfee, E.H., 1994a. The role of commitment in cooperative
negotiation. International Journal on Intelligent Cooperative
Information Systems 3 (1), 67–81.
Sen, S., Durfee, E.H., 1996b. A contracting model for flexible
distributed scheduling. Annals of Operations Research 65,
195–222.
Sen, S., Durfee, E.H., 1998. A formal study of distributed meeting
scheduling group decision and negotiation. Group Decision and
Negotiation Support System 7, 265–289.
Sen, S., Haynes, T., Arora, N., 1997. Satisfying user preferences while
negotiating meetings. International Journal of Human–Computer
Studies 47, 407–427.
Shapiro, S.C. (Ed.), 1992. Encyclopedia of Artificial Intelligence.
Wiley, New York.
Smith, R.G., 1980. The contract net protocol: high-level communication and control in a distributed problem solver. IEEE Transactions on Computers C-29 (12), 1104–1113.
Stallman, R.M., Sussman, G.J., 1977. Forward reasoning and
dependency-directed backtracking in a system for computer-aided
circuit analysis. Artificial Intelligence 9 (2), 135–196.
Tsuchiya, K., Takefuji, Y., Kurotani, K., Wakahara, K., 1996. A
neural network parallel algorithm for meeting schedule problems.
In: Proceedings of the 1996 IEEE TENCON’96, Digital Signal
Processing Applications, Vol. 1, pp. 173–177.
Wong, Y.M., Ho, T.T., Fung, K.L., Chun, H.W., 2000. A model for
resource negotiation using mobile agents. In: Proceedings of
Fourth World Multiconference on Systemics, Cybernetics and
Informatics (SCI 2000), Orlando, FL, July 23–26.
Woo, S.J., Jeong, S.Y., Geun, S.J., 1999. Cooperation in multi-agent
system for meeting scheduling. In: Proceedings of the IEEE Region
10 Conference (TENCON 99), Vol. 2, pp. 832–835.
Yang, G.-H., 1995. Running Meetings Effectively (Ye Wu Hui Yi
Liang Ce), Japanese original by Nihon Seisansei Honbu.
Wan Li Shu Dian, Hong Kong, ISBN: 962-14-0968-3 (Chinese
translation).
Download