资源描述
金属污染的原因:
通过对五个区域的不同海拔高度的八种金属元素浓度的含量进行分析:在对每个区域进行分别进行横向比较可以知道,在区域一、四、五中八种金属只存在海拔范围0~120m之间。而在区域三中金属元素存在于整个研究范围内,区域二中元素所在的海拔高度最低。
这个城区的As浓度是最低的,但在生活区和公园绿地区它的平均含量是所有区域中最高的。As主要来自土壤母质,而生活区和公园绿地区的绿化面积比较大,一些树木的树龄也比较大,为了更好的保护树木花草的健康成长,就会常年的施一些含有As的化肥,经过常年的累积就会致使这两个区域的土壤里的As污染比较严重。
城区的Cd浓度是最高的,在五个区域中区域一、四、五的Cd浓度相对来说是比较高的。Cd在土壤中的主要来源有污水灌溉、垃圾堆肥以及大量使用的农药、化肥带来的污染以及工业废水。在生活区,一些人会以务农为业,所以长年的长期耕种一些农作物,并对他们进行长年的施肥施农药以及灌溉污水,当然还有居民生活制造的大量垃圾,致使含有大量的垃圾堆肥的产生。主干道路区以及公园绿地区的Cd含量比较高主要是因为同时公园与花园绿化过程中污水、污泥堆肥的广泛使用也明显影响到城市土壤中的重金属组成与含量[ 13 ] [ 13 ] Miguel D E, J imenezD GM, Llamas J F, et al1 The overlooked contribution of compost app lication to the trace element load in the urban soil ofMadrid ( Spain) [ J ]1 The Science of the Total Environment, 1998, 215 (1 - 2) : 113 - 1221。
城区的Cr污染还不是很严重平均浓度在22.9~75.37之间,它的污染在区域表现得最为明显,即生活区,因为Cr的含量主要受成土母质的影响。
Hg在土壤的污染严重, 污染区域大多处于某一工业区或某大型污染企业, 其来源较单一, 废气和废水排放是其污染的主要来源[ 16 ] [ 16 ] 王应刚, 辛晓云, 郭翠花, 太原市土壤中汞污染及成因研究[ J ]. 生态学杂志, 2003, 22 (5) ∶40—42 . 例如, 火力发电、钢铁冶炼、水泥制造、垃圾焚烧及燃煤锅炉等都可能成为大气Hg的排放源, 所以在工业区和主干道路区Hg的含量的是最高的。
机械产品生产计划的优化模型
摘要
本文主要研究机械产品生产计划的最优化问题。生产计划问题中所要处理的数据之间的关系是比较繁琐的,所以如何有效地设置决策变量,找出相互关系是我们建立模型的突破口。在合理的假设前提下,我们将问题中的常量和变量用数学符号进行表示。逐步将实际问题抽象为纯数学问题并建立模型。
针对问题一,在原计划不变的条件下,即不改变机器设备定月检修的方案,我们对机械产品生产计划进行分析,利用生产量、库存量、销售量之间的关系建立线性整数规划模型。运用lingo进行求解,得出最优的生产、库存、销售方案并求得最大利润。然后根据三者之间的关系绘制表格,对其进行分析。
针对问题二:问题要求确定最优的设备维修计划,为此我们将问题转换成在怎样的设备维修计划下,该企业所能获得的利润最大。于是,在问题一该企业生产安排优化模型的基础上,在加入i种设备j月维修的变量并增设相应约束条件的情况下。对机械产品生产逐步进行分析,从销售的价格、设备的检修等多角度寻求增加最大利润的方法。最终得出最优的设备维修计划方案。
对模型进行结果分析后,我们还通过对实际情况的各类因素进行合理假设,将模型进行了优化和推广。
关键字: 线性整数规划模型 设备检修 生产优化 模型推广
目录
一、问题重述……………………………………………………………………… 2
二、模型假设……………………………………………… ………………………3
三、符号说明……………………………………………… ………………………3
四、模型的建立……………………………………………… ……………………4
问题一
(一).模型准备………………………………………………………………..4
(二).问题分析………………………………………. ………………………4
(三).模型建立……………………………......................................................4
(四).模型求解……………………………......................................................7
问题二
(一).问题分析……………………………………………………………….10
(二).模型建立………………………………………. ………………………10
(三).模型求解………………………..………. ……………………………..12
五、结果分析和求解……………………………………… ……………………....15
六、模型的推广和优化…………………………………………………………….15
七、参考文献……………………………………………………………………….15
八、附录………………………………………………… …………………………16
3
一. 问题重述
企业是一个有机的整体,企业管理是一个完整的系统,由许多子系统组成。在企业的管理中,非常关键的一部分是科学地安排生产。对于生产、库存与设备维修更新的合理安排对企业的生存和发展具有重要的意义。
已知某工厂要生产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件。
若该工厂每月工作24天,每天两班,每班8小时,要求
(1) 该厂如何安排生产,使总利润最大;
(2) 若对设备维修只规定每台设备在1—6月份内均需安排1个月用于维修(其中4台磨床只需安排2台在上半年维修),时间可灵活安排。重新为该厂确定一个最优的设备维修计划。
二.模型假设
1、 假设每项工作都能在预定的时间内完成,不存在其他影响;
2、 假设在生产中的设备(除去计划中修理的设备)都能不出现故障;
3、 每种产品的单价利润在短期内不出现大的波动;
4、 假设各种产品生产每件产品的单位所需时量不变;
5、 假设市场在该时期内各种产品(I,II,III,IV,V,VI,VII)最大需求量不变;
6、 假设该时期内各种产品的库存量维持稳定;
7、 假设该时期内该企业的总利润只与各类产品的利润和库存储费有关。
8、 检修月份被检修的设备全月不能用于生产。
9、 月末开始计算为销售产品的库存费。
10、产品的生产及单位产品生产成本不随方案的改变而改变
11、产品的生产、库存及销售量为整数。
三.符号说明
为了方便模型的扩展和优化定义符号如下:
计划期长度 该问题中T=6;(单位:月)
产品总数 该问题中P=7;(单位:种)
设备总数 该问题中W=5;(单位:种)
第i种产品在第j月份的生产量。 i=1,2,…,P,j=1,2,…,T;
第i种产品在第j月份的库存量。 i=1,2,…,P,j=1,2,…,T;
第i种产品在第j月份的销售量。 i=1,2,…,P,j=1,2,…,T;
第k种设备第j月份可投入使用的量。 k=1,2,…W,j=1,2…,T;
第i种产品在第j月份的最大需求量。 i=1,2,…,P,j=1,2,…,T;
生产单位产品i需要使用k种设备时间。 i=1,2,…,P,k=1,2,…W;
第k种设备的总数。 k=1,2,…W;
第k种设备在j月份的维修数目。 k=1,2,…W,j=1,2…,T;
第k种设备在计划期长度t内需维修的总数。 k=1,2,…W;
第k种设备第j月份的最大工作时间。 k=1,2…W,j=1,2…T;
第i种产品在j月份的单位存储费用。(该问题中B与i和j无关为定值5元)
第i种产品在第j月份的单位利润。(该问题中与j无关) i=1,2…N;
四、模型的建立
问题一 :
(一)模型的准备
1、各个月份设备月工作时
根据题目工厂每天开两班, 每班8小时,为简单计, 假定每月都工作24天 。可知:各个月份设备的月工作时相等。
设备月工作时=月工作天数×每天工作班数×每班工作时数
=24×2×8
=384(时)
2、各个月份实际可工作设备数
月份
份
机
床
1
2
3
4
5
6
磨 床
3
4
4
4
3
4
立 钻
2
0
2
1
1
2
水平钻
3
3
3
3
3
3
镗 床
1
1
0
1
1
1
刨 床
1
1
1
1
1
0
(二)问题分析
企业要生产其中产品,以I,II,III,IV,V,VI,VII来表示,每种产品的单件都有相对应的利润值,并在一定时期内稳定。在问题一中,企业的总利润只与各类产品总销售的产品类别和数量有关以及当月末的储存费有关。各类产品的总销售受到每件产品耗不同设备的时间、设备台数和工作时间限定;月末的储存费只与当月末的库存量成正比关系,而每月各类产品的库存量都有相应的范围限定和要求。综合上述各个量之间的联系和对应条件可以建立相应的数学线性优化模型。通过分析可知:
总利润=销售所获利润-库存所需金额。
以此建立目标函数,通过分析,确定决策变量为各个月各种产品的生产量、库存量以及销售量。考虑各个设备使用时间,产品的库存量以及市场销售量上限的约束,建立整数规划模型并进行求解,制定出六个月的生产、库存、销售计划使六个月的总利润最大。
(三)模型建立
1. 设置决策变量:
决策变量为: , ,
由于该问题中为定值5,与k,t变化无关,所以下标k,t可以除去;只与i有关,不随月份j变化,所以下标j可以除去。
2. 目标函数:
3. 确定约束条件:
销售量与市场需求量之间约束:
i=1,2…7,j=1,2…6。
存储量约束:
i=1,2…7,j=1,2…5。
i=1,2…7。
设备的使用约束:
j=1,2…6,k=1…5。
产品的存储量,产量,销量之间的约束:
i=1,2…7。
i=1,2…7。
i=1,2…7,j=2…6。
4.矩阵
=
=384=
(四)模型求解
1、结果:
各个月份的生产量和库存量可直接由LINGO结果得到,再运用基本公式便可得到各个月份销售量。(程序在附录中给出)
用lingo11.0求得:
Global optimal solution found.
Objective value: 937115.0
Objective bound: 937115.0
Infeasibilities: 0.000000
Extended solver steps: 3
Total solver iterations: 128
LINGO求解得到目标函数值(即六个月最大利润)为937115.00元。
六个月各个月份的生产,库存,销售计划列表如下:(表格一)
月份
产品
1月
2月
3月
4月
5月
6月
1
生产量
500
700
0
200
0
550
库存量
0
100
0
0
0
50
销售量
500
600
100
200
0
500
2
生产量
122
0
0
107
102
109
库存量
0
100
0
0
0
50
销售量
888
600
0
300
100
550
3
生产量
383
117
0
400
600
0
库存量
83
0
0
0
100
50
销售量
300
200
0
350
500
100
4
生产量
300
0
0
500
100
350
库存量
0
0
0
0
0
50
销售量
300
0
0
500
100
300
5
生产量
800
500
0
200
1100
0
库存量
0
100
0
0
100
50
销售量
800
400
0
0
250
1100
6
生产量
200
300
400
0
300
550
库存量
0
0
0
0
0
50
销售量
200
300
400
0
300
500
7
生产量
0
250
0
100
100
0
库存量
0
100
0
0
100
50
销售量
100
150
0
90
0
60
(表格一对应的直方图一)
问题一的结果分析:
企业的效益与我们的生产能力成直接联系,生产能力的大小决定了企业能进行该类产品的制造量多少。由表可以看出:当第3月份镗床在维修中时,对应需要经过镗床加工的第I、II、IV、V和VII种产品就不能照常生产,直接导致该月没有此类产品的产出,这将直接导致供不应求的情况产生,是利润流失,这严重影响了公司利润;当第3月份市场对III、IV的需求量为0,说明加工的机械资源处于闲置状态,没有达到资源最佳优化配置,反之,如果使加工的机械资源投入生产的话,即我们生产的产品在该月销售不了,这说致库存成本额增加,如果以市场为导向的话,对于该产品的相关工作在这个月都要相应的停止,这对企业的安排具有很大的不利性,如生产III、IV种产品的师傅需要休假一个月。这将会导致固定成本的增加,表1.0中,我们可以看出部分月份的各类产品没有超过该产品的市场最大需求量,我们建议企业充分满足市场需求,可以在条件允许下扩大生产规模,从而实现利润的最大化!
问题二
(一)问题分析
根据题意以及问题一的模型可知,设备在不同的月份维修对企业的总利润有很大的影响,问题二中对于设备的维修不要求在特定的某个月,这对于企业来说,合理安排机器的维修和产品的生产,又可以使企业获得更多的利益。决策企业安排在在不同的月份维修设备直接影响企业产量的多少、类别,进而导致总利润的获取。按照题目所给,将决策变量、目标函数和约束条件用数学符号及式子表示出来,就可得到下面的模型。
(二)模型建立
1. 设置决策变量:
决策变量为: , , ,
由于该问题中为定值5,与k,t变化无关,所以下标k,t可以除去;只 与i有关,不随月份j变化,所以下标j可以除去。
2.目标函数:
3. 确定约束条件:
销售量与市场需求量之间约束:
i=1,2…7,j=1,2…6。
存储量约束:
i=1,2…7,j=1,2…5。
i=1,2…7。
设备的使用约束:
产品的存储量,产量,销量之间的约束:
i=1,2…7。
i=1,2…7。
i=1,2…7,j=2…6。
4.矩阵
=
=384=
= =
=
(三)模型求解
1、结果:
各个月份的生产量和库存量可直接由LINGO结果得到,再运用基本公式便可得到各个月份销售量。(程序在附录中给出)
用lingo11运行可得:
Global optimal solution found.
Objective value: 1088550.
Objective bound: 1088550.
Infeasibilities: 0.2273737E-12
Extended solver steps: 0
Total solver iterations: 542
LINGO求解得到目标函数值(即六个月最大利润)为1088550.00元。
通过运行lingo11.0并进行整理得到如下关于设备维修的表格:
六个月各个月份的生产,库存,销售计划列表如下:(表格二)
月份
产品
1月
2月
3月
4月
5月
6月
1
生产量
500
600
400
0
0
550
库存量
0
0
100
0
0
50
销售量
500
600
200
200
0
500
2
生产量
1000
500
700
0
100
550
库存量
0
0
100
0
0
50
销售量
1000
500
400
300
100
500
3
生产量
300
200
100
0
500
150
库存量
0
0
100
0
0
50
销售量
300
200
0
100
500
100
4
生产量
300
0
100
0
100
350
库存量
0
0
100
0
0
50
销售量
300
0
0
500
0
0
5
生产量
800
400
600
0
1000
1150
库存量
0
0
100
0
0
50
销售量
800
400
400
200
1000
1100
6
生产量
200
300
400
0
300
550
库存量
0
0
0
0
0
50
销售量
200
300
400
0
300
500
7
生产量
100
150
200
0
100
0
库存量
0
0
100
0
0
50
销售量
100
150
100
100
0
60
(表格二对应的直方图)
将上述表格转化为更加直观的直方图来分析问题:
问题二的结果分析:企业通过安排设备的维修,保障在市场需求量的最大容量下获得企业的最大化效益。对比问题一:通过改变机械的维修计划,使各类资源都得到了充分的利用,达到了资源的优化配置,从而使问题二的企业最大效益与问题一的最大效益,明显问题二中的最大效益问题一的最大效益增加了1088550.0-937115.0=151435.0;
但是,问题二中的各类产品产量在四月份都显示为0,究其原因是在第四月份市场需求的限制;根据LINHGO11.0运行的最后结果显示,某些类产品在该月还能进行生产,但产品市场需求量的限制不得不控制部分产品产量,其中使我们企业资源的浪费,如设备的工作时间。
通过优化之后,在客观的市场条件下,虽然产生里一些不必要的浪费,但已经达到了此约束下得最佳优化配置。
五、结果分析和求解
上面的输出信息告诉了我们问题的最优解和最优值外,还有许多对分析结果有用的消息。不妨将我们的目标函数看做整体的“效益”,将设备的工作时间、设备的生产能力、设备的机器台数看做我们的生产能力;将市场需求量当做我们的产品容量。
具体分析见前面的问题一,问题二的结果分析。从其结果可以看出市场是决定利润的一个相当重要的因素,所以,企业应充分的了解市场信息,从而更加准确实施生产与销售计划。
综合分析:企业的最大效益是每个企业最求的最大目标,资源,能力和市场容量的多方面共同限制企业的最大效益。为了企业的最大效益我们应该实行资源,能力和市场容量的一致性,保障企业获取最大收益。
六、模型的推广和优化
模型的优化:
1:模型应该可以根据机器本身的特点制定更周密的机器维修计划。
(可以根据以往机器的使用情况及使用寿命来制定维修计划,避免必要的维修造成资源浪费)
2:模型应该考虑到机器生产准备费和物品的生产准备费,能够使这个模型更加接近实际,也能使模型运行出来的结果对指导实际生活中的生产与销售问题更有现实意义和针对性。
(可以使用零一变量来控制目标函数和约束条件来进行优化)
3:模型应该考虑到机器出现运转失常的情况,以适应多变的实际环境,使模型更加具有一般性,是模型的灵活性增强。
(可以考虑增加备用机器来解决)
模型的推广:
1:该模型的可移植性很强,,现实生活中只要是关于生产,销售的都可以套用此模型。
2:关于机器维修方面则可以用来模拟交通调度,消防调度等着一类关于调配的问题。
3:属于一个固定资源的最优化配置问题,有资源限制的问题都可以利用此模型稍加改变即可实现。
七、参考文献
[1]《运筹学》 清华大学出版社 2009年5月
[2]《数学模型》 姜启源 高等教育出版社
[3]《运筹学应用范例与解法》Wayne L.Winston 清华大学出版社 2008年6月
[4] 姜启源等.数学模型(第三版).高等教育出版社.2003
[5] 编写组.数学模型.华南理工大学出版社.2001.8
[6] J.P.伊格尼西奥著.目标规划及其应用.胡运权译.哈尔滨工业大学出版社.1988
八、附录
附录1:
model:
sets:
!生产计划长度;
Month/1..6/;
!profit表示各产品单位利润;
Product/1..7/:profit;
Equipment/1..5/;
!demend表示各产品在各月分的市场需求量,output表示各产品在各月份的产量,save表示各产品在各月分的存储量,
sale表示各产品在各月份的销售量;
Group1(Product,Month):sale,demand,output,save;
!need表示生产各单位产品需要使用各设备的时间;
Group2(Equipment,Product):need;
!hour表示各设备在各月份的可供使用的时间上限;
Group3(Equipment,Month):hour;
endsets
data:
!hold表示存储成本;
hold=5;
profit=100 60 80 40 110 90 30;
demand=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 ;
hour=1152 1536 1536 1536 1152 1536
768 768 384 384 384 768
1152 384 1152 1152 1152 768
384 384 0 384 384 384
384 384 384 384 384 0;
need=0.5 0.7 0 0 0.3 0.2 0.5
0.1 0.2 0 0.3 0 0.6 0
0.2 0 0.8 0 0 0 0.6
0.05 0.03 0 0.07 0.1 0 0.08
0 0 0.01 0 0.05 0 0.05;
enddata
!目标函数;
[OBJ] max=@sum(Group1(i,j):sale(i,j)*profit(i)-hold*save(i,j));
@for(Product(i):@sum(Month(j):output(i,j)-sale(i,j))=50);
!约束条件;
!1..销量与市场需求之间的约束关系;
@for(Group1:sale<=demand);
!2..存储量约束;
@for(Group1(i,j)|j#ne#6:save(i,j)<=100);
@for(Group1(i,j)|j#eq#6:save(i,j)=50);
!3..各产品在个月份的存储量,产量,市场需求量之间的约束关系;
@for(Group1(i,j)|j#ne#1:save(i,j-1)+output(i,j)-save(i,j)<=demand(i,j));
@for(Group1(i,j)|j#eq#1:output(i,j)-save(i,j)<=demand(i,j));
!4..设备的使用约束;
@for(Group3(i,t):@sum(product(j):need(i,j)*output(j,t))<=hour(i,t));
!5..整数约束;
@for(Group1:@gin(output));
@for(Group1:@gin(save));
附录2
model:
sets:
!生产计划长度;
Month/1..6/;
!profit表示各产品单位利润;
Product/1..7/:profit;
!num表示各设备的总数,b表示6个月各设备的需维修数;
Equipment/1..5/:num,b;
!demend表示各产品在各月分的市场需求,output表示各产品在各月份的产量,sale表示各产品在各月份的销售量,
save表示各产品在各月分的存储量;
Group1(Product,Month):demand,output,sale,save;
!need表示生产各单位产品需要使用各设备的时间;
Group2(Equipment,Product):need;
!repair表示各设备在个月份的维修数目;
Group3(Equipment,Month):repair;
endsets
data:
!hold表示存储成本;
hold=5;
num=4 2 3 1 1;
b=2 2 3 1 1;
profit=100 60 80 40 110 90 30;
demand=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 ;
need=0.5 0.7 0 0 0.3 0.2 0.5
0.1 0.2 0 0.3 0 0.6 0
0.2 0 0.8 0 0 0 0.6
0.05 0.03 0 0.07 0.1 0 0.08
0 0 0.01 0 0.05 0 0.05;
enddata
!目标函数;
max=@sum(Group1(i,j):sale(i,j)*profit(i)-hold*save(i,j));
@for(Product(i):@sum(Month(j):output(i,j)-sale(i,j))=50);
!约束条件;
!1..销量与市场需求之间的约束关系;
@for(Group1:sale<=demand);
!2..库存量约束;
@for(Group1(i,j)|j#ne#6:save(i,j)<=100);
@for(Group1(i,j)|j#eq#6:save(i,j)=50);
!3..各产品在个月份的存储量,产量,市场需求量之间的约束关系;
@for(Group1(i,j)|j#ne#1:save(i,j-1)+output(i,j)-save(i,j)=sale(i,j));
@for(Group1(i,j)|j#eq#1:output(i,j)-save(i,j)=sale(i,j));
!4..设备的使用约束;
@for(Group3(i,t):@sum(product(j):need(i,j)*output(j,t))<=(num(i)-repair(i,t))*384);
@for(Equipment(i):@sum(Month(t):repair(i,t))=b(i));
!5..整数约束;
@for(Group3:@gin(repair));
@for(Group1:@gin(output));
@for(Group1:@gin(save));
21
展开阅读全文