- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Lingo教程四 LINGO的函数
Lingo教程四? LINGO的函数
?
????? 有了前几节的基础知识,再加上本节的内容,你就能够借助于LINGO建立并求解复杂的优化模型了。
LINGO有9种类型的函数:
1.? 基本运算符:包括算术运算符、逻辑运算符和关系运算符
2.? 数学函数:三角函数和常规的数学函数
3.? 金融函数:LINGO提供的两种金融函数
4.? 概率函数:LINGO提供了大量概率相关的函数
5.? 变量界定函数:这类函数用来定义变量的取值范围
6.? 集操作函数:这类函数为对集的操作提供帮助
7.? 集循环函数:遍历集的元素,执行一定的操作的函数
8.? 数据输入输出函数:这类函数允许模型和外部数据源相联系,进行数据的输入输出
9.? 辅助函数:各种杂类函数
?
????? 4.1 基本运算符
????? 这些运算符是非常基本的,甚至可以不认为它们是一类函数。事实上,在LINGO中它们是非常重要的。
?
????? 4.1.1 算术运算符
????? 算术运算符是针对数值进行操作的。LINGO提供了5种二元运算符:
?????? ^ 乘方
????? ﹡ 乘
????? / 除
????? ﹢ 加
????? ﹣ 减
LINGO唯一的一元算术运算符是取反函数“﹣”。这些运算符的优先级由高到底为:
????? 高 ﹣(取反)
?????? ^
?????? ? ﹡/
????? 低 ﹢﹣
运算符的运算次序为从左到右按优先级高低来执行。运算的次序可以用圆括号“()”来改变。
?
例4.1 算术运算符示例。
2﹣5/3,(2﹢4)/5等等。
?
????? 4.1.2 逻辑运算符
??????在LINGO中,逻辑运算符主要用于集循环函数的条件表达式中,来控制在函数中哪些集成员被包含,哪些被排斥。在创建稀疏集时用在成员资格过滤器中。
?
LINGO具有9种逻辑运算符:
#not# 否定该操作数的逻辑值,#not#是一个一元运算符
#eq# 若两个运算数相等,则为true;否则为flase
#ne#??? 若两个运算符不相等,则为true;否则为flase
#gt#??? 若左边的运算符严格大于右边的运算符,则为true;否则为flase
#ge# ? 若左边的运算符大于或等于右边的运算符,则为true;否则为flase
#lt# ? 若左边的运算符严格小于右边的运算符,则为true;否则为flase
#le# ? 若左边的运算符小于或等于右边的运算符,则为true;否则为flase
#and# 仅当两个参数都为true时,结果为true;否则为flase
#or#??? 仅当两个参数都为false时,结果为false;否则为true
?
这些运算符的优先级由高到低为:
高? #not#
??? #eq#? #ne#? #gt#? #ge#? #lt#? #le#
低? #and#? #or#
?
例4.2 逻辑运算符示例
2 #gt# 3 #and# 4 #gt# 2,其结果为假(0)。
?
????? 4.1.3 关系运算符
?
????? 在LINGO中,关系运算符主要是被用在模型中,来指定一个表达式的左边是否等于、小于等于、或者大于等于右边,形成模型的一个约束条件。关系运算符与逻辑运算符#eq#、#le#、#ge#截然不同,前者是模型中该关系运算符所指定关系的为真描述,而后者仅仅判断一个该关系是否被满足:满足为真,不满足为假。
?????? LINGO有三种关系运算符:“=”、“=”和“=”。LINGO中还能用“”表示小于等于关系,“”表示大于等于关系。LINGO并不支持严格小于和严格大于关系运算符。然而,如果需要严格小于和严格大于关系,比如让A严格小于B:
AB,
那么可以把它变成如下的小于等于表达式:
A+ε=B,
这里ε是一个小的正数,它的值依赖于模型中A小于B多少才算不等。
?
下面给出以上三类操作符的优先级:
高 #not#?? ﹣(取反)
????? ^
????? ﹡/
﹢﹣
????? #eq#? #ne#? #gt#? #ge#? #lt#? #le#
????? #and#? #or#
低?? =? =? =
?
???? 4.2 数学函数
?
????? LINGO提供了大量的标准数学函数:
????? @abs(x)???????????? 返回x的绝对值
????? @sin(x)???????????? 返回x的正弦值,x采用弧度制
????? @cos(x)???????????? 返回x的余弦值
????? @tan(x)???????????? 返回x的正切值
????? @exp(x)???????????? 返回常数e的x次方
????? @log(x)???????????? 返
文档评论(0)