lingo教程
一:lingo运算符
1. 5种运算符:加+ 减- 乘* 除/ 幂^
2. 关系运算符 :lingo没有严格的小于或大于
<(即<=,小于等于) =(等于) >(>=,大于等于)
3. 9种逻辑运算符,分为两类:
#AND#(与),#OR#(或),#NOT#(非)
#EQ#(等于), #NE#(不等于)
#GT#(大于), #GE#(大于等于)
#LT# (小于) , #LE#(小于等于)
过滤条件 |
@IF(logical_condition,true_result,false_result)
logical_condition的结果为真时返回true_result。
4 字母数字下划线构成变量
5. 字母不区分大小写
6. 每行后面必须写 ;
例子:
model:
max = 2*x1 + 3*x2;
2*x1 + x2<8;
4*x1 + 3*x2<15;
end
5.英文 ! 表示注释
6. 取整函数 :@gin()
model:
title :求解二次规划;
[opt]max = 98 * x1 + 277 * x2 - x1^2 - 0.3*x1*x2 - 2*x2^2 ;
[st1]x1 + x2 < 100;
[st2]x1 < x*x2;
@gin(x1);@gin(x2);
end
二、段的概述
lingo中建立的优化模型可以由六个部分组成,或称为六“段”
1.集合段:用于定义数组型变量
SETS: .......ENDSETS
2.数据段:用于变量赋值与数据传递
DATA:......ENDDATE
3.目标与约束段:用于列出目标与约束
唯一一个没有段的开始和结束标记
4.计算段:用于数据初始整理计算
CALC: .......ENDCALC
5. 初始段: 用于变量赋初值迭代寻优
INIT:.....ENDINIT
6.子模型段:用于表达子模型进行调用
@SUBMODEL mymodel:
可执行语句(约束+目标)
ENDSUBMODEL
例2:
表达
!表示:y(j)取整数,j=1,2,3,...,200
x(i)为0-1变量 ,i=1,2, ...100;
sets:
a/1..100/:x;
b/1..200/:y;
endsets
!目标与约束段;
@for(b(j):@gin(y(j)));
@for(a(i):@gin(x(i)));
三、常用函数
@gin 整数变量
@bin 0-1变量
相关阅读
lingo对于一些线性或者非线性的规划,优化问题非常有效 首先介绍一下,在lingo中运行程序时出现的页面(在工具栏点击类似靶子一样的图
转至:https://blog.csdn.net/fflacy/article/details/80301862在该博客分享链接下载的压缩包显示有木马病毒,博主从网址http://www.
Lingo 16.0都发布了!lingo16.0如何安装?lingo又称“交互式的线性和通用优化求解器”,在数学中起重要作用。它既可求解线性
建模软件Lindo LINGO 17.0免费破解安装图文教程(附破
LINGO17.0是一款由lindo公司推出的专业线性和非线性通用优化求解器,提供了一套完整继承的软件包,用于构建和编辑问题的完全功能环境