# 线性规划求解器 - 单纯形法分步表格、图解法、整数规划

> 免费在线线性规划计算器：直接输入 max/min 目标与约束，用两阶段法或大 M 法给出每一张单纯形表并标出主元，两变量画可行域图解，支持整数规划与影子价格。

- 网址: https://qilingtools.com/zh/math/linear-programming
- 分类: 数学工具 (https://qilingtools.com/zh/math)
- 标签: [数学](https://qilingtools.com/zh/tags/math), [算法](https://qilingtools.com/zh/tags/algorithm)
- 最后更新: 2026-10-26
- 价格: 免费，无需注册
- 隐私: 在浏览器本地处理，文件不上传服务器

线性规划是在一组线性约束下求线性目标函数的最大值或最小值。这个工具直接接受课本上的写法：第一行写 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. 查看最优解、图解法图形与顶点表、灵敏度分析，以及每一张单纯形表的换基过程

## 功能特点

- 自然写法输入：max z = 3x + 2y、x + y <= 4、x, y >= 0，支持分数系数与连写不等式
- 精确分数运算，单纯形表没有舍入误差
- 两阶段法与大 M 法（M 以符号形式显示，如 −7M + 4）
- 每张表高亮进基列、出基行与主元，写出检验数和比值
- 判定唯一最优、多重最优、无界、无可行解与退化，退化时使用 Bland 规则
- 两变量图解法：可行域、约束线、目标等值线与顶点表
- 分支定界求整数规划，列出完整分支树
- 影子价格、松弛量与右端值允许范围（灵敏度分析）

## 常见问题

### 两阶段法和大 M 法有什么区别？

两者都用来处理 ≥ 和 = 约束引入的人工变量。大 M 法把人工变量以 −M（一个很大的数）的系数放进目标函数，一次求解；两阶段法先单独最小化人工变量之和找到可行解（第一阶段），再换回原目标继续求最优（第二阶段）。结果相同，两阶段法的数值更稳定，大 M 法的表格更紧凑。工具里两种都能切换对比。

### 怎么从单纯形表看出多重最优解、无界解和无可行解？

最优表中若有非基变量的检验数为 0，让它进基能得到另一个最优顶点，说明有无穷多个最优解；若某个检验数为负、而这一列没有正数，就无法做比值检验，目标函数可以无限增大，即无界解；若最优时人工变量仍大于 0（两阶段法第一阶段最优值 w < 0），原问题没有可行解。工具会在对应的表格旁写出判断理由。

### 影子价格是什么意思？

影子价格是某个约束右端常数增加 1 个单位时，最优目标值的变化量，也就是对偶问题的最优解。例如资源约束的影子价格为 1.5，表示再多 1 单位这种资源，最大利润增加 1.5。它只在“右端值允许范围”内有效；不是紧约束（松弛量大于 0）的约束影子价格为 0。

### 整数规划为什么不能直接把小数解四舍五入？

四舍五入得到的点可能不满足约束，也可能不是最优的整数点。分支定界法先解线性松弛，若某个变量是小数，比如 x = 2.25，就分成 x ≤ 2 和 x ≥ 3 两个子问题分别求解，用已找到的整数解剪掉不可能更好的分支，直到找到最优整数解。工具会列出每个节点的约束、松弛值和处理结果。

## 相关工具

- [函数图像](https://qilingtools.com/zh/math/graph): 免费在线函数绘图工具：输入 sin(x)、x^2、1/x 等公式即可画出函数图像，支持多条曲线叠加、参数方程、极坐标、数据点散点图与最小二乘拟合，可拖动缩放并导出 PNG/SVG。
- [科学计算器](https://qilingtools.com/zh/math/calculator): 免费在线科学计算器：直接输入 2*(3+4)^2、sin(pi/6)、log(8,2) 这样的算式即可得到结果，支持角度/弧度切换、阶乘、组合数与历史记录，浏览器本地计算。
- [方程求解](https://qilingtools.com/zh/math/equation): 免费在线解方程：输入系数即可求一元一次方程、一元二次方程（含判别式、顶点、因式分解、复数根）、一元三次方程与二元一次方程组的解，并给出计算过程。
- [分数计算器](https://qilingtools.com/zh/math/fraction): 免费在线分数计算器：分数加减乘除并自动约分，化简最简分数，分数转小数（识别循环节）、小数转分数（支持 0.1(6) 这类循环小数），带分数一并给出。
- [百分比计算](https://qilingtools.com/zh/math/percentage): 免费在线百分比计算器：求某数的百分之几、一个数是另一个数的百分之几、增长率与下降率、增加/减少百分比后的值，以及已知百分比反推原值，并给出计算公式。
- [质因数分解](https://qilingtools.com/zh/math/prime): 免费在线质因数分解工具：把整数分解成质因数连乘并写成幂的形式，列出全部因数与因数之和，判断一个数是不是质数并给出相邻质数，还能列出任意区间内的质数表。
- [最大公约数](https://qilingtools.com/zh/math/gcd-lcm): 免费在线求最大公约数（GCD）与最小公倍数（LCM）：支持两个或多个整数，给出是否互质、乘积、各数的质因数分解，两个数时还会列出辗转相除法的每一步。
- [统计计算](https://qilingtools.com/zh/math/statistics): 免费在线统计计算器：粘贴一组数据即可得到平均数、中位数、众数、极差、四分位数、样本与总体的方差和标准差、标准误、变异系数与异常值，适合作业与实验数据处理。
