数学建模与LINGO用法1
数学建模中lingo的使用

20桶牛奶生产A1, 30桶生产A2,利润3360元。
首页 上页 下页 返回
结果解释
OBJECTIVE FUNCTION VALUE
max=72*x1+64*x2; x1+x2<=50; 12*x1+8*x2<=480; 3*x1<=100;
1)
3360.000
VARIABLE
X1 X2
VALUE
Variable X1 X2 Row 1 2 3 4
Value 16.80000 22.30000
Reduced Cost 0.000000 0.000000
Slack or Surplus Dual Price 229.1000 1.000000 0.000000 2.200000 0.000000 0.1000000 53.90000 0.000000
首页上页返回下页资料仅供参考1桶桶牛奶3公斤a112小时8小时4公斤a2或或获利24元公斤获利16元公斤x1桶牛奶生产a1x2桶牛奶生产a2获利243x1获利164x2原料供应5021??xx劳动时间48081221??xx加工能力10031?x决策变量目标函数216472xxzmax??每天获利约束条件非负约束021?xx线性规划模型lp时间480小时至多加工100公斤a150桶牛奶每天首页上页返回下页资料仅供参考模型求解图解法x1x20abcdl1l2l3l4l55021??xx48081221??xx10031?x021?xx约束条件50
首页
上页
下页
返回
Lingo中的集
Lingo中集的定义语法: setname/member_list/:attribute_list; 说明: setname为集的名称; /member_list/为成员列表; attribute_list为属性列表。
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 文件。
lingo基本用法

lingo基本用法以下是 9 条关于“lingo 基本用法”的内容:1. 嘿,你知道吗,lingo 里的变量定义可简单啦!就像给东西起个名字一样自然。
比如说,咱要算一堆苹果的数量,那就可以设个变量叫apple_num 呀,这不就清楚明白啦!2. 哇塞,lingo 的约束条件就像是给问题加上规矩。
就好比说,规定一个房间最多能进 10 个人,这就是个约束呀。
比如限制某种资源不能超过多少,lingo 就能很好地处理呢!3. 哎呀呀,lingo 的目标函数那可重要了!这就好比是你要去追求的目标。
比如你想让利润最大化,那目标函数就是让利润相关的表达式达到最大呀!像算怎么卖东西能赚最多钱,lingo 就能帮你找到答案哟!4. 嘿,lingo 的表达式书写也不难呢!就像写个数学式子一样。
比如 2x +3y 这么简单明了。
要计算一些关系,用它来写表达式再合适不过了!5. 哇哦,lingo 里的集合定义多有意思啊!像是把一群相关的东西归到一起。
比如把不同类型的商品归成一个集合,然后对它们进行统一的处理呀,是不是很方便呀?6. 哎呀,lingo 的求解命令一敲,就等着答案出来啦!就像你按下按钮,机器就开始工作一样。
你看,多神奇啊,一下子就知道结果了呢!7. 嘿,lingo 还能处理复杂的数据呢!就像一个聪明的小助手,不管多乱的数据它都能理清楚。
比如算一大堆乱七八糟数字的关系,lingo 绝对能应付得来呀!8. 哇,lingo 的模型建立虽然要动点脑筋,但一旦建好了,那可太好用啦!就跟盖房子一样,辛苦一点,盖好了住着就舒服啦。
你想想,自己建的模型能用起来,多有成就感呀!9. 哎呀呀,掌握了 lingo 的基本用法,那真的是能解决好多问题呢!不管是算数量还是优化方案,都不在话下。
所以呀,还不赶紧去学学,让它为你服。
数学建模-(货机装运lingo)

