schedule maker language n.
Skip this Video
Loading SlideShow in 5 Seconds..
Schedule Maker Language PowerPoint Presentation
Download Presentation
Schedule Maker Language

Loading in 2 Seconds...

play fullscreen
1 / 19

Schedule Maker Language - PowerPoint PPT Presentation

  • Uploaded on

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Schedule Maker Language' - jatin

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
schedule maker language

Schedule Maker Language

Sinan Xiao

Green Zhang

Liang Zhang

Zhemin Zhang

calendar program drawbacks
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
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 language1
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

schedule maker language2
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
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 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.
our problem 2
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
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
Topological sort
  • works for nonoverlapping among events

works for before, after

  • A fatal drawback:

cannot deal with fixed events

our solution
Our solution
  • Combine topological sort and linear programming
  • Use topological sort for events nonoverlapping
  • Use linear programming for all other optimization work
design issues
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
other syntax features
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