Lingo编程基础:派生集合定义与算术运算解析
需积分: 42 195 浏览量
更新于2024-08-21
收藏 2.03MB PPT 举报
本文档介绍了Lingo编程中派生集合的定义语法,并提供了Lingo软件的基本概念、功能以及常用运算符和函数的详细说明。
在Lingo中,派生集合是基于基本集合的概念,通过定义父集合列表来创建。派生集合的定义格式如下:
```lingo
setname(parent_set_list) [/member_list/] [: attribute_list];
```
这里的`setname`是派生集合的名称,`parent_set_list`是其父集合的列表,`member_list`是可选的成员列表,用于指定集合的具体元素,`attribute_list`则是集合的属性列表。例如,如果集合`WAREHOUSE`包含6个货栈,集合`VENDERS`包含8个销售商,那么通过两者之间的联系定义的`LINKS(WAREHOUSE, VENDERS)`就是一个派生集合。
Lingo是由Lindo System Inc开发的一款专门解决优化问题的软件,它支持线性、非线性和整数规划等类型的优化模型。软件界面包括模型窗口、状态行和其他工具栏,用户可以在模型窗口输入Lingo程序。
Lingo的算术运算符包括乘方(^)、乘(﹡)、除(/)、加(﹢)和减(﹣),其中一元运算符是取反(﹣)。此外,Lingo还提供了丰富的数学函数,如绝对值函数`@abs(x)`、正弦函数`@sin(x)`、指数函数`@exp(x)`等。
在变量的处理上,Lingo提供了一些边界定义函数,如`@BND(L, X, U)`限制变量`X`在`L`和`U`之间,`@BIN(X)`使`X`成为0或1的二进制变量,`@FREE(X)`取消符号限制,`@GIN(X)`将`X`限定为整数。需要注意的是,Lingo默认假设所有变量是非负的。
编写Lingo程序时,语句是模型的基本组成部分,每个语句以分号结尾,应保持良好的代码风格,提高可读性。例如,每行只写一个语句,并根据嵌套关系适当缩进。感叹号开始的语句被视为注释。
举例来说,如果我们有一个奶制品的例子,可能涉及到不同的生产设施和产品类型,我们可以通过定义派生集合来表示这些关系,然后利用Lingo的运算符和函数建立优化模型,以最小化成本或最大化利润。
107 浏览量
147 浏览量
138 浏览量
点击了解资源详情
点击了解资源详情
2012-03-30 上传
2007-08-06 上传
811 浏览量
2010-07-31 上传
辰可爱啊
- 粉丝: 18
- 资源: 2万+
最新资源
- Tarea-1
- Class-Work:证明熟练掌握sql,pandas,numpy和scikit学习
- CANVAS-JS:+ JS-Reto Platzi
- reaktor_warehouse:Reaktor对2021年夏季的预分配
- 室外建筑模型设计效果图
- HighChartsProject
- 学生基本信息表excel模版下载
- MOO Maker:经典“MOO”或“Cows n Bulls”游戏的变种。-matlab开发
- overlay-simple
- bot-lock
- ch3casestudy-jnwyatt:ch3casestudy-jnwyatt由GitHub Classroom创建
- shoppingcar:测试
- gitlab-sync:一次同步GitLab存储库组的实用程序
- 解决java.security.InvalidKeyException: Illegal key size
- 艺术展厅3D模型素材
- thick_line(x,y,thickness):生成与输入线对应的粗线的边缘坐标-matlab开发