Skip to content

单纯形法

Simplex method

沿可行多面体顶点与边枢轴移动求解线性规划的方法。

条目类型
算法

形式陈述

单纯形法把标准形线性规划的基可行解视为多面体顶点,通过选入变量和离开变量的枢轴操作沿边移动,使目标不劣。若发现所有约化成本满足最优性符号条件则停止;若存在改善方向而比值检验无离开变量,则目标无界。退化时目标可能不变,需 Bland 规则等防止循环。

直觉

线性目标若有有限最优值,总能在某个顶点取得,因此单纯形法不扫描整个连续区域,而是在可行多面体的顶点(基可行解)之间沿边选择改进方向:每次选择能改善目标的入基变量,并用比值检验确定哪个基变量先降到零。这种边界行走有完整的几何依据;实践中它常很快,但存在精心构造的指数长枢轴路径。

例子与边界

松弛变量把 Axb 化为等式并给出初始基;没有显然基可行解时需两阶段法。单纯形法实践中常很快,但存在指数步坏例;它不是已知的多项式时间保证算法。浮点实现需分别设置可行性、约化成本与比值检验容差,并通过变量和约束缩放避免同一阈值跨越悬殊量级;几何退化与数值病态也不能混为一个失败状态。

标准形 Ax=b,x0 中选取一组基列 B,令非基变量为零并解 B1b 得基解。若某非基变量的约化成本表明增加它可改善目标,就沿对应方向移动,直到某个基变量触及零并离基。

初始可行基不一定显然存在,需两阶段法或人工变量;无界方向、不可行和退化要分别诊断。退化枢轴可能目标不变并造成循环,Bland 规则等可保证终止。修正单纯形实现会反复求解以基矩阵 B 为系数的系统:B条件性决定残差对基解的放大,数值分解还要使用枢轴与增长因子诊断,而不是显式形成 B1

推论与应用

线性规划给出多面体与目标,给出顶点代数表示。最优终止时,最终基不仅给出原始变量,还通过对偶乘子和约化成本暴露约束的影子价格;在基保持最优且可行的范围内,还能读取目标系数或右端项变化的灵敏度区间。越出这些范围就可能换基,不能继续用同一局部价格作全局预测。单纯形法也适合暖启动,但经典枢轴规则没有多项式最坏步数保证;对偶单纯形、修正单纯形和内点法是不同求解器,不能把经验速度写成复杂度定理。

网络单纯形法利用流网络基的生成树结构专门求最小费用流,枢轴和可行性维护不同于通用稠密表。LP 松弛与舍入则先用 LP 值作上下界,再把分数解转成离散解并分析 integrality gap;它可以调用任意 LP 求解器,近似比不是单纯形沿边移动自动提供的。

参考资料
  • Bernhard Korte and Jens Vygen, Combinatorial Optimization, 6th ed., Springer, 2018,Chs. 4–11。
  • Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, Introduction to Algorithms, 4th ed., MIT Press, 2022,Parts I–VI。
关系图谱8 个相邻概念 · 3 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
分类位置

上位 / 更一般

暂未标注直接上位概念。

下位 / 直接特例

类型化关系

实现的抽象