Lingo编程基础:派生集合定义与算术运算解析
需积分: 42 197 浏览量
更新于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的运算符和函数建立优化模型,以最小化成本或最大化利润。
2012-08-27 上传
2010-05-28 上传
2019-10-10 上传
点击了解资源详情
点击了解资源详情
2012-03-30 上传
2007-08-06 上传
2013-11-17 上传
2010-07-31 上传
辰可爱啊
- 粉丝: 15
- 资源: 2万+
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