文档库 最新最全的文档下载
当前位置:文档库 › 数学建模与lingo软件使用

数学建模与lingo软件使用

数学建模与lingo软件使用
数学建模与lingo软件使用

东北大学秦皇岛分校

数学建模课程设计报告

生产、库存与设备维修综合计划

的优化安排

学院数学与统计学院

专业数学与应用数学

学号7110402

姓名崔冰洁

指导教师

成绩

教师评语:

指导教师签字:

2014年7月9日

1 绪论

线性规划是运筹学中研究较早、发展较快、应用广泛、方法较成熟的一个重要分支,它是辅助人们进行科学管理的一种数学方法。研究线性约束条件下线性目标函数的极值问题的数学理论和方法,英文缩写LP。它是运筹学的一个重要分支,广泛应用于军事作战、经济分析、经营管理和工程技术等方面。为合理地利用有限的人力、物力、财力等资源做出的最优决策,提供科学的依据。

在经济生活中,一个公司库存、生产、销售量要受限于与公司设备的生产能力,如何确定最优的生产库存等计划,可以使用线性规划的知识进行数学模型的建立并通过数学软件进行求解。

将库存金额控制在合理水准,是每个公司都期望的,这样的话可以将运营成本降到最低,让现金流动起来。就是要合理处理好生产、库存与设备维修综合计划的优化安排。在保证企业生产、经营需求的前提下,合理处理好生产、设备维修综合计划的优化安排。使库存量经常保持在合理的水平上;掌握库存量动态,适时,适量提出订货,避免超储或缺货;减少库存空间占用,降低库存总费用;控制库存资金占用,加速资金周转

2 LINGO软件简介

LINGO是Linear Interactive and General Optimizer的缩写,即“交互式的线性和通用优化求解器”,由美国LINDO系统公司推出的,可以用于求解非线性规划,也可以用于一些线性和非线性方程组的求解等,功能十分强大,是求解优化模型的最佳选择。其特色在于内置建模语言,提供十几个内部函数,可以允许决策变量是整数(即整数规划,包括 0-1 整数规划),方便灵活,而且执行速度非常快。能方便与EXCEL,数据库等其他软件交换数据。

3 数学模型建立与求解

3.1问题:

某工厂有以下设备:4台磨床、2台立钻、3台水平钻、1台镗床和1台刨床。已知生产单位各种产品所需的有关设备台时以及他们的利润如表所示:

1台立钻,5月1台磨床和1台立钻,6月1台刨床和1台水平钻,被维修的设备当月不能安排生产。又知从 1—6月市场对上述7中产品最大需求量如下表:

均不能超过100件。1月初无库存,要求6月末各种产品各储存50件。若该工厂每月工作24天,每天两班,每班8小时,要求

(1)该厂如何安排生产,使总利润最大;

(2)若对设备维修只规定每台设备在 1—6 月份内均需安排1个月用于维修(其中4 台磨床只需安排2 台在上半年维修),时间可灵活安排。重新为该厂确定一个最优的设备维修计划。

3.2分析问题

对于问题(1),我们所要解决的是在生产设备有限并得知产品最大需求量的情况下,

牟求最大的利润。通过分析问题(1),我们从以下两条思路着手即每件产品需多少台不同设备台时,然后建立线性规划模型,其目标函数是根据总利润=各产品的销售数量?各产品的单件利润—库存费用,最后通过仔细分析题中所含条件,再一一列举出约束条件,据此我们制定出了最优生产方案。此问题得到解决的关键如下:

目标函数的确立:由总利润=各产品的销售数量?各产品的单件利润-库存费用,得到目标函数;

找出约束条件:此线性规划模型,是在考虑到每种产品都需要多种设备加工的基础上,另外由于生产设备有限,所以各生产产品的生产量受设备的可用台时的限制,同时还已知了各产品的最大需求量,据此可得出台时约束方程与需求约束方程;另外,题中还规定了任何时候每种产品的存储量不超过100 件,一月初无库存,6 月末各产品各存储50 件,由此可得出3个约束方程;最后,根据各月各产品生产数量,各月各产品库存量=各月各产品最大需求量,可得另一约束方程;在模型(2)中,是在考虑每种产品都需要各种设备加工的基础上建立起来的,约束条件为库存量的限制,生产量、销售量及库存量之间的关系,工作时间的限制,同样也是线性规划模型。

模型求解:编写程序,尽量简洁有效,用 Lingo 软件进行求解;

结果分析:讨论分析模型的优缺点,找出模型可改进的方向。对于问题(2),要求重新为该厂确定一个最优的设备维修计划,规定每台设备在1—6 月份内均需安排1个月用于维修(其中4台磨床只需安排2台在上半年维修),这是一个最优排序问题,现在我们考虑的问题化为如何维修9 台设备,确定出最优维修次序,使得在六个月里得到的总利润最大,这一问题的解决只需在问题(1)的解决方案上稍加分析,创新便可得到。

3.2建立模型

由题意可以知道:机器的维修台数和月份的关系,如图所示:

设i 品j 月产量,销售量,库存量分别是,ij X ,ij Y ,ij K

由上述题目可以知道,每台机器的最大生产与月份的关系: 最大生产时间=天数*每天工作时间*机器台数如表所示:

约束条件一:

对任意的j ,有ij ij ij X -Y =K ,i=1,2,3,4,5,6,7

约束条件二:

ij 0K 100 ≤≤

约束条件三:

11Y 500≤,12Y 600≤,13Y 300≤,14Y 200≤,15Y 0≤,16Y 50≤ 21Y 1000≤,22Y 500≤,23Y 600≤,24Y 300≤,25Y 100≤,26Y 500≤ 31Y 300≤,32Y 200≤,33Y 0≤,34Y 400≤,35Y 500≤,36Y 100≤

41Y 300≤,42Y 0 ≤,43Y 0≤,44Y 500 ≤,45Y 100≤,46Y 300≤

51Y 800≤,52Y 400≤,53Y 500≤,54Y 200≤,55Y 1000≤,56Y 1100≤

61Y 200≤,62Y 300≤,63Y 400≤,64Y 0≤,65Y 300≤,66Y 500≤ 71Y 100≤,72Y 150≤,73Y 100≤,74Y 100≤,75Y 0≤,76Y 60≤

,其中ij Y 0≥且ij Y 是整数。

约束条件四: 磨床与时间的关系:

