Schedule Maker Language Sinan Xiao Green Zhang Liang
- Slides: 19
Schedule Maker Language Sinan Xiao Green Zhang Liang 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 • 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
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
Schedule Maker Language • Declarative Language: plt_mon: Mon, 4: 10 pm to 5: 25 pm plt_mon: Mon, 4: 10 pm FOR 1 hr 15 min plt_write_powerpoint: FOR 4 hr plt_rehearse: FOR 1 hr 20 min plt_rehearse after plt_write_powerpoint plt_rehearse before plt_mon
Schedule Maker Language • User describes the problem • System provides a solution – Fill in the time for non-fixed events – Ensure fulfillment of constraints
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).
Our problem • Our input: fixed events, unfixed events constraints between them Ø making an optimal schedule turns out to be NPhard as well as finding a complete schedule. Ø Even deciding existence of a complete schedule is NP-complete, which asks whethere is a schedule that can schedule all events which satisfy all constraints.
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
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
Topological sort • works for nonoverlapping among events works for before, after • A fatal drawback: cannot deal with fixed events
Our solution ü Combine topological sort and linear programming • Use topological sort for events nonoverlapping • Use linear programming for all other optimization work
Design Issues • Challenges in Implementing Scheduling • Solution in Design 1. Take multiple source files 1. In real life, an together (this can lead to emergency may happen every quantum of time. support of multi-users) 2. The events and the 2. Instead of generating IR in constraints should be one to one mapping, use considered as sets internal data structure to regardless the sequence. store the sets and generate 3. No perfect algorithm can afterwards solve the problem at the 3. Separate the solver part --> moment more scalable
Architecture
Implementing and Testing
Other Syntax Features plt_wed: Wed, 16: 10 pm to 17: 25 EVERY 7 dy plt_final: 5/4, 4: 10 pm to 5: 25 pm PRIO 200 if(plt_final before END) plt_final_review: FOR 2 hr plt_final_review before plt_final end
Use Schedule Maker! Make Scheduling Convenient Easy to Use Nice Output Features Support Multiple Users Extendable
Use Schedule Maker! Strong Event/Time Representation Complicated Relationships Powerful Schedule Algorithm
Thanks for your time!!
- Sinan xiao
- Windows movie maker fade out audio
- Show me green
- Richard seow yung liang
- Daniel liang introduction to java programming
- Zhuo shi wo li liang
- Zhong han liang
- Yuanxing liang
- Amber liang
- Liang fontdemo.java
- Liang fontdemo.java
- Kartu indeks arsip
- Zachary hensley
- David teo choon liang
- How was ma liang like
- Zong-liang yang
- Liang jianhui
- Chia liang cheng
- Materi otk keuangan kelas 11 semester 2
- Umbc mechanical engineering