最优化模型计算

上传人:小** 文档编号:55021600 上传时间:2018-09-23 格式:PPT 页数:33 大小:2.25MB
返回 下载 相关 举报
最优化模型计算_第1页
第1页 / 共33页
最优化模型计算_第2页
第2页 / 共33页
最优化模型计算_第3页
第3页 / 共33页
最优化模型计算_第4页
第4页 / 共33页
最优化模型计算_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《最优化模型计算》由会员分享,可在线阅读,更多相关《最优化模型计算(33页珍藏版)》请在金锄头文库上搜索。

1、第二讲 最优化问题的LINGO建模,LINGO的菜单与参数设置,LINGO的集合定义与应用,LINGO的集合函数,常见最优化问题的LINGO建模,LINGO的菜单与参数设置,LINGO的主界面上有一个工具条,其上有一些按钮,按钮的功能自左往右依次为:,第二讲 最优化问题的LINGO建模,在线帮助、上下文帮助,新建、打开、保存、打印,剪切、复制、粘贴,取消、重做,查找、定位、括号匹配,求解、显示解答、模型图示、选项设置,窗口后置、关闭所有窗口、平铺窗口,用户可以通过3种不同方式执行LINGO操作,一是工具条按钮,二是菜单选择,三是快捷键,第二讲 最优化问题的LINGO建模,文件(File)菜单,

2、新建(New):创建一个新的“Model”窗口,输入待求解的模型; 打开(Open):打开一个已经存在的一个模型文件或者文本文件,保存(Save):将当前窗口中的模型、结果、命令序列等保存为文件; 另存为(Save As):将当前窗口中的内容保存为指定格式文件; 关闭(Close):关闭当前窗口,打印 (Print):打印当前窗口的内容 打印设置(Print Setup):设置打印格式 打印预览(Print Preview):预览待打印内容,输出到日志文件(Log Output):将之后在命令窗口输入的所有命令,保存到一个日志文件,Take Commands:将LINGO命令的脚本文件提交给系

3、统进程运行; Import Lingo:打开一个LINGO格式的模型文件,并转化为LINGO程序,Export File:输出MPS或MPI格式文件,其中MPS是IBM开发的数学规划格式,MPI是LINGO制定的数学规划格式,第二讲 最优化问题的LINGO建模,编辑(Edit)菜单,粘贴特定(Paste Special):将Windows剪贴板中的内容插入到光标所在位置,以方便浏览,所插入内容不参与LINGO程序的运行,Go To Line:将光标移动到指定行,粘贴函数(Paste Function):将LINGO的内部函数粘贴到当前插入点,匹配括号(Match Parenthesis):在程

4、序中选择一个括号,查找与其匹配的另一半括号,插入新对象(Insert New Object):新建或将一个已存在文件作为链接对象插入到当前位置; 连接(Link) :修改插入对象的连接性质; 对象性质(Object Properties):选择一个链接或插入对象,查看或修改该对象的属性,Select Font:控制显示字体、字形、大小、颜色、效果等,第二讲 最优化问题的LINGO建模,Lingo菜单,求解模型(Slove):将当前模型送入内存求解,灵敏性分析(Range):产生当前模型的灵敏性分析,给出最优解不变时,目标函数系数的变化范围;在影子价格和最优基不变的条件下,约束右端常数项的变化范

5、围。灵敏性分析影响速度,且需要先激活,1 模型通常形式(Generate):生成当前LINGO模型的代数表达式的完整形式,相当于编译,选项(Options):打开含7个选项卡的对话框,可以设置LINGO界面,以及求解模型的80-90个控制参数,求解结果(Solution):打开求解结果的对话框,选择用文本或图表方式查看内存中的求解结果,1 调试(Debug):当求解结果为无可行解或目标函数无界时,执行调试命令寻找错误,1 模型统计(Model Statistics):显示模型统计资料;查看(Look):以文本方式显示模型内容,第二讲 最优化问题的LINGO建模,窗口(Windows)菜单,命令

