lingo解决规划问题——数学建模

合集下载

数学建模必备知识——lingo处理实例(多目标问题)

数学建模必备知识——lingo处理实例(多目标问题)

一个简单的LINGO程序
LINGO的基本用法的几点注意事项
•LINGO中不区分大小写字母;变量和行名可以超过8个字符,但 不能超过32个字符,且必须以字母开头。 •用LINGO解优化模型时已假定所有变量非负(除非用限定变量取 值范围的函数@free或@BND另行说明)。 •变量可以放在约束条件的右端(同时数字也可放在约束条件的左 端)。但为了提高LINGO求解时的效率,应尽可能采用线性表达 式定义目标和约束(如果可能的话)。 •语句是组成LINGO模型的基本单位,每个语句都以分号结尾,编 写程序时应注意模型的可读性。例如:一行只写一个语句,按照 语句之间的嵌套关系对语句安排适当的缩进,增强层次感。 •以感叹号开始的是说明语句(说明语句也需要以分号结束))。
LINGO中定义集合及其属性
LP模型在LINGO中的一个典型输入方式
以“MODEL:”开 始


集合定义部分从 (“SETS:”到 “ENDSETS” ): 定义集合及其属性 给出优化目标 和约束 集合定义部分从 (“DATA:”到 “ENDDATA” )
以“END”结 束
目标函数的定义方式 @SUM(集合(下标):关于集合的属性的表达式) 对语句中冒号“:”后面的表达式,按照“:”前 面的集合指定的下标(元素)进行求和。 本例中目标函数也可以等价地写成
LINGO软件的基本使用方法
内容提要
1. LINGO入门 2.在LINGO中使用集合
3. 运算符和函数
4. LINGO的主要菜单命令 5. LINGO命令窗口
6.习题
1. LINGO入门 2.在LINGO中使用集合
3. 运算符和函数
1. LINGO入门 4. LINGO的主要菜单命令 5. LINGO命令窗口

Lingo软件与数学建模

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规划(线性规划)

线性规划问题的Lingo求解

线性规划问题的Lingo求解

Lingo中参数设置与调整
01
参数设置
02
调整策略
Lingo允许用户设置求解器的参数, 如求解方法、迭代次数、收敛精度等 。这些参数可以通过`@option`进行 设置。
如果求解过程中遇到问题,如无解、 解不唯一等,可以通过调整参数或修 改模型来尝试解决。常见的调整策略 包括放松约束条件、改变目标函数权 重等。
02
比较不同方案
03
验证求解结果
如果存在多个可行解,需要对不 同方案进行比较,选择最优方案。
可以通过将求解结果代入原问题 进行验证,确保求解结果的正确 性和合理性。
感谢您的观看
THANKS
问题,后面跟随线性表达式。
02 03
约束条件表示
约束条件使用`subject to`或简写为`s.t.`来引入,后面列出所有约束条 件,每个约束条件以线性表达式和关系运算符(如`<=`, `>=`, `=`, `<`, `>`)表示。
非负约束
默认情况下,Lingo中的变量是非负的,如果变量可以为负,需要使用 `@free`进行声明。
问题的解通常出现在约束条件的边界上 。
变量通常是连续的。
特点 目标函数和约束条件都是线性的。
线性规划问题应用场景
生产计划
确定各种产品的最优生产量, 以最大化利润或最小化成本。
资源分配
在有限资源下,如何最优地分 配给不同的项目或任务。
运输问题
如何最低成本地将物品从一个 地点运输到另一个地点。
金融投资
03
求解结果
通过Lingo求解,得到使得总加工时间最短的生产计划安 排。
运输问题优化案例
问题描述
某物流公司需要将一批货物从A地运往B地,可以选择不同的运输方式和路径,每种方式和路径的运输时间和成本不 同。公司需要在满足货物送达时间要求的前提下,选择最优的运输方式和路径,使得总成本最低。

《数学建模》实验指导_03_Lingo求解线性规划问题

《数学建模》实验指导_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求解线性规划问题

用lingo求解线性规划问题中国石油大学胜利学院程兵兵摘要食物营养搭配问题是现代社会中常见的问题,其最终的目的是节省总费用.本文通过对营养问题的具体剖析.构建了一般的线性规划模型。

并通过实例应用Lingo数学软件求解该问题.并给出了价值系数灵敏度分析,得出蔬菜价格的变动对模型的影响.关键词线性规划,lingo,灵敏度分析。

一、问题重述与分析营养师要为某些特殊病人拟订一周的菜单,可供选择的蔬菜及其费用和所含营养成分的数量以及这类病人每周所需各种营养成分的最低数量如下表1所示。

有以下规定:一周内所用卷心菜不多于2份,其他蔬菜不多于4份。

问题一:若病人每周需要14份蔬菜,问选用每种蔬菜各多少份,可使生活费用最小.问题二:当市场蔬菜价格发生怎样波动时,所建模型的适用性。