11215161711222526272132353637314245464741525550.5X +0.7X +0.3X +0.2X +0.5X 2483 2 0.5X +0.7X +0.3X +0.2X +0.5X 2483 2 0.5X +0.7X +0.3X +0.2X +0.5X 2484 2 0.5X +0.7X +0.3X +0.2X +0.5X 248420.5X +0.7X +0.3X +0.2X ≤???≤???≤???≤???65751626566676+0.5X 2483 2 0.5X +0.7X +0.3X +0.2X +0.5X 24842

≤???≤???

立钻与时间关系

11214161122242621323436314244464152545651626460.1X +0.2X +0.3X +0.6X 2482 2 0.1X +0.2X +0.3X +0.6X 2482 2 0.1X +0.2X +0.3X +0.6X 2482 2 0.1X +0.2X +0.3X +0.6X 24820.1X +0.2X +0.3X +0.6X 248 2 0.1X +0.2X +0.3X ≤???≤???≤???≤??≤??66+0.6X 24822

≤???

水平钻与时间关系:

1131711232721333731434741535751636760.2X +0.8X +0.6X 2482 3 0.2X +0.8X +0.6X 24820.2X +0.8X +0.6X 2482 3 0.2X +0.8X +0.6X 2482 3 0.2X +0.8X +0.6X 2482 3 0.2X +0.8X +0.6X 24822

≤???≤??≤???≤???≤???≤???

镗床与时间关系:

112141517112224252721323435373142444547415250.05X +0.03X +0.07X +0.1X +0.08X 248 2

0.05X +0.03X +0.07X +0.1X +0.08X 248 2 0.05X +0.03X +0.07X +0.1X +0.08X 0 0.05X +0.03X +0.07X +0.1X +0.08X 248 2 0.05X +0.03X +0.07X ≤??≤??≤≤??4555751626465676+0.1X +0.08X 248 2 0.05X +0.03X +0.07X +0.1X +0.08X 2482

≤??≤??

刨床与时间关系:

3151713252723353733454743555753656760.01X +0.05X +0.05X 2828 2 0.01X +0.05X +0.05X 2828 2 0.01X +0.05X +0.05X 2828 2 0.01X +0.05X +0.05X 2828 2 0.01X +0.05X +0.05X 2828 2 0.01X +0.05X +0.05X 0

≤???≤???≤???≤???≤???≤

3.3模型求解

由上述所设的变量可知:目标函数是:maxZ

666666676

1j 2j 3j 4j 5j 6j 7j 1

1

1

1

1

1

1

11

Z=100Y 60Y 80Y 40Y 110Y 90Y 30Y 5ij j i K ==++++++-∑∑∑∑∑∑∑∑∑

由题中从1月到6月的维修计划可知工作矩阵:

3444342221123

133321101111

11110it d ??

??????=????

??

????

由已知数据可知第i 种设备生产第j 种产品消耗的台时矩阵:

0.5

0.10.20.05

00.70.200.030000.800.010

0.300.0700.3000.10.050.20.60000.5

00.60.080.05ij c ??

??????

??

=????

??

??

??

??

第t 个月对第j 种产品的最大需求量矩阵:

5006003002000

50010005006003001005003002000400500100300

00500100300800400500200100011002003004000300500100

150100

100060jt a ??

??????

??

=????

??

??

??

??

由七种产品的单件利润可得:[]1006080401109030j b =

软件求解:根据已得出的目标函数,以及各约束条件,用lingo 软件求解该线性规划模型,具体公式如下:

666666676

1j 2j 3j 4j 5j 6j 7j 1

1

1

1

1

1

1

11

Z=100Y 60Y 80Y 40Y 110Y 90Y 30Y 5ij j i K ==++++++-∑∑∑∑∑∑∑∑∑

7

1

111,162416(1,2,3...7,1)(2).10050jt jt it j j j j jt j t jt jt jt jt jt j x c d h x s j t h h x s t s t s a h h =-?

?=???

?

?=-==?

=+-≥??≤?

≤?

?=?

∑ 用lingo 软件编程: model: sets:

product/1..7/:b,m; month/1..6/; machine/1..5/;

link1(product,month):a,h,x,s; link2(machine,month):d; link3(product,machine):c; endsets

data:

b=100 60 80 40 110 90 30;

m=5;

a=500 600 300 200 0 500

1000 500 600 300 100 500

300 200 0 400 500 100

300 0 0 500 100 300

800 400 500 200 1000 1100

200 300 400 0 300 500

100 150 100 100 0 60;

d=1152 1536 1536 1536 1152 1536

768 768 768 384 384 768

1152 384 1152 1152 1152 768

384 384 0 384 384 384 384

384 384 384 384 0;

c=0.5 0.1 0.2 0.05 0

0.7 0.2 0 0.03 0

0 0 0.8 0 0.01 0

0.3 0 0.07 0 0.3 0 0 0.1 0.05

0.2 0.6 0 0 0

0.5 0 0.6 0.08 0.05;

enddata

max=@sum(product(j):b(j)*@sum(month(t):s(j,t)))-@sum(link1( j,t):h(j,t)*m(j)); @for(product(j):h(j,1)=x(j,1)-s(j,1));

