运筹学上机实践报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运筹学
实验报告
姓名:
学号:
班级:采矿1103 教师:
(一)实验目的
(1)学会安装并使用Lingo软件
(2)利用Lingo求解一般线性,运输,一般整数和分派问题
(二)实验设备
(1)计算机
(2)Lingo软件
(三)实验步骤
(1)打开已经安装Lingo软件的计算机,进入Lingo
(2)建立数学模型和Lingo语言
(3)输入完Lingo语言后运行得出求解结果LINGO是用来求解线性和非线性规化问题的简易工具。LINGO内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO高效的求解器可快速求解并分析结果。当在windows 下开始运行LINGO系统时,会得到类似下面的一个窗口:
外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。在主窗口内的标题为LINGO Model–LINGO1的窗口是LINGO的默认模型窗口,建立的模型都都要在该窗口内编码实现。下面是以一般线性,运输,一般整数和分派问题为例进行实验的具体操作步骤:
A:一般线性规划问题
数学模型(课本31页例11)
求解线性规划:
Minz=-3x1+x2+x3
x1 - 2x2 + x3<=11
-4x1 + x2 + 2x3>=3
-2x1 + x3=1
x1,x2,x3>=0
打开lingo
输入min=-3*x1+x2+x3;
x1-2*x2+x3<=11;
-4*x1+x2+2*x3>=3;
-2*x1+x3=1;
End
如图所示:
然后按工具条的按钮运行出现如下的界面,也即是运行的结果和所求的解:
然后按工具条的按钮运行出现如下的界面,也即是运行的结果和所求的解:
结果:由longo运行的结果界面可以得到该运输问题的最优运输方案为运6吨至B3;运2吨至B4,由A2运4吨至B1,运1吨至B4,由A3运吨7至B2,运4吨至B4,此时对应的的目标函数值为
Z=6X4+2X11+4X2+1X9+7X5+4X6+122(元)
到此lingo软件已经解决了运输问题。
C:一般整数规划问题
数学模型(课本120页习题)
用lingo软件解决如下的整数规划问题:
Maxz=4x1+3x2
3x1+4x2<=12
4x1+2x2<=9
X1,x2>=0
X1,x2为整数
打开lingo,输入如下程序:
Model:
Max=4*x1+3*x2;
3*x1+4*x2<=12;
4*x1+2*x2<=9;
@gin(x1);
@gin(x2);
End
此时lingo的框内如下所示:
然后按工具条的按钮运行出现如下的界面,也即是运行的结果和所求的解:
结果分析:由longo运行的结果界面可以得到此整数规划的最优解x1=1,x2=2,此时的最优解:
Z=10
到此运用lingo软件已经解决了一般整数问题。
D:分派问题
数学模型(课本114页例6)
然后按工具条的按钮运行出现如下的界面,也即是运行的结果和所求的解:
结果分析:由longo运行的结果界面可以得到此分派问题的最优目标函数值为5+1+5+5+2=18;即让甲去干工作A,乙去工作E,丙去工作B,丁去工作C,戊去工作D.
到此运用lingo软件已经解决了分派问题。
(四)实验总结心得
通过上机实践,我运用lingo软件解决了一般线性规划问题、运输问题、一般整数规划问题、分派问题四种数学模型,基本上学会使用软件求解运筹学中常见的数学模型,同时通过对这四种上机实践所学的知识也能解决许多其它的模型,如0—1规划问题。在使用Lingo的同时也学习到了lingo软件以下的几个重要点,尽可能减少程序的出错,如LINGO中不区分大小写字母;变量和行名可以超过8个字符,但不能超过32个字符,且必须以字母开头。用LINGO解优化模型时已假定所有变量非负(除非用限定变量取值范围的函数@free或@bnd另行说明)。变量可以放在约束条件的右端(同时数字也可放在约束条件的左端)。但为了提高LINGO求解时的效率,应尽可能采用线性表达式定义目标和约束。语
句是组成LINGO模型的基本单位,每个语句都以分号结尾,编写程序时应注意模型的可读性等等。通过对具体方法与模型的学习,认识到了运筹学在经营管理中作为提高决策水平的方法和工具的作用,怎样通过规划安排最优的方案,比如说运输问题,怎样安排可以使企业效益达到最大化,在实际的生产生活中有重要的用途,而且了解了运筹学在分析与解决实际问题过程中的基本思想和基本思路,学会独立建模能力并用模型解决相关现实问题,进一步加强对现实问题的认识。提高独立运用理论知识解决现实问题的能力把所学的运筹学理论知识与实践相结合从而强化相关理论知识。了解、熟悉计算机Lingo软件在运筹学模型求解中的作用,激发学习兴趣。提高学习效果,增强自身的动手能力,提高实际应用能力。