1 / 19

Schedule Maker Language

Schedule Maker Language. Sinan Xiao Green Zhang Liang Zhang Zhemin Zhang. What is a Schedule by Google Calendar?. Calendar Program Drawbacks. Schedule MANAGEMENT Static – user needs to make every change No logic distinction between Fixed events, e.g. class lectures

jatin
Télécharger la présentation

Schedule Maker Language

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Schedule Maker Language Sinan Xiao Green Zhang Liang Zhang Zhemin Zhang

  2. What is a Schedule byGoogle Calendar?

  3. Calendar Program Drawbacks • Schedule MANAGEMENT • Static – user needs to make every change • No logic distinction between • Fixed events, e.g. class lectures • To-do tasks, e.g. homework • No inter-relationships • Does it matter if you read the textbook before or after class? • Insertion of new item: • Manually locate valid times, based on user’s understandings of relationships

  4. Alternative Scheduling System • User defines: • START and END, the “scope” of the output schedule • Fixed Events with known start and end times • Non-Fixed Events with just a duration • Constraints, each help describe when tasks should be scheduled • reading before class • homework before deadline • party after homework • … • System can find a time for each task

  5. Schedule Maker Language • Declarative Language: plt_mon: Mon, 4:10pm to 5:25pm plt_mon: Mon, 4:10pm FOR 1hr 15min plt_write_powerpoint: FOR 4hr plt_rehearse: FOR 1hr 20min plt_rehearse after plt_write_powerpoint plt_rehearse before plt_mon

  6. Schedule Maker Language • User describes the problem • System provides a solution • Fill in the time for non-fixed events • Ensure fulfillment of constraints

  7. Feasible and optimal schedule • It is easy to check the existence of a complete schedule and then finding it • If all events are fixed • Sorting by time • If all events are not fixed(with constraints) • topological sort • Making an optimal schedule (like 0-1 knapsack).

  8. Our problem • Our input: fixed events, unfixed events constraints between them • making an optimal schedule turns out to be NP-hard as well as finding a complete schedule. • Even deciding existence of a complete schedule is NP-complete, which asks whether there is a schedule that can schedule all events which satisfy all constraints.

  9. Our problem(2) • In fact, our scheduling problem is same as shortest TSP, it is in Polynomial Hierarchy • What we do is • Using Linear programming/topological sort • Or finding a suboptimal schedule (heuristic/ local search) • Branch and bound • Dynamic programming

  10. Linear programming • Works for optimization: • before, after • shorter, longer • as early as we can, as late as we can • A fatal drawback: cannot deal with overlapping among events

  11. Topological sort • works for nonoverlapping among events works for before, after • A fatal drawback: cannot deal with fixed events

  12. Our solution • Combine topological sort and linear programming • Use topological sort for events nonoverlapping • Use linear programming for all other optimization work

  13. Design Issues • Challenges in Implementing Scheduling • Solution in Design • Take multiple source files together (this can lead to support of multi-users) • Instead of generating IR in one to one mapping, use internal data structure to store the sets and generate afterwards • Separate the solver part --> more scalable • In real life, an emergency may happen every quantum of time. • The events and the constraints should be considered as sets regardless the sequence. • No perfect algorithm can solve the problem at the moment

  14. Architecture

  15. Implementing and Testing

  16. Other Syntax Features plt_wed: Wed, 16:10pm to 17:25 EVERY 7dy plt_final: 5/4, 4:10pm to 5:25pm PRIO 200 if(plt_final before END) plt_final_review: FOR 2hr plt_final_review before plt_final end

  17. Use Schedule Maker! Features

  18. Use Schedule Maker!

  19. Thanks for your time!!

More Related