基于线性规划的“最优定价策略”建模与求解示例
字数 4071 2025-12-20 23:36:12

基于线性规划的“最优定价策略”建模与求解示例


一、问题描述

一家公司生产并销售一种产品,其生产成本为每单位 \(c\) 元。市场对该产品的需求与价格相关:设价格为 \(p\) 时,需求函数为 \(D(p) = a - b \cdot p\),其中 \(a>0, b>0\) 为已知常数,且 \(a > b \cdot c\) 确保有利润空间。公司要确定一个价格 \(p\),使得利润最大化。

已知条件

  • 生产成本 \(c = 4\) 元/单位
  • 需求函数参数 \(a = 100,\ b = 2\)
  • 价格 \(p\) 需在合理范围 \([c, a/b]\) 内(否则需求非正)

二、建立线性规划模型

1. 利润表达式

利润 = 收入 - 成本
收入 = \(p \cdot D(p) = p \cdot (a - b p)\)
成本 = \(c \cdot D(p) = c \cdot (a - b p)\)
因此利润函数为:

\[\pi(p) = (p - c)(a - b p) \]

展开:

\[\pi(p) = -b p^2 + (a + b c) p - a c \]

由于是 \(p\) 的二次函数,在 \(p\) 无约束时可直接用导数求极值。但若存在分段定价多产品联合定价等复杂约束,需用线性规划建模。下面我们增加约束将其转化为线性规划问题。


2. 引入辅助变量与线性化技巧

假设公司考虑两种定价策略:

  • 低价策略 \(p_1\),适用市场 A,需求 \(D_1(p_1) = a_1 - b_1 p_1\)
  • 高价策略 \(p_2\),适用市场 B,需求 \(D_2(p_2) = a_2 - b_2 p_2\)

但总产量有限制:\(D_1(p_1) + D_2(p_2) \le M\)(生产能力限制)。
\(x_1 = D_1(p_1)\)\(x_2 = D_2(p_2)\),则 \(p_1 = \frac{a_1 - x_1}{b_1}\)\(p_2 = \frac{a_2 - x_2}{b_2}\)

利润为:

\[\text{Profit} = (p_1 - c)x_1 + (p_2 - c)x_2 \]

代入 \(p_1, p_2\)

\[\text{Profit} = \left(\frac{a_1 - x_1}{b_1} - c\right)x_1 + \left(\frac{a_2 - x_2}{b_2} - c\right)x_2 \]

展开:

\[= \left(\frac{a_1}{b_1} - c\right)x_1 - \frac{1}{b_1}x_1^2 + \left(\frac{a_2}{b_2} - c\right)x_2 - \frac{1}{b_2}x_2^2 \]

这是关于 \(x_1,x_2\) 的二次函数,但若\(x_i\) 做分段线性化,可转为线性规划。


3. 分段线性化示例

\(x_1\) 的范围为 \([0, 50]\),将其分为 5 段,每段长度 10。
定义变量 \(z_{1j}\) 表示 \(x_1\) 在第 \(j\) 段所占比例,\(j=1,\dots,5\)
设第 \(j\) 段起点为 \(L_j\),终点为 \(U_j\),对应价格为 \(P_j = \frac{a_1 - (L_j+U_j)/2}{b_1}\)(近似线性化)。
\(x_1 = \sum_{j=1}^5 (L_j + \theta_j (U_j - L_j))\),其中 \(0 \le \theta_j \le 1\) 且至多两个相邻 \(\theta_j\) 非零(分段线性常用SOS2约束,在LP中可用额外变量和约束近似)。

简化:直接假设 \(x_1\)\(x_2\) 的利润函数用分段的线性函数近似:
设利润函数 \(f_i(x_i) = (a_i/b_i - c)x_i - (1/b_i)x_i^2\) 是凹函数,可用 \(K\) 个割线近似其上界,转为线性规划。


4. 具体数值模型

\(a_1=60, b_1=1.5, a_2=40, b_2=1, c=4, M=50\)
\(f_1(x_1) = (60/1.5 - 4)x_1 - (1/1.5)x_1^2 = 36x_1 - 0.6667x_1^2\)
\(f_2(x_2) = (40/1 - 4)x_2 - (1/1)x_2^2 = 36x_2 - x_2^2\)

