对偶行法求解线性规划C#实现

线性规划的对偶行法实现,C#版本的,结构清晰、思路明了,适合刚接触线性规划算法或者需要动手做一版的朋友。代码主要是围绕对偶问题展开的,怎么初始化、怎么构造单纯形表、怎么选基、怎么迭代更新,全都写得蛮清楚。

源码放在了压缩包DuiOuXingLinprog里,直接解压就能跑。用的是.NET 的System.Numerics来搞矩阵运算,速度还挺快的,数值也比较稳定。建议你动手跑一跑,更容易理解背后的数学逻辑。

对偶问题其实有点像原问题的“镜子”,你从另一个角度去看问题,有时候反而更容易收敛,是原问题不好直接解的时候。代码里也考虑了这一点,加入了松弛变量和收敛判断。整体架构不复杂,逻辑挺通顺,调试也不难。

如果你正好在研究线性规划单纯形法,不妨也看看这些资料:原始单纯形法simplex-algorithm。顺带一提,遗传算法的线性规划实现也挺有意思,适合做算法对比。

哦对了,如果你打算在自己项目里用这套代码,记得先测一下数值边界,尤其是约束矩阵比较大的时候,稳定性还是得靠你自己多试几组数据。

rar 文件大小:27.03KB