运筹学,真的是门好活。
目录
1.b的灵敏度分析
分析是否大于0,即最优单纯形表的b列。
1.1>=0,啥事没有。
最优解与最优值不变。是最优单纯形表中松弛变量对应的矩阵块。
1.2<0,有事干了。
如果不会对偶单纯形法就需要复习一下单纯形法的步骤了(先选出基变量,再选进基变量)。用的值代替最优单纯形表中的b列,对于其中某几个为负数的元素,需要用对偶单纯形法进行迭代。当b列全部为非负值时,迭代结束。
2.Cj的灵敏度分析
2.1非基变量的Cj,简单。
计算对应的检验数。解释一下,是对偶问题的最优解,也就是原问题最优表的松弛变量的检验数的相反数。是非基变量的约束矩阵系数。
2.1.1检验数非正
检验数依旧保证单纯形表是最优的,最优解与最优值不变。
2.1.2检验数为正数
只影响最优表的数值,其他保持不变,然后换基迭代。
2.2基变量的Cj,有一丢丢的复杂。
因为基变量的Cj既会影响到自身检验数,也会影响到非基变量的检验数,所以所有的变量检验数都需要计算,
就是单纯形表中最左边的一列,即变量在目标函数中的系数,这里计算的时候需要考虑变化值,是最优单纯形表中间的矩阵块,不包含b列。
2.2.1所有检验数非正
开心,不要继续算啦。最优解与最优值不变。
2.2.2存在检验数为正数
需要替换检验数行,然后对其中为正数的检验数进行换基迭代,和单纯形法方法一致。
3.Pj的灵敏度分析
3.1非基变量的Pj
只影响到该变量自身系数列与检验数。检验数的计算方法
3.1.1
最优解和最优值不变。
3.1.2
最优解改变,该非基变量的检验数已经通过计算算出。再利用替换该变量在单纯形表中的系数列,之后就是迭代求解最优解与最优值。
3.2基变量的Aj
重新进行单纯形表进行求解。
4.新增产品
计算新增产品的检验数。
4.1检验数
说明目前表已经是最右边,无法使最优值得到进一步提升。并且检验数为负表示新增产品后,成本比收益增加的多,不值得生产该产品。
4.2检验数
最优单纯形表在最右端新增一列,改列的检验数为,矩阵系数通过计算得到之后加入到单纯形表。
此时单纯形表中有一个检验数为正数,可以进行换基迭代。
5.新增约束
5.1当前解满足新约束
最优解与最优值保持不变。
5.2当前解不满足新约束
在最优表中加入一行(新约束),松弛变量需要对应加入,其他行的松弛变量系数列均为0。
在开始换基迭代前,需保证当前的基变量系数列都是单位向量,如不是单位向量,需要先化成单位向量,再进行换基迭代。