Question: 3) (20 pts) Consider the Maximum Workload Problem: Inputs: m number of machines, n number of jobs, array A = (an, a2, ..., an) machine
3) (20 pts) Consider the Maximum Workload Problem: Inputs: m number of machines, n number of jobs, array A = (an, a2, ..., an) machine assignments of the jobs, array D = (di, d2, ..., d.) workload of the jobs on a machine. Output: The index of the machine having the highest total workload. Ex: Let us have m 2 machines and n = 5 jobs. The machine assignments of the jobs are given by the array A = (1, 1, 2, 2, 1). As an example, the second job ( = 2) is assigned to the first machine (A[2] = 1). The working times of a machine to complete the jobs are given by the array D = (5,4,6, 3,8). As an example, a machine needs 6 units of time to complete job 3 (D[3] = 6). Total workload C, of the machine i can be calculated with the following formula: C; = d; jaji For example, C = d.+ d2 + ds = 5+4 + 8 = 17 for machine i = 1, and C2 = d3 + da = 6+3 = 9 for machine i = 2. The maximum workload can be calculated as Cmaz = max{C}. We can see that machine i = 1 is the machine with the highest workload since Cmar = max {C1, C2} = {17,9} = 17. Hence, we return index i = 1 as the output. a. (12 pts) Design an algorithm, say Maximum Workload algorithm, that solves Maximum Workload Problem. Give the pseudocode of your al- gorithm. b. (5 pts) Show the iterations step-by-step of your algorithm on the in- stance in the example. c. (3 pts) What is the computational complexity of your algorithm? Is it an efficient algorithm or not? Discuss in detail
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
