失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 【数学建模】Lingo软件介绍+常用函数总结+样例

【数学建模】Lingo软件介绍+常用函数总结+样例

时间:2018-12-11 13:18:28

相关推荐

【数学建模】Lingo软件介绍+常用函数总结+样例

【数学建模】Lingo软件介绍+常用函数总结+样例

一、语法规定

求目标函数的最大值或最小值分别用MAx=...MIN=...来表示一行可以输入多个语句,一个语句也可以多行输入,但是每个语句必须以分号“;”结束;注释语句以“!”开头,以“;“结束默认情形下程序中所有的决策变量均取非负值Lingo模型以“model:”开头,以“end”结束变量名以字母开头,后跟字母、数字或下划线Lingo不区分大小写,即MAX和max一致

二、Lingo的运算符

1.算术运算符:用于数与数之间的数学运算。

+(加法)-(减法或负号)*(乘法)/(除法)^ (求幂)

2.关系运算符:表示 “数与数之间”的大小关系。

< (即<=,小于等于)= (等于)>(即>=,大于等于)

3.逻辑运算符

4.数学函数

5.变量定界函数

6.循环函数

@for:该函数用来产生对成员的约束(类似C/C++中的for循环用法)@sum:返回遍历指定成员的一个表达式的和@min:返回指定成员的一个表达式的最小值@max:返回指定成员的一个表达式的最大值

7.其他函数

@if(logical_condition,true_result,false_result):评价一个逻辑表达式logical_condition,如果为真返回true_ result,否则返回false_result。

三、一维数组型变量

1.段的概念:LINGO中建立的优化模型可以由六个部分组成,或称为六“段”。

集合段:用于定义数组型性变量SETS: …… ENDSETS数据段:用于变量赋值与数据传递DATA: ……ENDDATA目标与约束段:用于列出目标与约束唯一一个没有段的开始和结束标记计算段:用于数据初始整理计算CALC: …… ENDCALC初始段:用于变量赋初值迭代寻优INIT: ……ENDINIT子模型段:用于表达子模型进行调用@SUBMODEL mymodel:可执行语句(约束+目标)ENDSUBMODEL

2.基本集合与属性变量

集合 name/n1…n4/:a; name是集合名,n1…n4表示集合内到四个成员a是集合属性集合定义以语句“sets:”开始,“endsets”结束,“endsets”单独成一行,后面不加标点符号

!举例;sets:!集合段;s/1..100/:x;endsets!目标与约束段@sum(s(i):x(i))<90;!循环求和函数

缺省属性的集合:work/w1w2w3/;初始集合:name、work派生集合:links(name,work):b; links成员取name和work的所有可能组合,是一个由12个成员构成的矩阵该矩阵的行数与name中的成员个数相等该矩阵的列数与work中的成员个数相等

四、应用举例

如果觉得《【数学建模】Lingo软件介绍+常用函数总结+样例》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。