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

使用Fourier-Motzkin消元法求解线性规划最优成本的技术问询

Fourier-Motzkin消元法求解线性规划最优成本的技术问询

嘿,我来帮你梳理这个线性规划问题的求解过程,顺便解答你对最优解的疑问~

首先,先明确我们要解决的原线性规划问题:

\begin{array}{ll}
\underset{x_1, x_2} {\text{minimize}} & 50 x_1 + 80 x_2 \\
\text{subject to} & 2 x_1 + 8 x_2 \leq 5 \\
& 6 x_1 + 5 x_2 \leq 10 \\
& x_1, x_2 \geq 0
\end{array}

你已经通过Fourier-Motzkin消元法推导出了变量的可行范围:

  • (0 \leq x_1 \leq \frac{5}{3})
  • (0 \leq x_2 \leq \frac{5}{8})
    并且确认了问题是可行的,这部分的推导完全正确!

接下来你猜测最优解是((0,0)),这个结论其实是对的,但我们可以用完整的Fourier-Motzkin消元流程来严谨验证:

完整消元验证最优成本

我们的目标是最小化(z = 50x_1 + 80x_2),首先把约束条件转化为关于(x_1)的上下界:

  1. 从(2x_1 + 8x_2 \leq 5)可得:(x_1 \leq \frac{5 - 8x_2}{2})
  2. 从(6x_1 + 5x_2 \leq 10)可得:(x_1 \leq \frac{10 - 5x_2}{6})
  3. 非负约束:(x_1 \geq 0)

由于目标函数中(x_1)的系数是正数(50),要最小化(z),对于任意给定的(x_2),我们应该取(x_1)的最小可行值,也就是(x_1 = 0)(因为(x_1 \geq 0))。

此时目标函数简化为(z = 80x_2),同样(x_2)的系数也是正数(80),所以要最小化(z),取(x_2)的最小可行值(x_2 = 0)。

代入约束验证:

  • (20 + 80 = 0 \leq 5),满足第一个约束
  • (60 + 50 = 0 \leq 10),满足第二个约束
  • (x_1, x_2 \geq 0),满足非负约束

所以最优解确实是((0,0)),对应的最优成本是(500 + 800 = 0)。

你的逻辑并没有问题,核心原因是目标函数的所有变量系数都是正数,且变量有非负约束,所以最小化的结果必然是所有变量取0的时候(只要这个点在可行域内,而这里显然满足所有约束)。

备注:内容来源于stack exchange,提问作者python-dude153

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 11:52:37