lingo常用函数.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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,如果为真,返回true_ result,否则返回false_result ? 在默认情况下,LINGO规定变量是非负的,也就是说下界为0,上界为+∞。@free取消了默认的下界为0的限制,使变量也可以取负值。@bnd用于设定一个变量的上下界,它也可以取消默认下界为0的约束。 例:求x1^2+3*x2-x1*x2+e^x3在x1+x2=350;x1+x350;2*x1+x2+x3=600;x1只能取0或1;x2为整数的条件下的最小值。 在代码窗口中编写 min=x1^2+3*x2-x1*x2+@exp(x3); x1+x2=350; x1+x350; 2*x1+x2+x3=600; @bin(x1);@gin(x2); ? 以上是lingo最基本的用法 ? ? ? 逻辑运算符 LINGO具有9种逻辑运算符: #not#  否定该操作数的逻辑值,#not#是一个一元运算符 #eq#  若两个运算数相等,则为true;否则为flase #ne#??? 若两个运算符不相等,则为true;否则为flase #gt#??? 若左边的运算符严格大于右边的运算符,则为true;否则为flase #ge# ? 若左边的运算符大于或等于右边的运算符,则为true;否则为flase #lt# ? 若左边的运算符严格小于右边的运算符,则为true;否则为flase #le# ? 若左边的运算符小于或等于右边的运算符,则为true;否则为flase #and#  仅当两个参数都为

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档