Anda di halaman 1dari 11

Scheduling Agents -

Distributed Timetabling Problems (DisTTP)

Amnon Meisels and Eliezer Kaplansky


Department of Computer Science
Ben-Gurion University of the Negev
Beer-Sheva, 84-105, Israel
{am,kaplan e}@cs.bgu.ac.il

Abstract. Many real world Timetabling Problems (TTPs) are composed of


organizational parts that need to timetable their staff in an independent way,
while adhering to some global constraints. Later the departmental timetables
are combined to yield a coherent, consistent solution. This last phase involves
negotiations with the various agents and requests for changes in their own
solutions.
Most of the real world distributed timetabling problems that fall under this
class have global constraints that involve many of the agents in the system.
Models that use networks of binary constraints are inadequate. As a result,
this paper proposes a new model that contains only one additional agent -
the Central agent (CA) that coordinates the search process of all Scheduling
Agents (SAs). Preliminary experiments show that a sophisticated heuristic is
needed for the CA to effectively interact with its scheduling agents in order to
find an optimal solution. The approach and the results reported in this paper
are an initial attempt to investigate possible solution methods for networks of
SAs.

1 Introduction

Timetabling problems (TTPs) involve an organization with a set of tasks that need
to be fulfilled by a set of resources, with their own qualifications, constraints and
preferences. The organization enforces overall regulations and attempts to achieve
some global objectives such as lowering the overall cost. This leads naturally to the
formulation of TTPs as constraints networks (CNs).
Many real world TTPs are composed of organizational parts that need to produce
their timetables in an independent way, while adhering to some global constraints.
Later the departments timetables are combined to yield a coherent, consistent solu-
tion. This last phase involve negotiations with the various agents and requests for
changes in their own solutions.
An example for such real-life problem is the construction of a weekly timetable of
nurses in several wards of a large hospital. Each ward needs a weekly timetable for its
nurses, that satisfies the shift and task requirements, attempting to satisfy also the
nurses’ personal preferences. The generation of a weekly schedule for the nurses in a
ward is typically performed by each ward independently.
Based on the departments timetables, a transportation plan for all the nurses must
be constructed. Since the number of vehicles sent and the distances they cover are
limited by hospital saving policies, such a transportation plan generates additional
constraints between the weekly schedules of the wards.
Since the separate timetables for wards are generated locally, the constraints
among these timetables, imposed by the limits on transportation vehicles, have to
be negotiated among the scheduling agents of the wards.

1.1 Distributed Constraint Satisfaction Problem (DisCSP)

In the last decade, Constraints Satisfaction Problem (CSP) techniques have become
the method of choice for modeling many types of optimization problems, in particular,
those involving heterogeneous constrains and combinatorial search.
In many fields fast response become one of the most important factor for success,
especially in the commercial world of today. In fields that utilize CSP techniques, the
running time is a critical factor. This is especially true when we want to use CSP
techniques to search for some optimal solution.
Recently, the AI community has shown an increasing interest in solving distributed
problem using the agents paradigm. Different parts of the problem are held by different
agents, which behave autonomously and collaborate among themselves in order to
achieve a global solution. The World Wide Web offers many opportunities to actually
solving real problems through agents.
Several works consider constraints satisfaction in a distributed form (See Yokoo
book [20] for an introduction). These works are motivated by the existence of naturally
distributed constraints problems, for which it is impossible or undesirable to gather
the whole problem knowledge into a single agent and to solve it using centralized CSP
algorithms. There are several reasons for that. The cost of collecting all information
into a single agent could be too high. This includes not only communication costs,
but also the cost of translating the problem knowledge into a common format, which
could be prohibitive for some applications. Furthermore, gathering all information
into a single agent implies that this agent knows every detail about the problem,
which could be undesirable for security or privacy reasons (cf. [11]). The new term,
for this family of problems is Distributed Constraints Satisfaction Problem (DisCSP).
The generic model for distributed timetabling is that of distributed search. Agents
solve their local assignment problem and interact via messages to make their local
schedules compatible with the global constraints of transportation. This scenario falls
exactly into the domain of distributed constraint networks (DisCNs) and distributed
search algorithms [21]. The agents that generate the weekly schedules of the wards
are termed Scheduling Agents (SAs).

