运筹学实验

  • 格式:doc
  • 大小:155.50 KB
  • 文档页数:8

下载文档原格式

  / 8
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《运筹学》实验指导书

课程代码:0900030

课程名称:运筹学/Operational Research

开课院实验室:管理学院实验中心

适用专业:工商管理、工程管理、管理信息、工业工程、工程造价等专业

教学用书:《运筹学》(《运筹学》编写组编写,清华大学出版社出版)

第一部分实验课简介

一、实验的地位、作用和目的及学生能力标准

运筹学是一门应用科学,在教学过程中通过案例分析与研究并与现代计算机技术相结合,力求实现理论与实践相结合,优化理论与经济管理专业理论相结合。实验,是《运筹学》课程中重要的实践环节。通过实验,可弥补课堂理论教学中的不足,增加学生的感性知识;要使学生能掌握系统的管理科学中的整体优化和定量分析的方法,熟练运用运筹学程序,对实际问题和研究对象进行系统模拟。

二、试验内容

应用Lindo6.1版运筹学软件包,解决实际问题。

三、实验方式与基本要求

1、实验方式:综合性实验

预习要求:复习编程方法及线性规划、整数规划的算法,对实际问题和研究对象,构造数学模型,确定优化技术方法,设计出原始数据表格。

实验设备:台式电脑

实验要求:按实验任务要求调试程序,程序执行结果应正确。

实验分组:1人/组

2、基本要求

(1)在实验室进行实验前,学生熟悉实验软件Lindo程序、操作方法等;

(2)将程序调好后,将程序结果记录,并由实验教师检查后签字;

(3)将数据及有关的参数等记录在已经设计好的原始数据表格中;

(4)在一周内完成实验报告。

四、考核方式与实验报告要求

学生进入实验室后签到,实验结束后,指导教师逐个检查并提问,根据学生操作、实验结果、回答问题情况及实验纪律及作风等方面给出学生成绩,再综合实验报告情况给出最后的成绩。报告格式如附录。

第二部分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的进度,下表是对各项数据/控制按钮的说明:当solver完成优化过程后将会提示你是否要进行灵敏度和范围分析。如果想重新看到刚才的模型,可键入LOOK命令,LINDO会询问具体的行号。典型的应答可以是3,或1-2,或ALL,而结果,相应地会显示出第3行,第1-2行,或所有问题行。

数据项/控制说明

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继续运行。状态窗口可以通过选取相应命令重新打开。

ROW: 3

:LOOK all

如果想修改问题,可键入ALTER命令,LINDO会询问行号、变量名、及新的系数。例如:如果要将上面问题中约束条件改为,再全部看一下,并求解新问题,那么键入ALTER 命令后相应的应答为2,X,和6,以下是演示过程:

:ALTER

ROW: 2

V AR: X

NEW 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)问题。但目前尚无相应完