840 likes | 947 Views
y. x. o. 简单的线性规划问题. 在工程技术、经济管理、科学研究和日常生活等诸多领域中,人们经常遇到的一类决策问题: 在一系列客观或主观限制条件下,寻求所关注的某个或多个指标达到最大(或最小)的决策问题。. 引言. 例如,生产计划要按照产品工艺流程和顾客需求,制定原料、零件、部件等订购、投产的日程和数量,尽量降低成本使利润最高; 运输方案要在满足物资需求和装载条件下安排从各供应点到各需求点的运量和路线,使运输总费用最低。等等。.
E N D
y x o 简单的线性规划问题
在工程技术、经济管理、科学研究和日常生活等诸多领域中,人们经常遇到的一类决策问题: 在一系列客观或主观限制条件下,寻求所关注的某个或多个指标达到最大(或最小)的决策问题。 引言
例如,生产计划要按照产品工艺流程和顾客需求,制定原料、零件、部件等订购、投产的日程和数量,尽量降低成本使利润最高;例如,生产计划要按照产品工艺流程和顾客需求,制定原料、零件、部件等订购、投产的日程和数量,尽量降低成本使利润最高; 运输方案要在满足物资需求和装载条件下安排从各供应点到各需求点的运量和路线,使运输总费用最低。等等。 它们的特点就是:在若干可能的方案中寻求某种意义下的最优方案。数学上称为最优化控制问题,而研究处理这种问题的方法叫最优化的方法。
优化模型的基本类型 问题求解的难度增加 上图是优化模型的简单分类和求解难度
主要内容 基本概念: 线性规划的意义以及约束条件、目标函数、可行解、可行域、最优解等; 基本方法: 线性规划问题的图解法, 用Mathmatica软件解线性规划问题的基本方法;
一、实际问题 某工厂用A、B两种配件生产甲、乙两种产品,每生产一件甲产品使用4个A配件并耗时1h,每生产一件乙产品使用4个B配件并耗时2h,该厂每天最多可从配件厂获得16个A配件和12个B配件,按每天工作8h计算,该厂所有可能的日生产安排是什么? 若生产一件甲产品获利2万元,生产一件乙产品获利3万元,采用那种生产安排利润最大?
设甲、乙两种产品分别生产x、y件, 由已知条件可得二元一次不等式组:
y o x 将上述不等式组表示成平面上的区域: 图中的阴影部分中的整点(坐标为整数)就代表所有可能的日生产安排。 若生产一件甲产品获利2万元,生产一件乙产品获利3万元,采用那种生产安排利润最大? 4 3 M 设工厂获得的利润为z,则 z=2x+3y 4 8
二、基本概念 一组关于变量 x、y 等的一次不等式,称为线性约束条件。 把求最大值或求最小值的函数称为目标函数,因为它是关于变量x、y的一次解析式,又称线性目标函数。 在线性约束条件下求线性目标函数的最大值或最小值问题,统称为线性规划问题。
(一)可行解线性规划问题的可行解是指,满足规划中所有约束条件及非负约束的决策变量的一组取值,其仅与约束条件有关而与目标函数值的大小无关。(一)可行解线性规划问题的可行解是指,满足规划中所有约束条件及非负约束的决策变量的一组取值,其仅与约束条件有关而与目标函数值的大小无关。 (二)可行域 可行域是由所有可行解构成的集合。根据线性规划的基本理论,任一个线性规划问题的可行域,都是一个有限或无限的凸多边形,凸多边形的每个角,称为可行域的极点。 (三)最优解 线性规划的最优解是指,使目标函数值达到最优(最大或最小)的可行解。一个线性规划问题可以是有解的,也可能是无解的,最优解的个数可能是惟一的,也可能是有无穷多个,即决策变量有许多组不同的取值,都使目标函数达到同一个最优值。
(四)最优性定理若一个线性规划问题有最优解,则最优解一定可以在可行域的某个极点上找到一个最优解。同时仍有可能有其他最优解存在,但它们也只可能存在于可行域的其他极点或是边界上。如果我们的目的是找出一个最优解而不是全部最优解,这一定理实际上是把寻找的范围,从可行域中的无穷多个可行点,缩小到可行域的有限几个极点上。(四)最优性定理若一个线性规划问题有最优解,则最优解一定可以在可行域的某个极点上找到一个最优解。同时仍有可能有其他最优解存在,但它们也只可能存在于可行域的其他极点或是边界上。如果我们的目的是找出一个最优解而不是全部最优解,这一定理实际上是把寻找的范围,从可行域中的无穷多个可行点,缩小到可行域的有限几个极点上。
(五)最大化问题的图解法 第一步,找出问题的可行域 第二步,在可行域中寻求最优解,方法有两种 : A.查点法 B.图解法
y 4 可行域 最优解 3 可行解 满足线性约束的解 (x,y)叫做可行解。 o 4 8 x 由所有可行解组成的集合叫做可行域。 使目标函数取得最大值或最小值的可行解叫做这个问题的最优解。
例1、营养学家指出,成人良好的日常饮食应该至少提供0.075kg的碳水化合物,0.065kg的蛋白质,0.06kg的脂肪。例1、营养学家指出,成人良好的日常饮食应该至少提供0.075kg的碳水化合物,0.065kg的蛋白质,0.06kg的脂肪。 三、例题 1kg食物A含有0.105kg碳水化合物,0.07kg蛋白质,0.14kg脂肪,花费28元; 而1kg食物B含有0.105kg碳水化合物,0.14kg蛋白质,0.07kg脂肪,花费21元。 为了满足营养专家指出的日常饮食要求,同时使花费最低,需要同时食用食物A和食物B多少kg?
分析:将已知数据列成表格 解:设每天食用xkg食物A,ykg食物B,总成本为z,那么
目标函数为:z=28x+21y 作出二元一次不等式组所表示的平面区域,即可行域
y 它表示斜率为 随z变化的一组平行直线系 x o 把目标函数z=28x+21y 变形为 6/7 5/7 M 3/7 3/7 5/7 6/7
得最优解M点的坐标为: 所以 zmin=28x+21y=16 由此可知,每天食用食物A约143g,食物B约571g,能够满足日常饮食要求,又使花费最低,最低成本为16元。
1、求z=2x+y的最大值,使x、y满足约束条件:1、求z=2x+y的最大值,使x、y满足约束条件: 四、练习题: 解:作出平面区域
y A o x C B z=2x+y 作出直线y=-2x+z的图像,可知z要求最大值,即直线经过C点时。 求得C点坐标为(2,-1),则Zmax=2x+y=3
2、求z=3x+5y的最大值,使x、y满足约束条件:2、求z=3x+5y的最大值,使x、y满足约束条件: 解:作出平面区域
y A o x C z=3x+5y B 作出直线3x+5y =z 的图像,可知直线经过A点时,Z取最大值;直线经过B点时,Z取最小值。 求得A(1.5,2.5),B(-2,-1),则Zmax=17,Zmin=-11。
图解法解线性规划问题的步骤: (1)画: 画出线性约束条件所表示的可行域; (2)移: 在线性目标函数所表示的一组平行线中,利用平移的方法找出与可行域有公共点 且纵截距最大或最小的直线; (3)求:通过解方程组求出最优解; (4)答:作出答案。
几个结论: 1、线性目标函数的最大(小)值一般在可行域的顶点处取得,也可能在边界处取得。 2、求线性目标函数的最优解,要注意分析线性目标函数所表示的几何意义--------与y轴上的截距相关的数。
单纯形法 单纯形方法是一种较为完善的、步骤化的线性规划问题求解方法。它的原理涉及到较多的数学理论上的推导和证明,我们在此仅介绍这种方法的具体操作步骤及每一步的含义。为更好地说明问题,我们仍结合实例介绍这种方法.
一、线性规划的标准型 二、单纯形法的求解过程 三、单纯型表
线性规划目标函数有的要求实现最大化,有的要求实现最小化,约束条件可以是“”、“”、“=”,这种多样性给讨论问题带来不便。为了便于讨论,我们规定线性规划问题的标准形式为:线性规划目标函数有的要求实现最大化,有的要求实现最小化,约束条件可以是“”、“”、“=”,这种多样性给讨论问题带来不便。为了便于讨论,我们规定线性规划问题的标准形式为: Max Z=c1x1+c2x2+c3x3+…+cnxn a11x1+a12x2+…+a1nxn=b1 (1) a21x1+a22x2+…+a2nxn=b2 (2) … … am1x1+am2x2+…+amnxn=bm (m) x1,x2,…xn≥0
(1)若目标函数为min z =CT x,可将它化为 max(-z)=-CT x (2)若第i个约束为ai1x1+…+ainxn≤bi,可增加一个松驰变量yi,将不等式化为ai1x1+…+ainxn+yi = bi,且yi≥0; 若第i个约束为ai1x1+…+ainxn≥bi,可引入剩余量yi,将 不等式化为ai1x1+…+ainxn- yi = bi,且yi≥0。 (3)若xi为自变量,则可令 xi= xixi, 其中 xi、 xi ≥0
其简缩形式为 其中 C=(c1,c2,……cn) 用向量表示 向量Pj是其对应变量xj 的系数向量。
基 设A为约束方程组的m×n阶系数矩阵,其秩为m。B是矩阵A中m×m阶非奇异子矩阵( |B|0),则称B是线性规划问题的一个基。不失一般性,可设 称Pj为基向量,与基变量Pj相对应的变量为基变量。否则为非基变量。
为了进一步讨论线性规划问题的解,我们来研究约束方程组求解的问题。为了进一步讨论线性规划问题的解,我们来研究约束方程组求解的问题。 假设方程组系数矩阵A的秩为m,因m小于n故它有无穷多个解。假设前m个变量的系数列向量是线性独立的,这时线性规划模型可写成 :
或 设非基变量 用高斯消去法,可求出一个解 称X为基本解 基本可行解—— 满足非负条件的基本解
[例]某工厂在计划期内安排生产x1 x2两种产品,这些产品分别需要在A、B、C、D四种不同的设备上加工。按工艺规定,产品x1和产品x2在各设备上加工的台时数见下表。已知各设备在计划期内有效台时数分别是12、8、16和12。(一台设备工作一小时称为一台时)该工厂每生产一件产品x1可得利润2元,每生产一件产品x2可得利润3元,问如何安排生产计划,才能得到利润最多?
Max Z=2x1+3 x2 2x1+2x2≤12 x1+2x2≤8 (1) 4x1≤16 4x2≤12 x1≥0,x2≥0 单纯形法 求解过程 引入松弛变量 x3 —A设备闲置台时数x4 —B设备闲置台时数x5 —C设备闲置台时数x6—D设备闲置台时数 将线性规划化为标准型.
Max Z=2x1+3 x2 +0(x3+x4+x5+x6) 2x1+2x2+ x3 =12 x1+2x2 + x4 =8 4x1+ x5 =16 (2) 4x2+ x6 =12 x1≥0,x2≥0,x3≥0,x4≥0 ,x5≥0,x6≥0
x3, x4, x5, x6的系数列向量p3, p4, p5, p6是线性独立的,这些列向量构成一个基 系数矩阵
x3 = 12-2x1-2x2 x4 = 8-x1-2x2 x5 = 16-4x1 (3) x6 = 12-4x2 把上式带入目标函数得到 Z=2x1+3 x2 +0(4) 对应于B的变量x3, x4, x5, x6为基变量,从标准型我们可以得到:
当非基变量x1=x2=0,便得Z=0,这时得到一个基本可行解X(0)当非基变量x1=x2=0,便得Z=0,这时得到一个基本可行解X(0)
这个基本可行解表示:工厂没有安排生产产品;设备的有效台时数没有被利用,所以构成的利润为0。这个基本可行解表示:工厂没有安排生产产品;设备的有效台时数没有被利用,所以构成的利润为0。 从分析目标函数的表达式可以看到,非基变量x1 ,x2系数都是正数,若将非基变量换成基变量,目标函数就会增加。所以,只要在目标函数的表达式中还存在正系数的非基变量,这表示目标函数还有增加的可能,就需要将非基变量换成基变量。一般选择正系数最大的那个非基变量。可按以下方法来确定换出变量。
分析上式,将x2定为换入变量后,必须从x3, x4, x5, x6中换出一个,并保证其余的都是非负,即x3, x4, x5, x6≥0 当x1=0,由前面的式子得到 x3 = 12-2x2 ≥0 x4 = 8-2x2 ≥0 (5) x5 = 16 ≥0 x6 = 12-4x2 ≥0 从(5)式中可以看出,只有选择 Z=0+2x1+3 x2 (4)
时,才能使(5)式成立。 因当x2=3时,基变量x6=0这就决定用x2去替换x6。
为了求得以x3, x4, x5, x2为基变量的一个基本可行解和进一步分析问题,需将(5)中的x2位置与x6的位置对换。得到 x3+2x2 = 12-2x1 x4+2x2 = 8-x1 (6) x5 = 16-4x1 4x2 = 12- x6 用高斯消去法,将(6)式中的x2的系数列向量变为单位列向量。 x3 = 6-2x1+1/2x6 x4 = 2-x1+1/2x6 (7) x5 = 16-4x1 x2 = 3-1/4x6
再将(7)代入(1)目标函数得到: Z=9+2x1-3/4 x6 (8) 当非基变量x1=x6=0,得到Z=9,并得到另一个基本可行解
从目标函数的表达式(8)中可看到,非基变量x1的系数是正的,说明目标函数值还可以增大,X(1)不一定是最优解。于是用上述方法,确定换入换出变量,继续迭代,再得到另一个基本可行解X(2)从目标函数的表达式(8)中可看到,非基变量x1的系数是正的,说明目标函数值还可以增大,X(1)不一定是最优解。于是用上述方法,确定换入换出变量,继续迭代,再得到另一个基本可行解X(2) X(2)=(2,3,2,0,8,0), 再经过一次迭代,又得到一个基本可行解 X(3)=(4,2,0,0,0,4), 这时得到的目标函数的表达式是: Z = 14-1.5x4-0.125 x5 目标函数值达到最大,X(3)是线性规划的最优解。
单纯型表 求解单纯型可以将上面的过程用单纯型表表示,这就是单纯型表。在此,不再详细说明。
例 用单纯形法求解 【解】将数学模型化为标准形式: 不难看出x4、x5可作为初始基变量,单纯法计算结果如下表所示 。
0 Cj 1 2 1 0 b θ CB XB x1 x2 x3 x4 x5 0 x4 2 -3 2 1 0 15 0 x5 1/3 1 5 0 1 20 λj 1 2 1 0 0 0 x4 2 x2 λj 1 x1 2 x2 λj M 20 25 1 3 3 0 17 75 1 5 0 1 1/3 20 60 0 0 -9 -2 1/3 1 0 17/3 1/3 1 25 2/3 35/3 0 -1/9 1 28/9 -98/9 0 0 -7/3 -1/9 最优解X=(25,35/3,0,0,0)T,最优值Z=145/3