运筹学lingo的实验
运筹学上机实践报告LINGO软件

Southwest university of science and technology实验报告LINGO软件在线性规划中的运用学院名称环境与资源学院专业名称采矿工程学生姓名学号____________________________________ 指导教师陈星明教授二◦一五年十一月实验LINGO软件在线性规划中的运用实验目的掌握LINGO软件求解线性规划问题的基本步骤,了解LINGO软件解决线性规划问题的基本原理,熟悉常用的线性规划计算代码,理解线性规划问题的迭代关系。
实验仪器、设备或软件电脑,LINGO软件实验内容1. LINGO软件求解线性规划问题的基本原理;2•编写并调试LINGO软件求解线性规划问题的计算代码;实验步骤1•使用LINGO计算并求解线性规划问题;2 •写出实验报告,并浅谈学习心得体会(线性规划的基本求解思路与方法及求解过程中出现的问题及解决方法)。
实验过程有一艘货轮,分为前、中、后三个舱位,它们的容积与允许载重量如下表所示。
现有三种商品待运,已知有关数据列于下表中。
又为了航运安全,要求前、中、后舱在实际载重量上大体保持各舱最大允许载重量的比例关系。
具体要求前、后舱分别与中舱之间的载重量比例偏差不超过15%,前、后舱之间不超过10%。
问货轮首先分析问题,建立数学模型:确定决策变量假设i=1,2,3分别代表商品A、B C, 8用j=1,2,3分别代表前、中、后舱,设决策变量X ij为装于j舱位的第i种商品的数量(件)。
确定目标函数商品A的件数为:x11- x12x13商品B的件数为:x21x22x23商品A的件数为:X31 - X32 - X33为使运费最高,目标函数为:确定约束条件前、中、后舱位载重限制为:前、中、后舱位体积限制为:A、B、C三种商品数量的限制条件:各舱最大允许载重量的比例关系构成的约束条件:且决策变量要求非负,即X j > 0,i=1,2;j=1,2,3。
运筹学上机实验报告

学生实验报告实验课程名称《运筹学》开课实验室计算机中心第二机房学院专业学生姓名学号开课时间 2015 至 2016 学年第二学期实验一中小型线性规划模型的求解与Lingo软件的初步使用一、实验目的了解Lingo软件的基本功能和简单线性规划模型的求解的输入和输出结果。
二、实验内容1.在Lingo中求解下面的线性规划数学模型:max z=2x1+3x2x 1+2x2≤84x1≤164x2≤12x 1, x2≥02.在Lingo中求解教材P55习题(1)的线性规划数学模型;3.建立教材P42例8的数学模型并用Lingo求解;4.建立教材P57习题的数学模型并用Lingo求解。
三、实验要求1.给出所求解问题的数学模型;2.给出Lingo中的输入;3.能理解Solution Report中输出的四个部分的结果;4.能给出最优解和最优值;5.能理解哪些约束是取等式和哪些约束取不等式。
四、实验步骤五、结论1.该线性规划模型的目标函数值为14,该线性规划经过一次迭代求得最优解,有2个总决策变量,包括目标函数一共有4个约束,最优解的变量X1=4,X2=2 。
2. 该线性规划模型的目标函数值为2,该线性规划经过2次迭代求得最优解,有4个总决策变量,包括目标函数一共有4个约束,最优解的变量X1=0、x2=8、x3=0、x4=-6。
3.该线性规划模型的目标函数值为-2,该线性规划经过0次迭代求得最优解,有3个总决策变量,包括目标函数一共有4个约束,最优解的变量x1=4、x2=1、x3=9。
4.该线性规划模型的目标函数值为150,该线性规划经过4次迭代求得最优解,有6个总决策变量,包括目标函数一共有7个约束,最优解的变量x1=60、x2=10、x3=50、x4=0、x5=30、x6=0。
实验二中小型运输问题数学模型的Lingo软件求解一、实验目的熟悉运输问题的数学模型,掌握简单运输问题数学模型的Lingo软件求解的方法,掌握解报告的内容。
运筹学实验

