线性规划的对偶与对偶单纯形法
- 格式:ppt
- 大小:546.50 KB
- 文档页数:44
运筹学2对偶问题运筹学教程运筹学Operations Research Chapter 2 对偶问题Dual Problem1. 线性规划的对偶模型Dual Model of LP2.对偶性质对偶性质3.对偶单纯形法对偶单纯形法4.灵敏度分析灵敏度分析Dual property Dual Simplex Method Sensitivity Analysis 运筹学教程§2.1线性规划的对偶模型线性规划的对偶模型Dual model of LPCh2 Dual Problem2022年11月26日星期五Page 2 of 19在线性规划问题中,存在一个有趣的问题,即每一个线性规划问题都伴随有另一个线性规划问题,称它为对偶线性规划问题。
【例2.1】某企业用四种资源生产三种产品,工艺系数、例资源限量及价值系数如下表:产品资源Ⅰ Ⅱ Ⅲ Ⅳ 每件产品利润9 5 8 7 100 8 4 3 6 80 6 7 2 4 70 500 450 300 550 A B C 资源限量建立总收益最大的数学模型。
运筹学教程§2.1线性规划的对偶模型线性规划的对偶模型Dualmodel of LPCh2 Dual Problem2022年11月26日星期五Page 3 of 19 设x1,x2,x3分别为产品A,B,C的产量,则线性规划数学模解型为:m Z = 100x + 80x + 70x ax1 2 39x1 + 8x2 + 6x3 ≤ 500 5x + 4x + 7x ≤ 450 2 3 1 8x1 + 3x2 + 2x3 ≤ 300 7x + 6x + 4x ≤ 550 2 3 1 x1, x2, x3 ≥ 0 现在从另一个角度来考虑企业的决策问题。
假如企业自己不生产产品,而将现有的资源转让或出租给其它企业,那么资源的转让价格是多少才合理?价格太高对方不愿意接受,价格太低本单位收益又太少。
用对偶单纯形法求对偶问题的最优解(共7页)-本页仅作为预览文档封面,使用时请删除本页-用对偶单纯形法求对偶问题的最优解摘要:在线性规划的应用中,人们发现一个线性规划问题往往伴随着与之配对的另一个线性规划问题.将其中一个称为原问题,另一个称为对偶问题.对偶理论深刻揭示了原问题与对偶问题的内在联系.由对偶问题引申出来的对偶解有着重要的经济意义.本文主要介绍了对偶问题的基本形式以及用对偶单纯形法求解对偶问题的最优解.关键词:线性规划;对偶问题;对偶单纯形Using Dual Simplex Method To Get The Optimal Solution Of TheDual ProblemAbstract:In the application of the linear programming, people find that a linear programming problem is often accompanied by another paired linear programming problem. One is called original problem. Another is called the dual problem. Duality theory reveals the internal relationsbetween the dual problem and the original problem. The solution of the dual problem is of a great economic significance. In this paper,we mainly discuss the basic form of the dual problem and how to use dual simplex method to get the optimal solution of the dual problem. Key words: linear programming;dual problem;dual simplex method1 引言首先我们先引出什么是线性规划中的对偶问题.任何一个求极大化的线性规划问题都有一个求极小化的线性规划问题与之对应,反之亦然,如果我们把其中一个叫原问题,则另一个就叫做它的对偶问题,并称这一对互相联系的两个问题为一对对偶问题.每个线性规划都有另一个线性规划(对偶问题)与它密切相关,对偶理论揭示了原问题与对偶问题的内在联系.下面将讨论线性规划的对偶问题的基本形式以及用对偶单纯形法求最优解.在一定条件下,对偶单纯形法与原始单纯形法相比有着显著的优点.2 对偶问题的形式对偶问题的形式主要包括对称形对偶问题[]3和非对称性对偶问题.对称形对偶问题设原线性规划问题为Max1122...n nZ c x c x c x =+++()11112211211222221122...............0.1,2,...,n n n n m m mn n nj a x a x a x b a x a x a x b a x a x a x bx j n +++≤⎧⎪+++≤⎪⎪⎨⎪+++≤⎪≥=⎪⎩()则称下列线性规划问题 Max 1122...m m W b y b y b y =+++()11112211211222221122...............0.1,2,...,n n n n m m mn n nj a y a y a y c a y a y a y c a y a y a y cy j m +++≤⎧⎪+++≤⎪⎪⎨⎪+++≤⎪≥=⎪⎩()为其对偶问题,其中(1,2,...,)i y i m =称其为对偶变量,并称()和()式为一对对称型对偶问题.原始对偶问题()和对偶问题()之间的对应关系可以用表2-1表示.这个表从横向看是原始问题,从纵向看使对偶问题.用矩阵符号表示原始问题()和对偶问题()为 CX Z =max原问题 ⎩⎨⎧≥≤0X b AX ()Yb W =min对偶问题 ⎩⎨⎧≥≤0Y C YA () 其中()12,,...,m Y y y y =是一个行向量. 非对称对偶问题线性规划有时以非对称形式出现,那么如何从原始问题写出它的对偶问题,我们从一个具体的例子来说明这种非对称形式的线性规划问题的对偶问题的建立方法.例1 写出下列原始问题的对偶问题43214765max x x x x Z ++-=⎪⎪⎩⎪⎪⎨⎧=≥-≥++--≤-+--=--+)4,3,2,1(032417281473672432143214321j x x x x x x x x x x x x x j解: 第一约束不等式等价与下面两个不等式约束724321-≤--+x x x x 724321≤++--x x x x 第二个约束不等式照写147364321≤-+-x x x x 第三个不等式变成32417284321≤--+x x x x以 121123,,,y y y y 分别表示这四个不等式约束对应的对偶变量,则对偶问题为 32211131477min y y y y W +++-= ⎪⎪⎪⎩⎪⎪⎪⎨⎧≥≥--+-≥-++--≥+--≥++-0,,,427746173225286322111322111322111322111322111y y y y y y y y y y y y y y y y y y y y令 12111y y y =-,则上式的对偶问题变为:3213147min y y y W ++-=12312312312323162852317647724,0,y y y y y y y y y y y y y y y ++≥⎧⎪-+≥-⎪⎪-+-≥⎨⎪---≥⎪≥⎪⎩无符号限制一般可以证明,若原问题中的某个变量无非负限制,则对偶问题中的相应约束为等式. 3 对偶单纯形法对偶问题求解具有重要的意义,有多种方法解决对偶问题.下面介绍用对偶单纯形法来解决线性规划的对偶问题.先介绍以下几个线性规划的基本概念[]6:基: 已知A 是约束条件的m n ⨯系数矩阵,其秩为m .若B 是A 中m m ⨯阶非奇异子矩阵(即可逆矩阵),则称B 是线性规划问题中的一个基.基向量:基B 中的一列即称为一个基向量.基B 中共有m 个基向量. 非基向量:在A 中除了基B 之外的一列则称之为基B 的非基向量. 基变量:与基向量相应的变量叫基变量,基变量有m 个.非基变量:与非基向量相应的变量叫非基变量,非基变量有n m -个. 由线性代数的知识知道,如果我们在约束方程组系数矩阵中找到一个基,令这个基的非基变量为零,再求解这个m 元线性方程组就可得到唯一的解了,这个解我们称之为线性规划的基本解.首先重新回顾一下单纯形法的基本思想,其迭代的基本思路是:先找出一个基可行解,判断其是否为最优解,如果不是,则转换到另一更优的基可行解,并使目标函数值不断优化,直到找到最优解为止.我们可以用另一种思路,使在单纯形法每次迭代的基本解都满足最优检验,但不一定满足非负约束,迭代时使不满足非负约束的变量个数逐步减少.当全部基变量都满足非负约束条件时,就得到了最优解,这种算法就是对偶单纯形法.因此,单纯形法是从一个可行解通过迭代转到另一个可行解,直到检验数满足最优条件为止.对偶单纯形法是从满足对偶可行性条件出发通过迭代逐步搜索出最优解.在迭代过程中始终保持基解的对偶可行性,而使不可行性逐步消失.现把对偶单纯形法的基本步骤总结如下[3]:第一,把所给的线性规划问题转化为标准型;第二,找出一个初始正则基0B ,要求对应的单纯形表中的全部检验数0j σ≤,但“右边”列中允许有负数;第三,若“右边”列中各数均非负,则0B 已是最优基,于是,已求得最优解,计算终止.否则转为第四步;第四,换基:“右边”列中取值最小(即负的最多)的数所对应的变量为出基变量.计算最小比值θ.最小比值出现在末列,则该列所对应的变量即为进基变量,换基后得新基1B ,以出基变量的行和进基变量列交点处的元素为主元进行单纯形迭代,再转入第三步.下面用一个例子具体说明用对偶单纯形法求线性规划问题最优解的步骤: 例1 求解线性规划问题 min 12315511W y y y =++;1231231233225524,,0y y y y y y y y y ++≥⎧⎪++≥⎨⎪≥⎩添加松弛变量以后的标准型 min 12315511W y y y =++12341235123453225524,,,,0y y y y y y y y y y y y y ++-=⎧⎪++-=⎨⎪≥⎩ 将每个等式两边乘以-1,则上述问题转化为 min 12315511W y y y =++;12341235123453225524,,,,0y y y y y y y y y y y y y ---+=-⎧⎪---+=-⎨⎪≥⎩如果取()045,B Y y y =作为初试基变量,有如下初试单纯形表(表)由此可见,两个基变量45,y y 均取负值,所以,0B 所确定的基本解不是基可行解,从而也就不能用单纯形法求解.下面我们用一种新的方法对偶单纯形法求解此题,并通过例题来说明方法步骤.对偶单纯形法的基本思想:是保证检验数行全部非正的条件下,逐步使得“右边”一列各数变成非负.一旦“右边”一列各数均满足了非负条件(即可行性条件),则就获得最优解.现在,0B 不是可行基(称为正则基),为保证上述方法的实现,可按下面的方法确定出基变量和进基变量.出基变量的确定 可以取任意一个具有负值的基变量(一般可取最小的)为出基变量.在上例中,两个基变量()45,y y 都取负值,且45y =-最小,故 4y 为出基变量.现在考虑出基变量所对应的负所有元素 0ij a <,对每个这样的元素作比值jija σ',令 30min 0j ij j n ij ija a a σσθ≤≤⎧⎫⎪⎪'=≤=⎨⎬''⎪⎪⎩⎭ () 则 3x 为进基变量.在表2-4中,基变量 4y 所在的行有三个ij a '取负值,其值分别为-3,-2,-2.它们对应的检验数分别为-15,-5,-11. 于是212155115min ,,3222a σθ---⎧⎫===⎨⎬---⎩⎭ 由此可知, 2y 为进基变量.主元素为 2ija '=-,对表2-1进行一次迭代便得表2-2,在表2-2的(1)中,基变量 3y 所取之值 2302b '=-<,故 3y 为出基变量.又21215561522min ,,711722a σθ⎧⎫--⎪⎪-===⎨⎬'-⎪⎪--⎩⎭故 3y 是进基变量;,主元为 2172a '=-.对(1)再作单纯形变换,得表3-1之(2).由于它的“右边”已列出全部非负,故它就是最优表.最优解为:137y '=,2137y '=, 3450y y y '''===;最优值 1107w '=.然而在有些问题中,我们很容易找到初始基本解,因此使用对偶单纯形法求解线性规划问题是有一定条件的,其条件是:(1) 单纯形表的b列中至少有一个负数.(2) 单纯形表中的基本解都满足最优性检验.对偶单纯形法与原始单纯形法相比有两个显著的优点:(1) 初始解可以是不可行解,当检验数都非正时,即可进行基的变换,这时不需要引入人工变量,因此简化了计算.(2) 对于变量个数多于约束方程个数的线性规划问题,采用对偶单纯形法计算量较少.因此对于变量较少、约束较多的线性规划问题,可以先将其转化为对偶问题,然后用对偶单纯形法求解.对变量多于约束条件的线性规划问题,用对偶单纯形法进行计算可以减少计算的工作量.因此对变量较少,而约束条件很多的线性规划问题,可先将此问题转化为对偶问题,然后用对偶单纯形法求解.用对偶单纯形法求解线性规划问题的标准型,要求初始单纯形表检验数行的检验数必须全部非正,若不能满足这一条件,则不能运用对偶单纯形法求解.对偶单纯形法的局限性主要是,对大多数线性规划问题来说,很难找到一个初始可行基,因此这种方法在求解线性规划问题时,很少单独应用.参考文献:[1] 吴祈宗.运筹学学习指导及习题集[M] .北京:机械工业出版社,2006.[2] 孙君曼,冯巧玲,孙慧君,等.线性规划中原问题与对偶问题转化方法探讨[J].郑州:工业学院学报(自然科学版),2001,16(2):44~46.[3] 何坚勇.运筹学基础.北京:清华大学出版社,2000.[4] 周汉良,范玉妹. 数学规划及其应用.北京:冶金工业出版社.[5] 陈宝林.最优化理论与算法(第二版) .北京:清华大学出版社,2005.[6] 张建中,许绍吉. 线性规划. 北京:科学出版社,1999.[7] 姚恩瑜,何勇,陈仕平.数学规划与组合优化.杭州:浙江大学出版社,2001.[8] 卢开澄.组合数学算法与分析.清华大学出版社, 1982.[9] Even. Shimon. Algzithmic Combinatorial. The Macmillan Company, New York, 1973.[10] J.P.Tremblay, R.Manohar.Discrete Mathematical Structures with Applications to Computer Science, 1980.[11] 李修睦.图论.华中工学院出版社, 1982.[12] Pranava R G.Essays on optimization and incentive contracts[C].Massachusetts Institute of Technology, Sloan School of Management: Operations Research Center, 2007: 57- 65.[13] Schechter,M.A Subgradient Duality Theorem,J.Math Anal Appl.,61(1977),850-855.[14] Maxims S A. Note on maximizing a submodular set function subject to knap sack constraint[J]. Operations Research Letters,2004, 32 (5) : 41 - 43.[15] Schechter,M.More on Subgradient Duality,J.,71(1979),251-262.[16] Nemhauser GL, Wolsey L A, Fisher M L.An analysis of approximations formaximizing submodular set functionsII[J].Math.Prog.Study, 1978, 8: 73 - 87.[17] SviridenkoM.A note on maximizing a submodular set function subject to knap sack contraint[J].Operations Research Letters,2004, 32: 41 - 43.[18] 卢开澄.图论及其应用.北京:清华大学出版社,1981.[19] 张干宗.线性规划(第二版).武汉:武汉大学出版社,2007.[20] 周维,杨鹏飞.运筹学.北京:科学出版社,2008.[21] 宁宣熙.运筹学实用教程(第二版).北京:科学出版社发行处,2009.。
用对偶单纯形法求解线性规划问题对偶单纯形法是一种常用于求解线性规划问题的方法。
它通过对原始线性规划问题进行对偶化,将原问题转化为对偶问题,并通过迭代的方式逐步优化,最终得到最优解。
本文将详细介绍对偶单纯形法的基本原理和步骤,并通过一个实例来演示其具体应用。
对偶单纯形法的基本原理是基于线性规划的对偶性理论。
根据对偶性理论,对于原始线性规划问题的最优解,一定存在一个对偶问题,其最优解与原问题的最优解相等。
因此,我们可以通过求解对偶问题来得到原问题的最优解。
对偶问题的形式如下:最大化 W = b'y约束条件为:A'y ≤ c其中,A是原始线性规划问题的约束矩阵,b是原始问题的目标函数系数矩阵,c是原始问题的约束条件矩阵,y是对偶问题的变量向量。
对偶单纯形法的步骤如下:步骤1: 初始化将原始线性规划问题转化为标准型,并初始化基变量和非基变量的初始解。
步骤2: 计算对偶变量值根据对偶问题的约束条件,计算对偶变量的初始值。
步骤3: 计算对偶目标函数值根据对偶问题的目标函数,计算初始的对偶目标函数值。
步骤4: 检验最优性判断当前解是否为最优解。
如果是,则终止算法;否则,进入下一步。
步骤5: 选择入基变量和出基变量根据当前解,选择一个入基变量和一个出基变量。
步骤6: 更新解通过列生成法或其他方法,更新当前解。
步骤7: 更新对偶变量和对偶目标函数值根据更新后的解,更新对偶变量和对偶目标函数值。
步骤8: 转至Step 4重复步骤4至步骤7,直到找到最优解。
下面以一个具体的线性规划问题为例来演示对偶单纯形法的应用。
假设有以下线性规划问题:最大化 Z = 3x1 + 5x2约束条件为:2x1 + x2 ≤ 10x1 + 3x2 ≤ 15x1, x2 ≥ 0首先,将原始问题转化为标准型:最大化 Z = 3x1 + 5x2约束条件为:2x1 + x2 + s1 = 10x1 + 3x2 + s2 = 15x1, x2, s1, s2 ≥ 0初始化基变量和非基变量的初始解为:x1 = 0, x2 = 0, s1 = 10, s2 = 15根据对偶问题的约束条件,计算对偶变量的初始值:y1 = 0, y2 = 0根据对偶问题的目标函数,计算初始的对偶目标函数值:W = 0检验最优性,发现当前解不是最优解,需要进入下一步。
应⽤运筹学基础:线性规划(4)-对偶与对偶单纯形法这⼀节课讲解了线性规划的对偶问题及其性质。
引⼊对偶问题考虑⼀个线性规划问题:$$\begin{matrix}\max\limits_x & 4x_1 + 3x_2 \\ \text{s.t.} & 2x_1 + 3x_2 \le 24 \\ & 5x_1 + 2x_2 \le 26 \\ & x \ge0\end{matrix}$$ 我们可以把这个问题看作⼀个⽣产模型:⼀份产品 A 可以获利 4 单位价格,⽣产⼀份需要 2 单位原料 C 和 5 单位原料 D;⼀份产品 B 可以获利 3 单位价格,⽣产⼀份需要 3 单位原料 C 和 2 单位原料 D。
现有 24 单位原料 C,26 单位原料 D,问如何分配⽣产⽅式才能让获利最⼤。
但假如现在我们不⽣产产品,⽽是要把原料都卖掉。
设 1 单位原料 C 的价格为 $y_1$,1 单位原料 D 的价格为 $y_2$,每种原料制定怎样的价格才合理呢?⾸先,原料的价格应该不低于产出的产品价格(不然还不如⾃⼰⽣产...),所以我们有如下限制:$$2y_1 + 5y_2 \ge 4 \\ 3y_1 + 2y_2 \ge3$$ 当然也不能漫天要价(也要保护消费者利益嘛- -),所以我们制定如下⽬标函数:$$\min_y \quad 24y_1 + 26y_2$$ 合起来就是下⾯这个线性规划问题:$$\begin{matrix} \min\limits_y & 24y_1 + 26y_2 \\ \text{s.t.} & 2y_1 + 5y_2 \ge 4 \\ & 3y_1 + 2y_2 \ge 3 \\ & y \ge 0\end{matrix}$$ 这个问题就是原问题的对偶问题。
对偶问题对于⼀个线性规划问题(称为原问题,primal,记为 P) $$\begin{matrix} \max\limits_x & c^Tx \\ \text{s.t.} & Ax \le b \\ & x \ge 0\end{matrix}$$ 我们定义它的对偶问题(dual,记为 D)为 $$\begin{matrix} \min\limits_x & b^Ty \\ \text{s.t.} & A^Ty \ge c \\ & y \ge 0\end{matrix}$$ 这⾥的对偶变量 $y$,可以看作是对原问题的每个限制,都⽤⼀个变量来表⽰。
线性规划的解法线性规划是现代数学中的一种重要分支,它是研究如何在一定约束条件下优化某种目标函数的一种数学方法。
在现实生活中,许多问题都可以用线性规划求解。
如在生产中,如何安排产品的产量才能最大化利润;在运输中,如何安排不同的运输方式最大程度降低成本等等。
线性规划的解法有多种,下面我们就来对其进行详细的介绍。
1. 单纯形法单纯形法是线性规划中最重要的求解方法之一,它是由Dantzig于1947年提出的。
单纯形法的基本思路是从某一个初始解出发,通过挑选非基变量,使得目标函数值逐步减少,直到得到一个最优解。
单纯形法的求解过程需要确定初始解和逐步迭代优化的过程,所以其求解复杂度较高,但是在实际中仍有广泛应用。
2. 对偶线性规划法对偶线性规划法是一种将线性规划问题转化为另一个线性规划问题来求解的方法。
这种方法的主要优势是,它可以用于求解某些无法用单纯形法求解的问题,如某些非线性规划问题。
对偶线性规划法的基本思路是将原问题通过拉格朗日对偶性转化为对偶问题,然后求解对偶问题,最终得到原问题的最优解。
3. 内点法内点法是一种由Nesterov和Nemirovsky于1984年提出的方法,它是一种不需要寻找可行起点的高效的线性规划求解方法。
内点法的基本思路是通过不断向可行域的内部靠近的方式来求解线性规划问题。
内点法的求解过程需要实现某些特殊的算法技术,其求解效率高,可以解决一些规模较大、约束条件复杂的线性规划问题。
4. 分枝定界法分枝定界法是一种通过逐步将线性规划问题分解成子问题来求解的方法。
这种方法的基本思路是,在求解一个较大的线性规划问题时,将其分解成若干个较小的子问题,并在每个子问题中求解线性规划问题,在不断逐步求解的过程中不断缩小问题的规模,最终得到问题的最优解。
总之,不同的线性规划解法各有千秋,根据实际问题的需要来选择合适的求解方法是非常重要的。
希望本文能够对您有所帮助。