运筹学试验指导书

上传人:wt****50 文档编号:33986823 上传时间:2018-02-19 格式:DOC 页数:9 大小:162.50KB
返回 下载 相关 举报
运筹学试验指导书_第1页
第1页 / 共9页
运筹学试验指导书_第2页
第2页 / 共9页
运筹学试验指导书_第3页
第3页 / 共9页
运筹学试验指导书_第4页
第4页 / 共9页
运筹学试验指导书_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《运筹学试验指导书》由会员分享,可在线阅读,更多相关《运筹学试验指导书(9页珍藏版)》请在金锄头文库上搜索。

1、运筹学实验指导书课程代码:0410073课程名称:运筹学/ Operational Research开课院实验室:经济与管理学院实验中心适用专业:工商管理、物流、信息管理等专业教学用书:运筹学 (运筹学孙萍等编,中国铁道出版社出版)第一部分 实验课简介一、实验的地位、作用和目的及学生能力标准运筹学是一门应用科学,在教学过程中通过案例分析与研究并与现代计算机技术相结合,力求实现理论与实践相结合,优化理论与经济管理专业理论相结合。实验,是运筹学课程中重要的实践环节。通过实验,可弥补课堂理论教学中的不足,增加学生的感性知识;要使学生能掌握系统的管理科学中的整体优化和定量分析的方法,熟练运用运筹学程序

2、,对实际问题和研究对象进行系统模拟。二、试验内容应用 Lindo6 .1 版运筹学软件包,解决实际问题。三、实验方式与基本要求1、实验方式:综合性实验预习要求:复习编程方法及线性规划、整数规划的算法,对实际问题和研究对象,构造数学模型,确定优化技术方法,设计出原始数据表格。实验设备:台式电脑实验要求:按实验任务要求调试程序,程序执行结果应正确。实验分组: 1 人/组2、基本要求在实验室进行实验前,学生熟悉实验软件Lindo程序、操作方法等; 将程序调好后,将程序结果记录,并由实验教师检查后签字; 将数据及有关的参数等记录在已经设计好的原始数据表格中; 在一周内完成实验报告。四、考核方式与实验报

3、告要求学生进入实验室后签到,实验结束后,指导教师逐个检查并提问,根据学生操作、实验结果、回答问题情况及实验纪律及作风等方面给出学生成绩,再综合实验报告情况给出最后的成绩。报告格式如附录。第二部分 Lindo 背景及功能菜单简介一、Lindo 简介1Lindo 简介:LINDO(Linear, INteractive, and Discrete Optimizer)是一种专门用于求解数学规划问题的软件包。由于 LINDO 执行速度很快、易于方便输入、求解和分析数学规划问题。因此在数学、科研和工业界得到广泛应用。LINDO 主要用于解线性规划、非线性规划、二次规划和整数规划等问题。也可以用于一些非

4、线性和线性方程组的求解以及代数方程求根等。LINDO 中包含了一种建模语言和许多常用的数学函数(包括大量概论函数),可供使用者建立规划问题时调用。一般用 LINDO 解决线性规划(LPLinear Programming)。整数规划(IPInteger Programming)问题。其中 LINDO 6 .1 学生版至多可求解多达 300 个变量和 150 个约束的规划问题。其正式版(标准版)则可求解的变量和约束在 1 量级以上。2特点:LINDO 只要通过键盘输入就可以方便地实现交互性良好的操作与使用。另外,LINDO 也可以对外建文件进行处理,只要这些文件里包含有必要的命令代码和输入数据,

5、处理后就可以生成用于报告目的的文档。还可以自建子程序,然后直接与 LINDO 相结合形成一个包括你自己的代码和 LINDO 本身的优化库的综合程序。二、LINDO 的视窗菜单:文件编辑求解报告窗口帮助工具栏:它包含所有的其他窗口以及所有命令菜单和工具栏。在里面的是一个新的空白的模型窗口。第三部分 LINDO 常用功能与操作简介一、LINDO 数据输入与保存1、打开一个空白工作表/项目FileNew,出现一个新的空白的模型窗口,在此窗口中输入需求解得模型。如图所示:2、数据输入:在空白窗口输入模型,输入方式与我们的数学书写的形式基本一致。LINDO 也不区分变量中的大小写字符,约束条件中的“=”

6、可用“”代替。3、保存当前工作表:如果输入的问题模型已经不再需要改动,可用 SAVE 命令将它存入文件中,点 FileSave,输入文件名,点 “保存” 。二、求解从 Solve 菜单选择 Solve 命令,或者在窗口顶部的工具栏里按 Solve 按钮,LINDO 就会开始对模型进行编译。首先,LINDO 会检查模型是否具有数学意义以及是否符合语法要求。如果模型不能通过这一步检查,会看到以下报错信息:An error occurred during compilation on line: n(产生错误的行数),LINDO 会自动跳转到发生错误的行。我们就可以检查该行的语法错误并改正过来。通过

7、这一检查阶段后,LINDO 就会正式开始求解,这由一个叫 LINDO solver的处理器完成。当 solver 初始化时,会在屏幕上显示一个状态窗口,如下图所示:这个状态窗口可以显示 solver 的进度,下表是对各项数据/控制按钮的说明: 数据项/控制 说明 Status 给出当前解决方案的状态,可能的值包括:Optimal(最优的), Feasible(可行的), Infeasible(不可行的),Unbounded(未定的)Iterations solver 的重复次数 Infeasibility 多余或错误约束条件数量 Objective 目标函数的当前值 Best IP 标示得到最