1.2 DisTTP Example - University Timetabling

An important example of a real-life Distributed Timetabling Problem (DisTTP) is the


construction of university timetables. More specifically, class room allocation in the
context of the courses timetabling activities within the university. Some departments
are not able to construct a good timetable, since they are over constrained by the lack
of class rooms. The problem of allocating classrooms dynamically is so sever in some
universities that each department is assigned a fixed set of lecture rooms which are
managed by the department. For example, this is the case in Imperial College [13].
There are additional complexity factor to this problem:
– The amount and type of lecture space available varies widely between depart-
ments. Departments which are short of lecture space need to make arrangements
with other departments.
– A better timetable for the students requires each department to try and meet its
teaching requirements and hold a maximum number of teaching activities within
its buildings.

One popular solution for this class of room allocation problems is to allow the
departments to construct a partial timetable using their own resources to a maximum,
and then try to allocated a room for the other teaching activities through booking
arrangements between departments (cf. [13]).
Since each department owns different resources, has different teaching require-
ments, and different preferences, this is a typical DisTTP problem. Each SA solves
the timetabling problem for a single department. Solving the problem separately for
each department allows departments to easily set and change their own preferences
and constraints independently. Departments can follow different strategies for utiliz-
ing their teaching space. Each department needs to solve a different problem and can
use a different CSP solver tuned up to it’s needs. This distributed agents model is
in line with the irreversible trend toward decentralized information sources, a trend
that makes the current approach of a global, centralized, search (based on a central
computer) less and less adequate.
Based on the departmental timetables, a room allocation plan for the whole uni-
versity must be constructed. Since the number of the rooms and their capacities are
limited and may be regulated by the university policies, such a room allocation plan
generates additional constraints between the schedules of the departments.
The above real world Distributed Timetabling Problem (DisTTP) is an instance of
Distributed Constraints Satisfaction Problems (DisCSP). Its Distributed Constraints
Network (DisCN) has a typical structure, in which the local timetabling problem is
quite complex and the global problem includes relatively few constraints. One can
think of a DisTTP as a network of scheduling agents.

1.3 Solving methods for Scheduling Agents (SAs)


There are two well known families of algorithms for solving timetabling problems -
exhaustive (or complete) search algorithms and stochastic (or local) search algorithms
(cf. [14]). Exhaustive search can go on systematically to find all possible timetables,
while stochastic search, typically, produces one solution, reaching a minimum. It has
been shown in the past [10] that for real-world ETPs, stochastic search methods out-
perform complete search in efficiency terms. Several search algorithms for distributed
constraints networks have been proposed in the last decade (cf. [17, 16, 21, 2, 6, 15]).
However, existing algorithms for solving DisCNs are all exhaustive. In the present
paper we show that both methods are useful for solving DisETPs.
One possible approach for solving DisETPs uses exhaustive search for the SAs. In
this approach, the SAs perform their exhaustive, systematic, algorithm continuously.
Each new local solution they find is sent as a message to the CA. This method is
based on the fact that any global solution will always incorporate one local timetable
from each SA (i.e. for each ward of the hospital in our example). In order to produce
the overall solution, the CA has to search among the set of local solutions, while its
domain is constantly enlarged, for one subset that satisfies all the global (inter-agent)
SA 1

New const.
SA 4 CA SA 2
Timetables

SA 3

Fig. 1. The Central Agent (CA) adds new constraints to the scheduling agents (SAi s). The
SAs solve the modified problem and send back a new timetable