《运筹学》上机实验报告学 院 机电工程学院 专 业 工业工程 指导教师 吴小东 班 级 工业10-1班 学生姓名 林 金 铎 学生学号实验时间 2012-2013学年第一学期实验一 使用LINGO 求解线性规划问题班级:工业10-1班 姓名:林金铎 学号: 评阅成绩: 已知如下线性规划模型:123max 303540z x x x =++1231231231233251823412229,,0x x x x x x x x x x x x ++≤⎧⎪++≤⎪⎨++≤⎪⎪≥⎩ 一、利用集的方法编写上述线性规划模型的LINGO 程序。
在LINGO 软件模型中编写本题的程序如下图1-1所示所示。
图1-1 LINGO 模型窗口截图点击LINGO 菜单下的Solve 选项,LINGO 软件求解所输入的模型,得到LINGO 运行状态窗口如图1-2所示图1-2 LINGO运行状态窗口截图运行结束后,关闭LINGO运行状态窗口,获得LINGO软件的结果报告窗口,如图1-3、1-4所示。
图1-3 LINGO结果报告窗口截图(一)图1-4 LINGO结果报告窗口截图(二)二、根据编写的程序,回答以下问题:1、哪些是原始集答:var(j), const(i)是原始集2、哪个是派生集该派生集是稠密集还是稀疏集该派生集有多少个成员答:A(i,j)是派生集,属于稠密集合,共有9个成员3、属性值“5”是属于成员(b1,x3)还是(b3,x1)的属性值答:属于成员(b1,x3)的属性值三、根据程序的运行结果,回答以下问题:1、全局最优值是否已经找到该值是多少答:已经找到,最优值为1652、该模型求解一共迭代了多少次答:共迭代了2次3、在求解结果的界面中,Variable、Value、Reduced Cost、Row、Slack or Surplus 和Dual Price分别表示什么答:Variable表示运算时各定义变量的取值;Value表示给出最优解中各变量的值;Reduced Cost表示列出最优单纯形表中判别数所在行的变量的系数,表示当变量有微小变动时, 目标函数的变化率;Row表示行数;Slack or Surplus 表示给出松驰变量的值;Dual Price表示当对应约束有微小变动时, 目标函数的变化率。
运筹学实验报告lingo

二. 实验题目
1、求解线性规划:
max
z x 1 2x
2
2x 1 5x 2 12 s.t. x 1 2x 2 8 x , x 0 2 1
并对价值系数、右端常量进行灵敏度分析。
2、已知某工厂计划生产I,II,III三种产品,各 产品需要在A、B、C设备上加工,有关数据如下:
Allowable Decrease:允许减少量
Current RHS :当前右边常数项
结论1:
该线性规划问题的最优解为:X*=(35,10,0)T 最优值为:z*=215
结论2:
c1=5 c1在(4,8)内原最优解不变,但最优值是要变的 c2=4 c2在(2.7,5)内原最优解不变,但最优值是要变的 c3=3 c3在(-∞ ,7)内原最优解,最优值都是不变的 b1=45 b1在(40, 50)内原最优基不变,但最优解和最优值是要变的 b2=80 b2在(67.5, 90)内原最优基不变,但最优解和最优值是要变的 b3=90 b3在(65, ∞ )内原最优基不变,但最优解和最优值是要变的
Row 1 2 3 4 Slack or Surplus 215.0000 0.000000 0.000000 25.00000 Dual Price 1.000000 3.000000 1.000000 0.000000
激活灵敏度计算功能
法一:打开command window,输入range;
法二:LINGO——options —— General Solver —Dual Computations——Prices & Ranges
LINGO
Outline
一.熟悉LINDO软件的灵敏度分析功能
运筹学实验报告-lingo软件的使用-习题代码