@for(link1(j,t)|t#gt#1:h(j,t)=h(j,t-1)+x(j,t)-s(j,t));

@for(link1(j,t):h(j,t)<=100);

@for(link1(j,t)|t #eq# 6:h(j,t)=50);

@for(link2(i,t):@sum(product(j):x(j,t)*c(j,i))<=d);

@for(link1(j,t):s(j,t)<=a(j,t)); @for(link1:@gin(x));

end

求得最大利润为 937115 元,其各产品的生产计划表,库存量表,销售量表如下:

六个月的各产品生产计划

没变的是维修台数不变,要求我们安排最优的维修计划,这里我们先不考虑维修,将设

备看成都能在每个月进行生产,得到未维修矩阵记作全 d 全,则

4

23114231142311=42311423114

2311d ?????????

?

????

??

??

由于维修各种设备的台数不变,我们不妨将问题(1)中的维修矩 阵拿下来进行比较观察,

3444342221123

133321101111

11110it d ??

??????=????

??

????

我们不难发现维修矩阵的每一列之和等于未维修矩阵每一列之和 减去此列所代表的设备需要维修的设备台数。下面根据这个条件对在问题(1)中建立的模型进行适当的改进即可得到最优维修矩阵。 目标函数不变:

666666676

1j 2j 3j 4j 5j 6j 7j 1

1

1

1

1

1

1

11

Z=100Y 60Y 80Y 40Y 110Y 90Y 30Y 5ij j i K ==++++++-∑∑∑∑∑∑∑∑∑

7

1

111,166

11621631641651

2416(1,2,3...7,1)(2)1005022.101555jt jt it j j j j jt j t jt jt jt jt jt j t t t t t x c d h x s j t h h x s t s a h h d s t d d d d =-?

?=???

?

?=-==?

=+-≥??≤?

≤?

?=?

??=???=???=???=???=??∑∑∑∑∑∑ 利用lingo 编程, model: sets:

product/1..7/:b,m;

month/1..6/;

machine/1..5/;

link1(product,month):a,h,x,s;

link2(machine,month):d;

link3(product,machine):c;

endsets

data:

b=100 60 80 40 110 90 30;

m=5;

a=500 600 300 200 0 500

1000 500 600 300 100 500

300 200 0 400 500 100

300 0 0 500 100 300

800 400 500 200 1000 1100

200 300 400 0 300 500

100 150 100 100 0 60;

c=0.5 0.1 0.2 0.05 0

0.7 0.2 0 0.03 0

0 0 0.8 0 0.01

0 0.3 0 0.07 0

0.3 0 0 0.1 0.05

0.2 0.6 0 0 0

0.5 0 0.6 0.08 0.05;

enddata

max=@sum(product(j):b(j)*@sum(month(t):s(j,t)))-@sum(link1( j,t):h(j,t)*m(j)); @for(product(j):h(j,1)=x(j,1)-s(j,1));

@for(link1(j,t)|t#gt#1:h(j,t)=h(j,t-1)+x(j,t)-s(j,t));

@for(link1(j,t):h(j,t)<=100);

@for(link1(j,t)|t #eq# 6:h(j,t)=50);

@for(link2(i,t):

@sum(product(j):x(j,t)*c(j,i))<=384*d(i,t)); @sum(month(t):d(1,t))=22; @sum(month(t):d(2,t))=10; @sum(month(t):d(3,t))=15; @sum(month(t):d(4,t))=5; @sum(month(t):d(5,t))=5;

@for(link1(j,t):s(j,t)<=a(j,t)); @for(month(t):@bnd(2,d(1,t),4)); @for(month(t):@bnd(0,d(2,t),2)); @for(month(t):@bnd(0,d(3,t),3)); @for(month(t):@bnd(0,d(4,t),1)); @for(month(t):@bnd(0,d(5,t),1)); @for(link2:@gin(d)); end

由运行结果可得到最大利润为1088550 元,得到的最优维修矩阵

423114231142111=20200423114

2

3

1

1d ?????????

?????????

it 每个月每种产品在最优维修矩阵下的生产量

最优维修矩阵中得出要维修的设备在哪个月维修,在实际中注意便可避免维修同一台,所

以这种解法可行。

3.5结果分析

文中变量比较多,但是基本假设合理,所建模型数学推导比较严谨,理论可靠,逻辑严密,而且易于理解,但由于市场的不稳定性,产品的利润及需求量存在着不确定性,故可能产生一些误差,误差大小与市场经济的稳定性有关,另外,软件和计算机的精度也会导致产生误差。

结论

当今社会的各个领域,都存在着不同类型的优化问题,而在企业生产中,在一定条件下,最大利润生产方案和最优设备维修方案显得尤为重要,根据现实条件调整该模型对企业生产、设备维修将有很大的帮助;通过合理的数据处理,将题中表格的数据及所需数据转换为矩阵形式,便于理解、分析和求解。

同时,模型也存在着一些缺点:主要是没有很好地联系经济来讨论,模型中涉及的单件产品利润只是个大概,存在着一定的误差,另外,本题没有考虑维修各台设备的成本,及设备是否在规定的时间里能完全修好等等。要建立较好的能适应于社会生产和设备维修的模型,应考虑诸多因素,以及一些其它的细节,能做到这些,所建立的模型将更适应现实社会。

参考文献

[1]姜启源数学模型(第四版)高等教育出版社,2011

[2]胡运权运筹学教程(第四版)清华大学出版社,2012

优化模型讲解 附LINGO程序

数学建模培训讲义 ——优化模型与LINGO软件 二○一一年七 目录 1 静态优化模型 (1) 1.1 最优生产计划问题 (1) 1.2 存贮模型 (2) 2 线性规划模型 (2) 2.1 LINGO简介 (2) 2.2 配料问题 (3) 2.3 练习:运输问题 (4) 3 整数规划模型 (4) 3.1 电影院广告问题 (4) 3.2 练习:生产计划问题 (5) 4 0-1规划 (5) 4.1 背包问题 (5) 4.2 矿井选址问题 (6) 4.3 练习:混合泳接力队的选拔问题 (7) 5 LINGO应用 (8) 5.1 变量定界函数 (8) 5.2 集合 (8) 5.3 帆船生产问题 (9)

5.4 派生集合 (11) 5.5 通过电子表格(Excel)文件传递数据 (12) 5.6 旅游问题 (13)

优化模型与LINGO 软件 优化问题是计划管理工作中经常要碰到的问题,比如,出门旅行就要考虑选择什么样的路线和交通工具,才能使旅行费用最省或使所花费的时间最少。在工厂技术、经济管理和科学研究等领域中,最优化问题就更多,一个工厂要怎样安排产品的生产,才能获得最大利润?一个设计部门要考虑在满足结构强度的要求下怎样使得所用的材料的总重量最轻? 比较有效的求解优化问题的一个方法使数学规划,它包括:线性规划、非线性规划、整数规划、动态规划和多目标规划等等。 用数学建模的方法来处理一个优化问题的时候,首先要确定优化的目标是什么,寻求的决策是什么,决策受到哪些条件的限制(如果有限制的话),然后用数学工具(变量、函数等)表示它们。 1 静态优化模型 静态优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。 1.1 最优生产计划问题 一计算机公司引进A 、B 两种类型的芯片技术,总耗资400000元,准备生产这两种类型的芯片出售。生产一片A 芯片的成本为1950元,而市场售价为3390元,生产一片B 芯片的成本为2250元,而市场售价3990元。由于市场存在竞争,每售出一片A 芯片,A 芯片就会降价0.1元,并且令B 芯片降低0.04元,每售出一片B 芯片,B 芯片就会降价0.1元,并且令A 芯片降价0.03元。假设生产的芯片都能卖出,求一生产计划,以获得最大利润。 模型分析: 假设A 、B 两种芯片的数量分别是1x 和2x ,市场价格分别是1p 和2p ,用R 表示出售芯片的总收入,用C 表示生存芯片的总费用,用P 表示总利润。 根据题意,上述变量有如下关系: 11233900.10.03p x x =-- 21239900.040.1p x x =-- 1122R p x p x =+ 1240000019502250C x x =++ P R C =- 模型建立: 根据上述分析,可得优化模型

数学建模常用软件

数学建模常用软件有哪些哈 MatlabMathematicalingoSAS详细介绍:数学建模软件介绍一般来说学习数学建模,常用的软件有四种,分别是:matlab、lingo、Mathematica和SAS下面简单介绍一下这四种。 1.MA TLAB的概况MA TLAB是矩阵实验室(Matrix Laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多. 当前流行的MA TLAB 5.3/Simulink 3.0包括拥有数百个内部函数的主包和三十几种工具包(Toolbox).工具包又可以分为功能性工具包和学科工具包.功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能.学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类. 开放性使MATLAB广受用户欢迎.除内部函数外,所有MA TLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包. 2.Mathematica的概况Wolfram Research 是高科技计算机运算( Technical computing )的先趋,由复杂理论的发明者Stephen Wolfram 成立于1987年,在1988年推出高科技计算机运算软件Mathematica,是一个足以媲美诺贝尔奖的天才产品。Mathematica 是一套整合数字以及符号运算的数学工具软件,提供了全球超过百万的研究人员,工程师,物理学家,分析师以及其它技术专业人员容易使用的顶级科学运算环境。目前已在学术界、电机、机械、化学、土木、信息工程、财务金融、医学、物理、统计、教育出版、OEM 等领域广泛使用。Mathematica 的特色·具有高阶的演算方法和丰富的数学函数库和庞大的数学知识库,让Mathematica 5 在线性代数方面的数值运算,例如特征向量、反矩阵等,皆比Matlab R13做得更快更好,提供业界最精确的数值运算结果。·Mathematica不但可以做数值计算,还提供最优秀的可设计的符号运算。·丰富的数学函数库,可以快速的解答微积分、线性代数、微分方程、复变函数、数值分析、机率统计等等问题。·Mathematica可以绘制各专业领域专业函数图形,提供丰富的图形表示方法,结果呈现可视化。·Mathematica可编排专业的科学论文期刊,让运算与排版在同一环境下完成,提供高品质可编辑的排版公式与表格,屏幕与打印的自动最佳化排版,组织由初始概念到最后报告的计划,并且对txt、html、pdf 等格式的输出提供了最好的兼容性。·可与C、C++ 、Fortran、Perl、Visual Basic、以及Java 结合,提供强大高级语言接口功能,使得程序开发更方便。·Mathematica本身就是一个方便学习的程序语言。Mathematica提供互动且丰富的帮助功能,让使用者现学现卖。强大的功能,简单的操作,非常容易学习特点,可以最有效的缩短研发时间。 3.lingo的概况LINGO则用于求解非线性规划(NLP—NON—LINEAR PROGRAMMING)和二次规则(QP—QUARATIC PROGRAMING)其中LINGO 6.0学生版最多可版最多达300个变量和150个约束的规则问题,其标准版的求解能力亦再10^4量级以上。虽然LINDO和LINGO不能直接求解目标规划问题,但用序贯式算法可分解成一个个LINDO和LINGO能解决的规划问题。模型建立语言和求解引擎的整合LINGO是使建立和求解线性、非线性和整数最佳化模型更快更简单更有效率的综合工具。LINGO提供强大的语言和快速的求解引擎来阐述和求解最佳化模型。■简单的模型表示LINGO可以将线性、非线性和整数问题迅速得予以公式表示,并且容易阅读、了解和修改。■方便的数据输入和输出选择LINGO建立的模型可以直接从数据库或工作表获取资料。同样地,LINGO可以将求解结果直接输出到数据库或工作表。■强大的求解引擎LINGO内建的求解引擎有线性、非线性(convex and nonconvex)、二次、二次

lingo入门

lingo入门教程之一--- 初识lingo ingo对于一些线性或者非线性的规划,优化问题非常有效 首先介绍一下,在lingo中运行程序时出现的页面(在工具栏点击类似靶子一样的图标便可运行) Solver status:求解器(求解程序)状态框 Model Class:当前模型的类型:LP,QP,ILP,IQP,PILP,PIQP,NLP,INLP,PINLP(以I开头表示IP,以PI 开头表示PIP) State:当前解的状态:"Global Optimum", "LocalOptimum", "Feasible", "Infeasible“(不可行), "Unbounded “(无界), "Interrupted“(中断), "Undetermined“(未确定) Object:解的目标函数值 Infeasibility:当前约束不满足的总量(不是不满足的约束的个数):实数(即使该值=0,当前解也可能不可行,因为这个量中没有考虑用上下界命令形式给出的约束) Iteration:目前为止的迭代次数 Extend solverstatus:扩展的求解器(求解程序)状态框 Solver type:使用的特殊求解程序: Bestobj :目前为止找到的可行解的最佳目标函数值 Objbound:目标函数值的界 Steps:特殊求解程序当前运行步数: Active:有效步数 Variables(变量数量): 变量总数(Total)、 非线性变量数(Nonlinear)、 整数变量数(Integer)。 Constraints(约束数量): 约束总数(Total)、

非线性约束个数(Nonlinear)。 Nonzeros(非零系数数量): 总数(Total)、 非线性项系数个数(Nonlinear)。 GeneratorMemory Used (K) (内存使用量) ElapsedRuntime (hh:mm:ss)(求解花费的时间) 运行之后页面介绍(这里的运行界面并不是与上面的运行过程中出现界面一致,即并非来自于同一个程序运行出现) 第一行表示在经过457次迭代后得到局部最优解 第二行给出该局部最优解的具体值 下面给出取局部最优值时,x1 x2的具体取值 这里求解的是局部最优解,如果想求出全局最优解,可以进行页面设置:lingo --> option --> global solver --> 勾选use global solver 对于运行结果也可以另存为,格式一般为ldt,因为有时候对于求解一个问题,或许需要运行很久才可以得出结果,所以没必要每次为了看结果都运行,而是运行成功一次后便把结果保存下来 注意事项 LINGO总是根据“MAX=”或“MIN=”寻找目标函数;

Lingo软件在求解数学优化问题的使用技巧

Lingo软件在求解数学优化问题的使用技巧 LINGO是一种专门用于求解数学规划问题的软件包。由于LINGO执行速度快,易于方便地输入、求解和分析数学规划问题,因此在教学、科研和工业界得到广泛应用。LINGO 主要用于求解线性规划、非线性规划、二次规划和整数规划等问题,也可以用于求解一些线性和非线性方程组及代数方程求根等。 LINGO的最新版本为LINGO7.0,但解密版通常为4.0和5.0版本,本书就以LINGO5.0为参照而编写。 1.LINGO编写格式 LINGO模型以MODEL开始,以END结束。中间为语句,分为四大部分(SECTION):(1)集合部分(SETS):这部分以“SETS:”开始,以“ENDSETS”结束。这部分的作用在于定义必要的变量,便于后面进行编程进行大规模计算,就象C语言在在程序的第一部分定义变量和数组一样。在LINGO中称为集合(SET)及其元素(MEMBER或ELEMENT,类似于数组的下标)和属性(A TTRIBUTE,类似于数组)。 LINGO中的集合有两类:一类是原始集合(PRIMITIVE SETS),其定义的格式为:SETNAME/member list(or 1..n)/:attribute,attribute,etc。 另一类是是导出集合(DERIVED SETS),即引用其它集合定义的集合,其定义的格式为: SETNAME(set1,set2,etc。):attribute,attribute,etc。 如果要在程序中使用数组,就必须在该部分进行定义,否则可不需要该部分。(2)目标与约束:这部分定义了目标函数、约束条件等。一般要用到LINGO的内部函数,可在后面的具体应用中体会其功能与用法。求解优化问题时,该部分是必须的。(3)数据部分(DA TA):这部分以“DA TA:”开始,以“END DA TA”结束。其作用在于对集合的属性(数组)输入必要的数值。格式为:attribut=value_list。该部分主要是方便数据的输入。 (4)初始化部分(INIT):这部分以“INIT:”开始,以“END INIT”结束。作用在于对集合的属性(数组)定义初值。格式为:attribute=value_list。由于非线性规划求解时,通常得到的是局部最优解,而局部最优解受输入的初值影响。通常可改变初值来得到不同的解,从而发现更好的解。 编写LINGO程序要注意的几点: 1.所有的语句除SETS、ENDSETS、DA TA、ENDDA TA、INIT、ENDINIT和MODEL,END 之外必须以一个分号“;”结尾。 2.LINGO求解非线性规划时已约定各变量非负。 LINGO内部函数使用详解。 LINGO建立优化模型时可以引用大量的内部函数,这些函数以“@”符号打头。 (1)常用数学函数 @ABS(X) 返回变量X的绝对数值。 @COS( X) 返回X的余弦值,X的单位为弧度 @EXP( X)

如何在lingo中使用集合1

例题1. 在lingo 中输入下列线性规划模型,并求解 ∑∈?=A j i j i x j i d z ),(),(),( min s.t. 1),1(≥∑∈V j j x , , },10,,2,1{,0),(x ,),(, 1,1),(V V A V V i i i j i x j j i x V i ?==∈=>=∑∈ 为非负实数 所有 的数值如下表:d d=0 8 5 9 12 14 12 16 17 22 8 0 9 15 16 8 11 18 14 22 5 9 0 7 9 11 7 12 12 17 9 15 7 0 3 17 10 7 15 15 12 16 9 3 0 8 10 6 15 15 14 8 11 17 8 0 9 14 8 16 12 11 7 10 10 9 0 8 6 11 16 18 12 7 6 14 8 0 11 11 17 14 12 15 15 8 6 11 0 10 22 22 17 15 15 16 11 11 10 0; 分析:这个模型输入的难点,在于变量的数量太多,足足有100个。约束条件也比较多,有没有什么方便的输入方法?下面介绍lingo 中集合的建立 新建lingo 文件 输入下面内容 model : sets : V/1..10/;!创建集合V; A(V,V):d,x;!创建集合A 是V 乘V.而d,x 是与A 同结构的,即d ,x 分别是10*10矩阵; endsets min =@sum (A(i,j):d(i,j)*x(i,j));!创建目标函数; @sum (V(j):x(1,j))>=1; !第一个约束条件; @for (V(j)|j#gt#1: !i#gt#1为逻辑判断语句表示i>1是返回真值,但这里不能直接写i>1,因为">"是关系运算符不是逻辑运算符; @sum (V(i):x(i,j))=1;); !利用循环函数表达:当i>1(即i 从2到10)时, {x(i,j):j=1..10}的和等于1;

优化建模与lingo软件

问题一:LP 问题在lindo 和lingo 中不同的输入形式 (1)将目标函数的表示方式从“MAX ”变成了“MAX=” (2)“ST ”在LINGO 模型中不再需要,所以被删除了 (3)每个系数与变量间增加了运算符“*”(即乘号不能省略) (4)每行(目标、约束和说明语句)后面均增加了一个分号“;”(英文状态下) (5)模型结束标志“END ”也被删除了(LINGO 中只有当模型以“MODEL :”开始时才能以“END ”结束)。 (6)英文状态下!后面的文字为说明文字,不参与模型的求解。 问题二:状态窗口的参数解释 variable adj 异变的,变量的 n 变量

问题三优化建模的实例: 1. 线性规划模型 2. 二次规划模型 3. 非线性规划模型 目标函数:()()∑∑--==+= 2161 22min j i bi yi ai xi cij f 约束条件:6,5,4,3,2,1,21 ∑===j i di cij ∑==<=6 1 2,1,i j ej cij 4. 整数规划模型(线性0-1规划模型是特殊的线性整数规划) 1) 目标函数:7654321min x x x x x x x z ++++++= 2) 约束条件: ???????????>=++++>=++++>=++++>=++++>=++++>=++++>=++++. 5076543,5065432,5054321,5074321,5076321,5076521,5076541x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x )7,,2,1(0 =>=i xi

数学建模:运用Lindolingo软件求解线性规划

数学建模:运用Lindolingo软件求解线性规划 1、实验内容: 对下面是实际问题建立相应的数学模型,并用数学软件包Lindo/lingo对模型进行求解。 某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料6千克,工人10,可获利10万元;每百箱乙饮料需用原料5千克,工人20名,可获利9万元.名今工厂共有原料60千克,工人150名,又由于其他条件所限甲饮料产量不超过8百箱.问如何安排生产计划,即两种饮料各生产多少使获利最大.进一步讨论: 1)若投资0.8万元可增加原料1千克,问应否作这项投资. 2)若每百箱甲饮料获利可增加1万元,问应否改变生产计划. 数学建模论文 运用lindo/lingo软件求解线性规划 运用lindo/lingo软件求解线性规划 一、摘要 本文要解决的问题是如何安排生产计划,即两种饮料各生产多少使获利最大。 首先,对问题进行重述明确题目的中心思想,做出合理的假设,对符号做简要的说明。 然后,对问题进行分析,根据题目的要求,建立合适的数学模型。 最后,运用lindo/lingo软件求出题目的解。 【关键词】最优解 lindo/lingo软件 第二、问题的重述 某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料6千克,工人10名,可获利10万元;每百箱乙饮料需用原料5千克,工人20名,可获利9万元.今工厂共有原

料60千克,工人150名,又由于其他条件所限甲饮料产量不超过8百箱.问如何安排生产计划,即两种饮料各生产多少使获利最大.进一步讨论: 1)若投资0.8万元可增加原料1千克,问应否作这项投资。 2)若每百箱甲饮料获利可增加1万元,问应否改变生产计划。 第三、模型的基本假设 1、每一箱饮料消耗的人力、物力相同。 2、每个人的能力相等。 3、生产设备对生产没有影响。 第四、符号说明 1、x.....甲饮料 2、y.....乙饮料 3、z.....增加的原材料 第五、问题分析 根据题目要求:如何安排生产计划,即两种饮料各生产多少使获利最大,可知本题所求的是利润的最大值。我们可以先建立数学模型,然后用lindo/lingo软件包求解模型的最大值。 第六、模型的建立及求解根据题目建立如下3个模型: 模型1: max=0.1*x+0.09*y; 0.06*x+0.05*y<=60; 0.1*x+0.2*y<=150; x+y<=800; 结果:x=800;y=0;max=80 模型2:

