LINGO中的运算符和函数

上传人:宝路 文档编号:47690172 上传时间:2018-07-04 格式:PPT 页数:20 大小:104.32KB
返回 下载 相关 举报
LINGO中的运算符和函数_第1页
第1页 / 共20页
LINGO中的运算符和函数_第2页
第2页 / 共20页
LINGO中的运算符和函数_第3页
第3页 / 共20页
LINGO中的运算符和函数_第4页
第4页 / 共20页
LINGO中的运算符和函数_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《LINGO中的运算符和函数》由会员分享,可在线阅读,更多相关《LINGO中的运算符和函数(20页珍藏版)》请在金锄头文库上搜索。

1、第三讲 LINGO中的运算符和函数1LINGO有9种类型的函数: 基本运算符:包括算术运算符、逻辑运算符和关系运算符 数学函数:三角函数和常规的数学函数 金融函数:LINGO提供的两种金融函数 概率函数:LINGO提供了大量概率函数 变量界定函数:用来定义变量的取值范围 集操作函数:为对集的操作提供帮助 集循环函数:遍历集的元素,执行一定的操作的函数 数据输入输出函数:这类函数允许模型和外部数据源相联系,进行数据的输入输出 辅助函数:各种杂类函数 2一、基本运算符 这些运算符是非常基本的,甚至可以不认为 它们是一类函数。 1、算术运算符 5种二元运算符: 乘方; 乘; 除; 加; 减。 唯一的

2、一元算术运算符是取反函数“ ”。运算符的优先级: 高 (取反) 低 运算的次序可以用圆括号“()”来改变。 32、逻辑运算符 主要用于集循环函数的条件表达式中,来控 制在函数中哪些集成员被包含,哪些被排斥。 43、关系运算符 有三种关系运算符:“=”、“=”。 LINGO中还能用“” 表示大于等于关系。LINGO并不支持严格小 于和严格大于关系运算符。然而,如果需要 严格小于和严格大于关系,比如让 A 严格小 于 B ,那么可以把它变成如下的小于等于表 达式:A+=B, 这里是一个小的正数,它的值依赖于模型 中A小于B多少才算不等。 5三类运算符的优先级: 6二、数学函数 abs(x) 返回x

3、的绝对值 sin(x) 返回x的正弦值,x采用弧度制 cos(x) 返回x的余弦值 tan(x) 返回x的正切值 exp(x) 返回常数e的x次方 log(x) 返回x的自然对数 lgm(x) 返回x的gamma函数的自然对数 sign(x) 如果x0返回-1;否则,返回1 floor(x) 返回x的整数部分。 7smax(x1,x2,xn) 返回x1,x2,xn中的最大值 smin(x1,x2,xn) 返回x1,x2,xn中的最小值 8三、变量界定函数 变量界定函数实现对变量取值范围的附加限 制,共4种: bin(x) 限制x为0或1 bnd(L,x,U) 限制LxU free(x) 取消对

4、变量x的默认下界为0的限制,即x可以取任意实数 gin(x) 限制x为整数 在默认情况下,LINGO规定变量是非负的。 bnd(L,x,U)和 free(x) 都可取消此限制9四、集操作函数 1in(set_name,primitive_index_1 ,p_i_2,) 如果元素在指定集中,返回1;否则返回0。 2index(set_name, primitive_set_element)该函数返回在集set_name中原始集成员 primitive_set_element的索引。如果set_name 被忽略,那么LINGO将返回与原始集成员匹配的第一个原始集成员的索引。如果找不到, 则产生一

5、个错误。 103wrap(index,limit) 该函数返回 j=index-k*limit,其中k是一个整 数,取适当值保证j落在区间1, limit内。该 函数相当于index模 limit再加1。该函数在循环、多阶段计划编制中特别有用。 4size(set_name) 该函数返回集set_name的成员个数。在模型中明确给出集大小时最好使用该函数。它的 使用使模型更加数据中立,集大小改变时也 更易维护。 11五、集循环函数 集循环函数遍历整个集进行操作。其语法为 function(setname(set_index_list)|conditional_qualifier: expres

6、sion_list); 1for该函数用来产生对集成员的约束。基于建模 语言的标量需要显式输入每个约束,不过此 函数允许只输入一个约束,然后LINGO自动 产生每个集成员的约束。 122sum该函数返回遍历指定的集成员的一个表达式 的和。 3min和max返回指定的集成员的一个表达式的最小值或 最大值。 13六、输入和输出函数 输入和输出函数可以把模型和外部数据比如 文本文件、数据库和电子表格等连接起来。 1file函数该函数用从外部文件中输入数据,可以放在 模型中任何地方。该函数的语法格式为file(filename) 这里 filename 是文件名,可以采用相对路径 和绝对路径两种表示方

7、式。file函数对同一文件的两种表示方式的处理和对两个不同的 文件处理是一样的,这一点必须注意。 14把记录结束标记()之间的数据文件部分称为记录。如果数据文件中没有记录结束标记, 那么整个文件被看作单个记录。同时打开文件的上限为16 不允许嵌套调用file函数 注意到除了记录结束标记外,模型的文本和 数据同它们直接放在模型里是一样的。 152text函数该函数被用在数据部分用来把解输出至文本 文件中。它可以输出集成员和集属性值。其 语法为text(filename) 这里filename是文件名,可以采用相对路径和绝对路径两种表示方式。如果忽略文件名, 那么数据就被输出到标准输出设备(大多数

8、 情形都是屏幕)。 163ole函数 OLE是从EXCEL中引入或输出数据的接口 函数,它是基于传输的OLE技术。OLE传输直接在内存中传输数据,并不借助于中间文 件。当使用OLE时,LINGO先装载EXCEL, 再通知EXCEL装载指定的电子数据表,最后 从电子数据表中获得Ranges。为了使用OLE函 数,必须有EXCEL5及其以上版本。OLE函数可在数据部分和初始部分引入数据。 17OLE可以同时读集成员和集属性,集成员最好用文本格式,集属性最好用数值格式。 原始集每个集成员需要一个单元(cell),而对 于n元的派生集每个集成员需要n个单元,这 里第一行的 n 个单元对应派生集的第一个

9、集 成员,第二行的 n 个单元对应派生集的第二个集成员,依此类推。 OLE只能读一维或二维的Ranges(连续的) Ranges是自左而右、自上而下来读 184ranged(variable_or_row_name)为了保持最优基不变,变量的费用系数或约 束行的右端项允许减少的量。 5rangeu(variable_or_row_name)为了保持最优基不变,变量的费用系数或约 束行的右端项允许增加的量。 6status() 返回LINGO求解模型结束后的状态。通常, 如果返回值不是0、4或6时,那么解将不可信,几乎不能用。19七、辅助函数 if(logical_condition,true_result,false_result) if函数将评价一个逻辑表达式logical_condi- tion,如果为真,返回true_ result,否则返回 false_result。 20

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号