单纯形法
- 格式:doc
- 大小:542.00 KB
- 文档页数:56
单纯形法simplex method求解线性规划问题的通用方法。
单纯形是美国数学家G.B.丹齐克于1947年首先提出来的。
它的理论根据是:线性规划问题的可行域是n维向量空间Rn中的多面凸集,其最优值如果存在必在该凸集的某顶点处达到。
顶点所对应的可行解称为基本可行解。
单纯形法的基本思想是:先找出一个基本可行解,对它进行鉴别,看是否是最优解;若不是,则按照一定法则转换到另一改进的基本可行解,再鉴别;若仍不是,则再转换,按此重复进行。
因基本可行解的个数有限,故经有限次转换必能得出问题的最优解。
如果问题无最优解也可用此法判别。
根据单纯形法的原理,在线性规划问题中,决策变量(控制变量)x1,x2,…x n的值称为一个解,满足所有的约束条件的解称为可行解。
使目标函数达到最大值(或最小值)的可行解称为最优解。
这样,一个最优解能在整个由约束条件所确定的可行区域内使目标函数达到最大值(或最小值)。
求解线性规划问题的目的就是要找出最优解。
最优解可能出现下列情况之一:①存在着一个最优解;②存在着无穷多个最优解;③不存在最优解,这只在两种情况下发生,即没有可行解或各项约束条件不阻止目标函数的值无限增大(或向负的方向无限增大)。
单纯形法的一般解题步骤可归纳如下:①把线性规划问题的约束方程组表达成典范型方程组,找出基本可行解作为初始基本可行解。
②若基本可行解不存在,即约束条件有矛盾,则问题无解。
③若基本可行解存在,从初始基本可行解作为起点,根据最优性条件和可行性条件,引入非基变量取代某一基变量,找出目标函数值更优的另一基本可行解。
④按步骤3进行迭代,直到对应检验数满足最优性条件(这时目标函数值不能再改善),即得到问题的最优解。
⑤若迭代过程中发现问题的目标函数值无界,则终止迭代。
用单纯形法求解线性规划问题所需的迭代次数主要取决于约束条件的个数。
现在一般的线性规划问题都是应用单纯形法标准软件在计算机上求解,对于具有106个决策变量和104个约束条件的线性规划问题已能在计算机上解得。
基可行解单纯形法是针对标准形式的线性规划问题进行演算的,任何线性规划问题都可以化为标准形式。
min cx f = (1) s.tb Ax =(2) 0≥x (3)其中Tmmn m m n n Tn n b b b b a a a a a a a a a A x x x x c c c c )...,(,..................,),...,,(),,...,(212122221112112121=⎪⎪⎭⎪⎪⎬⎫⎪⎪⎩⎪⎪⎨⎧===假设1≥≥m n ,并设系数矩阵A 的秩为m ,即设约束方程(2)中没有多余的方程,用jp 表示A 的第j 列,于是(2可写成bp xmk j j=∑=1(4)矩阵A 的任意一个m 阶非奇异子方阵为LP 的一个基(或基阵),若),...,(21jm j j p p p B = (5)是一个基,则对应变量jm j j x x x ,...,,21,称关于B 的基变量,其余变量成为关于B 的非基变量,若令非基变量都取零值,则(4)变为bp xmk jk jk=∑=1(6)由于此方程组的系数矩阵B 是满秩方阵,故知(6)有唯一解,记为Tjnj j x x x ),...,,()0()0(2)0(1于是按分量{}{}),...,,\,...2,1(0),....3,2,1(21)0(m j jkjk j j j n j x m k x x ∈===所构成的向量)0(x 是约束方程组b Ax =的一个解,称此)0(x 为LP 的对应于基B 的基解(或基本解),也可称为方程组b Ax =的一个基解,如果)0(x 为一基解,且满足0)0(≥x 即它的所有分量都非负,则称此)0(x 是LP 的一个基可行解,基可行解对应的基称为可行基。
设对应基阵),...,(21m p p p B =,即m x x x ,...,,21为基变量,n m m x x x ,...,,21++ 是非基变量,记),...,,(),...,,(),...,,(212121n m m Tn m m n Tm B p p p N x x x x x x x x ++++===从而A=(B,N ),相应地分划),(N B c c c =,约束方程(2)可以写成b x x N B n B =⎪⎪⎭⎫⎝⎛),( 即b Nx Bx N B =+由此解得N B Nx B b B x 11---= (7)这是用非基变量表达基变量的公式 在(7)中令 0=N x 而知()TmB x x x x b B ),...,,()0()0(2)0(101==-如记则(7)相当于将(7)代入目标函数公式中所得非基变量表达目标函数式为或者目标函数在即则目标函数的表达式写成求解线性规划问题 min 4212x x x f +-=t s .223531=++x x x22432=+-x x x5532=++x x x)5,4,3,2,1(0 =≥j x j已知初始可行基,其对应典式为于是可列出0B 对应的单纯形表)(0B T ,如表所示从表可以看出,检验数中仅有02≥ λ,故取2x 为进基变量,由于最小比值12200min2=⎭⎬⎫⎩⎨⎧>i i b b b i在第2行取得,故取第2行对应的基变量4x 为离基变量,于是元素122=b 是上表的枢元 为求出新基()3211p p p B =对应的单纯形表,对)(0B T 作初等形变换,使2x 对应的列变为单位列向量。
单纯形法(不可以解空集问题,无初始解)一、单纯形法的基本思想1、顶点的逐步转移即从可行域的一个顶点(基本可行解)开始,转移到另一个顶点(另一个基本可行解)的迭代过程,转移的条件是使目标函数值得到改善(逐步变优),当目标函数达到最优值时,问题也就得到了最优解。
2.需要解决的问题:(1)为了使目标函数逐步变优,怎麽转移?(2)目标函数何时达到最优——判断标准是什么?(3)初始解的寻找二、单纯形法原理(用代数方法求解LP)第一步:引入非负的松弛变量(x3 x4 x5)和剩余变量(算完后剩余的资源)x3,x4,x5, 将该LP化为标准型第二步:寻求初始可行基(单位阵对应的),确定基变量第三步:写出初始基本可行解(很多之中找一个,必令原x为0)和相应的目标函数值两个关键的基本表达式:① 用非基变量表示基变量的表达式② 用非基变量表示目标函数的表达式第四步:分析两个基本表达式,看看目标函数是否可以改善?① 分析用非基变量表示目标函数的表达式非基变量前面的系数均为正数(必为负数才可以),所以任何一个非基变量进基都能使Z值增加通常把非基变量前面的系数叫“检验数”②选哪一个非基变量进基?排在最前面的负检验数对应的非基变量③确定出基变量“最小比值原则”(或θ原则)见本如果x2≤0,会出现什麽问题?最小比值原则会失效!基变换新的基变量——x2, x3,x4;新的非基变量x1, x5;写出用非基变量表示基变量的表达式:可得新的基本可行解X(1)=(0,3,2,16,0)T⑤写出用非基变量表示目标函数的表达式:检验数仍有正的第五步:上述过程何时停止?当用非基变量表示目标函数的表达式中,非基变量的系数(检验数)全部非正(0时表无穷解,负时表唯一解)时,当前的基本可行解就是最优解!为什麽?分析用非基变量表示目标函数的表达式,如果让负检验数所对应的变量进基,目标函数值将下降!(2)表格设计依据:将-Z 看作不参与基变换的基变量,把目标函数表达式改写成方程的形式,和原有的m 个约束方程组成一个具有n+m+1个变量、m+1个方程的方程组:取出系数写成增广矩阵的形式:⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛+++01100001000010212121222221111211mn n n n m mn m m nnc c c c c c b a a a b a a a b a a a-Z ,X n+1,…,X n+m 所对应的系数列向量构成一个基用矩阵的初等行变换将该基变成单位阵,这时 变成0,相应的增广矩阵变成如下形式:⎪⎪⎪⎩⎪⎪⎪⎨⎧=+++++-=++++=++++=+++++++++++01122112211222222121111212111m n m n n n n n mm n n mn m m n n n n n n x c x c x c x c x c Z bx x a x a x a b x x a x a x a b x x a x a x a其中, , j=1,2,…,n ;增广矩阵的最后一行就是用非基变量表示目标函数的表达式, (j=1,2,…,n)就是非基变量的检验数。
线性规划及单纯形法线性规划问题及其数学模型两个变量问题的图解法单纯形法原理单纯形法计算步骤人工变量及其处理方法应用举例线性规划问题及其数学模型一、问题的提出资源有限和目标确定在生产管理和经营活动中,经常会遇到两类问题:一类是(资源有限)如何合理的使用现有的劳动力、设备、资金等资源,以得到最大的效益;另一类是(目标一定)为了达到一定的目标,应如何组织生产,或合理安排工艺流程,或调整产品的成分等,以使所消耗的资源(人力、设备台时、资金、原材料等)为最少。
例:(1)配载问题:某种交通工具(车、船、飞机等)的容积和载重量一定,运输几种物资,这些物资有不同的体积和重量,如何装载可以使这种运输工具所装运的物资最多?(2)下料问题:某厂使用某种圆钢下料,制造直径相同而长度不等的三种机轴,采用什么样的下料方案可以使余料为最少?(3)物资调运:某种产品有几个产地和销地,物资部门应太如何合理组织调运,从而既满足销地需要,又不使某个产地物资过分积压,同时还使运输费用最省?(4)营养问题:各种食品所含营养成分各不相同,价格也不相等,食堂应该如何安排伙食才能既满足人体对各种营养成分得需要,同时又使消费者得经济负担最少?此外,在地质勘探、环境保护……等方面也都有与上述情况类似的问题。
例1某制药厂生产甲、乙两种药品,生产这两种药品要消耗某种维生素。
生产每吨药品所需要的维生素量分别为30K g ,20K g ,所占设备时间分别为5台班,1台班,该厂每周所能得到的维生素量为160k g ,每周设备最多能开15个台班。
且根据市场需求,甲种产品每周产量不应超过4t 。
已知该厂生产每吨甲、乙两种产品的利润分别为5万元及2万元。
问该厂应如何安排两种产品的产量才能使每周获得的利润最大?解:设该厂每周安排生产甲、乙两种药品的产量分别为x 1,x 2吨,则有⎪⎪⎩⎪⎪⎨⎧≥≥≤≤+≤++=04155162325max 211212121x x x x x x x x x z例2 喜糖问题设市场上有甲级糖和乙级糖,单价分别为20元/斤,10元/斤。
今要筹办一桩婚事,筹备小组计划怎样花费不超过200元,使糖的总斤数不少于10斤,甲级糖不少于5斤。
问如何确定采购方案,使糖的总斤数最大。
解:设采购甲、乙两种糖各x 1,x 2斤 则二、线性规划问题的数学模型1. 从上述两个例子可以看出,它们有3个共同点(1)每个问题都有一组变量——称为决策变量 (2)都有一个关于决策变量的函数(3)每个问题都有一组决策变量需满足的约束条件2. 线性规划问题定义:将约束条件及目标函数都是决策变量的线性函数的规划问题称为线性规⎪⎪⎩⎪⎪⎨⎧≥≥≥≥+≤++=0502001020max 211212121x x x x x x x x x z划问题。
3. 建立线性规划问题的数学模型步骤(1)确定问题的决策变量(2)确定问题的目标,并表示为决策变量的线性函数(3)找出问题的所有约束条件,并表示为决策变量的线性方程或不等式4. 线性规划的数学模型假定线性规划问题中含n 个变量,分别用x j (j =1,…,n )表示,在目标函数中,x j 的系数为c j (通常称为价值系数)。
x j 的取值受m 项资源的限制,用b i (i =1,…,m )表示第i 种资源的拥有量,用a i j 表示变量x j 的取值为一个单位时所消耗或含有的第i 种资源的数量(通常称为技术系数或工艺系数)。
则上⎪⎪⎪⎩⎪⎪⎪⎨⎧⋅⋅⋅=≥≥=≤+⋅⋅⋅++⋅⋅⋅⋅⋅⋅≥=≤+⋅⋅⋅++≥=≤+⋅⋅⋅+++⋅⋅⋅++=),,1(0),(),(),(max(min)221122222121112121112211n j x b x a x a x a b x a x a x a b x a x a x a x c x c x c z j m n mn m m n n n n nn述线性规划问题的数学模型可以表示为5. 线性规划的标准型由于目标函数和约束条件内容和形式上的差别,线性规划问题有多种表达式,为了便于讨论和制定统一的算法,规定标准形式如下:(1)目标函数极大化;(2)约束条件为等式且右端项≥0;(3)决策变量≥0。
(1)一般表达式⎪⎪⎪⎩⎪⎪⎪⎨⎧⋅⋅⋅=≥=+⋅⋅⋅++⋅⋅⋅⋅⋅⋅=+⋅⋅⋅++=+⋅⋅⋅+++⋅⋅⋅++=),,1(0max 221122222121112121112211n j x b x a x a x a b x a x a x a b x a x a x a x c x c x c z j m n mn m m n n n n nn ⎩⎨⎧≥==0max X b AX CX z(2)Σ记号简写式 (3)矩阵形式式中C =(c 1,…,c n ) X =(x 1,….x n )’(4)向量形式⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=0...000,..., (3212)12222111211b b b b a a a a a a a a a A mn m m n n ⎪⎨⎧==∑max b x p CX z nj j式中C,X,b,0的含义与矩阵表达式相同,而P j=[a i j,a2j,…a m j](j=1,2,…,n)即A=(p1,p2,…p n)6将非标准形式化为标准形式(5种情况)(1)目标函数为求极小值min Z=CX,则作Z’=-CX, 即max Z’=-CX(2)右端项小于0只需将两端同乘(-1),不等号改变方向,然后再将不等式改为等式。
例2x1+x2≥-6,-2x1-x2≤6,-2x1-x2+x3=6(3)约束条件为不等式当约束条件为“≤”时,则在左边加上一个新变量——称为松弛变量,将不等式改为等式。
如x1-2x2≤8,x1-2x2+x3=8,x3≥0;当约束条件为“≥”时,则在不等式左边减去一个新变量——称为松弛变量,将不等式改为等式。
如x1-2x2≥8,x1-2x2-x3=8,x3≥0;(4)取值无约束的变量即可正可负,则可引入两个新变量,x ’,x ”,令x=x ’-x ”,其中x ’≥0,x ”≥0,将其代入线性规划模型即可。
(5) X ≤0的情况令x ’=-x ,显然x ’≥0。
例 将下列线性规划模型化为标准形式解:令Z ’=-Z=-x 1+2x 2-3x 3 x 3=x 4-x 5 第一个约束条件左边加上松弛变量x6,第二个左边减去剩余变量x7,第三个两边同乘(-1),则得到标准形式⎪⎪⎩⎪⎪⎨⎧≥≥-=++-≥+-≤+++-=无约束321321321321321005232732min x x x x x x x x x x x x x x x z ⎪⎪⎪⎨⎧=--=--+-=+-++⋅+⋅+--+-=5232700)(32'max 7542165421765421x x x x x x x x x x x x x x x x x x x z练习练习答案三、 两个变量问题的图解法图解法简单直观,对于两个变量的线性规划问题,可以通过在平面上作图的方法求解。
而且可以从中得到有关线性规划问题的许多重要结论,有助于我们理解线性规划问题求解方法的基⎪⎪⎩⎪⎪⎨⎧≥≤-=--≥++-≤++-++=无约束3213213213213210063244239232min x x x x x x x x x x x x x x x z ⎪⎪⎩⎪⎪⎨⎧≥=-++=--++=+-+++--=-06''3'32'44''22'39''''2''3'32''max 51332153321433213321x x x x x x x x x x x x x x x x x x x z本原理。
1. 图解法的基本步骤 (1)建立坐标系(2)图示约束条件,找出可行域 (3)图示目标函数,寻找最优解例 用图解法求解下列线性规划问题本例中目标函数与凸多边形的切点是B (2,5),则X *=(2,5)为最优解,m a x Z =202. 线性规划问题的几种可能结果(1)有唯一最优解(如上例所示)⎪⎪⎩⎪⎪⎨⎧≥≥≤≤+≤++=04155162325max 211212121x x x x x x x x x z(2)有无穷多最优解(3)无界解(无最优解)⎪⎪⎩⎪⎪⎨⎧≥≥≤≤≤+--=0438242min 21122121x x x x x x x x z ⎪⎪⎩⎪⎪⎨⎧≥≥≤-≤+-+=0242max 21212121x x x x x x x x z(4)无可行解3. 由图解法得到的启示图解法虽然只能用来求解只具有两个变量的线性规划问题,但它的解题思路和几何上直观得到的一些概念判断,对将要学习的单纯形法有很大启示:(1)求解线性规划问题时,解的情况有:唯一最优解;无穷多最优解;无界解;无可行解。
(2)若线性规划问题的可行域存在,则可行域是一个凸集,顶点个数只有有限个。
(3)若可行域非空且有界则必有最优解,若可行域无界,则可能有最优解,也可能无最优解。
⎪⎪⎪⎩⎪⎪⎪⎨⎧≥≥≤≤≤+≥++=03482742max 2121212121x x x x x x x x x x z(4)若最优解存在,则最优解或最优解之一一定是可行域的凸集的某个顶点。
针对以上四个启示,得到新的解题思路(为单纯形法做铺垫):先找出凸集的任一顶点,计算顶点处的目标函数值。
比较周围相邻顶点的目标函数值是否比这个大,如果为否,则该顶点就是最优解的点或最优解的点之一,否则转到比这个点的目标函数值大的另一顶点,重复上述过程,直到找到最优解。
四、有关线性规划问题的解的概念数学模型)3()2( )1((1)可行解与可行域:满足(2),(3)的解,称为线性规划问题的可行解,所有可行解的集合称为可行域。
(2)最优解:使目标函数值达到最优,即满足(1)式的可行解称为最优解。
(3)基:设线性规划约束方程组中的系数矩阵A m×n 的秩为m(m<n),则A中任一个m阶可逆矩阵B称为线性规划问题的一个基矩阵,简称为基。
(4)基(基本)解:取A中一个基B=(p j1,p j2,…p j m),对应的基变量为(x j1,x j2,…x j m),当基变量取值均为0,且满足约束条件(2)的一个解X,称为是关于基B的一个基本解。
对于A中每一个基B,只能找出一个基本解X,而A中最多有C n m个基,因此线性规划问题最多只有个C n m个基本解。
(5)基可行解:满足非负约束(3)的基本解称为基本可行解。
(6)可行基:对应于基可行解的基称为可行基。