• 沒有找到結果。

Slides credited from Hsu-Chun Hsiao

N/A
N/A
Protected

Share "Slides credited from Hsu-Chun Hsiao"

Copied!
22
0
0

(1)
(2)

(3)

(4)
(5)

1

2

𝑛

1

2

𝑛

1

2

𝑛

Output: a schedule that minimizes the maximum lateness

Job 1 2 3 4

Processing Time (𝑡𝑖) 3 5 3 2

Deadline (𝑑𝑖) 4 6 7 8

𝑎4 𝑎1 𝑎3 𝑎2

0 2 5 8 13

Lateness 0 1 1 7

(6)

Let a schedule 𝐻 contains 𝑠 𝐻, 𝑗 and 𝑓 𝐻, 𝑗 as the start time and finish time of job 𝑗

𝑓 𝐻, 𝑗 − 𝑠 𝐻, 𝑗 = 𝑡𝑗

Lateness of job 𝑗 in 𝐻 is 𝐿 𝐻, 𝑗 = max 0, 𝑓 𝐻, 𝑗 − 𝑑𝑗

𝑗

𝑗

𝑗

(7)

Idea

Shortest-processing-time-first w/o idle time?

Earliest-deadline-first w/o idle time?

Scheduling to Minimize Lateness Problem

Input: 𝑛 tasks with their processing time 𝑡1, 𝑡2, … , 𝑡𝑛, and deadlines 𝑑1, 𝑑2, … , 𝑑𝑛 Output: the schedule that minimizes the maximum lateness

Practice: prove that any schedule w/ idle is not optimal

(8)

Idea

Shortest-processing-time-first w/o idle time?

Job 1 2

Processing Time (𝑡𝑖) 1 2

Deadline (𝑑𝑖) 10 2

𝑎1 𝑎2

0 1 3

Lateness 0 1

𝑎2 𝑎1

0 2 3

Lateness 0 0

(9)

Idea

Earliest-deadline-first w/o idle time?

Greedy algorithm

Scheduling to Minimize Lateness Problem

Input: 𝑛 tasks with their processing time 𝑡1, 𝑡2, … , 𝑡𝑛, and deadlines 𝑑1, 𝑑2, … , 𝑑𝑛 Output: the schedule that minimizes the maximum lateness

Min-Lateness(n, t[], d[])

sort tasks by deadlines s.t. d[1]≤d[2]≤ ...≤d[n]

ct = 0 // current time for j = 1 to n

assign job j to interval (ct, ct + t[j]) s[j] = ct

f[j] = s[j] + t[j]

(10)

Greedy choice: first select the task with the earliest deadline

Assume that there is no OPT including this greedy choice

If OPT processes 𝑎1 as the 𝑖-th task (𝑎𝑘), we can switch 𝑎𝑘 and 𝑎1 into OPT’

The maximum lateness must be equal or lower, because 𝐿 OPT′ ≤ 𝐿 OPT

(11)

Scheduling to Minimize Lateness Problem

Input: 𝑛 tasks with their processing time 𝑡1, 𝑡2, … , 𝑡𝑛, and deadlines 𝑑1, 𝑑2, … , 𝑑𝑛 Output: the schedule that minimizes the maximum lateness

𝑎𝑘 𝑎1 L(OPT, k)

𝑎1 𝑎𝑘 L(OPT’, 1) L(OPT’, k)

L(OPT, 1) OPT

OPT’

If 𝑎𝑘 is not late in OPT’: If 𝑎𝑘 is late in OPT’:

(12)

1

2

≤ ⋯ ≤ 𝑑

𝑛

𝑎𝑖 and 𝑎𝑗 are inverted if 𝑑𝑖 < 𝑑𝑗 but 𝑎𝑗 is scheduled before 𝑎𝑖

Assume that OPT has 𝑎𝑖 and 𝑎𝑗 that are inverted

Let OPT’ = OPT but 𝑎𝑖 and 𝑎𝑗 are swapped

OPT’ is equal or better than OPT, because 𝐿 OPT′ ≤ 𝐿 OPT

(13)

Scheduling to Minimize Lateness Problem

Input: 𝑛 tasks with their processing time 𝑡1, 𝑡2, … , 𝑡𝑛, and deadlines 𝑑1, 𝑑2, … , 𝑑𝑛 Output: the schedule that minimizes the maximum lateness

𝑎𝑗 𝑎𝑖

L(OPT, j)

𝑎𝑖 𝑎𝑗

L(OPT’, i) L(OPT’, j) L(OPT, i) OPT

OPT’