数模常用软件

数学建模软件介绍 一般来说学习数学建模,常用的软件有四种,分别是:matlab、lingo、Mathematica 和SAS下面简单介绍一下这四种。 1.MATLAB的概况 MATLAB是矩阵实验室(Matrix Laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处 理,可视化建模仿真和实时控制等功能。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等 语言完相同的事情简捷得多. 当前流行的MATLAB 5.3/Simulink 3.0包括拥有数百个内部函数的主包和三十几种工具包(Toolbox).工具包又可以分为功能性工具 包和学科工具包.功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能.学科工具包是专业性比较强 的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类. 开放性使MATLAB广受用户欢迎.除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改 或加入自己编写程序构造新的专用工具包. 2.Mathematica的概况 Wolfram Research 是高科技计算机运算( Technical computing )的先趋,由复杂理论的发明者Stephen Wolfram 成立于 1987年,在1988年推出高科技计算机运算软件Mathematica,是一个足以媲美诺贝尔奖的天才产品。Mathematica 是一套整合数字以 及符号运算的数学工具软件,提供了全球超过百万的研究人员,工程师,物理学家,分析师以及其它技术专业人员容易使用的顶级 科学运算环境。目前已在学术界、电机、机械、化学、土木、信息工程、财务金融、医学、物理、统计、教育出版、OEM 等领域广 泛使用。

运用LINGO进行优化模型求解,并与EXCEL进行连接

实验报告(二) 课程名称数学实验 实验项目运用LINGO进行优化模型求解,并与EXCEL进行连接实验环境PC机、LINGO 班级/学号/姓名 指导教师 实验日期2013-11-5 成绩

一、实验名称:运用LINGO 进行优化模型求解,并与EXCEL 进行连接 二、实验目的: 1、掌握Lingo 求解线性规划模型的方法及回看求解结果报告; 2、掌握Lingo 进行灵敏度分析的方法; 3、掌握Lingo 求解整数规划和0-1规划的方法; 4、掌握Lingo 中集合的定义方法; 5、掌握Lingo 与Excel 之间的链接方法; 三、实验内容: 习题四: 1.用LINGO 求解下列线性规划问题 (1)?????? ?=≥≤++≤++≤++++=. 4,...,1,0x 103x x 2x -4x 258x 2x 3x -3x 204x -4x -6x 5x ..8x 10x 2x 6x z max i 4321432143214 321i t s 程序: model : max =6*x1+2*x2+10*x3+8*x4; 5*x1+6*x2-4*x3-4*x4<=20; 3*x1-3*x2+2*x3+8*x4<=25; 4*x1-2*x2+x3+3*x4<=10; end 结果:

(2) ??? ??≥≤++≤++++=0,,x 9010x 4x 12x 20 3x x x -s.t.13x 5x -5x z max 3 213213213 21x x 程序: model : max =-5*x1+5*x2+13*x3; -1*x1+x2+3*x3<=20; 12*x1+4*x2+10*x3<=90; end 结果: (3)?? ???>=++<=+<=+=010y 4x 011-7y x 0 23-5y -7x ..y 2x z min t s 程序: model : min =2*x+y; 7*x-5*y-23<=0; x+7*y-11<=0; 4*x+y+10>=0; @free (x); @free (y); end 结果:

Lingo软件的使用

第十八章LINGO软件的使用 18.1 LINGO入门 18.1.1 LINGO软件的安装过程 点击LINGO9.0 for Windows安装文件,出现 点击“Next”按钮,出现 此时需要接受安装协议。系统安装时默认的目录是C:\LINGO9。安装完成前,会出现下图所示的对话框:

这个对话框询问你希望采用的默认的建模(即编程)语言,系统推荐的是采用LINGO语法,也就是选项“LINGO(recommended)”;你也可以选择“LINDO”将LINDO语法作为默认的设置。当然,安装后你也可以通过“LINGO|Options|File Format命令来修改默认的建模(即编程)语言。在上图中按下“OK”按钮,系统就会完成LINGO的安装过程。 18.1.2 LINGO基础知识 LINGO有两种命令格式:一种是常用的Windows模式,通过下拉式菜单命令驱动LINGO 运行,界面是图形式的,使用起来也比较方便;另一种是命令行(Command-Line)模式,仅在命令窗口(Command Window)下操作,通过输入行命令驱动LINGO运行。由于其使用字符方式输入,初学者往往不太容易掌握。在这里,我们主要介绍在菜单驱动模式下LINGO的使用方法。 LINGO 9.0软件比以前的版本有了很大的改进,功能大大增强,性能更加稳定,计算的结果更加可靠。LINGO软件不仅可用于求解非线性规划问题,还可以用以求解非线性整数规划问题;LINGO包含了内置的建模语言,模型中所需的数据可以以一定格式保存在独立的文件中;LINGO允许以简练、直观的方式描述较大规模的优化问题。 注:LIGDO公司目前已将LINDO软件从其产品中删除了。事实上,LINDO软件的所有功能(包括LINDO语法格式)都在LINGO中得到了支持。 当你在windows下开始运行LINGO系统时,会得到类似下面的一个窗口: 外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。在主窗口内的标题为LINGO Model – LINGO1的窗口是LINGO的默认模型窗口,建立的模型都都要在该窗口内编码实现。状态行最左边显示的是“Ready”表示“准备就绪”;右下角显示的是当前时间,时间前面是当前光标的位置“Ln1,Col1”(即1行1列)。将来,用户可以用选项命令(LINGO|Options菜单命令)决定是否需要显示工具栏和状态行。在LINGO 模型窗口中,选择菜单命令“File|Open(F3)”,可以看到下图所示的标准的“打开文件”对话框,我们看到有各种不同的“文件类型”:

第1讲 Lingo软件入门(2014)

第1讲Lingo软件入门 司守奎 烟台市,海军航空工程学院数学教研室 Email:sishoukui@https://www.wendangku.net/doc/c45933738.html, 1 Lingo软件的基本语法 1.1 集合 集合部分的语法为 sets: 集合名称1/成员列表1/:属性1_1,属性1_2,…,属性1_n1; 集合名称2/成员列表2/:属性2_1,属性2_2,…,属性2_n2; 派生集合名称(集合名称1,集合名称2):属性3_1,…,属性3_n3; endsets 例26 sets: product/A B/; machine/M N/; week/1..2/; allowed(product,machine,week):x; endsets 1.2 数据 数据部分的语法为 data: 属性1=数据列表; 属性2=数据列表; enddata 1.3 计算 计算段部分不能含有变量,必须是已知数据的运算。 calc: b=0; a=a+1; endcalc 1.4 模型的目标函数和约束条件 这里就不具体给出了,下面通过具体例子给出。 1.5 子模型 在LINGO 9.0 及更早的版本中,在每个LINGO 模型窗口中只允许有一个优化模型,可以称为主模型(MAIN MODEL)。在LINGO 10.0 中,每个LINGO 模型窗口中除了主模型外,用户还可以定义子模型(SUBMODEL)。子模型可以在主模型的计算段中被调用,这就进一步增强了LINGO 的编程能力。 子模型必须包含在主模型之内,即必须位于以“MODEL:”开头、以“END”结束的模块内。同一个主模型中,允许定义多个子模型,所以每个子模型本身必须命名,其基本语法是: SUBMODEL mymodel: 可执行语句(约束+目标函数); ENDSUBMODEL 其中mymodel 是该子模型的名字,可执行语句一般是一些约束语句,也可能包含目标函数,但不可以有自身单独的集合段、数据段、初始段和计算段。也就是说,同一个主模型内的变量都是全局变量,这些变量对主模型和所有子模型同样有效。 如果已经定义了子模型mymodel,则在计算段中可以用语句“@SOLVE( mymodel);”求解这个子模型。 2 Lingo函数 2.1 算术运算符

数学建模_0-1规划及LINGO程序模板

数模练习一 某手机运营商准备在一个目前尚未覆盖的区域开展业务,计划投资5000万元来建设中继站。该区域由15个社区组成,有7个位置可以建设中继站,每个中继站只能覆盖有限个社区。图1.1.1是该区域的示意图,每个社区简化为一个多边形,每个可以建设中继站的位置已用黑点标出。由于地理位置等各种条件的不同,每个位置建设中继站的费用也不同,且覆盖范围也不同。表1.1.2中列出了每个位置建设中继站的费用以及能够覆盖的社区,表1.1.3列出了每个社区的人口数。 表1.1.2 每个位置建设中继站的费用及所能覆盖的社区 位置 1 2 3 4 5 6 7 费用(百万元) 9 6.5 20 14.5 19 13 10.5 覆盖社区 1,2,4 2,3,5 4,7,8,1 5,6,8,9 8,9,12 7,10,11 ,12,15 12,13, 14,15 表1.1.3 每个社区的人口数量 社区 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 人口(千人) 2 4 13 6 9 4 8 12 10 11 6 14 9 3 6 问题一:在不超过5000万建设费用的情况下,在何处建设中继站,能够覆盖尽可能多的人口; 问题二:考虑到中继站出现故障维修的时候可能会出现所覆盖的社区信号中断等问题,为此对通讯资费进行了调整,规定,仅有一个中继站信号覆盖的小区通讯资费按正常资费的70%收取,有两个或两个以上中继站信号覆盖的小区的通讯资费按正常收取,针对于5000万元的预算,应该如何建设中继站,才能够使得资费的收入达到最大。 问题分析: 问题一, 图1.1.1 1 2 3 4 56 78 9 1011 12 13 14 15 1 2 3 4 5 6 7

数学建模:运用Lindolingo软件求解线性规划

1、实验内容: 对下面是实际问题建立相应的数学模型,并用数学软件包Lindo/lingo 对模型进行求解。 某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料6千克,工人10名,可获利10万元;每百箱乙饮料需用原料5千克,工人20名,可获利9万元.今工厂共有原料60千克,工人150名,又由于其他条件所限甲饮料产量不超过8百箱.问如何安排生产计划,即两种饮料各生产多少使获利最大.进一步讨论: 1)若投资0.8万元可增加原料1千克,问应否作这项投资. 2)若每百箱甲饮料获利可增加1万元,问应否改变生产计划.

