首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >广告分布问题:最优解?

广告分布问题:最优解?
EN

Stack Overflow用户
提问于 2010-06-12 09:53:02
回答 1查看 631关注 0票数 0

我被要求找到这个问题的2种近似解:

你正在为一个每天接待大量访问者的电子商务网站提供咨询。对于每一位访客i,其中我欧元{1,2.(N),站点已分配了一个值vi,表示可以从该客户获得的预期收入。

每一位访客我都看到一个可能的广告A1,A2 .当他们进入网站的时候。该网站希望为每个客户选择一个广告,这样,总体来说,每一个广告都会被一组总重量相当大的客户所看到。

因此,如果为每个客户选择一个广告,我们将把这个选择的传播定义为最小,超过j= 1,2……m,所有向Aj展示的顾客的总重量。

示例:假设有6个客户的值为3、4、12、2、4、6,并且m=3个ads。然后,在这种情况下,通过向客户显示广告A1 1、2、4、广告A2给客户3、以及向客户5和6显示广告A3,可以实现9的传播。

最终的目标是为每个客户找到一个广告的选择,最大限度地扩大传播。

不幸的是,这个优化问题是NP难的(您不必证明这一点)。

因此,给出一种多项式时间算法,它可以在因子2的范围内逼近最大传播。

我找到的解决方案如下:

代码语言:javascript
运行
复制
Order visitors values in descending order

Add the next visitor value (i.e. assign the visitor) to 
the Ad with the current lowest total value
Repeat

这个解似乎总是能找到最优解,或者我根本找不到反例。你能找到吗?这是一个非多元的解决方案,而我只是看不到它?

EN

回答 1

Stack Overflow用户

发布于 2010-06-12 13:18:41

通过以下方式:

代码语言:javascript
运行
复制
v = [7, 6, 5, 3, 3]
m = 2

最佳解决办法是:

代码语言:javascript
运行
复制
A1: 6 + 3 + 3 = 12
A2: 5 + 7 = 12

你的解决方案是:

代码语言:javascript
运行
复制
A1: 7 + 3 + 3 = 13
A2: 6 + 5 = 11
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3028227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档