资源简介
根据palmer法求解多机作业排序问题的原理编写的MATLAB求解程序
代码片段和文件信息
function [SlopeScheduleNewTimeArrayStartTimeFinishTimeMakespan] = Ch7_Palmer(TimeArray)
%% 程序功能说明
%第7章:帕尔玛算法计算工件的近优排序和最长流程时间,并绘制甘特图
%====输出参数====
%Slope :工件的斜度
%Schedule :近优排序
%NewTimeArray :近优排序下的加工时间矩阵
%StartTime :开始时间
%FinishTime :完工时间
%Makespan :最长流程时间
%====输入参数====
%TimeArray :加工时间矩阵
%编写时间:2012年04月;完善时间:2012年12月。
%% 程序主体部分
%Get the near optimal schedule by the Palmer rule
%(1)根据帕尔玛法则确定工件的近优加工排序
[mn] = size(TimeArray); %加工时间矩阵的行数和列数,行数m为机器数,列数n为工件数
if m <= 1
error(‘机器数必须大于等于2‘)
end
for i = 1:n
SlopeIndex(i) = 0; %工件i的斜度指标的初值
for j=1:m
SlopeIndex(i) = SlopeIndex(i)+0.5*(2*j-m-1)*TimeArray(ji); %计算工件i的斜度指标
end
end
TimeArray(m+1:) = 1:n; %第m+1行为工件的代号
[SlopeBestIndex] = sort(SlopeIndex‘descend‘); %给出斜度及斜度的非递增顺序——近优加工顺序
Schedule = BestIndex; %工件的近优加工排序
TimeArray = TimeArray(:BestIndex); %根据近优加工顺序重新排列加工时间矩阵
NewTimeArray = TimeArray(1:m:); %重排后的加工时间矩阵
%(2)计算开工时间、完工时间、最长流程加工时间
WorkTime(1:m:) = TimeArray(1:m:); %重新定义的加工时间矩阵
StartTime(11) = 0;
- 上一篇:基于优先规则的MATLAB单机排序代码
- 下一篇:LEACH算法相关代码
相关资源
- LEACH算法相关代码
- 基于优先规则的MATLAB单机排序代码
- 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仿真博弈论
评论
共有 条评论