资源描述
. .
对MATLAB的总结 -----------------------------------------------------2
数学建模
序言 ------------------------------------------------------3
一、 案例背景 ------------------------------------------------------3
二、理论根底 ------------------------------------------------------4
三、案例的建模过程 ----------------------------------5
四、MATLAB求解 ----------------------------------9
五、参考文献 ---------------------------------12
. .word..
. .
上大学以来,我所过得很多科目在最后结尾的局部都会提到用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=[1 2 3 4 5;4 2 3 5 1;6 7 5 8 2];
[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·蔡斯,等·运营管理。任建标,译。:机械工业,2021
【2】X建林·MATLAB & EXCEL 定量预测与决策方法—运作案例精编。:电子工业,2021
【3】X建林·网络时间参数的巧妙计算方法。XX管理科学,2021
【4】X建林·现代生产运作管理:理念,理论与模型。:机械工业,2021
. .word..
展开阅读全文