数学建模线性规划.pdf
线性规划 1.简介:线性规划是运筹学中研究较早、发展较快、应用广泛、方法较成熟的一个重要分支,它是辅助人们进行科学管理的一种数学方法.在经济管理、交通运输、工农业生产等经济活动中,提高经济效果是人们不可缺少的要求,而提高经济效果一般通过两种途径:一是技术方面的改进,例如改善生产工艺,使用新设备和新型原材料.二是生产组织与计划的改进,即合理安排人力物力资源.线性规划所研究的是:在一定条件下,合理安排人力物力等资源,使经济效果达到最好.规划问题。一般地,求线性目标函数在线性约束条件下的最大值或最小值的问题,统称为线性线性约束条件的解叫做可行解,由所有可行解组成的集合叫做可行域。在优化模型中,如果目标函数 f(x)和约束条件中的 gi(x)都是线性函数,则该模型称为线性规划。2.线性规划的 3 个基本要素(1)决策变量(2)目标函数 f(x)(3)约束条件(gi(x)0 称为约束条件)3.建立线性规划的模型(1)找出待定的未知变量(决策变量),并用袋鼠符号表示他们。(2)找出问题中所有的限制或者约束,写出未知变量的线性方程或线性不等式。(3)找到模型的目标或判据,写成决策变量的线性函数,以便求出其最大值或最小值。以下题为例,来了解一下如何将线性规划用与实际的解题与生活中。生产计划问题 某工厂生产甲乙两种产品,每单位产品消耗和获得的利润如表 试拟订生产计划,使该厂获得利润最大 解答:根据解题的三个基本步骤(1)找出未知变量,用符号表示:设甲乙两种产品的生产量分别为 x1与 x2吨,利润为 z 万元。(2)确定约束条件:在这道题目当中约束条件都分别为:钢材,电力,工作日以及生产量不能为负的限制 钢材:9x1+5 x2360,电力:4x1+5 x2200,工作日:3x1+10 x2300,x1 0,x2 0,(3)确定目标函数:Z=7x1+12 x2 所以综合上面这三步可知,这个生产组合问题的线性规划的数学模型为:max Z=7x1+12 x2.00300103200543605921212121xxxxxxxx 4.使用 MATLAB 解决线性规划问题 依旧是以上题为例,将其用 MATLAB 来表示出来 1.将目标函数用矩阵的乘法来表示 max Z=(7 12)21xx 2.将约束条件也用矩阵的乘法表示.2121003002003601035459xxxx 编写 MATLAB的程序如下:c=-7-12;(由于是max函数,因此将目标函数的系数全部变为负数)A=9,5;4,5;3,10;b=360;200;300;Aeq=;beq=;vlb=0;0;vub=;x,fval=linprog(c,A,b,Aeq,beq,vlb,vub)其运行结果显示如下:x=fval=求解线性规划的语句(1)c=表示目标函数的各个决策变量的系数(2)A=表示约束条件中或的式子中的各个决策变量的系数。(若系数构成了两行以上的矩阵那么则由“;”来分割不同的两行)(3)b=表示或右边的数字(4)Aeq=表示约束条件中=的式子中各个决策变量的系数。(5)beq=表示=右边的数字(6)vlb=表示决策变量的定义域 中为的数字(7)vub=表示决策变量的定义域 中为的数字(8)x,fval=linprog(c,A,b,Aeq,beq,vlb,vub)调用了 linprog 函数,以此来求解出决策变量的值 6.课后习题 1.某鸡场有 1000 只鸡,用动物饲料和谷物混合喂养。每天每只鸡平均食混合饲料,其中动物饲料所占比例不能少于 20%。动物饲料每千克元,谷物饲料每千克元,饲料公司每周仅保证供应谷物饲料 6000KG,问饲料怎样混合,才能使成本最低?解:设动物饲料与谷物饲料分别为1x与2x千克,总成本为 Z。min Z=1x+2x.60000%20350035002121xxxx MATLAB程序:c=;A=1,1;b=3500;Aeq=;beq=;vlb=700;0;vub=6000;x,fval=linprog(c,A,b,Aeq,beq,vlb,vub)运算结果:x=fval=5.某工厂生产1A、2A两种型号的产品都必须经过零件装配和检验两道工序,如果每天可用于零件装配的工时只有 100h,可用于检验的工时只有 120h,各型号产品每件需占用各工序时数和可获得的利润如下表所示:产品 可用工时 工序 装配 2 3 100 检验 4 2 120 利润(元/件)6 4 (1)试写出此问题的数学模型,并求出最优化生产方案;(2)对产品1A的利润进行灵敏度分析;(3)对装配工序的工时进行灵敏度分析;(4)如果工厂试制了3A型产品,每件3A产品需装配工时 4h,检验工时 2h,可获利润 5元,那么该产品是否应投入生产?问题分析:原问题即是线性规划问题。1、2、3 小问也即是线性规划问题中关于灵敏度分析中的分析 Cj 的变化范围、分析 bi 变化范围、增加一个约束条件的分析。于是,上诉问题都可通过灵敏度分析的步骤运用单纯形表法得以解决。第一小问,建立线性规划模型,用单纯形表法求最优解,同时可为第二、三小问做准备。第二小问,即是线性规划问题中关于灵敏度分析中的 Cj 的变化范围分析。将 A1 的利润变为6元,以 的取值范围进行分析。第三小问,即是线性规划问题中关于灵敏度分析中的 bi 变化范围分析。将装配工序工时变为100h,按公式 1:算出b,将其加到基变量列的数字上,然后由于其对偶问题仍为可行解,故只需检查原问题是否仍为可行解。第四小问,即是线性规划问题中关于灵敏度分析中的增加一个约束条件的分析。只需加入约束条件建立新的线性规划模型。模型的建立和求解:建立模型 (1)Z 表示总的利润,x1、x2 分别表示两种型号生产数量。通过 MATLAB 程序计算得到的最优解为 x2=x1=20,即最优方案为 A1、A2 两种型号各生产 20件。得最大利润 200 元。(2)将 A1 的单件利润改为6元,得如下新的线性规划问题,通过变化分析原问题的灵敏度。解的最优条件是:由此推得当325/88时满足上述要求。由此推得 8040 加放产品 A3,建立新的线性规划问题:通过 MATLAB 最终得出的结果为:X1=23,X2=2,X3=12。即最优方案为:A1、A2、A3 分别生产 23、2、12 件。数学建模 线性规划 1322303 倪瑜卿 1322304 丁佳蓓 1322321 季宗扬 1322323 黄蒙捷