Suppose you are given n tasks J = {j1, j2, · · · jn}. Each task ji has two parts - a preprocessing phase which takes pi units and a main phase which takes fi units of time. There are n machines that can execute the main phases of the jobs in parallel. However, the preprocessing phases need to be executed sequentially on a special machine. The completion time of any schedule is the earliest time when all tasks have finished execution. Design a greedy algorithm which produces a schedule that minimizes the completion time. Here, you need to give formal proof of correctness. Your proof should not exceed one side of an A4 sheet. Anything more than that will not be considered by the evaluator. Provide only pseudocode.
Suppose you are given n tasks J = {j1, j2, · · · jn}.
Each task ji has two parts - a preprocessing phase which takes pi units and a main phase which
takes fi units of time. There are n machines that can execute the main phases of the jobs in parallel.
However, the preprocessing phases need to be executed sequentially on a special machine. The
completion time of any schedule is the earliest time when all tasks have finished execution. Design
a greedy
need to give formal proof of correctness. Your proof should not exceed one side of an A4 sheet.
Anything more than that will not be considered by the evaluator. Provide only pseudocode.
Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 3 images