单纯形法在线性规划中的应用.doc
- 文档编号:147538
- 上传时间:2022-10-04
- 格式:DOC
- 页数:11
- 大小:233.50KB
单纯形法在线性规划中的应用.doc
《单纯形法在线性规划中的应用.doc》由会员分享,可在线阅读,更多相关《单纯形法在线性规划中的应用.doc(11页珍藏版)》请在冰豆网上搜索。
页眉内容
单纯形法在线性规划中的应用
0引言
20世纪30年代末,苏联数学家康特罗维奇研究交通运输及机械加工等部门的生产管理工作,于1939年写了《生产组织与计划中的数学方法》一书初稿,为线性规划建立数学模型及解法奠定基础,自此开始,线性规划经过不断的应用和发展,在工业、农业生产管理,交通运输的指挥调度,资源开发,商业和银行等领域得到广泛应用,显著提高了企业的经济效益。
随着生产规模的扩大和经济事务变得日益繁杂,对线性规划提出了更多的理论要求,又促使这门学科迅速发展和完善。
线性规划不断发展,适用领域不断拓宽,从解决技术问题的最优化设计,到工业、农业、商业、交通运输业、军事、经济计划及管理等领域都发生着作用,已成为现代科学管理的重要基础理论。
例如,在生产管理和经济活动中,经常遇到这些问题,如生产计划问题,即如何合理利用有限的人、财、物等资源,以便得到最好的经济效果;材料利用问题,即如何下料使用材最少;配料问题,即在原料供应量的限制下如何获取最大利润;劳动力安排问题,即如何用最少的劳动力来满足工作的需要;运输问题,即如何制定调运方案,使总运费最小;投资问题,即从投资项目中选取方案,使投资回报最大等等。
对于这些问题,都能建立相应的线性规划模型。
事实上,线性规划就是利用数学为工具,来研究在一定条件下,如何实现目标最优化。
解线性规划问题目前最常见的方法有两种,图解法和单纯形法。
单纯形法是求解线性规划问题的通用方法。
1线性规划问题的求解方法
1.1图解法解线性规划问题
只含两个变量的线性规划问题,可以通过在平面上作图的方法求解,步骤如下:
(1)以变量x1为横坐标轴,x2为纵坐标轴,适当选取单位坐标长度建立平面坐标直角坐标系。
由变量的非负性约束性可知,满足该约束条件的解均在第一象限内。
(2)图示约束条件,找出可行域(所有约束条件共同构成的图形)。
(3)画出目标函数等值线,并确定函数增大(或减小)的方向。
(4)可行域中使目标函数达到最优的点即为最优解。
然而,由于图解法不适用于求解大规模的线性规划问题,其实用意义不大。
1.2单纯形法解线性规划问题
它的理论根据是:
线性规划问题的可行域是n维向量空间Rn中的多面凸集,其最优值如果存在必在该凸集的某顶点处达到。
顶点所对应的可行解称为基本可行解。
单纯形法的基本思想是:
先找出一个基本可行解,对它进行鉴别,看是否是最优解;若不是,则按照一定法则转换到另一改进的基本可行解,再鉴别;若仍不是,则再转换,按此重复进行。
因基本可行解的个数有限,故经有限次转换必能得出问题的最优解。
如果问题无最优解也可用此法判别。
单纯形法的一般解题步骤可归纳如下:
①把线性规划问题的约束方程组表达成典范型方程组,找出基本可行解作为初始基本可行解。
②若基本可行解不存在,即约束条件有矛盾,则问题无解。
③若基本可行解存在,从初始基本可行解作为起点,根据最优性条件和可行性条件,引入非基变量取代某一基变量,找出目标函数值更优的另一基本可行解。
④按步骤3进行迭代,直到对应检验数满足最优性条件(这时目标函数值不能再改善),即得到问题的最优解。
⑤若迭代过程中发现问题的目标函数值无界,则终止迭代。
1.3线性规划问题的标准化
使用单纯形法求解线性规划时,首先要化问题为标准形式
所谓标准形式是指下列形式:
当实际模型非标准形式时,可以通过以下变换化为标准形式:
①当目标函数为时,可令Z′=-Z,而将其写成为
求得最终解时,再求逆变换Z=-Z′即可。
②当s·t·中存在形式的约束条件时,可引进变量
便写原条件成为
其中的xn+1称为松驰变量,其作用是化不等式约束为等式约束。
同理,若该约束不是用“≤”号连接,而是用“≥”连接,则可引进松驰变量
使原条件写成
2单纯形法
2.1单纯形法的基本原理
单纯形法迭代原理:
(1)确定初始可行解
①当线性规划问题的所有约束条件均为≤号时,松弛变量对应的系数矩阵即为单位矩阵,以松弛变量为基变量可确定基可行解。
②对约束条件含≥号或=号时,可构造人工基,人为产生一个m×m单位矩阵用大M法或两阶段法获得初始基可行解。
(2)最优性检验与解的判别(目标函数极大型)
①当所有变量对应的检验数均非正时,现有的基可行解即为最优解。
若存在某个非基变量的检验数为零时,线性规划问题有无穷多最优解;当所有非基变量的检验数均严格小于零时,线性规划问题具有唯一最优解。
②若存在某个非基变量的检验数大于零,而该非基变量对应的系数均非正,则该线性规划问题具有无界解(无最优解)。
③当存在某些非基变量的检验数大于零,需要找一个新的基可行解,基要进行基变换。
2.1确定初始可行解
确定初始的基本可行解等价于确定初始的可行基,一旦初始的可行基确定了,那么对应的初始基本可行解也就唯一确定,为了讨论方便,不妨假设在标准型线性规划中,系数矩阵A中前m个系数列向量恰好构成一个可行基,即A=(BN),其中B=(P1,P2,…Pm)为基变量x1,x2,…xm的系数列向量构成的可行基,N=(Pm+1,Pm+2,…Pn)为非基变量xm+1,xm+2,…xn的系数列向量构成的矩阵。
所以约束方程就可以表示为
用可行基B的逆阵B-1左乘等式两端,再通过移项可推得:
若令所有非基变量,则基变量
由此可得初始的基本可行解
2.2最优性检验
假如已求得一个基本可行解,将这一基本可行解代入目标函数,可求得相应的目标函数值
其中分别表示基变量和非基变量所对应的价值系数子向量。
要判定是否已经达到最大值,只需将代入目标函数,使目标函数用非基变量表示,即:
其中称为非基变量XN的检验向量,它的各个分量称为检验数。
若σN的每一个检验数均小于等于0,即σN≤0,那么现在的基本可行解就是最优解。
2.3解的判别
定理1:
最优解判别定理
对于线性规划问题,若某个基本可行解所对应的检验向量,则这个基本可行解就是最优解。
定理2:
无穷多最优解判别定理
若是一个基本可行解,所对应的检验向量,其中存在一个检验数σm+k=0,则线性规划问题有无穷多最优解。
定理3:
无最优解判别定理
若是一个基本可行解,有一个检验数,但是,则该线性规划问题无最优解。
2.4基本可行解的改进
如果现行的基本可行解X不是最优解,即在检验向量中存在正的检验数,则需在原基本可行解X的基础上寻找一个新的基本可行解,并使目标函数值有所改善。
具体做法是:
(1)先从检验数为正的非基变量中确定一个换入变量,使它从非基变量变成基变量(将它的值从零增至正值)。
(2)再从原来的基变量中确定一个换出变量,使它从基变量变成非基变量(将它的值从正值减至零)。
由此可得一个新的基本可行解,由可知,这样的变换一定能使目标函数值有所增加。
2.4.1换入变量的确定-最大增加原则
把基检验数大于0的非基变量定为入基变量。
若有两个以上的σj>0,则选其中的σj最大者的非基变量为入基变量。
从最优解判别定理知道,当某个σj>0时,非基变量xj变为基变量不取零值可以使目标函数值增大,故我们要选基检验数大于0的非基变量换到基变量中去(称之为入基变量)。
若有两个以上的σj>0,则为了使目标函数增加得更大些,一般选其中的σj最大者的非基变量为入基变量。
2.4.2换出变量的确定-最小比值原则
把已确定的入基变量在各约束方程中的正的系数除以其所在约束方程中的常数项的值,把其中最小比值所在的约束方程中的原基变量确定为出基变量。
即若
则应令xl出基。
其中bi是目前解的基变量取值,aik是进基变量xk所在列的各个系数分量,要求仅对正分量做比,(这由前述作法可知,若aik≤0,则对应的xi不会因xk的增加减值而成为出基变量)。
2.5表格单纯形法
在单纯形法的求解过程中,有下列重要指标:
(1)每一个基本可行解的检验向量,根据检验向量可以确定所求得的基本可行解是否为最优解。
如果不是最优又可以通过检验向量确定合适的换入变量。
(2)每一个基本可行解所对应的目标函数值,通过目标函数值可以观察单纯形法的每次迭代是否能使目标函数值有效地增加,直至求得最优目标函数为止。
在单纯形法求解过程中,每一个基本可行解X都以某个经过初等行变换的约束方程组中的单位矩阵Ι为可行基。
当B=I时,B-1=I,易知:
,
可将这些重要结论的计算设计成如下一个简单的表格,即单纯形表来完成:
C
CB
CN
θ
CB
XB
b
X1X2…Xm
Xm+1Xm+2…Xn
C1
C2
﹕
Cm
X1
X2
﹕
Xm
b1
b2
﹕
bm
I
N
θ1
θ2
﹕
θm
Z
CBb
0
C-CBN
2.6大M法
大M法首先将线性规划问题化为标准型。
如果约束方程组中包含有一个单位矩阵I,那么已经得到了一个初始可行基。
否则在约束方程组的左边加上若干个非负的人工变量,使人工变量对应的系数列向量与其它变量的系数列向量共同构成一个单位矩阵。
以单位矩阵为初始基,即可求得一个初始的基本可行解。
为了求得原问题的初始基本可行解,必须尽快通过迭代过程把人工变量从基变量中替换出来成为非基变量。
为此可以在目标函数中赋予人工变量一个绝对值很大的负系数-M。
这样只要基变量中还存在人工变量,目标函数就不可能实现极大化。
以后的计算与单纯形表解法相同,M只需认定是一个很大的正数即可。
假如在单纯形最优表的基变量中还包含人工变量,则说明原问题无可行解。
否则最优解中剔除人工变量的剩余部分即为原问题的初始基本可行解。
2.7单纯形法程序设计
完整的单纯形法的计算程序设计框图如下所示:
图1单纯形法程序框图
3应用实例
3.1有最优解问题
例1求如下方程的最优解
在命令行输入:
>>A=[12210;34101];b=[8;7];c=[523-11];
>>simplemethod(A,b,c);
即可得出结果:
X=
1.200003.40000000
最大值为:
z=
16.2000
迭代次数:
i=
4
程序结果与例题结果一致。
例2求解下述线性规划问题
在命令窗口输入:
>>A=[11;21];b=[40;60];c=[32];
>>simplemethod(A,b,c);
即可得到结果:
已得到最优解:
X=
202000
最大值为:
z=
100
迭代次数:
i=
4
程序结果与例题结果一致。
例3利用大M法求解下述线性规划问题
在命令窗口输入:
>>A=[11;-11;01];b=[2;1;3];c=[-12];sign=[11-1];
>>simplemethod(A,b,c,sign);
结果如下:
已得到最优解:
X=
0312000
最大值为:
z=
6
迭代次数:
i=
6
与例题结果一致。
3.2无可行解问题
通过大M法或两阶段法求初始的基本可行解。
但是如果在大M法的最优单纯形表的基变量中仍含有人工变量,人工变量的值不能取零,说明了原线性规划的数学模型的约束条件出现了相互矛盾的约束方程,此时线性规划问题也无最优解。
例4利用大M法求解下述线性规划问题
在命令窗口输入:
>>A=[111;10-1;01-1];b=[6;4;3];c=[-3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单纯 线性规划 中的 应用