数学实验——线性规划
数学建模作业实验线性规划实验模板

数学建模作业(实验3线性规划实验)基本实验1.生产计划安排某公司使用三种操作装配三种玩具——玩具火车、玩具卡车和玩具汽车。
对于三种操作可用时间限制分别是每天430分钟、460分钟和420分钟, 玩具火车、玩具卡车和玩具汽车的单位收入分别是3美元、2美元和5美元。
每辆玩具火车在三种操作的装配时间分别是1分钟, 3分钟和1分钟。
每辆玩具卡车和每辆玩具汽车相应的时间是( 2, 0, 4) 和( 1, 2, 0) 分钟( 零时间表示不使用该项操作) 。
( 1) 将问题建立成一个线性规划模型, 确定最优的生产方案。
( 2) 对于操作1, 假定超过它当前每天430分钟能力的任何附加时间必须依靠每小时50美元的加班获得。
每小时成本包括劳动力和机器运行费两个方面。
对于操作1, 使用加班在经济上有利吗? 如果有利, 最多加多少时间?( 3) 假定操作2的操作员已同意每天加班工作两小时, 加班费是45美元一小时。
还有, 操作自身的成本是一小时10美元。
这项活动对于每天收入的实际结果是什么?( 4) 操作3需要加班时间吗?解答解:设生产玩具火车、玩具卡车和玩具汽车的数量分别为X1, X2, X3, 则目标函数为:3X1+2X2+5X3约束条件:X1+2X2+X3<=4303X1+2X3<=460X1+4X2<=420X1>=0; X2>=0; X3>=0最优值为目标函数取得最大。
LINGO程序max=3*x1+2*x2+5*x3;x1+2*x2+x3<=430;3*x1+2*x3<=460;x1+4*x2<=420;运行结果Globaloptimalsolutionfound.Objectivevalue:1350.000Infeasibilities:0.000000Totalsolveriterations:2ModelClass:LPTotalvariables:3Nonlinearvariables:0Integervariables:0Totalconstraints:4Nonlinearconstraints:0Totalnonzeros:10Nonlinearnonzeros:0VariableValueReducedCostX10.0000004.000000X2100.00000.000000X3230.00000.000000RowSlackorSurplusDualPrice11350.0001.00000020.0000001.00000030.0000002.000000420.000000.000000( 1) 由运行结果可得, 最优的生产方案为:玩具火车、玩具卡车和玩具汽车的生产数量分别为: 0、100、230; 收入为1350.( 2) 由DualPrice第二行可知, 当操作1每增加1分钟收入增加1美元, 因此50/60<1, 使用加班在经济上是有利的; Rangesinwhichthebasisisunchanged: ObjectiveCoefficientRanges:CurrentAllowableAllowable VariableCoefficientIncreaseDecreaseX13.0000004.000000INFINITYX22.0000008.0000002.000000X35.000000INFINITY2.666667RighthandSideRanges:CurrentAllowableAllowableRowRHSIncreaseDecrease2430.000010.00000200.00003460.0000400.000020.000004420.0000INFINITY20.00000分析可知, 最多增加10分钟。
实验一:线性规划

