运筹学课程设计.docx
《运筹学课程设计.docx》由会员分享,可在线阅读,更多相关《运筹学课程设计.docx(13页珍藏版)》请在冰豆网上搜索。
运筹学课程设计
存档资料 成绩:
华东交通大学理工学院
课程设计报告书
所属课程名称运筹学课程设计
题目 设备的更新策略
分院 电信分院
专业班级
学 号
学生姓名
指导教师
2013年月日
课程设计(论文)评阅意见
序号
项目
分数
1
课程设计态度评价(10分)
2
任务难度评价(20分)
3
工作量饱满评价(20分)
4
设计创新性评价(20分)
5
论文书写规范化评价(10分)
6
综合运用能力(20分)
综合评定
评阅人:
目录
目录3
摘要4
第一章问题表述5
1.1背景描述5
1.2主要内容5
1.3研究的意义5
1.4研究的主要方法与思路5
第二章模型的建立6
2.1数据及变量的确定6
2.2限制条件的确定6
2.3目标函数及模型的建立6
第三章模型求解7
3.1模型的求解7
第四章结论与建议9
4.1研究结论9
4.2建议与对策9
参考文献9
附件(代码)10
摘要
在日益激烈的市场竞争中,企业生产设备的更新问题不仅在短期内直接影响到企业的综合竞争能力,而且对企业的长远发展有着深远的影响。
此次课设研究从运筹学的角度出发,就设备更新问题建立运筹学模型并运用动态规划的方法对其求解。
本文针对设备更新过程中最小总支出的问题,建立了图与网络模型。
就可以把问题简化为求最短路径法,利用数学建模求解,,我们将第i年年初购进一台新设备设为变量vi((i=1,2,3,4,5,6),其中,v6为虚设点,表示第五年年底购进设备,从而将该问题转化为求从v1到v6的最短路径。
我们利用Dijkstra算法求解本问题,所用的软件为matlab。
而后通过计算机的多次模拟运算,分析以及检验,验证出我们建立该模型的科学性、合理性以及正确性。
.
关键词:
设备更新问题Dijkstra算法最短路
第一章问题表述
1.1背景描述
某公司拟为已有的一台设备役龄三年,决定在今后四年后进行更新。
已知一台设备若使用满6年则必须更新。
一台新设备价格P为20万元。
其他数据如下:
役龄t/年
每年收益y(t)/万元
年运营成本c(t)/万元
残值d(t)/万元
0
3.0
0.03
--
1
2.8
0.09
16.5
2
2.7
0.18
10.3
3
2.5
0.23
7.6
4
2.3
0.26
6.7
5
2.1
0.28
5.0
6
1.8
0.34
4.0
随着役龄年数的增加,每年的收益和残值逐渐减少,而设备的运营成本却不断增加。
需构建数学模型,得出设备更新的最优方案。
1.2主要内容
对于企业而言,生产设备使用时间越长,产生的累积效益也越大。
但是,生产设备使用时间越长,运营成本也随之增加,并且设备的残值越小。
因此,任何设备在某一阶段都存在继续使用还是更新的选择。
无论设备继续使用还是更新,其决策依据不能简单地以企业的资金况来处理,而应该从整个计划期总的设备回收额来确定,故设备更新问题是一个多阶段决策过程。
1.3研究的意义
通过此问题的研究分析,可以更好的得出设备更新的最佳时间,让公司的利益最大化,减少设备更新的总支出。
1.4研究的主要方法与思路
此研究需要通过数学建模的方式进行分析,将问题简化为求最短路径问题,并用LINGO进行数据构建和分析。
第二章模型的建立
2.1数据及变量的确定
设vi表示第i年年初购进一台新设备,虚设一个点v6,表示第五年年底;边(vi,vj)表示第i年初购进的设备一直使用到第j年初(即第j-1年底)。
2.2限制条件的确定
公司该设备只使用一台,不存在公司同时用多台机器的现象;计划内第一年初必须购置新设备;不考虑旧设备的折旧费。
2.3目标函数及模型的建立
为了使问题简化,我们将求最小总支出转化为求最小路径问题,这样,设备更新问题可简化为求从v1到v6的最短路问题,可由上表得下图
15.79
13.73
12.7
12.7
9.82
9.82
3.53
3.53
3.53
3.53
3.53
9.82
V1
V2
V6
V5
V4
V3
9.82
12.7
13.73
对于边(v1,v2)有第一年购买的费用20加上上一年的运营成本0.03,减去一年役龄机器的残值16.5得到3.53;
同理:
(v1,v3)20+0.03+0.09-10.3=9.82
(v1,v4)20+0.03+0,09+0.18-7.6=12.7
(v1,v5)20+0.03+0,09+0.18+0.23-6.7=13.73
(v1,v6)20+0.03+0,09+0.18+0.23+0.26-5.0=15.79
(v2,v3)20+0.03-16.5=3.53
(v2,v4)20+0.03+0.09-10.3=9.82
(v2,v5)20+0.03+0,09+0.18-7.6=12.7
(v2,v6)20+0.03+0,09+0.18+0.23-6.7=13.73
(v3,v4)20+0.03-16.5=3.53
(v3,v5)20+0.03+0.09-10.3=9.82
(v3,v6)20+0.03+0,09+0.18-7.6=12.7
(v4,v5)20+0.03-16.5=3.53
(v4,v6)20+0.03+0.09-10.3=9.82
(v5,v6)20+0.03-16.5=3.53
由上图,我们就可用Dijkstra算法将设备更新的问题算出最小总支出
第三章模型求解
3.1模型的求解
由上述分析可知Dijkstra算法中所对应的结点跟路径,下面给出其基本步骤:
采用标号法,用两种标号:
T标号和P标号,T标号为试探性标号,P标号为永久性标号,给vi一个P标号时表示从vi到vj的最短路权,vi的标号不再改变。
给vi一个T标号是表示从vi到vj的最短路权的上界,是一种临时标号,凡没有得到P标号的点都有T标号。
(1)首先给v1以P(v1)=0,给其余所有点T标号,
T(v1)=+∞(i=2,…,6)
(2)由于(v1,v2),(v1,v3),(v1,v4),(v1,v5),(v1,v6)边属于E,且v1,v2为T标号,所以修改这两个点的标号:
T(v2)=min[T(v2),P(v1)+l12]=min[+∞,0+6.21]=6.21
T(v3)=min[T(v1),P(v3)+l13]=min[+∞,0+4.47]=4.47
T(v4)=min[T(v1),P(v4)+l14]=min[+∞,0+4.90]=4.90
T(v5)=min[T(v1),P(v3)+l15]=min[+∞,0+3.76]=3.76
T(v6)=min[T(v1),P(v3)+l16]=min[+∞,0+3.64]=3.64
(3)比较所有T标号,T(v2)最小,所以令P(v2)=20.并记录路径(v1,v2)。
(4)v2为刚得到P标号的点,考察边(v2,v3),(v2,v3),(v2,v4),(v2,v5),(v2,v6)的端点v1,v2。
T(v3)=min[T(v3),P(v2)+l23]=min[6.21,20+9.92]=6.21
T(v4)=min[T(v4),P(v2)+l24]=min[4.47,20+7.18]=4.47
T(v5)=min[T(v5),P(v2)+l25]=min[4.9,20+7.61]=4.9
T(v6)=min[T(v6),P(v2)+l26]=min[3.76,20+6.47]=3.76
(5)比较所有T标号,T(v3)最小,所以令P(v3)=20.并记录路径(v1,v3)。
(6)考虑点v3,有
T(v4)=min[T(v3),P(v3)+l34]=min[6.21,20+8.73]=6.21
T(v5)=min[T(v3),P(v3)+l35]=min[4.47,20+6.99]=4.47
T(v6)=min[T(v3),P(v3)+l36]=min[4.9,20+7.42]=4.9
(7)比较所有T标号,T(v4)最小,所以令P(v4)=20.并记录路径(v1,v4)。
(8)考虑点v4,有
T(v5)=min[T(v4),P(v4)+l45]=min[6.21,20+8.48]=6.21
T(v1)=min[T(v6),P(v4)+l46]=min[4.47,20+6.74]=4.47
(9)比较所有T标号,T(v5)最小,所以令P(v5)=20.并记录路径(v1,v5)。
(10)考虑点v6,有
T(v6)=min[T(v6),P(v5)+l56]=min[6.21,20+8.25]=6.21
(11)因只有一个T标号T(v6),令P(v6)=20,记录路径
(v3,v6),计算结束。
由计算结果可知:
v1v6为最短路,路长为15.79,即在第一年购买一台新设备为最优决策,这时6年的总费用为15.79.
15.79
全部计算结果如下图所示,同时可得到v1到其他点的最短路径,如下图中的粗线所示:
13.73
12.7
12.7
9.82
9.82
3.53
3.53
3.53
3.53
3.53
9.82
V1
V2
V6
V5
V4
V3
9.82
12.7
13.73
第四章结论与建议
4.1研究结论
此次研究课题充分运用了matlab软件的强大功能,使得算法编的简单有效,同时运用数学建模和Dijkstra算法求解本问题,将设备更新问题简化为最短路径问题,并结合图论和网络优化求出和检验出答案的正确性。
4.2建议与对策
基于优化建模软件matlab的求解技术,使得问题的规模很容易扩大,求解效率高,这也是本文的出发点。
这样带来的好处是:
一方面我们可以更加专注于建立实际问题的数学模型,提高建模的质量;另一方面可以直接使用优秀的算法来对模型进行求解,提高解的质量。
缺点有二:
其一是数据的预测性,即问题中的数据都是预测数据,尤其是计划期内设备的购置价格,因此如果数据不准确,将导致计算结果与实际运行结果有偏差。
参考文献
[1]吴清烈,徐士钰等.运筹学.南京:
东南大学,2004.
[2]陈宝林.最优化理论与方法.北京:
清华大学,1989.
[3]程理民等编著.运筹学模型与方法教程,北京:
清华大学,2000.
[4]管梅谷等.线性规划.济南:
山东科技技术出版社,1983.
[5]暴奉贤,陈宏立.经济预测和决策方法.广州:
暨南大学,1991
附件(代码)
图与网络论中求最短路径的Dijkstra算法M函数
function[S,D]=minRoute(i,m,W,opt)
ifnargin<4,opt=0;end
dd=[];tt=[];ss=[];ss(1,1)=i;V=1:
m;V(i)=[];
dd=[0;i];kk=2;[mdd,ndd]=size(dd);
while~isempty(V)
[tmpd,j]=min(W(i,V));tmpj=V(j);
fork=2:
ndd
[tmp1,jj]=min(dd(1,k)+W(dd(2,k),V));
tmp2=V(jj);tt(k-1,:
)=[tmp1,tmp2,jj];
end
tmp=[tmpd,tmpj,j;tt];[tmp3,tmp4]=min(tmp(:
1));
iftmp3==tmpd
ss(1:
2,kk)=[i;tmp(tmp4,2)];
elsetmp5=find(ss(:
tmp4)~=0);tmp6=length(tmp5);
ifdd(2,tmp4)==ss(tmp6,tmp4)
ss(1:
tmp6+1,kk)=[ss(tmp5,tmp4);tmp(tmp4,2)];
elsess(1:
3,kk)=[i;dd(2,tmp4);tmp(tmp4,2)];
end
end
dd=[dd,[tmp3;tmp(tmp4,2)]];V(tmp(tmp4,3))=[];
[mdd,ndd]=size(dd);kk=kk+1;
end
ifopt==1
[tmp,t]=sort(dd(2,:
));S=ss(:
t);D=dd(1,t);
elseS=ss;D=dd(1,:
);
end
利用此函数的求解过程
>>n=6;
>>w=inf*ones(6);
>>w(1,[2,3,4,5,6])=[3.53,9.82,12.7,13.73,15.79];
>>w(2,[3,4,5,6])=[3.53,9.82,12.7,13.73];
>>w(3,[4,5,6])=[3.53,9.82,12.7];
>>w(4,[5,6])=[3.53,9.82];
>>w(5,6)=3.53;
>>[s,d]=minroute(1,n,w)
求解所得结果:
s=
111111
023450
000006
d=
09.829.8212.713.7315.79