您所在位置: 网站首页 / 第3讲LINGO基本使用方法知识课件.ppt / 文档详情
第3讲LINGO基本使用方法知识课件.ppt 立即下载
2024-12-03
约2.3千字
约46页
0
926KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

第3讲LINGO基本使用方法知识课件.ppt

第3讲LINGO基本使用方法知识课件.ppt

预览

免费试读已结束,剩余 41 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第3讲:LINGO基本使用方法一、LINGO入门主窗口新建文件运行状态窗口运行状态窗口运行状态窗口单纯型法在2次迭代后得到最优解一个简单的LINGO程序程序语句输入的备注:输出结果:输出结果备注:(1)集是LINGO建模语言的基础,是程序设计最强有力的基本构件。借助于集,能够用一个单一的、长的、简明的复合公式表示一系列相似的约束,从而可以快速方便地表达规模较大的模型。原始集(primitiveset):一个原始集是由一些最基本的对象组成的。2.3模型的集部分(可选部分)语法:setname[/member_list/][:attribute_list];隐式成员列表格式例3SAILCO公司需要决定下四个季度的帆船生产量。下四个季度的帆船需求量分别是40条,60条,75条,25条,这些需求必须按时满足。每个季度正常的生产能力是40条帆船,每条船的生产费用为400美元。如果加班生产,每条船的生产费用为450美元。每个季度末,每条船的库存费用为20美元。假定生产提前期为0,初始库存为10条船。如何安排生产可使总费用最小?问题的模型(可以看出是LP模型)注:LINDO中没有数组,只能对每个季度分别定义变量,如正常产量就要有RP1,RP2,RP3,RP44个变量等。写起来就比较麻烦,尤其是更多(如1000个季度)的时候。
记四个季度组成的集合QUARTERS={1,2,3,4},它们就是上面数组的下标集合,而数组DEM,RP,OP,INV对集合QUARTERS中的每个元素1,2,3,4分别对应于一个值。LINGO正是充分利用了这种数组及其下标的关系,引入了“集合”及其“属性”的概念,把QUARTERS={1,2,3,4}称为集合,把DEM,RP,OP,INV称为该集合的属性(即定义在该集合上的属性)。QUARTERS集合的属性集合元素及集合的属性确定的所有变量LINGO中定义集合及其属性目标函数的定义方式约束的定义方式本例中,对于产品数量的平衡方程,由于下标i=1时的约束关系式与i=2,3,4时有所区别,所以不能省略下标“i”。实际上,i=1时要用到变量INV(0),但定义的属性变量中INV不包含INV(0)(INV(0)=10是一个已知的)。
为了区别i=1和i=2,3,4,把i=1时的约束关系式单独写出,即“INV(1)=10+RP(1)+OP(1)-DEM(1);”;
而对i=2,3,4对应的约束,对下标集合的元素(下标i)增加了一个逻辑关系式“i#GT#1”(这个限制条件与集合之间有一个竖线“|”分开,称为过滤条件)。
限制条件“i#GT#1”是一个逻辑表达式,意思就是i>1;“#GT#”是逻辑运算符号,意思是“大于(GreaterThan的字首字母缩写)”。问题的求解:运行菜单命令“LINGO|Solve”注:由于输入中没有给出行名,所以行名是系统自动按照行号1-9生成的。
选择菜单命令“LINGO|Generate|Displymodel(Ctrl+G)”,可以得到展开形式的模型(如图),可以看到完整的模型,也能确定行号(行号放在方括号“[]”中,且数字前面带有下划线“_”)。
最好在输入模型时用户主动设定约束的行名(即约束名),使程序清晰些。单一约束的行名设置方法就是将行名放在方括号“[]”中,置于约束之前。
后面将结合具体例子介绍在使用集合的情况下如何设置行名。小结:LINGO模型最基本的组成要素(2)目标与约束段:目标函数、约束条件等,没有段的开始和结束标记,因此实际上就是除其它四个段(都有明确的段标记)外的LINGO模型。
这里一般要用到LINGO的内部函数,尤其是与集合相关的求和函数@SUM和循环函数@FOR等。
上例中定义的目标函数与quarters的元素数目是4或1000并无具体的关系。约束的表示也类似。(3)数据段(DATA):以“DATA:”开始,“ENDDATA”结束,对集合的属性(数组)输入必要的常数数据。
格式为:“attribute(属性)=value_list(常数列表);”
常数列表(value_list)中数据之间可以用逗号“,”分开,也可以用空格分开(回车等价于一个空格),如上面对DEM的赋值也可以写成“DEM=40607525;”。(4)初始段(INIT):以“INIT:”开始,“ENDINIT”结束,对集合的属性(数组)定义初值(因为求解算法一般是迭代算法,所以用户如果能给出一个比较好的迭代初值,对提高算法的计算效果是有益的)。
如果有一个接近最优解的初值,对LINGO求解模型是有帮助的。定义初值的格式为:
“attribute(属性)=value_list(常数列表);”
这与数据段中的用法是类似的。
上例中没有初始化部分,我们将在下一个例子中举例说明。(5)计算段(CALC):以“C
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

第3讲LINGO基本使用方法知识课件

文档大小:926KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用