当前位置:   article > 正文

lingo学习1_lingo赋值

lingo赋值

今天主要复习了Lingo程序的用法,熟悉了常见错误。

目录

  1. Lingo解方程注意事项

  2. lingo线性规划注意事项

  3. lingo语句解析

01 lingo解方程

一 解方程过程

  1. 将方程按照题中输入电脑,点击红心。

二 解方程注意事项

  1. lingo读取方程是不按照顺序的,也就是说解方程过程当中方程之间不能有逻辑上的因果关系。

  2. 通常解方程使用matlab软件,lingo解代入运算的方程时可以令带入运算的方程式为y,变成一个规划。

  3. lingo每一个语句都要以英文的分号结尾。尤其注意在lingo注释过程中,很容易忽略将输入法转换成英文,此时lingo自动寻找下一个分号,将中间的语句全部变成注释。

  4. 注意乘号,2x应当写成2*x。

  5. lingo中变量命名不区分大小写且只能以字母开头。

02 lingo解一般规划

一 规划前注意事项

  1. lingo不能够解双目标规划,如果涉及到双目标规划,应当采用做差法,增减性法等将其转换为单目标问题再求解。

  2. lingo不适应较为复杂的非线性规划化问题,通常有较长的运算时间,以及难以的达到的全局最优解。

  3. 如果没有赋给变量初值,lingo会默认赋值为1.2345678.注意赋值不能赋表达式。

  4. lingo中没有在逻辑上的严格大于,小于。通常如果要达到严格大于小于的效果可以根据精度要求,取一很小的值e,使A-e>B。

二规划过程

  1. 将max,min直接与目标函数相等。

  2. 由给出的约束矩阵,确定要设立的集合以及集合元素个数。

  3. 使用data语句赋值。

  4. 将约束条件翻译为lingo语言。

举例如下:

03 lingo一般语句的使用

  1. set语句

set语句用于定义一个集合,其基本格式为

sets:

集合名称/集合元素/:赋有该集合内容的元素;

endsets

其中,定义单集合举例:

定义多集合举例:

set语句需要注意1.在列举集合元素时使用的是两点作为省略。2.列举集合元素后需要用冒号隔开3.容易漏掉sets后的冒号。

  1. data语句

简单赋值即可

  1. for语句

for语句对应规划约束中的i=1.2.....6诸如此类。并且for语句一定是要把内部全部嵌套。

其内部含义为:

对集合内每个元素,做i次循环

格式为:

@for(循环多少次,通常是set定义属性:每个量所做内容)

举例:

  1. sum语句

sum语句意为对集合内容进行求和

语句格式为:

@sum(循环多少次,通常是set定义属性:每个量所做内容)

sum语句对应求和,一定有一个类似小于的条件在sum外部,举例如下:

在sum与for兼而有之的情况下,通常for语句在外。

一个完整规划举例如下:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/55673
推荐阅读
相关标签
  

闽ICP备14008679号