- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Lingo 基本用法总结(除集函数部分)
LINGO 是用来求解线性和非线性优化问题的简易工具。 Lingo 免费版可以支
持 30 个未知数, lingo 破解版可以支持几万个未知数、几万个约束条件。
当你在 windows 下开始运行 LINGO 系统时,会得到类似下面的一个窗口:
外层是主框架窗口, 包含了所有菜单命令和工具条, 其它所有的窗口将被包含在主窗口之下。
在主窗口内的标题为 LINGO Model – LINGO1 的窗口是 LINGO的默认模型窗口,建立的模型都
都要在该窗口内编码实现。下面举两个例子。
例 1.1 如何在 LINGO中求解如下的 LP问题:
在模型窗口中输入如下代码:
min=2*x1+3*x2;
x1+x2=350;
x1=100;
2*x1+x2=600;
然后点击工具条上的按钮 即可。
得到如下结果:
所以当 x1 为 250,x2 为 100 时目标函数得到最大值。
算术运算符
Lingo 中变量不区分大小写,以字母开头不超过 32 个字符
算术运算符是针对数值进行操作的。 LINGO提供了 5 种二元运算符:
^ 乘方 ﹡ 乘 / 除 ﹢ 加 ﹣ 减
LINGO唯一的一元算术运算符是取反函数“﹣” 。
这些运算符的优先级由高到底为:
高 ﹣(取反)
^
﹡/
低 ﹢﹣
运算符的运算次序为从左到右按优先级高低来执行。 运算的次序可以用圆括号 “()”
来改变。
例:在 x1+x2=350 ,x1=100 ,2*x1+x2=600 的条件下求 2*x1+3*x2 的最小值
在代码窗口中编写
min=2*x1+3*x2;
x1+x2=350;
x1=100;
2*x1+x2=600;
然后单击上面菜单 lingo 菜单下 solve 键即可。
数学函数
标准数学函数 :
@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) 如果 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 中的最小值
边界限定函数:
@bin(x) 限制 x 为 0 或 1
@bnd(L,x,U) 限制 L≤x ≤U
@free(x) 取消对变量 x 的默认下界为 0 的限制,即 x 可以取任意实数
@gin(x) 限制 x 为整数
辅助函数
1.@if(logical_condition,true_result,false_result)
@if 函数将评价一个逻辑表达式 logical_condition ,如果
文档评论(0)