• 沒有找到結果。

Slides credited from Hsu-Chun Hsiao

N/A
N/A
Protected

Academic year: 2022

Share "Slides credited from Hsu-Chun Hsiao"

Copied!
22
0
0

加載中.... (立即查看全文)

全文

(1)
(2)

 Greedy #2: Coin Changing

 Greedy #3: Fractional Knapsack Problem

 Greedy #4: Breakpoint Selection

 Greedy #5: Huffman Codes

 Greedy #6: Scheduling to Minimize Lateness

 Greedy #7: Task-Scheduling

(3)

To yield an optimal solution, the problem should exhibit

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

2. Optimal Substructure : an optimal solution to the problem

contains within it optimal solutions to subproblems

(4)
(5)

Input: a finite set 𝑆 = 𝑎

1

, 𝑎

2

, … , 𝑎

𝑛

of 𝑛 tasks, their processing time 𝑡

1

, 𝑡

2

, … , 𝑡

𝑛

, and integer deadlines 𝑑

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, 𝑓 𝐻, 𝑗 − 𝑑𝑗

The goal is to minimize max

𝑗

𝐿 𝐻, 𝑗 = 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

Proof via contradiction

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)

There is an optimal scheduling w/o inversions given 𝑑

1

≤ 𝑑

2

≤ ⋯ ≤ 𝑑

𝑛

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

Proof via contradiction

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)

Input: a finite set 𝑆 = 𝑎

1

, 𝑎

2

, … , 𝑎

𝑛

of 𝑛 unit-time tasks, their corresponding integer deadlines 𝑑

1

, 𝑑

2

, … , 𝑑

𝑛

(1 ≤ 𝑑

𝑖

≤ 𝑛), and nonnegative penalties 𝑤

1

, 𝑤

2

, … , 𝑤

𝑛

if 𝑎

𝑖

is not finished by time 𝑑

𝑖

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)

Rethink the problem: “maximize the total penalty for the set of early tasks”

Idea

Largest-penalty-first w/o idle time?

Earliest-deadline-first w/o idle time?

Task-Scheduling Problem

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

Proof via contradiction

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

Task-Scheduling Problem

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

Task-Scheduling(n, d[], w[])

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

Total penalty = 30 + 20 = 50

20

𝑎7 𝑎5 𝑎6

30

(21)

“Greedy”: always makes the choice that looks best at the moment in the hope that this choice will lead to a globally optimal solution

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)

Course Website: http://ada17.csie.org Email: ada-ta@csie.ntu.edu.tw

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 qualification, 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