SCHEDULING WITH CANCELLATIONS VAN-ANH TRUONG (JOINT WORK WITH - - PowerPoint PPT Presentation

scheduling with
SMART_READER_LITE
LIVE PREVIEW

SCHEDULING WITH CANCELLATIONS VAN-ANH TRUONG (JOINT WORK WITH - - PowerPoint PPT Presentation

MULTI-PRIORITY ONLINE SCHEDULING WITH CANCELLATIONS VAN-ANH TRUONG (JOINT WORK WITH XINSHANG WANG) COLUMBIA UNIVERSITY 29-MAY-15 THREE APPLICATIONS 1. Make-to-order photolithography mask-making facility (Rubino and Ata 2009) THREE


slide-1
SLIDE 1

MULTI-PRIORITY ONLINE SCHEDULING WITH CANCELLATIONS

VAN-ANH TRUONG (JOINT WORK WITH XINSHANG WANG) COLUMBIA UNIVERSITY 29-MAY-15

slide-2
SLIDE 2

THREE APPLICATIONS

1. Make-to-order photolithography mask-making facility (Rubino and Ata 2009)

slide-3
SLIDE 3

THREE APPLICATIONS

1. Make-to-order photolithography mask-making facility (Rubino and Ata 2009)

  • Orders from multiple demand classes arrive over time.
  • Production only starts when there are outstanding orders.
  • No inventory is kept.
  • Manager can outsource an order upon its arrival or accept it
  • Enqueues the order and allocates the order for production as appropriate.
  • Each order incurs a waiting cost as it waits.
  • How to make outsourcing decisions to trade-off outsourcing and waiting costs?
slide-4
SLIDE 4

THREE APPLICATIONS

  • 2. Elective surgery facility (Gerchak et al. 1996)
slide-5
SLIDE 5

THREE APPLICATIONS

  • 2. Elective surgery facility (Gerchak et al. 1996)
  • Hospital reserves a portion of each day for emergency surgeries
  • Remaining time used to performed elective surgeries
  • New elective surgery requests arrive each day
  • Cost for waiting
  • Scheduling too many cases per day exceeds day’s capacity
  • Overtime hours or surge capacity used
  • Aggregate-planning decision: How many cases to perform on each day in regular and over

time?

slide-6
SLIDE 6

THREE APPLICATIONS

  • 3. Network routing for server applications
slide-7
SLIDE 7

THREE APPLICATIONS

  • 3. Network routing for server applications
  • Data requests arrive to server applications by local clients.
  • Servers make use of computing resources (CPU, disk I/O, etc)
  • Data requests not immediately processed are stored in the memory.
  • If the wait time is too long, some data requests might expire or lose the value of being processed
  • Priority of a data request determined by its expiration date or the probability of expiring.
  • Data packages can often be routed to remote (external) idle servers at a cost of propagation delay
  • Routing decision needs to be dynamically made to reduce the overall cost
slide-8
SLIDE 8

MODEL

  • Adapted for surgical-scheduling terminology
  • There are T days in the planning horizon
  • There is some regular capacity on each day
  • Might be random and variable because of staffing
  • Unlimited amount of overtime capacity
slide-9
SLIDE 9

MODEL: CAPACITY

Day 1 Day 2 Day 3

Regular capacity Overtime

  • Use of regular capacity

is free (sunk cost)

  • Use of overtime capacity

incurs a constant

  • vertime cost per patient

slide-10
SLIDE 10

MODEL: SCHEDULING

Day 1

served

Day 2 Day 3

served served cancel

  • Waiting patients

might cancel randomly in each period

slide-11
SLIDE 11

MODEL: PRIORITIES

Day 1

served

Day 2 Day 3

served served cancel Higher priority

slide-12
SLIDE 12

MODEL: PRIORITIES

  • Each patient 𝑣 is associated with
  • A waiting cost 𝑥𝑣
  • A cancellation probability 𝑟𝑣
  • A cancellation cost 𝑠

𝑣

  • Higher priority patients have higher values of 𝑥𝑣, 𝑟𝑣 and 𝑠

𝑣

  • It is optimal to serve some number of highest-priority patients on each day (Ayvaz

and Huh 2010, Min and Yih 2010)

  • We will study this class of policies
slide-13
SLIDE 13

ONLINE FRAMEWORK

  • Distribution of demand/capacity unknown
  • Demand/capacity can be chosen by an adversary
  • Can be correlated over time
  • Cancellations are exogenous to all policies
slide-14
SLIDE 14

ONLINE FRAMEWORK

  • OFF: Optimal offline policy. Knows the sequence of demand arrivals and

capacities up front.

  • ON: My online policy. Observes demand arrivals and capacity one period at a time

and makes adaptive decisions.

  • Goal is to characterize an upper bound on the worst-case ratio of expected costs

𝑊ON/𝑊OFF called the competitive ratio.

slide-15
SLIDE 15

WHY ONLINE ?

  • Is the approach overly pessimistic?

1. Past approaches have not been tractable for general models of demand

  • Stationary demands usually needed
  • In practice, demand usually non-stationary
  • In server applications (Tai et all 2011).
  • Call centers and hospitals (Kim and Whitt 2013)
slide-16
SLIDE 16

WHY ONLINE ?

  • Is the approach overly pessimistic?

2. Even with stationary demand, there are few characterizations of theoretical performance

slide-17
SLIDE 17

KNOWN RESULTS

  • Appointment scheduling literature
  • Stochastic dynamic programming framework.
  • Gerchak, Gupta and Henig (1996), Patrick, Putterman and Queyranne (2008), Min

and Yih (2010), Ayvaz and Huh (2010), Gocgun and Ghate (2012), Huh, Liu, and Truong (2013).

  • Structural results known.
  • Few heuristics to compute policies.
  • No performance guarantee.
slide-18
SLIDE 18

KNOWN RESULTS

  • Queuing literature
  • Blackburn (1972)
  • Rubino and Ata (2009)
  • Assume stationary Poisson arrivals
  • Fixed capacity
  • Solved problem in heavy-traffic regime
  • The only characterization of performance known
slide-19
SLIDE 19

KNOWN RESULTS

  • Machine-scheduling literature
  • Online algorithms to minimize sum of energy usage and waiting costs
  • Yao et al. (1995), Chan et al. (2007), Bansal et al. (2007, 2009, 2011), Albers and

Fujiwara (2007)

  • Continuous control of processing rate
  • Preemption
  • No cancellations
slide-20
SLIDE 20

OUR RESULTS

  • First online algorithm with a competitive ratio of 2.
  • Proof that 2 is the best possible competitive ratio.
  • Algorithm easy to implement and has good empirical performance.
  • Analysis of performance provides new insights into problem.
slide-21
SLIDE 21

DIFFICULTY IN THE ANALYSIS

  • Need to compare two different policies
  • Do not know OFF
  • System states high-dimensional
  • States take different paths over time
  • Cannot directly compare costs between different system states
slide-22
SLIDE 22

A MOTIVATING EXAMPLE

ON

Day 1 Day 2

OFF

served

  • Both policies serve a total of 3 patients over 2 days.
  • ON delays scheduling => ends with lower-priority patients

served served

slide-23
SLIDE 23

A MOTIVATING EXAMPLE

Day 1 Day 2

served served served

Type 1: overtime cost under ON ≤ overtime cost under OFF

ON OFF

slide-24
SLIDE 24

A MOTIVATING EXAMPLE

Day 1 Day 2

served served served

Type 2: waiting cost under ON ≤ waiting cost under OFF

ON OFF

slide-25
SLIDE 25

COMPARING 2 POLICIES

Two policies differ only in number of overtime slots used in each period. A policy might be ``ahead’’ for part of the time, and behind for part of the time. How to tell when a policy is ahead generally? First, ignore cancellations.

slide-26
SLIDE 26

COMPARING 2 POLICIES

  • 4
  • 2

2 4 6 8 1 2 3 4 5 6 7 8 9

ON OFF

OFF - ON Cumulative number of overtime slots used

slide-27
SLIDE 27

COMPARING 2 POLICIES

  • 4
  • 2

2 4 6 8 1 2 3 4 5 6 7 8 9

ON OFF

OFF - ON OFF is behind in period 1 Recalculate cumulative difference starting in period 2 Cumulative number of overtime slots used

slide-28
SLIDE 28

COMPARING 2 POLICIES

  • 4
  • 2

2 4 6 8 1 2 3 4 5 6 7 8 9

ON OFF

OFF - ON OFF falls behind in periods 4 and 5 Recalculate cumulative difference starting in period 6 Cumulative number of overtime slots used

slide-29
SLIDE 29

DISTANCE BETWEEN POLICIES

  • 4
  • 2

2 4 6 8 1 2 3 4 5 6 7 8 9

ON OFF

OFF - ON OFF falls behind in periods 8 and 9 Cumulative number of overtime slots used

slide-30
SLIDE 30

COMPARING 2 POLICIES

  • 4
  • 2

2 4 6 8 1 2 3 4 5 6 7 8 9

ON OFF

OFF - ON OFF is behind Cumulative number of overtime slots used

slide-31
SLIDE 31

COMPARING 2 POLICIES

  • 4
  • 2

2 4 6 8 1 2 3 4 5 6 7 8 9

ON OFF

OFF - ON OFF is ahead Cumulative number of overtime slots used

slide-32
SLIDE 32

DISTANCE BETWEEN POLICIES

  • 4
  • 2

2 4 6 8 1 2 3 4 5 6 7 8 9

ON OFF

OFF - ON Distance is 0 when OFF is behind

slide-33
SLIDE 33

DISTANCE BETWEEN POLICIES

  • 4
  • 2

2 4 6 8 1 2 3 4 5 6 7 8 9

ON OFF

OFF - ON Distance equals adjusted cumulative difference when OFF is ahead

slide-34
SLIDE 34

DISTANCE BETWEEN POLICIES

  • 4
  • 2

2 4 6 8 1 2 3 4 5 6 7 8 9

ON OFF

OFF - ON Distance function

slide-35
SLIDE 35

WHY DISTANCE FUNCTION?

Physical interpretation:

  • In a period in which the distance is d=0
  • OFF uses fewer overtime slots in that period
  • OFF accumulates more jobs in that period
  • In an interval in which the distance is d>0
  • OFF uses d more overtime slots cumulatively in interval
  • But by serving d more jobs, ON can catch up to OFF
slide-36
SLIDE 36

WHY DISTANCE FUNCTION?

Physical interpretation: when the distance is d

  • If ON serves another d jobs in overtime, the remaining jobs in ON will have

priorities less than or equal to those in OFF

slide-37
SLIDE 37

WHY DISTANCE FUNCTION?

Physical interpretation: when the distance is d=2 and ON serves 2 more jobs

ON OFF

slide-38
SLIDE 38

WHY DISTANCE FUNCTION?

each remaining job in ON can be uniquely matched to a higher priority job in OFF

ON OFF

slide-39
SLIDE 39

WHY DISTANCE FUNCTION?

ON becomes dominated by OFF

ON OFF

slide-40
SLIDE 40

PROPERTY OF DISTANCE FUNCTION

Theorem: In a period in which distance is 0

  • The jobs in ON are dominated by the jobs in OFF
  • OFF incurs higher waiting costs
slide-41
SLIDE 41

PROPERTY OF DISTANCE FUNCTION

Theorem: In an interval in which distance is positive

  • OFF uses more cumulative overtime slots in the interval
  • OFF incurs higher overtime cost in the interval
slide-42
SLIDE 42

SIGNIFICANCE OF DISTANCE FUNCTION

Provide an invariance between the costs of ON and OFF 1. No direct knowledge of OFF

slide-43
SLIDE 43

SIGNIFICANCE OF DISTANCE FUNCTION

Provide an invariance between ON and OFF 2. Summarizes difference between two decision paths with a single number per period.

  • Dispense with complex high-dimensional state information
  • Dispense with complete history of two policies
slide-44
SLIDE 44

PARTITION OF HORIZON

Planning horizon 𝐼 = {1,2, … , 𝑈} We can partition 𝐼 into two sets depending on the sign of the distance function, such that 𝐼 = 𝑇1 ∪ 𝑇2 During periods 𝑇1: Total overtime cost ≤ Total overtime cost During periods 𝑇2: Total waiting cost ≤ Total waiting cost

ON OFF

slide-45
SLIDE 45

ALGORITHM AND PERFORMANCE BOUND

During periods 𝑇1: Total overtime cost ≤ Total overtime cost During periods 𝑇2: Total waiting cost ≤ Total waiting cost

ON OFF

ON balances cumulative overtime costs and cumulative waiting costs in each period

Overtime cost ≈ Waiting cost

slide-46
SLIDE 46

ALGORITHM AND PERFORMANCE BOUND

During periods 𝑇1: Total overtime cost ≤ Total overtime cost During periods 𝑇2: Total waiting cost ≤ Total waiting cost

ON OFF

During periods 𝑇1:

1 2 × Total cost

≤ Total overtime cost During periods 𝑇2:

1 2 × Total cost

≤ Total waiting cost

ON OFF

slide-47
SLIDE 47

ALGORITHM AND PERFORMANCE BOUND

Worst ratio is 2 between cost of ON and OFF We can also show that 2 is the best possible competitive ratio.

slide-48
SLIDE 48

CANCELLATIONS

slide-49
SLIDE 49

NEW ACCOUNTING SCHEME

Cancellation introduces a new cost. How can we integrate the new cost into our analysis?

Overtime costs Waiting costs Cancellation costs

slide-50
SLIDE 50

NEW ACCOUNTING SCHEME

Overtime costs Waiting costs Cancellation costs

𝑠

𝑣

= 𝑑

  • vertime cost

𝑠

𝑣 ≥ 𝑑

slide-51
SLIDE 51

NEW ACCOUNTING SCHEME

Overtime costs Waiting costs Cancellation costs

𝑥𝑣 = 𝑥𝑣 + 𝑠

𝑣 − 𝑑 𝑟𝑣

𝑥𝑣

slide-52
SLIDE 52

NEW ACCOUNTING SCHEME

  • Idea is to incorporate the original cancellation cost into overtime and waiting

costs

  • Treat a cancellation as a job that is forced to be done in overtime
  • Reuse previous arguments

𝑠

𝑣

= 𝑑

slide-53
SLIDE 53

NEW ACCOUNTING SCHEME

Theorem: The total cost for any scheduling policy differs only by a constant between the

  • riginal and new cost-accounting scheme.
slide-54
SLIDE 54

CANCELLATIONS

  • Our invariance might not hold under cancellations.
slide-55
SLIDE 55

CANCELLATIONS

  • Modify the distance function
  • consider cumulative difference between number of overtime slots + number of

cancellations in each period.

  • Must show that invariance is preserved even under cancellations.
slide-56
SLIDE 56

STOCHASTIC COUPLING OF CANCELLATIONS

1. Let d=2 jobs in ON cancel, where d is the value of the distance function

ON OFF

slide-57
SLIDE 57

STOCHASTIC COUPLING OF CANCELLATIONS

2. Couple the cancellations of the remaining jobs in ON, with corresponding number of highest priority jobs in OFF

ON OFF

Simulate the cancellations, using one uniform random variable for each pair.

slide-58
SLIDE 58

STOCHASTIC COUPLING OF CANCELLATIONS

3. Let the remaining jobs in OFF cancel

ON OFF

slide-59
SLIDE 59

STOCHASTIC COUPLING OF CANCELLATIONS

Under coupling, if a job cancels in phase 2 in ON, the dominating job cancels in OFF

ON OFF

slide-60
SLIDE 60

STOCHASTIC COUPLING OF CANCELLATIONS

ON OFF

Distance increases by 3-2=1

slide-61
SLIDE 61

STOCHASTIC COUPLING OF CANCELLATIONS

Distance increases from 2 before to 3 after

ON OFF

Before After

slide-62
SLIDE 62

CANCELLATIONS

  • Under modified distance function and coupling, invariance is preserved.
slide-63
SLIDE 63

ALGORITHM AND PERFORMANCE

  • ON balances the new cumulative waiting cost and the sum of cumulative overtime

cost and cancellation costs

  • Achieves same competitive ratio
slide-64
SLIDE 64

COMPUTATIONAL PERFORMANCE

OPT: optimal stochastic policy OFF: optimal offline policy OLN: online policy OLN*: tuned online policy C: cut-off policy

slide-65
SLIDE 65

COMPUTATIONAL PERFORMANCE

Two demand classes OPT: optimal stochastic policy OFF: optimal offline policy OLN: online policy OLN*: tuned online policy C: cut-off policy

slide-66
SLIDE 66

COMPUTATIONAL PERFORMANCE

2 demand classes OPT: optimal stochastic policy OFF: optimal offline policy OLN: online policy OLN*: tuned online policy C: cut-off policy

slide-67
SLIDE 67

COMPUTATIONAL PERFORMANCE

OPT: optimal stochastic policy OFF: optimal offline policy OLN: online policy OLN*: tuned online policy C: cut-off policy