数学建模-(货机装运lingo)货机装运是指将货物从一个起点运输到一个终点,在这个过程中需要考虑到货物的重量、体积、运输方式等多种因素。
在货机装运过程中,一个关键问题是如何最大化运载效率,即在保证运输安全和合法的前提下,尽可能地提高货机的装载量,从而降低单位运输成本。
在数学建模中,可以使用lingo等工具进行货机装运的优化。
具体来说,可以将该问题抽象为一个数学模型,以最大化货机的装载量为目标函数,同时考虑到运输安全、货物重量、体积等约束条件。
下面以一个具体例子来说明如何使用lingo进行货机装运的优化:假设有一架货机,其载重量为10000公斤,可以装载两种货物A和B,每种货物的重量和体积如下:货物类型重量(公斤)体积(立方米)A 600 1.5B 400 0.8同时,从起点到终点的运输费用如下:货物类型运输费用(元/公斤)A 10B 15要求在保证运输安全和合法的前提下,最大化货机的装载量,即:subject to:A +B <= 10000(装载量不超过10000公斤)其中,A和B表示货机装载的货物A和B的数量,V是货机的装载体积,运输费用是由货物类型和运输距离等因素决定的,这里简化为一个固定值。
使用lingo进行求解的过程如下:1.首先,在lingo中创建一个新的模型文件,并定义目标函数和约束条件:2.对模型进行求解,并设置模型参数:model:solve;parameters:V = 15;end;在上述代码中,V表示货机的装载体积,这里假设为15立方米。
solve表示对模型进行求解,通过设置end来结束参数定义。
3.对求解结果进行分析和优化,例如考虑不同装载体积下的最优解:for V := 15 to 20 dobeginwriteln('Optimal value for V=',V,': ',model.obj);在以上代码中,for循环遍历不同的装载体积值(15到20),分别求解模型并输出优化结果。
Lingo软件在数学建模竞赛中的应用word精品文档9页

Lingo软件在数学建模竞赛中的应用[收稿日期] 2010-06-20[基金项目] 福建交通职业技术学院科技发展基金(Ky1001)。
数学建模(Mathematical Modeling)是对现实世界的一个特定对象,为了一个特定目的,根据特有的内在规律,作出一些必要的简化假设,运用适当的数学工具,得到一个数学结构的过程[1]。
1 非线性规划模型历年全国大学生数学建模竞赛都需解决最优生产计划、最优分配最优设计、最优决策、最佳管理等较为复杂的非线性规划问题,模型由决策变量、目标函数、约束条件三个要素组成,其计算量较大,可用Lingo软件求解。
2006“高教社杯”全国大学生数学建模竞赛C题[3]第二小题,设易拉罐是一个正圆柱体,什么是它的最优设计?经测量得圆柱的上底厚度为a=0.036 cm、下底厚度为c=0.040 cm、圆柱侧壁厚度为b=0.012 cm?А?悸且桌?罐设计美观性、便于把握以及材料节省等因素,于是建立目标规划模型如下:目标函数:minW=b×2πRh+(a+c)πR2约束条件:V=πR2>3552R/h=0.618πr2≤18.56,h≥8.71R>0,h>0,a=0.036,b=0.0 12利用Lingo8.0编程如下:Model:min=b*2*3.14159*R*h+(a+c)*3.14159*R^2;!以上是目标函数,以下为约束条件;3.14159* R^2 * h>355;2*R/h=0.618;3.14159*R^2=18.56;h>=8.71;R>0;h>0;a=0.036;c=0.040;b=0.012;EndLingo以语句Model开始,以语句End结束,这两个语句单独成一行。
语句分为集合定义部分、数据初始化部分、目标函数、约束条件部分,这几个部分的先后次序无关紧要。
min开头的语句表示求目标函数最小值。
“!”开头的语句是注释语句,Lingo不作运行,每条中间语句必须以“;”号作为结尾。
LINGO使用说明(比较简单)

