欢迎来到线性规划(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\)) 来绘制。

绘图步骤:

  1. 寻找截距:
    • 令 \(x=0\) 求 y 轴截距。(若 \(x=0\),则 \(4y=100\),所以 \(y=25\)。点坐标:(0, 25))
    • 令 \(y=0\) 求 x 轴截距。(若 \(y=0\),则 \(2x=100\),所以 \(x=50\)。点坐标:(50, 0))
  2. 在坐标轴上标记这两个点。
  3. 连接两点画出直线。

关于线条类型的说明: 由于我们的不等式都包含“或等于”(\(\le\) 或 \(\ge\)),因此我们要画实线。如果是不严格不等式(如 \(x + y < 10\)),则需要画虚线,但在 D1 考试中这种情况较少见。


2. 确定可行域 (R)

可行域 (R) 是满足所有约束条件的公共区域。我们使用“测试点”来判断哪一侧是“符合要求”的区域。

阴影约定(至关重要!)

在 Edexcel 决策数学中,标准习惯是涂掉不需要的区域 (UNWANTED region)。这样剩下的空白区域即为可行域 (R)。

测试与涂阴影的方法:

  1. 选择一个测试点,通常选择 \((0, 0)\)(除非直线穿过原点)。
  2. 将 \((0, 0)\) 代入不等式。
    • 如果测试点满足不等式(即成立),说明 \((0, 0)\) 在“符合要求”的区域。因此,涂掉远离 \((0, 0)\) 的那一侧。
    • 如果测试点不满足不等式(即不成立),说明 \((0, 0)\) 在“不需要”的区域。因此,直接涂掉包含 \((0, 0)\) 的那一侧。
  3. 对所有约束条件重复上述步骤,包括 \(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!

整数解法步骤:

  1. 确定非整数的最优顶点 \(V_{opt}\)(如 \((4.5, 6.2)\))。
  2. 找到 \((4.5, 6.2)\) 附近且仍在可行域 R 内的整数点。(通常需要测试周围的四个整数点,例如 (4, 6), (5, 6), (4, 7), (5, 7) 等,剔除掉不在 R 内的点)。
  3. 将这些可行的整数点分别代入目标函数 \(P\) 中计算。
  4. 取最大值(求最大时)或最小值(求最小时)对应的整数点作为最终答案。

常见错误: 永远不要直接四舍五入!一定要检查调整后的点是否在可行域内并重新测试其函数值。


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\) 的取值及对应的最大/最小值。

你知道吗? 线性规划是在二战期间由军方开发的,旨在优化战争物资分配,这充分证明了它在物流领域极其强大的威力!