实验一:线性规划班级 姓名 学号一、实验目的:学会用matlab 、lingo 软件求解线性规划问题。
二、实验要求:1.熟悉线性规划问题的数学建模;2.会用matlab 、 lingo 软件求解线性规划问题;3.掌握线性规划的灵敏度分析。
三、实验内容:1、求解下列线性规划问题:⎪⎪⎩⎪⎪⎨⎧≥≤+≤+≤++=0,13119241171289..68max 2121212121x x x x x x x x t s x x z (1) 给出lingo 原始代码;lingo 程序代码:model:max =8*x1+6*x2; 9*x1+8*x2<=12; 7*x1+11*x2<=24; 9*x1+11*x2<=13;end(2) 计算结果(包括灵敏度分析,求解结果粘贴);(3) 回答下列问题:a) 最优解及最优目标函数值是多少;(x1,x2)=(1.333333,0)Z=10.66667b) 资源的对偶价格各为多少,并说明对偶价格的含义;第一、二、三种资源的对偶价格分别0.8888889,0,0;表示当对应约束有微小变动时, 目标函数的变化率。
当“9x1+8x2<=12”改为“9x1+8x2<=13”时,目标函数的值为10.66667+0.8888889=11.55556。
对于非紧约束,DUAL PRICE 的值为0,,表示对应约束中不等式右端项的微小扰动不影响目标函数。
c) 为了使目标函数值增加最多,让你选择一个约束条件,将它的常数项增加一个单位,你将选择哪一个约束条件?这时目标函数值将是多少?第一个约束条件:因为它是紧约束,即原料没有剩余。
这时的目标函数值为11.55556 (即现在的目标函数值加上后面的对偶价格)d) 对x2的目标函数系数进行灵敏度分析;Ranges in which the basis is unchanged:Objective Coefficient RangesCurrent Allowable Allowable Variable Coefficient Increase Decrease X1 8.000000 INFINITY 1.250000 X2 6.000000 1.111111 INFINITYRighthand Side RangesRow Current Allowable Allowable RHS Increase Decrease2 12.00000 1.000000 12.000003 24.00000 INFINITY 14.666674 13.00000 INFINITY 1.000000 在最优基不变的情况下,目标函数中x2系数的变化范围是(-∞,7.111111)e) 对第2个约束的约束右端项进行灵敏度分析;在最优基不变的情况下,给出了影子价格有意义条件下第二个约束右端的限制范围(9.33333,24)f ) 结合本题的结果解释“Reduced Cost”的含义表示最优单纯形表中判别数所在行的变量的系数,表示当变量有微小变动时, 目标函数的变化率。
数学实验题集

数学实验题集一.线性规划1.某厂有一台制杯机,可生产两种型号的杯子,A 型杯每6小时可生产100箱,B 型杯每5小时可生产100箱,这台机器每周生产时间为60小时,生产出的产品堆放在仓库里,库容量为15000立方米,A 型杯每箱占有空间10立方米,B 型杯每箱占有空间20立方米,生产A 型杯每箱可获利5元,B 型杯每箱可获利4.5元,客户每周到仓库提货一次,其中A 型杯需求量不超过800箱,B 型杯有多少需要多少,问每周各应生产多少箱A 、B 型杯子,使工厂获利最多。
参考答案:线性规划模型:max 215.45x x + s.t.601005100621=+x x 150********≤+x x 8001≤x 0,21≥x x 程序:ConstrainedMax 5x1 4.5x2,6100x15100x260,10x120x215000,x1800,x1,x2运行结果:5142.86,x1642.857,x2428.5712.某工厂在计划计划期内要安排生产A 、B 两种产品。
A 产品每件可获利6元,B 产品每件可获利4元,生产这两种产品每件需机器的台时数分别为2和3个单位,需劳动工时数分别为4和2个单位。
已知该厂在计划期内可提供100个单位的机器台时数和120个单位的劳动工时数。
问如何安排生产计划,才能使这个工厂获利最大。
参考答案:线性规划模型:max 2146x x +s.t. 1003221≤+x x1202421≤+x x 0,21≥x x程序:ConstrainedMax 6x14x2,2x13x2100,4x12x2120,x1,x2运行结果:200,x120,x2203.问如何安排生产计划,使得到的利润最大?参考答案:线性规划模型:max 2132x x + s.t. 122221≤+x x 8221≤+x x 1641≤x 1242≤x 0,21≥x x程序:ConstrainedMax 2x13x2,2x12x212,x12x28,4x116,4x212,x1,x2运行结果:14,x14,x224.某工厂生产A 、B 两种产品,已知制造产品A 一百桶分别需要原料P 、Q 、R5千克、300千克、12千克,可得利润8000元。
实验八线性规划