表 1 所需营养和费用营养搭配是一个线性规划问题,在给定蔬菜的情况下,要求菜单所需的营养成分必须达到要求,并在此条件下求出什么样的搭配所花费的费用最少.第一个要求是满足各类营养的充足,根据表中数据列出不等式。

第二要求为问题一中,蔬菜的份数必须为14,第三要求为在一周内,卷心菜不多于2份,其他不多于4份,根据以上条件列出各类蔬菜份数的限定条件,并可表示出费用的表达式.对于第二问,就是价值系数的变化对总费用的影响,模型的适用范围。

三、模型假设第一,假设各蔬菜营养成分保持稳定,满足题干要求。

第二,假设各蔬菜价格在一定时间内保持相对稳定。

第三,假设各类蔬菜供应全部到位,满足所需要求量. 第四,假设所求出最优解时不要求一定为整数。

四、符号约定(1)Z 代表目标函数,此题即为费用。

(2)i c 为价值系数,此题即为每份蔬菜的价格。

下标i 代表蔬菜的种类。

(3)i x 为决策变量,表示各种蔬菜的数量。

(4)i b 为最低限定条件,表示蔬菜最低营养需要。

五、模型建立根据以上各种假设和符号约定,建立模型如下。

所求的值就是min,也就是最优化结果.s 。

数学建模lingo作业-习题讲解

数学建模lingo作业-习题讲解

基础题:1.目标规划问题最近,某节能灯具厂接到了订购16000套A 型和B 型节能灯具的订货合同,合同中没有对这两种灯具的各自数量做要求,但合同要求工厂在一周内完成生产任务并交货。

根据该厂的生产能力,一周内可以利用的生产时间为20000min ,可利用的包装时间为36000min 。

生产完成和包装一套A 型节能灯具各需要2min ;生产完成和包装完成一套B 型节能灯具各需要1min 和3min 。

每套A 型节能灯成本为7元,销售价为15元,即利润为8元;每套B 型节能灯成本为14元,销售价为20元,即利润为6元。

厂长首先要求必须按合同完成订货任务,并且即不要有足量,也不要有超量。

其次要求满意销售额达到或者尽量接近275000元。

最后要求在生产总时间和包装总时间上可以有所增加,但过量尽量地小。

同时注意到增加生产时间要比包装时间困难得多。

试为该节能灯具厂制定生产计划。

解:将题中数据列表如下:根据问题的实际情况,首先分析确定问题的目标级优先级。

第一优先级目标:恰好完成生产和包装完成节能灯具16000套,赋予优先因子p1;第二优先级目标:完成或者尽量接近销售额为275000元,赋予优先因子p2; 第三优先级目标:生产和包装时间的增加量尽量地小,赋予优先因子p3; 然后建立相应的目标约束。

在此,假设决策变量12,x x 分别表示A 型,B 型节能灯具的数量。

(1) 关于生产数量的目标约束。

用1d -和1d +分别表示未达到和超额完成订货指标16000套的偏差量,因此目标约束为1111211min ,..16000z d d s t x x d d -+-+=+++-=要求恰好达到目标值,即正、负偏差变量都要尽可能地小(2) 关于销售额的目标约束。

用2d -和2d +分别表示未达到和超额完成满意销售指标275000元的偏差值。

因此目标约束为221222min ,..1520-275000.z d s t x x d d --+=++=要求超过目标值,即超过量不限,但必须是负偏差变量要尽可能地小,(另外:d +要求不超过目标值,即允许达不到目标值,就是正偏差变量要尽可能地小) (3) 关于生产和包装时间的目标约束。

利用LINGO软件解决数学建模问题

利用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)

数学建模值班lingo例题和答案

数学建模值班lingo例题和答案

数学建模值班lingo例题和答案
例1
某工厂有两条生产线,分别用生产M和P两种型号的产品,利润分别为200元/个和300元/个,生产线的最大生产能力分别为每日100和 120,生产线每生产一个M产品需要1个劳动日(1个工人工作8小时成为1个劳动日)进行调试、检测等工作,而每个P产品需要2个劳动日,该厂工人每天共计能提供160劳动日,假如原材料等其他条件不受限制,问应如何安排生产计划,才能使获得的利润最大?
解:设两种产品的生产量分别为x和x,则
目标函数max z = 200x +300x,
例2
生产计划安排问题(@if函数的应用)。

某企业用A,B两种原油混合加工成甲、乙两种成品油销售。

数据见下表,表中百分比是成品油中原油A的最低含量。

成品油甲和乙的销售价与加工费之差分别为5和5.6(单位:千元/吨),原油A,B的采购价分别是采购量x(单位:吨)的分段函数
f(x)和g(x)(单位:千元/吨),该企业的现有资金限额为7200(千元),生产成品油乙的最大能力为2000吨。

假设成品油全部能销售出去,试在充分利用现有资金和现有库存的条件下,合理安排采购和生产计划,使企业的收益最大。

