欢迎来到线性规划(D1 决策数学)!
你好!线性规划听起来可能有些复杂,但它是决策数学中最实用、最直观的课题之一。简单来说,它是一种强大的工具,广泛应用于商业、制造业和物流领域,旨在帮助你在资源有限的情况下找到最佳方案(例如利润最大化或成本最小化)。
在本章中,我们将学习如何将现实世界的问题转化为一组数学不等式,并利用图像法求解。如果一开始觉得有点棘手,不用担心,我们会把解题步骤拆解得非常清晰!
第一部分:构建问题模型
线性规划的第一步,也是最关键的一步,就是将现实情境翻译成数学语言。每个线性规划问题都有三个主要组成部分:
1. 决策变量 (Decision Variables)
这些是你需要决定生产、购买或使用多少的项目。由于我们要通过图像法求解,通常会有两个变量,即 \(x\) 和 \(y\)。
- 令 \(x\) 代表第一种项目的数量(例如 A 型椅子的数量)。
- 令 \(y\) 代表第二种项目的数量(例如 B 型椅子的数量)。
小贴士: 由于你不可能生产负数的产品,所以必须始终包含非负约束条件:\(x \ge 0\) 且 \(y \ge 0\)。
2. 目标函数 (The Objective Function)
这是一个数学表达式,代表你想要最大化(如利润 \(P\))或最小化(如成本 \(C\))的数量。它始终是 \(x\) 和 \(y\) 的线性函数。
例子:如果 A 型椅子产生 £50 的利润,B 型椅子产生 £80 的利润,则目标函数(\(P\) 代表利润)为:
\[ P = 50x + 80y \]
目标: 我们要找到使 \(P\) 尽可能大(或尽可能小)的 \(x\) 和 \(y\) 值。
3. 约束条件 (The Constraints)
这些是资源(时间、材料、预算等)带来的限制。约束条件总是表示为线性不等式。
例子:如果制作 A 型椅子需要 2 小时工时,制作 B 型椅子需要 4 小时,而你总共有 100 小时可用:
\[ 2x + 4y \le 100 \]
理解不等号:
- \(\le\) (小于或等于): 用于有限的资源(例如:最大产能、总可用时间)。
- \(\ge\) (大于或等于): 用于最低要求(例如:至少生产 10 件,最低营养摄入量)。
重点回顾(第一部分): 构建模型包括定义变量(\(x, y\))、设定目标(目标函数)以及将规则(约束条件)写成不等式。别忘了 \(x \ge 0\) 和 \(y \ge 0\)!
第二部分:图像法求解
构建模型后,我们使用坐标图找出同时满足所有约束条件的点集,这块区域被称为可行域 (Feasible Region)。
1. 绘制约束条件(画出边界线)
要绘制一个不等式(例如 \(2x + 4y \le 100\)),首先将其视为等式 (\(2x + 4y = 100\)) 来绘制。
绘图步骤:
- 寻找截距:
- 令 \(x=0\) 求 y 轴截距。(若 \(x=0\),则 \(4y=100\),所以 \(y=25\)。点坐标:(0, 25))
- 令 \(y=0\) 求 x 轴截距。(若 \(y=0\),则 \(2x=100\),所以 \(x=50\)。点坐标:(50, 0))
- 在坐标轴上标记这两个点。
- 连接两点画出直线。
关于线条类型的说明: 由于我们的不等式都包含“或等于”(\(\le\) 或 \(\ge\)),因此我们要画实线。如果是不严格不等式(如 \(x + y < 10\)),则需要画虚线,但在 D1 考试中这种情况较少见。
2. 确定可行域 (R)
可行域 (R) 是满足所有约束条件的公共区域。我们使用“测试点”来判断哪一侧是“符合要求”的区域。
阴影约定(至关重要!)
在 Edexcel 决策数学中,标准习惯是涂掉不需要的区域 (UNWANTED region)。这样剩下的空白区域即为可行域 (R)。
测试与涂阴影的方法:
- 选择一个测试点,通常选择 \((0, 0)\)(除非直线穿过原点)。
- 将 \((0, 0)\) 代入不等式。
- 如果测试点满足不等式(即成立),说明 \((0, 0)\) 在“符合要求”的区域。因此,涂掉远离 \((0, 0)\) 的那一侧。
- 如果测试点不满足不等式(即不成立),说明 \((0, 0)\) 在“不需要”的区域。因此,直接涂掉包含 \((0, 0)\) 的那一侧。
- 对所有约束条件重复上述步骤,包括 \(x \ge 0\)(涂掉 y 轴左侧)和 \(y \ge 0\)(涂掉 x 轴下方)。
最终留下的空白区域就是可行域 (R)。
3. 找到最优解
线性规划的一个核心概念是:最优解(最大利润或最小成本)总是位于可行域 R 的某个顶点 (Vertex/Corner point) 上。
我们有两种主要方法来找到最优解:
方法 A:目标函数线法(直尺法)
这通常是最直观、最快捷的方法。
步骤 1:确定斜率。 看你的目标函数,例如 \(P = 50x + 80y\)。给 \(P\) 设定一个任意常数值(记作 \(K\)),得到目标直线方程:\(50x + 80y = K\)。
求斜率 \(m\): \[ 80y = -50x + K \] \[ y = -\frac{50}{80}x + \frac{K}{80} \] \[ m = -\frac{5}{8} \]
步骤 2:画出目标线。 在可行域 R 附近画出这条直线。通常选择一个能让截距计算简单的 \(K\) 值最方便(例如,若 \(K=400\),则 \(50x+80y=400\),截距为 (8, 5))。
步骤 3:平移直线。 用直尺保持斜率为 \(-\frac{5}{8}\) 平行移动该线,穿过可行域 R。
- 求最大值时: 从原点向外平移,直到它触碰到可行域 R 的最后一个点。
- 求最小值时: 向原点内侧平移,直到触碰到可行域 R 中最靠近原点的那个点(如果 \((0, 0)\) 可行,通常就是它)。
步骤 4:确定坐标。 这个最优角点处的 \((x, y)\) 坐标即为解。
方法 B:顶点测试法(角点代入法)
这种方法完全代数化,常用于验证通过图像法得到的结果。
步骤 1:找出所有顶点。 系统地识别可行域 R 的每一个角点坐标。如果某个顶点是两条约束直线的交点,则需要联立这两个方程求解出精确坐标。
步骤 2:代入目标函数。 将每个顶点的 \((x, y)\) 坐标代入目标函数(\(P\) 或 \(C\))。
步骤 3:比较结果。 产生最高值的顶点即为最大化问题的解;产生最低值的顶点即为最小化问题的解。
例子:求精确顶点
假设最优解是两条直线的交点:
约束条件 1: \(x + 2y = 12\) (1)
约束条件 2: \(3x + y = 16\) (2)
我们联立求解:
将 (2) 式乘以 2: \(6x + 2y = 32\) (3)
用 (3) 减去 (1): \((6x - x) + (2y - 2y) = 32 - 12\)
\[ 5x = 20 \implies x = 4 \]
将 \(x=4\) 代入 (2): \(3(4) + y = 16 \implies 12 + y = 16 \implies y = 4\)
该顶点为 \((4, 4)\)。
重点回顾(第二部分): 画出边界线,涂掉不需要的区域以找到 R,然后利用平移目标线法或顶点测试法找到最优解坐标。
第三部分:特殊情况与最终答案
1. 处理整数约束 (Integer Constraints)
在许多现实问题中(例如:你不能生产 3.4 辆汽车或雇佣 5.7 个人),变量 \(x\) 和 \(y\) 必须是整数。
如果你在第二部分算出的最优解是非整数(例如 \((4.5, 6.2)\)),千万不要简单地四舍五入,因为调整后的点可能已经跑出了可行域 R!
整数解法步骤:
- 确定非整数的最优顶点 \(V_{opt}\)(如 \((4.5, 6.2)\))。
- 找到 \((4.5, 6.2)\) 附近且仍在可行域 R 内的整数点。(通常需要测试周围的四个整数点,例如 (4, 6), (5, 6), (4, 7), (5, 7) 等,剔除掉不在 R 内的点)。
- 将这些可行的整数点分别代入目标函数 \(P\) 中计算。
- 取最大值(求最大时)或最小值(求最小时)对应的整数点作为最终答案。
常见错误: 永远不要直接四舍五入!一定要检查调整后的点是否在可行域内并重新测试其函数值。
2. 平行最优线
有时,目标函数线的斜率恰好与某条边界线的斜率相同。
在这种情况下,最优解不是单个点,而是该条边界线段上的所有点。
例子:如果最大利润出现在连接顶点 A 和 B 的线段上,那么你应陈述:最大利润发生在 A、B 以及线段 AB 上的任意点。
3. 完整回答问题
最终答案不仅要写出最大值或最小值,还要明确实现该值的决策变量的具体数值。
例子:最大化 \(P = 50x + 80y\),最优顶点为 \((4, 4)\)。
最终答案格式:
- 当生产 4 单位的 A 产品(\(x=4\))和 4 单位的 B 产品(\(y=4\))时,可获得最大利润。
- 最大利润为 \(P = 50(4) + 80(4) = 200 + 320 = 520\)。
快速复习:线性规划核对清单
- 构建模型: 定义 \(x\) 和 \(y\),写出目标函数(\(P\) 或 \(C\)),列出所有约束条件(不等式)。
- 绘图: 准确画出边界线(利用截距)。
- 可行域 (R): 涂掉“不需要”的区域,标出可行域 R。
- 最优解: 使用直尺法(根据目标线斜率)或代入所有顶点计算。
- 整数解: 若有要求,记得测试附近的可行整数点。
- 结论: 清晰陈述 \(x\)、\(y\) 的取值及对应的最大/最小值。
你知道吗? 线性规划是在二战期间由军方开发的,旨在优化战争物资分配,这充分证明了它在物流领域极其强大的威力!