线性规划变量替换方法解析及标准形转换变量替换逻辑咨询
线性规划变量替换详解与你的标准形转换疑问解答
首先得明确:线性规划的标准形有个核心要求——所有决策变量必须是非负的(也就是 $x_i \geq 0$)。变量替换的本质,就是把不符合这个要求的变量(比如有下界、上界、或者可以取正负的自由变量),通过代数变换转成非负变量,这样才能套入标准形的求解框架里。
先给你梳理几种常见的变量替换场景:
1. 变量只有下界($x \geq a$,$a \neq 0$)
比如你的问题里 $x_1 \geq -1$,这时候我们需要构造一个非负变量:令 $x_1' = x_1 - (-1) = x_1 + 1$,这样 $x_1' \geq 0$,完美符合非负要求。反过来,原变量就可以表示为 $x_1 = x_1' - 1$,代入原约束即可。
2. 变量只有上界($x \leq b$)
如果某个变量 $x \leq 2$,我们可以令 $x' = b - x$,这样 $x' = 2 - x \geq 0$,同时原变量表示为 $x = 2 - x'$,把原变量用非负的 $x'$ 替换。
3. 变量同时有上下界($a \leq x \leq b$)
这种情况有两种常用处理方式:
- 方式一:先转成只有下界的变量,再处理上界。比如 $-1 \leq x_2 \leq 2$,先令 $x_2' = x_2 + 1$(这样 $x_2' \geq 0$),然后代入上界约束得 $x_2' - 1 \leq 2$ → $x_2' \leq 3$,这时候给这个上界约束加一个松弛变量 $x_2'' \geq 0$,转成等式 $x_2' + x_2'' = 3$。
- 方式二:用两个非负变量的差表示原变量:$x = x' - x''$,其中 $x' \geq 0$,$x'' \geq 0$,再把上下界约束代入,转成关于 $x'$ 和 $x''$ 的线性约束。不过这种方式会增加变量数量,通常优先用第一种。
现在回到你提到的答案里的替换:$x_1' = x_1 - 1$、$x_2' = -x_2 - 2$。我猜这里大概率是笔误,因为按这个替换代入原约束的话:
- 对于 $x_1 \geq -1$,代入 $x_1 = x_1' + 1$ 得 $x_1' + 1 \geq -1$ → $x_1' \geq -2$,这还是允许 $x_1'$ 取负数,不符合标准形的非负要求;
- 对于 $x_2 \geq -1$,代入 $x_2 = -x_2' - 2$ 得 $-x_2' - 2 \geq -1$ → $x_2' \leq -1$,这直接要求变量为负,完全违背标准形的规则。
针对你的问题里的约束,正确的替换应该是这样的:
- 对 $-1 \leq x_1 \leq 2$:令 $x_1' = x_1 + 1$(保证 $x_1' \geq 0$),则 $x_1 = x_1' - 1$,代入上界得 $x_1' \leq 3$;
- 对 $-1 \leq x_2 \leq 2$:可以令 $x_2' = x_2 + 1$($x_2' \geq 0$),则 $x_2 = x_2' - 1$,代入上界得 $x_2' \leq 3$;或者如果想先处理上界,令 $x_2' = 2 - x_2$($x_2' \geq 0$),则 $x_2 = 2 - x_2'$,代入下界得 $x_2' \leq 3$。
另外,再给你补充下你已经掌握的部分之外的标准形转换完整步骤,结合你的问题:
- 转换目标函数:把 $\min z$ 转成 $\max z'$,令 $z' = -z = -4x_1 -2x_2 -x_3$,目标变为 $\max z'$;
- 处理不等式约束:
- 第一个约束 $-x_1 +3x_2 -x_3 \geq1$,减去剩余变量 $s_1 \geq0$,转成等式 $-x_1 +3x_2 -x_3 -s_1 =1$;
- 第三个约束 $x_1 +x_2 +x_3 \leq1$,加上松弛变量 $s_2 \geq0$,转成等式 $x_1 +x_2 +x_3 +s_2 =1$;
- 处理变量上下界:用刚才说的变量替换把 $x_1$、$x_2$ 转成非负变量,再把上下界的不等式转成等式(添加松弛/剩余变量)。
最后再敲个重点:变量替换的核心逻辑永远是把不符合非负要求的变量,通过代数变换转化为非负变量,所有的替换设计都要围绕这个目标来。
内容的提问来源于stack exchange,提问作者Singh rajesh
相关产品推荐
相关产品推荐

