lingo软件在求解数学优化问题的使用技巧

lingo软件在求解数学优化问题的使用技巧

ID:14988649

大小:495.00 KB

页数:23页

时间:2018-07-31

lingo软件在求解数学优化问题的使用技巧_第1页
lingo软件在求解数学优化问题的使用技巧_第2页
lingo软件在求解数学优化问题的使用技巧_第3页
lingo软件在求解数学优化问题的使用技巧_第4页
lingo软件在求解数学优化问题的使用技巧_第5页
资源描述:

《lingo软件在求解数学优化问题的使用技巧》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Lingo软件在求解数学优化问题的使用技巧LINGO是一种专门用于求解数学规划问题的软件包。由于LINGO执行速度快,易于方便地输入、求解和分析数学规划问题,因此在教学、科研和工业界得到广泛应用。LINGO主要用于求解线性规划、非线性规划、二次规划和整数规划等问题,也可以用于求解一些线性和非线性方程组及代数方程求根等。LINGO的最新版本为LINGO7.0,但解密版通常为4.0和5.0版本,本书就以LINGO5.0为参照而编写。1.LINGO编写格式LINGO模型以MODEL开始,以END结束。中间为语

2、句,分为四大部分(SECTION):(1)集合部分(SETS):这部分以“SETS:”开始,以“ENDSETS”结束。这部分的作用在于定义必要的变量,便于后面进行编程进行大规模计算,就象C语言在在程序的第一部分定义变量和数组一样。在LINGO中称为集合(SET)及其元素(MEMBER或ELEMENT,类似于数组的下标)和属性(ATTRIBUTE,类似于数组)。LINGO中的集合有两类:一类是原始集合(PRIMITIVESETS),其定义的格式为:SETNAME/memberlist(or1..n)/:a

3、ttribute,attribute,etc。另一类是是导出集合(DERIVEDSETS),即引用其它集合定义的集合,其定义的格式为:SETNAME(set1,set2,etc。):attribute,attribute,etc。如果要在程序中使用数组,就必须在该部分进行定义,否则可不需要该部分。(2)目标与约束:这部分定义了目标函数、约束条件等。一般要用到LINGO的内部函数,可在后面的具体应用中体会其功能与用法。求解优化问题时,该部分是必须的。(3)数据部分(DATA):这部分以“DATA:”开始,

4、以“ENDDATA”结束。其作用在于对集合的属性(数组)输入必要的数值。格式为:attribut=value_list。该部分主要是方便数据的输入。(4)初始化部分(INIT):这部分以“INIT:”开始,以“ENDINIT”结束。作用在于对集合的属性(数组)定义初值。格式为:attribute=value_list。由于非线性规划求解时,通常得到的是局部最优解,而局部最优解受输入的初值影响。通常可改变初值来得到不同的解,从而发现更好的解。编写LINGO程序要注意的几点:1.所有的语句除SETS、END

5、SETS、DATA、ENDDATA、INIT、ENDINIT和MODEL,END之外必须以一个分号“;”结尾。2.LINGO求解非线性规划时已约定各变量非负。LINGO内部函数使用详解。LINGO建立优化模型时可以引用大量的内部函数,这些函数以“@”符号打头。(1)常用数学函数@ABS(X)返回变量X的绝对数值。@COS(X)返回X的余弦值,X的单位为弧度@EXP(X)23返回的值,其中e为自然对数的底,即@FLOOR(X)向0靠近返回X的整数部分。如@FLOOR(3.7),则返回3;@FLOOR(-3

6、.7),则返回-3。@LGM(X)返回函数的自然对数值。@LOG(X)返回变量X的自然对数值。@SIGN(X)返回变量X的符号值,当X<0时为-1;当X>0时为1。@SIN(X)返回X的正弦值,X的单位为弧度@SMAX(X1,X2,...,XN)返回一列值X1,X2,...,XN的最大值。@SMIN(X1,X2,...,XN)返回一列值X1,X2,...,XN的最小值。@TAN(X)返回X的正切值,X的单位为弧度(2)集合函数集合函数的用法如下:set_operator(set_name

7、conditi

8、on:expression)其中set_oprator部分是集合函数名(见下),set_name是数据集合名,expression部分是表达式,

9、condition部分是条件,用逻辑表达式描述(无条件时可省略)。逻辑表达式中可以三种逻辑算符(#AND#(与),#OR#(或),#NOT#(非))和六种关系酸符(#EQ#(等于),#NE#(不等于),#GT#(大于),#GE#(大于等于),#LT#(小于),#LE#(小于等于))。常见的集合函数如下:@FOR(set_name:constraint_expr

10、essions)对集合(set_name)的每个元素独立地生成约束,约束由约束表达式(constraint_expressions)描述。@MAX(set_name:expression)返回集合上的表达式(expression)的最大值。@MIN(set_name:expression)返回集合上的表达式(expression)的最小值。@SUM(set_name:expression)返回集合上的表达式(expression)的和。@S

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。