Hello everybody. I'm asked to find a 2 approximate solution to this problem:
You’re consulting for an e-commerce site that receives a large number of visitors each day. For each visitor i, where i € {1, 2 ..... n}, the site has assigned a value v[i], representing the expected revenue that can be obtained from this customer. Each visitor i is shown one of m possible ads A1, A2 ..... Am as they enter the site. The site wants a selection of one ad for each customer so that each ad is seen, overall, by a set of customers of reasonably large total weight. Thus, given a selection of one ad for each customer, we will define the spread of this selection to be the minimum, over j = 1, 2 ..... m, of the total weight of all customers who were shown ad Aj. Example: Suppose there are six customers with values 3, 4, 12, 2, 4, 6, and there are m = 3 ads. Then, in this instance, one could achieve a spread of 9 by showing ad A1 to customers 1, 2, 4, ad A2 to customer 3, and ad A3 to customers 5 and 6. The ultimate goal is to find a selection of an ad for each customer that maximizes the spread. Unfortunately, this optimization problem is NP-hard, so instead give a polynomial-time algorithm that approximates the maximum spread within a factor of 2. The problem is similar to load balancing: in this problem we wanto to minimize the makespan, while here our goal is to maximize the spread, so the solution I found is the following: Add the next visitor value (i.e. assign the visitor) to the Ad with the current lowest total value Repeat while there is an unassigned visitor. This solution actually seems to always find the optimal solution, but unfortunately I haven't found yet a way to show that is 2-approximate. Any suggestion? -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algoge...@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.