线性规划问题解法
单纯形法、内点法(大M、两阶段法)、列生成法
有约束问题: 拉格朗日对偶法
对比总结
方法 | 时间复杂度 | 核心思想 | 优势场景 | 局限性 |
---|---|---|---|---|
单纯形法 | 指数级(最坏) | 凸多面体(可行域)的顶点之间迭代移动,逐步逼近最优解 | 中小规模、需灵敏度分析 | 高维问题效率骤降 |
内点法 | 多项式 O(n3.5) | 从可行域内部逼近最优解,适合大规模问题。 | 大规模稠密问题、高精度需求 | 实现复杂,需处理数值稳定性 |
列生成法 | 伪多项式(依赖子问题) | 列生成法基于主问题-子问题分解框架,结合对偶理论,初始仅包含部分变量,求解松弛后的线性规划问题。通过分析主问题的对偶变量,生成能改进目标函数的新变量 | 当变量数目大于约束条件数时,需要使用列生成算法。变量指数级增长的组合优化问题 (下料问题) |
子问题需高效求解,收敛速度不定 |
单纯形法
设置不同的基向量,经过矩阵的线性变换,求得基可行解(可行域顶点),并判断该解是否最优,否则继续设置另一组基向量,重复执行以上步骤,直到找到最优解。
单纯形法中的大M法(Big M Method)和两阶段法(Two-Phase Method)是两种处理无初始基可行解的线性规划问题的技术,常用于解决包含等式约束或无法直接构造可行基的情况。
大M法
在目标函数中为人エ变量赋予一个极大正数 M(最大化问题中系数为 -M,最小化问题中为 +M),迫使这些变量在优化过程中被排除(取值为0)。
两阶段法
第一阶段:构造辅助问题,目标是最小化人工变量的总和,找到初始基可行解;第二阶段:使用第一阶段的结果,求解原问题。
两阶段法通过分阶段验证可行性和求解原问题,规避了大M法的数值不稳定缺陷,适合工程计算与复杂问题;而大M法流程简洁,更适合小规模或人工计算场景,但对M值敏感。两者本质目标一致(处理无初始基问题),但实现路径与适用性不同。
检验数
检验数是线性规划中单纯形法的核心概念,用于判断当前基本可行解是否最优,并指导迭代方向。
列生成法
Column Generation是一种用于求解大规模线性优化问题的非常高效的算法[3],其理论基础是由Danzig等于1960年提出。本质上而言,列生成算法就是单