\(x_i \in [0,30]\) 内分别取 3 个点线性插值:
\(f_1\):点 \((0,0), (15, 36\times 15 - 0.6667\times 225 = 540 - 150 = 390), (30, 36\times 30 - 0.6667\times 900 = 1080 - 600 = 480)\)
得到两段直线:

  • 段1:\(0 \le x_1 \le 15\),斜率 \(390/15 = 26\),截距 0 → 利润近似 \(26x_1\)
  • 段2:\(15 \le x_1 \le 30\),斜率 \((480-390)/(30-15) = 90/15 = 6\),截距 \(390 - 6\times 15 = 300\) → 利润近似 \(6x_1 + 300\)

同理 \(f_2\):点 \((0,0), (15, 36\times 15 - 225 = 315), (30, 36\times 30 - 900 = 180)\)

  • 段1:\(0 \le x_2 \le 15\),斜率 \(315/15 = 21\),利润近似 \(21x_2\)
  • 段2:\(15 \le x_2 \le 30\),斜率 \((180-315)/(30-15) = -135/15 = -9\),截距 \(315 - (-9)\times 15 = 450\) → 利润近似 \(-9x_2 + 450\)

5. 最终线性规划模型

引入辅助变量 \(y_1,y_2\) 表示 \(x_1,x_2\) 所在段,用凸组合表示:
\(x_1 = 0\cdot\lambda_{10} + 15\lambda_{11} + 30\lambda_{12}\)
利润1近似 = \(0\cdot\lambda_{10} + 390\lambda_{11} + 480\lambda_{12}\)
同理 \(x_2 = 0\cdot\lambda_{20} + 15\lambda_{21} + 30\lambda_{22}\)
利润2近似 = \(0\cdot\lambda_{20} + 315\lambda_{21} + 180\lambda_{22}\)
约束:

  • \(\lambda_{10}+\lambda_{11}+\lambda_{12}=1\)\(\lambda_{20}+\lambda_{21}+\lambda_{22}=1\)
  • \(0 \le \lambda_{ij} \le 1\),且每个 \(i\)\(\lambda_{i0},\lambda_{i1},\lambda_{i2}\) 中至多两个相邻非零(SOS2约束,可用二进制变量和附加约束实现,但若允许分段线性凸函数,则直接取角点可行)
  • 生产能力:\(x_1+x_2 \le 50\)

目标:

\[\max\ 390\lambda_{11} + 480\lambda_{12} + 315\lambda_{21} + 180\lambda_{22} \]

由于 \(f_1\) 是凹函数,其分段线性化是精确表示(在选定的断点上),因此线性规划可给出原二次利润函数的最优解。