数学建模论文 运用lindo/lingo软件求解线性规划运用lindo/lingo软件求解线性规划

一、摘要 本文要解决的问题是如何安排生产计划,即两种饮料各生产多少使获利最大。 首先,对问题进行重述明确题目的中心思想,做出合理的假设,对符号做简要的说明。 然后,对问题进行分析,根据题目的要求,建立合适的数学模型。 最后,运用lindo/lingo软件求出题目的解。 【关键词】最优解lindo/lingo软件 第二、问题的重述 某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料6千克,工人10名,可获利10万元;每百箱乙饮料需用原料5千克,工人20名,可获利9万元.今工厂共有原料60千克,工人150名,又由于其他条件所限甲饮料产量不超过8百箱.问如何安排生产计划,即两种饮料各生产多少使获利最大.进一步讨论: 1)若投资0.8万元可增加原料1千克,问应否作这项投资。 2)若每百箱甲饮料获利可增加1万元,问应否改变生产计划。 第三、模型的基本假设 1、每一箱饮料消耗的人力、物力相同。 2、每个人的能力相等。 3、生产设备对生产没有影响。 第四、符号说明 1、x.....甲饮料 2、y.....乙饮料 3、z.....增加的原材料 第五、问题分析 根据题目要求:如何安排生产计划,即两种饮料各生产多少使获利最大,可知本题所求的是利润的最大值。我们可以先建立数学模型,然后用lindo/lingo软件包求解模型的最大值。