constraints. The advantage of the exhaustive search approach is in it’s high degree of
concurrency. In addition, it is guaranteed to find a global solution if such a solution
exists. However, for real world problems, complete search can be very slow [10] .
A second, more practical method, uses local search for SAs to generate their local
timetables. Each SA can find a local timetable relatively fast, but then it waits for a
request, from the central agent, to improve its solution. This request is the result of the
CA attempt to resolve some additional global constraint violations. Upon receiving
such a message, an SA resumes its local search (i.e. hill climbing) in order to find
an improved solution. The advantage of the local search agents approach is that it is
likely to converge quickly to some global solution, by using the strategy of improving
local solutions. The main drawback of this approach is that the CA may find itself
performing cycles in searching for a globally improved solution, since local solutions
improve only locally.
The present paper investigates combinations of the above two approaches on real-
istic instances of DisETPs. The local ETPs are real world instances of wards in a large
hospital. The constraints among timetables of the wards are simple limit constraints
on the number of nurses that have to be transported, at the end of their shifts, to
several residential location. The induced inter-agent constraint on SAs can be repre-
sented very simply by the CA and are also simple to calculate, as partial limits on
the number of nurses in a certain group in each of the shifts.
This paper focuses on real world problems that by their nature need to be solved
by agents. Each agent is responsible to solve a single, local, however very complex
CSP problem. The local solutions are combined to yield a coherent, globally consistent
solution. The last phase involves negotiations among agents and requests for changes
in the agents’ solutions.
The paper is organized as follows. Section 2 describes a general framework for
a DisTTP problem. This framework consists of two different levels that need to be
dealt with in order to solve a distributed timetabling problem: Section 2.1 describes
the global level that deals with the solution methodology for the central agent which
needs to search for a combination of SAs solutions that satisfies the global constraints
of the problem. Section 2.2 describes the local level that deals with search algorithms
for SAs that can solve a local timetabling problem where constraints are added or
removed dynamically. Section 3 presents preliminary results of experiments on Dis-
ETPs that point in the direction of stochastic search for the SAs. The experiments
were performed on the same DisETP scenario and carried out with two different CA
control approaches. The overall conclusion is that the model for “intelligent” CA,
that controls SAs in a problem depended manner, is of value. Section 4 draws some
preliminary conclusions.

2 A General framework for DisTTPs

Since the separate timetable for the departments are generated locally, the constraints
among these timetables, imposed by the limits on rooms space, have to be negoti-
ated among departmental scheduling agents. The above generic model falls into the
framework of Distributed Constraints Satisfaction Problems (DisCSP) [16, 21, 20]. We
will use the term Scheduling Agent (SA) to refer to the particular case in which an
agent has to solve a local CSP (the department TTP in our example) in a global dis-
tributed search. In our model, agents solve their local assignment problem and interact
via messages to make their local schedules compatible with the global constraints of
the problem.
In our model for DisTTPs, shown in Figure 1, an additional agent models the
constraints among the agents - the Central Agent (CA). The CA deals with all the
intra-SA constraints. All agents communicate by sending and receiving messages from
the CA. SAs send their local timetables to the central agent. The CA checks the
local timetables for conflicts with global constraints and decides which agents have
to be requested to change their local timetables. Based on this model, two families of
concurrent algorithms for solving DisTTPs are proposed and compared in Section 3.

There are clearly two different levels (see Figure 2) that need to be deal with in
order to solve a distributed timetabling problem:

The global level: The solution methodology for the central agent needs to search
for a combination of SAs solutions that satisfies the global constraints of the
problem. In many cases the search is for an optimal global solution.
The local level: Search algorithms for SAs that can solve a local timetable problem
where constraints are added or removed dynamically.

2.1 The Central Agent is an Open CSP (OCSP)

The main difficulty of the CA problem stems from the fact that the values for assign-
ment in the CA constraint network are acquired incrementally from the scheduling
agents. This transforms the CA constraints satisfaction problem into a special class
of Dynamic CSP (DCSP).
CA
New constraints

