MATLAB论文数学建模.docx
《MATLAB论文数学建模.docx》由会员分享,可在线阅读,更多相关《MATLAB论文数学建模.docx(13页珍藏版)》请在冰豆网上搜索。
![MATLAB论文数学建模.docx](https://file1.bdocx.com/fileroot1/2023-7/26/2da5af0e-88bf-4729-94d6-03f26740a345/2da5af0e-88bf-4729-94d6-03f26740a3451.gif)
MATLAB论文数学建模
对MATLAB的总结-----------------------------------------------------2
数学建模
序言------------------------------------------------------3
1、案例背景------------------------------------------------------3
二、理论基础------------------------------------------------------4
三、案例的建模过程----------------------------------5
四、MATLAB求解----------------------------------9
五、参考文献---------------------------------12
上大学以来,我所过得很多科目在最后结尾的部分都会提到用MATLAB来解决,在这个学期终于接触学习了它。
而且还有机会进行上机操作,下面就来谈谈我的上机以及学习的心得体会。
首先来说说MATLAB语言,它的语言与我之前学过的C语言有些不同,C语言主要是面向过程的,灵活性较强,但所耗费的时间和精力比较大。
例如定义变量就分为int,float,char等类型,十分麻烦。
但MATLAB语言则显得很灵活与快捷,它是一门解释性语言,能自动将高级语言翻译成机器语言。
另外,MATLAB还配有许多常用的公式,操作起来十分的方便
MATLAB的语法限制不严格,程序设计自由度大。
程序的可以执行很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。
MATLAB具有一个强大的工具箱,里面的东西,只要你想要,你就可以毫不犹豫的提取出来,不用像C语言编程中,你想要的东西你还的用函数调用的形式去借用。
这些工具箱提供了用户在特别应用领域所需要的许多函数,这使得用户不必花大量的时间编写程序就可以直接调用这些函数。
,达到事半功倍的效果。
MATLAB的图形功能强大。
不管你二维图形,三维图形。
只要你想要,就能编写出来函数式。
在短短的几秒钟内,它会呈现在你眼前。
另外就是图形的直观性,在绘制图形时,加上一点修饰,它会自动标注你想要的图形的阴影部分。
MATLAB具有二维和三维绘图功能,还能在坐标图上加标题,等等。
例如用MATLAB创建矩阵时,方法有两种:
第一.可直接依次输入矩阵各行各列的元素,但矩阵元素必须用【】来括住矩阵元素必须用逗号或空格分隔。
第二。
用MATLAB函数创建矩阵。
MATLAB可以进行矩阵否认加减乘除的元素,求可逆矩阵,转置矩阵,求矩阵的特征值,求线性方程组等等。
MATLAB的数学建模来说,它是一款相当不错的建模辅助工具,因为MATLAB中有统计函数,线性分析函数,插值函数,非线性分析函数等等这些数模必备的函数,而且,MATLAB强大的绘图功能可使得许多数学演算过程变得可视化。
所以我特意做了一道数学建模的题来学习MATLAB
序言
所谓单机排列排序问题,就是指等待加工的n项作业在同一台机器上按照一定的优先级规则进行加工的排序问题。
优先级规则是指决定作业先后顺序的规则,这些规则可以十分简单,人物可以仅仅根据一个数据决定,比如加工时间,到日期,订单到达日等。
下面我们将通过两个案例来了解。
一.案例背景
案例:
打字员处理业务顺序决策问题
已知某打字员一天接到5个稿件,他完成每个业务的时间和业主希望完成的时间如下表所示。
为尽快完成任务,他必须决策这些业务的处理顺序。
业务(按接到的先后顺序)
一
二
三
四
五
完成时间/天
4
2
3
5
1
希望完成时间/天
6
7
5
8
2
请分别根据以下悠闲级规则安排任务的处理顺序,以平均流程时间为绩效指标比较各优先级规则。
(1)按照先到先服务的顺序(FCFS),应如何安排处理顺序?
(2)按照加工时间最短规则(SOT),应如何安排处理顺序?
(3)按照最早交货期的规则(EDD),应如何安排处理顺序?
(4)按照后到先服务的规则(LCFS),应如何安排处理顺序?
(5)按照随机规则(RANDOM),应如何安排处理顺序?
(6)按照剩余松弛时间规则(STR),应如何安排处理顺序?
关于案例的说明
这个案例在单机作业排列顺序问题中是非常基本和熟悉的也是非常普遍的只需根据优先级规则即可给出作业的处理顺序。
针对厂家而言,对优先级进行评的标准是总流程时间或平均流程时间,总流程时间或平均流程时间较少的作业顺序自然较好。
在对案例进行解答之前,有必要对作业顺序的概念和优先级规则进行介绍。
二.理论基础
所谓作业排序,就是实施活动,利用资源,配置设施的时间表,也就是指一些机器或一些工作中心决定完成任务先后次序的过程。
因为决定任务次序是按照优先规则进行排序的,所以也称之为优先级作业顺序。
从理论上来说,对于单机作业排列排序问题,如果有n个任务,根据排列理论,共计有S=n!
=n(n-1)(n-2)…2*1种作业方式。
当n较小时,将每种排列方式下的绩效指标计算出来然后进行全面比较并不是什么难事;但是,当n较大时,要将每种排列方式下的绩效指标计算出来并进行全面比较,既费时也没有必要,此时通常考虑采用优先级规则进行作业排序
单位作业的排序问题的求解可以说是所有排序问题中的最为简单的问题,最为直接的,只要给定了优先级规则即可得到相应的排序方案。
求解单机作业排序排列问题的思路:
首先在给定优先级规则下的得到作业排序,然后计算排序的绩效指标。
最后,根据关键绩效指标得到最优的作业排序方案。
根据上述求解的思路,单机作业排列排序问题的求解,可以通过MATLAB实现自动求解,每种优先规则即是一种算法。
三.案例的建模过程
本案例需要按照给定的6个优先级规则进行作业排序,比较各优先级规则下的排列方案优劣的绩效指标是平均流程时间。
具体建模过程如下。
(1)按照先到先服务规则
业务加工先后顺序
1
2
3
4
5
开始加工
0
4
6
9
14
+
+
+
+
+
+
完成时间(天)
4
2
3
5
1
||
||
||
||
||
||
流程时间(天)
4
6
9
14
15
希望完成时间(天)
6
7
5
8
2
实际交货时间(天)
6
7
9
14
15
提前时间(天)
2
1
_
_
_
超期时间(天)
_
_
4
6
13
(2)按照加工时间最短规则
业务加工先后顺序
5
2
3
1
4
开始加工
0
1
3
6
10
+
+
+
+
+
+
完成时间(天)
1
2
3
4
5
||
||
||
||
||
||
流程时间(天)
1
3
6
10
15
希望完成时间(天)
2
7
5
6
8
实际交货时间(天)
2
7
6
10
15
提前时间(天)
1
4
—
—
—
超期时间(天)
—
—
1
4
7
(3)按照最早交货期规则
将所有业务按照EDD规则对交货期进行升序排序,得到业务加工的先后顺序:
5-3-1-2-4
业务加工先后顺序
5
3
1
2
4
开始加工
0
1
6
9
11
+
+
+
+
+
+
完成时间(天)
1
5
3
2
4
||
||
||
||
||
||
流程时间(天)
1
6
9
11
15
希望完成时间(天)
2
8
5
7
6
实际交货时间(天)
2
8
9
11
15
提前时间(天)
1
2
—
—
—
超期时间(天)
—
—
4
4
9
(4)按照后到先服务的规则
根据LCFS规则,业务加工顺序:
5-4-3-2-1
业务加工先后顺序
5
4
3
2
1
开始加工
0
1
6
9
11
+
+
+
+
+
+
完成时间(天)
1
5
3
2
4
||
||
||
||
||
||
流程时间(天)
1
6
9
11
15
希望完成时间(天)
2
8
5
7
6
实际交货时间(天)
2
8
9
11
15
提前时间(天)
1
2
—
—
—
超期时间(天)
—
—
4
4
9
(5)按照随即规则
假设业务加工程序:
4-3-1-2-5
业务加工先后顺序
4
3
1
2
5
开始加工
0
5
8
12
14
+
+
+
+
+
+
完成时间(天)
5
3
4
2
1
||
||
||
||
||
||
流程时间(天)
5
8
12
14
15
希望完成时间(天)
8
5
12
14
15
实际交货时间(天)
8
8
12
14
15
提前时间(天)
3
—
—
—
—
超期时间(天)
—
3
6
7
13
(6)按照剩余松弛时间规则
将各业务按照STR规则对剩余松弛时间进行非递减排列,得到业务的加工顺序:
5-3-1-4-2
业务加工先后顺序
5
3
1
4
2
剩余松弛时间
2-1=1
5-3=3
6-4=2
8-5=3
7-2=5
开始加工
0
1
4
8
13
+
+
+
+
+
+
完成时间(天)
1
3
4
5
2
||
||
||
||
||
||
流程时间(天)
1
4
8
13
15
希望完成时间(天)
2
5
8
13
15
实际交货时间(天)
2
5
6
8
7
提前交货时间(天)
1
1
—
—
—
超期交货时间(天)
—
—
2
5
8
由以上各种作业方案可知,“流程时间”一行的最后一个数字是相等的,即无论在哪种优先级规则下,作业的完成时间是一样的。
由此也验证了单机作业排列排序问题的完工时间是不受作业方案影响的。
各种规则下的平均流程时间表如下
优先级规则
FCFS
SOT
EDD
LCFS
RANDOM
STR
总流程时间(天)
4.8
35
38
42
54
41
平均流程时间(天)
9.6
7
7.6
8.4
10.8
8.2
由上表可知,按照SOT规则的总流程时间最短,EDD次之,STR再次之,RANDOM最差。
上述各种优先级规则的建模过程为单机作业排列顺序问题。
四.MATLAB求解
根据所建立的数学模型,调用MATLAB函数程序。
clc,clear
&给定加工时间矩阵
TimeArray=[12345;42351;67582];
[Schedule,starttime,finidwiphtime,meanot,meanef,makespan,meanpt,mean,resultarray]=(timearray)
%输出结果
Pfprintf(‘1.最优的加工顺序为:
‘),disp(schedule);
Pfprintf(‘2.最短总加工时间为:
’),disp(makespan)
Pfprintf(‘3.流程时间为:
‘),disp(finishtime)
Pfprintf(‘4.平均的流程时间为:
‘),disp(meanot)
根据窗口提示分别输入相应的优先级规则代码,所得结果为
1.FCFS规则下的求解结果
2.SOT规则下的求解结果
3.EDD规则下的求解结果
4.LCFS规则下的求解结果
5.RANDOM规则下的求解图
6.STR规则下的求解结果
在上述给出的结果中,RANDOM规则下的结果是随机的,每执行一次程序所得的结果将不尽相同。
在以平均流程时间为绩效指标时,SOT规则下的加工方案最优,EDD规则下的加工方案次之,STR再次之,LCFS再次之,FCFS和RANDOM规则下的加工方案最差。
五、参考文献
【1】理查德·B·蔡斯,等·运营管理。
任建标,译。
北京:
机械工业出版社,2008
【2】张建林·MATLAB&EXCEL定量预测与决策方法—运作案例精编。
北京:
电子工业出版社,2012
【3】张建林·网络时间参数的巧妙计算方法。
上海管理科学,2008
【4】张建林·现代生产运作管理:
理念,理论与模型。
北京:
机械工业出版社,2009