目标函数: c1 x1 c2 x2 ... cn xn Z max(Z min)
数学实验
求解线性规划数学模型就是在满足约束条件和非负条件之下,使得目标函数为 称变量 xn1 , xn2 ,...,xnm 松弛变量(或附加变量)
最大(或最小),确定 变量
食品P 食品Q
6 2
2 4
2 2
min z=8x1+7x2 s.t. 6x1+2x2≥12 2x1+4x2≥10 2x1+2x2≥8 x1,x2≥0
解 设所需食品P的重量是x1 kg,所 需食品Q的重量是x2 kg,总成本为 z元,并且设人体吸收食品P、Q中 的所有维生素B1、B2、B3,则:
数学实验
执行过程:>>shy805
x=
0 15.0000 3.0000 z= -78.0000
结果分析:所以最优解x=(0,15,3), 最大值z=-78
数学实验
例4求解 Max z=2x1+3x2-5x3 s.t. 2x1-5x2+x3≥10 x1+x2+x3=7 x1,x2,x3≥0 程序:shy806.m文件
产品 甲 乙 电耗/吨(kW) 煤耗/吨(吨) 4 5 9 4 劳动力(人) 3 10 产值(万元) 7 12
已知该厂劳动力最多只有300个,按计划煤耗每天不超过360吨, 电耗每天不超过200kW。问每天如何按排生产,可使产值最大。 分析:首先,设工厂设备 运转正常、平稳,且也不 存在其他外来干扰;甲、 乙两产品每天各生产x吨、 y吨,每天产值为S。则由 已知条件可得: Max S=7x+12y s.t. 9x+4y≤360 4x+5y≤200 3x+10y≤300 x≥0,y≥0
线性规划实验报告

一、实验目的通过本次实验,了解线性规划的基本原理和方法,掌握线性规划模型的建立和求解过程,提高解决实际问题的能力。
二、实验内容1. 线性规划模型的建立2. 利用Lingo软件进行线性规划模型的求解3. 分析求解结果,进行灵敏度分析三、实验步骤1. 建立线性规划模型以某公司生产问题为例,建立线性规划模型。
设该公司有三种产品A、B、C,每种产品分别需要原材料X1、X2、X3,且原材料的价格分别为p1、p2、p3。
公司拥有一定的生产设备,每种产品的生产需要消耗一定的设备时间,设备时间的价格为p4。
设A、B、C产品的生产量分别为x1、x2、x3,原材料消耗量分别为y1、y2、y3,设备使用量分别为z1、z2、z3。
目标函数:最大化利润Z = p1x1 + p2x2 + p3x3 - p4(z1 + z2 + z3)约束条件:(1)原材料消耗限制:y1 ≤ 10x1,y2 ≤ 8x2,y3 ≤ 5x3(2)设备使用限制:z1 ≤ 6x1,z2 ≤ 4x2,z3 ≤ 3x3(3)非负限制:x1 ≥ 0,x2 ≥ 0,x3 ≥ 0,y1 ≥ 0,y2 ≥ 0,y3 ≥ 0,z1 ≥ 0,z2 ≥ 0,z3 ≥ 02. 利用Lingo软件进行线性规划模型的求解打开Lingo软件,按照以下步骤输入模型:① 在“Model”菜单中选择“Enter Model”;② 输入目标函数:@max = p1x1 + p2x2 + p3x3 - p4(z1 + z2 + z3);③ 输入约束条件:@and(y1 <= 10x1, y2 <= 8x2, y3 <= 5x3);@and(z1 <= 6x1, z2 <= 4x2, z3 <= 3x3);@and(x1 >= 0, x2 >= 0, x3 >= 0, y1 >= 0, y2 >= 0, y3 >= 0, z1 >= 0, z2 >= 0, z3 >= 0);④ 在“Model”菜单中选择“Solve”进行求解。
线性规划综合性实验报告

