2. MAPP
• What is MAPP
– A multi-agent based intelligent planning
platform
• What can it do
– Generates high-quality course timetable
based on constraints and optimization
algorithms
3. Why a multi-agent approach is
needed?
• Aiming at same planning problem, different
automated planning algorithms may generate
different solutions.
• Users have different preferences on multiple
feasible solutions
• In a traditional optimization way, a system has to
be run over and over again with different
algorithms and configurations to find the best
solution, which costs a lot of time.
4. Architecture
Information
Presentation Email Result
Configuration
Layer
Solver Agent
Business Mediator
Solver Agent
Layer Agent
……
Persistence Constraint
Constraint
Layer Constraint
Rules
Rules
Rules
DB
5. How does MAPP work?
• Problem scenario and parameters are configured by
user.
• The mediator agent dispatches optimization task to
several solver agents, which adopts different
optimization algorithms and configurations.
• Multiple solver agents run in parallel or in a serial fashion
• Multiple feasible solutions are generated by solver
agents
• Mediator agent collects and sorts the solutions
generated by solver agents.
• The highest score solutions were sent to user by email.
8. Configure Rooms
Click “Room” , and then you can either delete or change the entry by
clicking the corresponding button.
9. Configure Teachers
Click “Teacher” , and then you can either delete or change the entry by
clicking the corresponding button.
You can change preferred teaching time by clicking ”Change Preference”
11. Configure Class Subjects
• Different classes may have different
number of lectures per week for the same
subject, and be taught by different
teachers. For example, class 1,2,3 may
have 3 lectures for Math each week while
class 5 and 6 have 2 lectures. The
ClassSubject object maintains this kind of
information.
12. Configure Class Subjects
Click “ClassSubject” , and then click “Add ClassSubject”,
correspondence between class and subject can be configured.
14. Configure Student Groups
• One ClassSubject object may have
several student groups. For example, for
the “Math for grade 7” ClassSubject, each
teacher only teaches one class in each
lecture, then each class of this
ClassSubject makes a student group
respectively.
15. Configure Student Group
Each student group belongs to a ClassSubject, the relationship can be
configured in this page.
16. Solving started
Two agents running in
parallel
The solving process can be started now, and multiple solving agents will be run in
parallel to solve this problem
18. Evaluation
• We implemented two
planning algorithms, Tabu
Search and Simulate Testing Data Set
Anneal Arithmetic, in both
Name Value
serial and parallel ways.
• The testing data set is # Classes taught 8
shown in right hand table. # Teachers for each subject 3
# Available rooms 8
# Lectures for each class per 3
subject
19. Results
250
Response Time(Sec.) Serial Parallel
200
150
100
50
0
1 2 3 4 5 6 7 8
#Subjects
Comparison are shown as two response time.
First, with the increasing number of subjects, the execution time
increases monotonically in both strategies. Second, the response time of
parallel strategy is less than that of serial strategy dramatically, which
means the performance of parallel approach is better than that of serial
approach.