@sum( xb1(j) : a(i,j)*x(j)) +c(i) <= b(i);
); 同时我们在E盘新建了一个名为DATA.XLS的EXCLE文件;关于 EXCLE的使用,这里不更多说明。需要指出的是‘ DA ’ , ‘ DB ’ , ‘ DC ’是EXCLE中对一系列单元格的命名,即先选中某个一维或多维单元格 区域,然后再在显示单元格行列坐标的文本框中写入对这个区域的命 名,再回车确认。这样就可以通过这个命名来控制访问EXCLE的数据 了。至于另一种操作方法请查找相关的help文件。 以上只是介绍了LINGO基本的知识,上面的程序未经调试,可能存 在一些问题!还有希望大家能尽可能使用help文件,在其中有着详细的 解答!
相应Lingo代码如下: @max( xb1( i ) : b( i )*c( i ) ) <=33 ;
同样MAX语句也可以用于多维变量。 4.MIN语句:
MIN语句的功能是从一组取值与下标有关的表达式中返回它们 的最小值。用法与MAX的相同。
三.EXCEL电子表格接口
在你解决一个模型的时候,或许会有大量的数据要整合到你的 代码中去,而这些数据大部分时候会被保存在电子表格中。而且 EXCEL也是用来处理你所得到的数据较好的一个选择。出于上述原
当你在windows下开始运行LINGO系统时,会得到类似下面的一个窗 口:
外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将 被包含在主窗口之下。在主窗口内的标题为LINGO Model – LINGO1的 窗口是LINGO的默认模型窗口,建立的模型都都要在该窗口内编码实 现。 示例:求解线性规划问题:
LINGO使用说明