8、优整数解决方案值,该项只出现在 IP(整数规划)模型。 IP Bound IP 模型中目标的理论范围 Branches 由 LINDO IP solver 分生出来的整型变量个数 Elapsed Time solver 启动后所经过时间 Update Interval 状态窗口更新周期(秒)。你可以把这个值设成任何一个非负数,如果把它设成零的话很可能会增加求解时间。 Interrupt Solver 按下该按钮,solver 将立刻停止并返回当前得到的最优解。 Close 按下该按钮关闭状态窗口,solver 继续运行。状态窗口可以通过选取相应命令重新打开。 当 solver 完成优化过程后将

9、会提示你是否要进行灵敏度和范围分析。如果想重新看到刚才的模型,可键入 LOOK 命令, LINDO 会询问具体的行号. 典型的应答可以是 3, 或 1-2, 或 ALL, 而结果, 相应地会显示出第 3 行, 第 1-2 行, 或所有问题行。: LOOKROW: 3或: LOOK all如果想修改问题,可键入 ALTER 命令, LINDO 会询问行号、 变量名、及新的系数。例如:如果要将上面问题中约束条件改为 ,再全部看一下,并求解新问题,那么键入 ALTER 命令后相应的应答为 2,X,和 6, 以下是演示过程:ALTERROW: 2VAR: XNEW COEFFICIENT: 6或:LO

10、OK ALL 三、LINDO 输出结果报告在 Reports Window 窗口里,它可以显示 64,000 个字符的信息。如果有需要,LINDO 会从顶部开始刷除部分输出以腾出空间来显示新的输出。如果你有一个很长的解决方案报告,需要完整地进行阅读使用,你可以把这些信息从Reports Window 写到另外一个磁盘文件里,方法是选取 File|Log Output 命令,快捷键是 F10,然后你就可以找到该文件进行阅读使用。如下所示,Reports Window 里显示的是模型的最优解决方案: 按照顺序,报告首先告诉我们 LINDO 进行了两次运算后求出该解;跟着是在约束条件的约束下我们可以

11、得到的最大利润是 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如要输入 = 型约束, 相应以代替即可

12、。 4LINDO 不允许变量出现在一个约束条件的右端。 5目标函数及各约束条件之间一定要有空格分开。 6一般 LINDO 中不能接受括号( )和逗号, , 例:400(X1+X2)需写为400X1+400X2; 10,000 需写为 10000。7 EDIT 命令调用一个全屏幕编辑器,可对当前模型进行全屏幕编辑。 编辑完成后用“Esc ” 键保存当前修改,退出全屏幕编辑器;此时若模型有错误,则要求改正错误后再退出。用“Ctrl + Break ” 键废弃当前修改,退出全屏幕编辑器。8LINDO 有 DEL, EXT,及 ALTER 等其它编辑命令, 虽然全屏幕编辑器EDIT 使这些命令用处减少

13、了, 但 DEL 在大块地清除一个模型时是有用的, 而 ALTER 可允许做全局性的替换。9LOOK 命令会为你在屏幕上显示你的问题(EDIT 也可如此)。10如想获得敏感性分析可用 RANGE 命令。11SAVE 命令用来存储一个问题模型到文件中, RETR 或 TAKE 命令用来读取一个以文件存储的模型。 TAKE 命令还可用于解读一个以文本格式存储的LINGO 格式的问题模型。12DIVERT 会导致大多数信息被输送到文件中, 而只有少量信息被传送到屏幕。 RVRT 用于结束 DIVERET。 如果你 divert 到一个名为 PRN 的文件, 结果将被直接传到打印机。13LINDO 文

14、件中常有注释间杂于各命令(COMMANDS) 之中, 前面注有!符号。例如: ! This is a comment。 14LINDO 将目标函数所在行作为第一行,从第二行起为约束条件。行号自动产生,也可以人为定义行号或行名。行名和变量名一样,不能超过 8 个字符。15LINDO 不能将 LP 中的矩阵进行数值均衡化。 为了避免数值问题, 使用者应自己对矩阵的行列进行均衡化。 一个原则是, 系数矩阵中非零元的绝对值不能大于 100,000 或者小于。0001。 如果 LINDO 觉得矩阵元素之间很不均衡,将会给出警告。16量纲分析与一般错误的避免附录 天津理工大学经济与管理学院运筹学实验报告实

15、验日期:_学号 姓名 系别、专业 实验习题一农户拥有土地 100 亩和资金 30000 元,在冬半年(从 10 月中到第二年 4 月中) ,农户有劳力 3500 工时,在夏半年有劳力 4000 工时,如果有剩余劳力,那么农户就安排到邻居帮工。冬半年工钱是 4.00 元/ 小时,夏半年是 4.50 元/ 小时。农户可以通过种植三种作物和饲养奶牛和蛋鸡来获得现金收入。作物不需投资,而每买一头奶牛需支付 900 元,一只蛋鸡 7 元。每饲养一头奶牛需用地 1.5 亩,在冬半年需劳力 100 工时,在夏半年需劳力50 工时,每头奶牛每年的纯现金收入为 800 元。相应的,养鸡不需土地,一只在冬半年需

16、0.6 工时,在夏半年需 0.3 工时,每只鸡的年净收入 5 元。农户的鸡舍最大可容鸡 3000 只,牛圈最多可养牛 32 头。三种作物每亩所需工时及每年的收入如下: 黄豆 玉米 燕麦冬半年工时 20 35 10夏半年工时 50 75 40年净收入(元/亩) 375 550 2501农户应养多少奶牛,多少蛋鸡,以及三种作物各种多少亩才能使年净收入最大?2建立线性规划模型,变量如下:a) SOY, CORN, OATS 分别代表种植黄豆,玉米,和燕麦的亩数。b) COWS, HENS 分别代表饲养奶牛和蛋鸡的数量。c) XSSUM,SXWW 分别代表夏半年和冬半年的剩余工时。线性规划模型如下:SOY CORNOATSCOWSHENS XS

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号