运筹学试验指导书.doc_第1页
运筹学试验指导书.doc_第2页
运筹学试验指导书.doc_第3页
运筹学试验指导书.doc_第4页
运筹学试验指导书.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

运筹学实验指导书课程代码:0410073课程名称:运筹学/ Operational Research开课院实验室:经济与管理学院实验中心适用专业:工商管理、物流、信息管理等专业教学用书:运筹学 (运筹学孙萍等编,中国铁道出版社出版)第一部分 实验课简介一、实验的地位、作用和目的及学生能力标准运筹学是一门应用科学,在教学过程中通过案例分析与研究并与现代计算机技术相结合,力求实现理论与实践相结合,优化理论与经济管理专业理论相结合。实验,是运筹学课程中重要的实践环节。通过实验,可弥补课堂理论教学中的不足,增加学生的感性知识;要使学生能掌握系统的管理科学中的整体优化和定量分析的方法,熟练运用运筹学程序,对实际问题和研究对象进行系统模拟。二、试验内容应用Lindo6 .1版运筹学软件包,解决实际问题。三、实验方式与基本要求1、实验方式:综合性实验预习要求:复习编程方法及线性规划、整数规划的算法,对实际问题和研究对象,构造数学模型,确定优化技术方法,设计出原始数据表格。实验设备:台式电脑实验要求:按实验任务要求调试程序,程序执行结果应正确。实验分组: 1人/组2、基本要求在实验室进行实验前,学生熟悉实验软件Lindo程序、操作方法等; 将程序调好后,将程序结果记录,并由实验教师检查后签字; 将数据及有关的参数等记录在已经设计好的原始数据表格中; 在一周内完成实验报告。四、考核方式与实验报告要求学生进入实验室后签到,实验结束后,指导教师逐个检查并提问,根据学生操作、实验结果、回答问题情况及实验纪律及作风等方面给出学生成绩,再综合实验报告情况给出最后的成绩。报告格式如附录。第二部分 Lindo背景及功能菜单简介一、Lindo简介1Lindo简介:LINDO(Linear, INteractive, and Discrete Optimizer)是一种专门用于求解数学规划问题的软件包。由于LINDO执行速度很快、易于方便输入、求解和分析数学规划问题。因此在数学、科研和工业界得到广泛应用。LINDO主要用于解线性规划、非线性规划、二次规划和整数规划等问题。也可以用于一些非线性和线性方程组的求解以及代数方程求根等。LINDO中包含了一种建模语言和许多常用的数学函数(包括大量概论函数),可供使用者建立规划问题时调用。一般用LINDO解决线性规划(LPLinear Programming)。整数规划(IPInteger Programming)问题。其中LINDO 6 .1 学生版至多可求解多达300个变量和150个约束的规划问题。其正式版(标准版)则可求解的变量和约束在1量级以上。2特点:LINDO只要通过键盘输入就可以方便地实现交互性良好的操作与使用。另外,LINDO也可以对外建文件进行处理,只要这些文件里包含有必要的命令代码和输入数据,处理后就可以生成用于报告目的的文档。还可以自建子程序,然后直接与LINDO相结合形成一个包括你自己的代码和LINDO本身的优化库的综合程序。二、LINDO的视窗菜单:文件编辑求解报告窗口帮助工具栏:它包含所有的其他窗口以及所有命令菜单和工具栏。在里面的是一个新的空白的模型窗口。第三部分 LINDO常用功能与操作简介一、LINDO数据输入与保存1、打开一个空白工作表/项目FileNew,出现一个新的空白的模型窗口,在此窗口中输入需求解得模型。如图所示:2、数据输入:在空白窗口输入模型,输入方式与我们的数学书写的形式基本一致。LINDO也不区分变量中的大小写字符,约束条件中的“=”可用“”代替。3、保存当前工作表:如果输入的问题模型已经不再需要改动,可用SAVE命令将它存入文件中,点FileSave,输入文件名,点“保存”。二、求解从Solve菜单选择Solve命令,或者在窗口顶部的工具栏里按Solve按钮,LINDO就会开始对模型进行编译。首先,LINDO会检查模型是否具有数学意义以及是否符合语法要求。如果模型不能通过这一步检查,会看到以下报错信息:An error occurred during compilation on line: n(产生错误的行数),LINDO会自动跳转到发生错误的行。我们就可以检查该行的语法错误并改正过来。通过这一检查阶段后,LINDO就会正式开始求解,这由一个叫LINDO solver的处理器完成。当solver初始化时,会在屏幕上显示一个状态窗口,如下图所示: 这个状态窗口可以显示solver的进度,下表是对各项数据/控制按钮的说明: 数据项/控制 说明 Status 给出当前解决方案的状态,可能的值包括:Optimal(最优的), Feasible(可行的), Infeasible(不可行的),Unbounded(未定的) Iterations solver的重复次数 Infeasibility 多余或错误约束条件数量 Objective 目标函数的当前值 Best IP 标示得到最优整数解决方案值,该项只出现在IP(整数规划)模型。 IP Bound IP模型中目标的理论范围 Branches 由LINDO IP solver分生出来的整型变量个数 Elapsed Time solver启动后所经过时间 Update Interval 状态窗口更新周期(秒)。你可以把这个值设成任何一个非负数,如果把它设成零的话很可能会增加求解时间。 Interrupt Solver 按下该按钮,solver将立刻停止并返回当前得到的最优解。 Close 按下该按钮关闭状态窗口,solver继续运行。状态窗口可以通过选取相应命令重新打开。 当solver完成优化过程后将会提示你是否要进行灵敏度和范围分析。如果想重新看到刚才的模型,可键入 LOOK 命令, LINDO 会询问具体的行号. 典型的应答可以是 3, 或1-2, 或ALL, 而结果, 相应地会显示出第 3行, 第1-2 行, 或所有问题行。: LOOKROW: 3或: LOOK all如果想修改问题,可键入 ALTER 命令, LINDO 会询问行号、 变量名、及新的系数。例如:如果要将上面问题中约束条件改为 ,再全部看一下,并求解新问题,那么键入ALTER 命令后相应的应答为 2,X,和6, 以下是演示过程:ALTERROW: 2VAR: XNEW COEFFICIENT: 6或:LOOK ALL 三、LINDO输出结果报告在Reports Window窗口里,它可以显示64,000个字符的信息。如果有需要,LINDO会从顶部开始刷除部分输出以腾出空间来显示新的输出。如果你有一个很长的解决方案报告,需要完整地进行阅读使用,你可以把这些信息从Reports Window写到另外一个磁盘文件里,方法是选取File|Log Output命令,快捷键是F10,然后你就可以找到该文件进行阅读使用。如下所示,Reports Window里显示的是模型的最优解决方案: 按照顺序,报告首先告诉我们LINDO进行了两次运算后求出该解;跟着是在约束条件的约束下我们可以得到的最大利润是145;这时X和Y分别取值10和3。四、LINDO求解单纯的或混合型的整数规划(IP)问题LINDO可用于求解单纯的或混合型的整数规划(IP)问题。 但目前尚无相应完善的敏感性分析理论。 IP问题的输入与LP问题类似, 但在END标志后需定义整型变量。0-1型的变量可由INTEGER(可简写为INT)命令来标识: INTEGER vname 或 INTEGER n五、注意事项1进入LINDO后, : 表示LINDO 已准备接受一个命令。2LINDO 中已假定所有变量非负。 变量名不能超过8个字符。3如要输入 = 型约束, 相应以代替即可。 4LINDO不允许变量出现在一个约束条件的右端。 5目标函数及各约束条件之间一定要有空格分开。 6一般LINDO中不能接受括号( )和逗号, , 例:400(X1+X2)需写为400X1+400X2; 10,000需写为10000。7 EDIT 命令调用一个全屏幕编辑器,可对当前模型进行全屏幕编辑。 编辑完成后用“Esc” 键保存当前修改,退出全屏幕编辑器;此时若模型有错误,则要求改正错误后再退出。用“Ctrl + Break” 键废弃当前修改,退出全屏幕编辑器。8LINDO 有 DEL, EXT,及 ALTER等其它编辑命令, 虽然全屏幕编辑器EDIT 使这些命令用处减少了, 但 DEL 在大块地清除一个模型时是有用的, 而ALTER可允许做全局性的替换。9LOOK 命令会为你在屏幕上显示你的问题(EDIT 也可如此)。10如想获得敏感性分析可用RANGE 命令。11SAVE 命令用来存储一个问题模型到文件中, RETR或TAKE 命令用来读取一个以文件存储的模型。 TAKE命令还可用于解读一个以文本格式存储的LINGO 格式的问题模型。12DIVERT 会导致大多数信息被输送到文件中, 而只有少量信息被传送到屏幕。 RVRT 用于结束 DIVERET。 如果你divert 到一个名为 PRN的文件, 结果将被直接传到打印机。13LINDO文件中常有注释间杂于各命令(COMMANDS)之中, 前面注有!符号。 例如: ! This is a comment。 14LINDO将目标函数所在行作为第一行,从第二行起为约束条件。行号自动产生,也可以人为定义行号或行名。行名和变量名一样,不能超过8个字符。15LINDO 不能将LP 中的矩阵进行数值均衡化。 为了避免数值问题, 使用者应自己对矩阵的行列进行均衡化。 一个原则是, 系数矩阵中非零元的绝对值不能大于100,000 或者小于。0001。 如果LINDO 觉得矩阵元素之间很不均衡, 将会给出警告。16量纲分析与一般错误的避免附录 天津理工大学经济与管理学院运筹学实验报告实验日期:_学号 姓名 系别、专业 实验习题一农户拥有土地100亩和资金30000元,在冬半年(从10月中到第二年4月中),农户有劳力3500工时,在夏半年有劳力4000工时,如果有剩余劳力,那么农户就安排到邻居帮工。冬半年工钱是4.00元/小时,夏半年是4.50元/小时。 农户可以通过种植三种作物和饲养奶牛和蛋鸡来获得现金收入。作物不需投资,而每买一头奶牛需支付900元,一只蛋鸡7元。 每饲养一头奶牛需用地1.5亩,在冬半年需劳力100工时,在夏半年需劳力50工时,每头奶牛每年的纯现金收入为800元。相应的,养鸡不需土地,一只在冬半年需0.6工时,在夏半年需0.3工时,每只鸡的年净收入5元。农户的鸡舍最大可容鸡3000只,牛圈最多可养牛32头。 三种作物每亩所需工时及每年的收入如下: 黄豆玉米燕麦冬半年工时203510夏半年工时507540年净收入(元/亩)3755502501农户应养多少奶牛,多少蛋鸡,以及三种作物各种多少亩才能使年净收入最大?2建立线性规划模型,变量如下:a) SOY, CORN, OATS分别代表种植黄豆,玉米,和燕麦的亩数。b) COWS, HENS分别代表饲养奶牛和蛋鸡的数量。c) XSSUM,SXWW分别代表夏半年和冬半年的剩余工时。线性规划模型如下:SOYCORNOATSCOWSHENSXSSUMSXWW目标函数37555025080054.504.00夏半年工时507540500.314000冬半年工时2035101000.613500资金限制900730000土地限制1111.5100鸡舍限制13000牛圈限制1323问题:(1):在最优计划中,下面各量各为多少?a) 植黄豆( 56.25亩 ) b)养鸡( 3000只 )c)邻家帮工,冬半年( 0工时 ); 夏半年( 0工时 )d) 种植玉米( 0亩 ) e) 种植燕麦( 0亩 )f)饲养奶牛( 5.75头 ) g)年净收入( 40693.75元 )(2):在最优计划中,使用资金占原有资金的百分比是多少? 87.25% (3).:(a)在最优计划中,用来养牛的土地是多少亩? 8.625亩(b)养奶牛所花费的资金是多少? 5175元(4):冬半年最后一个工时的边际效益是多少? 5.31元(5):(a)若夏半年的劳力减少500工时,那么年总收入将 增加( ) 减少( 2687.5元 ) 不变( )(b)若夏半年劳力增加1500工时,那么年总收入的变化是多少?增加8004.17元(6):若农户可从当地银行以5%的年利率借款,至多不超过10000元,那么应借多少? 不借(7):(a)如果由于国家的严重饥荒,农户必须种植玉米或燕麦,而且只种一种,那么农户应种植哪种作物? 种植燕麦(b)如果种植30亩以上选定的作物,那么将使年收入增加( ) 年收入减少( 1229.46元 ) 不改变年收入( ) 不能确定( )(8): 一个地方牛奶场愿出5.00元/小时雇用临时帮工,那么农户应该:(C)A. 在夏半年帮工 B 在冬半年帮工C 不帮工 D 不能确定 (9.):假设由

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论