数学建模:运用Lindolingo软件求解线性规划
- 格式:doc
- 大小:19.00 KB
- 文档页数:6
实验一:利用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模型,只需把上面的程序中初始段的语句移到数据段就可以了。
运用Lindo 与Lingo 解规划问题【实验目的】1.了解Lindo 与Lingo 的基本使用方法。
2.熟悉掌握运用Lindo 与Lingo 求解规划问题。
【实验内容】(一) 运用Lindo 求解规划问题Lindo 示例1:线性规划问题1212121127264..5012848031000,0Max z x x s t x x x x x x x =++≤+≤≤≥≥在Lindo 环境下,打开一个新文件,直接输入: max 72x1+64x2 st2) x1+x2<50 3) 12x1+8x2<480 4) 3x1<100 end说明: ①第1行是目标函数,2),3),4)是为了标示各约束条件,便于从输出结果中查找相应信息.②每行行尾不用标点符号,程序最后以"end"结束. ③Lindo 中已规定所有决策变量均为非负.④乘号省略,式中不能有括号,右端不能有数学符号. ⑤符号,≤≥与<,>等效. Lindo 示例2:整数规划问题123123123123123234..1.535600280250400600000,0,0,,Max z x x x s t x x x x x x x x x x x x =++++≤++≤≥≥≥均为整数对应的程序是:max 2x1+3x2+4x3 st1.5x1+3x2+5x3<600 280x1+250x2+400x3<60000 end gin 3说明: 最后一行 "gin 3"是说明"3个变量均为整数". Lindo 示例3:0-1变量规划问题123123123111222333123123234..1.53560028025040060000801000801000801000,,,,Max z x x x s t x x x x x x y x y y x y y x y x x x y y y =++++≤++≤≤≤≤≤≤≤均为整数均为0-1变量对应的程序是:max 2x1+3x2+4x3st1.5x1+3x2+5x3<600 280x1+250x2+400x3<60000 x1-1000y1<0 x1-80y1>0 x2-1000y2<0 x2-80y2>0 x3-1000y3<0 x3-80y3>0 end gin 3 int y1 int y2 int y3说明: 最后3行是说明"123,,y y y 均为0-1变量". (二) 运用Lingo 求解规划问题Lingo 示例:非线性规划问题11211222123111221221121122212312231234.8() 5.6()(1086)..5001000015000.50.500.40.60(500)0(500)00,,500Max z x x x x x x x s t x x x x x x x x x x x x x x x x x x x x x =+++-+++≤++≤≤≤-≥-≥=++-=-=≤≤在Lingo 环境下,打开一个新文件,直接输入: Model:max=4.8*x11+4.8*x21+5.6*x12+5.6*x22-10*x1-8*x2-6*x3; x11+x12<x+500; x21+x22<1000; 0.5*x11-0.5*x21>0; 0.4*x12-0.6*x22>0; x=x1+x2+x3; (x1-500)*x2=0; (x2-500)*x3=0; x1<500; x2<500; x3<500; end说明: ①程序以"Model:"开始,每行最后加";",并以"end "结束.②乘号*不能省略,符号,≤≥与<,>等效. ③式中可有括号,右端可有数学符号. ④Lingo 中已规定所有决策变量均为非负.作业1: 用Lingo 或Lindo 软件求6.4中提出的线性规划模型. 作业2:用Lingo 软件求非线性规划模型123123123123112233234..1.53560028025040060000,,(80)0(80)0(80)0.Max z x x x s t x x x x x x x x x x x x x x x =++++≤++≤≥-≥-≥-≥0作业3:分别用Lindo 或Lingo 软件对下题进行求解某广告公司想在电视、广播上做宣传广告,其目的是争(1)受广告影响的女顾客数超过200万;(2)电视广告的费用不超过45万元;(3)电视广告白天至少播出4次,最佳时段至少播出2次;(4)通过网络媒体、杂志做广告各自要重复5到8次。
实验报告( 3 )院(系)课程名称:日期:年月日班级学号实验室专业姓名计算机号实验名称运用Lindo与Lingo解规划问题成绩评定所用软件Lindo与Lingo指导教师实验目的1.了解Lindo与Lingo的基本使用方法。
2熟悉掌握运用Lindo与Lingo求解规划问题实验内容作业1:用Lingo软件求非线性规划模型123123123123112233234..1.53560028025040060000,,(80)0(80)0(80)0.Max z x x xs t x x xx x x x x xx x x x x x=++++≤++≤≥-≥-≥-≥;0;;作业2:分别用Lindo或Lingo软件对下题进行求解某广告公司想在电视、广播上做宣传广告,其目的是争取尽可能多地影响顾客。
下表是公司进行市场调研的结果:电视网络媒体杂志白天最佳时段每次做广告费用(千元)45 86 25 12 受每次广告影响的顾客数(千人)350 880 430 180 受每次广告影响的女顾客数(千人)260 450 160 100 这家公司希望总广告费用不超过75万元,同时还要求:(1)受广告影响的女顾客数超过200万;(2)电视广告的费用不超过45万元;(3)电视广告白天至少播出4次,最佳时段至少播出2次;(4)通过网络媒体、杂志做广告各自要重复5到8次。
实验过程作业1:源程序:model:max=2*x1+3*x2+4*x3;1.5*x1+3*x2+5*x3<600;280*x1+250*x2+400*x3<60000;x1>0;x2>0;x3>0;x1*(x1-80)>0;x2*(x2-80)>0;x3*(x3-80)>0;End结果:输出结果:Local optimal solution found.Objective value: 611.2000Extended solver steps: 5Total solver iterations: 96Variable Value Reduced CostX1 80.00000 0.000000X2 150.4000 0.000000X3 0.000000 0.000000Row Slack or Surplus Dual Price1 611.2000 1.0000002 28.80000 0.0000003 0.000000 0.1200000E-014 80.00000 0.0000005 150.4000 0.0000006 0.000000 -0.80000007 0.000000 -0.1700000E-018 10588.16 0.0000009 0.000000 0.000000所以x1=80; x2=150.4; x3=0; 目标函数值z=611.2作业2:设电视广告在白天投入x1次,最佳时段x2次,网络煤体x3次,杂志x4次,影响顾客最多为z,则有:1234 123412341212341234max350880430108 .45862512750 2604501601002000 4586450425858,,,z x x x x st x x x xx x x xx xxxxxx x x x=++++++≤+++>+≤≥≥≤≤≤≤为整数LINGO源程序:max=350*x1+880*x2+430*x3+180*x4;45*x1+86*x2+25*x3+12*x4<750;260*x1+450*x2+160*x3+100*x4>2000;45*x1+86*x2<450;x1>4;x2>2;x3>5;x3<8;x4>5;x4<8;@gin (x1);@gin (x2);@gin (x3);@gin (x4);end输出结果:Global optimal solution found.Objective value: 8920.000Extended solver steps: 0Total solver iterations: 0Variable Value Reduced Cost X1 4.000000 -350.0000 X2 3.000000 -880.0000 X3 8.000000 -430.0000 X4 8.000000 -180.0000Row Slack or Surplus Dual Price1 8920.000 1.0000002 16.00000 0.0000003 2470.000 0.0000004 12.00000 0.0000005 0.000000 0.0000006 1.000000 0.0000007 3.000000 0.0000008 0.000000 0.0000009 3.000000 0.00000010 0.000000 0.000000 LINDO输入程序:max 350x1+880x2+430x3+180x4st45x1+86x2+25x3+12x4<750260x1+450x2+160x3+100x4>200045x1+86x2<450x1>4x2>2x3>5x3<8x4>5x4<8endgin 4输出结果:OBJECTIVE FUNCTION V ALUE1) 8920.000V ARIABLE V ALUE REDUCED COSTX1 4.000000 -350.000000X2 3.000000 -880.000000X3 8.000000 -430.000000X4 8.000000 -180.000000ROW SLACK OR SURPLUS DUAL PRICES2) 16.000000 0.0000003) 2470.000000 0.0000004) 12.000000 0.0000005) 0.000000 0.0000006) 1.000000 0.0000007) 3.000000 0.0000008) 0.000000 0.0000009) 3.000000 0.00000010) 0.000000 0.000000即当x1=4;x2=3;x3=8;x4=8时取得影响顾客最大Z=8920千人心得不算难,就是烦,嘿嘿………..体会注:实验报告用A4纸双面打印,篇幅不要超过一页。
Lindo 和Lingo 数学软件的简单使用方法一、Lindo最新版本:6.1版(注册版)限制:4000个约束、8000个变量、800个整型变量功能:可以求解线性规划、整数规划、混合整数规划、二次规划、目标规划。
我们主要用它来求解整数规划或混合整数规划。
特点:执行速度非常快 例1:求解整数规划问题12121212max 58..65945,0z x x s t x x x x x x =++≤+≤≥且整解:在lindo 的运行窗口中输入 max 5x1+8x2 stx1+x2<6 5x1+9x2<45 end gin 2然后按Solve 菜单或快捷键得运行结果。
OBJECTIVE FUNCTION V ALUE (目标函数最优值) 1) 40.00000VARIABLE V ALUE REDUCED COST (变量增加1时目标函数改变量) X1 0.000000 -5.000000 X2 5.000000 -8.000000ROW SLACK OR SURPLUS DUAL PRICES (行) (松弛变量值) (对偶价格,表示约束右边常数增加1时目标函数改变量)) 2) 1.000000 0.000000 3) 0.000000 0.000000RANGES IN WHICH THE BASIS IS UNCHANGED (灵敏度分析) OBJ COEFFICIENT RANGES (目标函数中变量的系数的变动范围,在此范围内最优解不变) V ARIABLE CURRENT ALLOWABLE ALLOWABLECOEF (当前系数) INCREASE (增加量) DECREASE (减少量) X1 5.000000 0.000000 INFINITY X2 8.000000 0.000000 INFINITYRIGHTHAND SIDE RANGES (约束条件右边常数的变化范围,在此范围内最优基不变) ROW CURRENT ALLOWABLE ALLOWABLERHS (当前系数)INCREASE (增加量) DECREASE (减少量) 2 6.000000 INFINITY 1.000000 (第一个约束) 3 45.000000 INFINITY 0.000000 (第二个约束)注意:1. 软件中已经假设所以的变量是非负的,所以非负约束不必输入; 2. 可以用 FREE 变量 来取消变量的非负限制; 3. 不区分大小写; 4. 约束条件“<=”、“>=”可以用“<”、“>”代替; 5. 变量名不能超过8个字符;6. 变量与系数间可以有空格,但不能有任何运算符号(如*等); 7. 不允许变量出现在一个约束条件的右端; 8. 输入中不能有“()”和“,”;比如4(x1+x2)应写成4x1+4x2等;9. 在一个式中同一变量不能出现一次以上,比如2x1+3x2-x1应简化为x1+3x2;gin 变量 变量为整数变量 gin nint n 模型中的前n 个变量为0/1整数变量,关于变量的顺序可由输出结果查证! 整数变量申明须放在最后(即end 后)例2:集合覆盖问题设有一集合S={1,2,3,4,5},及S 的一个子集簇P={{1,2},{1,3,5},{2,4,5},{3},{1},{4,5}},假设选择P 中各个元素的费用为1、1.5、1.5、0.8、0.8、1,试从P 中选一些元素使之覆盖S 且所选元素费用之和最小。
实验二:Lingo求解线性规划问题学时:4学时实验目的:掌握用Lingo求解线性规划问题的方法,能够阅读Lingo结果报告。
实验内容:(选做两题以上)1、求解书本上P130的习题1:某银行经理计划用一笔资金进行有价证券的投资,可供购进的证券以及其信用等级、到期年限、收益如下表1所示,按照规定,市政证券的收益可以免税,其他证券的收益需按50%的税率纳税,此外还有以下限制:1)政府及代办机构的证券总共至少要购进400万元;2)所购证券的平均信用等级不超过1.4(信用等级数字越小,信用程序越高);3)所购证券的平均到期年限不超过5年。
表 1(1)若该经理有1000万元资金,应如何投资?(2)如果能够以2.75%的利率借到不超过100万元资金,该经理应如何操作?(3)在1000万元资金情况下,若证券A的税前收益增加为4.5%,投资应否改变?若证券C的税前收益减少为4.8%,投资应否改变?列出线性规划模型,然后用Lindo求解,根据结果报告得出解决方案。
提示:可参考书上4.1节。
模型可以如下建立:设投资证券A,B,C,D,E的金额分别为x1,x2,x3,x4,x5 万元.max 0.043x1+0.027x2+0.025x3+0.022x4+0.045x5x2+x3+x4>=400x1+x2+x3+x4+x5<=1000(2x1+2x2+x3+x4+5x5)/(x1+x2+x3+x4+x5)<=1.4(9x1+15x2+4x3+3x4+2x5)/(x1+x2+x3+x4+x5)<=52、建立模型并求解P130页第3题。
(建立线性规划模型的技巧:问什么假设什么,如何雇用即雇用多少全时服务员以12:00-1:00为午餐, 雇用多少全时服务员以1:00-2:00为午餐,雇佣多少从9:00、10:00、11:00、12:00、1:00开始工作的半时服务员)。
建立线性规划模型:设全时工人为X1:工作时间:9—12 、13—17 工资为100元X2:工作时间:9—13 、14—17 工资为100元半时工人:工资为40元Y1:工作时间:9—13Y2:工作时间:10—14Y3:工作时间:11—15Y4:工作时间:12—16Y5:工作时间:13—17Min= (x1+x2)*100+(y1+y2+y3+y4+y5)*40Y1+y2+y3+y4+y5<39-10 X1+x2+y1>410-11 X1+x2+y1+y2>311-12 X1+x2+y1+y2+y3>412-13 x2+y1+y2+y3+y4>613-14 X1+y2+y3+y4+y5>514-15 x1+x2+y3+y4+y5>615-16 x1+x2+y4+y5>816-17 x1+x2 +y5>8Min =(x1+x2)*100+(y1+y2+y3+y4+y5)*40;y1+y2+y3+y4+y5<3;x1+x2+y1>4;x1+x2+y1+y2>3;x1+x2+y1+y2+y3>4;x2+y1+y2+y3+y4>6;x1+y2+y3+y4+y5>5;x1+x2+y3+y4+y5>6;x1+x2+y4+y5>8;x1+x2 +y5>8;@gin(x1);@gin(x2);@gin(y1);@gin(y2);@gin(y3);@gin(y4);@gin(y5);Global optimal solution found at iteration: 14Objective value: 820.0000Variable Value Reduced Cost X1 2.000000 100.0000 X2 5.000000 100.0000 Y1 0.000000 40.00000Y3 1.000000 40.00000 Y4 1.000000 40.00000 Y5 1.000000 40.00000Row Slack or Surplus Dual Price1 820.0000 -1.0000002 0.000000 0.0000003 3.000000 0.0000004 4.000000 0.0000005 4.000000 0.0000006 1.000000 0.0000007 0.000000 0.0000008 4.000000 0.0000009 1.000000 0.00000010 0.000000 0.000000第二问:Min =(x1+x2)*100;x1+x2 >4;x1+x2>3;x1+x2>4;x2 >6;x1 >5;x1+x2 >6;x1+x2 >8;x1+x2 >8;@gin(x1);@gin(x2);Global optimal solution found at iteration: 0Objective value: 1100.000Variable Value Reduced Cost X1 5.000000 100.0000 X2 6.000000 100.0000Row Slack or Surplus Dual Price1 1100.000 -1.0000002 7.000000 0.0000004 7.000000 0.0000005 0.000000 0.0000006 0.000000 0.0000007 5.000000 0.0000008 3.000000 0.0000009 3.000000 0.000000第三问:Min =(x1+x2)*100+(y1+y2+y3+y4+y5)*40;x1+x2+y1>4;x1+x2+y1+y2>3;x1+x2+y1+y2+y3>4;x2+y1+y2+y3+y4>6;x1+y2+y3+y4+y5>5;x1+x2+y3+y4+y5>6;x1+x2+y4+y5>8;x1+x2 +y5>8;@gin(x1);@gin(x2);@gin(y1);@gin(y2);@gin(y3);@gin(y4);@gin(y5);Global optimal solution found at iteration: 5Objective value: 560.0000Variable Value Reduced Cost X1 0.000000 100.0000 X2 0.000000 100.0000 Y1 4.000000 40.00000 Y2 2.000000 40.00000 Y3 0.000000 40.00000 Y4 0.000000 40.00000 Y5 8.000000 40.00000Row Slack or Surplus Dual Price1 560.0000 -1.0000002 0.000000 0.0000004 2.000000 0.0000005 0.000000 0.0000006 5.000000 0.0000007 2.000000 0.0000008 0.000000 0.0000009 0.000000 0.0000003、指派问题:6个人计划做6项工作,其效益如下表(”-”表示某人无法完成某项工作),4、有限制的运输问题:6个发点6个收点,其供应量、接收量和运费如下表1(”-”表示某个发电无法向某个收点运输货物),如果某个发点向某个收点运输货物,则运输量不得低使用Lingo的一些注意事项Min z1.“>”与“>=”功能相同。
Lindo /Lingo 软件初步Lindo/Lingo 软件是美国Lindo 系统公司开发的一套专门用于求解优化模型的软件。
Lindo 系统公司面向全社会免费提供该软件的“演示版”,我们现在使用的就是这个演示版。
占领硬盘空间大约20MB .一.Lingo 入门1.编写简单的Lingo 程序Lingo 程序:在“模型窗口”中,按Lingo 语法格式,输入一个完整的优化模型。
(注意:一个程序就是一个优化模型)例1 要求解线性规划问题 .0,,1253,1034..,32max ≥≤+≤++=y x y x y x t s y x z输入程序:max=2*x+3*y;4*x+3*y<=10;3*x+5*y<=12;例2 求解 .,0,,2,100..,23.027798max 21212122212121且都是整数≥≤≤+---+x x x x x x t s x x x x x x输入程序:max=98*x1+277*x2-x1^2-0.3*x1*x2-2*x2^2;x1<=2*x2;x1+x2<=100;@gin(x1); @gin(x2);2.语法格式(1)目标函数 max= 或 min=(2)每个语句的结尾要有“;”(3)程序中,各个语句的先后次序无关(4)自动默认各个变量均为大于等于零的实数(5)不区分大写、小写(6)程序中的“<=”、“<”等同于原模型中的“≤”程序中的“>=”、“>”等同于原模型中的“≥”(7)对一个特定的变量 x ,进行限制:@free(x) :把x 放宽为任意实数@gin(x) :限制x 为整数@bin(x) :限制x 只能取0或1@bnd(-6,x,18) :限制x 为闭区间[-6,18]上的任意实数例3:某学校游泳队要从5名队员中选4名参加4乘100米混合泳接力赛。
5名队员4种泳姿的百米成绩(单位:秒)-----------------------------------------------------------------------------------李 王 张 刘 赵蝶泳 66.8 57.2 78 70 67.4仰泳 75.6 66 67.8 74.2 71蛙泳 87 66.4 84.6 69.6 83.8自由泳 58.6 53 59.4 57.2 62.4-----------------------------------------------------------------------------------如何选拔?(1)请建立“0----1规划”模型;(2)用Lingo 求解。
用LINDO、LINGO 解运筹学问题一、 软件简介LINDO是一种专门用于求解数学规划问题的软件包。
由于LINDO执行速度很快、易于方便输入、求解和分析数学规划问题。
因此在数学、科研和工业界得到广泛应用。
LINDO主要用于解线性规划、非线性规划、二次规划和整数规划等问题。
也可以用于一些非线性和线性方程组的求解以及代数方程求根等。
LINDO中包含了一种建模语言和许多常用的数学函数(包括大量概论函数),可供使用者建立规划问题时调用。
一般用LINDO(Linear Interactive and Discrete Optimizer)解决线性规划(LP—Linear Programming)。
整数规划(IP—Integer Programming)问题。
其中LINDO 6 .1 学生版至多可求解多达300个变量和150个约束的规划问题。
其正式版(标准版)则可求解的变量和约束在1量级以上。
LINGO则用于求解非线性规划(NLP—NON—LINEAR PROGRAMMING)和二次规则(QP—QUARATIC PROGRAMING)其中LINGO 6.0学生版最多可版最多达300个变量和150个约束的规则问题,其标准版的求解能力亦再10^4量级以上。
虽然LINDO和LINGO不能直接求解目标规划问题,但用序贯式算法可分解成一个个LINDO和LINGO能解决的规划问题。
要学好用这两个软件最好的办法就是学习他们自带的HELP文件。
二、下面拟举数例以说明这两个软件的最基本用法。
(例子均选自张莹《运筹学基础》)例1.(选自《运筹学基础》P54.汽油混合问题,线性规划问题)一种汽油的特性可用两个指标描述:其点火性用“辛烷数”描述,其挥发性用“蒸汽压力”描述。
某炼油厂有四种标准汽油,设其标号分别为1,2,3,4,其特性及库存量列于下表1中,将上述标准汽油适量混合,可得两种飞机汽油,某标号为1,2,这两种飞机汽油的性能指标及产量需求列于表2中。
数学建模:运用L i n d o l i n g o软件求解线性规划-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN1、实验内容:对下面是实际问题建立相应的数学模型,并用数学软件包Lindo/lingo 对模型进行求解。
某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料6千克,工人10名,可获利10万元;每百箱乙饮料需用原料5千克,工人20名,可获利9万元.今工厂共有原料60千克,工人150名,又由于其他条件所限甲饮料产量不超过8百箱.问如何安排生产计划,即两种饮料各生产多少使获利最大.进一步讨论:1)若投资0.8万元可增加原料1千克,问应否作这项投资.2)若每百箱甲饮料获利可增加1万元,问应否改变生产计划.数学建模论文运用lindo/lingo软件求解线性规划运用lindo/lingo软件求解线性规划一、摘要本文要解决的问题是如何安排生产计划,即两种饮料各生产多少使获利最大。
首先,对问题进行重述明确题目的中心思想,做出合理的假设,对符号做简要的说明。
然后,对问题进行分析,根据题目的要求,建立合适的数学模型。
最后,运用lindo/lingo软件求出题目的解。
【关键词】最优解 lindo/lingo软件第二、问题的重述某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料6千克,工人10名,可获利10万元;每百箱乙饮料需用原料5千克,工人20名,可获利9万元.今工厂共有原料60千克,工人150名,又由于其他条件所限甲饮料产量不超过8百箱.问如何安排生产计划,即两种饮料各生产多少使获利最大.进一步讨论:1)若投资0.8万元可增加原料1千克,问应否作这项投资。
2)若每百箱甲饮料获利可增加1万元,问应否改变生产计划。
第三、模型的基本假设1、每一箱饮料消耗的人力、物力相同。
2、每个人的能力相等。
3、生产设备对生产没有影响。
第四、符号说明1、x.....甲饮料2、y.....乙饮料3、z.....增加的原材料第五、问题分析根据题目要求:如何安排生产计划,即两种饮料各生产多少使获利最大,可知本题所求的是利润的最大值。
数学建模:运用Lindolingo软件求解线性规划
1、实验内容:
对下面是实际问题建立相应的数学模型,并用数学软件包Lindo/lingo对模型进行求解。
某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料6千克,工人10,可获利10万元;每百箱乙饮料需用原料5千克,工人20名,可获利9万元.名今工厂共有原料60千克,工人150名,又由于其他条件所限甲饮料产量不超过8百箱.问如何安排生产计划,即两种饮料各生产多少使获利最大.进一步讨论:
1)若投资0.8万元可增加原料1千克,问应否作这项投资.
2)若每百箱甲饮料获利可增加1万元,问应否改变生产计划.
数学建模论文
运用lindo/lingo软件求解线性规划
运用lindo/lingo软件求解线性规划
一、摘要
本文要解决的问题是如何安排生产计划,即两种饮料各生产多少使获利最大。
首先,对问题进行重述明确题目的中心思想,做出合理的假设,对符号做简要的说明。
然后,对问题进行分析,根据题目的要求,建立合适的数学模型。
最后,运用lindo/lingo软件求出题目的解。
【关键词】最优解 lindo/lingo软件
第二、问题的重述
某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料6千克,工人10名,可获利10万元;每百箱乙饮料需用原料5千克,工人20名,可获利9万元.今工厂共有原
料60千克,工人150名,又由于其他条件所限甲饮料产量不超过8百箱.问如何安排生产计划,即两种饮料各生产多少使获利最大.进一步讨论:
1)若投资0.8万元可增加原料1千克,问应否作这项投资。
2)若每百箱甲饮料获利可增加1万元,问应否改变生产计划。
第三、模型的基本假设
1、每一箱饮料消耗的人力、物力相同。
2、每个人的能力相等。
3、生产设备对生产没有影响。
第四、符号说明
1、x.....甲饮料
2、y.....乙饮料
3、z.....增加的原材料
第五、问题分析
根据题目要求:如何安排生产计划,即两种饮料各生产多少使获利最大,可知本题所求的是利润的最大值。
我们可以先建立数学模型,然后用lindo/lingo软件包求解模型的最大值。
第六、模型的建立及求解根据题目建立如下3个模型:
模型1:
max=0.1*x+0.09*y;
0.06*x+0.05*y<=60;
0.1*x+0.2*y<=150;
x+y<=800;
结果:x=800;y=0;max=80
模型2:
max=0.1*x+0.09*y-0.8*z;
0.06*x+0.05*y-z<=60;
0.1*x+0.2*y<=150;
x+y<=800;
结果:x=800;y=0;z=0;max=80
模型3:
max=0.11*x+0.09*y;
0.06*x+0.05*y<=60;
0.1*x+0.2*y<=150;
x+y<=800;
结果:x=800;y=0;max=88
第七、结果分析
从上述结果可以看出:
1、若投资0.8万元可增加原料1千克,最大利润值仍为80万元,所以不作这项
投资;
2、若每百箱甲饮料获利可增加1万元,最大利润值为88万元,但生产x饮料仍
为800箱,y饮料0箱,所以没有改变生产计划。
第八、模型的评价及推广
模型的评价
1、模型的优点
本文模型能使企业在经营过程中对资源进行合理分配,以致使公司获得最大的利润。
2、模型的缺点
本文模型的建立与求解建立在许多假设的基础上,并由于在运输过程中会出现许多主观的、客观的因素;无论我们如何细致的计算,结果只能是一个大致的
估计。
模型的推广
本文模型可以解决资源的优化配置问题,使企业的利润达到最大值,可以运用到运输业,生产制造业等行业。
第九、参考文献
[1]线性规划.ppt
[2]Lindo使用手册.pdf
[3]Lindo软件简介.pdf
[4]论文写作规范.doc及DNA序列分类.doc
第十、附录
程序1:
max=0.1*x+0.09*y;
0.06*x+0.05*y<=60;
0.1*x+0.2*y<=150;
x+y<=800;
Global optimal solution found.
Objective value: 80.00000
Infeasibilities: 0.000000
Total solver iterations: 4
Variable Value Reduced Cost
X 800.0000 0.000000
Y 0.000000 0.1000000E-01
Row Slack or Surplus Dual Price
1 80.00000 1.000000
2 12.00000 0.000000
3 70.00000 0.000000
4 0.000000 0.1000000 程序2
max=0.1*x+0.09*y-0.8*z;
0.06*x+0.05*y-z<=60;
0.1*x+0.2*y<=150;
x+y<=800;
Global optimal solution found. Objective value: 80.00000 Infeasibilities: 0.000000
Total solver iterations: 1 Variable Value Reduced Cost
X 800.0000 0.000000
Y 0.000000 0.1000000E-01
Z 0.000000 0.8000000
Row Slack or Surplus Dual Price
1 80.00000 1.000000
2 12.00000 0.000000
3 70.00000 0.000000
4 0.000000 0.1000000 程序3
max=0.11*x+0.09*y;
0.06*x+0.05*y<=60;
0.1*x+0.2*y<=150;
x+y<=800;
Global optimal solution found. Objective value: 88.00000 Infeasibilities: 0.000000
Total solver iterations: 2 Variable Value Reduced Cost
X 800.0000 0.000000
Y 0.000000 0.2000000E-01
Row Slack or Surplus Dual Price
1 88.00000 1.000000
2 12.00000 0.000000
3 70.00000 0.000000
4 0.000000 0.1100000。