LINGO软件基本功能

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LINGO软件基本功能
1
LINGO软件简介 ?一、LINGO介绍 ?二、 用LINGO解决基本的线性规划问题 ?三、 用LINGO解决非线性规划问题
2
一、LINGO介绍
LINGO 是 美 国 LINDO 系 统 公 司 Lindo System Inc开发的求解数学规划系列软件中 的一个,还有LINDO,GINO,What's best 等等,它的主要功能是求解大型线形、非线形 和整数规划的问题。在此主要介绍 LINGO如 何求解规划问题,所使用的 LINGO为V12.0 版。
纯整数非线性规划
4
一、LINGO介绍
LINGO的主要功能特色为: 1. 既能求解线性规划问题,也有一定求解非 线性规划问题的能力; 2. 输入模型简练直观; 3. 运行速度快、计算能力强;
5
一、LINGO介绍
LINGO的主要功能特色为:
4. 内置建模语言,提供几十个内部函数,从 而能以较少的语句,较直观的方式描述较大规 模的优化模型; 5. 将集合的概念引入编程语言,很容易将实 际问题转换为LINGO模型; 6. 能方便地与Excel、数据库等其他软件交换 数据。
18
三、用LINGO解决非线性规划问题
例4 求解二次规划问题:
直接使用LINGO最大化过程:
max=98*x1+277*x2-x1^2-0.3*x1*x2-2*x2^2; x1 + x2 <= 100; x1 <= 2*x2; @gin(x1);@gin(x2);
19
三、用LINGO解决非线性规划问题
12
三、用LINGO解决非线性规划问题
例2 求解二次规划问题:
MODEL:
MIN=x^2+y^2-2*x-4*y; !目标函数;
x+y<=1;
!x,y为决策变量;
y<=0.5;
!第二、三行均为约束条件;
end
13
三、用LINGO解决非线性规划问题
14
三、用LINGO解决非线性规划问题
结果是:当 x=0.5,y=0.5时取得最小值,最 小值为-2.5
二、用LINGO解决基本的线性规划问题
通过此例我们对 LINGO有了一个基本的认识,下 面我们来总结一下 LINGO语法规定:
1. 求目标函数的最大值或最小值分别用 MAX=…… 或MIN=……来表示;
2. 每个语句必须以分号“;”结束,每行可以有多 个语句,语句可以跨行;
3. 变量名称必须以字母( A-Z)开头,由字母、数 字(0-9)和下划线所组成,长度不超过 32个字符,不 区分大小写;
21
10
二、用LINGO解决基本的线性规划问题
4. 可以给语句加上标号,例如 [OBJ] MAX=50*X1+70*X2 (乘号*不能省略) ;
5. 以!开头,以“;”结束的语句是注释语句,显 示为绿色;
6. 如果对变量的取值范围没有做特殊说明,则所有 默认的决策变量均为非负数;
7. LINGO 模型以语句一般以“ MODEL: ”开头,以 “END”结束,对于比较简单的模型,这两语句可以省 略
注意比较:
当去掉第二个约束条件y<=0.5时,最小 值为-3 (当x=0, y=1时);
当去掉所有约束条件(无条件最值)时,最
小值为-5 (当x=1, y=2时);
15
三、用LINGO解决非线性规划问题
例3 求解非线性规划问题:
16
三、用LINGO解决非线性规划问题
17
三、用LINGO解决非线性规划问题
6
二、用LINGO解决基本的线性规划问题
例1 求解如下的线性规划模型:
max z ? 50x1 ? 70x2,
? x1 ? 3x2 ? 18,
? ?
2
x1
?
x2
?
16,
? ?
4x2 ? 20,
?? x1, x2 ? 0
7
二、用LINGO解决基本的线性规划问题
我们编辑一个LINGO程序:
MAX=50*X1+70*X2; !目标函数;
3
一、LINGO介绍
LINGOV12.0版可用于求以下各类最优化数学模型:
LP
Linear Program 线性规划
QP
Quadratic Program 二次规划
ILP
Integer Linear Program 整数线性规划
IQP
Integer Quadratic Program 整数二次规划
8. 变量界定函数(见下页)
11
二、用LINGO解决基本的线性规划问题
8. 变量界定函数: @BND(L,x,U) ,即L<=x<=U; 注意:没有想象中的的 @SLB函数与@SUB函数; @BIN(x) ,限制 x仅取整数 0或1; 注意:不是 @INT(x) 函数; @FREE(x) ,取消对x的符号限制 ; @GIN(x) ,限制x仅取非负整数。
X1+ 3*X2<=18;
!X1,X2为决策变量;
2*X1+ X2<=16;
4*X2<=20; !第二到四行均为约束条件
ຫໍສະໝຸດ Baidu
8
二、用LINGO解决基本的线性规划问题
我们编辑程序并求解后,得到 LINGO Model 窗口、 Solution report 窗口和Solver status 窗口如下:
9
20
三、用LINGO解决非线性规划问题
结果是: 当x1=35,x2=65时最大利润为11077.50,
【说明:在LINGO11版本中执行上述同样程序 后,其结果是:当 x1=36,x2=64取得最大 利润11076.80,怀疑是旧版本的算法在数值不 均衡时引起的计算错误。不过当采用最小化目 标函数时,却并不出错!】
PILP
Pure Integer Linear Program
纯整数线性规划
PIQP
Pure Integer Quadratic Program
纯整数二次规划
NLP
Nonlinear Program 非线性规划
INLP
Integer Nonlinear Program 整数非线性规划
PINLP
Pure Integer Nonlinear Program
相关文档
最新文档