数学建模lingo软件
课件:数学建模LINGO软件的使用方法

例:某公司需决定下四个季度的帆船生产量.下四个季度的
帆船需求量分别是40条,60条,75条,25条, 这些需求必须按 时满足.每个季度正常的生产能力是40条帆船,每条船的生产 费用为450美元. 每个季度末,每条船的库存费用为20美元. 假 定生产提前期为0, 初始库存为10条船. 如何安排生产可使总 费用最少?
集合的派生方法:
sets: A/1..5/:a1,a2,a3; B/1,2/:b1,b2; link(A,B):C; endsets data: a1=1,2,3,4,5; a2=6,5,4,3,2; a3=3,3,3,3,3; b1=5,6; b2=3,4; c=1 2 3 4 5 6 7 8 9 0; enddata
运算符:
max
约束名: 在 )之内
约束条件用st标记
LINGO模型特征
max= 系数与变量之间的乘号用 * 表示
在[ ]之内 省略
模型以MODEL:开始以END结束
LINGO模型要素: 集合段: 以SETS开始,以ENDSETS结束 数据段: 以DATA开始,以ENDDATA结束 初始段: 以INIT开始,以ENDINIT结束 计算段: 以DATA开始,以ENDCALC结束
集合循环函数:
@function(setname[(set-index-list) [∣condition ] ]: expression-list);
@FOR : 集合元素的循环函数(常用于约束条件) @MAX(MIN) : 集合属性的最大(小)值函数 @PROD : 集合属性的乘积函数 @SUM : 集合属性的求和函数 常用函数,文件输入输出函数等
LINGO运算符和函数:
算术运算符: + _ * / ^
数学建模中的优秀软件——LINGO

