You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

约束与极小化函数一致时的两阶段单纯形法求解技术问询

两阶段单纯形法求解线性规划问题实例

我来一步步带你拆解这个线性规划问题的两阶段单纯形法求解过程,每一步的逻辑都讲得明明白白:

原问题明确

首先先把问题摆清楚:

目标函数:最大化 $Z = x - y$
约束条件:
$$-x + y \ge 1$$
$$x \ge 0,\ y \ge 0$$

步骤1:约束条件转化(引入剩余/人工变量)

因为约束是$\ge$型,我们需要减去剩余变量$s$(用于把不等式转成等式),同时加上人工变量$a$(用来构造初始基可行解,人工变量仅在第一阶段使用),转化后的等式约束为:
$$-x + y - s + a = 1$$
其中$s \ge 0$,$a \ge 0$。


第一阶段:消去人工变量,验证原问题可行性

第一阶段的核心目标是最大化$W = -a$(等价于最小化人工变量$a$,当$W=0$时,$a=0$,说明原问题存在可行解)。

我们从约束式中解出$a = 1 + x - y + s$,代入$W$的表达式得:
$$W = -a = -1 -x + y -s$$

对应的初始单纯形表如下(基变量为$a$):

|   | x  | y  | s  | a  | b  |
|---|----|----|----|----|----|
| a | -1 | 1  | -1 | 1  | 1  |
|---|----|----|----|----|----|
| W | -1 | 1  | -1 | 0  | 1  |

找进基变量

最大化$W$时,我们要选目标行(W行)中系数为正的非基变量(因为增加这类变量能让$W$变大)。这里$y$的系数是1,是唯一的正系数,所以选$y$作为进基变量。

找出基变量

进基变量确定后,看$y$列的约束行系数(只有$a$行的系数是1,为正),计算右端项除以该系数:$1/1 = 1$,所以出基变量是$a$。

转轴运算(围绕$a$行$y$列的1进行变换)

  • 首先把$a$行替换为$y$行,该行元素不变:-1, 1, -1, 1, 1
  • 然后更新$W$行:用$W$行减去$y$行的1倍,把$y$列的系数消为0:
    • x列:$-1 - (-1)*1 = 0$
    • y列:$1 - 1*1 = 0$
    • s列:$-1 - (-1)*1 = 0$
    • a列:$0 - 1*1 = -1$
    • b列:$1 - 1*1 = 0$

转轴后的单纯形表:

|   | x  | y  | s  | a  | b  |
|---|----|----|----|----|----|
| y | -1 | 1  | -1 | 1  | 1  |
|---|----|----|----|----|----|
| W | 0  | 0  | 0  | -1 | 0  |

第一阶段结论

此时$W=0$,说明人工变量$a=0$,原问题可行,基变量变为$y$,非基变量为$x、s、a$($a$已退化为0)。


第二阶段:求解原问题的最优解

现在回到原目标函数$Z = x - y$,我们基于第一阶段的最终表,把$W$行替换为$Z$行,进行最优性判断。

首先把原目标函数整理为:$Z - x + y = 0$。因为当前基变量是$y$,我们需要把$Z$行中$y$的系数消为0:
用$Z$行加上$y$行的1倍,计算后得到新的$Z$行:

  • x列:$1 + (-1)*1 = 0$
  • y列:$-1 + 1*1 = 0$
  • s列:$0 + (-1)*1 = -1$
  • b列:$0 + 1*1 = 1$

同时,人工变量$a$已经没用了,我们可以去掉$a$列,得到第二阶段的单纯形表:

|   | x  | y  | s  | b  |
|---|----|----|----|----|
| y | -1 | 1  | -1 | 1  |
|---|----|----|----|----|
| Z | 0  | 0  | -1 | 1  |

最优性判断与结论

观察$Z$行的非基变量系数:

  • $s$的系数是-1(负的),增加$s$会让$Z$变小,不符合最大化目标;
  • $x$的系数是0,说明增加$x$不会改变$Z$的值,同时看$x$列的约束行系数是-1,意味着我们可以任意增加$x$的值(只要保证$y = 1 + x + s \ge 0$,而$s$取0时,$y = 1 + x$,满足$y \ge 0$)。

这说明原问题存在无穷多最优解,最优值为$Z=-1$,所有最优解满足:
$$y = x + 1$$
$$x \ge 0,\ y \ge 0$$


内容的提问来源于stack exchange,提问作者KarelPeeters

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:21:36