Simplexmethod及其在数学建模中的应用.doc





《Simplexmethod及其在数学建模中的应用.doc》由会员分享,可在线阅读,更多相关《Simplexmethod及其在数学建模中的应用.doc(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、线性规划理论在数学建模中的应用前 言 线性规划模型是运筹学中的一个重要分支,其基本解法但出行饭法则是处理运筹学模型的一种重要方法。主要用于研究解决有限资源的最佳分配问题,即如何对有限的资源做出最佳方式的调配和最有利的使用,一边最充分地发挥资源的效能去获取最佳经济效益。从数学的角度来说,就是在对决策变量施加一组线性等式,不等式以及符号的约束下,求决策变量的线性目标函数的最大化或最小化。及其他的数学分支相比,线性规划是一个相当年轻有非常活跃的应用数学分支。自提出了一般线性规划问题求解的方法单纯形法之后,线性规划在理论上趋向成熟,在应用日益广泛及深入。特别是在电子计算机能处理成千上万个约束条件和决策
2、变量的线性规划问题之后,线性规划的适用领域更加广泛了。从解决技术问题的最优化设计到工业、农业、商业、交通运输业、军事、经济计划和管理决策等领域都可发挥重要作用。线性规划的广泛应用以及所涉及到的数学理论和计算方法,都引起了专业人员和学者们很大的兴趣。 在大量阅读相关文献的基础上,本文就这些问题作了详尽的综述。并将这一最优化方法运用于解决实际问题,及相关单位合作完成的两个项目中均充分涉及到了上述方法。第一章 线性规划概述一、 线性规划发展简史作为运筹学的一个重要分支,线性规划问题是最早研究、理论较为完整、应用极其广泛的一门数学规划学科。1939年,前苏联科学家兼经济学家康托洛维奇发飙了生产组织及计
3、划中的数学方法一书,第一次详细的介绍了线性规划问题。1947年,美国贝尔电话公司工程师G.B.Dantzig提出了单纯形法,从而实现性规划在理论上趋于成熟,在实际应用中日益广泛及深入。G.B.Dantzig还对线性规划理论的提炼和算法改进做出了卓越的贡献,在1950年到1960年间,线性规划理论得到了进一步的发展和丰富。1975年,瑞典皇家科学院把经济学的诺贝尔奖授予了L.V.Kantorovic和T.C.Koopmans,以奖励他们对资源最优分配理论的贡献。1979年,L.G.Kanchian证明了Shor,Judin和Nemirovskii的“椭球法”。这种方法及逐次替代的单纯形法是根本不
4、同的,椭圆球法是在一个多项式的时间限界内找到线性规划的一个最优解。遗憾的是椭圆球法在理论上并不能在实践应用中得以实现。上世纪80年代,N.的“投影尺度法”使线性规划出现了真正的突破。这种新算法不仅在理论上优越于单纯Katmarkar形法,而且也显示出对求解大规模实际问题的巨大潜力。Katmarkar算法不同于单纯形法,他是从可行域的内部去逼近一个最优解。以内点发已经成为人们近几十年的研究的焦点。1985年,E.Barmes和R.Vanderbei,M.Meketon和B.Freefman重新提出(原来)仿射尺度算法来解标准的线性规划问题,并给出了算法的收敛性证明。后来,Adler等人提出了类似
5、的对偶仿射尺度算法用来解对偶仿射尺度算法。近二十年,线性规划在国内也有了较大的发展,主要是针对单纯形法和内点法的改进以及在各个学科的交叉研究,各个领域的具体应用。1997年,中科院的杨德庄提出的核心算法,姚侗、何金瞳提出的直接搜索迭代算法,万朝燕,李晓峰等人提出的利用K-T条件和KS函数来解线性规划的方法,彭跃辉等人的原始基线算法,高培旺、范国兵的外点单纯性算法涂为员的优面算法,胡铁松等人应用神经网络求解线性规划问题的解等。总之,线性规划继单纯形法提出经历了几十年的发展,理论日益趋于成熟,应用日益广泛,特别是电子计算机能处理成千上万个约束条件和决策变量的线性规划问题之后线性规划的适用领域更为广
6、泛,从解决技术问题的最优设计到工业、农业、商业、交通运输、军事、经济计划和管理决策等领域也发挥各自作用。二、 线性规划问题的数学模型凡满足以下三个条件的问题,就叫做线性规划问题:(1) 可用一些变量表示问题的待定方案,这些变量的一组定值就代表一个具体的方案。因此,可将这些变量称为决策变量,并往往要求它们为非负的。(2) 存在一定的约束条件,这些约束条件都能用关于决策变量的线性等式或不等式来表示。(3) 有一个期望达到的目标,它可用决策变量的线性函数(称为目标函数)来表示。根据具体问题的不同,要求目标函数实现最大化或最小化,线性规划就是研究并解决上述问题的一种理论和方法。满足以上三个条件的数学模
7、型称为线性规划的数学模型,简称线性规划模型。(一) 线性规划的一般形式线性规划问题的一般形式为:求一维向量,使得 (1.1) (1.2)其中:,(i=1,2,m;j=1,2,n)为已知常数,式(1.1)称为目标函数,式(1.2)称为约束条件,特别呈为非负约束条件。以上给出的是线性规划问题的一般形式。对于不同的问题而言,目标函数可以是求极大值或求极小值;约束条件可以是线性不等组,或者线性等式组,或者两者兼而有之,变量可以有非负限制,也可没有,为了研究问题的方便,人们给出了下面形式的所谓标准形式。 (二) 线性规划的标准形式线性规划问题的标准形式为: (1.3)其中要求假设,否则将方程两边同乘以(
8、-1),将右端化为非负数。用矩阵描述线性规划得标准形式为其中 , (1.4)称A为约束条件的维系数矩阵,简称为系数矩阵,b为资源向量,C为价值向量,X为决策向量。以后,我们提到的标准线性规划问题,记为(LP)。(三) 线性规划问题的一般理论对于(1.4)式所示的标准线性规划问题(LP),凡是满足该问题所有约束条件的向量x,我们就称之为(LP)的可行解。而使得达到最小值的可行解,称之为(LP)的最优解,记为;所对应的目标函数值称之为最优值,记为。另外,约束条件A为维矩阵,不妨设其秩为m,即视其为满秩矩阵。若B为矩阵A中的一个m阶非奇异子矩阵,则称B为(LP)的一个基。构成B的每个列向量均称之为基
9、向量,而以基向量为系数的相应变量为基变量,其他变量称为非基变量。在约束条件的各个约束方程中,令非基变量为0,所得的解称为基本解。满足非负约束的基本解,称为基本可行解,简称基解,相应的基称为可行基。关于标准线性规划问题(LP)的解,有下面两个基本性质:1. 若(LP)有可行解,则它也一定有基本可行解。2. 若(LP)有最优解,则它也一定有基本可行解是最优解。由以上这两条性质,我们可以知道,若想求出(LP)的最优解,不必考虑其所有可行解,只需考虑(LP)的满足非负约束的基解(即基本可行解)即可。一个具有m个独立约束方程,n个决策变量的线性规划问题,其基本可行解的数目最多为个。这样,既可缩小考虑问题
10、的范围,又不会漏掉要求的解。因此,以后我们求解(LP)时,只考虑其满足非负约束条件的基本可行解。第二章 单纯形法概论单纯形法的基本思路就是:先找到一个初始基可行解,如果不是最优解,设法转换到另一个基本可行解,并使目标函数值不断减小,直至找到最优解为止。一、 单纯形方法基本步骤(一) 单纯形法的开始-寻找初始基本可行解要求解一个给定的线性规划问题,单纯形法是从寻找一个初始基可行解开始的。确定初始基可行解的一般方法是根据不同形式的约束条件添加一些变量来获得初始可行基,在此基础上利用单纯形法的逻辑来求出初始基可行解。文献【22】中P22-23给出了具体的操作方法。比较常用的初始化方法有两阶段法和大M
11、法【22】。(二)单纯形法的停止-最优性检验及解得判别对线性规划问题的求解结果可能出现唯一最优解、无穷多最优解、无界解(即无最优解)、无可行解四种情况,为此需要建立对解得判别准则。(三) 单纯形法的迭代-向改进方向移动所谓向该机方向移动,也就是设法从已有的基可行解转换到赢一个基可行解具体做法就是从原可行基中换一个列向量(要保证线性相关),得到一个新的可行基。为了达到这个目的,需要确定进基变量和离基变量,让它们相应的系数列向量进行对换,得到一个新的基可行解,即找到一个迭代主元进行Gauss消元变换。如何确定迭代主元呢?课件文献【23】。这样,通过确定初始基可行解,检验是否为最优解,若不是,则设法
12、转换到另一个基可行解,并使得目标函数值不断减小,直至出现以上四种解得情况之一为止。由于一个给定的线性规划问题,其基可行解的数目总是有限的,若迭代不出现循环,则最终必可出现以上四种解的情况之一。(四) 计算步骤综上,对于一个给定的线性规划问题,单纯形法的计算步骤如下:SETP1 找出初始可行基,确定初始可行解。SETP2 检验各非基变量的检验数,若0,则已得最优解,停止计算;否则,转SETP3。SETP3 若有某个对应的的系数中对所有 均有,则此问题无最优解,停止计算;否则,转SETP4。SETP4 令,确定为进基变量,然后,令确定为离基量;以元素为迭代主元进行Gauss消元,可得一个新的可行基
13、以及相应的新的基可行解和检验数行,然后转到STEP2。二、 单纯形法的进一步讨论用单纯形法解决线性规划问题时,第一步就是要寻找一个初始可行基。在将线性规划问题化为标准型后,如果系数矩阵中含有单位矩阵,则可以找到一个初始可行基。但在实际问题中,并不一定都能直接找到初始可行基,这就需要引入人工变量,用大M法或两阶段法来确定初始可行基。但采用大M法,当用计算机求解时,由于每一台计算机都有一定字长的限制,于是只能用很大的数来代替充分大的M,这样就可能造成计算上的错误。本文就从引入人工变量和不引入人工变量两个方面进行两阶段法的讨论。(一) 引入人工变量的方法在线性规划问题中引入人工变量,把问题变为约束方
14、程组的系数矩阵中含有单位矩阵,用以作为人造基,然后按单纯性方法进行换基迭代,求得最优解或判定无可行解。1. 线性规划问题中的两阶段法在利用线性规划的单纯形法求解时,首先,要在线性规划问题中引入人工变量,把问题变为约束方程组的系数矩阵中含有单位阵。用以作为人造基,然后按单纯性方法进行换基迭代,求得最优解或判定无最优解,这种方法称为两阶段法。第一阶段是判断原线性规划问题是否存在基本可行解。一般地 (I)上式称为原问题。在(I)中加入人工变量,构造辅助问题(II)注意到,在(I)中加入的人工变量的个数m正好是(I)问题中约束方程组中含有方程的个数。第二阶段是由第一阶段最后求得原问题(I)的一个可行基
15、开始,运用单纯形法,求得原问题(I)的最优解或判定原问题(I)无可行解。2. 线性规划问题中两阶段饭的简便算法有些线性规划问题,引进松弛变量化成标准型后,约束条件方程组的系数矩阵并不含m阶单位矩阵,这样就给单纯形解法的换基迭代带来了困难。线性规划在利用两阶段法阶这类问题时,尤其是一些具体的实际问题,对于加入的人工变量 应该根据问题尽可能的少,使人工变量的个数小于(或等于)m。本文就线性规划问题的原问题(I)在加入人工变量y中,如何根据所给问题尽可能的少引入人工变量,通过例子来说明线性规划问题两阶段法的简便计算法。需要注意的是尽可能少引入人工变量y的同时,保证使问题(II)的约束条件方程组的系数
16、矩阵中有一个可行基,这就要根据实际问题,灵活运用两阶段法,看下面的例子。解线性规划问题:引入松弛变量,将问题化为标准形式:问题(I)没有一个现成的可行基,因此要用两阶段法解,引进下面的辅助问题。一般的问题(I)中约束条件的方程组含有3个方程就要引入3个人工变量,而人工变量越多,线性规划问题中的变量就越多,计算量就越大。因此,我们根据(I)中的具体问题尽可能少的引入人工变量y。再此问题中注意到第一个方程中松弛变量前的系数为+1,且其它两个方程中不含有,为使技术简单,只引入两个人工变量、。 辅助问题(II)有一现成的可行基,基变量为和,对应于基的单纯性表为: 10 0 0 0 1 2 2 0 -1
17、0 1 0 0 2 1 1 0 09 0 0 0 2 3 -1 1 04 0 1 0 0 2 1 0 -16 0 0 1 1 0 1 0 0检验数有正数,进行换基迭代,得对应于新基的单纯性表如下: 0 0 0 1 2 2 0 -1-9 1 0 0 2 1 1 0 0 0 0 0 2 3 -1 1 04 0 1 0 0 2 1 0 -1 0 0 1 1 0 1 0 0检验数仍有正数,继续换基迭代,得对应于新基的单纯性表。 0 0 0 0 -5 1 1 0 0 0 3 -1 -1 0 0 1 0 2 0 0 0 1 0 0 1 0 0 检验数仍有正数,继续换基迭代,得对应于新基的单纯形表。 0 0
18、 -1 -1 0 0 0 0 0-11 1 0 0 0 0 0 04 0 0 1 0 1 0 0 1 0 2 0 0 0 1 单纯表中检验数已全非正,所以基为辅助问题(II)的最优基,minZ=0,同时基的基变量无人工变量,所以为问题(I)的可行基,对应的单纯形表为: -11 0 0 0 04 1 0 0 1 0 1 0 2 0 0 1 检验数已全非正,故为问题(I)的最优基,对应的最优解为:目标函数最小值为。所以原线性规划问题的最优解为,目标函数最大值为。由上面的解题过程,我们看到对于线性规划问题约束方程组的系数矩阵中不含有m阶单位矩阵,求初始可行基的方法。问题化为(I)以后,注意约束条件的
19、结构,尽可能少的引入人工变量y,方法灵活一些,可使线性规划问题中两阶段法的解题过程简单明了。(二) 不引入人工变量的方法采用两阶段法,要把原线性规划问题化为两个线性规划问题来求解,这势必会增大计算量,使得计算过程繁琐、冗长,并且计算机的存储量也随之增加。我们设想,对无现成可行基的线性规划问题可否不引入人工变量,而像用初等变换求解线性方程组那样直接找出原问题的可行基呢?答案是肯定的。事实上,一个基可行解就是约束方程组的一个自由变量取零时的非负特解。1. 对(1.3)线性规划标准型,由文献【23】的分析知,可直接通过对约束条件的系数矩阵A进行一系列初等变换,变为含有m阶的单位阵的形式。基于这一思想
20、,在文献【22】中作者在求解线性规划问题时,通过对其约束条件的系数矩阵和增广矩阵秩的讨论,得出原问题的一个可行基,进而得出基变量,然后进过一系列代换,最终列出单纯性表,利用常规单纯形法求出原问题的最优解。这一思想是值得我们借鉴的,但作者的求结果称军事通过立体来说明的,并没有给出明确的算法,且列出单纯性表前的一系列准备工作过于零散和繁琐。文献【24】对其求解过程作了进一步的改进,所有的计算均统一在单纯性表下完成,且给出了明确的算法。2. 改进的线性规划两阶段算法通过以上的分析可将原算法改为下列的简化算法:(1),若,且,此时第行为矛盾方程,原问题无可行解,停止计算。若,且,则第行乘以(-1)后转
21、入,否则直接转(3)。(2) 从第一行开始,考虑所有的项,选取其中一项,以其中对应的变量为基变量,确定出主列为第列。(3) 若有几个同时达到最小,选其中下标最小的为主行。(4)以为主元进行迭代,得表2。(5)以此类推,对其他各行重(2)(5)步,一般重复m次就可得到一个明显的可行基。(6)按照单纯形法计算出检验数和目标函数值CBb此后完全及常规单纯形法相同,通过对检验数正负的考察来判断是否为最优解。若是,停止计算。若否,确定出进基及出基变量,进行迭代,直至结束。例:用改进的简化算法求解maxz-3x1+x3 j解:化为标准型后列出下列迭代表格,见表。表用改进单纯形法求解例题的迭代表cj-301
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Simplexmethod 及其 数学 建模 中的 应用

限制150内