《线性规划综合性实验》报告一、实验目的与要求掌握线性规划建模的方法以及至少掌握一种线性规划软件的使用,提高应用线性规划方法解决实际问题的实践动手能力。
通过实验,更深入、直观地理解和掌握线性规划的基本概念及基本理论和方法。
要求能对一般的线性规划问题建立正确的线性规划数学模型,掌握运筹学软件包WinQSB中Linear and Integer Programming模块的操作方法与步骤,能对求解结果进行简单的应用分析。
二、实验内容与步骤1.确定线性规划问题(写出线性规划问题)2.建立线性规划模型(写出线性规划数学模型)3.用WinQSB中Linear and Integer Programming模块求解线性规划模型(写出求解的具体步骤)4.对求解结果进行应用分析(指出最优方案并作出一定的分析)三、实验题目、实验具体步骤及实验结论(一)线性规划问题某集团摩托车公司产品年度生产计划的优化研究1)问题的提出某集团摩托车公司是生产各种类型摩托车的专业厂家,有30多年从事摩托车生产的丰富经验。
近年来,随着国内摩托车行业的发展,市场竞争日趋激烈,该集团原有的优势逐渐丧失,摩托车公司的生存和发展面临严峻的挑战。
为此公司决策层决心顺应市场,狠抓管理,挖潜创新,从市场调查入手,紧密结合公司实际,运用科学方法对其进行优化组合,制定出1999年度总体经济效益最优的生产计划方案。
2)市场调查与生产状况分析1998年,受东南亚金融风暴的影响,国内摩托车市场出现疲软,供给远大于需求,该集团的摩托车生产经营也出现开工不足、库存增加和资金周转困难等问题。
该集团共有三个专业厂,分别生产轻便摩托车、普通两轮车和三轮摩托车三大系列产品。
在市场调查的基础上,从企业实际出发普遍下调整车出厂价和目标利润率,有关数据如下表1资金占用情况如下表2由于发动机改型生产的限制,改型车M3和M6两种车1999年的生产量预测数分别为20000辆和22000辆。
数学实验报告——利用MALTAB进行线性规划