Global level

Local level
Timetables

SA 1 SA 2 SA 3 SA 4

Fig. 2. The different levels of the problem model: The global and the local levels

Preliminary results show that the CA has to have an effective way to interact with
the SAs, in order to get an optimal solution in a reasonable time frame. An important
issue here is the ability of the CA to control its SAs in such a away that the CA can
accumulate a promising set of alternative local solutions in a short time.
Initially, the CA must wait until all SAs return with at least one solution. There-
after, the CA start its own search for a legal combination of SAs’ solutions satisfying
the global constraints of the problem. The CA search space can grow very fast and
usually, quite soon, it become a prohibitively large search space. For example: 10
departments, each with 100 alternative timetables result in 1020 nodes on the CA’s
search tree.
Preliminary results on realistic DisETP (Section 3 have shown that the CA should
start with complete search, and then move to local search when too many alternative
timetables have arrived. Eventually the CA performs a local search that based on
scanning the neighborhood around the current solution. One of the basic operations
of this scan is a request for an alternative timetable from some SA. The time that
a SA needs for computing the next solution varies wildly. One possible solution for
this difficulty is that the CA will manage a dynamic buffer of alternative timetables.
Another approach for the CA is to request multiple alternative solutions simultane-
ously from some selected SAs at each step of it’s local search as a form of intelligent
improvement moves.
In the paradigm of the experiments present in this paper, the CA search for an
optimal global solution. In such paradigm the basic operation for the CA is to request
an alternative solution from one of its SAs. One way to guide the SA is by dynamically
adding new constraints to the SA’s local problem. In our problem, the CA can find
out, for example, that on Wednesday, in the time slot of 14:00 to 16:00 there are not
enough rooms with capacity range of 100 - 200. In order to satisfy this global constraint
the CA can select the SA with the largest number of requests for such rooms in this
time slot and send it a message, asking this SA to search for an alternative local
solution. This new local solution has to satisfied additional constraint: “No more then
5 courses on Wednesday, 14:00 to 16:00, with number of students in range of 100 -
200.”. Each new SA solution is an additional new value to one variable of the CA
constraints network.
When one try to solve a DisTTP, in either way, one needs to solve TTP problems
that are dynamically changing. The basic idea, here, is that each SA starts with
its original TTP problem which is an instance of a Local CS Problem (LCSP). We
term the original constraints of the original local problem Original Local Constraints
(OLC). Whenever any of the SA find a solution that complies with all its OLC, it
sends this solution to the Central Agent. When the CA gets at least one solution from
each of the SAs, it starts a search for a solution to the Global CS problem (GCSP)
which include the Global constraints (GC). Each variable of the GCSP represent one
SA. The domain of each variable is the set of solutions for the LCSP of its SA. At the
start of the search, the domains include only the first solution found by the SAs. Then
the domain of each variable of the CA, is dynamically increased as the SAs find more
solutions that complies with all of its OLC. In this model the CA must solves a CSP
that variable domains are dynamically changing. Only recently with the increasing
use of the Internet, such class of problem are very little treated in the concurrent
academic research community.
It can be said that the CA operates in an environment that is very similar to an
open-world environment of the Internet. Many real world problems that used to be
solved by traditional CSP techniques, can be solved more effectively in a distributed
setting. For example, for the problem of computer configuration, it is now possible, to
locate through the Internet, on-line, during the search for a solution, additional sup-
pliers of some needed parts. The term Open Constraint Satisfaction Problem (OCSP)
was first used for such a search environment by Faltings and Macho-Gonzalez [8] in
2002.
When moving to Open CSP, it immediately becomes obvious that most successful
CSP solving methods, in particular constraint propagation, are based on the closed-
world assumption where the domains of the variables are completely known and are
fixed during the search process. For an Open CSP setting, this assumption no longer
holds (cf. [18, 3, 4, 1]). This change requires an adaptation of the current search algo-
rithm.
Open constraint satisfaction problems bear some resemblance to interactive con-
straint satisfaction (ICSP) introduced by Lemma et. el. in 1999 [7]. In the ICSP
model, domain values are acquired during the solution process only when necessary,
and inserted into the variable domains. In this methodology the forward checking
(FC) algorithm can be modified so that when domains become empty, it launches a
specific request for additional values that would satisfy the constraints on that vari-
able. Similarly to our CA search problem, the ICSP acquisition process of new domain
values from external agents needs to be guided in order to acquire only new values
that satisfy a specific constraint. In the ICSP model the acquisition of new values is an
immediate interactive operation and it typically gathers more values than necessary.
In the DisTTP model, a request from the CA for a new solution from a SA is usually
a very expensive operation and the focus is on minimizing the information gathering
activity.

2.2 Scheduling Agents (SA) solve a Dynamic CSP


For the second approach, where each SA uses local search, the level of dynamic CSP
goes deeper into the level of the local ETPs. When the CA gets one solution from
each of its SA, the CA computes the current value of the cost function. In the nurses
transportation problem, this is the cost of transportation of all the nurses at the start
and end of each shift. In the next step, the CA try to reduce the cost by a request
for all or some of its SAs to deliver another solution with some new constraints that
the CA imposes. For example, suppose that in the first set of solutions that each SA
delivered to the CA there is only one nurse a, that needed a transportation to target
A and 3 sets of 4 nurses each, to 3 other locations: B, C and D. Furthermore, suppose
that there are taxis with capacity of 5 passengers that are available. In such a case,
it is easy to see that a reasonable move of the CA is to ask the SA that makes the
schedule for the nurse a, SAa , to replace the nurse a with any other nurse that lives
in location B, C or D. Now SAa is facing a CSP with constraints that are changing
dynamically.
In this model each SA must solves a CSP dynamically changing CSP. This is an
instance of a known, albeit very little treated, class of CSP problems: the Dynamic
Constraints Satisfaction Problem (DCSP) (cf. [5, 19, 1]).

3 Experimental study of Interacting SAs

210
"complete"
205 "local"
Cost of transportation

200

195

190

185

180

175

170
0k 10k 20k 30k 40k 50k 60k 70k 80k 90k 100k
Number of iterations

Fig. 3. Comparing complete search to local search: At some point, too many alternative
solutions make the complete search ineffective.

In order to understand the basic behavior of our model we have conducted prelim-
inary experiments. At the basis of our experiments is a real world family of problems.
One set of problems is the timetabling of nurses in a hospital. There are several wards
in the hospital. Each ward schedules its employees independently. The hospital works
3 shifts a day, 7 days a week. The hospital manages transportation for nurses, for
each shift. Transportation lines are grouped into destinations. Cab/bus capacities are
fixed. To achieve cost effectiveness, the SAs need to coordinate their timetables. SAs
are not aware of inter-ward transportation constraints.
In our experiments there are 21 shifts. All wards weekly timetable are similar - 29
employees have to be assigned to 3 tasks for a total of 105 assignments over 7 days.
There are 5 lines of transportation. Cabs have a capacity of 1-7 passengers. There are
different costs for lines for different shifts. Since the number of passengers depends on
the timetables of all SAs, only the CA can compute the cost by summing the number
of passengers in each shift for each transportation line and then compute how many
cabs are needed in each line. The strategy of the CA is to “fill-up” the cabs in each
line in order to achieve optimality of cost.

210
"local"
205 "dynamic"
200
Cost of transportation

195
190
185
180
175
170
165
160
0k 20k 40k 60k 80k 100k 120k
Number of iterations

Fig. 4. Using sophisticated interaction between the CA and its SAs enable the search to find
much better solution faster.

In order to explore a wide range of the problem space, many instances of this real
world ETP were generated with varying amounts of binary constraints, by adding
or removing conflicts among shifts. Adding conflicts among shifts create a random
sample of problems with the same underlying structure (i.e., shifts; tasks; employees;
limits) and different domains of values. This has the additional experimental value of
a large random ensemble of problems.
For difficult TTP problems the SAs generate only few alternative schedules in
a reasonable time frame. For such problem class the CA needs to use a heuristic
that will enhance the chance of encountering lower transportation cost for the next
SA solution. The CA requests the SAs to generate timetables with needed features
in order to avoid cabs with only one passenger. The CA sends messages that add
a constraint to selected set of SAs, to limit the number of nurses for some line. In
addition, new constraints are needed to prevent the SA from adding a nurse to a line
with full cabs. Another option for this heuristic is to add new constraints that request
SAs that can reduce nurses for lines with an almost empty cab.
In the first set of experiments that is presented in Figure 3 the effect of using
local search technique for the CA search is compared with the best complete search
algorithm: FC-CBJ [12]. Using the number of iterations performed as the measure-
ment unit for the search effort, we compare the efforts needed to solve the same set
of problems by a pure FC-CBJ algorithm and by the simple ( Random Hill climbing
(RHC) algorithm. It is easy to see that in a 1/3 of the time needed for FC-CBJ, RHC
can find a solution that it about 10% cheaper. Each point on the graph of Figure 3
represents the average of a set of 100 problem instances.
The next step of investigation is to check the effectiveness of intelligent interaction
between the CA and its SAs. In other words, the importance of a good strategy for the
CA search method. The results shown in Figure 4 shown clearly that the central agent
must search smartly and coordinate the SAs in order to find better combinations of
SAs’ timetables. A combination that enables the CA to find a global solution with
a lower transportation cost. In the algorithm marked as “dynamic”, the CA adds
and dynamically removes constraints to the problems of the SAs. The best solution
achieved is 10% cheaper then the simple local search. From theses experiments we can
conclude that the CA needs specific heuristics for directing SAs in improving their
timetables.

4 Discussion
A new, general model for distributed timetabling problems was presented and its be-
havior on large and hard constraints networks of TTPs was experimentally tested.
DisTTP can be naturally represented as distributed CSPs, where each of the agents
solves a local CSP representing its timetable. Since the local problems of the agents
can be quite complex, the resulting DisTTP is very different from the DisCSP that
appears in the literature [20]. We have termed these agents Scheduling Agents (SAs).
Scheduling agents are connected by few global constraints, such as classroom capac-
ity in university timetabling. This makes the DisCSP non binary and these global
constraints can naturally be represented by an additional agent that we termed the
Central Agent (SA). When the CA performs an exhaustive search for a global solu-
tion for the DisTTP, the problem can become huge. This is because each node on the
search tree of the CA is a complete solution of the SAs’ timetables.
Our model and approaches were implemented for a real world distributed employee
timetabling problem (DisETP) involving several wards of a large hospital. Each of the
SAs solves a large ETP with more than one hundred needed assignments. The strong
result shown in Figure 3 is quite intuitive - when the search space of possible SA
timetables become large, local search is essential for the CA (cf. [9]).
The second set of experiments dealt with the interaction between the CA that try
to satisfy global constraints and the SAs, each searching for a good local timetable.
We have tested one simple policy for the CA - improve global transportation cost
by dynamically constraining the requested timetables of selected SAs. This policy ap-
pears to work much better (Figure 4) then simple hill climbing. This result shows that
the heuristics used by the CA have a significant impact on its runtime performance.

References
1. A. Bellicha. Maintenance of solution in a dynamic constraint satisfaction problem.
In Proc. of Applications of Artificial Intelligence in Engineering VIII, pages 261–274,
Toulouse, 1993.
2. C. Bessiere, A. Maestre, and P. Messeguer. Distributed dynamic backtracking. In Work-
shop on Distributed Constraint of IJCAI01, 2001.
3. C. Bessire. Arc-consistency in dynamic constraint satisfaction problems. In Proceedings
of the Ninth National Conference on Artificial Intelligence, pages 221–226, Anaheim,
Calif., 1991.
4. C. Bessire. Arc-consistency for non-binary dynamic csps. In Proceedings of the 10th
European Conference on Artificial Intelligence, pages 23–27, Vienna, 1992.
5. Rina Dechter and Avi Dechter. Belief maintenance in dynamic constraint networks. In
Proceedings of the Seventh Annual Conference of the American Association of Artificial
Intelligence, pages 37–42, 1988.
6. Y. Hamadi and C. Bessiere. Bakctracking in distributed constraint networks. In Proc.
ECAI-98, pages 219–223, Brighton, August 1998.
7. E. Lamma, P. Mello, M. Milano, R. Cucchiara, M. Gavanelli, and M. Piccardi. Constraint
propagation and value acquisition: why we should do it interactively. In Thomas Dean,
editor, Proc. of Intern. Joined Conference of Artificial Intelligence JCAI 99, pages 468–
477, Stockholm, Sweden, 1999. Morgan Kaufmann.
8. Santiago Macho-Gonzalez and Boi Faltings. Open constraint satisfaction. In Proceedings
of the AAMAS 2002 Workshop on Distributed Constraint Satisfaction, 2002.
9. A. Meisels and A. Schaerf. Modelling and solving employee timetabling problems. Ann.
of Math. and AI, To be appeard, 2002.
10. Amnon Meisels and Andrea Schaerf. Solving employee timetabling problems by gener-
alized local search. Proc. Italian AI, Bologna, 1:281–331, May, 1999.
11. P. Meseguer and M. A. Jimenez. Distributed forward checking. In Proc. CP-2000
Workshop on Distributed Constraint Satisfaction, Singapore, 22 September, 2000.
12. P. Prosser. Hybrid algorithms for the constraint satisfaction problem. Computational
Intelligence, 9:268–299, 1993.
13. E. B. Richards, S. Das, H. Choi, A. El-Kholy, V. Liatsos, and C. Harrison. Distributed
optimisation: A case study of utilising teaching space in a colleg. In Proc. of the Expert
Systems 96 Conference, pages 153–161, Cambridge, 1996. SGES Publications.
14. A. Schaerf and A. Meisels. Solving employee timetabling problems by generalized local
search. In Proc. Italian AI Ass., pages 493–502, May, 1999.
15. M. C. Silaghi, S. Stefan, D. Sam-Haroud, and B. Faltings. Asynchronous search for
numeric discsps. In CP2001, Paphos,Cyprus, 2001.
16. G. Solotorevsky, E. Gudes, and A. Meisels. Modeling and solving distributed constraint
satisfaction problems (dcsps), 1996. Submitted to CP96, February 1996.
17. G. Solotorevsky, E. Gudes, and A. Meisels. Modeling and solving distributed constraint
satisfaction problems (dcsps). In Constraint Processing-96, New Hamphshire, Ocotber
1996.
18. T.Nguyen and Y. Deville. A distributed arc-consistency algorithm. Science of Computer
Programming, 30:227–250, 1998.
19. G. Verfaillie and T. Schiex. Solution reuse in dynamic constraint satisfaction problems.
In Proceedings of the Twelfth National Conference on Artificial Intelligence, Seattle, Wa.,
1994.
20. M. Yokoo. Distributed constraint satisfaction: foundations of cooperation in multi-agent
systems. Berlin Springer, 2001.
21. M. Yokoo, E. H. Durfee, T. Ishida, and K. Kuwabara. Distributed constraint satisfaction
problem: Formalization and algorithms. IEEE Trans. on Data and Kn. Eng., 10:673–685,
1998.