@free(x) 取消对变量x的默认下界为0的限制,即x可以取任意实数 @gin(x) 限制x为整数
LINGO提供了大量的标准数学函数: @abs(x) 返回x的绝对值
@sin(x) 返回x的正弦值,x采用弧度制 @cos(x) 返回x的余弦值 @tan(x) 返回x的正切值 @exp(x) 返回常数e的x次方 @log(x) 返回x的自然对数
@lgm(x) 返回x的gamma函数的自然对数 @sign(x) 如果x<0返回-1;否则,返回1
@floor(x) 返回x的整数部分。当x>=0时,返回不超过x的最大整数;当x<0
时,返回不低于x的最大整数。
@smax(x1,x2,„,xn) 返回x1,x2,„,xn中的最大值 @smin(x1,x2,„,xn) 返回x1,x2,„,xn中的最小值
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
^ 乘方 ﹡ 乘 / 除 ﹢ 加 ﹣ 减
LINGO唯一的一元算术运算符是取反函数“﹣”。 这些运算符的优先级由高到底为: 高 ﹣(取反) ^ ﹡/ 低 ﹢﹣
运算符的运算次序为从左到右按优先级高低来执行。运算的次序可以用圆括号“()”来改变。
@file函数
该函数用从外部文件中输入数据,可以放在模型中任何地方。该函数的语法格式为@file(’filename’)。这里filename是文件名,可以采用相对路径和绝对路径两种表示方式。@file函数对同一文件的两种表示方式的处理和对两个不同的文件处理是一样的,这一点必须注意。
注意:
1. 软件中已经假设所以的变量是非负的,所以非负约束不必输入; 2. 可以用 FREE 变量 来取消变量的非负限制; 3. 不区分大小写; 4. 约束条件“<=”、“>=”可以用“<”、“>”代替; 5. 变量名不能超过8个字符;
6. 变量与系数间可以有空格,但不能有任何运算符号(如*等); 7. 不允许变量出现在一个约束条件的右端; 8. 输入中不能有“()”和“,”;比如4(x1+x2)应写成4x1+4x2等;
9. 在一个式中同一变量不能出现一次以上,比如2x1+3x2-x1应简化为x1+3x2; 10.int 变量 变量为0/1整数变量
@FOR(集合名:约束表达式) 对集合的每个元素独立按约束表达式生成约束
逻辑运算符: 逻辑运算符 意义 关系运算符:
关系运算符 #AND# 与 #OR# 或 #GT# 大于 #GE# 大于等于 #NOT# 非 #LT# 小于 #LE# 小于等于 #EQ# 等于 #NE# 不等于 意义
自我认识:
1、先要思考自己的方法,才试图用软件本身的语言来描述啊!
因篇幅问题不能全部显示,请点此查看更多更全内容