Lingo软件的使用

Lingo软件的基本语法

1.1.集合

派生集的一些

set:
集合名称1/成员列表1/:属性1-1,属性1-2,……,属性1-n1;
集合名称2/成员列表2/:属性2-1,属性2-2,……,属性2-n2;
派生集合名称(集合名称1,集合名称2):属性3-1,属性3-2,……,属性3-n3;
endsets

例子

sets:
product/A B/;
machine/M N/;
week/1..2/;
allowed(product,machine,week):x;
endsets

1.2.数据

data:
属性1=数据列表;
属性2=数据列表;
enddata

1.3.数据计算段

数据计算段部分不能含有变量,必须是已知数据的运算

calc:
b=0;
a=a+1;
endcalc

1.4.变量的初始化

变量的初始化主要用于非线性问题赋值初始值

init:
X,Y=0,.1;
endinit
Y=@log(X);
X^2+Y^2<=1;

好的初始点会减少模型的求解时间
在这里插入图片描述
在这里插入图片描述

1.6. 实时数据处理

data:
interest_rate,inflation_rate=.085?;
enddata

  1. Lingo中是不区分大小写字符的
  2. Lingo中数据部分不能使用分式,不能用1/2
  3. Lingo中注释是用!进行引导的
  4. Lingo中默认的所有变量都是非负的
  5. Lingo中矩阵数据是逐行储存,Matlab中的数据是逐列储存的

Lingo函数

2.1.算术运算符

2.2.逻辑运算符

逻辑运算符主要用于集循环函数的条件表达式中,来控制在函数值哪些集成员被包含,哪些被排斥。在创建稀疏矩阵集时用在成员资格过滤器中。
在这里插入图片描述

2.3.关系运算符

只有三种

=、<=,>=

他不支持严格小于或严格大于。

2.6.集循环函数

@for:该函数用来产生对集成员的约束
@sum:该函数返回遍历指定的集成员的一个表达式的和
@min和@max:返回指定的集成员的一个表达式的最小值和最大值

求向量[5,1,3,4,6,10]前5个数的最小值,后3个数的最大值。

model:
data:
N=6;
enddata
sets:
number/1..N/:x;
endsets
data:
x=5 1 3 4 6 10;
enddata
minv=@min(number(i)|i#le#5:x);
maxv=@max(number(i)|i#ge#N-2:x);
end

在这里插入图片描述
在这里插入图片描述

参考文献

司守奎,孙兆亮.数学建模算法与应用.国防工业出版社,第二版.

感谢百度翻译对本文章的大力支持

1.inflation
在这里插入图片描述

时间

2022年7月16日15:00:00——16:03:27

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是数学系的小孩儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值