If 𝑎𝑗 is not late in OPT’: If 𝑎𝑗 is late in OPT’: ……

Optimal ……

Solution

Greedy Choice

Subproblem Solution

= +

(14)

Textbook Chapter 16.5 – A task-scheduling problem as a matroid

(15)

1

2

𝑛

1

2

𝑛

𝑖

1

2

𝑛

𝑖

𝑖

Output: a schedule that minimizes the total penalty

Job 1 2 3 4 5 6

Deadline (𝑑𝑖) 1 2 3 4 4 6

Penalty (w𝑖) 30 60 50 20 70 10

𝑎2 𝑎3 𝑎6 𝑎5

0 n

Penalty 30

𝑎7 𝑎1 𝑎4

20

(16)

Let a schedule 𝐻 is the OPT

A task 𝑎𝑖 is late in 𝐻 if 𝑓 𝐻, 𝑖 > 𝑑𝑗

A task 𝑎𝑖 is early in 𝐻 if 𝑓 𝐻, 𝑖 ≤ 𝑑𝑗

We can have an early-first schedule 𝐻′ with the same total penalty (OPT)

𝑎2 𝑎3 𝑎6 𝑎5 16

Penalty 20

𝑎7 𝑎4

Task 1 2 3 4 5 6 7

𝑑𝑖 1 2 3 4 4 4 6

w𝑖 30 60 40 20 50 70 10

𝑎1 30 𝑎2 𝑎3 𝑎6 𝑎5

0 n

Penalty 30

𝑎7 𝑎1 𝑎4

20

𝐻′

𝐻

If the late task proceeds the early task, switching them makes the early one earlier and late one still late

(17)

Idea

Largest-penalty-first w/o idle time?

Earliest-deadline-first w/o idle time?

Input: 𝑛 tasks with their deadlines 𝑑1, 𝑑2, … , 𝑑𝑛 and penalties 𝑤1, 𝑤2, … , 𝑤𝑛 Output: the schedule that minimizes the total penalty

𝑎2 𝑎3 𝑎6 𝑎5

0 n

Penalty 20

𝑎7 𝑎4 𝑎1 30

Task 1 2 3 4 5 6 7

𝑑𝑖 1 2 3 4 4 4 6

w𝑖 30 60 40 20 50 70 10

60 40 70 50 10

(18)

Greedy choice: select the largest-penalty task into the early set if feasible

Assume that there is no OPT including this greedy choice

If OPT processes 𝑎𝑖 after 𝑑𝑖, we can switch 𝑎𝑗 and 𝑎𝑖 into OPT’

The maximum penalty must be equal or lower, because 𝑤𝑖 ≥ 𝑤𝑗

18

𝑎𝑗

0 n

Penalty 𝑤𝑖

𝑎𝑖 𝑑𝑖

𝑎𝑖 Penalty

𝑎𝑗 𝑤𝑗

(19)

Greedy algorithm

Input: 𝑛 tasks with their deadlines 𝑑1, 𝑑2, … , 𝑑𝑛 and penalties 𝑤1, 𝑤2, … , 𝑤𝑛 Output: the schedule that minimizes the total penalty

sort tasks by penalties s.t. w[1] ≥ w[2] ≥ … ≥ w[n]

for i = 1 to n

find the latest available index j <= d[i]

if j > 0

A = A ∪ {i}

mark index j unavailable return A // the set of early tasks

Can it be better?

(20)

𝑎1 𝑎3

𝑎4 𝑎2

0 1 2 3 4 5 6 7

20

𝑎7 𝑎5 𝑎6

30

(21)

When to use greedy

Whether the problem has optimal substructure

Whether we can make a greedy choice and remain only one subproblem

Common for optimization problem

Prove for correctness

Optimal substructure

Greedy choice property

Optimal Solution

Greedy Choice

Subproblem Solution

= +

(22)

Important announcement will be sent to @ntu.edu.tw mailbox

& post to the course website

vertices’ edges, in this shortest path, the left edge must be relaxed before the right edge.  One phase of improvement

 Combine: find closet pair with one point in each region, and return the best of three

jobs

▪ Step 2: Run DFS on the transpose

Greedy-Choice Property : making locally optimal (greedy) choices leads to a globally optimal

 From a source vertex, systematically follow the edges of a graph to visit all reachable vertices of the graph.  Useful to discover the structure of

In this work, for a locally optimal solution to the NLSDP (2), we prove that under Robinson’s constraint qualiﬁcation, the nonsingularity of Clarke’s Jacobian of the FB system

✓ Express the solution of the original problem in terms of optimal solutions for subproblems. Construct an optimal solution from