Approximation Algorithms: Greedy Load Balancing/Vertex Cover

In summary, the conversation discusses a business that uses a simple Greedy-Balance Algorithm for processing jobs on ten machines. While this algorithm may not be the best approximation algorithm, the business has found it to be effective and easy to use. They have heard that it can result in a makespan twice the minimum possible, but their experience has shown it to be no more than 20 percent above the average load. The conversation then shifts to discussing a scenario where the problem can be formulated as a Vertex Cover Problem and an approximation algorithm using pricing method is described. The optimal solution is compared to the solution found by the algorithm.Add on:An application scenario for the Vertex Cover Problem could be a social media platform where users are connected by friendships.
  • #1
nrobidoux
25
0

Homework Statement



You are asked to consult for a business where clients bring in jobs each day for processing. Each job has a processing time ti that is known when the job arrives. The company has a set of ten machines, and each job can be processed on any of these ten machines.

At the moment the business is running the simple Greedy-Balance Algorithm we discussed in Section 11.1. They have been told that this may not be the best approximation algorithm possible, and they are wondering if they should be afraid of bad performance. However, they are reluctant to change the scheduling as they really like the simplicity of the current algorithm: jobs can be assigned to machines as soon as they arrive, without having to defer the decision until later jobs arrive.

In particular, they have heard that this algorithm can produce solutions with makespan as much as twice the minimum possible; but their experience with the algorithm has been quite good: They have been running it each day for the last month, and they have not observed it to produce a makespan more than 20 percent above the average load, 1/10 * sum(ti, i = 1..n).

To try understanding why they don’'t seem to be encountering this factor-of-two behavior, you ask a bit about the kind of jobs and loads they see. You find out that the sizes of jobs range between 1 and 50, that is, 1 <= ti <= 50 for all jobs i; and the total load sum(ti, i = 1 .. n); is quite high each day: it is always at least 3,000. Prove that on the type of inputs the company sees, the Greedy-Balance Algorithm will always find a solution whose makespan is at most 20 percent above the average load.

Add on:

Create an application scenario where the problem can be formulated as Vertex Cover Problem. Use a small problem instance of this application problem as input to illustrate how the approximation algorithm using pricing method Vertex-Cover-Approx(G, w) described in Section 11.4 works and show the solution. Find the optimal solution yourself, and compare it with the solution found by the approximation algorithm.

Homework Equations


Greedy Load Balancing: when a new job with load x i arrives it is assigned to machine with smallest load.

Vertex Cover: Given graph G with nodes {V}, vertex cover is a subset of V such that all edges in the graph have at least 1 part in the subset.

3. The Attempt at a Solution

Right now I'm more curious about the instructor's addition... (and after much thought while this sat open I'll go back to the original problem until I get some clarification from the professor.)

I'm curious how the 20% is arrived at. I basically took the minimum total load of 3000 and distributed it among all machines, minus 1 job. Worst case all jobs up to this point have a load of 1. This leaves me with 9 machines at 300 and one at 299. If I add a job of 50 to that machine it has a load of 349. 349/300 = 1.16333333333 not 1.2 times the average.

I could say that prior to submission of the last job, 9 machines had a load of 300 and 1 had a load of 250... but 250 is not the average load, 300 is.
 
Physics news on Phys.org
  • #2
So I can't be sure what the professor is asking us to prove.For the Vertex Cover addition, I would have to think about the application scenario for a bit.
 

1. What are approximation algorithms?

Approximation algorithms are mathematical algorithms used to solve complex optimization problems that are difficult or impossible to solve exactly. These algorithms provide a good, but not necessarily optimal, solution to the problem in a reasonable amount of time.

2. What is the Greedy Load Balancing algorithm?

The Greedy Load Balancing algorithm is a type of approximation algorithm used to solve the load balancing problem, which involves distributing a set of tasks among a set of machines in a way that minimizes the overall load on each machine. This algorithm works by assigning each task to the least loaded machine at the time of assignment.

3. How does the Greedy Load Balancing algorithm achieve a reasonable solution?

The Greedy Load Balancing algorithm achieves a reasonable solution by making local, greedy decisions at each step. While this approach may not always lead to the optimal solution, it usually produces a solution that is close to optimal and can be found in a reasonable amount of time.

4. What is the Vertex Cover problem?

The Vertex Cover problem is an optimization problem that involves finding the smallest set of vertices in a graph such that every edge in the graph is incident to at least one of the vertices in the set. This problem is known to be NP-hard, meaning there is no known efficient algorithm to solve it exactly.

5. How does the Vertex Cover problem relate to approximation algorithms?

The Vertex Cover problem is one of the problems that can be solved using approximation algorithms. The Greedy Vertex Cover algorithm is a common approximation algorithm used to solve this problem, and it works by repeatedly selecting the vertex with the highest degree and removing it along with its incident edges until all edges in the graph are covered.

Similar threads

  • Engineering and Comp Sci Homework Help
Replies
2
Views
2K
  • Programming and Computer Science
Replies
4
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
3
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
16
Views
3K
  • Programming and Computer Science
Replies
2
Views
966
  • Set Theory, Logic, Probability, Statistics
Replies
2
Views
971
  • Programming and Computer Science
Replies
29
Views
3K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
8
Views
4K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
2K
Back
Top