数学实验报告——利用M A L T A B进行线性规划(总12页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--数学实验报告——利用MALTAB进行线性规划实验六线性规划一、债券投资㈠问题描述给定可供购进的证券以及其信用等级、到期年限、收益。
市政证券的收益可以免税,其他证券的收益需按50%的税率纳税。
此外还有以下限制:(1) 政府及代办机构的证券总共至少要购进400万元;(2) 所购证券的平均信用等级不超过1.4;(3) 所购证券的平均到期年限不超过5年。
1、若经理有1000万元资金,应如何进行投资?2、如果能以2.75%的利率借到不超过100万元资金,该经理应如何操作?3、在1000万元资金情况下,若证券A的税前收益增加为4.5%,投资应够改变?若证券C的税前收益减少为4.8%,投资应否改变?㈡简要分析本题是一个比较简单的线性规划+扰动分析问题,对所谓问题进行建模,可以得到线性规划如下:设分别购入A、B、C、D、E五种证券a、b、c、d、e万元。
于是对第1问有b+c+d≥4002a+2b+c+d+5e≤1.4(a+b+c+d+e)9a+15b+4c+3d+2e≤5(a+b+c+d+e)a+b+c+d+e≤100a,b,c,d,e≥0max f=4.3%a+5.4%×50%b+5%×50%c+4.4%×50%d+4.5%e对第2问,增设a1,b1,c1,d1,e1分别表示用借来的资金购买证券的金额,于是规划变为b+c+d+b1+c1+d1≥4002(a+a1)+2(b+b1)+c+c1+d+d1+5(e+e1)≤1.4(a+b+c+d+e+a1+b1+c1+d1+e1) 9(a+a1)+15(b+b1)+4(c+c1)+3(d+d1)+2(e+e1)≤5(a+b+c+d+e+a1+b1+c1+d1+e1)a+b+c+d+e≤1000a1+b1+c1+d1+e1≤100a,b,c,d,e,a1,b1,c1,d1,e1≥0max f=4.3%(a+a1)+5.4%×50%(b+b1)+5%×50%(c+c1)+4.4%×50%(d+d1)+4.5%(e+e1)−2.75%(a1+b1+c1+d1+e1)对第三问,仅需将第一问中的规划做一点修改即可。
MATLAB数学实验报告

MATLAB数学实验报告姓名:李帆班级:机械(硕)21学号:2120104008第一次数学实验报告——线性规划问题一,实验问题1,某饲养场饲养动物出售,设每头动物每天至少需要700g蛋白质,30g矿物质,100mg 维生素。
现有五种饲料可供选择,各种饲料的每千克营养成分含量和单价如下表。
是确定既能满足动物生长的营养需要,游客是费用最省的选用饲料方案。
2,某工厂生产甲、乙、丙三种产品,单位产品所需工时分别为2、3、1个;单位产品所需原料分别为3、1、5公斤;单位产品利润分别为2、3、5元。
工厂每天可利用的工时为12个,可供应的原料为15公斤。
为使总利润为最大,试确定日生产计划和最大利润。
二,问题分析1,1)该题属于采用线性规划的方式求出最优解的数学问题。
该题有以下特点,1.目标函数有线性,是求目标函数的最小值;2.约束条件为线性方程组;3.未知变量都有非负限制。
1,2)求解该类问题的方法有图解法,理论解法和软件解法。
图解法常用于解变量较少的线性规划问题。
理论解法要构建完整的理论体系。
目前用于解线性规划的理论解法有:单纯形法,椭球算法等。
在此,我们采用单纯形法的MATLAB软件解法来求解该问题。
1,3)此题中,要求既要满足动物生长的营养需要,又要使费用最省,则使每种饲料的选用量为变量,以总费用的最小值为所求量,同时每种饲料的使用量要符合营养成分的要求。
1,4)在此,首先确定建立线性规划模型。
设饲料i选用量为xi公斤,i=1,2,3,4,5.则有模型:Minz=0.2x1+0.7x2+0.4x3+0.3x4+0.8x5s.t. {3x1+2x2+6x4+18x5>=700;x1+0.5x2+0.2x3+2x4+0.5x5>=300.5x1+x2+0.2x3+2x4+0.8x5>=100Xj>=0,j=1,2,3,4,5解之得:x1=x2=x3=0X4=39.74359X5=25.14603Zmin=32.435902, 1)该问题与第一题分析步骤相似,故只在此写出其线性规划模型Z=2x+3y+5z2x+3y+z<=123x+y+5z<=15三,程序设计流程图第一题:c=[0.2,0.7,0.4,0.3,0.8]A=[3,2,1,6,18;1,0.5,0.2,2,0.5;0.5,1,0.2,2,0.8;1,0,0,0,0;0,1 ,0,0,0;0,0,1,0,0;0,0,0,1,0;0,0,0,0,1]b=[700,30,100,0,0,0,0,0][x,fval]=linprog(c,-A,-b)c =0.2000 0.7000 0.4000 0.3000 0.8000A =3.0000 2.0000 1.0000 6.0000 18.00001.0000 0.5000 0.20002.0000 0.50000.5000 1.0000 0.2000 2.0000 0.80001.0000 0 0 0 00 1.0000 0 0 00 0 1.0000 0 00 0 0 1.0000 00 0 0 0 1.0000b =700 30 100 0 0 0 0 0Optimization terminated.x =0.0000-0.00000.000039.743625.6410fval =32.4359第二题c=[-2 -3 -5]A=[2 3 1;3 1 5]b=[12;15]lb=[0 0 0][x,Z,exitflag,output]=linprog(c,A,b,[],[],lb,[])将上述程序输入matlab。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验5 线性规划分1 黄浩 43一、实验目的1.掌握用MATLAB工具箱求解线性规划的方法2.练习建立实际问题的线性规划模型二、实验内容1.《数学实验》第二版(问题6)问题叙述:某银行经理计划用一笔资金进行有价证券的投资,可供购进的证券以及其信用等级、到期年限、收益如下表所示。
按照规定,市政证券的收益可以免税,其他证券的收益需按50%的税率纳税。
此外还有如下限制:(1).政府及代办机构的证券总共至少要购进400万元;(2).所购证券的平均信用等级不超过1.4(信用等级数字越小,信用程度越高);(3).所购证券的平均到期年限不超过5年I.若该经理有1000万元资金,该如何投资?II.如果能够以2.75%的利率借到不超过100万元资金,该经理应如何操作?III.在1000万元资金情况下,若证券A的税前收益增加为4.5%,投资应否改变?若证券C的税前收益减少为4.8%,投资应否改变?模型转换及实验过程:I.设经理对于上述五种证券A 、B 、C 、D 、E 的投资额分别为:x 1、x 2、x 3、x 4、x 5(万元),全部到期后的总收益为z 万元。
由题目中的已知条件,可以列出约束条件为:{ x 2+x 3+x 4≥4002x 1+2x 2+x 3+x 4+5x 5≤1.4(x 1+x 2+x 3+x 4+x 5)9x 1+15x 2+4x 3+3x 4+2x 5≤5(x 1+x 2+x 3+x 4+x 5)x 1+x 2+x 3+x 4+x 5≤1000}而决策变量x =(x 1,x 2,x 3,x 4,x 5)T 的上下界约束为:x i ∈[0,1000]目标函数z =0.043x 1+0.027x 2+0.025x 3+0.022x 4+0.045x 5 将上述条件转变为matlab 的要求形式:使用matlab 解上述的线性规划问题(程序见四.1),并整理成表格:得出结论:当经理对A 、B 、C 、D 、E 五种证券分别投资218.18、0、736.36、0、45.45万元时,在全部收回时可得到29.836万元的税后收益,而且这种投资方式所得收益是最大的。
讨论:尝试输出该约束条件下的拉格朗日乘子:λ=(0 ,0.00618 ,0.00236 ,0.02984)T该乘子表示,第一个约束条件对目标函数的取值不起作用,而剩余三个约束条件取严格等号的时候,目标函数达到最优解。
下面验证之:由解得的x 值,代入四个约束条件中,得:{ −x 2−x 3−x 4=−736.36≪−4000.6x 1+0.6x 2−0.4x 3−0.4x 4+3.6x 5=0.016≈04x 1+10x 2−x 3−2x 4−3x 5=0.01≈0x 1+x 2+x 3+x 4+x 5=999.99≈1000}因为决策变量x 的取值经过了四舍五入,因而后三个约束条件最终是“约等于”,但已经十分接近,若使用更高精度的x ,则该三式是可以严格等于的。
以上便从实验角度证明了拉格朗日乘子的其中一条数学意义——非零分量对应于起作用的约束,且这些约束取严格等于的时候,目标函数达到最优解。
II.若能以2.75%的利率借到不超过100万元资金,那么还可以将这部分资金进行证券投资,设借款金额为x 6,则线性规划条件改为: 使用matlab 求解(程序见四.2)并整理成表格: 名称证券A 证券B 证券C 证券D 证券E 借款额 总收益 金额(万元) 240 0 810 0 50 100 30.07得出结论:当经理在以2.75%的利率借款100万元后,且对A 、B 、C 、D 、E 五种证券分别投资240、0、810、0、50万元时,在全部收回投资时可得到30.07万元的税后收益,而且这种投资方式所得收益是最大的。
讨论:本小题中借款的利率2.75%设为了与借款时间无关的量,即无论借多长时间,最终只需多缴纳0.0275倍借款额的利息,这显然是与实际不符的。
在这种情况下,借款额x6的数值显然是100(万元),因为其他五种证券的收益率都高于贷款利率(也可看做负的收益率),借款越多,其他高收益证券就可以有更多本金,收益就越大,因而该情况下,借款多多益善。
而实际情况下,贷款利率是按年计算的,在这种情况下,还需要考虑还款时间。
III.若证券A的税前收益增加为4.5%,则目标函数变为:z=0.045x1+0.027x2+0.025x3+0.022x4+0.045x5使用matlab解上述线性规划问题(程序见四.3),并整理成表格:因此,证券A的税前收益增加为4.5%时,投资方式不需改变,而总收益提高为30.273万元同样,若证券C的税前收益减少为4.8%,则目标函数变为:z=0.043x1+0.027x2+0.024x3+0.022x4+0.045x5使用matlab解上述线性规划问题(程序见四.4),并整理成表格:因此,当证券C的税前收益减少为4.8%时,投资方式发生了很大改变,证券A和E有少量的变化,证券C被完全舍弃,原C的资金大部分改投证券D,而总收益也由29.836万元下降为29.424万元。
得出结论:若证券A的税前收益增加为4.5%,投资不需改变。
总收益增加为30.273万元。
而若证券C的税前收益减少为4.8%,投资需要发生改变,五个证券的投资额相应变为336、0、0、648、16万元。
总收益下降为29.424万元。
2.《数学实验》第二版(问题8)问题叙述:某牧场主知道,对于一匹平均年龄的马来说,最低的营养需求为:40磅蛋白质,20磅碳水化合物,45磅粗饲料。
这些营养成分是从不同饲料中得到的,饲料及其价格在下表中列出。
建立数学模型,确定如何以最低的成本满足最低的营养需求。
模型转换及实验过程:设牧场主对于每一匹马的供给量为:x 1捆干草,x 2袋燕麦片,x 3块饲料块,x 4袋高蛋白浓缩料。
每匹马耗费资金z 美元。
则可列出约束条件为:{0.5x 1+x 2+2x 3+6x 4≥402x 1+4x 2+0.5x 3+x 4≥205x 1+2x 2+x 3+2.5x 4≥45}而决策变量x =(x 1,x 2,x 3,x 4)T ,x i ≥0目标函数:z = 1.8x 1+3.5x 2+0.4x 3+x 4改换成matlab 的要求格式:使用matlab 解上述的线性规划问题(程序见四.5),结果整理成表格:项目 干草/捆 燕麦片/袋 饲料块/块 高蛋白浓缩料/袋 资金/美元得出结论:当牧场主给每匹马配备5捆干草、20块饲料块时,能以每匹马17美元的最低的成本满足最低的营养需求。
讨论:与第一题类似,尝试输出该约束条件下的拉格朗日乘子:λ=(0 ,0.4 ,0.2)T这说明,蛋白质的需求量不是有效约束条件,而碳水化合物和粗饲料的需求是有效约束条件,二者在严格等于的时候才会出现最优解。
下面再证明拉格朗日乘子的另一个数学意义:影子价格,λ表示对应约束的右端项增加一个单位时,目标函数的增加量(最大化问题)或减少量(最小化问题)。
分别对一匹马的蛋白质、碳水化合物、粗饲料需求量加1,使用matlab求解这三种线性规划,得目标函数的最优解如下:z1=17z2=17.4z3=17.287可见,z1没有变化,验证了蛋白质的需求量不是有效约束条件这一性质,z2的增量为λ2=0.4,也验证了影子价格的性质。
但奇怪的是,z3却没有按照预期增加0.2,而是增加了0.287个单位。
再将粗饲料的增值设为0.1,其他增值设为0,重复实验,得z3=17.02,即目标函数的增量为0.1∗λ2,符合预期。
然而为什么当增值设为1时,便得不到预期的目标函数的增量了呢?,当约束条因为拉格朗日乘子仅在一定范围内,代表影子价格,即λ=dzdb件的改变达到一定程度后,拉格朗日乘子便不再表示正确的影子价格了。
而在matlab中,无法调用函数操作来输出拉格朗日乘子的使用范围,只有在LINGO 或LINDO中才能给出。
三、实验总结本次实验是求解两个实际的线性规划问题,相对于之前的实验,本次的内容较少,操作也很简单。
除了需要注意一下matlab对于线性规划问题的标准格式,搞清楚min和max的区别、大于与小于的区别之外,没有其他易错点。
相对于这两道题的实际情景,我在本次实验中更关心拉格朗日乘子这个数学概念的深层意义。
通过附加的实验,我证明了拉格朗日乘子的两条数学含义,它的零分量对应于不起作用的约束,且为严格不等式约束,非零分量对应于起作用的约束,且为严格等式约束,且分量数值代表约束右端项改变一个单位时,目标函数的改变量,即影子价格。
当然,拉格朗日乘子也有一定的使用范围,当约束右端项改变达到一定程度,使得各个约束之间的优劣关系发生改变时,原条件下的拉格朗日乘子便不能代表当前的影子价格了。
四、程序清单1.第一题小问c=[-0.043,-0.027,-0.025,-0.022,-0.045];A1=[0,-1,-1,-1,0;0.6,0.6,-0.4,-0.4,3.6;4,10,-1,-2,-3;1,1,1,1,1];b1=[-400;0;0;1000];v1=[0,0,0,0,0];v2=[1000,1000,1000,1000,1000];opt=optimset('largescale','off','simplex','on');[x,fv,ef,out,lambda]=linprog(c,A1,b1,[],[],v1,v2,[],opt)2.第一题II小问c=[-0.043,-0.027,-0.025,-0.022,-0.045,0.0275];A1=[0,-1,-1,-1,0,0;0.6,0.6,-0.4,-0.4,3.6,0;4,10,-1,-2,-3,0;1,1,1,1,1,-1];b1=[-400;0;0;1000];v1=[0,0,0,0,0,0];v2=[1100,1100,1100,1100,1100,100];opt=optimset('largescale','off','simplex','on');[x,fv,ef,out,lambda]=linprog(c,A1,b1,[],[],v1,v2,[],opt)3.第一题III小问——A的税前收益增加为4.5%c=[-0.045,-0.027,-0.025,-0.022,-0.045];A1=[0,-1,-1,-1,0;0.6,0.6,-0.4,-0.4,3.6;4,10,-1,-2,-3;1,1,1,1,1];b1=[-400;0;0;1000];v1=[0,0,0,0,0];v2=[1000,1000,1000,1000,1000];opt=optimset('largescale','off','simplex','on');[x,fv,ef,out,lambda]=linprog(c,A1,b1,[],[],v1,v2,[],opt)4.第一题III小问——C的税前收益减少为4.8%c=[-0.043,-0.027,-0.024,-0.022,-0.045];A1=[0,-1,-1,-1,0;0.6,0.6,-0.4,-0.4,3.6;4,10,-1,-2,-3;1,1,1,1,1]; b1=[-400;0;0;1000];v1=[0,0,0,0,0];v2=[1000,1000,1000,1000,1000];opt=optimset('largescale','off','simplex','on');[x,fv,ef,out,lambda]=linprog(c,A1,b1,[],[],v1,v2,[],opt)5.第二题c=[1.8,3.5,0.4,1];A1=-[0.5,1,2,6;2,4,0.5,1;5,2,1,2.5];b1=[-40;-20;-45];v1=[0,0,0,0];opt=optimset('largescale','off','simplex','on');[x,fv,ef,out,lambda]=linprog(c,A1,b1,[],[],v1,[],[],opt)。