解:设原油A,B的采购量分别为x, y,原油A用于生产成品油甲、乙的数量分别为x,,原油B用于生产成品油甲、乙的数量分别为x1,x,则采购原油
A,B的费用分别为f(x)和g(x),目标函数是收益最大,约束条件有采购量约束,生产能力约束、原油含量约束、成品油与原油的关系、资金约束。

建立规划模型如下:
max z = 5(X1+x1)+5.6(X2+x2)- f(x)-g(x)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
N 6.000000
S 19.00000
X( 1) 5.000000
X( 2) 1.000000
X( 3) 3.000000
X( 4) 4.000000
X( 5) 6.000000
X( 6) 10.00000
Row Slack or Surplus
1 0.000000
3.结果
Feasible solution found.
Row Slack or Surplus
1 0.000000
2 0.000000
六、实验总结(对实验结果进行分析,总结实验过程中的问题与收获)
1.操作不够成熟,使用经常出错
2.在学习的过程中不断翻阅书籍,更快的学会
3.上网浏览了许多的例子裁才逐渐掌握
附录:程序代码(指出使用的软件工具)
1.model:
end
五、实验结果(数据,几何图形,截图,须作必要的文字说明及适当排版)
1.结果
Feasible solution found.
Total solver iterations: 0
Variable Value
X( 1) 1.000000
X( 2) 4.000000
X( 3) 9.000000
X( 4) 16.00000
X( 1) 5.000000
X( 2) 1.000000
X( 3) 3.000000
X( 4) 4.000000
X( 5) 6.000000
X( 6) 10.00000
Row Slack or Surplus
1 0.000000
3.model:
data:
N=6;
enddata
sets:
number/1..N/:x;
sets:
number/1..5/:x;
endsets
@for(number(I): x(I)=I^2);
end
结果:Feasible solution found.
Total solver iterations: 0
Variable Value
X( 1) 1.000000
X( 2) 4.000000
数学建模与创新实验室实验报告
课程名称:数学模型与数学实验专业:数学教育
实验题目
lingo解决规划问题
学生姓名
学号
班级
指导教师
实验日期
成绩
一、实验目的与要求:
(1)了解线性规划模型的标准形式,知道非线性规划的几种求解方法;
(2)掌握用Lingo软件求解多目标线性规划模型的方法.
二、实验原理:
(1)用状态转移矩阵建立初级模型;
X( 5) 25.00000
Row Slack or Surplus
1 0.000000
2 0.000000
3 0.000000
4 0.000000
5 0.000000
2.结果
Feasible solution found.
Total solver iterations: 0
Variable Value
Total solver iterations: 0
Variable Value
N 6.000000
MINV 1.000000
MAXV 10.00000
X( 1) 5.000000
X( 2) 1.000000
X( 3) 3.000000
X( 4) 4.000000
X( 5) 6.000000
X( 6) 10.00000
Variable Value
N 6.000000
MINV 1.000000
MAXV 10.00000
X( 1) 5.000000
X( 2) 1.000000
X( 3) 3.000000
X( 4) 4.000000
X( 5) 6.000000
X( 6) 10.00000
Row Slack or Surplus
endsets
data:
x = 5 1 3 4 6 10;
enddata
minv=@min(number(I)|I #le# 5: x);
maxv=@max(number(I)|I #ge# N-2: x);
end
结果:Feasible solution found.
Total solver iterations: 0
X( 3) 9.000000
X( 4) 16.00000
X( 5) 25.00000
Row Slack or Surplus
1 0.000000
2 0.000000
3 0.000000
4 0.000000
5 0.000000
2.model:
data:
N=6;
enddata
sets:
numbeห้องสมุดไป่ตู้/1..N/:x;
1 0.000000
2 0.000000
(2)用多目标线性规划建立分层优化模型,利用Lingo软件求解;
(3)对优化模型进行评价和改进;
(4)对软件的处理结果进行分析。
三、实验内容(输入题目内容.若来源于教材,写出教材中的页码题号):
1.
2.求向量[5,1,3,4,6,10]前5个数的和
3.求向量[5,1,3,4,6,10]前5个数的最小值,后3个数的最大值
四、实验步骤:
1.model:
sets:
number/1..5/:x;
endsets
@for(number(I): x(I)=I^2);
end
2.model:
data:
N=6;
enddata
sets:
number/1..N/:x;
endsets
data:
x= 5 1 3 4 6 10;
enddata
s=@sum(number(I)| I #le# 5: x);
end
3.model:
data:
N=6;
enddata
sets:
number/1..N/:x;
endsets
data:
x = 5 1 3 4 6 10;
enddata
minv=@min(number(I)|I #le# 5: x);
maxv=@max(number(I)|I #ge# N-2: x);
endsets
data:
x= 5 1 3 4 6 10;
enddata
s=@sum(number(I)| I #le# 5: x);
end
结果:Feasible solution found.
Total solver iterations: 0
Variable Value
N 6.000000
S 19.00000
相关文档
最新文档