LINGO在数学建模中的应用

一、LINGO简介 LINGO[1]是美国LINDO系统公司开发的求解数学规划系列软件中你的一个,它 的主要功能是求解大型线性、非线性和整数规划问题,LINGO的不同版本对模型的 变量总数、非线性变量数目、整型变量数目和约束条件的数量做出不同的限制. LINGO的主要功能特色为: (1)既能求解线性规划问题,也有较强的求解非线性规划问题的能力; (2)输入模型简练直观; (3)运行速度快、计算能力强. (4)置建模语言,提供几十个部函数,从而能以较少语句,较直观的方式描述较 大规模的优化模型; (5)将集合的概念引入编程语言,很容易将实际问题转换为LINGO模型; (6)能方便地与EXCEL、数据库等其他软件交换数据. LINGO像其他软件一样,对他的语法有规定,LINGO的语法规定如下: (1)求目标函数的最大值或最小值分别用MAX=…或MIN=…来表示; (2) 每个语句必须以字母开头,由字母、数字和下划线所组成,昌都不超过32个字符,不区分大小写; (3)每个语句必须以分号“;”结束,每行可以有多个语句,语句可以跨行; (4)如果对变量的取值围没有特殊说明,则默认所有决策变量都非负; (5)LINGO模型以语句“MODEL”开头,以语句“END”结束,对于比较简单的模型,这这 两个语句可以省略. LINGO提供了五十几个部函数,使用这些函数可以大大减少编程工作量,这些 函数都是以字符@开头,下面简单介绍其中的集合操作函数和变量定界函数及用 法. 集合是LINGO建模语言中最重要的概念,使用集合操作函数能够实现强大的功

