Date post: | 03-Jan-2016 |
Category: |
Documents |
Upload: | lane-walters |
View: | 31 times |
Download: | 7 times |
Academic Advisor:Prof. Ronen Brafman
Team Members:Ran IsenbergMirit MarkovichNoa AharonAlon Furman
A Day In a CityADD Presentation
Outline• System Requirements• System Architecture• Class Diagram• User Interface• Algorithm• Task List
System RequirementsFunctional
requirements Answering a
question. Evaluating an
activity Changing the
duration of an activity in the schedule.
Removing an activity from the schedule.
Search for an activity
Details about an activity
Change city.
Non functional requirementsSpeedCapacityModularityProgramming
LanguageExternal APISE Project constraints
System Architecture
Database
System Architecture (Cont.)
Class DiagramSCUFacad
e
CityModelHandler Solver
GUIController
Database
DBHandler ExhaustiveSolver
DistributedSolver
Schedule
Activity
MCVMV Pattern
View ViewModel
Controller
Model
User Interface
Change City
Choose city: HAIFA
TEL-AVIVHADERA……Submit
The AlgorithmThe algorithm is based on the article
“Asynchronous Forward Bounding for Distributed COPs, Amir Gershman, Amnon Meisels and Roie Zivan – '09”.
Each agent represents an activity in a city.The domain values of each agent represent
the time interval between the opening hour and the closing hour of the activity, partitioned into 30 min segments.
In addition, the value of the best schedule found so far, and the number of agents who didn't participate in that schedule are stored as global variables.
Bahai Gardens
Museum of Art
German Colony
Mall
ScheduleThe first agent tries to assign a value from its domain.
09 :00−09 :3009 :3 0−10 :0 010 :00−10 :3010 :3 0−11:00
0 8: 00−08 : 300 8: 3 0−09: 0009 :00−09 :3009 :3 0−10 :0 0
09 :00−09 :3009 :3 0−10 :0 010 :00−10 :3010 :3 0−11:00
09 :3 0−10 :0 010 :00−10 :3010 :3 0−11:00
The agent sends the partial assignment to the next agent
The agent also sends a request to all agents with id greater than his to estimate if they will participate in the assignment in order to calculate how many agents are not going to participate in the current assignment
Meanwhile the second agent tries to assign a value from its domain, sends the partial assignment etc…
When some agent receives an evaluation from other agents regarding how many of them will not participate in the new assignment, he checks whether this value is larger than the number of agents not participating in the schedule found so far. If it is, the new schedule can’t be better than the one found already and the current branch can be pruned.
If the last agent fills the partial assignment and the value of that assignment is greater than the current solution, he will advertise the solution to all agents.
Task ListDevelopment
15/02 – 30/04Database & City Model diagrams
15/02 – 05/03Persistence layer handlers
01/03 – 10/03Solver
15/03 – 30/04Logic Layer (Façade, GUI Controller)
30/03 – 20/04Views and ViewModels
07/04 – 15/04Testing + Unit Testing
01/04 – 30/04Prototype Submission
30/04