Lingo
lingo编写格式
集合部分(SETS)
以SETS
开始,以ENDSETS
结束
用于定义必要变量
有两类集合
**原始集合:**
其定义格式为:
1 | SETENME/member list(or 1..n)/: attribute, attribute, etc. |
导出集合
引用其他集合定义的集合 其定义格式为:
1 | SENTNAME(set1, set2, etc.): attribute, attribute, etc. |
若要在程序中使用数组,则必须在该部分定义
如
1 | Person/1..10/:A; |
目标与约束
定义目标函数、约束条件等
数据部分(DATA)
以DATA:
开始,以END DATA
结束
用于数据的输入
格式为:
1 | attribute = value_list |
初始化部分(INIT)
以INIT:
开始,以END INIT
结束
用于对集合属性(数组)定义初值
格式为
1 | attribute=value_list |
内部函数
以@
开头\
数学函数
常用数学函数如下
1 | @ABS(X) 返回绝对值 |
集合函数
集合函数格式如下
1 | set_operator(set_name|condition:expression) |
其中set_operator
为集合函数名set_name
为数据集合名
condition
为表达式|expression
为条件,用逻辑表达式描述(无条件可省略)
逻辑表达式中 有如下运算符
1 | #AND# 与 |
常见集合函数
如下:
1 | @FOR(set_name: constraint) 对集合set_name的每个元素独立生成约束 由约束表达式constraint描述 |
变量界定函数
变量函数对变量的取值范围的附加限制 由如下四种
1 | @BND(L, X, U)限制L≤X≤U |
- Title: Lingo
- Author: CGC
- Created at: 2023-03-14 21:26:36
- Updated at: 2023-04-09 10:51:53
- Link: https://redefine.ohevan.com/2023/03/14/Lingo/
- License: This work is licensed under CC BY-NC-SA 4.0.