AgentTime: A Distributed Multi-agent Software System for University’s Timetabling Eduard Babkin1,2, Habib Adbulrab1, Tatiana Babkina2 1 LITIS laboratory, INSA de Rouen. Rouen, France. State University — Higher School of Economics. Nizhniy Novgorod, Russia. [email protected], [email protected], [email protected] 2 Abstract. In the course of researching distributed timetabling problems this article applies the multi-agent paradigm of computations and presents a correspondent mathematical model for university’s timetabling problem solution. The model takes into account dynamic nature of this problem and individual preferences of different remote users for time and location of classes. In the framework of that model authors propose an original problem-oriented algorithm of multi-agent communication. Developed algorithm is used as a foundation for the distributed software system AgentTime. Based on multi-agent JADE platform AgentTime provides friendly graphical interface for online design of time tables for universities. Keywords: timetabling, multi-agent algorithms, distributed systems. 1. Introduction In modern society time scheduling plays the outstanding role. Any schedule is the obligation, which enables to carry out authentic planning of activities for a separate person, and whole industrial systems as well. Timetabling represents an important research activity in the scheduling theory, and focuses on such problems as optimal lecture’s schedules in educational institutions, week cyclic schedules of plane’s flights within the framework of several airports, week or daily schedules of railway transportation, etc. For all these problems the interval of time, inside which the given set of jobs should be fulfilled, is known beforehand. Thus, the minimum of the schedule’s length is not usually considered as a primary goal, - other criteria are used for estimation of quality of the schedule having been built. For example, in an educational institution the timetable design process should achieve the following goals: minimization of maximal length of a working day, minimization of the number of the "holes" in the schedules of groups and professors, maximal satisfaction of personal professor’s preferences to the time and location of classes, etc. In the current situation, when many educational institutions rapidly grow in size, and distribution scale, wide application of effective software systems for distributed solution of timetabling problems becomes very important. At present there are many various algorithms for drawing up the time tables in universities. The fundamental approaches are based on the well-known linear and integer programming paradigms [2, 3, 4, 5, 6]. However, several researches of 80s have shown that the integer programming is not equally effective from the point of view of the calculations volume. The high computational costs make integer programming poorly attractive to the large tasks of timetable design, because that method does not guarantee productivity, when the sizes and complexity of tasks grow [3, 7]. Last twenty years have shown the increased interest of the researchers to development of the approaches for the design of timetables with use of various metaheuristics [3], like simulated annealing, Tabu Search, genetic algorithms (GAs), and their hybrids [8, 9, 10, 11, 12, 13, 14, 19]. It is affirmed, that among others, GAs have larger capacity, and allow to find the greatest number of the feasible solutions [15, 16, 17]. Nevertheless, when GAs are exploited, there are difficulties in the description of controlling parameters, in definition of exact roles of crossover and mutations, as well as in analysis of convergence [18]. Also, it should be noted, that the majority of the considered approaches follow the paradigm of centralized systems, they do not allow the remote users govern the process of timetable design. In complex distributed and evolving systems like modern virtual universities and peer-to-peer communities, that shortcoming makes impractical classical methods, and demands new timetabling principles, which take account of real-time user’s preferences in complex changing environments. A multi-agent approach represents a successful paradigm for those kinds of problems, when an optimal or quasi-optimal solution is built in the result of interaction of large number of autonomous computational entities. In general, for timetabling applications several types of multi-agent algorithms are suitable. The first type of algorithms includes economics-based models of interaction [1, 20, 21]. The second one consists of various generic algorithms for solution of Distributed Constraint Satisfaction Problems (DCSP) [22, 23]. But the most effective algorithms, comprising the third type, were specifically designed for a particular scheduling problem. Such specialized algorithms apply all domain- or problem-specific information and show unbeaten productivity. The results are known [24, 25, 26, 27], where authors propose problem-specific algorithms of agent’s interaction for the meeting scheduling. Although such algorithms fit well the timetabling model, and have attractive computational efficiency, their direct application for university’s timetabling is not so straightforward and requires additional efforts. In the given article authors propose new multi-agent algorithm for university’s timetabling, and describe basic principles of the distributed system AgentTime, based on that algorithm. Presentation of the results has the following structure. Section 2 describes the mathematical model of university’s timetabling, which includes user’s preferences. Section 3 gives overview of the corresponding multi-agent algorithm for the design of timetables. In section 4 certain topics of AgentTime’s software implementation are considered. Overview of results and discussion are presented in Section 5. Section 6 contains references. 2. The Proposed Mathematical Model For the University’s Timetabling Problem The exact mathematical statement of the university’s timetabling problem forms the basis of our own multi-agent algorithm for design of the educational schedule. For the sake of generality we use the term ‘teacher’ to denote different kinds of university employees (e.g. professors, instructors, etc), the term ‘stream’ to denote a stream, and the term ‘subject’ to denote different kinds of student’s subjects. Also we give the same name of user to all of the stakeholders of the schedule (e.g. the teachers and student’s groups). In our mathematical model we will use the following designations. Student’s groups and Streams. g ∈G – the unique identifier of the group. G – the set of group’s identifiers. G = γ – the total number of groups. Each group belongs to one stream at least. Some streams can consist of a single group, but in most cases several groups form a stream with the following constraints: 1. All groups of the same stream exploit the same classrooms for lectures. 2. Lectures are delivered to all groups of the stream at the same time. 3. Each stream has as minimum one lesson. R – the set of stream’s identifiers. R = ρ – the total number of streams. r ∈ R – the unique identifier of the stream. Each single group can be treated as a separate stream, thus ρ ≥ γ . Cr ⊂ G – the stream. C = {C1 , C2 ,..., Cρ } – the set of streams. Teachers. P – the set of unique teacher’s identifiers. p ∈ P – the unique teacher’s identifier. Timetable users. Union of the group’s set and the teacher’s set gives us the set of the timetable users: M = G ∪ P , m ∈ M – the unique identifier of the timetable user. Time. W – the set of the days of the week. w∈ Wg – the certain day of the week. Wg ⊂ W = {1, 2,..., 7} – the set of learning days for the group g , j ∈ J = {1, 2,...,8} – the lesson’s number. T = {( w, j ) | w ∈ W, j ∈ J} – the set of timeslots, which are the elementary units in the timetabling problem. For example, the timeslot (1, 2) means the second lesson on Monday. For each timetable user m the set of free timeslots known + m also. − m We + m Tm+ ⊂ T is known. The set of denied timeslots Tm− ⊂ T is assume the obvious constraints are true (i.e. − m T ∪ T = T; T ∩ T = ∅ ). Subjects. In our model teachers conduct lectures and manage practical exercises. Lectures are delivered to the whole stream, while practical exercises are organized for a single group only. Also some practical exercises impose restrictions on allowable classrooms, like computer or chemistry labs. To describe all these pecularities, let’s introduce the following mathematical structures. S r = {1, 2,..., σ r } – the set of lecture’s identifiers delivered to the stream r . sr ∈ Sr – the unique lecture’s identifier; Qr = {1, 2,..., θ r } – the set of practical exercise’s identifiers organized to the stream r . qr ∈ Qr – the unique exercise’s identifier; Each lecture’s assignment can be uniquely identified by a pair ( r , sr ) ∈ RS , where RS = {( r , sr ) | r ∈ R, sr ∈ Sr } (1) The total number of lecture’s assignments is computed as follows: ρ RS = ∑ σ r (2) r =1 Each certain exercise’s assignment can be uniquely identified by a tri- ple ( r , g r , qr ) ∈ RQG , where RQG = {( r , g r , qr ) | r ∈ R, qr ∈ Qr , g r ∈ Cr } (3) The total number of exercise’s assignments is computed as follows: ρ RQG = ∑ Cr ⋅ θ r , where Cr – is the total number of groups in the r =1 stream Cr . For further analysis differences between lectures and practical exercises can be neglected and the united set of subjects E will be used: E = RS ∪ RQG (4) Curriculum consists of subjects’ assignments for each of the teacher during one semester (fall) in the following form: δ :E → P ⎧⎪δ1 ( e ) , e ∈ RS δ (e) = ⎨ ⎪⎩δ 2 ( e ) , e ∈ RQG δ1 : RS → P , where P – the set of teachers; RS – the set of lecture’s (5) assignments. δ 2 : RQG → P , RQG For example, and – the set of exercise’s assignments. δ1 (1, 2 ) = 4 δ 2 (1, 2, 4 ) = 7 means, that teacher 4 delivers lecture 2 for stream 1, means, that teacher 7 manages practical exercise 2 for group 4, included into the stream 1. Given the curriculum δ, we can easily compute the total number of subjects Em assigned to the teacher (or the group) with identifier m: Em = {e | m ∈ P ∧ δ ( e ) = m} ∪ {e = ( r , s ) | m ∈ Cr ∧ s ∈ S r } ∪ (6) {e = ( r , q, m ) | m ∈ Cr ∧ q ∈ Q r } Room’s stock consists of laboratories, lecture halls and classrooms available for subjects in the university. It is modeled by the set A of unique room’ identifiers. For each element of the set of subjects E, a subset of permitted rooms Ae is selected : Ae ⊂ A . The primary goal of the timetabling problem in our model is formulated as looking for the feasible mapping from the set of subjects E to the set of timeslots T: τ :E → T For example, mapping τ (1, 2 ) = ( 4, 4 ) (7) means that subject 2 for stream 1 will be given on Thursday during the fourth lesson. Related with the mapping τ, the mapping α should assign a classroom for each subject: α : E → A , where E – the set of subjects; A – the set of classrooms. For example, mapping α (1, 2 ) = 101 (8) means that subject 2 for stream 1 will be conducted in the room 101. Constraints for the university’s timetabling problem are defined as follows. 1. The teacher can conduct only one subject at the single timeslot. ∀p ∈ P, ∀e1 , e2 ∈ E : e1 ≠ e2 ∧ δ ( e1 ) = δ ( e2 ) = p ⇒ τ ( e1 ) ≠ τ ( e2 ) (9) 2. In one classroom only one subject can be given at the single timeslot. ∀a ∈ A, ∀e1 , e2 ∈ E : e1 ≠ e2 ∧ α ( e1 ) = α ( e2 ) = a ⇒ τ ( e1 ) ≠ τ ( e2 ) (10) 3. Each group has no more than one subject at the single timeslot. ∀g ∈ G : ( e1 = ( r1 ,...) , e2 = ( r2 ,...) ∈ E ∧ g ∈ Cr1 ∧ g ∈ Cr2 ∧ e1 ≠ e2 ) ∨ (11) ∨ ( e1 = (..., g ) , e2 = (..., g ) ∈ E ∧ e1 ≠ e2 ) ⇒ τ ( e1 ) ≠ τ ( e2 ) Subject’s priority. It is obvious, not all subjects have identical importance within the framework of educational process. As such, it is necessary to set the priority order among different subjects, so subjects with higher priority will borrow the best time and location. In our model the priority is modeled as the partial order on the set of subjects E: e1 ; e2 ⇔ U ( e1 ) ≥ U ( e2 ) , where (12) e1 , e2 ∈ E ; U ( e ) = M e + k1 ( e ) + k2 ( e ) + k3 ( pe ) – the “utility” of the subject e ; M e = {m | ( e = ( r , s ) ∈ RS ∧ m ∈ Cr ) ∨ ( e = ( r , q, m ) ∈ RQG )} – the total number of groups for those the subject e is given; k1 ( e ) ∈ {0,5,10} – the measure of subject’s importance for the stream (0 – optional, 5 – important in general, 10 – important for stream); k2 ( e ) ∈ {0, 2} – 0 – undergraduate, 2 – graduate; pe = p, δ ( e ) = p – the teacher’s identifier; k3 ( pe ) ∈ {0..5} – the estimation of the novelty level of the material given by the teacher pe. User’s Preferences comprise the important part of our model. Each preference is modeled by a numeric value from the range [0,1]. Value 0 corresponds to the least desired alternative, and value 1 corresponds to the most desired alternative. The model includes two kinds of the user’s preferences: • preferences of the user m ∈ M for the time of subjects: f m1 : Em × Tm+ → [0,1] (13) • preferences of the user m ∈ M for the location of subjects: f m2 : EA m → [0,1] , where EA m = {(e, a) | a ∈ A e ∧ e ∈ Em } – the set of feasible pairs “subjectclassroom”. (14) We use an evident representation of the user’s preferences in the form of graphics tables (table 1, 2). The darker color denotes the more preferable alternative (in respect of time or location). Table 1. Preferences of the user m for the desirable time of subjects, f m1 , Lesson’s number, j 1 2 3 4 5 6 7 8 Mon Days of the week, w Tue Wed Thu Fri Sat Sun Table 2. Preferences of the user m for the desirable location of subjects, Classroom, a f 1 2 3 f m2 4 5 2 m Criterion of timetable quality generalizes several partial criteria, and evaluates the solution found, namely the pair of mappings τ ( e ) , α ( e ) . The first partial criterion evaluates the sum of the user’s preferences for the time of the subject e: Fe1 (τ ) = ∑ m∈M e f m1 ( e,τ ( e ) ) → max (15) The second partial criterion evaluates the sum of the user’s preferences for the location of the subject e: Fe2 (α ) = ∑ m∈M e f m2 ( e, α ( e ) ) → max (16) The generalized criterion is constructed as follows: F (τ , α ) = ∑ ( Fe1 + Fe2 ) → max e∈E (17) The solution of the described problem consists of the found mappings τ , α , assuming that all constraints are satisfied, and the generalized criterion has a maximum value. 3. The Multi-Agent Algorithm For Timetable Design We took for the basis of our algorithm the well-known multi-agent algorithm MSRAC for meetings scheduling by A. Ben Hassine et all. [27]. Although some correspondences still remain, our algorithm is specifically designed for a quite different problem of university’s timetable design, and together with time schedule it gives also an occupancy schedule for classrooms. In our algorithm we recognize two roles of agents: agents-organizers and agentsparticipants. The agent’s structure also mimics the application domain, so we classify all agents as teachers, groups and classrooms. Agents-teachers play the role of organizers; agents-groups and agents-rooms play the role of participants. The numbers of agents-teachers and agents-groups correspond to the real numbers of the teachers and the groups in the university. One agent-room corresponds to all classrooms in the context of the single time table. Collective search for the best time and location of the study involves communication between different agents. For each study the agentteacher performs a set of actions, comprising the following state diagram (fig. 1). Fig. 1. The state diagram of the agent-teacher’s algorithm. The agent-teacher performs state transitions in accordance with the description given below. 1) Ask_when_avail. That is the first state in the algorithm. The agent-teacher sends to all agents of groups the query WHENAVAIL with the study’s identifier, requesting available time for that study. The agents of groups answer by the message USERAVAIL, in which they inform when the agent is free, and has available time for the study. If all agents have informed the answer, then the agent-teacher finds intersection on time. If the intersection is empty, then the agent comes the final state imposs_meeting. 1a) Imposs_meeting. In that state the agent-teacher founds itself if intersection of available for other agents times is empty and the total solution was failed. The study is marked as “having no solution”. 2) Ask_subj_prefs. In that state the agent-teacher requests preferences for time and location (the message EVALUATE). The agents of groups reply own preferences in the message SUBJPREFS. The agent-teacher sorts received preferences for time and for location in accordance with criteria (15) and (16). 3) Propose_time. The agent-teacher selects the first timeslot from the ordered list of the preferences, and sends it along with the study’s identifier to the agents of groups inside the message TIMEPROPOSAL. In response the agents of groups analyze own agendas. If the proposed timeslot is free in the agent’s agenda, the agent gives the positive answer, sending the message ACCEPT. Else the agent compares the priority of the study in the agenda with the priority of the study in the message. If the priority of the message’s study is greater, then the agent accepts new proposal and sends the message ACCEPT. In the opposite case the agent sends the message REJECT. The agent can apply the metropolis criterion [27] for decision making when the priorities are equal. In the case of total acceptance of the proposed timeslot, the agent-teacher passes to the next state Propose_location; in default the agent remains in the state propose_time, and chooses the next timeslot to negotiate. If all timeslots were rejected, it means that the decision for the currently selected study does not exist, and the agent-teacher passes to the state (3а) Solnot_found. 3a) Solnot_found. In that state the agent-teacher founds itself if all proposed for timeslots were rejected by the agents of groups, and the total solution was failed. The study is marked as “having no solution”. 4) Propose_location. The agent-teacher sends the sorted list of classrooms to the agent of classrooms inside the message LOCPROPOSAL. That message contains also the study’s identifier and the timeslot’s identifier. Using own occupancy list, the agent of classrooms searches for the first classroom in the list, which is available for the timeslot given or occupied by the study with a lower priority. If the search was successful, and the classroom is found, in reply to the agent-teacher the agent of classrooms sends the message ACCEPT with the identifier of the room found. In the failure case the agent of classrooms sends the reply REJECT. Once the positive ACCEPT reply is received, the agent-teacher moves to the next state. In the result of REJECT receiving the agent returns to the state propose_time for selecting the available timeslot for the study. 5) Fix_meeting. If the agent-teacher occurs in that state, it means that both the timeslot and the classroom for the study were successfully found. In the result the agent-teacher sends to all other agents the message FIXMEETING with the identifiers of the study, the timeslot, and the classroom. If the agent-group does not have assignment for the received timeslot, the timeslot is fixed. By a similar way the agent of classrooms fixes the location. If the received timeslot (or the classroom) is occupied, the agent discards assignment of the study with lower priority, and sends to the agentteacher the message CANCEL MEETING, which is forwarded further to other agents in order to modify their agendas. In the states (1), (2), (3) and (4), if some agents did not send the answer during a predefined time period, the agent-teacher places the study, being under consideration, into the list of the cancelled subjects, to retry attempts later. Once all agents-teachers finish state processing, the common schedule is considered to be complete. One important feature of our algorithm is that of the partial timetable is always available. The complete timetable, including all the subjects, sometimes simply does not exist. In such a case, however, the considered algorithm will build the consistent time table, with some subjects of low priority ignored. 4. Implementation Details of the Software System AgentTime The described mathematical model and the multi-agent algorithm were applied in the course of design and development the software system for time tabling called AgentTime. AgentTime uses rich communication and agent-life cycle capabilities of Javabased JADE multi-agent platform [29], and has highly distributed software architecture (fig.2). Flexible multi-tier architecture of the system supports simultaneously multiple timetable design sessions and interaction of multiple agents. Fig. 2. The software architecture of AgentTime timetabling system. In AgentTime agents indirectly communicate with each other by passing the messages in accordance with a problem-specific ontology (table 3). Table 3. Multi-agent ontology for timetable design Message WHENAVAIL USERAVAIL Semantics Inquiry to the agent-group for available timeslots. Agent’s response to the message WHENAVAIL. The message contains the vector with available timeslots. Format : (a11 a12 … a18 a21 a22 … a28 … a71 a72 … a78), where aij ∈ {0,1}, 1 – working day, 0 weekend. IMPOSSMEETING The message to the server agent about impossibility to find a time table for the subject with id sbj_id. Format: (sbj_id). EVALUATE Inquiry to the agent of group for time and location preferences related with the subject sbj_id. Format:(sbj_id). SUBJPREFS Agent’s response to the EVALUATE. Format: (sbj_id (w11 w12 … w18 w21 w22 … w28 … w71 w72 … w78) ((L1 p1) (L2 p2) …(Ln pn))), where 0 ≤ wij ≤ 1( i = 1..7, j = 1..8 ) – evaluation of i -th day of week and , j -th lesson; 0 ≤ Lk ≤ 1, k = 1, n – the number of the classroom; missing classrooms have the priority with value 0; 0 ≤ pk ≤ 1, 0 ≤ k ≤ n – the preference of the classroom Lk . TIMEPROPOSAL LOCPROPOSAL The agent-teacher proposes time for the subject sbj_id. Format: (sbj_id (d p)), where d – the day of the week; p – the number of the lesson. The agent-teacher proposes location for the subject sbj_id. Format: (sbj_id (L1 L2 … Lm)), where Lk , k = 1, m – the identifier of the classroom. The classrooms are sorted in accordance with the preferences. ACCEPT/REJECT Agent’s response to the message TIMEPROPOSAL (ACCEPT or REJECT). If the proposal is accepted the message contains the classroom’s identifier. Format: (L), where L – is the id of classroom. FIXMEETING Inquiry to fix the timeslot and location for a certain subject sbj_id. Format: (sbj_id (d p) L), where d – the day of week; p – the id of the lesson; L – the id of the classroom. CANCELMEETING Notification about cancelling a conflicting subject. Format: (sbj_id (d p) L), where d – the day of the week; p – the id of the lesson; L – the id of the classroom. Interaction of the agents during the design of timetable can be illustrated by the UML sequence diagram in fig. 3. In AgentTime apart from previously mentioned types of the agents we use the dedicated ServerAgent which is responsible for communication with external data sources, logging and other technical tasks. Fig. 3. The state diagram of the agent-teacher’s algorithm. Different users of AgentTime can interact with the system using different end-user tools, including web-browsers and PDAs. The mostly used way of interaction assumes application of applet-based graphical interfaces (fig.4), but also JSP-based interfaces are available. a) b) Fig. 4. Examples of AgentTime’s graphics interfaces: a- assignment of preferences; b – representation of the ready timetable. 5. Discussion This article focused on the important problem of time tables’ design for educational institutions. To tackle this problem in the context of modern distributed and highly dynamic universities we proposed the mathematical model and correspondent multiagent algorithm for iterative timetabling in presence of different subjective preferences for time and location of subjects. The theoretical considerations become a foundation for development of the multi-agent software system AgentTime. That system facilitates distributed time planning and allocation of timeslots and classrooms. The developed algorithm belongs to the class of domain-specific multi-agent algorithms and shows good performance metrics. Analysis shows that in the case of single computational node computational complexity of the algorithm C for allocation of timeslots and rooms can be estimated as follows: C ≤ S ⋅ log 2 S ⋅ T0 ( ng , nl ) , where ( S – is the number of subjects, T0 ng , nl ) - a constant determined by the prob- lem’s conditions. If AgentTime is distributed among P ≤ S computational nodes, C S = ⋅ log 2 S ⋅ T0 . In the exP P treme case, when P = S , tp will not be greater then T0 ⋅ log 2 S . then estimation of processing time tp will be tP ≤ Comparing our results with other known approaches to multi-agent timetabling like the algorithm MSRAC [27] , we can note that our system is capable of solving a more general problem, allocating not only timeslots, but classrooms also. With a few modifications proposed model and algorithm will be suitable for managing other important resources as well. At the same time we need to improve theoretical background of our algorithm to rigorously prove the optimality of the solutions found in terms of the criteria (16) and (17). In the nearest time we are going to perform wide-area field experiments with AgentTime to test its robustness and quality of timetabling in real conditions of the complex university. We are also interested in extending the proposed mathematical model and software implementation of AgentTime with other approaches to multiagent coordination. In this context application of the paradigm “Controller-Variable Agent “ [28] is seemed to be very promising. This work was partially supported by Russian Fund of Basic Researches (grant # 07-07-00058). 6. References 1. Cheng J.Q., Wellman M.P. The WALRAS Algorithm: A Convergent Distributed Implementation of General Equilibrium Outcomes // Journal of Computational Economics, 12. 1998. pp. 1-23. 2. Sandhu K.S. Automating Class Schedule Generation in the Context of a University Timetabling Information System. PhD Thesis. 2001. 3. Petrovic S., Burke E. University Timetabling. University of Nottingham. 2003. 4. Akkoyunly E.A. A Linear Algorithm for Computing the Optimum University Timetable // The Computer Journal. 16(4). 1973. pp. 347-350. 5. Shaerf A. Local Search Techniques for Large High School Timetabling Problems. // IEEE Transactions on Systems, Man And Cybernetics 29(4). 1999. pp. 368-377. 6. De Werra D. An Introduction to Timetabling // European Journal of Operational Research. 19. 1985. pp. 151-162. 7. Taha T.R. Numerical schemes for nonlinear evolution equations // The College Journal of Science & Technology. Jerusalem. 2. 1987. pp. 105-116. 8. Dimopoulou M., Miliotis P. Implementation of a university course and examination timetabling system // European Journal of Operational Research. 130(1). 2001. C. 202-213. 9. Burke E., Ross P. (eds) The Practice and Theory of Automated Timetabling: Selected Papers from the 1st Int'l Conf. on the Practice and Theory of Automated Timetabling, Napier University, August/September 1995, Springer Lecture Notes in Computer Science Series, Vol. 1153. 1996. 10.Burke E., Erben W. (eds) The Practice and Theory of Automated Timetabling III: Selected Papers from the 3rd Int'l Conf. on the Practice and Theory of Auto-mated Timetabling, University of Applied Sciences, Konstanz, August 16-18, 2000, Springer Lecture Notes in Computer Science Series, Vol. 2079. 2001. 11.Burke E., De Causmaecker P. (eds) The Practice and Theory of Automated Timetabling III: Selected Revised Papers from the 4th Int'l Conf. on the Practice and Theory of Automated Timetabling, KaHo St.-Lieven, Gent, Belgium, 21-23 August 2002, Springer Lecture Notes in Computer Science Series Vol. 2740, 2003. 12.Back T. Evolutionary Algorithms in theory and practice. New-York: Oxford University Press. 1995. 13.Sharma D., Chandra N. An evolutionary approach to constraint-based timetabling. PRICAI Workshops 2000. pp.80-92 14.Sanchez E., Shibata T., Zadeh L. Genetic Algorithms and Fuzzy Logic Systems. Soft Computing Perspectives // World Scientific. 1997. 15.Buckles B.P., Petry F.E. Genetic Algorithms. IEEE Computer Society Press. 1992. 16.Goldberg D. E. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley. 1989. 17.Maxfield C. Genetic algorithms: programs that boggle the mind. EDN. 1997. 18.Srinivas M., Patnik L.M. Genetic Algorithms: A Survey. // IEEE Computer. 27(6). 1994. pp. 17—26. 19.Abramson D. Constructing School Timetables Using Simulated Annealing: Sequential and Parallel Algorithms. Management-Science. 1991. 20.Wellman M.P., Walsh W.E., Wurman P.R., MacKie-Mason J.K. Auction Protocols for Decentralized Scheduling // Games and Economic Behavior 35. 2001. pp. 271-303. 21.Walsh W.E., Yokoo M., Hirayama K., Wellman M.P. On Market-Inspired Approaches to Propositional Satisfiability. Proceedings of Int. Conf. IJCAI-2000. 2001. pp. 1152—1160. 22.Yokoo M., Hirayama K. Distributed Constraint Satisfaction Algorithm for Complex Local Problems. Proceedings of the Int. Conf. ICMAS-98. 1998. pp.372–379. 23.Yokoo M., Hirayama K. Algorithms for Distributed Constraints Satisfaction: A Review. Proceedings of Int. Conf. AAMAS-02. Vol.3. No.2. 2000. pp. 185 – 207. 24.Garrido L., Sycara K. Multi-Agent Meeting Scheduling: Preliminary Experimental Results. Proceedings of the Int. Conf. ICMAS-96. Kyoto, Japan.1996. 25.Franzin M.S., Freuder E.C., Rossi F., and Wallace R. Multiagent Meeting Scheduling with Preferences: Efficiency, Privacy Loss, and Solution Quality. Proceedings of Intrl. Conf. AAAI-02 (workshop on preference in AI and CP). 2002. 26.BenHassine A., Ito T., Ho T.B. A New Distributed Approach to Solve Meeting Scheduling Problems. Proceedings of IEEE/WIC Int. Conf. IAT, 2003. pp. 588-591. 27.BenHassine A., D´efago X., Ho T.B. Agent-Based Approach to Dynamic Meeting Scheduling Problems. Proceedings of Int. Conf.AAMAS-04.V.3. 2004. pp. 1132 – 1139. 28.Al-Maqtari S., Abdulrab H., Nosary A. Constraint Programming and Multi-Agent System mixing approach for agricultural Decision Support System. Proceedings of In. Conf ECCS'O5, 2006, pp. 199-213. 29.Bellifemine F. L., Caire G., Greenwood D. Developing Multi-Agent Systems with JADE. Wiley. 2007.
© Copyright 2026 Paperzz