mobile wallpaper 1
6845 字
18 分钟
管理运筹学期末复习与自测指南
2026-06-29

本指南专为管理运筹学期末考试备考设计,系统梳理了考试核心考查的六大板块:线性规划建模、单纯形法与对偶/灵敏度分析、运输问题、整数规划、目标规划(多目标规划)以及图与网络优化。

每部分均包含核心考点梳理经典自测题详细步骤解答,旨在帮助你快速掌握解题模板,攻克期末重难点。


一、 线性规划建模 (Linear Programming Modeling)#

1. 核心考点梳理#

线性规划(LP)建模是运筹学的基石,要求从实际管理问题中抽象出数学模型。建模三要素包括:

  • 决策变量:明确需要决策的数量(如产品产量、投资额度等),需用符号(如 xjx_j)清晰定义并注明单位。
  • 目标函数:确定优化的方向(极大化利润 maxz\max z 或极小化成本 minz\min z),必须是决策变量的线性组合。
  • 约束条件:包括资源限制、技术标准、比例要求等,均须写为线性等式或不等式,切记不要漏掉非负约束
  • 比例约束的处理(难点): 若要求产品 AA 中原料 1 的比例不低于 40%40\%,设 xA1x_{A1} 为产品 AA 中原料 1 的用量,xAx_A 为产品 AA 的总产量(xA=xAix_A = \sum x_{Ai})。 则约束为:xA1xA0.4    xA10.4xAi    0.6xA10.4i1xAi0\frac{x_{A1}}{x_A} \ge 0.4 \implies x_{A1} \ge 0.4 \sum x_{Ai} \implies 0.6 x_{A1} - 0.4 \sum_{i \neq 1} x_{Ai} \ge 0

2. 经典自测题#

【题目】 某化工厂计划利用磷酸(Phosphate)、硝酸(Nitrate)和钾肥(Potash)三种原料调配生产 F1 和 F2 两种复合肥。已知原料的日供应量限制、原料成本、每吨复合肥的销售单价及机器工时要求如下表所示:

原料/资源F1 消耗量F2 消耗量日供应量限制原料成本(元/吨)
磷酸--80 吨300
硝酸--60 吨200
钾肥--50 吨150
设备工时2 小时/吨3 小时/吨120 小时-
销售单价800 元/吨1000 元/吨--

品质与调配要求

  1. F1 中磷酸的比例不得低于 30%30\%,钾肥的比例不得高于 40%40\%
  2. F2 中硝酸的比例不得低于 20%20\%
  3. 调配过程中的质量损失忽略不计。

请建立以日净利润最大化为目标的线性规划数学模型。

3. 答案与详解#

【第一步:定义决策变量】 由于存在原料向不同产品的分配混合关系,使用双下标变量。 设 xijx_{ij} 表示用于生产复合肥 iii=1i=1 表示 F1,i=2i=2 表示 F2)的原料 jjj=Pj=P 表示磷酸,j=Nj=N 表示硝酸,j=Kj=K 表示钾肥)的吨数。

  • F1 的总产量为:x1P+x1N+x1Kx_{1P} + x_{1N} + x_{1K}
  • F2 的总产量为:x2P+x2N+x2Kx_{2P} + x_{2N} + x_{2K}

【第二步:构建目标函数】 目标是最大化日净利润。 日净利润=总销售收入总原料成本\text{日净利润} = \text{总销售收入} - \text{总原料成本} 总收入=800(x1P+x1N+x1K)+1000(x2P+x2N+x2K)\text{总收入} = 800(x_{1P} + x_{1N} + x_{1K}) + 1000(x_{2P} + x_{2N} + x_{2K}) 总成本=300(x1P+x2P)+200(x1N+x2N)+150(x1K+x2K)\text{总成本} = 300(x_{1P} + x_{2P}) + 200(x_{1N} + x_{2N}) + 150(x_{1K} + x_{2K}) 化简可得目标函数: maxz=500x1P+600x1N+650x1K+700x2P+800x2N+850x2K\max z = 500x_{1P} + 600x_{1N} + 650x_{1K} + 700x_{2P} + 800x_{2N} + 850x_{2K}

【第三步:构建约束条件】

  1. 原料供应量限制
    • 磷酸:x1P+x2P80x_{1P} + x_{2P} \le 80
    • 硝酸:x1N+x2N60x_{1N} + x_{2N} \le 60
    • 钾肥:x1K+x2K50x_{1K} + x_{2K} \le 50
  2. 设备工时限制2(x1P+x1N+x1K)+3(x2P+x2N+x2K)1202(x_{1P} + x_{1N} + x_{1K}) + 3(x_{2P} + x_{2N} + x_{2K}) \le 120
  3. F1 品质约束
    • 磷酸比例 30%\ge 30\%x1Px1P+x1N+x1K0.3    0.7x1P0.3x1N0.3x1K0\frac{x_{1P}}{x_{1P} + x_{1N} + x_{1K}} \ge 0.3 \implies 0.7x_{1P} - 0.3x_{1N} - 0.3x_{1K} \ge 0
    • 钾肥比例 40%\le 40\%x1Kx1P+x1N+x1K0.4    0.4x1P0.4x1N+0.6x1K0\frac{x_{1K}}{x_{1P} + x_{1N} + x_{1K}} \le 0.4 \implies -0.4x_{1P} - 0.4x_{1N} + 0.6x_{1K} \le 0
  4. F2 品质约束
    • 硝酸比例 20%\ge 20\%x2Nx2P+x2N+x2K0.2    0.2x2P+0.8x2N0.2x2K0\frac{x_{2N}}{x_{2P} + x_{2N} + x_{2K}} \ge 0.2 \implies -0.2x_{2P} + 0.8x_{2N} - 0.2x_{2K} \ge 0
  5. 非负约束xij0(i{1,2},j{P,N,K})x_{ij} \ge 0 \quad (\forall i \in \{1, 2\}, j \in \{P, N, K\})

二、 线性规划求解与对偶理论 (Simplex, Sensitivity & Dual Method)#

本板块包含单纯形法表格操作、对偶问题转换、对偶单纯形法以及灵敏度分析(重点考查 bib_icjc_j 变动、新增产品及新增约束)。

