Download - A Day In a City ADD Presentation
![Page 1: A Day In a City ADD Presentation](https://reader036.vdocument.in/reader036/viewer/2022062314/568134f8550346895d9c449d/html5/thumbnails/1.jpg)
Academic Advisor:Prof. Ronen Brafman
Team Members:Ran IsenbergMirit MarkovichNoa AharonAlon Furman
A Day In a CityADD Presentation
![Page 2: A Day In a City ADD Presentation](https://reader036.vdocument.in/reader036/viewer/2022062314/568134f8550346895d9c449d/html5/thumbnails/2.jpg)
Outline• System Requirements• System Architecture• Class Diagram• User Interface• Algorithm• Task List
![Page 3: A Day In a City ADD Presentation](https://reader036.vdocument.in/reader036/viewer/2022062314/568134f8550346895d9c449d/html5/thumbnails/3.jpg)
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
![Page 4: A Day In a City ADD Presentation](https://reader036.vdocument.in/reader036/viewer/2022062314/568134f8550346895d9c449d/html5/thumbnails/4.jpg)
System Architecture
Database
![Page 5: A Day In a City ADD Presentation](https://reader036.vdocument.in/reader036/viewer/2022062314/568134f8550346895d9c449d/html5/thumbnails/5.jpg)
System Architecture (Cont.)
![Page 6: A Day In a City ADD Presentation](https://reader036.vdocument.in/reader036/viewer/2022062314/568134f8550346895d9c449d/html5/thumbnails/6.jpg)
Class DiagramSCUFacad
e
CityModelHandler Solver
GUIController
Database
DBHandler ExhaustiveSolver
DistributedSolver
Schedule
Activity
![Page 7: A Day In a City ADD Presentation](https://reader036.vdocument.in/reader036/viewer/2022062314/568134f8550346895d9c449d/html5/thumbnails/7.jpg)
MCVMV Pattern
View ViewModel
Controller
Model
![Page 8: A Day In a City ADD Presentation](https://reader036.vdocument.in/reader036/viewer/2022062314/568134f8550346895d9c449d/html5/thumbnails/8.jpg)
User Interface
Change City
Choose city: HAIFA
TEL-AVIVHADERA……Submit
![Page 9: A Day In a City ADD Presentation](https://reader036.vdocument.in/reader036/viewer/2022062314/568134f8550346895d9c449d/html5/thumbnails/9.jpg)
![Page 10: A Day In a City ADD Presentation](https://reader036.vdocument.in/reader036/viewer/2022062314/568134f8550346895d9c449d/html5/thumbnails/10.jpg)
![Page 11: A Day In a City ADD Presentation](https://reader036.vdocument.in/reader036/viewer/2022062314/568134f8550346895d9c449d/html5/thumbnails/11.jpg)
![Page 12: A Day In a City ADD Presentation](https://reader036.vdocument.in/reader036/viewer/2022062314/568134f8550346895d9c449d/html5/thumbnails/12.jpg)
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.
![Page 13: A Day In a City ADD Presentation](https://reader036.vdocument.in/reader036/viewer/2022062314/568134f8550346895d9c449d/html5/thumbnails/13.jpg)
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…
![Page 14: A Day In a City ADD Presentation](https://reader036.vdocument.in/reader036/viewer/2022062314/568134f8550346895d9c449d/html5/thumbnails/14.jpg)
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.
![Page 15: A Day In a City ADD Presentation](https://reader036.vdocument.in/reader036/viewer/2022062314/568134f8550346895d9c449d/html5/thumbnails/15.jpg)
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