能,LINGO 提供的常用集合操作函数有@FOR(s:e)、@SUM(s:e)、@MAX(s:e)、@MIN(s:e)等.@FOR(s:e)常用在约束条件中,表示对集合s 中的每个成员都生成一个约束条件表达式,表达式的具体形式由参数e 描述;@SUM(s:e) 表示对集合s 中的每个成员,分别得到表达式e 的值,然后返回所有这些值的和;@MAX(s:e) 表示对集合s 中的每个成员,分别得到表达式e 的值,然后返回所有这些值中的最大值;@MIN(s:e) 表示对集合s 中的每个成员,分别得到表达式e 的值,然后返回所有这些值中的最小值. LINGO 默认变量的取值可以从零到正无穷大,变量定界函数可以改变默认状态,如对整数规划,限定变量取整数,对0-1规划,限定变量取0 1或.LINGO 提供的变量定界函数有:@BIN(X)、@BND(L,X,U)、@GIN(X)、@FREE(X).@BIN(X)限定X 为0或1,在0-1规划中特别有用;@GIN(X)限定X 为整数,在整数规划中特别有用;@BND(L,X,U)限定L <X <U,可用作约束条件;@FREE(X)取消对X 的限定,即X 可以取任意实数. 二、LINGO 在线性规划中的应用 具有下列三个特征的问题称为线性规划问题(Linear program)[2]简称LP 问题,其数学模型称为线性规划(LP)模型. 线性规划问题数学模型的一般形式为:求一组变量(1,2,,)j x j n =L 的值,使其满足 1122max(min),n n z c x c x c x =+++L 21111221112112222211 22***. 0,1,2,,, ,..n j n n n n nn nn n n x j n a x a x a x b a x a x a x b s t a x a x a x b ?? ?????≥=??+++++++++L L L L L

