基于线性规划的“最优广告投放组合(媒体组合优化)”建模与求解示例
我将为您讲解一个经典的线性规划应用问题:广告投放组合优化(媒体组合优化)。这个问题源于市场营销领域,旨在在有限的预算下,通过科学分配广告资源,最大化广告效果(如曝光量、点击量或转化量)。
问题描述
一家公司计划推出一款新产品,并准备在四个不同的广告媒体(例如:电视、广播、网络平台A、网络平台B)上投放广告。每个媒体有不同的特性和成本:
- 目标受众覆盖率:每个媒体单位广告能触达的潜在客户数量(千人)。
- 单次投放成本:在每个媒体上投放一次广告的费用(千元)。
- 投放次数限制:由于媒体档期或公司策略,每个媒体有最小和最大投放次数的限制。
公司拥有总预算B(千元)。目标是如何分配各媒体的广告投放次数,使得触达的总受众(千人)最大。
具体数据假设:
| 广告媒体 | 单次触达受众(千人) | 单次投放成本(千元) | 最小投放次数 | 最大投放次数 |
|---|---|---|---|---|
| 电视 (TV) | 40 | 80 | 0 | 10 |
| 广播 (Radio) | 20 | 30 | 5 | 15 |
| 网络A (Web-A) | 25 | 40 | 0 | 20 |
| 网络B (Web-B) | 10 | 15 | 0 | 无上限 |
| 总预算 B = 1000 (千元) |
解题过程
步骤1:建立线性规划模型
首先,我们需要将现实问题转化为数学模型。
-
决策变量:
定义变量 \(x_1, x_2, x_3, x_4\) 分别表示在电视、广播、网络A、网络B上的广告投放次数。
这些变量是非负实数(在经典模型中通常允许小数,代表可购买的部分时段或按比例折算的曝光,但实际中可作整数化处理)。 -
目标函数:
目标是最大化总触达受众(单位:千人)。
\[ \text{Maximize } Z = 40x_1 + 20x_2 + 25x_3 + 10x_4 \]
- 约束条件:
- 预算约束:总成本不能超过1000。
\[ 80x_1 + 30x_2 + 40x_3 + 15x_4 \leq 1000 \]
* **投放次数上下限约束**:
\[ \begin{aligned} 0 \leq &x_1 \leq 10 \\ 5 \leq &x_2 \leq 15 \\ 0 \leq &x_3 \leq 20 \\ &x_4 \geq 0 \end{aligned} \]
*注:$ x_4 $ 只有下限(0),没有明确上限,但在预算约束下会自然有界。*
- 完整线性规划模型:
\[ \begin{aligned} \max \quad & 40x_1 + 20x_2 + 25x_3 + 10x_4 \\ \text{s.t.} \quad & 80x_1 + 30x_2 + 40x_3 + 15x_4 \leq 1000 \\ & 0 \leq x_1 \leq 10 \\ & 5 \leq x_2 \leq 15 \\ & 0 \leq x_3 \leq 20 \\ & x_4 \geq 0 \end{aligned} \]
步骤2:求解线性规划(使用单纯形法思路)
由于这是一个小规模问题,我们可以用图解法思路来分析,但实际用单纯形法计算。为了便于理解,我展示求解的关键逻辑和步骤。
-
引入松弛变量和剩余变量,将不等式化为标准形式。
- 对预算约束 \(80x_1 + 30x_2 + 40x_3 + 15x_4 \leq 1000\),引入松弛变量 \( s_1 \geq 0\),变为等式:\(80x_1 + 30x_2 + 40x_3 + 15x_4 + s_1 = 1000\)。
- 对 \(x_2 \geq 5\),引入剩余变量 \( e_2 \geq 0\),变为 \(x_2 - e_2 = 5\)。
- 对 \(x_1 \leq 10\),引入松弛变量 \( s_3 \geq 0\),变为 \(x_1 + s_3 = 10\)。
- 对 \(x_2 \leq 15\),引入松弛变量 \( s_4 \geq 0\),变为 \(x_2 + s_4 = 15\)。
- 对 \(x_3 \leq 20\),引入松弛变量 \( s_5 \geq 0\),变为 \(x_3 + s_5 = 20\)。
-
构建初始单纯形表(为简化,我们进行逻辑推演):
- 目标函数中,系数最大的是 \(x_1\)(40),触达效率最高。
- 但 \(x_1\) 的成本也最高(80)。我们需要在受众触达效率(目标系数)和资源消耗效率(成本与目标比值)之间权衡。
-
经济解释与比值测试:
我们可以快速估算每个媒体的“单位成本触达率”(即性价比):- TV: \(40/80 = 0.5\) (千人/千元)
- Radio: \(20/30 \approx 0.667\)
- Web-A: \(25/40 = 0.625\)
- Web-B: \(10/15 \approx 0.667\)
- 从性价比看,Radio和Web-B最高(0.667),其次是Web-A(0.625),最后是TV(0.5)。
-
迭代求解(逻辑推导):
- 第1步:满足 \(x_2\) 的最小值约束。令 \(x_2 = 5\),成本消耗 \(30*5=150\),剩余预算850。
- 第2步:分配剩余资源。由于Radio和Web-B性价比相同且最高,应优先使用完它们的高性价比投放额度。
- Radio: 已用5次,最多还可投 \(15-5=10\) 次,成本 \(30*10=300\)。
- Web-B: 无上限。
- 第3步:试探分配。如果先将Radio用到上限 \(x_2=15\),则总成本为 \(30*15=450\)。
- 此时剩余预算 \(1000-450=550\)。
- 接下来应投性价比次高的Web-A。Web-A最多20次,成本 \(40*20=800 > 550\),所以不能投满。设 \(x_3 = t\),则成本为 \(40t\)。
- 再投性价比最高的Web-B,设 \(x_4 = u\),成本 \(15u\)。
- 预算约束:\(450 + 40t + 15u \leq 1000\) => \(40t + 15u \leq 550\)。
- 目标函数:\(Z = 40x_1 + 20*15 + 25t + 10u = 300 + 25t + 10u\)(此时 \(x_1=0\))。
- 为使Z最大,应在预算内尽可能多投Web-A(因为其目标系数25 > 10)。令 \(u=0\),则 \(t = 550/40 = 13.75\)。由于 \(t \leq 20\),可行。
- 得到解:\((x_1, x_2, x_3, x_4) = (0, 15, 13.75, 0)\),\(Z = 300 + 25*13.75 = 643.75\)。
- 第4步:检查是否可以引入TV (\(x_1\))。TV的性价比最低,引入它必须替换掉一些高性价比的资源。我们可以用单纯形法的“进基-出基”思想:计算Reduced Cost(检验数)。
- 在现行基(\(x_2, x_3\) 和松弛变量为基变量)下,增加1单位 \(x_1\) 需要减少多少 \(x_3\) 和/或 \(x_2\) 以满足预算?
- 从目标函数看,\(x_1\) 的系数是40。但为了引入 \(x_1\),需要释放成本80。如果通过减少 \(x_3\) 来释放成本,每减少1单位 \(x_3\) 释放成本40,但损失收益25。所以,用释放的资源投 \(x_1\),净收益变化为 \(40 - (40/40)*25 = 15 > 0\)?等等,这个计算不准确,应正式计算检验数。
- 更严谨地,我们可以用对偶变量来解释。预算约束的影子价格(对偶变量值)λ 表示每增加1单位预算能增加多少Z。在当前解附近,约束起作用的可能是预算和 \(x_3\) 的上限。但通过计算(或单纯形法迭代)可以发现,在当前解 \((0,15,13.75,0)\) 下,预算约束是紧的(用尽),其影子价格 λ = 单位预算的边际收益。由于Web-A还在上限内,其边际收益就是其目标系数与成本系数之比决定的“有效收益”。实际上,我们可以发现,如果减少 \(x_3\) 用于投 \(x_1\),净收益为 \(40 - (40/40)*25 = 15 > 0\),说明引入 \(x_1\) 是有利可图的。
- 第5步:进行变量替换。设减少 \(x_3\) 的量来投 \(x_1\)。设 \(x_1 = \delta\),为保证预算不变:\(80\delta + 40(-\Delta x_3) = 0\) => \(\Delta x_3 = 2\delta\)(即每增加1次TV,需减少2次Web-A)。同时要满足 \(x_3\) 非负:\(13.75 - 2\delta \geq 0\) => \(\delta \leq 6.875\)。也要满足 \(x_1 \leq 10\)。
- 取 \(\delta = 6.875\),则 \(x_1 = 6.875\),\(x_3 = 13.75 - 2*6.875 = 0\)。
- 此时预算:\(80*6.875 + 30*15 + 40*0 + 15*0 = 550 + 450 = 1000\)(用尽)。
- 新解:\((x_1, x_2, x_3, x_4) = (6.875, 15, 0, 0)\)
- 新目标值:\(Z = 40*6.875 + 20*15 = 275 + 300 = 575\)。
- 咦,Z从643.75降到了575? 说明之前的推算有误。让我们重新审视。
-
正确求解(使用单纯形法或软件验证):
实际上,最优解应通过系统迭代得到。我们可以用更简单的方法:既然只有四个变量,且约束主要是预算和上下限,我们可以用枚举顶点的思路。顶点由约束交线产生。可能的顶点包括:- 预算约束紧 + 某些变量在边界上(0或上限)。
通过测试几个明显候选点: - 候选A: 多用高性价比的Radio和Web-B。设 \(x_2=15, x_4\) 尽量多。预算余下 \(1000-450=550\),可投Web-B \(550/15 \approx 36.67\)。则解为 \((0, 15, 0, 36.67)\),\(Z=20*15+10*36.67=300+366.7=666.7\)。
- 候选B: 在A基础上,考虑引入Web-A。如果 \(x_2=15, x_3\) 和 \(x_4\) 组合。预算:\(30*15+40x_3+15x_4=1000\) => \(40x_3+15x_4=550\)。目标 \(Z=300+25x_3+10x_4\)。将 \(x_4 = (550-40x_3)/15\) 代入Z,得 \(Z=300+25x_3+10*(550-40x_3)/15 = 300 + 25x_3 + 366.67 - 26.67x_3 = 666.67 - 1.67x_3\)。所以 \(x_3\) 越大,Z 越小!因此应让 \(x_3=0\)。这回到了候选A。此时Z=666.67。
- 候选C: 考虑引入TV (\(x_1\))。如果 \(x_1>0\),因其性价比低,必须替换掉其他媒体。从目标函数形式看,比较单位成本贡献:TV是0.5,Web-B是0.667,Web-A是0.625,Radio是0.667。所以引入TV不划算,除非高性价比媒体已达上限。
- 检查Radio已达上限15,Web-B无上限。所以引入TV替换Web-B是不利的(因为0.5<0.667)。引入TV替换Web-A?Web-A的性价比0.625>0.5,也不利。因此,最优解中 \(x_1 = 0\)。
- 候选D: 检查 \(x_3\) 上限。如果 \(x_3=20\),则预算消耗 \(40*20=800\),剩余200。可投Radio至少5次(成本150),余50投Web-B(3.33次)。但Radio最多15次,我们可让 \(x_2=5\)(最小),则预算消耗 \(800+150=950\),余50投Web-B(3.33)。解为 \((0,5,20,3.33)\),\(Z=20*5+25*20+10*3.33=100+500+33.3=633.3\)。
- 比较候选A(666.67)和候选D(633.3),A更优。
因此,通过分析,最优解是:
- 预算约束紧 + 某些变量在边界上(0或上限)。
\[ x_1 = 0, \quad x_2 = 15, \quad x_3 = 0, \quad x_4 = 550/15 = 36.666... \]
最大触达受众 $ Z = 20*15 + 10*36.666... = 300 + 366.666... = 666.666... $(千人)。
步骤3:结果解读与灵敏度分析(对偶分析)
-
最优解:不投放电视和网络A,广播投满15次,网络B投放约36.67次(实际操作时可取整,如36或37次,进行整数规划微调)。
-
对偶变量/影子价格:
- 预算约束:如果预算增加1千元,可以多投Web-B \(1/15\) 次,增加受众 \(10*(1/15) = 2/3 \approx 0.667\) 千人。所以预算的影子价格为0.667。这正是Web-B的单位成本触达率,也是最有效媒体的性价比。
- 广播上限约束:广播上限15次是紧的。如果增加1次广播投放机会(且不超预算,需相应减少Web-B),净收益变化为 \(20 - (30/15)*10 = 20 - 20 = 0\)。说明此时广播和Web-B在边际上效用相等,增加广播上限不会增加总受众(除非同时增加预算)。影子价格为0。
- 其他约束:均为非紧约束,影子价格为0。
-
管理启示:
- 公司在当前预算下,应完全投资于性价比最高的两种媒体(广播和网络B),直至广播达到投放次数上限。
- 如果预算增加,应全部追加到网络B上。
- 电视和网络A在当前定价和效果下,不应被选择。只有当它们的性价比提高(例如,单次成本降低或触达受众增加)到超过0.667时,才应考虑进入媒体组合。
总结
这个“最优广告投放组合”问题是一个典型的资源分配线性规划问题。其建模过程清晰地展示了如何将商业目标、资源限制和业务规则转化为数学形式。求解过程(无论是单纯形法还是逻辑分析)揭示了在约束下,资源应分配给边际效益最高的活动这一核心经济学原理。通过对偶分析得到的影子价格,为决策者提供了关于资源价值和管理调整方向的宝贵信息。实际应用中,数据可能更复杂(如非线性响应曲线、整数投放次数、多期动态问题等),但其核心思想仍基于此类线性规划模型。