赞
踩
今天主要复习了Lingo程序的用法,熟悉了常见错误。
目录
Lingo解方程注意事项
lingo线性规划注意事项
lingo语句解析
01 lingo解方程
一 解方程过程
将方程按照题中输入电脑,点击红心。
二 解方程注意事项
lingo读取方程是不按照顺序的,也就是说解方程过程当中方程之间不能有逻辑上的因果关系。
通常解方程使用matlab软件,lingo解代入运算的方程时可以令带入运算的方程式为y,变成一个规划。
lingo每一个语句都要以英文的分号结尾。尤其注意在lingo注释过程中,很容易忽略将输入法转换成英文,此时lingo自动寻找下一个分号,将中间的语句全部变成注释。
注意乘号,2x应当写成2*x。
lingo中变量命名不区分大小写且只能以字母开头。
02 lingo解一般规划
一 规划前注意事项
lingo不能够解双目标规划,如果涉及到双目标规划,应当采用做差法,增减性法等将其转换为单目标问题再求解。
lingo不适应较为复杂的非线性规划化问题,通常有较长的运算时间,以及难以的达到的全局最优解。
如果没有赋给变量初值,lingo会默认赋值为1.2345678.注意赋值不能赋表达式。
lingo中没有在逻辑上的严格大于,小于。通常如果要达到严格大于小于的效果可以根据精度要求,取一很小的值e,使A-e>B。
二规划过程
将max,min直接与目标函数相等。
由给出的约束矩阵,确定要设立的集合以及集合元素个数。
使用data语句赋值。
将约束条件翻译为lingo语言。
举例如下:
03 lingo一般语句的使用
set语句
set语句用于定义一个集合,其基本格式为
sets:
集合名称/集合元素/:赋有该集合内容的元素;
endsets
其中,定义单集合举例:
定义多集合举例:
set语句需要注意1.在列举集合元素时使用的是两点作为省略。2.列举集合元素后需要用冒号隔开3.容易漏掉sets后的冒号。
data语句
简单赋值即可
for语句
for语句对应规划约束中的i=1.2.....6诸如此类。并且for语句一定是要把内部全部嵌套。
其内部含义为:
对集合内每个元素,做i次循环
格式为:
@for(循环多少次,通常是set定义属性:每个量所做内容)
举例:
sum语句
sum语句意为对集合内容进行求和
语句格式为:
@sum(循环多少次,通常是set定义属性:每个量所做内容)
sum语句对应求和,一定有一个类似小于的条件在sum外部,举例如下:
在sum与for兼而有之的情况下,通常for语句在外。
一个完整规划举例如下:
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。