数学建模与lingo软件使用

东北大学秦皇岛分校 数学建模课程设计报告 生产、库存与设备维修综合计划 的优化安排 学院数学与统计学院 专业数学与应用数学 学号7110402 姓名崔冰洁 指导教师 成绩 教师评语: 指导教师签字: 2014年7月9日

1 绪论 线性规划是运筹学中研究较早、发展较快、应用广泛、方法较成熟的一个重要分支,它是辅助人们进行科学管理的一种数学方法。研究线性约束条件下线性目标函数的极值问题的数学理论和方法,英文缩写LP。它是运筹学的一个重要分支,广泛应用于军事作战、经济分析、经营管理和工程技术等方面。为合理地利用有限的人力、物力、财力等资源做出的最优决策,提供科学的依据。 在经济生活中,一个公司库存、生产、销售量要受限于与公司设备的生产能力,如何确定最优的生产库存等计划,可以使用线性规划的知识进行数学模型的建立并通过数学软件进行求解。 将库存金额控制在合理水准,是每个公司都期望的,这样的话可以将运营成本降到最低,让现金流动起来。就是要合理处理好生产、库存与设备维修综合计划的优化安排。在保证企业生产、经营需求的前提下,合理处理好生产、设备维修综合计划的优化安排。使库存量经常保持在合理的水平上;掌握库存量动态,适时,适量提出订货,避免超储或缺货;减少库存空间占用,降低库存总费用;控制库存资金占用,加速资金周转 2 LINGO软件简介 LINGO是Linear Interactive and General Optimizer的缩写,即“交互式的线性和通用优化求解器”,由美国LINDO系统公司推出的,可以用于求解非线性规划,也可以用于一些线性和非线性方程组的求解等,功能十分强大,是求解优化模型的最佳选择。其特色在于内置建模语言,提供十几个内部函数,可以允许决策变量是整数(即整数规划,包括 0-1 整数规划),方便灵活,而且执行速度非常快。能方便与EXCEL,数据库等其他软件交换数据。 3 数学模型建立与求解 3.1问题: 某工厂有以下设备:4台磨床、2台立钻、3台水平钻、1台镗床和1台刨床。已知生产单位各种产品所需的有关设备台时以及他们的利润如表所示:

相关文档
相关文档 最新文档