线性规划
线性规划 (LP) 是一种数学方法,用于确定如何在给定的数学模型中获得最佳结果。其功能由线性关系表示。线性规划是一种优化线性目标函数的技术,受限于线性等式和线性不等式约束。
线性规划问题的关键组成部分如下:
- 目标函数:需要优化的函数,通常为最大化或最小化。
- 决策变量:决定输出的变量,通常表示为
x
,y
,z
等。 - 约束条件:这些是对决策变量的限制,通常以线性不等式或方程的形式出现。
- 非负限制:假设决策变量为非负,即所有值为零或正。
线性规划问题的表述
为了理解线性规划,考虑以下示例:
假设一个公司生产两种产品:椅子和桌子。每把椅子为利润贡献 $30
,每张桌子贡献 $50
。公司有劳动力和材料的限制。制造一把椅子需要 2
小时的劳动力和 3
单位的材料。制造一张桌子需要 4
小时的劳动力和 2
单位的材料。公司最多有 100
小时的劳动力和 120
单位的材料可用。
为最大化利润,我们可以将线性规划问题表述如下:
最大化:利润 = 30x + 50y 受限于: 2x + 4y ≤ 100(劳动力约束) 3x + 2y ≤ 120(物质约束) x ≥ 0、y ≥ 0(非负性约束)
图形表示
二维变量的线性规划问题可以通过图形方式解决和表示。它看起来像这样:
可行区域是满足所有约束的所有点的集合。它在上方以灰色阴影表示。最佳解决方案位于该区域内。在此示例中,最佳策略位于约束的交点处,由红点表示。
单纯形法
当有两个以上变量时,图形表示不可行。因此,我们使用单纯形法,这是一种用于解决线性规划问题的迭代方法。
单纯形法包括以下步骤:
- 从可行区域的初始角点出发。
- 在可行区域的每个顶点评估目标函数。
- 移动到改善目标函数值的相邻顶点。
- 继续此过程直到无法再改善为止。
- 当前顶点提供了目标函数的最大或最小值。
使用单纯形法的示例
考虑以下线性规划问题:
最大化:Z = 3x1 + 2x2 受限于: x1 + x2 ≤ 4 x1 - x2 ≤ 2 x1, x2 ≥ 0
使用单纯形方法解决的步骤:
- 通过包含松弛变量 s1 和 s2,将不等式转化为等式:
- 创建初始单纯形表:
- 找出枢轴列(目标行里系数最负的列):
- 计算比率以找出枢轴行。
- 执行枢轴操作,使枢轴元素为
1
,枢轴列中的所有其他元素为0
。 - 重复此过程,直到目标行中不再有负系数。
x1 + x2 + s1 = 4 x1 - x2 + s2 = 2
x1 | x2 | S1 | S2 | Solution | |
---|---|---|---|---|---|
S1 | 1 | 1 | 1 | 0 | 4 |
S2 | 1 | -1 | 0 | 1 | 2 |
Jade | -3 | -2 | 0 | 0 | 0 |
最负的值为 -3
(x1
列)。
For row s1: 4/1 = 4 For row s2: 2/1 = 2
选择最小正比率所在的行:行 s2
。
线性规划中的对偶性
每个线性规划问题,称为原始问题,可以转化为另一个称为对偶问题的线性规划问题。对偶和原始问题的解为目标函数的值提供了界限。
示例:
原始问题: 最大化:Z = 3x1 + 4x2 受限于: 2x1 + 3x2 ≤ 8 3x1 + 3x2 ≤ 6 x1, x2 ≥ 0
它的对偶问题是:
最小化:W = 8y1 + 6y2 受限于: 2y1 + y2 ≥ 3 3y1 + 3y2 ≥ 4 y1, y2 ≥ 0
原始和对偶问题中的目标函数是互相关联的。解决其中一个可以为另一个提供洞察或限制。
线性规划的应用
线性规划广泛应用于多个领域,包括:
- 制造业:确定最佳生产水平和库存。
- 金融:设计最大化收益的投资组合,同时风险最小化。
- 运输:最小化跨网络运输货物的成本。
- 饮食规划:确定符合所有营养要求的最经济的饮食。
- 电信:用于最佳带宽分配和网络分析。
线性规划的限制
尽管应用广泛,线性规划也有一些限制:
- 模型基于线性,而真实世界场景并非总是线性的。
- 它假设系数是确定的。但现实生活中的数据可能不确定或可变。
- 解决方案必须完全满足所有约束,这在某些情况下可能无法实现。
- 它不能直接处理整数变量,而这在某些实际问题中可能很重要。
结论
线性规划为在给定约束下寻找最优解提供了框架。虽然它主要侧重于优化线性目标函数,但其原理是运筹学和管理科学的基础。整数线性规划和非线性规划等创新和优化扩展了其在更复杂场景中的适用性。