第9卷第3期2007年6月黄山学院学报JOurnal0fHuangshanUniVefsityVo】.9.NO.3Jun.2007数学建模中的优秀软件——LINGO周甄川(黄山学院数学系,安徽黄山245041)摘要:介绍了数学建模的相关概念、数学建模竞赛概况,探讨了LINGo系统的功能与特点,以及它在数学建模中的应用。
关键词:数学模型;数学建模;LlNGo系统中图分类号:TP319:0141.4文献标识码:A文章编号:1672—447x(2007)03—0112—03在对自然科学与社会科学许多课题的研究中,科学工作者常将事物的变化规律用特定的数学表达式的形式加以描述。
将寻求这种确定事物变化规律的过程称为“数学建模”。
而在数学建模以及全国大学生数学建模竞赛中,最常碰到的是一类决策问题,即在一系列限制条件下,寻求使某个或多个指标达到最大或最小,这种决策问题通常称为最优化问题【1】。
最优化理论是近几十年发展和形成的一门新兴的应用性学科。
它主要解决最优生产计划、最优分配、最优设计、最优决策、最佳管理等最优化问题。
主要研究方法是定量化、系统化和模型化方法,特别是运用各种数学模型和技术来解决问题。
它主要由决策变量、目标函数、约束条件三个要素组成。
当遇到的实际问题时即使建立了模型,找到了解的方法,对于较大的计算量也是望而却步,LINGo系列优化软件包就给我们提供了理想的选择。
1什么是数学建模数学建模(MatheImticalModelin曲‘11顾名思义就是建立数学模型以解决实际问题的过程。
它利用数学和计算机对实际问题进行分析研究,抽象出反映事物内在活动规律的数学关系表达式,通过对这些数学关系表达式的求解和反复验证,最终解决实际问题。
数学是所有自然科学的基础,随着计算机软硬件技术的迅速发展,数学建模和与之相伴的计算已逐渐成为工程设计的关键工具,并在人类社会实践活动中的众多领域内发挥着越来越重要的作用。
那么,什么是数学模型?如何建立数学模型?如何用数学模型解决实际问题呢?模型就是对事物的一种抽象。
Lingo软件与数学建模

变量数目:变量总数 (Total)、非线型变量 数(Nonlinear)、整数 变量数(Integer)
约束变量:约束总数 ( Total )、非线性约束 个数(Nonlinear)
非线性系数数量:总数 ( Total )、非线性项的 系数个数(Nonlinear)
内存使用量:单位为千字节
数据多,咋办?
value=1,1.2,0.9,1.1;
enddata
max=@sum(goods:weight*value);
@for(goods:@bin(x));
end
游泳
四名同学的混合泳接 力赛的四种成绩如左 表所示,确定如何分 配使成绩最佳。
蛙蝶自仰 泳泳由泳
泳
甲 99 60 59 73
线性规划
二次规划
非线性规划
LINGO软件的基本操作
双击快捷方式 即可计入程序编辑界面
Lingo软件介绍
➢解决一个简单的线性规划(LP)问题
max z 2x 3y 4x 3y 10
s.t. 3x 5y 12 x, y 0
LINGO软件介绍
点击图标
运行,屏幕上显示运行状态窗口如下: 对于LINGO运行状态窗口,
基 @EXP(X):指数函数(以自然对数e为底),返回eX的值
本 数 学
@ LOG(X):自然对数函数,返回X的自然对数值; @POW(X,Y):指数函数,返回XY的值;
函 @SQR(X):平方函数,返回X2的值;
数 @SQRT( X ):平方根函数,返回X的平方根;
@FLOOR(X):取整函数,返回X的整数部分(向靠近0 的方向取);
@GIN(X):限制X为整数.
0-1规划(线性规划)
第6讲 Lingo在数学建模中的作用

LINGO软件陕西铁路工程职业技术学院赵增逊2014年10月18日主要内容1.LINGO简介2.LINGO中建模语言(集合、运算符和函数等)3.LINGO编程实例1.1LINGO软件简介(1)美国芝加哥(Chicago)大学的Linus Schrage(莱纳斯.施拉盖)教授于1980年前后开发。
(2)LINGO: Linear Interactive General Optimizer (线性交互式通用优化器)。
(3)用来求解的优化模型(连续优化和整数规划(IP))。
类型:线性规划(LP)、二次规划(QP)、非线性规划(NLP)。
1.2 LINDO/LINGO软件能求解的模型优化线性规划非线性规划二次规划连续优化整数规划LINDOLINGO1.3 LINGO的特点(1)求解线性规划问题(2)求解非线性规划问题(3)非线性方程组(4)输入模型简练直观(5)运行速度快、计算能力强1.4 学习LINGO 的要求 需要掌握:软件操作基本语法结构掌握集合(SETS)的应用 正确阅读求解报告 正确理解求解状态窗口 学会设置基本的求解选项(OPTIONS) LINGO: Linear Interactive General Optimizer 求解数学规划问题Min Z = f (x)s.t x ∈D (⊂Rn )Lingo软件的主窗口(用户界面) 所有Lingo窗口都在这个窗口内状态行(最左边显示“Ready”表示“准备就模型窗口(Model Window)用于输入LINGO优化模型(即LINGO程序)当前光标的位置当前时间1.5 LINGO软件界面1.新建(New )单击“新建”按钮或直接按F2键可以创建一个新的“Model ”窗口。
在这个新的“Model ”窗口中能够输入所要求解的模型。
2.打开(Open )单击“打开”按钮或直接按F3键可以打开一个已经存在的文本文件。
这个文件可能是一个Model 文件。
2024年度LINGO软件

结果分析
对求解结果进行分析,验证模型的有 效性和可行性。
模型调整
根据结果分析,对模型进行调整和优 化,提高模型的实用性和准确性。
24
05 LINGO软件在各 个领域的应用案 例
2024/3/23
25
生产计划与调度问题
2024/3/23
生产线平衡
LINGO可以用于解决生产线平衡问题,通过优化生产线上 各个工位的任务分配,提高生产效率和资源利用率。
一些学术机构和研究团队也会分享他们的 LINGO使用经验和案例,为学习者提供更多 的学习资源和合作机会。
37
THANKS
感谢观看
2024/3/23
38
LINGO可用于金融市场预测和决策分析,通过建立预测模型和分析工具
,揭示金融市场的运行规律和趋势,为投资决策提供支持。
29
06 LINGO软件与其 他工具的集成与 应用
2024/3/23
30
与Excel的集成与应用
2024/3/23
数据交换
LINGO可以直接从Excel中导入数据,也可以将结果导出到Excel ,实现数据的无缝对接。
2024/3/23
28
金融工程与投资组合优化问题
01
投资组合优化
LINGO可以用于解决投资组合优化问题,通过优化投资组合中各个资产
的配置比例,实现风险和收益的平衡。
02
期权定价与风险管理
利用LINGO建立期权定价模型,可以准确计算期权的价值,为风险管理
提供决策依据。
2024/3/23
03
金融市场预测与决策分析
2024/3/23
整数规划算法
分支定界法、割平面法等适用于整数规划问 题的求解。
《数学建模》实验指导_03_Lingo求解线性规划问题

实验二:Lingo求解线性规划问题学时:4学时实验目的:掌握用Lingo求解线性规划问题的方法,能够阅读Lingo结果报告。
实验内容:1、求解书本上P130的习题1:某银行经理计划用一笔资金进行有价证券的投资,可供购进的证券以及其信用等级、到期年限、收益如下表1所示,按照规定,市政证券的收益可以免税,其他证券的收益需按50%的税率纳税,此外还有以下限制:1)政府及代办机构的证券总共至少要购进400万元;2)所购证券的平均信用等级不超过1.4(信用等级数字越小,信用程序越高);3)所购证券的平均到期年限不超过5年。
表 1(1)若该经理有1000万元资金,应如何投资?(2)如果能够以2.75%的利率借到不超过100万元资金,该经理应如何操作?(3)在1000万元资金情况下,若证券A的税前收益增加为4.5%,投资应否改变?若证券C的税前收益减少为4.8%,投资应否改变?列出线性规划模型,然后用Lingo求解,根据结果报告得出解决方案。
2、指派问题:6个人计划做6项工作,其效益如下表(”-”表示某人无法完成某项工作),3、有限制的运输问题:6个发点6个收点,其供应量、接收量和运费如下表1(”-”表示某个发电无法向某个收点运输货物),如果某个发点向某个收点运输货物,则运输量不得低使用Lingo 的一些注意事项1. “>”与“>=”功能相同。
2. 变量与系数间相乘必须用”*”号,每行用”;”结束。
3. 变量以字母开头,不能超过8个字符。
4. 变量名不区分大小写(包括关键字)。
5. 目标函数用min=3*x1+2*x2或max=3*x1+2*x2的格式表示。
6. “!”后为注释。
7. 变量界定函数实现对变量取值范围的附加限制,共4种:@bin(x) 限制x 为0或1 @bnd(L,x,U) 限制L≤x≤U@free(x) 取消对变量x 的默认下界为0的限制,即x 可以取任意实数 @gin(x) 限制x 为整数 其他可见“Lingo 教程.doc ”如书上85页的Lindo 代码可改为如下Lingo 代码: max =72*x1+64*x2; x1+x2<50;12*x1+8*x2<480; 3*x1<100;例1.1 如何在LINGO 中求解如下的LP 问题:,6002100350..32min 212112121≥≤+≥≥++x x x x x x x t s x x在模型窗口中输入如下代码:min =2*x1+3*x2; x1+x2>=350; x1>=100;2*x1+x2<=600;然后点击工具条上的按钮 即可。
利用LINGO软件解决数学建模问题

