实验一:线性规划
- 格式:doc
- 大小:81.00 KB
- 文档页数:6
一、实验目的1、掌握线性规划求解的基本方法,熟悉灵敏度分析的步骤和内容;2、掌握运输问题的模型,概念,求解方法;3、掌握整数规划的算法。
4、熟悉lingo软件基本功能,并能熟练操作,正确完成模型求解过程及分析过程。
二、实验内容或设计思想1、lingo软件和运筹学实验软件的安装及菜单熟悉了解。
2、lingo软件和运筹学实验软件应用:任选几种不同类型的LP输入计算程序,运行求解;完成产销平衡的运输问题求解;求解任一整数规划。
三、实验环境与工具计算机,lingo软件,运筹学软件四、实验过程或实验数据1、用lingo软件求解线性规划【例题1】某家具公司制造书桌、餐桌和椅子,所用的资源有三种:木料、木工和漆工。
生产数据如下表所示:解:(1)用DESKS、TABLES和CHAIRS分别表示三种产品的生产量,建立LP模型。
max=60*desks+30*tables+20*chairs;8*desks+6*tables+chairs<=48;4*desks+2*tables+1.5*chairs<=20;2*desks+1.5*tables+.5*chairs<=8;tables<=5;(2)求解这个模型,得如下结果:Global optimal solution found.Objective value: 280.0000Infeasibilities: 0.000000Total solver iterations: 2Variable Value Reduced CostDESKS 2.000000 0.000000TABLES 0.000000 5.000000CHAIRS 8.000000 0.000000Row Slack or Surplus Dual Price1 280.0000 1.0000002 24.00000 0.0000003 0.000000 10.000004 0.000000 10.000005 5.000000 0.000000(3)结论:2、用LINGO软件求解运输问题【例题1】6个发点8个收点的最小费用运输问题。
实验一:线性规划班级 姓名 学号一、实验目的:学会用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”的含义表示最优单纯形表中判别数所在行的变量的系数,表示当变量有微小变动时, 目标函数的变化率。
实验一线性规划模型一、实验目的掌握数学软件Lingo编程求解线性规划模型。
二、实验内容1 安装并启动Lingo软件,了解Lingo软件子菜单内容及其功能,掌握操作命令。
2 输入模型,求解模型,结果的简单分析,用Lingo软件求解书P47练习1.1。
3 用Lingo软件完成下列问题(1) 写出对偶线性规划;(2) 求原问题和对偶问题的最优解;(3) 分别写出价值系数和右端常数的最大允许变化范围;(4) 目标函数改为C=(5,3,6),同时常数改为b=(120,140,100),求最优解;(5) 增加一个设备约束和一个变量,系数为()=(7,5,4,1,2),求最优解。
4 思考题书P52案例1.2。
三、实验指导参考PDF文档。
四、实验程序和结果(学生填)2.题目1.1(a)输入程序:min=2*x1+3*x2;4*x1+6*x2>=6;4*x1+2*x2>=4;x1>=0;x2>=0;运行Global optimal solution found at iteration: 0Objectivevalue: 3.000000 Variable Value Reduced CostX1 0.7500000 0.000000X2 0.5000000 0.000000Row Slack or Surplus Dual Price1 3.000000 -1.0000002 0.000000 -0.50000003 0.000000 0.0000004 0.7500000 0.0000005 0.5000000 0.000000即x1=0.75,x2=0.5,min=3(b)max=3*x1+2*x2;2*x1+x2<=2;3*x1+4*x2>=12;x1>=0;x2>=0;Variable Value Reduced Cost X1 0.000000 0.7500000E+10 X2 2.000000 0.000000 Row Slack or Surplus Dual Price1 4.000000 1.0000002 0.000000 0.6000000E+103 -4.000000 -0.1500000E+104 0.000000 0.0000005 2.000000 0.000000 无可行解(c)max=x1+x2;6*x1+10*x2<=120;x1>=5;x1<=10;x2>=3;x2<=8;Global optimal solution found at iteration: 0Objectivevalue: 16.00000 Variable Value Reduced CostX1 10.00000 0.000000X2 6.000000 0.000000Row Slack or Surplus Dual Price1 16.00000 1.0000002 0.000000 0.10000003 5.000000 0.0000004 0.000000 0.40000005 3.000000 0.0000006 2.000000 0.000000即下,x1=10,x2=6,max=16(d)max=5*x1+6*x2;2*x1-x2>=2;-2*x1+3*x2<=2;x1>=0;x2>=0;Variable Value Reduced Cost X1 2.000000 0.000000X2 2.000000 0.000000 Row Slack or Surplus Dual Price1 22.00000 1.0000002 0.000000 6.7500003 0.000000 4.2500004 2.000000 0.0000005 2.000000 0.000000 即无界解2.(1)对偶问题为min=100*y1+100*y2+120*y3;2*y1+3*y2+3*y3>=42*y1+y2+y3>=24*y1+6*y2+2*y3>=3y1>=0y2>=0y3>=0(2)求原问题最优解,输入:max=4*x1+2*x2+3*x3;2*x1+2*x2+4*x3<=100;3*x1+x2+6*x3<=100;3*x1+x2+2*x3<=120;x1>=0;x2>=0;x3>=0;Global optimal solution found at iteration: 2Objectivevalue: 150.0000 Variable Value Reduced CostX1 25.00000 0.000000X2 25.00000 0.000000 X3 0.000000 5.000000 Row Slack or Surplus Dual Price1 150.0000 1.0000002 0.000000 0.50000003 0.000000 1.0000004 20.00000 0.0000005 25.00000 0.0000006 25.00000 0.0000007 0.000000 0.000000 即下,x1=25,x2=25,x3=0,max=150求对偶问题最优解,输入min=100*y1+100*y2+120*y3;2*y1+3*y2+3*y3>=4;2*y1+y2+y3>=2;4*y1+6*y2+2*y3>=3;y1>=0;y2>=0;y3>=0;Global optimal solution found at iteration: 0Objectivevalue: 150.0000 Variable Value Reduced CostY1 0.5000000 0.000000Y2 1.000000 0.000000Y3 0.000000 20.00000Row Slack or Surplus Dual Price1 150.0000 -1.0000002 0.000000 -25.000003 0.000000 -25.000004 5.000000 0.0000005 0.5000000 0.0000006 1.000000 0.0000007 0.000000 0.000000 即,y1=0.5,y2=1,y3=0,min=150.(3)即(4)输入max=5*x1+3*x2+6*x3;2*x1+2*x2+4*x3<=120;3*x1+x2+6*x3<=140;3*x1+x2+2*x3<=120;Global optimal solution found at iteration: 2Objectivevalue: 240.0000 Variable Value Reduced CostX1 30.00000 0.000000X2 30.00000 0.000000X3 0.000000 0.000000Row Slack or Surplus Dual Price1 240.0000 1.0000002 0.000000 1.0000003 20.00000 0.0000004 0.000000 1.000000 即,x1=30,x2=30,x3=0,max=240(5)输入max=4*x1+2*x2+3*x3+7*x4;2*x1+2*x2+4*x3+5*x4<=100;3*x1+x2+6*x3+4*x4<=100;3*x1+x2+2*x3+x4<=120;6*x1+5*x2+x3+2*x4<=200;x1>=0;x2>=0;x3>=0;x4>=0;Global optimal solution found at iteration: 0Objectivevalue: 157.1429 Variable Value Reduced CostX1 14.28571 0.000000X2 0.000000 0.2857143X3 0.000000 5.000000X4 14.28571 0.000000Row Slack or Surplus Dual Price1 157.1429 1.0000002 0.000000 0.71428573 0.000000 0.85714294 62.85714 0.0000005 85.71429 0.0000006 14.28571 0.0000007 0.000000 0.0000008 0.000000 0.0000009 14.28571 0.000000 即x1=14.25771,x2=0,x3=0,x4=14.28571,max=157.1429。
实验一:利用Lingo 软件求解线性规划问题实验一 利用Lingo 软件求解线性规划问题1、 实验目的和任务1.1. 进一步掌握Lingo 编程操作;1.2通过实验进一步掌握运筹学线性规划问题的建模以及求解过程,提高学生分析问题和解决问题能力。
2、 实验仪器、设备及材料计算机、Lingo3、 实验内容料场选址问题P10某公司有6个建筑工地要开工,每个工地的位置(用平面坐标a,b 表示,距离单位:km )及水泥日用量d(单位:t)由下表给出,目前有两个临时料场位于P (5,1),Q (2,7),日储量各有20t.请回答以下问题: 假设从料场到工地之间有直线道路相连,试制定每天的供应计划,即从P,Q 两料场分别向各工地运送多少吨水泥,使总的吨公量数最小。
工地的位置(a,b )及水泥日用量d建模 设工地的位置为(,)i i a b ,水泥日用量为i d ,i=1,2,…,6;料场位置为(,)j j x y ,日储量为j e ,j=1,2; 从料场j 向工地i 的运送量为ij c 。
决策变量:在问题(1)中,决策变量就是料场j 向工地i 的运送量为ij c ;在问题(2)中,决策变量除了料场j 向工地i 的运送量为ij c 外,新建料场位置(,)j j x y 也是决策变量。
目标函数:这个优化问题的目标函数f 是总砘公量数(运量乘以运输距离),所以优化目标可表为2611min j i f c ===∑∑约束条件:各工地的日用量必须满足,所以21,1,2, (6)ij ijc d i ===∑各料场的运送量不能超过日储量,所以61,1,2. ij jic e j =≤=∑求解过程编写模型程序:(介绍集合的定义及应用)model:sets:!确定变量a(1),a(2),a(3),a(4),a(5),a(6);demand/1..6/:a,b,d;supply/1..2/:x,y,e;link(demand,supply):c;endsetsdata:!分割数据的空格与逗号或回车的作用是等价的;a=1.25 8.75 0.5 5.75 3 7.25;b=1.25,0.75,4.75,5,6.5,7.75;d=3,5,4,7,6,11;e=20,20;!a=enddatainit:!lingo对数据是按列赋值的,而不是按行;x,y=5,1,2,7;endinit[OBJ] min=@sum(link(i,j):c(i,j)*((x(j)-a(i))^2+(y(j)-b(i))^2)^(1/2));@for(demand(i):[demand_con] @sum(supply(j):c(i,j))=d(i););@for(supply(i):[supply_con] @sum(demand(j):c(j,i))<=e(i););@for(supply(i):@bnd(0.5,x(i),8.75);@bnd(0.75,y(i),7.75););End计算结果:(如果你使用的是试用版软件,则可能不能用全局求解器求解本例,因为问题规模太大了,激活全局最优求解程序的方法,是用“lingo|Options”菜单命令打开选项对话框,在“Global Solver”选项卡上选择“Use Global Solver”)Local optimal solution found.Objective value: 85.26604Total solver iterations: 61Variable Value Reduced CostA( 1) 1.250000 0.000000A( 2) 8.750000 0.000000A( 3) 0.5000000 0.000000A( 4) 5.750000 0.000000A( 5) 3.000000 0.000000A( 6) 7.250000 0.000000B( 1) 1.250000 0.000000B( 2) 0.7500000 0.000000B( 3) 4.750000 0.000000B( 4) 5.000000 0.000000B( 5) 6.500000 0.000000B( 6) 7.750000 0.000000D( 1) 3.000000 0.000000D( 2) 5.000000 0.000000D( 3) 4.000000 0.000000D( 4) 7.000000 0.000000D( 5) 6.000000 0.000000D( 6) 11.00000 0.000000X( 1) 3.254883 0.000000X( 2) 7.250000 0.6335133E-06 Y( 1) 5.652332 0.000000Y( 2) 7.750000 0.5438639E-06 E( 1) 20.00000 0.000000E( 2) 20.00000 0.000000C( 1, 1) 3.000000 0.000000C( 1, 2) 0.000000 4.008540C( 2, 1) 0.000000 0.2051358C( 2, 2) 5.000000 0.000000C( 3, 1) 4.000000 0.000000C( 3, 2) 0.000000 4.487750C( 4, 1) 7.000000 0.000000C( 4, 2) 0.000000 0.5535090C( 5, 1) 6.000000 0.000000C( 5, 2) 0.000000 3.544853C( 6, 1) 0.000000 4.512336C( 6, 2) 11.00000 0.000000Row Slack or Surplus Dual PriceOBJ 85.26604 -1.000000DEMAND_CON( 1) 0.000000 -4.837363DEMAND_CON( 2) 0.000000 -7.158911DEMAND_CON( 3) 0.000000 -2.898893DEMAND_CON( 4) 0.000000 -2.578982DEMAND_CON( 5) 0.000000 -0.8851584DEMAND_CON( 6) 0.000000 0.000000SUPPLY_CON( 1) 0.000000 0.000000SUPPLY_CON( 2) 4.000000 0.000000如果把料厂P,Q的位置看成是已知并且固定的,这时是LP模型,只需把上面的程序中初始段的语句移到数据段就可以了。
运筹学实验指导书-CAL-FENGHAI.-(YICAI)-Company One1实验一、线性规划综合性实验一、实验目的与要求:使学生掌握线性规划建模的方法以及至少掌握一种线性规划软件的使用,提高学生应用线性规划方法解决实际问题的实践动手能力。
通过实验,使学生更深入、直观地理解和掌握线性规划的基本概念及基本理论和方法。
要求学生能对一般的线性规划问题建立正确的线性规划数学模型,掌握运筹学软件包线性规划模块的操作方法与步骤,能对求解结果进行简单的应用分析。
二、实验内容与步骤:1.选择合适的线性规划问题学生可根据自己的建模能力,从本实验指导书提供的参考选题中或从其它途径选择合适的线性规划问题。
2.建立线性规划数学模型学生针对所选的线性规划问题,运用线性规划建模的方法,建立恰当的线性规划数学模型。
3.用运筹学软件求解线性规划数学模型学生应用运筹学软件包线性规划模块对已建好的线性规划数学模型进行求解。
4.对求解结果进行应用分析学生对求解结果进行简单的应用分析。
三、实验例题:(一)线性规划问题某集团摩托车公司产品年度生产计划的优化研究1)问题的提出某集团摩托车公司是生产各种类型摩托车的专业厂家,有30多年从事摩托车生产的丰富经验。
近年来,随着国内摩托车行业的发展,市场竞争日趋激烈,该集团原有的优势逐渐丧失,摩托车公司的生存和发展面临严峻的挑战。
为此公司决策层决心顺应市场,狠抓管理,挖潜创新,从市场调查入手,紧密结合公司实际,运用科学方法对其进行优化组合,制定出1999年度总体经济效益最优的生产计划方案。
2)市场调查与生产状况分析1998年,受东南亚金融风暴的影响,国内摩托车市场出现疲软,供给远大于需求,该集团的摩托车生产经营也出现开工不足、库存增加和资金周转困难等问题。
该集团共有三个专业厂,分别生产轻便摩托车、普通两轮车和三轮摩托车三大系列产品。
20000辆和22000辆。
为1600万元。
根据以上情况,该公司应如何制定1999年度总体经济效益最优的生产计划方案(二)线性规划建模设X j表示生产M j型摩托车的数量(j=1,2,…,9),则总利润最大的摩托车产品生产计划数学模型为:MaxZ=×+×+×+×+×+×+×+×+×=++++++++满足 X1+X2+X3≤50000 (1)X4+X5+X6≤60000 (2)X7+X8+X9≤10000 (3)++++++++≤4000×5 (4)X3≤20000 (5)X6≤22000 (6)×(X1+X2+X3)+×(X4+X5+X6)+×3(X7+X8+X9)≤3000 (7)++++++++≤1600(8)X j≥0(j=1,2,3,4…9)模型说明:约束(1)、(2)、(3)分别表示三种系列摩托车的最大生产能力限制;约束(4)表示摩托车的生产受流动资金的限制;约束(5)和(6)表示M3和M6两种车产量受发动机供应量限制;约束 (7)表示未销售的产量受库存能力的限制;约束(8)表示未销售产品占用资金的限制。
一、实验目的通过本次实验,了解线性规划的基本原理和方法,掌握线性规划模型的建立和求解过程,提高解决实际问题的能力。
二、实验内容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软件,了解WinQSB软件在Windows环境下的文件管理操作,熟悉软件界面的内容,掌握操作命令。
用WinQSB软件求解线性规划。
(二)内容和要求:安装并启动软件,建立新问题,输入模型,求解模型,结果的简单分析。
(三)操作步骤:例10(1)启动线性规划(LP)和整数规划(ILP)程序。
点击开始—程序—WinQSB—Linear and Integer Programming,(2)点击File—New Problem,出现图所示的问题选项输入界面。
(3)输入数据。
在选择数据输入格式时,选择Spreadsheet Matrix Form则以电子表格形式输入变量系数矩阵和右端常数矩阵,是固定格式,如图所示。
选择Normal Model Form则以自由格式输入标准模型,如图所示。
(4)求解。
点击菜单栏Solve and Analyze,选择Solve the Problem,系统直接显示求解的综合报告如表所示。
例12(1)点击开始—程序—WinQSB—Linear and Integer Programming(2)点击File—New Problem,出现图所示的问题选项(3)输入数据。
在选择数据输入格式时,选择Spreadsheet Matrix Form则以电子表格形式输入变量系数矩阵和右端常数矩阵,是固定格式。
选择Normal Model Form则以自由格式输入标准模型。
(4)求解。
点击菜单栏Solve and Analyze,选择Solve the Problem,系统直接显示求解的综合报告如表所示。
例13(1)启动线性规划(LP)和整数规划(ILP)程序。
点击开始—程序—WinQSB—Linear and Integer Programming,(2)点击File—New Problem,出现图所示的问题选项输入界面。
(3)输入数据。
在选择数据输入格式时,选择Spreadsheet Matrix Form则以电子表格形式输入变量系数矩阵和右端常数矩阵,是固定格式,如图所示。
运筹学实验报告一实验一:线性规划【例l】某制药厂用甲、乙两台机器生产A、B两种药物。
每种药物要经过两道工序,在甲机器上搅拌,在乙机器上包装。
生产每千克药物所需的加工时间以及机器1周可用于加工的总时间如下表1所示。
已知生产每千克药物A的利润是30元,B是25元,问应如何安排1周的生产计划才能使工厂获利最大?表 1 两种药物在各机器上所需加工时间及各机器可用于加工的总时间(1)写出数学模型,建立新问题、输入选项(电子表格、变量取非负连续)、输入数据、存盘、求解模型、结果存盘、观察结果。
(2)将电子表格格式转换成标准模型。
(3)将结果复制到Excel或Word文档中。
(4)分析结果。
解:(1)从已知条件写出该问题的数学模型:max Z=30x1+25x2;2x1+4x2<=40;3x1+2x2<=30;x1>=0,x2>=0.建立新问题、输入选项(电子表格、变量取非负连续)、输入数据、存盘、求解模型、结果存盘、观察结果:求解模型过程Simplex Tableau -- Iteration 1X1 X2 Slack_C1 Slack_C2Basis C(j) 30.0000 25.0000 0 0 R. H. S. RatioSlack_C1 0 2.0000 4.0000 1.0000 0 40.0000 20.0000Slack_C2 0 3.0000 2.0000 0 1.0000 30.0000 10.0000C(j)-Z(j) 30.0000 25.0000 0 0 0Simplex Tableau -- Iteration 1X1 X2 Slack_C1 Slack_C2Basis C(j) 30.0000 25.0000 0 0 R. H. S. RatioSlack_C1 0 2.0000 4.0000 1.0000 0 40.0000 20.0000Slack_C2 0 3.0000 2.0000 0 1.0000 30.0000 10.0000C(j)-Z(j) 30.0000 25.0000 0 0 0Simplex Tableau -- Iteration 3X1 X2 Slack_C1 Slack_C2Basis C(j) 30.0000 25.0000 0 0 R. H. S. RatioX2 25.0000 0 1.0000 0.3750 -0.2500 7.5000X1 30.0000 1.0000 0 -0.2500 0.5000 5.0000C(j)-Z(j) 0 0 -1.8750 -8.7500 337.5000(2)将电子表格格式转换成标准模型。
《线性规划综合性实验》报告一、实验目的与要求掌握线性规划建模的方法以及至少掌握一种线性规划软件的使用,提高应用线性规划方法解决实际问题的实践动手能力。
通过实验,更深入、直观地理解和掌握线性规划的基本概念及基本理论和方法。
要求能对一般的线性规划问题建立正确的线性规划数学模型,掌握运筹学软件包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辆。
实验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万元的税后收益,而且这种投资方式所得收益是最大的。
实验一:线性规划
班级 姓名 学号
一、实验目的:学会用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.66667
b) 资源的对偶价格各为多少,并说明对偶价格的含义;
第一、二、三种资源的对偶价格分别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 Ranges
Current Allowable Allowable Variable Coefficient Increase Decrease X1 8.000000 INFINITY 1.250000 X2 6.000000 1.111111 INFINITY
Righthand Side Ranges
Row Current Allowable Allowable RHS Increase Decrease
2 12.00000 1.000000 12.00000
3 24.00000 INFINITY 14.66667
4 13.00000 INFINITY 1.000000 在最优基不变的情况下,目标函数中x2系数的变化范围是(-∞,7.111111)
e) 对第2个约束的约束右端项进行灵敏度分析;
在最优基不变的情况下,给出了影子价格有意义条件下第二个约束右端的限制范围(9.33333,24)
f ) 结合本题的结果解释“Reduced Cost”的含义
表示最优单纯形表中判别数所在行的变量的系数,表示当变量有微小变动时, 目标函数的变化率。
其中基变量的reduced cost值应为0,对于非基变量Xj, 相应的reduced cost值表示当某个变量Xj 增加一个单位时目标函数减少的量( max型问题)。
本例中X1为基变量,X2均为非基变量,即表示x2增加一个单位时,目标函数减少1.111111。
2、请写出求解下述问题的matlab源代码,求解结果粘贴,并对结果分析。
1231231
32312312121212(1)min 3264..3,,0(2)max 22 - -11
..-220,0
Z x x x x x x x x s t x x x x x Z x x x x s t x x x x =++++≤⎧⎪
-≥⎪⎨
-≥⎪
⎪≥⎩=+≥⎧⎪⎪+≤⎨⎪≥≥⎪⎩
12
1212212
12
1
32412
5(3)max 22
-1.. 3 ,0(4)min 243..28
0 1,2,3,4,5j Z x x x x x x s t x x x Z x x x x x x s t x x x x j =-++≥⎧⎪
+≥⎪⎨
≤⎪⎪>=⎩=--+=⎧⎪
+=⎪
⎨
++=⎪⎪≥=⎩
,
(1):matlab 代码
f=[3,2,1];
A=[1,1,1;-1,0,1;0,-1,1]; b=[6,4,3]; x=linprog(f,A,b)
Exiting: One or more of the residuals, duality gap, or total relative error has grown 100000 times greater than its minimum value so far:
the dual appears to be infeasible (and the primal unbounded). (The primal residual < TolFun=1.00e-008.) x =
1.0e+032 * -5.8781 -5.8781 -5.8781
(2):matlab 代码
>> f=[-2,-2]; A=[-1,1;-1/2,1]; b=[1,2];
x=linprog(f,A,b)
Exiting: One or more of the residuals, duality gap, or total relative error has stalled:
the dual appears to be infeasible (and the primal unbounded).
(The primal residual < TolFun=1.00e-008.)
x =
1.0e+005 *
1.1739
0.5864
(3):matlab代码
> f=[1,-2];
A=[-1,-1;1,-1;0,2];
b=[-2,-1,3];
[x,fval]=linprog(f,A,b)
Optimization terminated.
x =
0.5000
1.5000
fval =
-2.5000
(4):matlab代码
>> f=[-1,-2,0,0,0];
Aeq=[1,0,1,0,0;0,1,0,1,0;1,2,0,0,1];
beq=[-2,-1,3];
[x,fval]=linprog(f,Aeq,beq)
Exiting: One or more of the residuals, duality gap, or total relative error
has stalled:
the dual appears to be infeasible (and the primal unbounded).
(The primal residual < TolFun=1.00e-008.)
x =
1.0e+014 *
0.0083
2.2718
-0.0083
-2.2718
-4.5519
fval =
-4.5519e+014
3、(任务分配问题)某车间有甲、乙两台机床,可用于加工三种工件。
假定这两台车床的可用台时数分别为800和900,三种工件的数量分别为400、600和500,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如下表。
问怎样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用最低?
(1)试建立数学模型;
(2)试选一数学软件计算上述模型,并给出程序源代码和计算结果报告。