运筹学试验指导书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《运筹学》实验指导书
课程代码:0410073
课程名称:运筹学/ Operational Research
开课院实验室:经济与管理学院实验中心
适用专业:工商管理、物流、信息管理等专业
教学用书:《运筹学》(《运筹学》孙萍等编,中国铁道出版社出版)
第一部分实验课简介
一、实验的地位、作用和目的及学生能力标准
运筹学是一门应用科学,在教学过程中通过案例分析与研究并与现代计算机技术相结合,力求实现理论与实践相结合,优化理论与经济管理专业理论相结合。实验,是《运筹学》课程中重要的实践环节。通过实验,可弥补课堂理论教学中的不足,增加学生的感性知识;要使学生能掌握系统的管理科学中的整体优化和定量分析的方法,熟练运用运筹学程序,对实际问题和研究对象进行系统模拟。
二、试验内容
应用Lindo6 .1版运筹学软件包,解决实际问题。
三、实验方式与基本要求
1、实验方式:综合性实验
预习要求:复习编程方法及线性规划、整数规划的算法,对实际问题和研究对象,构造数学模型,确定优化技术方法,设计出原始数据表格。
实验设备:台式电脑
实验要求:按实验任务要求调试程序,程序执行结果应正确。
实验分组:1人/组
2、基本要求
①在实验室进行实验前,学生熟悉实验软件Lindo程序、操作方法等;
②将程序调好后,将程序结果记录,并由实验教师检查后签字;
③将数据及有关的参数等记录在已经设计好的原始数据表格中;
④在一周内完成实验报告。
四、考核方式与实验报告要求
学生进入实验室后签到,实验结束后,指导教师逐个检查并提问,根据学生操作、实验结果、回答问题情况及实验纪律及作风等方面给出学生成绩,再综合实验报告情况给出最后的成绩。报告格式如附录。
第二部分Lindo背景及功能菜单简介
一、Lindo简介
1.Lindo简介:LINDO(Linear, INteractive, and Discrete Optimizer)是一种专门用于求解数学规划问题的软件包。由于LINDO执行速度很快、易于方便输入、求解和分析数学规划问题。因此在数学、科研和工业界得到广泛应用。LINDO主要用于解线性规划、非线性规划、二次规划和整数规划等问题。也可以用于一些非线性和线性方程组的求解以及代数方程求根等。LINDO中包含了一种建模语言和许多常用的数学函数(包括大量概论函数),可供使用者建立规划问题时调用。
一般用LINDO解决线性规划(LP—Linear Programming)。整数规划(IP—Integer Programming)问题。其中LINDO 6 .1 学生版至多可求解多达300个变量和150个约束的规划问题。其正式版(标准版)则可求解的变量和约束在1量级以上。
2.特点:LINDO只要通过键盘输入就可以方便地实现交互性良好的操作与使用。另外,LINDO也可以对外建文件进行处理,只要这些文件里包含有必要的命令代码和输入数据,处理后就可以生成用于报告目的的文档。还可以自建子程序,然后直接与LINDO相结合形成一个包括你自己的代码和LINDO本身的优化库的综合程序。
二、LINDO的视窗
菜单:文件—编辑—求解—报告—窗口—帮助
工具栏:它包含所有的其他窗口以及所有命令菜单和工具栏。在里面的是一个新的空白的模型窗口。
第三部分LINDO常用功能与操作简介
一、LINDO数据输入与保存
1、打开一个空白工作表/项目
File——New,出现一个新的空白的模型窗口,在此窗口中输入需求解得模型。如图所示:
2、数据输入:在空白窗口输入模型,输入方式与我们的数学书写的形式基本一致。LINDO也不区分变量中的大小写字符,约束条件中的“<=”及“>=”可用“<”及“>”代替。
3、保存当前工作表:如果输入的问题模型已经不再需要改动,可用SA VE命令将它存入文件中,点File——Save,输入文件名,点“保存”。
二、求解
从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 行, 或所有问题行。
: LOOK
ROW: 3