数学建模lingo软件

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
说明:member1是集的第一个成员名, memberN是集的最末一个成员名 .
创建一些特殊的集
隐式成员列表格式 1..n
StringM..StringN DayM..DayN
MonthM..MonthN
示例 1..5 Car2..car14 Mon..Fri Oct..Jan
所产生集成员
1,2,3,4,5 Car2,Car3,Car4,…,Ca
#OR#
两个运算对象都假时为假,否则 为真
逻辑运算符优先级别:#NOT#最高, #AND#和#OR#最低
关系运算符
关系运算符通常用在条件表达式中,用来指定约束条件表 达式左边与右边必须满足的关系. 有以下三种:
= <= >= 注:①LINGO没有单独的“<”和“>”关系,如果出现了单 个
②“如<”果和需“要>”严,格L小IN(GO大认)为于是关省系略,了如“A=严”格. 小于B,可
LINGO求解报告:
注: ①最优解中变量的相差值自动取零. ②约束条件中, 对于“<=”不等式, 称之为松弛 (Slack). 对于“>=”不等式, 称之为剩余 (Surplus). 不等式左右两边值相等时, 松弛和 剩余的值为0; 如果约束条件无法满足, 则松弛和剩余的值为负. 含义: 如果y增加1, 能使目标函数值增加1.25.
变量数目:变量总数 (Total)、非线型变量数 (Nonlinear)、整数变量数 (Integer) 约束变量:约束总数 ( Total )、非线性约束个数 (Nonlinear) 非线性系数数量:总数 ( Total )、非线性项的系数 个数(Nonlinear)
内存使用量:单位为千字节
求解花费时间:显示格式 “时:分:秒:”
x1 4
S .T .
2x2 12 3x1 2x2 18
x1 0, x2 0
0
x1
LINGO的基本用法
1. LINGO的主要功能特色: (1) 既能求解线性规划问题,也有较强的求解非线性规划 问题的能力; (2) 输入模型简练直观; (3) 运行速度快,计算能力强; (4) 内置建模语言,提供几十个内部函数,从而能以较少 语句,较直观的方式描述较大规模的优化模型; (5) 将集合的概念引入编程语言,很容易将实际问题转换 为LINGO模型; (6) 能方便地与Excel、数据库等其他软件交换数据;
显式罗列
为每个成员输入一个不同的名字,中 间用空格或逗号搁开,允许混合使用 例 sets:
students/John Jill, Rose Mike/: sex, age; endsets
隐式罗列
不必罗列出每个集成员。
语法: setname/member1..memberN/ [:attribute_list];
Lingo中的基本运算符
➢算术运算符 ➢逻辑运算符 ➢关系运算符
➢乘方 ^ ➢乘 * ➢除 / ➢加 + ➢减 -
算术运算符
!!注意:LINGO唯一的一元算术运算符是取 反函数“﹣”,且其处于最高优先级。
逻辑运算符
分类
运算符
作用
#EQ#
两个运算对象相等时为真,否则 为假
#NE#
两个运算对象不相等时为真,否 则为假
边; ⑤ Lingo模型语句由一系列语句组成,每一个语句都必须以“;”
结尾; ⑥ Lingo中以“!”开始的是说明语句,说明语句也以“ ;” 结束,
可跨多行。 ⑦ 变量与系数间应有运算符“*”; ⑧ 表达式中不接受括号“()”和逗号“,”等任何符号;
例 计算6个发点8个收点的最小费用 运输问题。产销单位运价如下表。
Lingo软件
引例(产品组合问题)
某公司现有三条生产线来生产两种新产品,问 如何生产可以让公司每周利润最大?
生产线
1 2 3 每批产品利润
生产每批产品所需时间 产品一 产品二
1
0
0
2
3
2
3
5
生产线每周可 利用时间
4 12 18
线性规划模型
设x1, x2分别为产品一和产品二的产量
X2
max z 3x1 5x2
➢变量定界函数对变量的取值范围附加限制,共有以 下四种:
变 @BND(L,X,U):限制L < = X < = U.
量 定
@BIN(X):限制X为0或1。
界 函 数
@FREE(X) :取消对X的符号限制(即可取 负数,0或正数).
@GIN(X):限制X为整数.

对实际问题建模的时候,总会遇到一 群或多群相联系的对象,比如工厂、消 费者群体、交通工具和雇工等等。
收点
B1
B2
B3
B4
B5
B6
B7
B8 产量
发点
A1
6
2
6
7
4来自百度文库
2
5
9 60
A2
4
9
5
3
8
5
8
2 55
A3
5
2
1
9
7
4
3
3 51
A4
7
6
7
3
9
2
7
1 43
A5
2
3
9
5
7
2
6
5 41
A6
5
5
2
2
8
1
4
3 52
销量
35 37 22 32 41 32 43 38
2010年东三省
A题:企业的营销管理问题
·集的名字 ·父集的名字 ·可选,集成员 ·可选, 集成员的属性
定义派生集的语法:
setname(parent_set_list)[/member_list/][:attribute_list];
说明:setname是集的名字,parent_set_list是已定义的集 的列表,多个时必须用逗号隔开。
以表示成:A B
这里 是一个小的正数,它的值依赖于模型中A小于B多 少才算不等.
运算符的优先级
优先级 运算符 最高 #NOT# —(负号)
^ */ + —(减法) #EQ# #NE# #GT# #GE# #LT# #LE# #AND# #OR# 最低 <(=) = >(=)
Lingo软件介绍
Lingo软件求解的优化模型类型见下图:
优化模型
连续模型
整数模型
线性规划
二次规划
非线性规划
Lingo软件介绍
➢解决一个简单的线性规划(LP)问题
Max 5x 2 y; 4x 2 y 10
s.t. 6x 7 y 12
点击图标 运行,屏幕上显示运行状态窗口如下:
求解状态窗口
对于Lingo运行状态窗口,我们给 于以下解释:
运算对象是两个数
#GT# #GE#
左边大于右边时为真,否则为假
左边大于或等于右边时为真,否 则为假
#LT#
左边小于右边时为真,否则为假
#LE#
左边小于或等于右边时为真,否 则为假
#NOT#
单目运算符,表示对运算对象取 反(即真变假,假变真)
预算对象是逻辑值或逻 辑表达式
#AND#
两个运算对象都真时为真,否则 为假
Lingo软件介绍 ➢关于Lingo的基本用法的几点注意事项:
① 程序以“model:”开始,以“end”结束; ② Lingo中变量不区分大小写,变量名可以超过8个,不能超过
32个,需以字母开头; ③ 用Lingo解优化模型时已假定所有变量非负(除非用限定变量
范围的函数@free或@bnd另行说明); ④ 变量可以放在约束条件右端,同时数字也可以放在约束条件左
r14 Mon,Tue,Wed,Thu,Fri
Oct,Nov,Dec,Jan
MonthYearM..MonthY earN
Oct2001..Jan2002
Oct2001,Nov2001,Dec2 001,Jan2002
派生集
是用一个或多个其它集来定义的,也就是说,它 的成员来自于其它已存在的集。
定义派生集
LINGO允许把这些相联系的对象聚 合成集(sets)。一旦把对象聚合成集, 就可以利用集来最大限度的发挥LINGO 建模语言的优势。
Lingo集的类 型

派生集
原始集
稀疏集
稠密集
显式罗列
隐式罗列
原始集
由一些最基本的对象组成。
定义原始集 ·集的名字 ·可选,集的成员 ·可选,集成员的属性
语法: setname[/member_list/][:attribute_list];
相关文档
最新文档