- 1、本文档共33页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4_LINGO_函数
* * 说明: 有了前几节的基础知识,再加上本节的内容,就能够借助于LINGO建立并求解复杂的优化模型。 函数类型(9种): 1.基本运算符:算术运算符、逻辑运算符、关系运算符 2.数学函数:三角函数和常规的数学函数 3.金融函数:两种金融函数 4.概率函数:大量概率相关的函数 5.变量界定函数:定义变量的取值范围 6.集操作函数:对集的操作提供帮助 7.集循环函数:遍历集的元素,执行一定的操作的函数 8.数据输入输出函数:允许模型和外部数据源相联系, 进行数据的输入输出 9. 辅助函数:各种杂类函数 §4 LINGO 函数 4.1 基本运算符 4.1.1 算术运算符 二元运算符(五类):^乘方、﹡乘、/除、﹢加、﹣减 取反函数:﹣(唯一的一元算术运算符) 优先级由高到底: 高 ﹣(取反) ^ ﹡/ 低 ﹢﹣ 运算次序:从左到右按优先级高低执行。 运算的序可用圆括号“()”改变。 例4.1 算术运算符示例。 2﹣5/3,(2﹢4)/5等等。 说明: 主要用于集循环函数的条件表达式中,控制在函数中哪些集成员被包含,哪些被排斥。在创建稀疏集时用在成员资格过滤器中。 9种逻辑运算符: #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.2 逻辑运算符 说明:主要用在模型中,指定一个表达式的左边是否等于、小于等于、或大于等于右边,形成模型的一个约束条件。 关系运算符与逻辑运算符#eq#、#le#、#ge#区别:截然不同,前者是模型中该关系运算符所指定关系的为真描述,后者仅仅判断一个该关系是否被满足:满足为真,不满足为假。 关系运算符(三种):“=”、“=”、“=”。 说明:还能用“”表示小于等于关系,“”表示大于等于关系。 不支持严格小于和严格大于关系运算符。 若需要严格小于和严格大于关系,比如让A严格小于B:AB, 则可把它变成如下的小于等于表达式: A+ε=B,ε是一个小的正数,其值依赖于模型中A小于B多少才算不等。 三类操作符的优先级: 高 #not# ﹣(取反) ^ ﹡ / ﹢﹣ #eq# #ne# #gt# #ge# #lt# #le# #and# #or# 低 = = = 4.1.3 关系运算符 标准数学函数: @abs(x): 返回x的绝对值 @sin(x): 返回x的正弦值,x采用弧度制 @cos(x): 返回x的余弦值 @tan(x): 返回x的正切值 @exp(x): 返回常数e的x次方 @log(x): 返回x的自然对数 @lgm(x): 返回x的gamma函数的自然对数 (即(x-1)!的自然对数) @sign(x): 如果x0返回-1;否则,返回1 @floor(x): 返回x的整数部分。 x=0时,返回不超过x的最大整数; x0时,返回不低于x的最大整数。 @smax(x1,x2,…,xn):返回x1,x2,…,xn中的最大值 @smin(x1,x2,…,xn):返回x1,x2,…,xn中的最小值 4.2 数学函数 求最小的正方形相当于求如下的最优化问题: 例4.3 给定一个直角三角形,求包含该三角形的最小正方形 解:如图所示。 E C D A B b x a 代码: model: sets: object/1..3/: f; endsets da
文档评论(0)