LINGO 7.0 运行结果如下:
Global optimal solution found at step: Objective value:
Variable X1 Value 264937.9
8
933400.0
Reduced Cost 0.0000000 Row 1 2 3 4 5 6 Slack or Surplus 933400.0 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 Dual Price
表1
标准汽油 1 2 3 4 辛烷数 107.5 93.0 87.0 108.0 蒸 汽
(1 g/cm^2=98Pa)
压 力 库存量 (g/cm^2) 7.11*10^(-2) 11.38*10^(-2) 5.69*10^(-2) 28.45*10^(-2)
表
380000 262200 408100 130100
表2
飞机汽油 1 2 辛烷数 >=91 >=100 蒸汽压力(g/cm^2) <=9.96*10^(-2) <=9.96*10^(-2) 产量需求(L) 越多越好 >=250000
建模过程略(详见《运筹学基础》P54—55) 目标函数:max z=x1+x2+x3+x4 约束条件:x5+x6+x7+x8>=250000 x1+x5<=380000 x2+x6<=265200 x3+x7<=408100 x4+x8<=130100 2.85x1-1.42x2+4.27x3-18.49x4>=0 2.85x5-1.42x6+4.27x7-18.49x8>=0 16.5x1+2.0x2-4.0x3+17x4>=0 7.5x5-7.0x6-13.0x7+8.0x8>=0 xj>=0(j=1,2...,8)
数学建模精讲_西南交通大学中国大学mooc课后章节答案期末考试题库2023年

