1. 课程导入与线性规划全景

工厂接到订单后要决定每种产品各生产多少,物流公司要在有限车辆和时限内安排配送,农场要在有限的土地、水和肥料下选择种植结构——这些问题的共同点是:资源有限,而目标明确。线性规划(Linear Programming,简称 LP)正是处理这类"在约束下追求最优"问题的经典数学工具。本课程将带你从零开始,学会把一个现实决策问题翻译成线性规划模型,并掌握求解与结果解读的完整流程。

线性规划的三个核心构件

任何一个线性规划模型都由三部分组成,缺一不可:

  • 决策变量:你真正要决定的量,通常记为 x₁, x₂, …, xₙ。例如"产品 A 的产量""从仓库 i 运往门店 j 的货物量"。决策变量必须可量化、可控制,且取值通常非负。
  • 目标函数:你希望最大化或最小化的指标,如利润最大、成本最小、时间最短。它必须是决策变量的线性组合,形如 z = c₁x₁ + c₂x₂ + … + cₙxₙ。
  • 约束条件:现实世界施加的限制,如原料总量、设备工时、预算上限、需求下限。每条约束同样是决策变量的线性等式或不等式。

所谓"线性",指目标函数和所有约束中,每个决策变量都只以一次方出现,且变量之间不做乘法、不取绝对值、不出现分段。这一限制看似苛刻,却换来了极强的可解性——成千上万个变量的模型也能在秒级求得全局最优解。

判断一个问题能否建成线性规划模型,先问三句话:要决定什么(变量)?追求什么(目标)?受什么限制(约束)?三问都有清晰答案,且关系可用线性式表达,就具备建模基础。

一个贯穿全课的教学示例

为便于后续章节逐步展开,这里先给出一个简单但完整的例子(数据为教学假设)。某小型家具作坊生产书桌和椅子,每张书桌耗木材 4 单位、工时 2 小时,利润 50 元;每把椅子耗木材 3 单位、工时 1 小时,利润 30 元。本周可用木材 120 单位、工时 50 小时。问如何安排产量使利润最大?

设书桌产量为 x₁,椅子产量为 x₂,则模型为:

max  z = 50x₁ + 30x₂
s.t. 4x₁ + 3x₂ ≤ 120   (木材约束)
     2x₁ +  x₂ ≤ 50    (工时约束)
     x₁ ≥ 0, x₂ ≥ 0    (非负约束)

这个模型只有两个变量,可以在平面上画出可行域并用等利润线平移求解,最优解出现在约束边界的交点上。它的价值不在于答案本身,而在于展示了"现实描述 → 变量定义 → 线性表达式 → 标准模型"的完整翻译过程。后续章节将把这一过程推广到多变量、多约束的规模,并引入单纯形法、对偶理论、灵敏度分析等工具。

线性规划的典型应用版图

线性规划的应用几乎覆盖所有需要"配置稀缺资源"的领域,下图展示了四类最常见场景及其模型要素的对应关系:

线性规划应用场景与模型要素映射 线性规划模型 变量 · 目标 · 约束 生产计划 变量:各产品产量 目标:利润最大 约束:原料、工时、设备 资源分配 变量:各项目投入量 目标:效益最大 约束:预算、人力、容量 物流运输 变量:各线路运量 目标:总运费最小 约束:供需平衡、车辆 配料混合 变量:各成分用量 目标:成本最小 约束:营养/成分比例 同一套建模语言,可迁移到不同业务场景

可以看到,场景虽异,建模骨架完全一致:先锁定"要决定的量",再写出"追求什么",最后把"不能突破的边界"逐条列成线性不等式。掌握这套翻译方法,比记住某个具体模型更重要。

本课程的学习路径

课程按"建模—求解—分析—应用"四层递进组织。第一阶段建立几何直觉与标准形规范,理解可行域、顶点与最优解的关系;第二阶段系统学习单纯形法与大 M 法,能手工完成小规模模型的迭代;第三阶段进入对偶理论与灵敏度分析,回答"资源涨价多少会改变方案""约束放松一单位值多少钱"这类管理问题;第四阶段通过运输、指派、整数规划入门等专题,把方法落到真实业务。每章都会配可复现的示例数据与判断依据,帮助你在动笔建模时知道每一步为什么这样做。

初学者最常见的误区是"先写公式、后想问题"。正确顺序恰好相反:先用自然语言把决策、目标、限制各写一句,确认没有遗漏和矛盾,再逐句翻译成数学式。变量定义含糊,后面所有计算都会失去意义。

接下来,我们将从线性规划的几何直观入手,看看约束如何在平面上"切"出一块可行区域,以及最优解为什么总藏在区域的顶点上。