🏭线性规划求解器 - 单纯形法分步表格、图解法、整数规划
线性规划是在一组线性约束下求线性目标函数的最大值或最小值。这个工具直接接受课本上的写法:第一行写 max z = 3x + 2y 或 min z = …,下面每行一个约束,如 x + y <= 4、2x − y >= 1、x + 3y = 6,最后写 x, y >= 0;系数可以是分数和小数,两边都可以有变量。求解用精确分数进行,不会出现 0.3333 之类的舍入误差。工具先把模型化成标准形(加松弛变量、剩余变量和人工变量),然后按两阶段法或大 M 法列出每一张单纯形表:进基变量所在列、出基变量所在行和主元都会高亮,并写明检验数和最小比值的计算过程。它能判断唯一最优解、多重最优解(并给出另一个最优顶点)、无界解、无可行解和退化,退化时自动改用 Bland 规则防止循环。只有两个变量时,还会画出每条约束直线、可行域、经过最优点的目标函数等值线,并列出所有顶点的坐标和目标值,正好对应课本上的图解法。勾选“整数解”后用分支定界法求整数规划,并列出整棵分支树。最后给出影子价格、松弛量和右端值的允许变化范围。
免费 · 无需注册 · 浏览器本地处理最后更新:
正在加载工具...
如何使用线性规划求解器
- 1在输入框第一行写目标函数(max 或 min),下面每行写一个约束;也可以从“示例”里选一个
- 2选择两阶段法或大 M 法,需要整数解时勾选“要求整数解”
- 3查看最优解、图解法图形与顶点表、灵敏度分析,以及每一张单纯形表的换基过程
常见问题
- 两阶段法和大 M 法有什么区别?
- 两者都用来处理 ≥ 和 = 约束引入的人工变量。大 M 法把人工变量以 −M(一个很大的数)的系数放进目标函数,一次求解;两阶段法先单独最小化人工变量之和找到可行解(第一阶段),再换回原目标继续求最优(第二阶段)。结果相同,两阶段法的数值更稳定,大 M 法的表格更紧凑。工具里两种都能切换对比。
- 怎么从单纯形表看出多重最优解、无界解和无可行解?
- 最优表中若有非基变量的检验数为 0,让它进基能得到另一个最优顶点,说明有无穷多个最优解;若某个检验数为负、而这一列没有正数,就无法做比值检验,目标函数可以无限增大,即无界解;若最优时人工变量仍大于 0(两阶段法第一阶段最优值 w < 0),原问题没有可行解。工具会在对应的表格旁写出判断理由。
- 影子价格是什么意思?
- 影子价格是某个约束右端常数增加 1 个单位时,最优目标值的变化量,也就是对偶问题的最优解。例如资源约束的影子价格为 1.5,表示再多 1 单位这种资源,最大利润增加 1.5。它只在“右端值允许范围”内有效;不是紧约束(松弛量大于 0)的约束影子价格为 0。
- 整数规划为什么不能直接把小数解四舍五入?
- 四舍五入得到的点可能不满足约束,也可能不是最优的整数点。分支定界法先解线性松弛,若某个变量是小数,比如 x = 2.25,就分成 x ≤ 2 和 x ≥ 3 两个子问题分别求解,用已找到的整数解剪掉不可能更好的分支,直到找到最优整数解。工具会列出每个节点的约束、松弛值和处理结果。