运筹学实验报告姓名:学号:班级:相关问题说明:一、实验性质和教学目的本实验是运筹学课内安排的上机操作实验。
目的在于了解、熟悉计算机Lingo软件在运筹学模型求解中的作用,激发学习兴趣,提高学习效果,增强自身的动手能力,提高实际应用能力。
二、实验基本要求要求学生:1. 实验前认真做好理论准备,仔细阅读实验指导书;2. 遵从教师指导,认真完成实验任务,按时按质提交实验报告。
三、主要参考资料1.LINGO软件2. LINGO8.0及其在环境系统优化中的应用,天津大学出版社,20053. 优化建模与LINDO/LINGO软件,清华大学出版社,20054.运筹学编写组主编,运筹学(修订版),清华大学出版社,19905.蓝伯雄主编,管理数学(下)—运筹学,清华大学出版社,19976.胡运权主编,运筹学习题集(修订版),清华大学出版社,19957.胡运权主编,运筹学教程(第二版),清华大学出版社,2003实验内容1、线性规划问题:⎪⎪⎩⎪⎪⎨⎧≥≤+≤+≤++=0,13119241171289..68max 2121212121x x x x x x x x t s x x z (1) 给出原始代码;(2) 计算结果(包括灵敏度分析,求解结果粘贴);(3) 回答下列问题(手写):a ) 最优解及最优目标函数值是多少;b ) 资源的对偶价格各为多少,并说明对偶价格的含义;c ) 为了使目标函数值增加最多,让你选择一个约束条件,将它的常数项增加一个单位,你将选择哪一个约束条件?这时目标函数值将是多少?d ) 对x 2的目标函数系数进行灵敏度分析;e ) 对第2个约束的约束右端项进行灵敏度分析;f ) 结合本题的结果解释“Reduced Cost ”的含义。
对偶价格就是说 约束方程右端变量增加1对目标函数值的影响 答案: (1)代码max =8*x1+6*x2; 9*x1+8*x2<=12; 7*x1+11*x2<=24; 9*x1+11*x2<=13; x1>=0; x2>=0;(2)计算结果Global optimal solution found.Objective value: 10.66667 Total solver iterations: 2Variable Value Reduced Cost X1 1.333333 0.000000 X2 0.000000 1.111111Row Slack or Surplus Dual Price 1 10.66667 1.000000 2 0.000000 0.8888889 3 14.66667 0.000000 4 1.000000 0.000000 5 1.333333 0.0000006 0.000000 0.000000 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 Decrease 2 12.00000 1.000000 12.00000 3 24.00000 INFINITY 14.66667 4 13.00000 INFINITY 1.000000 5 0.0 1.333333 INFINITY 6 0.0 0.0 INFINITY(3)a) b) c) d) e) f)2、运输问题:(1) 给出原始代码;(2) 计算结果(决策变量求解结果粘贴)Min Z = Cij Xij∑=61i Xij <=bj (j=1...8) 销量约束∑∑==6181i j∑=81j Xij = ai (i=1...6) 产量约束Xij ≥ 0(i=1...6;j=1...8)代码:model :!6发点8 model :!6发点8收点运输问题; sets :warehouses/wh1..wh6/: capacity; vendors/v1..v8/: demand;links(warehouses,vendors): cost, volume; endsetsmin =@sum (links: cost*volume); !目标函数; @for (vendors(J):@sum (warehouses(I): volume(I,J))<=demand(J)); !需求约束; @for (warehouses(I):@sum (vendors(J): volume(I,J))=capacity(I)); !产量约束; !这里是数据; data :capacity=55 47 42 52 41 32; demand=60 55 51 43 41 52 43 38; cost=6 2 9 7 4 2 5 9 4 5 5 3 8 5 3 25 2 1 3 7 4 8 3 767 9 9 2 7 1 2 3 6 5 7 2 6 5 5 9 2 28 1 4 3; enddata end答案Global optimal solution found.Objective value: 473.0000 Infeasibilities: 0.000000 Total solver iterations: 9Model Class: LPTotal variables: 48 Nonlinear variables: 0 Integer variables: 0Total constraints: 15Nonlinear constraints: 0Total nonzeros: 144Nonlinear nonzeros: 0Variable Value Reduced Cost CAPACITY( WH1) 55.00000 0.000000 CAPACITY( WH2) 47.00000 0.000000 CAPACITY( WH3) 42.00000 0.000000 CAPACITY( WH4) 52.00000 0.000000 CAPACITY( WH5) 41.00000 0.000000 CAPACITY( WH6) 32.00000 0.000000 DEMAND( V1) 60.00000 0.000000 DEMAND( V2) 55.00000 0.000000 DEMAND( V3) 51.00000 0.000000 DEMAND( V4) 43.00000 0.000000 DEMAND( V5) 41.00000 0.000000 DEMAND( V6) 52.00000 0.000000 DEMAND( V7) 43.00000 0.000000 DEMAND( V8) 38.00000 0.000000 COST( WH1, V1) 6.000000 0.000000 COST( WH1, V2) 2.000000 0.000000 COST( WH1, V3) 9.000000 0.000000 COST( WH1, V4) 7.000000 0.000000 COST( WH1, V5) 4.000000 0.000000 COST( WH1, V6) 2.000000 0.000000 COST( WH1, V7) 5.000000 0.000000 COST( WH1, V8) 9.000000 0.000000 COST( WH2, V1) 4.000000 0.000000 COST( WH2, V2) 5.000000 0.000000 COST( WH2, V3) 5.000000 0.000000 COST( WH2, V4) 3.000000 0.000000 COST( WH2, V5) 8.000000 0.000000 COST( WH2, V6) 5.000000 0.000000 COST( WH2, V7) 3.000000 0.000000 COST( WH2, V8) 2.000000 0.000000 COST( WH3, V1) 5.000000 0.000000 COST( WH3, V2) 2.000000 0.000000 COST( WH3, V3) 1.000000 0.000000 COST( WH3, V4) 3.000000 0.000000 COST( WH3, V5) 7.000000 0.000000 COST( WH3, V6) 4.000000 0.000000COST( WH3, V8) 3.000000 0.000000 COST( WH4, V1) 7.000000 0.000000 COST( WH4, V2) 6.000000 0.000000 COST( WH4, V3) 7.000000 0.000000 COST( WH4, V4) 9.000000 0.000000 COST( WH4, V5) 9.000000 0.000000 COST( WH4, V6) 2.000000 0.000000 COST( WH4, V7) 7.000000 0.000000 COST( WH4, V8) 1.000000 0.000000 COST( WH5, V1) 2.000000 0.000000 COST( WH5, V2) 3.000000 0.000000 COST( WH5, V3) 6.000000 0.000000 COST( WH5, V4) 5.000000 0.000000 COST( WH5, V5) 7.000000 0.000000 COST( WH5, V6) 2.000000 0.000000 COST( WH5, V7) 6.000000 0.000000 COST( WH5, V8) 5.000000 0.000000 COST( WH6, V1) 5.000000 0.000000 COST( WH6, V2) 9.000000 0.000000 COST( WH6, V3) 2.000000 0.000000 COST( WH6, V4) 2.000000 0.000000 COST( WH6, V5) 8.000000 0.000000 COST( WH6, V6) 1.000000 0.000000 COST( WH6, V7) 4.000000 0.000000 COST( WH6, V8) 3.000000 0.000000 VOLUME( WH1, V1) 0.000000 4.000000 VOLUME( WH1, V2) 55.00000 0.000000 VOLUME( WH1, V3) 0.000000 7.000000 VOLUME( WH1, V4) 0.000000 5.000000 VOLUME( WH1, V5) 0.000000 2.000000 VOLUME( WH1, V6) 0.000000 0.000000 VOLUME( WH1, V7) 0.000000 3.000000 VOLUME( WH1, V8) 0.000000 8.000000 VOLUME( WH2, V1) 0.000000 1.000000 VOLUME( WH2, V2) 0.000000 2.000000 VOLUME( WH2, V3) 0.000000 2.000000 VOLUME( WH2, V4) 43.00000 0.000000 VOLUME( WH2, V5) 0.000000 5.000000 VOLUME( WH2, V6) 0.000000 2.000000 VOLUME( WH2, V7) 4.000000 0.000000 VOLUME( WH2, V8) 0.000000 0.000000 VOLUME( WH3, V1) 0.000000 4.000000 VOLUME( WH3, V2) 0.000000 1.000000VOLUME( WH3, V4) 0.000000 2.000000 VOLUME( WH3, V5) 0.000000 6.000000 VOLUME( WH3, V6) 0.000000 3.000000 VOLUME( WH3, V7) 0.000000 7.000000 VOLUME( WH3, V8) 0.000000 3.000000 VOLUME( WH4, V1) 0.000000 5.000000 VOLUME( WH4, V2) 0.000000 4.000000 VOLUME( WH4, V3) 0.000000 5.000000 VOLUME( WH4, V4) 0.000000 7.000000 VOLUME( WH4, V5) 0.000000 7.000000 VOLUME( WH4, V6) 14.00000 0.000000 VOLUME( WH4, V7) 0.000000 5.000000 VOLUME( WH4, V8) 38.00000 0.000000 VOLUME( WH5, V1) 41.00000 0.000000 VOLUME( WH5, V2) 0.000000 1.000000 VOLUME( WH5, V3) 0.000000 4.000000 VOLUME( WH5, V4) 0.000000 3.000000 VOLUME( WH5, V5) 0.000000 5.000000 VOLUME( WH5, V6) 0.000000 0.000000 VOLUME( WH5, V7) 0.000000 4.000000 VOLUME( WH5, V8) 0.000000 4.000000 VOLUME( WH6, V1) 0.000000 4.000000 VOLUME( WH6, V2) 0.000000 8.000000 VOLUME( WH6, V3) 0.000000 1.000000 VOLUME( WH6, V4) 0.000000 1.000000 VOLUME( WH6, V5) 0.000000 7.000000 VOLUME( WH6, V6) 32.00000 0.000000 VOLUME( WH6, V7) 0.000000 3.000000 VOLUME( WH6, V8) 0.000000 3.000000Row Slack or Surplus Dual Price1 473.0000 -1.0000002 19.00000 0.0000003 0.000000 0.0000004 9.000000 0.0000005 0.000000 0.0000006 41.00000 0.0000007 6.000000 0.0000008 39.00000 0.0000009 0.000000 1.00000010 0.000000 -2.00000011 0.000000 -3.00000012 0.000000 -1.00000013 0.000000 -2.00000014 0.000000 -2.00000015 0.000000 -1.0000003、一般整数规划问题:某服务部门各时段(每2h为一时段)需要的服务员人数见下表。
实验1 利用Lingo求解线性规划

