单纯性算法的大 M 法实现
注意:本程序需要一个输入数据的 TXT 文档,本例中为 InputFile.txt,你可以根据需要改一下;
另外,文档格式如下
假如经过松弛变量后的方程为 AX=b;求 min f=CX=?
A 为系数矩阵,X 为变量列向量,b 为常数列向量
则文档格式为
变量个数
方程个数
F=CX 中的 C 行向量
系数矩阵
常数向量
如:
7
3
0 0 0 -0.75 20 -0.5 6
1 0 0 0.25 -8 -1 9
0 1 0 0.5 -12 -0.5 3
0 0 1 0 0 1 0
0 0 1
本程序采用的是大 M 法做的
记录约束等式数目
记录变量个数
记录次数
! 添加的人工变量个数
"#$% 记录目标函数值
%&!'()*'+)*记录系数矩阵 ! 的值
%,-.'+)*记录等式右边 向量的值
%"#/'()*记录从第一个变量开始的所有变量对应的在优化目标
中的系数
%,'()*判别系数
%0'+)*记录 0
%. 1'+)*记录基变量的编号
$'()*记录解向量
12234从文件读入数据
%,34计算判别系数
%534计算目标函数值