单纯性算法
- 模型


- 一般线性规划问题中当线性方程组的变量数大于方程个数,这时会有不定数量的解,而单纯形法是求解线性规划问题的通用方法。
具体步骤是,从线性方程组找出一个个的单纯形,每一个单纯形可以求得一组解,然后再判断该解使目标函数值是增大还是变小了,决定下一步选择的单纯形。通过优化迭代,直到目标函数实现最大或最小值。换而言之,单纯形法就是秉承“保证每一次迭代比前一次更优”的基本思想:先找出一个基本可行解,对它进行鉴别,看是否是最优解;若不是,则按照一定法则转换到另一改进后更优的基本可行解,再鉴别;若仍不是,则再转换,按此重复进行。因基本可行解的个数有限,故经有限次转换必能得出问题的最优解。如果问题无最优解,也可用此法判别。
- 运算步骤

- matlab程序示例:我这里使用的是改进单纯性算法的步骤计算
%输入参量'
function [ X,z ] = lp( N,b,Cn )%N:约束条件系数矩阵,b:资源向量,Cn:价值向量
%N=[1 0;0 2;3 2];%初始基变量,就是没有使用的,没有添加松弛变量的
[row,col] = size(N);
E=eye(row);%使用单位矩阵
A=[N E];%合起来的A
%Cn=[2 3];%目标函数的参数
Cb=zeros(1,row);%的函数
c=[Cn Cb];%合起来的C
Xb=find(c==0)