数学建模课程设计 企业生产规划.docx
- 文档编号:3470282
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:19
- 大小:75.77KB
数学建模课程设计 企业生产规划.docx
《数学建模课程设计 企业生产规划.docx》由会员分享,可在线阅读,更多相关《数学建模课程设计 企业生产规划.docx(19页珍藏版)》请在冰豆网上搜索。
数学建模课程设计企业生产规划
《数学建模》课程设计
企业生产安排
系、部:
计算机与信息科学学院
学生姓名:
xxx,xxxxxxxxx
指导教师:
刘璟忠职称副教授
专业:
信息与计算科学
班级:
信息本0901
完成时间:
2012-12-02
摘要
本文是关于企业生产,库存及设备维修的一论文,对于企业生产安排我们建立了在一定的约束条件下以利润为目标函数的数学优化模型。
从满足设备的运行条件、设备的每月需求量、市场对产品的需求量以及每种产品的库存量出发,使企业在每个月的不同产品的生产量使得总利润最大的线性规划。
对于问题一:
我们根据线性规划模型,考虑设备的运行时间、产品的相应销售情况和对应库存量,建立相应的约束条件,最后得出企业的生产安排和最大利润。
对于问题二:
我们在问题一的基础上调整设备的维修时间,使企业获得更大的利润。
设
表示第j种设备在第t月份的维修情况,建立相应的数学模型。
本文运用LINGO11.0编程计算出企业的设备维修情况以及各类产品在不同月份的生产计划。
关键词:
企业生产安排;设备维修;库存;利润;线性规划模型;LINGO11.0
目录
1.问题的重述1
2.问题分析2
3.符号说明2
4.模型假设3
5.模型的建立与问题的求解3
5.1问题一的解答3
5.1.1模型的分析3
5.1.2模型的建立与求解4
5.2问题二的解答5
5.2.1问题二的分析5
5.2.2问题二模型的建立与求解6
6.模型的分析与拓展7
参考文献8
致谢9
附录10
1.问题的重述
企业是一个有机的整体,企业管理是一个完整的系统,由许多子系统组成。
在企业的管理中,非常关键的一部分是科学地安排生产。
对于生产、库存与设备维修更新的合理安排对企业的生存和发展具有重要的意义。
已知某工厂要生产7种产品,以I,II,III,IV,V,VI,VII来表示,但每种产品的单件利润随市场信息有明显波动,现只能给出大约利润如下:
产品
I
II
III
IV
V
VI
VII
大约利润/元
100
60
80
40
110
90
30
该厂有4台磨床、2台立钻、3台水平钻、1台镗床和1台刨床可以用来生产上述产品。
已知生产单位各种产品所需的有关设备台时如下表:
单位所需
台时
设备
I
II
III
IV
V
VI
VII
磨床
0.5
0.7
—
—
0.3
0.2
0.5
立钻
0.1
0.2
—
0.3
—
0.6
—
水平钻
0.2
—
0.8
—
—
—
0.6
镗床
0.05
0.03
—
0.07
0.1
—
0.08
刨床
—
—
0.01
—
0.05
—
0.05
从1月到6月,维修计划如下:
1月—1台磨床,2月—2台水平钻,3月—1台镗床,4月—1台立钻,5月—1台磨床和1台立钻,6月—1台刨床和1台水平钻,被维修的设备当月不能安排生产。
又知从1—6月市场对上述7中产品最大需求量如下表所示:
I
II
III
IV
V
VI
VII
1月
500
1000
300
300
800
200
100
2月
600
500
200
0
400
300
150
3月
300
600
0
0
500
400
100
4月
200
300
400
500
200
0
100
5月
0
100
500
100
1000
300
0
6月
500
500
100
300
1100
500
60
每种产品当月销售不了的每件每月存储费为5元,但规定任何时候每种产品的存储量均不能超过100件。
1月初无库存,要求6月末各种产品各储存50件。
现在需要解决以下几个问题:
1.若该工厂每月工作24天,每天两班,每班8小时,要求该厂如何安排生产,使总利润最大?
2.若对设备维修只规定每台设备在1—6月份内均需安排1个月用于维修(其中4台磨床只需安排2台在上半年维修),时间可灵活安排。
重新为该厂确定一个最优的设备维修计划。
2.问题分析
针对于企业管理问题,是求该企业如何安排生产使总利润最大的问题,由于每件产品的利润一定,要求所有产品售后最大利润即要使销售量尽可能大,而库存量尽可能少,又因为每月维修的设备台数和维修时间一定,即要使每台设备投入的正常运作时间达到工作需求。
这是一个线性约束问题,如何既满足市场需要,又尽量降低成本费用,以使总的费用和库存成本费用最小(因为本问题的支出只有库存费用),这就是生产中通过线性约束达到最优化。
而对于本问题中不仅仅只有库存限制,多因素限制是本问题分析的切入点,设备的维修计划以及每个月的工时限制,都从最大利润为出发点达到企业管理规划的目标。
3.符号说明
表示在t时段i产品的生产批量;
表示在t时段i产品的库存量;
表示在t时段i产品的最大市场需求量;
表示在t时段j设备能正常工作的台数;
表示在t时段生产单件i产品消耗j设备的的时间;
表示单件i产品的利润;
表示t时段i产品的销售量;
表示j设备在t月份总的台数;
表示j设备在t月份维修的台数;
(i=1….7t=1….6j=1….5)
(注:
I,II,III,IV,V,VI,VII分别用1、2、3、4、5、6、7表示,磨床、立钻、水平钻、镗床、刨床也对应1、2、3、4、5、6)
4.模型假设
1.假设每台设备工作期间不出现任何故障;
2.假设生产单位各种产品所需的有关设备台时不变;
3.假设每种产品的单件利润随市场信息不会有明显波动;
4.假设市场在该时期内各种产品最大需求量不变
5.假设该时期内各种产品的库存量维持稳定;
假设该时期内该企业的总利润只与各类产品的利润和库存储费有关。
5.模型的建立与问题的求解
5.1问题一的解答
5.1.1模型的分析
企业要生产其中产品,以I,II,III,IV,V,VI,VII来表示,每种产品的单件都有相对应的利润值,并在一定时期内稳定。
在问题一中,企业的总利润只与各类产品总销售的产品类别和数量有关以及当月末的储存费有关。
各类产品的总销售受到每件产品耗不同设备的时间、设备台数和工作时间限定;月末的储存费只与当月末的库存量成正比关系,而每月各类产品的库存量都有相应的范围限定和要求。
综合上述各个量之间的联系和对应条件可以建立相应的数学线性优化模型。
(1)公司产品本月的库存量可表示为:
本月的生产量减去本月的销售量再加上前一个月的库存量:
(2)由于该公司一月初无库存,所以该公司一月份(t=1)的库存可表示如下:
(3)因为公司要求6月末各种产品各储存50件,所以六月末(t=6)的库存可表示如下:
(4)公司规定任何时候每种产品的存储量均不能超过100件,所以:
(5)由于公司生产设备的维修,能正常工作的设备台数为
,又因为公司每月工作24天,每天两班,每班8小时,所以每月可以工作24×8×2=384个小时,所以公司生产产品所消耗设备的时间不能超过设备正常工作所提供的时间:
(6)公司产品的销售量要小于等于市场的最大需求量:
在满足约束的条件下,以公司的最大利润为目标,可建立目标函数为:
5.1.2模型的建立与求解
S.T:
目标函数:
(程序见附录)
用lingo可求解结果为:
Globaloptimalsolutionfound.
Objectivevalue:
937115.0
Objectivebound:
937115.0
Infeasibilities:
0.7560175E-11
Extendedsolversteps:
4
Totalsolveriterations:
82
从LINGO结果中得出:
最大利润:
MAX=937115.0
从LINGO中数据整合(公司上半年各种产品1到6月的生产计划):
月份
产品
一月份
二月份
三月份
四月份
五月份
六月份
产品一
500
700
0
200
0
550
产品二
888
600
0
300
100
550
产品三
383
117
0
400
600
0
产品四
300
0
0
500
100
350
产品五
800
500
0
200
1100
0
产品六
200
300
400
0
300
350
产品七
0
250
0
100
100
110
5.2问题二的解答
5.2.1问题二的分析
根据题意以及问题一的模型可知,设备在不同的月份维修对企业的总利润有很大的影响,问题二中对于设备的维修不要求在特定的某个月,这对于企业来说,合理安排机器的维修和产品的生产,又可以使企业获得更多的利益。
决策企业安排在在不同的月份维修设备直接影响企业产量的多少、类别,进而导致总利润的获取。
(1)公司产品本月的库存量可表示为:
本月的生产量减去本月的销售量再加上前一个月的库存量:
(2)由于该公司一月初无库存,所以该公司一月份(t=1)的库存可表示如下:
(3)因为公司要求6月末各种产品各储存50件,所以六月末(t=6)的库存可表示如下:
(4)公司规定任何时候每种产品的存储量均不能超过100件,所以:
(5)由于公司生产设备的维修,能正常工作的设备台数为
,又因为公司每月工作24天,每天两班,每班8小时,所以每月可以工作24×8×2=384个小时,所以公司生产产品所消耗设备的时间不能超过设备正常工作所提供的时间,表示如下:
(6)设备能正常工作的台数等于该公司拥有的设备总台数减去在t月份维修的设备数:
(7)公司产品的销售量要小于等于市场的最大需求量:
(8)对设备维修只规定每台设备在1—6月份内均需安排1个月用于维修(其中4台磨床只需安排2台在上半年维修),时间可灵活安排,所以维修设备需满足下列要求:
;
;
;
;
;
在满足约束的条件下,以公司的最大利润为目标,可建立目标函数为:
5.2.2问题二模型的建立与求解
;
;
;
;
;
目标函数:
(程序见附录)
用lingo求解的到下列结果为:
Globaloptimalsolutionfound.
Objectivevalue:
1088550.
Objectivebound:
1088550.
Infeasibilities:
0.5684342E-13
Extendedsolversteps:
0
Totalsolveriterations:
195
从LINGO结果中得出:
最大利润:
MAX=1088550.
从LINGO中数据整合(公司在上半年中设备维修情况):
月份
维修设备
一月份
二月份
三月份
四月份
五月份
六月份
磨床
0
0
0
0
2
0
立钻
0
1
0
1
0
0
水平钻
1
0
0
0
0
2
镗床
0
0
0
1
0
0
刨床
0
0
0
1
0
0
6.模型的分析与拓展
在企业管理发展中,数学模型为最大利润规划出最佳方案。
针对于模型
(一)中引入了新的变量
(销售量)在中形成中间变量,在库存量与需求量和生产量中间起到了一个桥梁的作用,这使模型更加方便的在编程中进行运算,这就是我们构造变量的优势。
对于模型
(二)中引入了
(j设备在t月份总的台数)和
(j设备在t月份维修的台数),从新构造处模型
(一)中的
(在t时段j设备能正常工作的台数),这为求解t月份的维修设备提供了方向。
当我们在模型
(一)中加入一个条件,引入0,1变量
即当
等于0时表示第i种产品在第t月份不生产,当
等于1时表示iI种产品在第t月份生产,产量为
,我们可以引入一个很大的正整数M用来转化成线性关系,加入到模型中表示为:
。
将此条件带入到问题
(一)中的LINGO中,运算结果不变,可以表示为引用成功
参考文献
[1]杨启帆,边馥萍,数学模型,杭州:
浙江大学出版社,1990.
[2]姜启源,数学模型[M],北京:
高等教育出版社,2003.
[3]拉克唐瓦尔德,数值方法和MATLAB实现与应用,北京:
机械工业出版社,2004.
[4]韩中庚,数学建模方法及其应用,北京:
高等教育出版社,2005.
[5]谢云荪,张志让,数学实验,北京:
科学出版社,1999.
致谢
通过此次课程设计,我们得以将课堂上所学知识运用到实践。
虽然有难度,可是我们没有放弃,因而收获了很多。
刚开始做的时候我们有很多不懂的地方,可是当我们静下心来,细心地去研究,分析并建立模型,稍有突破,我们便会很高兴,很有成就感。
正是因为这样,我们又有了继续下去的动力。
不仅掌握了准确快捷的计算方法和严密的逻辑推理,也培养了我们用数学工具分析和解决实际问题的意识和能力。
此次课程设计之所以能成功,是我和搭档共同努力的结果,我们各有付出,各有收获。
现在回想起来,自己所学的知识真的不够,还有很多不懂得地方,需要花更多的心血和精力去挖掘去研究。
在整个课程设计中,我们在学习上和思想上都受益非浅,这除了自身的努力外,与指导的老师、同学和朋友的关心、支持和鼓励是分不开的。
在此,感谢给予我们关心和支持的老师和同学!
附录
1.问题一的lingo11.0编程:
sets:
!
product=产品种类,P=利润;
product/1..7/:
p;
!
time=月份;
time/1..6/;
!
equip=设备类型;
equip/1..5/;
!
combine1=组合1,x=每种产品每月的生产量,w=每种产品每月的销售量,
d=每种产品每月的需求量,y=每种产品每月的库存量;
combine1(product,time):
x,w,d,y;
!
combine2=组合2,f=单件产品对于设备的消耗时间;
combine2(product,equip):
f;
!
combine3=组合3,a=设备正常工作的台数;
combine3(equip,time):
a;
endsets
!
目标函数;
max=@sum(combine1(i,t):
p(i)*w(i,t))-5*(@sum(combine1(i,t)|t#ge#1#and#t#lt#6:
y(i,t)))-1750;
!
条件约束;
@for(combine1(i,t):
w(i,t)<=d(i,t));
!
条件约束;
@for(combine1(i,t)|t#eq#1:
y(i,t)=x(i,t)-w(i,t));
!
条件约束;
@for(combine1(i,t)|t#gt#1#and#t#lt#6:
y(i,t)=x(i,t)-w(i,t)+y(i,t-1));
!
条件约束;
@for(combine1(i,t)|t#eq#6:
x(i,t)+y(i,t-1)-w(i,t)=50);
!
条件约束;
@for(combine1(i,t)|t#ge#1#and#t#lt#6:
y(i,t)<=100);
!
条件约束;
@for(combine3(j,t):
@sum(product(i):
f(i,j)*x(i,t))<=384*a(j,t));
!
条件约束;
@for(combine1(i,t):
@gin(x));
data:
f=0.50.10.20.050
0.70.200.030
000.800.01
00.300.070
0.3000.10.05
0.20.6000
0.500.60.080.05;
p=1006080401109030;
d=5006003002000500
1000500600300100500
3002000400500100
30000500100300
80040050020010001100
2003004000300500
100150100100060;
a=344434
222112
313332
110111
111110;
Enddata
问题二的lingo11.0编程:
model:
sets:
!
product=产品结构,profit=利润;
product/1..7/:
p;
!
time=月份;
time/1..6/;
!
equip=设备;
equip/1..5/;
!
combine1=组合1,x=每种产品每月的生产量,w=每种产品每月的销售量,
d=每种产品每月的需求量,y=每种产品每月的库存量;
combine1(product,time):
x,w,d,y;
!
combine2=组合2,f=每种产品需要消耗设备的时间;
combine2(product,equip):
f;
!
combine3=组合3,h=每个月拥有的设备,r=每个月维修的设备;
combine3(equip,time):
h,r;
endsets
!
目标函数;
max=@sum(combine1(i,t):
p(i)*w(i,t))-5*(@sum(combine1(i,t)|t#ge#1#and#t#lt#6:
y(i,t)))-1750;
!
条件约束;
@for(combine1(i,t):
w(i,t)<=d(i,t));
!
条件约束;
@for(combine1(i,t)|t#eq#1:
y(i,t)=x(i,t)-w(i,t));
!
条件约束;
@for(combine1(i,t)|t#gt#1#and#t#lt#6:
y(i,t)=x(i,t)-w(i,t)+y(i,t-1));
!
条件约束;
@for(combine1(i,t)|t#eq#6:
x(i,t)+y(i,t-1)-w(i,t)=50);
!
条件约束;
@for(combine1(i,t)|t#ge#1#and#t#lt#6:
y(i,t)<=100);
!
条件约束;
@for(combine3(j,t):
@sum(product(i):
f(i,j)*x(i,t))<=384*(h(j,t)-r(j,t)));
!
条件约束;
@for(equip(i)|i#eq#1:
@sum(time(j):
r(i,j))=2);
!
条件约束;
@for(equip(i)|i#eq#2:
@sum(time(j):
r(i,j))=2);
!
条件约束;
@for(equip(i)|i#eq#3:
@sum(time(j):
r(i,j))=3);
!
条件约束;
@for(equip(i)|i#eq#4:
@sum(time(j):
r(i,j))=1);
!
条件约束;
@for(equip(i)|i#eq#5:
@sum(time(j):
r(i,j))=1);
@for(combine3(j,t):
@gin(r(j,t)));
!
条件约束;
@for(combine1(i,t):
@gin(x));
data:
f=0.50.10.20.050
0.70.200.030
000.800.01
00.300.070
0.3000.10.05
0.20.6000
0.500.60.080.05;
p=1006080401109030;
d=5006003002000500
1000500600300100500
3002000400500100
30000500100300
80040050020010001100
2003004000300500
100150100100060;
h=444444
222222
333333
111111
111111;
enddata
拓展模型的lingo11.0编程:
model:
sets:
!
product=产品种类,P=利润;
product/1..7/:
p;
!
time=月份;
time/1..6/;
!
equip=设备类型;
equip/1..5/;
!
combine1=组合1,x=每种产品每月的生产量,w=每种产品每月的销售量,
d=每种产品每月的需求量,y=每种产品每月的库存量;
combine1(product,time):
x,w,d,y,z;
!
combine2=组合2,f=单件产品对于设备的消耗时间;
combine2(product,equip):
f;
!
combine3=组合3,a=设备正常工作的台数;
combine3(equip,time):
a;
endsets
!
目标函数;
max=@sum(combine1(i,t):
p(i)*w(i,t))-5*(@sum(combine1(i,t)|t#ge#1#and#t#lt#6:
y(i,t)))-1750;
!
条件约束;
@for(combine1(i,t):
w(i,t)<=d(i,t));
!
条件约束;
@for(combine1(i,t)|t#eq#1:
y(i,t)=x(i,t)-w(i,t));
!
条件约束;
@for(combine1(i,t)|t#gt#1#and#t#lt#6:
y(i,t)=x(i,t)-w(i,t)+y(i,t-1));
!
条件约束;
@for(combine1(i,t)|t#eq#6:
x(i,t)+y(i,t-1)-w(i,t)=50);
!
条件约束;
@for(combine1(i,t)|t#ge#1#and#t#lt#6:
y(i,t)<=100);
!
条件约束;
@for(combine3(j,t):
@sum(product(i):
f(i,j)*x(i,t))<=384*a(j,t));
M=10000;
!
z=0/1变量;
@for(combine1(i,t):
x(i,t)<=M*z(i,t));@for(combine1(i,t):
@gin(x));
data:
f=0.50.10.20.050
0.70.2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学建模课程设计 企业生产规划 数学 建模 课程设计 企业 生产规划