LINGO使用说明一、LINGO的基本特性1.建模语言:LINGO使用一种直观的建模语言,被称为LINGO语言,它使用简洁的语法和自然语言类似的表达方式,使用户能够轻松地描述问题。
2.线性优化:LINGO支持线性规划(LP)和整数线性规划(ILP),它的线性优化功能包括线性约束、线性目标函数和变量定义,可以解决诸如生产优化、资源分配等问题。
3.非线性优化:LINGO还支持非线性规划(NLP)和全局优化(GLO),可以解决包括非线性约束和非线性目标函数的问题。
它提供了多种求解方法和算法,如牛顿法、逐次线性规划等。
4.约束和限制:LINGO能够处理各种类型的约束和限制,包括等式约束、不等式约束、逻辑约束等。
用户可以根据具体问题定义约束,LINGO会自动处理约束的完整性和一致性。
5.求解器:LINGO内置了一系列高效的求解器,如线性规划求解器、非线性规划求解器、整数规划求解器等。
用户可以根据问题的复杂程度选择最适合的求解器。
6.结果分析:LINGO可以生成详细的结果报告,包括优化解、约束条件、目标函数值等。
用户可以通过结果报告来分析问题的解决方案,做出决策。
二、LINGO的使用方法2.创建模型:在LINGO中,用户需要先创建一个模型文件,来描述问题。
可以通过鼠标点击“新建模型”按钮或选择文件菜单中的“新建”选项来创建一个新的模型文件。
3.定义变量:在模型文件中,用户可以定义变量。
变量可以是整数、二进制或连续的,并为每个变量分配一个名称、类型和取值范围。
4.定义目标函数:在模型文件中,用户可以定义一个目标函数。
目标函数可以是线性的或非线性的,并定义在变量上。
5.定义约束:在模型文件中,用户可以定义约束。
约束可以是线性的或非线性的,并定义在变量上。
用户需要通过约束来限制变量的取值范围。
6.设置求解器:在模型文件中,用户可以选择合适的求解器来解决问题。
LINGO提供了多种求解器,用户可以根据问题的复杂程度选择最适合的求解器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
牌号 甲 乙
产量 x1 x2
成本 价格 q1 p1 q2 p2
p随x (两种牌号)增加而减小,呈线性关系
p1 b1 a11x1 a12 x2 , b1 , a11, a12 0, a11 a12
p2 b2 a21x1 a22 x2 , b2 , a21, a22 0, a22 a21
决策变量:周一至周日每天(新)聘用人数 x1, x2,x7 目标函数:7天(新)聘用人数之和 约束条件:周一至周日每天需要人数
设系统已进入稳态(不是开始的几周) 连续工作5天 周一工作的应是(上)周四至周一聘用的 x4 x5 x6 x7 x1 50
mi n s.t. z x1 x2 x3 x4 x5 x6 x7 x1 x4 x5 x6 x7 5 0 x1 x2 x5 x6 x7 5 0 x Z , i x1 x2 x3 x6 x7 5 0 即为非负整数 x1 x2 x3 x4 x7 5 0 x1 x2 x3 x4 x5 8 0 x2 x3 x4 x5 x6 9 0 x3 x4 x5 x6 x7 8 0
比 xi对目标函数的 例 “贡献”与xi取值 性 成正比 xi对约束条件的 “贡献”与xi取值 成正比 xi对目标函数的 可 “贡献”与xj取值 加 无关 性 xi对约束条件的 “贡献”与xj取值 无关 连续性 xi取值连续
线性规划模型
A1,A2每公斤的获利是与各 自产量无关的常数 每桶牛奶加工出A1,A2的数量 和时间是与各自产量无关的常 数 A1,A2每公斤的获利是与相 互产量无关的常数 每桶牛奶加工出A1,A2的数量和 时间是与相互产量无关的常数 加工A1,A2的牛奶桶数是实数
x2 A
l1 B l2 C Z=3600 l3
Max z 72 x1 64 x2
z=c (常数) ~等值线
0
l5
Z=0
x1 D Z=2400
在B(20,30)点得到最优解 最优解一定在凸多边 形的某个顶点取得。
目标函数和约束条件是线性函数 可行域为直线段围成的凸多边形 目标函数的等值线为直线
假设:料场 和工地之间 有直线道路
1)现有 2 料场,位于 A (5, 1), B (2, 7), 记(xj,yj),j=1,2, 日储量 ej 各有 20 吨。
目标:制定每天的供应计划,即从 A,
B 两料场分别 向各工地运送多少吨水泥,使总的吨公里数最小。
优化建模
决策变量:ci j (料场j到工地i的 运量)~12维 线性规划模型(LP) 用例中数 据计算, 最优解为
优化建模
LP其他算法
内点算法(Interior point method)
• 20世纪80年代人们提出的一类新的算法——内点算法 • 也是迭代法,但不再从可行域的一个顶点转换到另一个 顶点,而是直接从可行域的内部逼近最优解。
有效集(Active Set)方法
• LP是QP的特例(只需令所有二次项为零即可) • 可以用QP的算法解QP(如: 有效集方法)
若选择队员i参加泳姿j 的比赛,记xij=1, 否则记xij=0
目标 函数
约束 条件
Min Z cij xij
j 1 i 1
4
5
0-1规划: 整数规划的特例
5
每人最多入选泳姿之一
每种泳姿有且只有1人
x
j 1
4
ij
1, i 1,5
x
i 1
ij
1, j 1, 4
优化建模
局部最优解与整体最优解
f(x)
x1
* o x2
x
• 局部最优解 (Local Optimal Solution, 如 x1 ) • 整体最优解 (Global Optimal Solution, 如 x2 )
优化建模
优化模型的 简单分类
数学规划 连 续 优 化 离 散 优 化
min s.t.
优化建模
1. 优化模型的基本概念
优化建模
优化模型和算法的重要意义
最优化: 在一定条件下,寻求使目标最大(小)的决策 最优化是工程技术、经济管理、科学研究、社 会生活中经常遇到的问题, 如: 结构设计 资源分配 生产计划 运输方案
解决优化问题的手段
• 经验积累,主观判断
• 作试验,比优劣 • 建立数学模型,求解最优策略
优化建模
模型求解
x1 x2 50
图解法
约 l2 : 12 x1 8x2 480 束 12 x1 8x2 480 l4 条 3x1 100 l3 : 3x1 100 件 c l4 : x1 0, l5 : x2 0 x1 , x2 0 目标 函数
l1 : x1 x2 50
整数规划问题 min xZ n 一般形式
f ( x)
优化建模
s.t.
hi ( x) 0, i 1,..., m g j ( x) 0, j 1,..., l
整数规划问题的分类
• 整数线性规划(ILP) 目标和约束均为线性函数 • 整数非线性规划(NLP) 目标或约束中存在非线性函数 • 纯(全)整数规划(PIP) 决策变量均为整数 • 混合整数规划(MIP) 决策变量有整数,也有实数 • 0-1规划 决策变量只取0或1
优化建模
LP的约束和目标函数均为线性函数 2维 可行域 线段组成的凸多边形 目标函数 等值线为直线 n维 超平面组成的凸多面体 等值线是超平面
最优解 凸多边形的某个顶点
求解LP的基本思想
凸多面体的某个顶点
思路:从可行域的某一顶点开始,只需在有限多个 顶点中一个一个找下去,一定能得到最优解。
LP的通常解法是单纯形法(G. B. Dantzig, 1947)
优化建模
线性规划模型的解的几种情况
线性规划问题
有可行解(Feasible)
无
可 行 解 (Infeasible)
有 最 优 解 ( Optimal )
无
最 优 (Unbounded)
解
优化建模
二次规划模型-例1.2:产销计划问题
某厂生产两个牌号的同一种产品,如何确定产量使利润最大
假设A 假设B
产销平衡
优化建模
目标
x1 , x2
利润最大
max z ( x1, x2 ) ( p1 q1) x1 ( p2 q2 ) x2
(100-x1-0.1 x2-2)x1 +(280-0.2x1-2x2-3)x2 =98 x1 + 277 x2 - x12 - 0.3 x1 x2 - 2x22 =
聘用方案
优化建模
整数规划
模型(IP)
优化建模
0-1规划 -混合泳接力队的选拔
例1.5: 5名候选人的百米成绩
蝶泳 仰泳 蛙泳 自由泳 甲 1’06”8 1’15”6 1’27” 58”6 乙 57”2 1’06” 1’06”4 53” 丙 1’18” 1’07”8 1’24”6 59”4 丁 1’10” 1’14”2 1’09”6 57”2 戊 1’07”4 1’11” 1’23”8 1’02”4
3 0 4
4 7 0
5 0 6
6 1 10
总吨公里数为Βιβλιοθήκη 36.2选址问题:NLP优化建模
2)改建两个新料场,需要确定新料场位置(xj,yj)和 运量cij ,在其它条件不变下使总吨公里数最小。
min
j 1 i 1 2
2
6
cij [( x j ai ) 2 ( y j bi ) 2 ]1 / 2
约束
x1 + x2 ≤100 x1 ≤ 2 x2 x1 , x2 ≥ 0
二次规划模型(QP)
若还要求产量为整数,则是整数二次规划模型(IQP)
优化建模
非线性规划模型-例1.3:选址问题
某公司有6个建筑工地,位置坐标为(ai, bi) (单位:公里), 水泥日用量di (单位:吨)
i a b d 1 1.25 1.25 3 2 8.75 0.75 5 3 0.5 4.75 4 4 5.75 5 7 5 3 6.5 6 6 7.25 7.75 11
优化建模
整数规划问题对应的松弛问题
f ( x) hi ( x) 0, i 1,..., m g j ( x) 0, j 1,..., l x D n
• 线性规划(LP) 目标和约束均为线性函数 • 非线性规划(NLP) 目标或约束中存在非线性函数 二次规划(QP) 目标为二次函数、约束为线性 • 整数规划(IP) 决策变量(全部或部分)为整数 整数线性规划(ILP),整数非线性规划(INLP) 纯整数规划(PIP), 混合整数规划(MIP) 一般整数规划,0-1(整数)规划
优化建模
优化问题的一般形式
优化问题三要素:决策变量;目标函数;约束条件 目标函数 约 束 条 件
min s.t.
决策变量
f ( x) hi ( x) 0, i 1,..., m g j ( x) 0, j 1,..., l xD
n
• 无约束优化(没有约束)与约束优化(有约束) • 可行解(只满足约束)与最优解(取到最优值)
制订生产计划,使每天获利最大 • 35元可买到1桶牛奶,买吗?若买,每天最多买多少? • 可聘用临时工人,付出的工资最多是每小时几元? • A1的获利增加到 30元/公斤,应否改变生产计划?
优化建模
1桶 牛奶 或
12小时
3公斤A1
4公斤A2
获利24元/公斤
获利16元/公斤
8小时 每天 50桶牛奶 时间480小时 至多加工100公斤A1 决策变量 x1桶牛奶生产A1 x2桶牛奶生产A2