优化建模与LINGO第02章解读.ppt

  1. 1、本文档共72页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基本的数学函数 在LINGO中建立优化模型时可以引用大量的内部函数,这些函数以”@” 打头。LINGO中包括相当丰富的数学函数,这些函数的用法非常简单,下面一一列出。 @ABS(X):绝对值函数,返回X的绝对值。 @COS(X):余弦函数,返回X的余弦值(X的单位是弧度)。 @EXP(X):指数函数,返回 @FLOOR(X):取整函数,返回X的整数部分(向最靠近0的方向取整)。 @LGM(X) :返回X的伽玛(gamma)函数的自然对数值(当X为整数时LGM(X) = LOG(X-1)!;当X不为整数时,采用线性插值得到结果)。 @LOG(X):自然对数函数,返回X的自然对数值。 的值(其中e=2.718281...)。 基本的数学函数 @MOD(X,Y):模函数,返回X对Y取模的结果,即X除以Y的余数,这里X和Y应该是整数。 @POW(X,Y):指数函数,返回XY的值。 @SIGN(X):符号函数,返回X的符号值(X 0时返回-1, X = 0时返回+1)。 @SIN(X):正弦函数,返回X的正弦值(X的单位是弧度)。 @SMAX(list):最大值函数,返回一列数(list)的最大值。 @SMIN(list):最小值函数,返回一列数(list)的最小值。 @SQR(X):平方函数,返回X的平方(即X*X)的值。 @SQRT(X):开平方函数,返回X的正的平方根的值。 @TAN(X):正切函数,返回X的正切值(X的单位是弧度)。 集合循环函数 集合上的元素(下标)进行循环操作的函数, 一般用法如下: @function(setname [ ( set_index_list)[ | condition]] : expression_list); 其中: function 集合函数名,FOR、MAX、MIN、PROD、SUM之一; Setname 集合名; set_index_list 集合索引列表(不需使用索引时可以省略); Condition 用逻辑表达式描述的过滤条件(通常含有索引,无条件时可以省略); expression_list 一个表达式(对@FOR函数,可以是一组表达式。 集合循环函数 五个集合函数名的含义: @FOR(集合元素的循环函数): 对集合setname的每个元素独立地生成表达式,表达式由expression_list描述(通常是优化问题的约束)。 @MAX(集合属性的最大值函数):返回集合setname上的表达式的最大值。 @MIN(集合属性的最小值函数):返回集合setname上的表达式的最小值。 @PROD(集合属性的乘积函数): 返回集合setname上的表达式的积。 @SUM(集合属性的求和函数):返回集合setname上的表达式的和。 集合操作函数 @INDEX( [set_name,] primitive_set_element) 给出元素primitive_set_element在集合set_name中的索引值(即按定义集合时元素出现顺序的位置编号)。省略set_name,LINGO按模型中定义的集合顺序找到第一个含有该元素的集合,并返回索引值。如果没有找到该元素,则出错。 注: Set_name的索引值是正整数且只能位于1和元素个数之间。例:定义一个女孩姓名集合(GIRLS)和男孩姓名集合(BOYS) : SETS: GIRLS /DEBBIE, SUE, ALICE/; BOYS /BOB, JOE, SUE, FRED/; ENDSETS 都有SUE, GIRLS在BOYS前定义,调用@INDEX(SUE)将返2,相当于@INDEX(GIRLS,SUE) 。要找男孩中名为SUE的小孩的索引,应该使用@INDEX(BOYS, SUE),返3。 集合操作函数 @IN( set_name, primitive_index_1 [, primitive_index_2 ...]) 判断一个集合中是否含有某个索引值。如果集合set_name中包含由索引primitive_index_1 [, primitive_index_2 ...]所对应元素,则返回1(逻辑值“真”),否则返回0(逻辑值“假”)。索引用“1”、“2”或@INDEX函数等形式给出,这里“1”表示对应于第1个父集合的元素的索引值,“2”表示对应于第2个父集合的元素的索引值。 例:定义一个集合STUDENTS(基本集合),派生出集合PASSED和FAILED,定义: SETS: STUDENTS / ZHAO, QIAN, SUN, LI/:; PASSED( STUDENTS) /QIAN,SUN/:;

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档