Lingo软件的基本语法
Posted lgxo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lingo软件的基本语法相关的知识,希望对你有一定的参考价值。
目录
基本语法
集合
sets:
集合名称1 / 成员列表1 /: 属性1_1, 属性1_2, ···, 属性1_n1 ;
集合名称2 / 成员列表2 /: 属性2_1, 属性2_2, ···, 属性2_n2 ;
派生集合名称 ( 集合名称1, 集合名称2 ): 属性3_1, 属性3_2, ···, 属性3_n2 ;
例:
sets: product/A B/; machine/M N/; week/1..2/; allowed(product, machine, week):x; endsets
数据
data:
属性1 = 数据列表 ;
属性2 = 数据列表 ;
enddata
数据计算段
数据计算段部分不能含有变量,必须是已知数据的运算。
calc:
b = 0 ;
a = a + 1 ;
endcalc
变量的初始化
变量初始化主要用于非线性问题赋初始值。
好的初始点会减少模型的求解时间。
init:
X, Y = 0, .1 ;
endinit
Y = @log(X) ;
X^2 + Y^2 <= 1 ;
模型的目标函数和约束条件
此处不具体介绍,而是通过另一篇博客具体例子给出。
实时数据处理
data:
interest_rate, inflation_rate = .085 ? ;
enddata
注意
- Lingo 中是不区分大小写字符的。
- Lingo 中数据部分不能使用分式,例如数据部分不能使用 1/3 。
- Lingo 中的注释是使用“!”引导的。
- Lingo 中默认所有的变量都是非负的。
- Lingo 中矩阵数据是逐行存储的,Matlab 中数据是逐列存储的。
- 本文中代码为了突出语法中的标点符号,以空格显式声明。
以上是关于Lingo软件的基本语法的主要内容,如果未能解决你的问题,请参考以下文章