资源简介
将各种优先规则综合在一起编写了单机排序问题MATLAB求解的通用函数程序。
代码片段和文件信息
function [ScheduleStartTimeFinishTimeMeanOTMakespanMeanETMeanPTMeanWIPMeanTotalResultArray] = Ch6_SingleMachine_Rank(TimeArray)
%% 程序功能说明
%第6章:单机作业排列排序问题(单维规则)
%====输出参数====
%Schedule :给定优先级规则下的排序方案
%StartTime :开始时间
%FinishTime :流程时间
%MeanOT :平均流程时间
%Makespan :完工时间
%MeanET :平均提前时间
%MeanPT :平均超期时间
%MeanWIP :平均在制品库存量
%MeanTotal :平均总库存量
%ResultArray :模型结果
%====输入参数====
%TimeArray :业务时间矩阵,按照接到业务订单的先后顺序给出(3×n的矩阵)
%第1行为业务顺序代号,第2行为加工时间,第3行为希望交货时间
%编写时间:2012年03月;完善时间:2012年4月
%% 程序主体部分
%根据优先级规则确定工件的加工方案
[mn] = size(TimeArray);
if m ~= 3
error(‘加工时间矩阵必须为三行‘)
end
%定义存放计算结果的矩阵
ResultArray = zeros(8n); %设置存放建模的矩阵,共8行
%% 给定优先级规则并建模
Number = input(‘请选择优先级规则的代号<1.FCFS;2.SPT;3.LCFS;4.EDD;5.STR;6.RANDOM>Number=:‘);
if Number == 1
%(1)先到先服务(FCFS)规则建模
ResultArray(1:) = TimeArray(1:); %第1行存放工件加工顺序
ResultArray(3:) = TimeArray(2:); %第3行存放加工时间
ResultArray(5:) = TimeArray(3:); %第5行存放期望交货时间
elseif Number == 2
%(2)最短加工时间(SPT)规则建模
TimeArray_New = TimeArray‘; %将时间矩阵转置,以便进行排序
TimeArray = (sortrows(TimeArray_New2))‘; %得到按加工时间非递减排序
ResultArray(1:) = TimeArray(1:); %第1行存放工件加工顺序
ResultArray(3:) = TimeArray(2:); %第3行存放加工时间
ResultArray(5:) = TimeArray(3:); %第5行存放期望交货时间
elseif Number == 3
%(3)后到先服务(LCFS)规则建模
TimeArray_New = -TimeArray‘; %将时间矩阵转置,以便进行排序
TimeArray = -(sortrows(TimeArray_New1))‘; %得到按后到排序在前
ResultArray(1:) = TimeArray(1:); %第1行存放工件加工顺序
ResultArray(3:) = TimeArray(2:); %第3行存放加工时间
ResultArray(5:) = TimeArray(3:); %第5行存放期望交货时间
elseif Number == 4
%(4)最短交货期(EDD)规则建模
TimeArray_New = TimeArray‘; %将时间矩阵转置,以便进行排序
TimeArray = (sortrows(TimeArray_New3))‘; %得到按后到排序在前
ResultArray(1:) = TimeArray(1:); %第1行存放工件加工顺序
ResultArray(3:) = TimeArray(2:); %第3行存放加工时间
ResultArray(5:) = TimeArray(3:); %第5行存放期望交货时间
elseif Number == 5
%(5)剩余松弛时间(STR)规则建模
SlackTime = TimeArray(3:)-TimeArray(2:); %计算剩余松弛时间
TimeArray_New = [TimeArray‘ SlackTime‘]; %将剩余松弛时间列入新矩阵中
TimeArray_Rank = (sortrows(TimeArray_New4))‘; %按剩余松弛时间非递减排序
for i =1:length(TimeArray(2:))-1
if TimeArray_Rank(4i) == TimeArray_Rank(4i+1)
if TimeArra
相关资源
- palmer法求解多机作业排序问题的MATL
- matlab中运用二分法和割线法求方程的
- MATLAB扩展编程源程序第十二章关于语
- 基于matlab软件实现的s变换
- GPS载波相位平滑伪距
- 基于维纳滤波的语音增强及优化
- 基于Zigbee定位算法MATLAB仿真
- matla正演模拟
- matlab 画五线谱
- 下采样Matlab
- 模糊相似矩阵Matlab程序
- CV模型matlab
- 单通道图像转化为三通道,并与彩色
-
基于matlab和simuli
nk的模糊自适应控制 - 基于MATLAB的DQPSK/QPSK调制解调实现
- QPSK matlab 调制解调代码
- DSSS 的matlab程序
- 简化模糊神经网络MATLAB代码
- matlab实现PCM编码译码
- mp算法matlab代码
- 在matlab中读取遥感图像BSQ数据代码
- 基于matlab的图像拼接
- NURBS曲线matlab工具箱
- Burg算法的MATLAB实现
- MUSIC算法的MATLAB实现2017年11月7日
- 语音端点检测程序matlab
- 指纹识别的matlab代码
- 人工势场法路径规划192071
- matlab仿真博弈论
- aloha算法matlab
评论
共有 条评论