数学建模精讲_西南交通大学中国大学mooc课后章节答案期末考试题库2023年1.Lingo软件是常用的优化问题的求解软件。
参考答案:正确2.0-1规划是整数规划。
参考答案:正确3.求解整数规划一定能得到最优解。
参考答案:错误4.整数规划是指规划问题中的全部变量限制为整数。
参考答案:错误5.所有决策变量均要求为整数的整数规划称为纯整数规划。
参考答案:正确6.整数规划与线性规划不同之处在于增加了整数约束。
参考答案:正确7.分枝定界法是整数规划的常见算法。
参考答案:正确8.原线性规划有最优解,当自变量限制为整数后,其整数规划也一定有最优解。
参考答案:错误9.整数规划最优解常可以按照实数最优解简单取整而获得。
参考答案:错误10.与线性规划连续的可行域不同,整数规划的可行域是离散的。
参考答案:正确11.整数规划由于限制变量是整数,增加了求解难度,但整数解是有限个,所以有时候可以采用枚举法。
参考答案:正确12.非线性规划已经有一般的适合所有问题的成熟的解法。
参考答案:错误13.非线性规划的局部最优解和全局最优解等价。
参考答案:错误14.多目标规划的目标函数多于1个。
参考答案:正确15.非线性规划是指规划模型的目标函数或者约束条件中至少有一个为非线性表达式。
参考答案:正确16.多目标规划的解法包括分枝定界法,单纯形法。
参考答案:错误17.根据地球上任意两点的经纬度就可以计算这两点间的距离。
参考答案:正确18.如果可能,把非线性规划转换为线性规划是非常好的一个思路,原因是线性规划有比较成熟的算法。
参考答案:正确19.Lingo软件求解非线性规划的结果都是全部最优解。
参考答案:错误20.求解多目标规划的线性加权和法,在确定权系数之前,一般要对目标函数值做统一量纲处理,其目的是避免出现大数吃小数、权系数失去其作用的问题。
参考答案:正确21.哥尼斯堡七桥问题由欧拉证明了是可以走通的。
参考答案:错误22.“健康中国2030”规划纲要其中一项主要指标是将我国人均预期寿命提升至79岁左右。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
创建一些特殊的集
隐式成员列表格式 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
边; ⑤ Lingo模型语句由一系列语句组成,每一个语句都必须以“;”
结尾; ⑥ Lingo中以“!”开始的是说明语句,说明语句也以“ ;” 结束,
可跨多行。 ⑦ 变量与系数间应有运算符“*”; ⑧ 表达式中不接受括号“()”和逗号小费用 运输问题。产销单位运价如下表。
收点
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题:企业的营销管理问题
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、数据库等其他软件交换数据;
运算对象是两个数
#GT# #GE#
左边大于右边时为真,否则为假
左边大于或等于右边时为真,否 则为假
#LT#
左边小于右边时为真,否则为假
#LE#
左边小于或等于右边时为真,否 则为假
#NOT#
单目运算符,表示对运算对象取 反(即真变假,假变真)
预算对象是逻辑值或逻 辑表达式
#AND#
两个运算对象都真时为真,否则 为假
Lingo软件
引例(产品组合问题)
某公司现有三条生产线来生产两种新产品,问 如何生产可以让公司每周利润最大?
生产线
1 2 3 每批产品利润
生产每批产品所需时间 产品一 产品二
1
0
0
2
3
2
3
5
生产线每周可 利用时间
4 12 18
线性规划模型
设x1, x2分别为产品一和产品二的产量
X2
max z 3x1 5x2
LINGO求解报告:
注: ①最优解中变量的相差值自动取零. ②约束条件中, 对于“<=”不等式, 称之为松弛 (Slack). 对于“>=”不等式, 称之为剩余 (Surplus). 不等式左右两边值相等时, 松弛和 剩余的值为0; 如果约束条件无法满足, 则松弛和剩余的值为负. 含义: 如果y增加1, 能使目标函数值增加1.25.
#OR#
两个运算对象都假时为假,否则 为真
逻辑运算符优先级别:#NOT#最高, #AND#和#OR#最低
关系运算符
关系运算符通常用在条件表达式中,用来指定约束条件表 达式左边与右边必须满足的关系. 有以下三种:
= <= >= 注:①LINGO没有单独的“<”和“>”关系,如果出现了单 个
②“如<”果和需“要>”严,格L小IN(GO大认)为于是关省系略,了如“A=严”格. 小于B,可
Lingo软件求解的优化模型类型见下图:
优化模型
连续模型
整数模型
线性规划
二次规划
非线性规划
Lingo软件介绍
➢解决一个简单的线性规划(LP)问题
Max 5x 2 y; 4x 2 y 10
s.t. 6x 7 y 12
点击图标 运行,屏幕上显示运行状态窗口如下:
求解状态窗口
对于Lingo运行状态窗口,我们给 于以下解释:
Lingo软件介绍 ➢关于Lingo的基本用法的几点注意事项:
① 程序以“model:”开始,以“end”结束; ② Lingo中变量不区分大小写,变量名可以超过8个,不能超过
32个,需以字母开头; ③ 用Lingo解优化模型时已假定所有变量非负(除非用限定变量
范围的函数@free或@bnd另行说明); ④ 变量可以放在约束条件右端,同时数字也可以放在约束条件左
显式罗列
为每个成员输入一个不同的名字,中 间用空格或逗号搁开,允许混合使用 例 sets:
students/John Jill, Rose Mike/: sex, age; endsets
隐式罗列
不必罗列出每个集成员。
语法: setname/member1..memberN/ [:attribute_list];
·集的名字 ·父集的名字 ·可选,集成员 ·可选, 集成员的属性
定义派生集的语法:
setname(parent_set_list)[/member_list/][:attribute_list];
说明:setname是集的名字,parent_set_list是已定义的集 的列表,多个时必须用逗号隔开。
LINGO允许把这些相联系的对象聚 合成集(sets)。一旦把对象聚合成集, 就可以利用集来最大限度的发挥LINGO 建模语言的优势。
Lingo集的类 型
集
派生集
原始集
稀疏集
稠密集
显式罗列
隐式罗列
原始集
由一些最基本的对象组成。
定义原始集 ·集的名字 ·可选,集的成员 ·可选,集成员的属性
语法: setname[/member_list/][:attribute_list];
➢变量定界函数对变量的取值范围附加限制,共有以 下四种:
变 @BND(L,X,U):限制L < = X < = U.
量 定
@BIN(X):限制X为0或1。
界 函 数
@FREE(X) :取消对X的符号限制(即可取 负数,0或正数).
@GIN(X):限制X为整数.
集
对实际问题建模的时候,总会遇到一 群或多群相联系的对象,比如工厂、消 费者群体、交通工具和雇工等等。
Lingo中的基本运算符
➢算术运算符 ➢逻辑运算符 ➢关系运算符
➢乘方 ^ ➢乘 * ➢除 / ➢加 + ➢减 -
算术运算符
!!注意:LINGO唯一的一元算术运算符是取 反函数“﹣”,且其处于最高优先级。
逻辑运算符
分类
运算符
作用
#EQ#
两个运算对象相等时为真,否则 为假
#NE#
两个运算对象不相等时为真,否 则为假
变量数目:变量总数 (Total)、非线型变量数 (Nonlinear)、整数变量数 (Integer) 约束变量:约束总数 ( Total )、非线性约束个数 (Nonlinear) 非线性系数数量:总数 ( Total )、非线性项的系数 个数(Nonlinear)
内存使用量:单位为千字节
求解花费时间:显示格式 “时:分:秒:”
r14 Mon,Tue,Wed,Thu,Fri
Oct,Nov,Dec,Jan
MonthYearM..MonthY earN
Oct2001..Jan2002
Oct2001,Nov2001,Dec2 001,Jan2002
派生集
是用一个或多个其它集来定义的,也就是说,它 的成员来自于其它已存在的集。
定义派生集
以表示成:A B
这里 是一个小的正数,它的值依赖于模型中A小于B多 少才算不等.
运算符的优先级
优先级 运算符 最高 #NOT# —(负号)
^ */ + —(减法) #EQ# #NE# #GT# #GE# #LT# #LE# #AND# #OR# 最低 <(=) = >(=)
Lingo软件介绍