6、行窗口(Command Windows):在“:”提示符后可以输入LINGO的命令行命令,状态窗口(Status Windows): 用LINGO求解模型时,它会调用适当的求解器,该命令显示求解器的状态,以监视求解器的进展和模型大小等,Variables:Total总变量数,Nonlinear非线性变量数,Integers整数变量数,Constraints: Total总约束数,Nonlinear非线性约束数,Total: Total总非零参数数,Nonlinear非线性非零参数数,中断求解器(Interrupt Solver):让LINGO在下一次迭代时停止求解,第二讲 最优化问题的LING

7、O建模,LINGO的参数设置,Interface(界面)选项,General Solver(通用求解器)选项,第二讲 最优化问题的LINGO建模,LINGO的参数设置,Linear Solver(线性求解器)选项,Nonlinear Solver(非线性求解器)选项,第二讲 最优化问题的LINGO建模,LINGO的参数设置,Integer Pre-Solver (整数预处理求解器)选项,Integer Solver(整数求解器)选项,第二讲 最优化问题的LINGO建模,LINGO的参数设置,Global Solver(全局最优求解器)选项,LP QP NLP IPILP IQP INLP,LI

8、NGO软件的求解过程,LINGO预处理程序,线性优化求解程序,非线性优化求解程序,分枝定界管理程序,1. 确定常数 2. 识别类型,1. 单纯形算法 2. 内点算法(选),1、顺序线性规划法(SLP) 2、广义既约梯度法(GRG) (选) 3、多点搜索(Multistart) (选),第二讲 最优化问题的LINGO建模,全局优化(选),第二讲 最优化问题的LINGO建模,LINGO的集合定义与应用,在建模过程中,总会遇到一群或多群相联系的对象,LINGO允许把这些相联系的对象聚合成集(sets)。借助于集,可以将诸多相似的约束仅用一个简明的复合公式来表示,从而快速方便地建立规模较大的模型,发挥

9、LINGO建模语言的优势。,LINGO有两种集:原始集(primitive set)由一些最基本的对象组成;派生集(derived set)是由一个或多个其它集生成得到的,集合段是LINGO模型的一个可选部分; 集合段以关键字“sets:”开始,以“endsets”结束; 一个模型可以没有集合段、一个简单的集合段或者多个集合段; 集合段可以在模型的任何地方,但是集合及其属性在模型约束中被引用前必须先定义。,SETS: setname/member_list/:attribute_list; ENDSETS,原始集在定义时必须声明集的名字集的成员(可选)集的属性(可选),Setname是集的名字

10、,具备较好可读性。 命名规则:以拉丁字母或下划线(_)为首字符,其后由拉丁字母(AZ)、下划线、阿拉伯数字(0,1,9)组成的总长度不超过32个字符的字符串,不区分大小写,第二讲 最优化问题的LINGO建模,其中“ ”表示该部分内容可选,Member_list是集成员列表。 可以在集定义中,用显式或隐式列举2种方式给出;也可以在随后的数据部分定义它们,例2.1 定义一个名为students的原始集,它具有成员John、Jill、Rose和Mike,属性有sex(0表示女生、1表示男生)和age。,第二讲 最优化问题的LINGO建模,SETS: STUDENTS/JOHN,JILL,ROSE,M

11、IKE/:SEX,AGE; ENDSETS,法1显式列举:输入每个成员名字,中间用空格或逗号搁开,允许混合使用,SETS: setname/member1memberN/: attribute_list; ENDSETS,法2隐式列举:不列举每个成员,采用如下格式,其中member1是集的第一个成员名,memberN是集的最末一个成员名,LINGO自动产生中间的所有成员名。 LINGO也接受一些特定的首成员名和末成员名,用于创建一些特殊的集。,第二讲 最优化问题的LINGO建模,sets:students:sex,age; endsets data: !数据段;students,sex,age