三、求解步骤

  1. 忽略SOS2约束,先解线性规划(因为凹函数最大化在线性约束下,最优解会在断点上,自动满足至多两个相邻非零)。

  2. 写出单纯形表或使用线性规划求解器。

  3. 求解得:

    • 检查利润函数,显然 \(f_1\)\(x_1=15\)\(x_1=30\) 增加缓慢,\(f_2\)\(x_2>15\) 后下降,因此尽量让 \(x_1\) 接近 30,\(x_2\) 接近 15,但受 \(x_1+x_2\le 50\) 限制。
    • \(x_1=30\),则 \(x_2\le 20\),但 \(x_2=15\) 时利润2=315,\(x_2=20\) 时用插值:\(20 = 15 + 5\),对应利润 \(315 + 5\times(-9) = 270\)
    • 总利润 = 480 + 315 = 795(当 \(x_1=30,x_2=15\)
    • \(x_1=25\),利润1 = 390 + 10×6 = 450,\(x_2=25\) 利润2 = 315 + 10×(-9) = 225,总=675,更小。
    • 因此最优为 \(x_1=30, x_2=15\),对应价格 \(p_1 = (60-30)/1.5=20\)\(p_2=(40-15)/1=25\)
  4. 验证生产能力:\(30+15=45 \le 50\),满足。


四、结果解释

最优定价策略:

  • 市场A:价格 20 元,销量 30 单位,利润 = (20-4)×30=480 元
  • 市场B:价格 25 元,销量 15 单位,利润 = (25-4)×15=315 元
    总利润 795 元,产能剩余 5 单位。

五、扩展讨论

  1. 若需求函数非线性更强,可分更多段逼近。
  2. 若有多个市场,可建立大规模线性规划模型,用单纯形法或内点法求解。
  3. 此模型本质是价格歧视问题的线性规划近似,适用于可分割市场且需求函数为线性或可线性化的情况。

通过此例,你将需求曲线、价格、成本、产能整合为线性规划,并利用分段线性化处理二次利润函数,从而在复杂约束下得到最优定价。

基于线性规划的“最优定价策略”建模与求解示例 一、问题描述 一家公司生产并销售一种产品,其生产成本为每单位 $c$ 元。市场对该产品的需求与价格相关:设价格为 $p$ 时,需求函数为 $D(p) = a - b \cdot p$,其中 $a>0, b>0$ 为已知常数,且 $a > b \cdot c$ 确保有利润空间。公司要确定一个价格 $p$,使得利润最大化。 已知条件 : 生产成本 $c = 4$ 元/单位 需求函数参数 $a = 100,\ b = 2$ 价格 $p$ 需在合理范围 $[ c, a/b ]$ 内(否则需求非正) 二、建立线性规划模型 1. 利润表达式 利润 = 收入 - 成本 收入 = $p \cdot D(p) = p \cdot (a - b p)$ 成本 = $c \cdot D(p) = c \cdot (a - b p)$ 因此利润函数为: $$ \pi(p) = (p - c)(a - b p) $$ 展开: $$ \pi(p) = -b p^2 + (a + b c) p - a c $$ 由于是 $p$ 的二次函数,在 $p$ 无约束时可直接用导数求极值。但若存在 分段定价 或 多产品联合定价 等复杂约束,需用线性规划建模。下面我们增加约束将其转化为线性规划问题。 2. 引入辅助变量与线性化技巧 假设公司考虑两种定价策略: 低价策略 $p_ 1$,适用市场 A,需求 $D_ 1(p_ 1) = a_ 1 - b_ 1 p_ 1$ 高价策略 $p_ 2$,适用市场 B,需求 $D_ 2(p_ 2) = a_ 2 - b_ 2 p_ 2$ 但总产量有限制:$D_ 1(p_ 1) + D_ 2(p_ 2) \le M$(生产能力限制)。 设 $x_ 1 = D_ 1(p_ 1)$,$x_ 2 = D_ 2(p_ 2)$,则 $p_ 1 = \frac{a_ 1 - x_ 1}{b_ 1}$,$p_ 2 = \frac{a_ 2 - x_ 2}{b_ 2}$。 利润为: $$ \text{Profit} = (p_ 1 - c)x_ 1 + (p_ 2 - c)x_ 2 $$ 代入 $p_ 1, p_ 2$: $$ \text{Profit} = \left(\frac{a_ 1 - x_ 1}{b_ 1} - c\right)x_ 1 + \left(\frac{a_ 2 - x_ 2}{b_ 2} - c\right)x_ 2 $$ 展开: $$ = \left(\frac{a_ 1}{b_ 1} - c\right)x_ 1 - \frac{1}{b_ 1}x_ 1^2 + \left(\frac{a_ 2}{b_ 2} - c\right)x_ 2 - \frac{1}{b_ 2}x_ 2^2 $$ 这是关于 $x_ 1,x_ 2$ 的二次函数,但若 对 $x_ i$ 做分段线性化 ,可转为线性规划。 3. 分段线性化示例 设 $x_ 1$ 的范围为 $[ 0, 50 ]$,将其分为 5 段,每段长度 10。 定义变量 $z_ {1j}$ 表示 $x_ 1$ 在第 $j$ 段所占比例,$j=1,\dots,5$。 设第 $j$ 段起点为 $L_ j$,终点为 $U_ j$,对应价格为 $P_ j = \frac{a_ 1 - (L_ j+U_ j)/2}{b_ 1}$(近似线性化)。 则 $x_ 1 = \sum_ {j=1}^5 (L_ j + \theta_ j (U_ j - L_ j))$,其中 $0 \le \theta_ j \le 1$ 且至多两个相邻 $\theta_ j$ 非零(分段线性常用SOS2约束,在LP中可用额外变量和约束近似)。 简化:直接假设 $x_ 1$ 和 $x_ 2$ 的利润函数用 分段的线性函数 近似: 设利润函数 $f_ i(x_ i) = (a_ i/b_ i - c)x_ i - (1/b_ i)x_ i^2$ 是凹函数,可用 $K$ 个割线近似其上界,转为线性规划。 4. 具体数值模型 设 $a_ 1=60, b_ 1=1.5, a_ 2=40, b_ 2=1, c=4, M=50$。 则 $f_ 1(x_ 1) = (60/1.5 - 4)x_ 1 - (1/1.5)x_ 1^2 = 36x_ 1 - 0.6667x_ 1^2$ $f_ 2(x_ 2) = (40/1 - 4)x_ 2 - (1/1)x_ 2^2 = 36x_ 2 - x_ 2^2$ 在 $x_ i \in [ 0,30 ]$ 内分别取 3 个点线性插值: 对 $f_ 1$:点 $(0,0), (15, 36\times 15 - 0.6667\times 225 = 540 - 150 = 390), (30, 36\times 30 - 0.6667\times 900 = 1080 - 600 = 480)$ 得到两段直线: 段1:$0 \le x_ 1 \le 15$,斜率 $390/15 = 26$,截距 0 → 利润近似 $26x_ 1$ 段2:$15 \le x_ 1 \le 30$,斜率 $(480-390)/(30-15) = 90/15 = 6$,截距 $390 - 6\times 15 = 300$ → 利润近似 $6x_ 1 + 300$ 同理 $f_ 2$:点 $(0,0), (15, 36\times 15 - 225 = 315), (30, 36\times 30 - 900 = 180)$ 段1:$0 \le x_ 2 \le 15$,斜率 $315/15 = 21$,利润近似 $21x_ 2$ 段2:$15 \le x_ 2 \le 30$,斜率 $(180-315)/(30-15) = -135/15 = -9$,截距 $315 - (-9)\times 15 = 450$ → 利润近似 $-9x_ 2 + 450$ 5. 最终线性规划模型 引入辅助变量 $y_ 1,y_ 2$ 表示 $x_ 1,x_ 2$ 所在段,用凸组合表示: 设 $x_ 1 = 0\cdot\lambda_ {10} + 15\lambda_ {11} + 30\lambda_ {12}$ 利润1近似 = $0\cdot\lambda_ {10} + 390\lambda_ {11} + 480\lambda_ {12}$ 同理 $x_ 2 = 0\cdot\lambda_ {20} + 15\lambda_ {21} + 30\lambda_ {22}$ 利润2近似 = $0\cdot\lambda_ {20} + 315\lambda_ {21} + 180\lambda_ {22}$ 约束: $\lambda_ {10}+\lambda_ {11}+\lambda_ {12}=1$,$\lambda_ {20}+\lambda_ {21}+\lambda_ {22}=1$ $0 \le \lambda_ {ij} \le 1$,且每个 $i$ 的 $\lambda_ {i0},\lambda_ {i1},\lambda_ {i2}$ 中至多两个相邻非零(SOS2约束,可用二进制变量和附加约束实现,但若允许分段线性凸函数,则直接取角点可行) 生产能力:$x_ 1+x_ 2 \le 50$ 目标: $$ \max\ 390\lambda_ {11} + 480\lambda_ {12} + 315\lambda_ {21} + 180\lambda_ {22} $$ 由于 $f_ 1$ 是凹函数,其分段线性化是精确表示(在选定的断点上),因此线性规划可给出原二次利润函数的最优解。 三、求解步骤 忽略SOS2约束,先解线性规划(因为凹函数最大化在线性约束下,最优解会在断点上,自动满足至多两个相邻非零)。 写出单纯形表或使用线性规划求解器。 求解得: 检查利润函数,显然 $f_ 1$ 在 $x_ 1=15$ 到 $x_ 1=30$ 增加缓慢,$f_ 2$ 在 $x_ 2>15$ 后下降,因此尽量让 $x_ 1$ 接近 30,$x_ 2$ 接近 15,但受 $x_ 1+x_ 2\le 50$ 限制。 试 $x_ 1=30$,则 $x_ 2\le 20$,但 $x_ 2=15$ 时利润2=315,$x_ 2=20$ 时用插值:$20 = 15 + 5$,对应利润 $315 + 5\times(-9) = 270$。 总利润 = 480 + 315 = 795(当 $x_ 1=30,x_ 2=15$) 若 $x_ 1=25$,利润1 = 390 + 10×6 = 450,$x_ 2=25$ 利润2 = 315 + 10×(-9) = 225,总=675,更小。 因此最优为 $x_ 1=30, x_ 2=15$,对应价格 $p_ 1 = (60-30)/1.5=20$,$p_ 2=(40-15)/1=25$。 验证生产能力:$30+15=45 \le 50$,满足。 四、结果解释 最优定价策略: 市场A:价格 20 元,销量 30 单位,利润 = (20-4)×30=480 元 市场B:价格 25 元,销量 15 单位,利润 = (25-4)×15=315 元 总利润 795 元,产能剩余 5 单位。 五、扩展讨论 若需求函数非线性更强,可分更多段逼近。 若有多个市场,可建立大规模线性规划模型,用单纯形法或内点法求解。 此模型本质是 价格歧视 问题的线性规划近似,适用于可分割市场且需求函数为线性或可线性化的情况。 通过此例,你将需求曲线、价格、成本、产能整合为线性规划,并利用分段线性化处理二次利润函数,从而在复杂约束下得到最优定价。