实验一:利用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模型,只需把上面的程序中初始段的语句移到数据段就可以了。
LINGO实验项目

实验项目一线性规划实验学时:2实验目的:线性规划(Linear Programming,简写LP)是运筹学中最成熟的一个分枝,而且是应用最为广泛的一个运筹学分枝,是解决最优化问题的重要工具。
而目前 Lindo/lingo 是求解线性规划比较成熟的一个软件,通过本实验,掌握线性规划模型在 Lindo/lingo 中的求解,并能达到灵活运用。
实验要求:1.掌握线性规划的建模步骤及方法;2.掌握Lindo/lingo 的初步使用;3.掌握线性规划模型在Lindo/lingo 建模及求解;4.掌握线性规划的灵敏度分析实验内容及步骤:例:美佳公司计划制造I、II 两种家电产品。
已知各制造一件时分别占用设备A、B 的台时、调试时间、调试工序每天可用于这种家电的能力、各售出一件时的获利情况,如表1-1 所示。
1.问该公司应制造两种家电各多少件,使其获取的利润最大。
2. 如果资源出租,资源出租的最低价格至少是多少(即每种资源的影子价格是多少)。
3.若家电I 的利润不变,家电II 的利润在什么范围内变化时,则该公司的最优生产计划将不发生变化。
4. 若设备A 和B 每天可用能力不变,则调试工序能力在什么范围内变化时,问题的最优基不变。
解:设x1表示产品I 的生产量; x2表示产品II 的生产量,所在该线性规划的模型为:从此线性规划的模型中可以看出,第一个小问是典型的生产计划问题,第二小问是相应资源的影子价格,第三和第四个小问则是此问题的灵敏度分析。
现在我们利用lingo8.0 来教你求解线性规划问题。
第一步,启动lingo 进入初始界面如下图1-1 和图1-2 所示:第二步,在进行线性规划模型求解时,先要对初始求解方法及参数要进行设置,首先选择lingo 菜单下的Option 菜单项,并切换在general solver(通用求解器)页面下,如下图1-3 所示:general solver 选项卡上的各项设置意义如下表格1-1 所示:表格1-1 general solver 选项卡上的各项设置意义接下来再对Linear Solver(线性求解器)选项卡进行设置,切换界面如所示:其各项设置意义如下表格1-2 所示:表格1-2 Linear Solver 选项卡各项设置意义因为这个线性规划模型较为简单,数字也是比较小的,而且需要进行灵敏度分析,所以对general solver 选项卡上的Dual Computations(对偶计算)项设为“Prices and Ranges(计算对偶价格并分析敏感性)”。
运筹学实验讲解

