LINGO用于构建和求解线性、非线性及整数最优化模型,方便灵活,执行速度快,能与EXCEL等其他软件交换数据。
2.1 LINGO窗口介绍
2.1.1 LINGO文件菜单(File Menu)
2.1.2 LINGO编辑菜单(Edit Mene)
2.1.3 LINGO模型求解菜单
灵敏性分析:产生当前模型的灵敏度分析报告:研究当前目标函数的费用系数和约束右端项在什么范围(此时假定其他系数不变)时,最优基保持不变。
默认不激活,激活:LINGO | Options ->General Solver Tab -> Dual Computations -> Prices and Ranges
2.1.4 窗口菜单(Windows Menu)
(1) 命令行窗口(Open Command Window)
(2)状态窗口(Status Window)
2.1.5 LINGO的命令行命令
共有9类,可在命令行窗口中输入COM查询。
2.2 LINGO 中的集
集的内容是一群或多群相联系的对象
2.2.1 定义原始集
setname[/menber_list/] [: attribute_list]; 集成员可显式罗列或隐式罗列。
2.3 LINGO基本运算符
基本运算符包括算术运算符、逻辑运算符和关系运算符。
2.3.1 算术运算符
二元运算符:+、-、*、/、^
一元运算符:~(取反)
2.3.2 逻辑运算符
主要用于集循环函数的条件表达式中,来控制在函数中哪些集成员被包含,哪些被排斥。在创建稀疏集时用在成员资格过滤器中,共9种。
not#:一元,否定该操作数的逻辑值。
eq#:==
ne#:!=
gt#:>
ge#:>=
lt#:<
le#:<=
and#:&&
or#:||
2.3.3 关系运算符
=, <=, >= 形成模型的一个约束条件
LINGO不支持严格小于或严格大于运算符,可用如下表达式实现:
A + ε <= B
2.4 数学函数
(1)@abs(x):返回x的绝对值
(2)@sin(x):返回x的正弦值,x采用弧度制
(3)@cos(x) (4)@tan(x)
(5)@exp(x):返回e的x次方
(6)@log(x):返回x 的自然对数
(7)@lgm(x): 返回x的gamma函数的自然对数
(8)@sign(x):若x < 0, 返回-1, 或者,返回1;
(9)@floor(x):返回x的整数部分,x > 0时,返回不低于x的最大整数,x < 0时,返回不超过x的最大整数。
(10)@smax(x1, x2,……xn):返回其中最大值
(11)@smin(x1,x2, ……xn):返回其中最小值
2.5 变量界定函数
LINGO默认变量非负, bnd和free可取消该约束,如下四种可对变量的取值范围加以限制。
@bin(x):限制x为0或1
@bnd(L, x, U):限制L <= x <= U;
@free(x):取消对变量x的默认下界为0的限制,即x可以取任意实数;
@gin(x):限制x为整数。
2.6 集操作函数
(1)@in(set_name, primitive_index_1, [, primitive_index_2, ...]);
如果元素在指定集中,返回1, 否则返回0;索引用"&1", "&2"或@INDEX函数等形似给出,“&1”表示对应于第一个父集合的所有元素的索引值。
(2)@index([set_name,]primitive_set_element)
返回集set_name中原始集成员primitive_set_element的索引。