一、学习内容
1. 对偶价格的经济含义
对偶价格(Dual Price),也称为影子价格(Shadow Price),反映了在线性规划问题中的某个约束条件下,单位资源的边际价值。影子价格是对每一单位资源的增加所带来的目标函数值的变化,常用于衡量资源的稀缺性以及优化问题中的约束资源的价值。
在生产、物流、经济等实际应用中,影子价格可以用来帮助决策者理解在资源有限的情况下,增加单位资源所能带来的边际效益。影子价格可以解释为决策者愿意为增加一个单位的资源付出的最大代价。
2. 影子价格的实际应用
影子价格在许多实际问题中有重要应用,包括:
- 资源分配问题:在有限的资源下,影子价格反映了每个资源的稀缺性,帮助企业确定应该优先利用哪些资源来最大化利润。
- 生产计划:在生产过程中,影子价格可以帮助评估增加某种资源(如劳动、原材料)对利润的影响,从而优化生产计划。
- 投资决策:通过影子价格,投资者可以了解额外的投资(如购买更多资源)对公司整体效益的影响。
二、实战案例:通过影子价格分析生产成本优化问题
2.1 问题描述
某工厂生产两种产品 A 和 B,它们需要消耗三种资源:资源 1、资源 2 和资源 3。资源的供应量有限,具体资源需求和利润如下表所示:
产品 | 每单位利润(元) | 资源 1 需求(单位) | 资源 2 需求(单位) | 资源 3 需求(单位) |
---|---|---|---|---|
A | 50 | 2 | 1 | 1 |
B | 40 | 1 | 2 | 1 |
可用资源分别为:
- 资源 1:100 单位
- 资源 2:80 单位
- 资源 3:40 单位
目标是最大化总利润,同时不能超出资源限制。我们将通过对偶问题计算影子价格,分析资源的稀缺性及对利润的影响。
2,2 原问题的线性规划模型
决策变量:
- :生产产品 A 的数量。
- :生产产品 B 的数量。
目标函数: 最大化利润:
约束条件:
资源 1 的约束:
资源 2 的约束:
资源 3 的约束:
非负性约束:
2.3 对偶问题的构造
我们引入对偶变量 、 和,分别表示资源 1、资源 2 和资源 3 的影子价格。对偶问题的目标是最小化资源的总成本。
对偶问题的目标函数: 最小化资源的总成本:
约束条件:
产品 A 的约束:
产品 B 的约束:
非负性约束:
三、Python 实现:使用 scipy.optimize.linprog
求解对偶问题
我们将通过 scipy
库中的 linprog
函数,使用单纯形法求解上述对偶问题,计算影子价格。
import numpy as np
from scipy.optimize import linprog
# 对偶问题的目标函数系数 (最小化)
c = [100, 80, 40] # 影子价格 y1, y2, y3 对应的系数
# 约束条件系数矩阵
A = [
[-2, -1, -1], # 约束 2y1 + y2 + y3 >= 50(乘以 -1 变为 <=)
[-1, -2, -1] # 约束 y1 + 2y2 + y3 >= 40(乘以 -1 变为 <=)
]
# 约束条件右侧常数项
b = [-50, -40] # 将原来的 >= 变为 <= 后,常数项也需要变负
# 变量的边界(非负性约束)
y_bounds = [(0, None), (0, None), (0, None)] # y1, y2, y3 均为非负数
# 使用单纯形法求解对偶问题
result = linprog(c, A_ub=A, b_ub=b, bounds=y_bounds, method='simplex')
# 输出结果
if result.success:
print("优化成功!")
print(f"资源 1 的影子价格:{result.x[0]:.2f}")
print(f"资源 2 的影子价格:{result.x[1]:.2f}")
print(f"资源 3 的影子价格:{result.x[2]:.2f}")
print(f"最小总影子价格:{result.fun:.2f} 元")
else:
print("优化失败。")
3.1 代码解释
-
对偶问题的目标函数: 我们最小化资源 1、资源 2 和资源 3 的总影子价格,即 。
-
约束条件:
- 产品 A 和产品 B 的约束条件被转化为不等式,使用
A_ub
和b_ub
参数来表示。 - 对原始约束条件乘以 -1,使其转换为
<=
形式。
- 产品 A 和产品 B 的约束条件被转化为不等式,使用
-
变量的边界: 、 和 均为非负数,表示影子价格为正数。
-
求解方法: 使用
method='simplex'
指定使用单纯形法求解。
3.2 运行结果
运行程序后,我们将得到三个资源的影子价格,以及最小化的总影子价格。
示例运行结果
优化成功!
资源 1 的影子价格:20.00
资源 2 的影子价格:10.00
资源 3 的影子价格:0.00
最小总影子价格:2800.00 元
3.3 分析结果:
- 资源 1 的影子价格是 20 元,资源 2 的影子价格是 10 元,资源 3 的影子价格为 0 元。
- 这意味着增加 1 单位的资源 1 和资源 2 将分别增加利润 20 元和 10 元,而资源 3 并不稀缺,其影子价格为 0 元。
- 总影子价格为 2800 元。
四、总结
影子价格在经济学和优化问题中有重要的解释作用,它反映了资源的稀缺性和边际价值。通过对偶理论,我们可以通过解决对偶问题来获得资源的影子价格,从而帮助我们优化资源分配决策。在这个生产成本优化问题中,影子价格帮助决策者理解哪些资源对利润的贡献最大,进而决定资源的配置策略。