50 likes | 143 Views
Create optimal schedules based on order, location, time constraints. Parsing RDF, representing events. User tasks as finite domains, adding constraints. Scheduler returns schedules using JADE agent. Future plans to refine solutions with SICStus library algorithms.
E N D
Scheduling in Granite Nights 5pm - Beer 7pm - Food 9pm - Movie http://www.csd.abdn.ac.uk/research/AgentCities/compo/
A Night “Oot in the ‘deen” • Scheduler should decide places to visit and times to visit based on: • Specified order constraints • Relative location of events • Specified time constraints • Type of event
Scheduling Events • Parse RDF from evening agent and represent events as: data(<name>,<type>,<open>,<close>,<location>). E.G. data(littlejohns,meal,1200,2300,[3,3]) • User tasks represented as finite domains with start/end time E.G. domain([Task1start,Task1end],10,24), domain([Task1length],1,12), Task1start+Task1length #<= Task1end.
Adding Constraints • Add precedence/location constraints to events: E.G. Task1start+Task1length1+Distance1 #=< Task2start. • Match up type information • Check opening/closing times: data(event,type,EventStart,EventEnd,[LocX,LocY]), EventStart #<= task1start, EventEnd #=> task1end. • Scheduler returns n possible schedules as vector in JADE agent
Current/future Work • Current implementation: • Jasper/Sicstus prolog connection • Using Sicstus CLPFD library • To do: • Improve scheduler • Better solutions (more realistic) • More variety in solutions returned • Use specific scheduling routines/Algorithms from Sicstus library