![第7 lingo软件入门补充_第1页](http://file4.renrendoc.com/view10/M00/04/3B/wKhkGWVyLNOAAoeRAADgvjT_WhI644.jpg)
![第7 lingo软件入门补充_第2页](http://file4.renrendoc.com/view10/M00/04/3B/wKhkGWVyLNOAAoeRAADgvjT_WhI6442.jpg)
![第7 lingo软件入门补充_第3页](http://file4.renrendoc.com/view10/M00/04/3B/wKhkGWVyLNOAAoeRAADgvjT_WhI6443.jpg)
![第7 lingo软件入门补充_第4页](http://file4.renrendoc.com/view10/M00/04/3B/wKhkGWVyLNOAAoeRAADgvjT_WhI6444.jpg)
![第7 lingo软件入门补充_第5页](http://file4.renrendoc.com/view10/M00/04/3B/wKhkGWVyLNOAAoeRAADgvjT_WhI6445.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1Lingo软件入门(1)1.LINGO快速入门2.Lingo中的集3.模型的数据部分和初始部分4.Lingo函数5.LingoWindows命令
21LINGO快速入门
当你在windows下开始运行LINGO系统时,会得到类似下面的一个窗口:外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。在主窗口内的标题为LINGOModel–LINGO1的窗口是LINGO的默认模型窗口,建立的模型都都要在该窗口内编码实现。
3LINGO8.0有两种命令模式:与LINDO相比,LINGO软件主要具有两大优点:
Windows模式,通过下拉式菜单命令驱动LINGO运行命令行(Command-Line)模式,仅在命令窗口下操作1、除具有LINDO的全部功能外,还可用于求解非线性规划问题,包括非线性整数规划问题 2、LINGO包含了内置的建模语言,允许以简练、直观的方式描述较大规模的优化问题,模型中所需的数据可以以一定格式保存在独立的文件中 4例1
在LINGO中求解如下的LP问题:在模型窗口中输入如下代码:min=2*x1+3*x2;x1+x2>=350;x1>=100;2*x1+x2<=600;然后点击工具条上的按钮即可。
5LP问题在lindo和lingo中不同的输入形式:(1)将目标函数的表示方式从“min”变成了“min=” (2)“ST”在LINGO模型中不再需要,所以被删除了 (3)每个系数与变量间增加了运算符“*”(即乘号不能省略) (4)每行(目标、约束和说明语句)后面均增加了一个分号“;” (5)模型结束标志“END”也被删除了(LINGO中只有当模型以“MODEL:”开始时才能以“END”结束)。 Lingo:min=2*x1+3*x2;x1+x2>=350;x1>=100;2*x1+x2<=600;
这是LINGO模型的最基本特征 Lindo:min2x1+3x2stx1+y2>=250x1>=100end 67Lingo的不同保存类型 “LG4”表示LINGO格式的模型文件,是一种特殊的二进制格式文件,保存了我们在模型窗口中所能够看到的所有文本和其他对象及其格式信息,只有LINGO能读出它,用其他系统打开这种文件时会出现乱码 除“LG4”文件外,这里的另外几种格式的文件其实都是普通的文本文件,可以用任何文本编辑器打开和编辑 “LDT”表示数据文件“LTF”表示命令脚本文件“LGR”表示报告文 8例1.2使用LINGO软件计算6个发点8个收点的最小费用运输问题。产销单位运价如下表。运价产地B1B2B3B4B5B6B7B8产量A16267425960A24953858255A35219743351A47673927143A52395726541A65522814352销量3537223241324338
单位销地9使用LINGO软件,编制程序如下:model:!6发点8收点运输问题;sets:warehouses/wh1..wh6/:capacity;vendors/v1..v8/:demand;links(warehouses,vendors):cost,volume;endsets!目标函数;
min=@sum(links:cost*volume);!需求约束;
@for(vendors(J):
@sum(warehouses(I):volume(I,J))=demand(J));!产量约束;
@for(warehouses(I):
@sum(vendors(J):volume(I,J))<=capacity(I));!这里是数据;data:capacity=605551434152;demand=3537223241324338;cost=626742954953858252197433767392712395726555228143;enddataend为了能够使用LINGO的强大功能,接着第二节的学习吧。然后点击工具条上的按钮即可。10
2Lingo中的集
对实际问题建模的时候,总会遇到一群或多群相联系的对象,比如工厂、消费者群体、交通工具和雇工等等。Lingo允许把这些相联系的对象聚合成集(sets)。一旦把对象聚合成集,就可以利用集来最大限度的发挥Lingo建模语言的优势。2.1为什么使用集2.2什么是集2.3模型的集部分2.4小结112.1为什么使用集集是Lingo建模语言的基础,是程序设计最强有力的基本构件。借助于集,能够用一个单一的、长的、简明的复合公式表示一系列相似的约束,从而可以快速方便地表达规模较大的模型。例如:对于100个货栈的运输问题,如果一个一个的写出全部约束将是可怕的工作量。货栈1的运量<=存量货栈2的运量<=存量货栈3的运量<=存量………………Lingo可以采用最为简洁的表示方法:每个货栈的运输量<=存量122.2什么是集集是一群相联系的对象,这些对象也称为集的成员。一个集可能是一系列产品、卡车或雇员。每个集成员可能有一个或多个与之有关联的特征,我们把这些特征称为属性。属性值可以预先给定,也可以是未知的,有待于Lingo求解。例如:(1)产品集中的每个产品可以有一个价格属性;(2)卡车集中的每辆卡车可以有一个牵引力属性;(3)雇员集中的每位雇员可以有一个薪水属性,也可以有一个生日属性等等。13
2Lingo中的集
2.2什么是集(续)Lingo有两种类型的集:
原始集(primitiveset)和派生集(derivedset)一个原始集是由一些最基本的对象组成的。例如:集合WAREHOUSE是有6个货栈组成
集合VENDERS是由8个销售商组成14
2Lingo中的集
2.2什么是集(续)一个派生集是用一个或多个其它集来定义的,也就是说,它的成员来自于其它已存在的例如:由6个货栈和8个销售商之间的联系而形成的集合(LINKS)就是派生集合,需要注意的是,派生集合也可以由其他派生集合生成152.3模型的集部分集部分是Lingo模型的一个可选部分。在Lingo模型中使用集之前,集部分必须事先定义。集部分以关键字“sets:”开始,以“endsets”结束。一个模型可以没有集部分,或有一个简单的集部分,或有多个集部分。一个集部分可以放置于模型的任何地方,但是一个集及其属性在模型约束中被引用之前必须定义了它们。162.3模型的集部分sets:set1/1..3/:x,y;endsetsdata:x=123;y=456;enddataSet1集合定义了两个属性x和y。x取1、2、3三个值,而y取4、5、6三个值。sets:set1/1..3/:x,y;endsetsdata:xy=142536;enddataSet1集合定义了两个属性x和y。x取1、2、3三个值,而y取4、5、6三个值。172.3模型的集部分sets:warehouses/wh1..wh6/:capacity;vendors/v1..v8/:demand;links(warehouses,vendors):cost,volume;endsetsdata:capacity=605551434152;demand=3537223241324338;cost=626742954953858252197433767392712395726555228143;enddata18
2Lingo中的集
2.3.1定义原始集定义原始集的语法集的名字[/集的成员/][:集成员的属性];注意:用“[]”表示该部分内容可选。
如果集成员放在集定义中,那么对它们可采取显式罗列和隐式罗列两种方式。如果集成员不放在集定义中,那么可以在随后的数据部分定义它们。19
2Lingo中的集
2.3.1定义原始集(续)①当显式罗列成员时,必须为每个成员输入一个不同的名字,中间用空格或逗号搁开,允许混合使用。例2.1可以定义一个名为students的原始集,它具有成员John、Jill、Rose和Mike,属性有sex和age:sets:students/JohnJill,RoseMike/:sex,age;endsets20
2Lingo中的集
2.3.1定义原始集(续)②当隐式罗列成员时,不必罗列出每个集成员。可采用如下语法:集的名字/集的成员1..集的成员N/[:集成员的属性];
隐式成员列表格式示例所产生集成员1..n1..51,2,3,4,5StringM..StringNCar2..car14Car2,Car3,Car4,…,Car14DayM..DayNMon..FriMon,Tue,Wed,Thu,FriMonthM..MonthNOct..JanOct,Nov,Dec,JanMonthYearM..MonthYearNOct2001..Jan2002Oct2001,Nov2001,Dec2001,Jan200221
2Lingo中的集
2.3.1定义原始集(续)③集成员不放在集定义中,而在随后的数据部分来定义。!集部分;sets:students:sex,age;endsets!数据部分;data:students,sex,age=John116Jill014 Rose017 Mike113;enddata注意:开头用感叹号(!),末尾用分号(;)表示注释,可跨多行。
22
2Lingo中的集
原始集和C++语言的类比23
2Lingo中的集
2.3.2定义派生集定义派生集的语法集的名字(父集名称列表)[/集的成员/][:集成员的属性];注意:用“[]”表示该部分内容可选。
父集名称列表是已定义的集的列表,多个时必须用逗号隔开。如果没有指定成员列表,那么Lingo会自动创建父集成员的所有组合作为派生集的成员(参见下页的例子)。派生集的父集既可以是原始集,也可以是其它的派生集。
24
2Lingo中的集
2.3.2定义派生集(续)编号成员编号成员1(A,M,1)2(A,M,2)3(A,N,1)4(A,N,2)5(B,M,1)6(B,M,2)7
(B,N,1)8(B,N,2)定义派生集的例子sets:product/AB/;machine/MN/;week/1..2/;allowed(product,machine,week):x;endsets
Lingo生成了三个父集的所有组合共八组作为allowed集的成员:25
2Lingo中的集
2.3.2定义派生集(续)稠密集的定义稀疏集的定义派生集成员列表方式成员列表被忽略时,派生集成员由父集成员所有的组合构成,这样的派生集成为稠密集。
如果限制派生集的成员,使它成为父集成员所有组合构成的集合的一个子集,这样的派生集成为稀疏集。
①显式罗列。 例子:allowed(product,machine,week)/AM1,AN2,BN1/;
②设置成员资格过滤器。26
2Lingo中的集
设置成员资格过滤器sets:
!学生集:性别属性sex,1表示男性,0表示女性;年龄属性age.;students/John,Jill,Rose,Mike/:sex,age;
!男学生和女学生的联系集:友好程度属性friend,[0,1]之间的数。;linkmf(students,students)|sex(&1)#eq#1#and#sex(&2)#eq#0:friend;
!男学生和女学生的友好程度大于0.5的集;linkmf2(linkmf)|friend(&1,&2)#ge#0.5:x;endsetsdata:sex,age=116014017013;friend=0.30.50.6;enddata27
2Lingo中的集
设置成员资格过滤器(续)用竖线(|)来标记一个成员资格过滤器的开始。#eq#是逻辑运算符,用来判断是否“相等”,可参考§4.
&1可看作派生集的第1个原始父集的索引,它取遍该原始父集的所有成员;&2可看作派生集的第2个原始父集的索引,它取遍该原始父集的所有成员;&3,&4,……,以此类推。注意:如果派生集B的父集是另外的派生集A,那么上面所说的原始父集是集A向前回溯到最终的原始集,其顺序保持不变,并且派生集A的过滤器对派生集B仍然有效。因此,派生集的索引个数是最终原始父集的个数,索引的取值是从原始父集到当前派生集所作限制的总和。
28
2Lingo中的集
2.4小结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工业厂房资产清算及转让合同模板
- 2025年度工厂生产过程监控系统建设合同
- 2025年度环保项目融资居间服务合同范本
- 2025年个人家庭装修合同(三篇)
- 2025年度建筑水电项目全过程管理劳务合同
- 2025年度水电站建设项目监理合同补充协议
- 2025年度城市老旧小区车位改造租赁合同
- 2025年健身房场地租赁合同(含健身器材销售代理)
- 2025年度精密仪器租赁及维护服务合同范本
- 2025年中山市劳动合同(4篇)
- 广西贵港市2023年中考物理试题(原卷版)
- 仁爱英语八年级阅读理解测试题和答案
- 山东省中考物理总复习 八上 第4讲 光现象
- DB11∕T 1875-2021 市政工程施工安全操作规程
- 心肺康复完整版本课件
- 传统节日春节英文介绍课件
- 质量奖现场评审问题集锦精编版
- 装配式结构技术课程教学大纲
- 水资源论证报告
- 实现结构化:初中语文大单元教学设计的核心
- FZ∕T 54088-2016 锦纶6全牵伸单丝
评论
0/150
提交评论