Lingo软件实验报告一、实验内容:1)用lingo软件解决线性规划问题;2)熟悉lingo软件的相关操作。
3)对线性规划问题建立目标函数,罗列对应的表达式约束条件,并且对各变量设定实际的非负约束,考虑到lingo软件能方便地输入数据,并且有内置建模语言,提供内部处理函数,能很方便地处理一系列约束条件解出目标函数的最值,所以采用lingo软件解决线性规划问题。
4)对目标规划问题进行多目标处理,添加正负偏差变量罗列对应的表达式约束条件,并且对欲达到目标顺序添加优先等级,建立目标函数,利用lingo软件能能很方便地处理一系列约束条件解出目标函数的最值,采用lingo软件解决线性规划问题。
二、实验设备:计算机三、使用软件:lingo软件四、软件特点与优势:可以简单地表示模型,能方便地输入数据和选择输出。
五、举例计算:1,线性规划A: 营养套餐问题:根据生物营养学理论,要维持人体正常的生理健康需求,一个成年人每天需要从食物中获取3000cal热量,55g蛋白质和800mg钙。
假定市场上可供选择的食品有猪肉、鸡蛋、大米和白菜,这些食品每千克所含热量和营养成分,以及市场价格见下表。
问如何选购才能满足营养的前提下,使购买食品的总费用最小?解:为了建立该问题的数学模型,假设xj(j=1,2,3,4)分别为猪肉、鸡蛋、大米和白菜每天的购买量,则目标函数为Minz=20x1+8x2+4x3+2x4表示在满足营养要求的系列约束条件下,确定各种食物的购买量,使每天购买食物的总费用最小。
其约束条件是热量需求:1000x1+800x2+900x3+200x4>=3000蛋白质需求:50x1+60x2+20x3+10x4>=55钙需求:400x1+200x2+300x3+500x4>=800决策变量的非负约束:xj>=0(j=1,2,3,4)因此,营养配餐问题的数学模型为Minz=20x1+8x2+4x3+2x41000x1+800x2+900x3+200x4>=300050x1+60x2+20x3+10x4>=55400x1+200x2+300x3+500x4>=800xj>=0(j=1,2,3,4)B: lingo代码:model:min=20*x1+8*x2+4*x3+2*x4;1000*x1+800*x2+900*x3+200*x4>=3000;50*x1+60*x2+20*x3+10*x4>=55;400*x1+200*x2+300*x3+500*x4>=800;ENDC: 结果截屏:D:运行结果分析:由运行结构可知:该线性规划的最值为13.33333,即在变量为非负的情况下,只买3.33kg的大米可以满足目标函数的要求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
得出Min Z=32.4359;
【实验结论】(结果)
最佳采购方案为采购第四种饲料39.74kg,第五种饲料25.64,其他饲料不采购,此时费用最省,为32.4359元
【实验小结】(收获体会)
本次实验学会了用Matlab和Lingo软件求解线性规划问题,通过这次实验,加深了对课本知识的理解和对运筹学实际运用的认识。对进一步学习运筹学和提高对运筹学的学习兴趣都有帮助。
Min z=0.2 +0.7 +0.4 +0.3 +0.8
St
(2)模型求解:
LINGO软件求解:
Global optimal solution found.
Objective value: 32.43590
Infeasibilities: 0.000000
Total solver iterations: 2
Variable Value Reduced Cost
X1 0.000000 0.5961538E-01
X2 0.000000 0.5935897
X3 0.000000 0.3525641
X4 39.74359 0.000000
X5 25.64103 0.000000
Row Slack or Surplus Dual Price
饲料
蛋白质/g
矿物质/g
维生素/g
价格/(元/kg)
1
3
1
0.5
0.2
2
2
0.5
1.0
0.7
3
1
0.2
0.2
0.4
4
6
2
2
0.3
5
18
0.5
0.8
0.8
要求确定既满足动物生长需要,又使费用最省的选用饲料的方案。
(1)建立模型:
设 、 、 、 、 分别为五种饲料的数量
Z为所需的费用;
由题意可以建立线性规划模型:
数学与计算科学学院
实验报告
实验项目名称线性规划及其灵敏度分析
所属课程名称运筹学B
实验类型综合
实验日期2014年10月19日
班级201331010107
成绩
一、实验概述:
【实验目的】
熟练掌握Matlab,Lingo等数学软件在单纯形法的运用,能自己建模,求解模型。
【实验原理】
利用线性规划基本原理对问题建立数学模型,用单纯形法和对偶单纯形法分析和求解线性规划问题。
三、指导教师评语及成绩:
评语
评语等级
优
良
中
及格
不及格
1.实验报告按时完成,字迹清楚,文字叙述流畅,逻辑性强
2.实验方案设计合理
3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻)
4实验结论正确.
成绩:
指导教师签名:
批阅日期:
【实验环境】
计算机,Matlab软件,l实验方案】
通过对实际问题的具体分析,建立线性规划模型,再利用MATLAB中的线性规划函数进行求解.
【实验过程】(实验步骤、记录、数据、分析)
实验(一):
某饲养场饲养动物出售,设每头动物每头至少需700g蛋白质、30g矿物质、100mg维生素。现有五种饲料可供选用,各种饲养每kg营养成分含量及单价如表:
1 32.43590 -1.000000
2 0.000000 -0.4358974E-01
3 62.30769 0.000000
4 0.000000 -0.1923077E-01
5 0.000000 0.000000
6 0.000000 0.000000
7 0.000000 0.000000
8 39.74359 0.000000