1. 核心考点梳理#

  • 单纯形表判别
    • 唯一最优解:所有非基变量检验数 σj<0\sigma_j < 0(极大化问题)。
    • 无穷多最优解:所有 σj0\sigma_j \le 0,且存在某个非基变量的 σk=0\sigma_k = 0
    • 无界解:存在某个非基变量的 σk>0\sigma_k > 0,但该变量对应列的约束系数全部非正(0\le 0)。
    • 无可行解:迭代结束时基变量中仍含有非零的人工变量。
  • 对偶变换法则(对称与非对称): 极大化问题的对偶是极小化问题,原约束的符号决定对偶变量的符号,原变量的符号决定对偶约束的符号。
  • 对偶单纯形法步骤: 适用于检验数全部非正(σj0\sigma_j \le 0 对偶可行),但右端项存在负数(bi<0b_i < 0 原问题不可行)的情形。
    1. 换出变量:选右端项负值绝对值最大行对应的基变量。
    2. 换入变量:使用比值判别 θ=minj{σjarjarj<0}\theta = \min_{j} \{ \frac{\sigma_j}{a'_{rj}} \mid a'_{rj} < 0 \},最小比值列对应的非基变量换入。
    3. 旋转运算:进行矩阵初等行变换,使主元变为 1,同列其他元素消为 0。

2. 经典自测题#

已知原线性规划问题为: maxz=2x1+3x2\max z = 2x_1 + 3x_2 s.t. {x1+2x28(资源 1)4x116(资源 2)x1,x20\text{s.t. } \begin{cases} x_1 + 2x_2 \le 8 & \text{(资源 1)} \\ 4x_1 \le 16 & \text{(资源 2)} \\ x_1, x_2 \ge 0 \end{cases}

引入松弛变量 x3,x4x_3, x_4 得到最终最优单纯形表如下:

基变量x1x_1x2x_2x3x_3x4x_4RHS
x2x_20.50.5110.50.50044
x4x_4440000111616
检验数 σj\sigma_j0.5-0.5001.5-1.500z=12z^* = 12

根据此表回答以下问题:

  1. 写出该最优单纯形表对应的最优解及最优基逆矩阵 B1B^{-1}
  2. 写出该原规划问题的对偶问题,并直接从最优表中读出对偶问题的最优解。
  3. 灵敏度分析(价值系数 cjc_j 变动):确定非基变量 x1x_1 的价值系数 c1c_1 的变动范围,使得当前最优解保持不变。
  4. 灵敏度分析(资源数量 bib_i 变动):若资源 1 数量 b1b_1 由 8 减少为 3,分析最优解的变化。若发生改变,求出新的最优解。
  5. 灵敏度分析(新增产品):若现在可以开发新产品 x5x_5,其利润 c5=5c_5 = 5,生产技术系数向量为 P5=[3,2]TP_5 = [3, 2]^T(即消耗资源 1 三个单位,不消耗资源 2)。问是否应该投产该新产品?
  6. 灵敏度分析(新增约束):若增加一个新约束条件 x1+x23x_1 + x_2 \le 3,当前最优解是否发生变化?若变化,使用对偶单纯形法求出新最优解。

3. 答案与详解#

【第 1 问:最优解与基逆矩阵】

  • 由最终表可得最优解为:X=(x1,x2,x3,x4)T=(0,4,0,16)TX^* = (x_1^*, x_2^*, x_3^*, x_4^*)^T = (0, 4, 0, 16)^T,最优目标函数值 z=12z^* = 12
  • 基逆矩阵 B1B^{-1} 为最终表中初始松弛变量(x3,x4x_3, x_4)列对应的系数矩阵: B1=[0.5001]B^{-1} = \begin{bmatrix} 0.5 & 0 \\ 0 & 1 \end{bmatrix}

【第 2 问:对偶问题及其最优解】 原问题对应的对偶问题为: minw=8y1+16y2\min w = 8y_1 + 16y_2 s.t. {y1+4y222y13y1,y20\text{s.t. } \begin{cases} y_1 + 4y_2 \ge 2 \\ 2y_1 \ge 3 \\ y_1, y_2 \ge 0 \end{cases} 由最优单纯形表检验数行中松弛变量对应的检验数绝对值,可直接读出对偶问题的最优解(影子价格): y1=σ3=1.5,y2=σ4=0y_1^* = -\sigma_3 = 1.5, \quad y_2^* = -\sigma_4 = 0 最优对偶目标值 w=8(1.5)+16(0)=12=zw^* = 8(1.5) + 16(0) = 12 = z^*

【第 3 问:非基变量价值系数变动】 非基变量 x1x_1 的检验数公式为:σ1=c1CBB1P1\sigma_1 = c_1 - C_B B^{-1} P_1。 现设 c1c_1 变动为 c1+Δc1c_1 + \Delta c_1。要保持最优解不变,只需更新后的检验数 σ10\sigma'_1 \le 0σ1=σ1+Δc10    0.5+Δc10    Δc10.5\sigma'_1 = \sigma_1 + \Delta c_1 \le 0 \implies -0.5 + \Delta c_1 \le 0 \implies \Delta c_1 \le 0.5 即只要新利润 c12+0.5=2.5c_1' \le 2 + 0.5 = 2.5,当前最优解保持不变。

【第 4 问:资源数量变动与对偶单纯形法】 当资源 1 的数量 b1b_1 发生变化,资源向量变为 b=[3,16]Tb' = [3, 16]^T,其变动量为 Δb=[5,0]T\Delta b = [-5, 0]^T。 计算变动后的基变量值: XB=B1b=[0.5001][316]=[1.516]X'_B = B^{-1} b' = \begin{bmatrix} 0.5 & 0 \\ 0 & 1 \end{bmatrix} \begin{bmatrix} 3 \\ 16 \end{bmatrix} = \begin{bmatrix} 1.5 \\ 16 \end{bmatrix} 因为 XB=(x2,x4)T=(1.5,16)T0X'_B = (x_2', x_4')^T = (1.5, 16)^T \ge 0,仍然满足原可行性。 所以当前最优基不变,新的最优解为 X=(0,1.5)TX^* = (0, 1.5)^T,最优值变为 z=2(0)+3(1.5)=4.5z^* = 2(0) + 3(1.5) = 4.5

【第 5 问:新增产品决策】 计算新产品 x5x_5 的检验数: σ5=c5CBB1P5\sigma_5 = c_5 - C_B B^{-1} P_5 其中基变量价值系数向量为 CB=(c2,c4)=(3,0)C_B = (c_2, c_4) = (3, 0)σ5=5(3,0)[0.5001][32]=5(3,0)[1.52]=54.5=0.5\sigma_5 = 5 - (3, 0) \begin{bmatrix} 0.5 & 0 \\ 0 & 1 \end{bmatrix} \begin{bmatrix} 3 \\ 2 \end{bmatrix} = 5 - (3, 0) \begin{bmatrix} 1.5 \\ 2 \end{bmatrix} = 5 - 4.5 = 0.5 因为 σ5=0.5>0\sigma_5 = 0.5 > 0,说明引入新产品 x5x_5 可以增加总利润。因此应该投产新产品

【第 6 问:引入新约束与对偶单纯形法】

  1. 将当前最优解 x1=0,x2=4x_1^* = 0, x_2^* = 4 代入新约束 x1+x23x_1 + x_2 \le 30+4=4>30 + 4 = 4 > 3 不满足新约束。最优解需要改变。
  2. 将新约束化为标准型,引入松弛变量 x50x_5 \ge 0x1+x2+x5=3x_1 + x_2 + x_5 = 3
  3. 利用最终单纯形表中的变换关系,将基变量 x2x_2 从新约束中消去。 从最终表的第一行可知:x2=40.5x10.5x3x_2 = 4 - 0.5x_1 - 0.5x_3。代入新约束: x1+(40.5x10.5x3)+x5=3    0.5x10.5x3+x5=1x_1 + (4 - 0.5x_1 - 0.5x_3) + x_5 = 3 \implies 0.5x_1 - 0.5x_3 + x_5 = -1 将此新约束作为最后一行并入单纯形表,得到新的单纯形表:
基变量x1x_1x2x_2x3x_3x4x_4x5x_5RHS
x2x_20.50.5110.50.5000044
x4x_444000011001616
x5x_50.50.5000.5-0.500111-1
检验数 σj\sigma_j0.5-0.5001.5-1.50000z=12z^* = 12
  1. 使用对偶单纯形法进行迭代:
    • 确定换出变量:行 3 右端项为 1<0-1 < 0,选基变量 x5x_5 换出。
    • 确定换入变量:检查第 3 行中系数为负的列,只有 x3x_3 列对应系数为 0.5<0-0.5 < 0。 计算比值:θ=min{σ3a33}=1.50.5=3\theta = \min \{ \frac{\sigma_3}{a'_{33}} \} = \frac{-1.5}{-0.5} = 3。所以选择 x3x_3 换入。
    • 旋转变换:以 a33=0.5a'_{33} = -0.5 为主元,将第 3 行乘以 2-2,再消去第 1 行的 x3x_3 项:
      • 新第 3 行:1x1+0x2+1x3+0x42x5=2-1x_1 + 0x_2 + 1x_3 + 0x_4 - 2x_5 = 2
      • 新第 1 行(第一行减去 0.5×0.5 \times 新第三行):1x1+1x2+0x3+0x4+1x5=31x_1 + 1x_2 + 0x_3 + 0x_4 + 1x_5 = 3
      • 新检验数行(检验数行加上 1.5×1.5 \times 新第三行):2x1+0x2+0x3+0x43x5-2x_1 + 0x_2 + 0x_3 + 0x_4 - 3x_5 对应 RHS 为 12+1.5×2=1512 + 1.5 \times 2 = 15。由于我们是极大化问题,检验数更新为 σj=σjσkarkarj\sigma'_j = \sigma_j - \frac{\sigma_k}{a'_{rk}}a'_{rj},此处更新后的单纯形表为:
基变量x1x_1x2x_2x3x_3x4x_4x5x_5RHS
x2x_2111100001133
x4x_444000011001616
x3x_31-10011002-222
检验数 σj\sigma_j2-20000003-3z=9z^* = 9

此时右端项常数全部非负(3,16,203, 16, 2 \ge 0),且所有检验数保持非正(0\le 0),迭代结束。 新的最优解为:X=(x1,x2)T=(0,3)TX^{**} = (x_1^{**}, x_2^{**})^T = (0, 3)^T,最优目标函数值降为 z=9z^{**} = 9


三、 运输问题 (Transportation Problem)#

1. 核心考点梳理#

运输问题通常采用表上作业法求解,关键操作步骤如下:

  • 初始可行解确定:考查最小元素法(优先分配运价最低的格子,能最快获得较优初始解)或西北角法
  • 最优性检验
    • 位势法(常用):建立方程 ui+vj=ciju_i + v_j = c_{ij}(仅针对基变量/有运量的格子),令首个行位势 u1=0u_1 = 0,解出所有行位势 uiu_i 和列位势 vjv_j
    • 计算非基变量检验数:对所有空格计算 σij=cij(ui+vj)\sigma_{ij} = c_{ij} - (u_i + v_j)
    • 最优解判别
      • 若为极小化(min\min)运费问题:所有非基变量检验数 σij0\sigma_{ij} \ge 0 时为最优。
      • 若为极大化(max\max)利润问题:所有非基变量检验数 σij0\sigma_{ij} \le 0 时为最优。
  • 解的调整:若非最优,选择最不满足条件的非基变量(min\min 问题选负检验数绝对值最大者;max\max 问题选正检验数最大者)作为换入变量,绘制闭回路(Loop),以闭回路偶数顶点上的最小运量为调整量 θ\theta 进行增减。

2. 经典自测题#

【题目】 已知某公司有 3 个产地(A、B、C) and 3 个销地(X、Y、Z),产销平衡关系及单位运价表如下:

产地 \ 销地XYZ产量
A681020
B7111130
C451225
销量15352575
  1. 使用最小元素法确定初始可行解,求出初始总运费。
  2. 使用位势法对初始解进行最优性检验,求出所有空格的检验数。
  3. 若当前非最优解,请写出完整的闭回路调整过程,并求出最优运输方案及最低总运费。

3. 答案与详解#

【第 1 问:最小元素法求初始解】

  1. 全表最低运价为 cC,X=4c_{C, X} = 4,分配运量:xC,X=min(25,15)=15x_{C, X} = \min(25, 15) = 15。销地 X 需求满足,产地 C 剩余产量为 10。
  2. 剩余未满足格子中最低运价为 cC,Y=5c_{C, Y} = 5,分配运量:xC,Y=min(10,35)=10x_{C, Y} = \min(10, 35) = 10。产地 C 产量耗尽,销地 Y 还需 25。
  3. 剩余未满足格子(A、B 行)中最低运价为 cB,Y=11c_{B, Y} = 11cB,Z=11c_{B, Z} = 11cA,Y=8c_{A, Y} = 8。最低为 cA,Y=8c_{A, Y} = 8,分配运量:xA,Y=min(20,25)=20x_{A, Y} = \min(20, 25) = 20。产地 A 产量耗尽,销地 Y 还需 5。
  4. 剩余未满足格子只有 B 行的 xB,Yx_{B, Y}xB,Zx_{B, Z}
    • 分配 xB,Y=5x_{B, Y} = 5,销地 Y 满足。
    • 分配 xB,Z=25x_{B, Z} = 25,销地 Z 满足。B 产量耗尽。

得到初始运量表如下(括号内为运量):

产地 \ 销地XYZ产量
A68 (20)1020
B711 (5)11 (25)30
C4 (15)5 (10)1225
销量15352575

初始总运费: Cost=8(20)+11(5)+11(25)+4(15)+5(10)=160+55+275+60+50=600 元\text{Cost} = 8(20) + 11(5) + 11(25) + 4(15) + 5(10) = 160 + 55 + 275 + 60 + 50 = 600 \text{ 元}

【第 2 问:位势法计算检验数】 根据基变量格子建立位势方程 ui+vj=ciju_i + v_j = c_{ij}

  • xA,Y0    uA+vY=cA,Y=8x_{A, Y} \neq 0 \implies u_A + v_Y = c_{A, Y} = 8
  • xB,Y0    uB+vY=cB,Y=11x_{B, Y} \neq 0 \implies u_B + v_Y = c_{B, Y} = 11
  • xB,Z0    uB+vZ=cB,Z=11x_{B, Z} \neq 0 \implies u_B + v_Z = c_{B, Z} = 11
  • xC,Y0    uC+vY=cC,Y=5x_{C, Y} \neq 0 \implies u_C + v_Y = c_{C, Y} = 5
  • xC,X0    uC+vX=cC,X=4x_{C, X} \neq 0 \implies u_C + v_X = c_{C, X} = 4

令首个行位势 uA=0u_A = 0

  • 0+vY=8    vY=80 + v_Y = 8 \implies v_Y = 8
  • uB+8=11    uB=3u_B + 8 = 11 \implies u_B = 3
  • 3+vZ=11    vZ=83 + v_Z = 11 \implies v_Z = 8
  • uC+8=5    uC=3u_C + 8 = 5 \implies u_C = -3
  • 3+vX=4    vX=7-3 + v_X = 4 \implies v_X = 7

行位势为:u=(0,3,3)u = (0, 3, -3),列位势为:v=(7,8,8)v = (7, 8, 8)。 计算各空格(非基变量)检验数 σij=cij(ui+vj)\sigma_{ij} = c_{ij} - (u_i + v_j)

  • σA,X=cA,X(uA+vX)=6(0+7)=1\sigma_{A, X} = c_{A, X} - (u_A + v_X) = 6 - (0 + 7) = -1
  • σA,Z=cA,Z(uA+vZ)=10(0+8)=2\sigma_{A, Z} = c_{A, Z} - (u_A + v_Z) = 10 - (0 + 8) = 2
  • σB,X=cB,X(uB+vX)=7(3+7)=3\sigma_{B, X} = c_{B, X} - (u_B + v_X) = 7 - (3 + 7) = -3
  • σC,Z=cC,Z(uC+vZ)=12(3+8)=7\sigma_{C, Z} = c_{C, Z} - (u_C + v_Z) = 12 - (-3 + 8) = 7

【第 3 问:闭回路调整与最优解】

  1. 确定调整格子:存在负检验数 σB,X=3<0\sigma_{B, X} = -3 < 0,说明当前方案非最优。应将 xB,Xx_{B, X} 换入。
  2. 构建闭回路:从空格 (B,X)(B, X) 出发,寻找仅由有运量格子作为拐角的闭回路: (B,X)(B,Y)(C,Y)(C,X)(B,X)(B, X) \rightarrow (B, Y) \rightarrow (C, Y) \rightarrow (C, X) \rightarrow (B, X)
  3. 确定调整量 θ\theta
    • 奇数项格子(减少运量):xB,Y=5x_{B, Y} = 5xC,X=15x_{C, X} = 15
    • 偶数项格子(增加运量):xB,X=0x_{B, X} = 0xC,Y=10x_{C, Y} = 10
    • 调整量限制:θ=min(xB,Y,xC,X)=min(5,15)=5\theta = \min(x_{B, Y}, x_{C, X}) = \min(5, 15) = 5
  4. 调整运量
    • xB,X=5x_{B, X} = 5
    • xB,Y=55=0x_{B, Y} = 5 - 5 = 0(出基)
    • xC,Y=10+5=15x_{C, Y} = 10 + 5 = 15
    • xC,X=155=10x_{C, X} = 15 - 5 = 10

调整后的运量表如下:

产地 \ 销地XYZ产量
A68 (20)1020
B7 (5)1111 (25)30
C4 (10)5 (15)1225
销量15352575
  1. 重新进行最优性检验: 基变量为 xA,Y,xB,X,xB,Z,xC,X,xC,Yx_{A, Y}, x_{B, X}, x_{B, Z}, x_{C, X}, x_{C, Y}。设新位势 ui,vju'_i, v'_j,令 uA=0u'_A = 0

    • uA+vY=8    vY=8u'_A + v'_Y = 8 \implies v'_Y = 8
    • uC+vY=5    uC=3u'_C + v'_Y = 5 \implies u'_C = -3
    • uC+vX=4    vX=7u'_C + v'_X = 4 \implies v'_X = 7
    • uB+vX=7    uB=0u'_B + v'_X = 7 \implies u'_B = 0
    • uB+vZ=11    vZ=11u'_B + v'_Z = 11 \implies v'_Z = 11

    计算空格检验数 σij=cij(ui+vj)\sigma'_{ij} = c_{ij} - (u'_i + v'_j)

    • σA,X=6(0+7)=1\sigma'_{A, X} = 6 - (0 + 7) = -1 (仍有负检验数!)
    • σA,Z=10(0+11)=1\sigma'_{A, Z} = 10 - (0 + 11) = -1
    • σB,Y=11(0+8)=3\sigma'_{B, Y} = 11 - (0 + 8) = 3
    • σC,Z=12(3+11)=4\sigma'_{C, Z} = 12 - (-3 + 11) = 4

    说明仍非最优。选择最负的 σA,X=1\sigma'_{A, X} = -1(或 σA,Z=1\sigma'_{A, Z} = -1)进行调整。 假设选 (A,X)(A, X) 换入,构建闭回路: (A,X)(A,Y)(C,Y)(C,X)(A,X)(A, X) \rightarrow (A, Y) \rightarrow (C, Y) \rightarrow (C, X) \rightarrow (A, X) 奇数项:xA,Y=20,xC,X=10x_{A, Y} = 20, x_{C, X} = 10。调整量 θ=min(20,10)=10\theta' = \min(20, 10) = 10。 调整后:

    • xA,X=10x_{A, X} = 10
    • xA,Y=2010=10x_{A, Y} = 20 - 10 = 10
    • xC,Y=15+10=25x_{C, Y} = 15 + 10 = 25
    • xC,X=1010=0x_{C, X} = 10 - 10 = 0

    得到新的运量表:

产地 \ 销地XYZ产量
A6 (10)8 (10)1020
B7 (5)1111 (25)30
C45 (25)12 (0)25
销量15352575

(注:此处因为退化引入 xC,Z=0x_{C, Z} = 0 维持基变量数 m+n1=5m+n-1 = 5)。 计算位势 uA=0    vX=6,vY=8    uC=3,uB=1    vZ=10u''_A = 0 \implies v''_X = 6, v''_Y = 8 \implies u''_C = -3, u''_B = 1 \implies v''_Z = 10。 计算非基变量检验数:

  • σA,Z=10(0+10)=00\sigma''_{A, Z} = 10 - (0 + 10) = 0 \ge 0
  • σB,Y=11(1+8)=20\sigma''_{B, Y} = 11 - (1 + 8) = 2 \ge 0
  • σC,X=4(3+6)=10\sigma''_{C, X} = 4 - (-3 + 6) = 1 \ge 0

由于所有检验数均非负,因此该运输方案已达到最优。 最优运输方案: A 运往 X:10 吨,运往 Y:10 吨;B 运往 X:5 吨,运往 Z:25 吨;C 运往 Y:25 吨。 最低总运费Cost=6(10)+8(10)+7(5)+11(25)+5(25)=60+80+35+275+125=575 元\text{Cost}^* = 6(10) + 8(10) + 7(5) + 11(25) + 5(25) = 60 + 80 + 35 + 275 + 125 = 575 \text{ 元}


四、 整数规划 (Integer Programming)#

1. 核心考点梳理#

整数规划(IP)限制部分或全部决策变量只能取整数。

  • 分支定界法(Branch and Bound)
    1. 初次松弛:去掉所有整数约束,作为普通 LP 求解。
    2. 定界:若松弛最优解符合整数要求,即为最优解;若不满足,其目标值即为原 IP 的目标上界(极大化问题)。
    3. 分支:选择其中一个非整数的最优解分量 xk=vx_k = v,分裂为两个互斥子问题约束:xkvx_k \le \lfloor v \rfloorxkvx_k \ge \lceil v \rceil
    4. 剪枝条件:子问题无可行解;子问题松弛最优目标值小于当前已知的可行整数解目标值(丢弃);子问题求得整数解(更新下界并剪枝)。
  • 0-1 变量的应用
    • 固定费用问题(Fixed Charge Problem): 若生产某产品存在固定准备费 kjk_j,变动成本为 cjc_j,产量为 xjx_j,最大产能为 MM。 引入 0-1 变量 yj{0,1}y_j \in \{0, 1\} 表示是否生产该产品。 则目标函数成本项为:kjyj+cjxjk_j y_j + c_j x_j。 且必须加入关联约束条件:xjMyjx_j \le M \cdot y_j

2. 经典自测题#

【题目】 某跨国制造企业计划在 A、B、C 三个备选城市中选择建设生产工厂,以满足未来总计 1500 吨的产品市场总需求。决策信息如下:

  • 若在城市 ii 建厂(i=A,B,Ci=A, B, C),会产生一次性的固定建设投资成本 FiF_i,且该厂有最大生产产能限制 CiC_i
  • 每个城市的单位变动生产及运输总成本为 viv_i。具体数值见下表:
备选城市固定建设成本 FiF_i最大生产产能限制 CiC_i单位变动成本 viv_i(元/吨)
A50,000 元1000 吨20
B60,000 元1200 吨15
C40,000 元800 吨25

同时,考虑到公司的地缘战略平衡:

  1. A 和 B 两个城市中至少要选择一个建厂。
  2. 如果选择在 C 建厂,则必须同时在 A 建厂

请建立以总成本最小化为目标的 0-1 混合整数规划模型。

3. 答案与详解#

【第一步:定义决策变量】 模型需要同时决策“是否建厂(逻辑决策)”以及“建厂后的生产量(数量决策)”:

  • 设 0-1 变量 yi{0,1}y_i \in \{0, 1\} 表示建厂决策: yi={1,选择在城市 i 建厂0,不选择在城市 i 建厂(i{A,B,C})y_i = \begin{cases} 1, & \text{选择在城市 } i \text{ 建厂} \\ 0, & \text{不选择在城市 } i \text{ 建厂} \end{cases} \quad (\forall i \in \{A, B, C\})
  • 设连续变量 xix_i 表示在城市 ii 的实际产品产量(吨)。

【第二步:构建目标函数】 最小化总建设固定成本与变动生产成本之和: minz=50000yA+60000yB+40000yC+20xA+15xB+25xC\min z = 50000y_A + 60000y_B + 40000y_C + 20x_A + 15x_B + 25x_C

【第三步:构建约束条件】

  1. 满足市场总需求约束xA+xB+xC1500x_A + x_B + x_C \ge 1500
  2. 厂区产量与建厂逻辑及产能上限关联约束: 根据固定费用问题特征,若不建厂(yi=0y_i=0)则产量必须为 0;若建厂(yi=1y_i=1)则产量不能超产能上限 CiC_i
    • 城市 A:xA1000yAx_A \le 1000 y_A
    • 城市 B:xB1200yBx_B \le 1200 y_B
    • 城市 C:xC800yCx_C \le 800 y_C
  3. 厂区选址互斥与依赖约束
    • A 和 B 中至少选择一个:yA+yB1y_A + y_B \ge 1
    • 若在 C 建厂则必须在 A 建厂(即当 yC=1y_C = 1 时必有 yA=1y_A = 1,反之无限制):yCyAy_C \le y_A
  4. 变量范围约束xA,xB,xC0x_A, x_B, x_C \ge 0 yA,yB,yC{0,1}y_A, y_B, y_C \in \{0, 1\}

五、 目标规划 (Goal Programming)#

1. 核心考点梳理#

目标规划针对多目标决策问题,允许目标存在偏差。

  • 偏差变量的基本性质d+0,d0d^+ \ge 0, d^- \ge 0,且满足极重要红线 d+d=0d^+ \cdot d^- = 0
  • 绝对约束(硬约束):不允许有任何违背的资源约束,依然保持不等式形式(如 x1+x2100x_1 + x_2 \le 100)。
  • 目标约束(软约束):允许未达标或超标,必须加入正负偏差变量化为等式: f(x)+dd+=gf(x) + d^- - d^+ = g
  • 目标函数形式:一律为极小化偏差 minz=Pk(wkdk+wk+dk+)\min z = \sum P_k (w_k^- d_k^- + w_k^+ d_k^+)

2. 经典自测题#

【题目】 某家装制造公司生产甲、乙两种实木板材。生产需要消耗木材原料和木工加工工时。已知各项资源限制及产品参数如下:

  • 硬性资源限制:公司每日可支配木材原料最大供应量为 120 公斤。生产每单位甲板材需要 2 公斤,每单位乙板材需要 3 公斤。
  • 正常生产工时:公司每天有 80 小时的正常工时限制,生产每单位甲需要 1 小时,每单位乙需要 1 小时。超出 80 小时的部分视为加班工时。

公司管理层为下一阶段生产制订了四个不同优先级的目标:

  • 第一优先级目标 (P1P_1):日净销售利润应至少达到 1500 元。生产每单位甲可获利 30 元,每单位乙可获利 50 元。
  • 第二优先级目标 (P2P_2):木材原料的消耗总量控制在 100 公斤以内(尽量避免超额)。
  • 第三优先级目标 (P3P_3):为保障工人福利,尽量避免安排加班工时(即尽量使总工时控制在 80 小时内)。
  • 第四优先级目标 (P4P_4):为了稳定市场占有率,甲板材的日产量应尽可能不少于 20 单位,乙板材的日产量应尽可能不少于 15 单位,且两者的重要性权重之比为 2:12:1

请建立该问题的多目标目标规划模型。

3. 答案与详解#

【第一步:定义决策变量】

  • 设决策变量 x1,x2x_1, x_2 分别表示甲、乙两种板材的日产量(单位)。
  • 引入偏差变量:
    • d1,d1+d_1^-, d_1^+ 表示利润目标的负、正偏差。
    • d2,d2+d_2^-, d_2^+ 表示木材原料消耗目标(100 公斤)的负、正偏差。
    • d3,d3+d_3^-, d_3^+ 表示加工总工时目标(80 小时)的负、正偏差。
    • d4d_4^-d5d_5^- 分别表示甲和乙日产量的不足量(负偏差)。

【第二步:构建绝对约束(硬约束)】 木材原料的绝对最大日供应量为 120 公斤: 2x1+3x21202x_1 + 3x_2 \le 120

【第三步:构建目标约束(软约束)】

  1. 利润目标约束(目标值 1500 元): 30x1+50x2+d1d1+=150030x_1 + 50x_2 + d_1^- - d_1^+ = 1500
  2. 木材理想消耗目标约束(目标值 100 公斤): 2x1+3x2+d2d2+=1002x_1 + 3x_2 + d_2^- - d_2^+ = 100
  3. 加工工时限制约束(目标值 80 小时): x1+x2+d3d3+=80x_1 + x_2 + d_3^- - d_3^+ = 80
  4. 甲、乙产量目标约束(目标值分别为 20 和 15):
    • 甲产量约束:x1+d4d4+=20x_1 + d_4^- - d_4^+ = 20
    • 乙产量约束:x2+d5d5+=15x_2 + d_5^- - d_5^+ = 15

【第四步:构建目标函数】 根据各级优先因子的诉求,极小化各目标的偏差:

  • P1P_1:利润不少于 1500 元,即极小化不足量 d1d_1^-
  • P2P_2:木材不超 100 公斤,即极小化超额量 d2+d_2^+
  • P3P_3:避免加班,即极小化超额工时 d3+d_3^+
  • P4P_4:甲产量不少于 20,乙产量不少于 15。权重比为 2:12:1,即极小化不足量 2d4+1d52d_4^- + 1d_5^-

由此可得目标函数: minz=P1d1+P2d2++P3d3++P4(2d4+d5)\min z = P_1 d_1^- + P_2 d_2^+ + P_3 d_3^+ + P_4(2d_4^- + d_5^-)

【第五步:范围约束】 x1,x20,dk,dk+0(k=1,2,3,4,5)x_1, x_2 \ge 0, \quad d_k^-, d_k^+ \ge 0 \quad (k=1,2,3,4,5)


六、 图与网络优化 (Graph & Network Optimization)#

1. 核心考点梳理#

  • 最短路问题应用(Dijkstra 算法):
    • 单源最短路经典求解法,设 d(i)d(i) 为节点 ii 的临时/永久标记值。
    • 主要用于路径规划、设备更新决策(将设备使用年限作为节点,年更新与维护总费作为弧权)。
  • 最大流问题(寻找增广链与标号法):
    • 标号法步骤
      1. 寻找一条从源点 ss 到汇点 tt 的增广链,若无,当前流即为最大流。
      2. 在增广链上计算最大可改进流量 θ=min{θf,θb}\theta = \min \{ \theta_f, \theta_b \}(前向弧可增加量与后向弧可减少量)。
      3. 前向弧流量增加 θ\theta,后向弧流量减少 θ\theta,更新网络。
  • 最小费用最大流问题
    • 在有容量限制的网络中,每条弧同时具有单位运输费用 wijw_{ij}
    • 求解方法(Successive Shortest Path): 每次在以单位运费为路权的伴随无向网络(残留网络)上寻找一条从 sstt最短路。在此路径上用容量上限限制进行流量增广,更新网络流结构,重复此过程直至无法找到增广路径,所得流即为最小费用最大流。

2. 经典自测题#

【自测题 1 - 最短路问题】 已知网络中各节点及弧权值(距离)如下表(无值代表无连接):

节点123456
1-42---
2--15--
3---810-
4----26
5-----3
6------

使用 Dijkstra 算法 求从起点 1 到终点 6 的最短距离及路径。

【自测题 2 - 最大流问题】 给定如下容量网络,其中弧上的数字 (cij)(c_{ij}) 表示该路段的容量上限:

  • s1s \rightarrow 1 容量 10,s2s \rightarrow 2 容量 5。
  • 121 \rightarrow 2 容量 2,131 \rightarrow 3 容量 6,141 \rightarrow 4 容量 4。
  • 242 \rightarrow 4 容量 8。
  • 3t3 \rightarrow t 容量 8。
  • 434 \rightarrow 3 容量 3,4t4 \rightarrow t 容量 7。 请使用增广链方法求出源点 ss 到汇点 tt 的最大流总量及各弧流量方案。

【自测题 3 - 最小费用最大流问题】 在自测题 2 的网络拓扑结构及容量基础上,增加每条边上的单位输送费用 [wij][w_{ij}]

  • s1s \rightarrow 1 容量 10,费用 2;s2s \rightarrow 2 容量 5,费用 8。
  • 121 \rightarrow 2 容量 2,费用 1;131 \rightarrow 3 容量 6,费用 5;141 \rightarrow 4 容量 4,费用 3。
  • 242 \rightarrow 4 容量 8,费用 2。
  • 3t3 \rightarrow t 容量 8,费用 4。
  • 434 \rightarrow 3 容量 3,费用 1;4t4 \rightarrow t 容量 7,费用 6。 求从 sstt 的最小费用最大流方案及最小总运费。

3. 答案与详解#

【最短路自测题解答】 使用 Dijkstra 算法迭代步骤:

  1. 初始化PP 集合(已确定最短路顶点)为 {1}\{1\}d(1)=0d(1)=0;其余 d(i)=d(i)=\infty
  2. 第 1 轮: 从 11 出发更新邻接点:
    • d(2)=min(,0+4)=4d(2) = \min(\infty, 0 + 4) = 4
    • d(3)=min(,0+2)=2d(3) = \min(\infty, 0 + 2) = 2 选取临时标记中最小者:d(3)=2d(3)=2。将 33 并入 PP,有 P={1,3}P=\{1, 3\}
  3. 第 2 轮: 以新确定点 33 更新邻接点:
    • d(4)=min(,2+8)=10d(4) = \min(\infty, 2 + 8) = 10
    • d(5)=min(,2+10)=12d(5) = \min(\infty, 2 + 10) = 12 临时标记点中最小者为 d(2)=4d(2)=4。将 22 并入 PP,有 P={1,3,2}P=\{1, 3, 2\}
  4. 第 3 轮: 以点 22 更新邻接点:
    • d(4)=min(10,4+5)=9d(4) = \min(10, 4 + 5) = 9
    • 当前最小者为 d(4)=9d(4)=9。将 44 并入 PP,有 P={1,3,2,4}P=\{1, 3, 2, 4\}
  5. 第 4 轮: 以点 44 更新邻接点:
    • d(5)=min(12,9+2)=11d(5) = \min(12, 9 + 2) = 11
    • d(6)=min(,9+6)=15d(6) = \min(\infty, 9 + 6) = 15 当前最小者为 d(5)=11d(5)=11。将 55 并入 PP,有 P={1,3,2,4,5}P=\{1, 3, 2, 4, 5\}
  6. 第 5 轮: 以点 55 更新邻接点:
    • d(6)=min(15,11+3)=14d(6) = \min(15, 11 + 3) = 14 确定终点 6 最短距离为 14。
  • 最省路径124561 \rightarrow 2 \rightarrow 4 \rightarrow 5 \rightarrow 6,最短距离为 14

【最大流自测题解答】 使用寻找增广链的方法:

  1. 初始可行流:设初始各弧流量为 0。
  2. 寻找第一条增广链s13ts \rightarrow 1 \rightarrow 3 \rightarrow t
    • 前向弧容量限制:min(cs1,c13,c3t)=min(10,6,8)=6\min(c_{s1}, c_{13}, c_{3t}) = \min(10, 6, 8) = 6
    • 发送流量 θ1=6\theta_1 = 6
    • 当前各弧流量:f(s,1)=6f(s, 1)=6f(1,3)=6f(1, 3)=6f(3,t)=6f(3, t)=6
  3. 寻找第二条增广链s14ts \rightarrow 1 \rightarrow 4 \rightarrow t
    • 前向弧剩余容量:min(106,4,7)=min(4,4,7)=4\min(10-6, 4, 7) = \min(4, 4, 7) = 4
    • 发送流量 θ2=4\theta_2 = 4
    • 流量更新后:f(s,1)=10f(s, 1)=10f(1,4)=4f(1, 4)=4f(4,t)=4f(4, t)=4。此时弧 s1s \rightarrow 1141 \rightarrow 4 均饱和。
  4. 寻找第三条增广链s24ts \rightarrow 2 \rightarrow 4 \rightarrow t
    • 剩余容量:min(cs2,c24,c4tf(4,t))=min(5,8,74)=min(5,8,3)=3\min(c_{s2}, c_{24}, c_{4t}-f(4, t)) = \min(5, 8, 7-4) = \min(5, 8, 3) = 3
    • 发送流量 θ3=3\theta_3 = 3
    • 流量更新后:f(s,2)=3f(s, 2)=3f(2,4)=3f(2, 4)=3f(4,t)=7f(4, t)=7(饱和)。
  5. 寻找第四条增广链s243ts \rightarrow 2 \rightarrow 4 \rightarrow 3 \rightarrow t
    • 剩余容量:min(53,83,3,86)=min(2,5,3,2)=2\min(5-3, 8-3, 3, 8-6) = \min(2, 5, 3, 2) = 2
    • 发送流量 θ4=2\theta_4 = 2
    • 流量更新后:f(s,2)=5f(s, 2)=5(饱和),f(2,4)=5f(2, 4)=5f(4,3)=2f(4, 3)=2f(3,t)=8f(3, t)=8(饱和)。
  6. 此时源点 ss 出发的弧 s1s \rightarrow 1s2s \rightarrow 2 全饱和,无法继续增广。
  • 最大流值f=10+5=15f^* = 10 + 5 = 15
  • 各弧分配方案:
    • f(s,1)=10,f(s,2)=5f(s, 1)=10, f(s, 2)=5
    • f(1,2)=0,f(1,3)=6,f(1,4)=4f(1, 2)=0, f(1, 3)=6, f(1, 4)=4
    • f(2,4)=5f(2, 4)=5
    • f(4,3)=2,f(4,t)=7f(4, 3)=2, f(4, t)=7
    • f(3,t)=8f(3, t)=8

【最小费用最大流自测题解答】 基本思路:每次以单位运费为权重,在残留网络上寻找最短增广路进行增广。

  1. 初始状态:流 f=0f=0,总费用 Cost=0\text{Cost}=0
  2. 第一轮
    • 寻找最短费用路(路权为 wijw_{ij}):
      • 路径一:s13ts \rightarrow 1 \rightarrow 3 \rightarrow t,总单位运费为 2+5+4=112 + 5 + 4 = 11
      • 路径二:s143ts \rightarrow 1 \rightarrow 4 \rightarrow 3 \rightarrow t,总单位运费为 2+3+1+4=102 + 3 + 1 + 4 = 10
      • 路径三:s14ts \rightarrow 1 \rightarrow 4 \rightarrow t,总单位运费为 2+3+6=112 + 3 + 6 = 11
      • 因此,最短路为 s143ts \rightarrow 1 \rightarrow 4 \rightarrow 3 \rightarrow t(费用比为 10)。
    • 该路径上最大可增广流量:θ=min(10,4,3,8)=3\theta = \min(10, 4, 3, 8) = 3(受限限度为 c43=3c_{43} = 3)。
    • 增广流量 f1=3f_1 = 3,产生费用 3×10=303 \times 10 = 30 元。
    • 流量分布:f(s,1)=3,f(1,4)=3,f(4,3)=3,f(3,t)=3f(s, 1)=3, f(1, 4)=3, f(4, 3)=3, f(3, t)=3
  3. 第二轮
    • 由于 434 \rightarrow 3 饱和,寻找其他最短路:
      • 最短路为 s13ts \rightarrow 1 \rightarrow 3 \rightarrow t(单位费用 2+5+4=112+5+4 = 11)。
      • 该路径上最大可增广量:min(103,6,83)=min(7,6,5)=5\min(10-3, 6, 8-3) = \min(7, 6, 5) = 5(受限限度为 c3tc_{3t} 剩余)。
      • 增广流量 f2=5f_2 = 5,产生费用 5×11=555 \times 11 = 55 元。
      • 累计流量 f=8f=8,流量更新为:f(s,1)=8,f(1,3)=5,f(3,t)=8f(s, 1)=8, f(1, 3)=5, f(3, t)=8(饱和)。
  4. 第三轮
    • 因为 3t3 \rightarrow t 已饱和,增广路终段必须为 4t4 \rightarrow t
      • 最短路为 s14ts \rightarrow 1 \rightarrow 4 \rightarrow t(单位费用 2+3+6=112+3+6 = 11)。
      • 最大增广量:min(108,43,7)=min(2,1,7)=1\min(10-8, 4-3, 7) = \min(2, 1, 7) = 1(受限限度为 c14c_{14} 剩余)。
      • 增广流量 f3=1f_3 = 1,产生费用 1×11=111 \times 11 = 11 元。
      • 累计流量 f=9f=9,流量更新为:f(s,1)=9,f(1,4)=4f(s, 1)=9, f(1, 4)=4(饱和),f(4,t)=1f(4, t)=1
  5. 第四轮
    • 因为 141 \rightarrow 4 饱和,需通过 2 绕行。
      • 最短路为 s124ts \rightarrow 1 \rightarrow 2 \rightarrow 4 \rightarrow t(单位费用 2+1+2+6=112+1+2+6 = 11)。
      • 最大增广量:min(109,2,8,71)=min(1,2,8,6)=1\min(10-9, 2, 8, 7-1) = \min(1, 2, 8, 6) = 1(受限限度为 cs1c_{s1} 剩余)。
      • 增广流量 f4=1f_4 = 1,产生费用 1×11=111 \times 11 = 11 元。
      • 累计流量 f=10f=10,此时 s1s \rightarrow 1 饱和。
  6. 第五轮
    • 只剩从 s2s \rightarrow 2 出发的增广路。
      • 最短路为 s24ts \rightarrow 2 \rightarrow 4 \rightarrow t(单位费用 8+2+6=168+2+6 = 16)。
      • 最大增广量:min(5,81,72)=min(5,7,5)=5\min(5, 8-1, 7-2) = \min(5, 7, 5) = 5
      • 增广流量 f5=5f_5 = 5,产生费用 5×16=805 \times 16 = 80 元。
      • 累计流量 f=15f=15。此时 s2s \rightarrow 2 饱和,整个网络无法再增广。
  • 最小费用最大流总量:15。
  • 各弧流量分配方案:
    • f(s,1)=10,f(s,2)=5f(s, 1)=10, f(s, 2)=5
    • f(1,2)=1,f(1,3)=5,f(1,4)=4f(1, 2)=1, f(1, 3)=5, f(1, 4)=4
    • f(2,4)=6f(2, 4)=6
    • f(4,3)=3,f(4,t)=7f(4, 3)=3, f(4, t)=7
    • f(3,t)=8f(3, t)=8
  • 最小总运费Cost=30+55+11+11+80=187 元\text{Cost} = 30 + 55 + 11 + 11 + 80 = 187 \text{ 元}
分享

如果这篇文章对你有帮助,欢迎分享给更多人!

管理运筹学期末复习与自测指南
https://blog.sopak.space/posts/study/economics-management/mo/review/
作者
Xxxhite
发布于
2026-06-29
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录