单纯形算法
步骤1:取得一个初始可行基,写出初始可行基可行解,以及当前的目标函数值,计算所有检验数,。
步骤2:考察所有检验值,若所有检验值,则当前基为最优解,停。否则转步骤3.
步骤3:令。若,则无最优解,停。否则转步骤4.
步骤4:令,用代替得新基。
步骤5:新基的基可行解及判别数:
转步骤2.
单纯形表格法MATLAB程序:
MATLAB优化库函数都是以最小化为标准,所以程序也以最小化为标准。
的使用方法:
先将一般线性规划变为线性规划的标准形式,再构件初始单纯形表格,输入程序。例如:
单纯形表格为:
7
8
6
3
5
9
9
4
5
1
0
0
0
1
0
0
0
1
1
1
1
系数
-1
-1
-1
0
0
0
0(值)
注:(值)处显示标准型(求min)的目标函数值。
7
8
6
3
5
9
9
4
5
1
0
0
0
1
0
0
0
1
1
1
1
判别数
-1
-1
-1
0
0
0
0
在MATLAB的command window输入:
mat=[7 3 9 1 0 0 1;
8 5 4 0 1 0 1;
6 9 5 0 0 1 1;
-1 -1 -1 0 0 0 0];
numFreeVar=3;%注释:自由变量个数
simplexTab(mat,numFreeVar);
在MATLAB的command window输出:
初始结果:
ans =
the best Pivot is 2 row ang 1 col
the simplex table is
ans =
0 0
0 0
0 0
- - - 0 0 0 0 0
press any key to continue
第一次转换结果:
ans =
the best Pivot is 1 row ang 3 col
the simplex table is
ans =
0 - - 0
单纯形表格法:simplextab 来自淘豆网www.taodocs.com转载请标明出处.