12、= John 1 16Jill 0 14Rose 0 17Mike 1 13; enddata,法3数据段列举:集成员不放在集定义中,而在随后的数据段来定义,SETS: STUDENTS/14/:SEX,AGE; ENDSETS,方法1和方法2在数据段,才对集合属性进行赋值,DATA: SEX= 1 0 0 1; AGE=16 14 17 13; ENDDATA,在集合段只定义了一个集students,并未指定成员。在数据段定义了集成员John、Jill、Rose和Mike,并对属性sex和age分别赋值,第二讲 最优化问题的LINGO建模,派生集在定义时必须声明集的名字父集的名字 集的成员(

13、可选)集的属性(可选),SETS: setname(parent_set_list) /member_list/:attribute_list; ENDSETS,parent_set_list是已定义的集的列表,多个时须用逗号隔开;派生集的父集既可以是原始集,也可以是其它的派生集。,member_list如果没有指定集合成员列表,那么LINGO会自动创建父集成员的所有组合作为派生集成员。这样的派生集称为稠密集,如果限制派生集的成员,使它成为父集成员所有组合的一个子集,这样的派生集称为稀疏集,稀疏集可以用两种方式来定义:直接列举法和元素过滤法。 下面各举一例加以说明。,设给定的7项工作构成集合T

14、ASK,4个属性TIME、ES、LS、SLACK分别表示工作持续时间、最早开始时间、最晚开始时间、时间差LS减ES,第二讲 最优化问题的LINGO建模,例2.2 某投资公司正在准备开发一个新项目,需要完成 方案设计(Design)、需求预测(Forecast)、竞争力评估(Survey)、价格设置(Price)、流水线规划(Schedule)、成本支出(CostOut)、销售培训(Train) 等7项工作。完成各项工作所需时间和工作间顺序如下,请根据项目的PERT计划网络,确定关键路径。,派生集PRED是由2个基本集TASKS为父集构成的,第二讲 最优化问题的LINGO建模,SETS: TAS

15、KS : TIME, ES, LS, SLACK;PRED( TASKS, TASKS); ENDSETS DATATASKS= DESIGN, FORECAST, SURVEY, PRICE, SCHEDULE, COSTOUT, TRAIN;TIME = 10, 14, 3, 3, 7, 4, 10;PRED = DESIGN, FORECASTDESIGN, SURVEY,FORECAST, PRICE,FORECAST, SCHEDULE,SURVEY, PRICE,SCHEDULE, COSTOUT,PRICE, TRAIN,COSTOUT, TRAIN; ENDDATA,模型的集合

16、段和数据段如下,基本集TASK的成员不在定义中列出,而在随后的数据段进行定义,稀疏派生集PRED的成员,可以在集合段中通过元素列举法定义,也可以在数据段中用元素列举法定义,设8名调查员构成基本集ANALYSTS; 派生集PAIRS是由2个ANALYSTS为父集构成的稀疏集,其属性RATING为效率矩阵,MATCH(i,j)=1 表示调查员i和j 组成一队,0 表示不组队。,例2.3 匹配问题:8 名调查员准备分成4 个调查队(每队两人)前往4 个地区进行社会调查。设两两之间组队的效率如表所示(由于对称性只列出了上三角部分),问如何组队可以使总效率最高?,则模型的集合段和数据段可以表示为,第二讲 最优化问题的LINGO建模,基本集ANALYSTS只规定了集合成员,而没有集合属性,SETS: ANALYSTS/18/;PAIRS(ANALYSTS, ANALYSTS)| ENDDATA,派生集是稀疏集时,可以用竖线“ | ”来标记一个元素过滤器的开始。 “&1”、“&2”分别表示派生集的第1、2个父集的索引,它可以取遍该父集的所有成员;“ #GT# ”是逻辑运算符,用来判断是否“大于”,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 宣传企划

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