/
Schedule Maker Language Schedule Maker Language

Schedule Maker Language - PowerPoint Presentation

yoshiko-marsland
yoshiko-marsland . @yoshiko-marsland
Follow
393 views
Uploaded On 2016-11-16

Schedule Maker Language - PPT Presentation

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 ID: 489568

events schedule fixed plt schedule events plt fixed constraints time final problem programming topological maker mon complete 10pm linear

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Schedule Maker Language" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Schedule Maker Language

Sinan

Xiao

Green Zhang

Liang Zhang

Zhemin

ZhangSlide2

What is a Schedule by

Google Calendar?Slide3

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 relationshipsSlide4

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 taskSlide5

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_monSlide6

Schedule Maker Language

User describes the problem

System provides a solution

Fill in the time for non-fixed events

Ensure fulfillment of constraintsSlide7

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).Slide8

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.Slide9

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

Slide10

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 eventsSlide11

Topological sort

works for nonoverlapping among events

works for before, after

A fatal drawback:

cannot deal with fixed events

Slide12

Our solution

Combine topological sort and linear programming

Use topological sort for events nonoverlapping

Use linear programming for all other optimization workSlide13

Design Issues

Challenges in Implementing Scheduling

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

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 scalableSlide14

ArchitectureSlide15

Implementing and TestingSlide16

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

endSlide17

Use Schedule Maker!

FeaturesSlide18

Use Schedule Maker!Slide19

Thanks for your time!!