下载:Download LINGO Software (lindo.com)
运行结果表示的部分含义:
Slack or Surplus 松弛或剩余
Dual Price 效益增加值
title:....;(注释作用,要用英文状态打)
!开头;结尾是注释语句(英文状态)
尽量不要写注释语句,容易错。
默认所有决策变量>=0(非负)
没有顺序要求,可以不考虑位置关系,有遗漏条件直接添加。
<1>集合(Set):ex2.1
Set:
Cangku(集合名称,任意写)/1..6/(数量):a;(a是数学模型里的指代)
yunshu(cangku , kehu): c,x;(c,x包含了两个信息,c,x和数学模型一致)
Endsets(没有分号)
<2>数据导入:ex2.1
Data:
........
Enddata
<3>函数:ex2.1
1:求和函数:sum->替换题目中的seigema
Max/min=@sum(:);(@表示调用,冒号左写变量范围,右边写数学表达式/表达式一口气写完)
2:输入有序的不同变量->替换为for循环。
@for(:);(冒号左为变量范围,右边是数学表达式)
3:数学函数
1 @sin(x) 2.@cos(x) 3.@tan(x) 4.@asin(x)(加a表示反三角函数)
5 @log(x) 6.@exp(x)(e的x次) 7.@ lgm(x) (以10为底的对数) 8.sign(x) @sign(x):符号函数,返回x的符号值(x<0时返回-1,x=0时返回0,x>0时返回+1);
9 smax(x1,x2..xn)(搜寻最大), 10.smain(x)(取余)
4:边界函数:@bnd(上界,x,下界);(lingo里边界默认大于/小于等于)
如果想要不等于,例子:@bnd(0,x,6.25-0.0000001),表示小于6.25.
集合操作函数:
@for(s:e),@sum(s:e),@max(s:e),@min(s:e),@prod(s:e)(阶乘),@size(s),@index(s:ek)(查询序号),@in(s:et)(查询是否存在,返回0,1),@wrap(a,b)(取余,但整除不为0而是除数,例如@wrap(14%7)=7).
<4>运算符
1.数字运算符;^次方,*乘,/除,+加,-减;为双目运算符,即前后都需要数字
但-为单目运算符,前面可以没有数字,此时表示负号。
逻辑运算符(9种):#EQ#(判断相等a#EQ#b,相等返回1,不相等返回0),#NE#(不相等),#GT#(绝对大)#GE#(绝对相等),#LT#(小于等于),#LE#(大于等于),#NOT#(非),#AND#(且,左右),#OR#(或)。
#NOT#为单目运算符,其他为双目,优先级最高。#AND#,#OR#为优先级最低。
持续更新中……如有错误还请指出,谢谢你