《LINGO入门》PPT课件.ppt

上传人:za****8 文档编号:15184888 上传时间:2020-08-05 格式:PPT 页数:30 大小:242.70KB
返回 下载 相关 举报
《LINGO入门》PPT课件.ppt_第1页
第1页 / 共30页
《LINGO入门》PPT课件.ppt_第2页
第2页 / 共30页
《LINGO入门》PPT课件.ppt_第3页
第3页 / 共30页
点击查看更多>>
资源描述
LINGO入门,合肥工业大学管理学院,Copyright By Audao2008,1 LINGO软件简介,发展: 美国芝加哥大学的Linus Schrage教授于1980年前后开发的专门用于求解最优化问题的软件包。后来经过多年的不断完善和扩充,并成立了LINGO系统公司。 这套软件包的主要产品有: LINDO,LINGO,LINDO API和Whats Best,2 LINGO的求解过程,LINGO软件内部有4个基本的求解程序用于求解不同类型的优化模型: (1)直接求解程序(Direct Slover) (2)线性优化求解程序(Linear Slover) (3)非线性优化求解程序(Nonlinear Slover) (4)分支定界管理程序(Branch and Bound Manager),3 软件的安装,1、按照安装程序的说明一步步Next安装到自己指定的目录。 2、第一次打开Lingo软件会出现左边的界面,选择Demo试用版本。Demo版本功能有所限制不过可以完成我们的实验。,3.然后会出现询问是否开启自动更新的选项,选择否No。,Demo版本的限制: 约束条件150; 变量数量300; 整数变量30; 非线性变量30; 全局变量5; 程序大小32M;,4 软件的使用,程序主界面: 1.最外层的窗口称为主窗口。 2.内部窗口也就是光标所在的窗口称为模型窗口。 3.最下面的是状态栏。,变量框: Total显示当前模型的全部变量数,Nonlinear显示其中的非线性变量数,Integers显示其中的整数变量数。 约束框: Total显示当前模型扩展后的全部约束数,Nonlinear显示其中的非线性约束数。、 非零框: Total显示当前模型中全部非零系数的数目,Nonlinear显示其中的非线性变量系数的数目。 还有内存使用框和已运行时间框。,4.1 LINGO的状态窗口,4.2 求解器状态(Solver Status)框 显示当前模型求解器的运行状态。域的含义如下。,4.3 扩展求解器状态(Extended Solver Status)框显示LINGO中几个特殊求解器的运行状态。包括分枝定界求解器(Branch-and- Bound Solver)、全局求解器(GlobalSolver)和多初始点求解器(Multistart Solver)。,4.4 LINGO的报告窗口,“Global optimal solution found at iteration: 2”表示2次迭代后得到全局最优解。 “Objective value:”表示最优目标值 “Value”给出最优解中各变量的值 “Slack or Surplus”给出松驰变量的值 “Reduced Cost”列出最优单纯形表中判别数所在行的变量的系数,表示当变量有微小变动时, 目标函数的变化率。 “DUAL PRICE”(对偶价格)表示当对应约束有微小变动时, 目标函数的变化率,4.5 LINGO的选项设置,1.从LINGO菜单中选用“Options”命令、单击“Options”按钮或直接按Ctrl+I组合键可以改变一些影响LINGO模型求解时的参数。该命令将打开一个含有7个选项卡的窗口,你可以通过它修改LINGO系统的各种参数和选项。 2.修改完以后,你如果单击“Apply(应用)”按钮,则新的设置马上生效;如果单击“OK(确定)”按钮,则新的设置马上生效,并且同时关闭该窗口。如果单击“Save(保存)”按钮,则将当前设置变为默认设置,下次启动LINGO时这些设置仍然有效。单击“Default(缺省值)”按钮,则恢复LINGO系统定义的原始默认设置(缺省设置)。 3.设置,5 Lingo语言,5.1 LINGO中的集 1.什么是集 集是一群相联系的对象,这些对象也称为集的成员。一个集可能是一系列产品、卡车或雇员。每个集成员可能有一个或多个与之有关联的特征,我们把这些特征称为属性。属性值可以预先给定,也可以是未知的,有待于LINGO求解。例如,产品集中的每个产品可以有一个价格属性;卡车集中的每辆卡车可以有一个牵引力属性;雇员集中的每位雇员可以有一个薪水属性,也可以有一个生日属性等等。,2.LINGO有两种类型的集:原始集(primitiveset)和派生集(derived set)。 一个原始集是由一些最基本的对象组成的。 一个派生集是用一个或多个其它集来定义的,也就是说,它的成员来自于其它已存在的集。,5.2 模型的集部分,集部分是LINGO模型的一个可选部分。 在LINGO模型中使用集之前,必须在集部分事先定义。集部分以关键字“sets:”开始,以“endsets”结束。一个模型可以没有集部分,或有一个简单的集部分,或有多个集部分。一个集部分可以放置于模型的任何地方,但是一个集及其属性在模型约束中被引用之前必须定义了它们。,例题,例5.1 可以定义一个名为students的原始集,它具有成员John、Jill、Rose和Mike,属性有sex和age: sets: students/John,Jill,Rose,Mike/: sex, age; endsets,6 模型的数据部分和初始部分,在处理模型的数据时,需要为集指派一些成员并且在LINGO求解模型之前为集的某些属性指定值。 为此,LINGO为用户提供了两个可选部分:输入集成员和数据的数据部分(Data Section)和为决策变量设置初始值的初始部分(Init Section)。,6.1 数据部分入门,数据部分提供了模型相对静止部分和数据分离的可能性。显然,这对模型的维护和维数的缩放非常便利。 数据部分以关键字“data:”开始,以关键字“enddata”结束。在这里,可以指定集成员、集的属性。其语法如下: object_list = value_list;,对象列(object_list) 包含要指定值的属性名、要设置集成员的集名,用逗号或空格隔开。一个对象列中至多有一个集名,而属性名可以有任意多。如果对象列中有多个属性名,那么它们的类型必须一致。如果对象列中有一个集名,那么对象列中所有的属性的类型就是这个集。 数值列(value_list) 包含要分配给对象列中的对象的值,用逗号或空格隔开。注意属性值的个数必须等于集成员的个数。看下面的例子。,例6.1 sets: set1/A,B,C/: X,Y; endsets data: X=1,2,3; Y=4,5,6; enddata,7 LINGO函数,INGO有9种类型的函数: 1 基本运算符:包括算术运算符、逻辑运算符和关系运算符 2 数学函数:三角函数和常规的数学函数 3 金融函数:LINGO提供的两种金融函数 4 概率函数:LINGO提供了大量概率相关的函数 5 变量界定函数:这类函数用来定义变量的取值范围 6 集操作函数:这类函数为对集的操作提供帮助 7 集循环函数:遍历集的元素,执行一定的操作的函数 8 数据输入输出函数:这类函数允许模型和外部数据源相联系, 进行数据的输入输出 9 辅助函数:各种杂类函数,7.1 集循环函数,1for 该函数用来产生对集成员的约束。基于建模语言的标量需要显式输入每个约束,不过for函数允许只输入一个约束,然后LINGO自动产生每个集成员的约束。,2sum 该函数返回遍历指定的集成员的一个表达式的和。 3min和max 返回指定的集成员的一个表达式的最小值或最大值,wrap(index,limit) 该函数返回j=index-k*limit,其中k是一个整数,取适当值保证j落在区间1,limit内。该函数相当于index模limit。该函数在循环、多阶段计划编制中特别有用。,例7.1职员时序安排模型,一项工作一周7天都需要有人(比如护士工作),每天(周一至周日)所需的最少职员数为20、16、13、16、19、14和12,并要求每个职员一周连续工作5天,试求每周所需最少职员数,并给出安排。注意这里我们考虑稳定后的情况。 model: sets: days/mon.sun/: required,start; endsets data: !每天所需的最少职员数;,required = 20 16 13 16 19 14 12; enddata !最小化每周所需职员数; min=sum(days: start); for(days(J): sum(days(I) | I #le# 5: start(wrap(J+I+2,7) = required(J); end,8 综合举例,例:如何在LINGO中求解如下的LP问题: 在模型窗口中输入如下代码: min=2*x1+3*x2; x1+x2=350; x1=100; 2*x1+x2=600; 然后点击工具条上的求解按钮 即可。,上机时注意事项,上机时选择application(第三个) 从桌面上“文件上传与下载”下载运筹学文件夹,文件夹里有LINGO教程完整介绍和实验报告文档。 带鞋套 遵守机房规定 维护机房卫生 认真完成任务,试验报告要求,页面尽量8-10面即4-5张纸双面打印;同一题程序放在同一页面。 实验报告分为电子版和纸版。 纸版以班级为单位由各班班长统一收齐,考 试的时候交; 电子版以班级为单位由班长收齐打包在考试前发到此邮箱,. 个人文档的命名方式为:学号 +姓名 例如:20081118张三,上机时间和地点,上机时间: 第一次时间:十五周星期天(6月13号) 下午5:409:00 第二次时间:十七周星期二(6月22号) 下午5:409:00 上机地点:一、二机房。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!