线性规划【单纯形算法】

• 基本变量:每个约束条件中的系数为正且只出现在一个约束条件中的变量。

• 非基本变量:除基本变量外的变量全部为非基本变量。

• 基本可行解:满足标准形式约束条件的可行解称为基本可行解。由此可知,如果令n−m 个非基本变量等于0,那么根据约束条  件求出m 个基本变量的值,它们组成的一组可行解为一个基本可行解。

• 检验数:目标函数中非基本变量的系数。

线性规划基本定理如下:

• 定理1:最优解判别定理

    若目标函数中关于非基本变量的所有系数(检验数cj)小于等于0,则当前基本可行解就是最优解。

• 定理2:无穷多最优解判别定理

    若目标函数中关于非基本变量的所有检验数小于等于0,同时存在某个非基本变量的检

验数等于0,则线性规划问题有无穷多个最优解。

• 定理3:无界解定理

    如果某个检验数cj 大于0,而cj 所对应的列向量的各分量a1j,a2j,…,amj 都小于等于

0,则该线性规划问题有无界解。

约束标准型线性规划问题单纯形算法步骤如下。

(1)建立初始单纯形表:找出基本变量和非基本变量,将目标函数由非基本变量表示,建立初始单纯形表。

 注意:如果目标函数含有基本变量,要通过约束条件方程转换为非基本变量。

(2)判断是否得到最优解:判别并检查目标函数的所有系数,即检验数cj(j=1,2,…,n)。

• 如果所有的cj≤0,则已获得最优解,算法结束。

• 若在检验数cj 中,有些为正数,但其中某一正的检验数所对应的列向量的各分量均小于等于0,则线性规划问题无界,算法结束。

• 若在检验数cj 中,有些为正数且它们对应的列向量中有正的分量,则转到第(3)步。

(3)选入基变量:选取所有正检验数中最大的一个,记为ce,其对应的非基本变量为xe 称为入基变量,xe对应的列向量

[a1e,a2e,…,ame]T 为入基列。

(4)选离基变量:选取“常数列元素/入基列元素”正比值的最小者,所对应的基本变量xk 为离基变量。xk 对应的行向量

[ak1,ak2,…,akn]为离基行。

(5)换基变换:在单纯形表上将入基变量和离基变量互换位置。

(6)计算新的单纯形表:按以下方法计算新的单纯形表,转第(2)步。

4 个特殊位置如下:

入基列=−原值/交叉位值(不包括交叉位)。

离基行=原值/交叉位值(不包括交叉位)。

交叉位=原值取倒数。

c0 位=原值+同行入基列元素*同列离基行元素/交叉位值。

一般位置元素=原值−同行入基列元素*同列离基行元素/交叉位值。

(7)判断是否得到最优解:如果没有,继续第(3)~(6)步,直到找到最优解或判定无界解停止。


猜你喜欢

转载自blog.csdn.net/qq_37867156/article/details/81054439