📄 caltime.m
字号:
function PVal=caltime(P,T,M,PNumber,MNumber,WPNumber)
% T=[4 6 7 0 ;8 7 9 1; 1 2 4 0];
% M=[1 2 3 0; 3 2 1 3; 2 1 3 0];
% P=[31 21 32 11 12 13 33 22 23 24];
%
% PNumber=3; %零件 个数 3
% MNumber=3; %机器个数 3
% WPNumber=[3 4 3];
% T=[ 6 3 2 8 3 3 4 8 2 6;
% 1 5 3 8 6 11 2 3 5 9;
% 11 3 7 2 10 2 3 4 4 7;
% 3 5 12 5 3 3 8 4 12 9;
% 2 6 10 6 1 1 2 8 3 7;
% 3 9 4 6 4 2 12 3 2 9;
% 3 1 12 4 2 8 3 2 8 7;
% 3 5 4 3 4 10 5 2 3 11;
% 8 1 12 4 2 8 3 8 8 7;
% 6 5 4 3 4 10 5 6 3 11
% ];
% M=[ 1 2 5 3 7 6 4 9 8 10;
% 3 6 4 10 8 2 7 1 9 5;
% 2 1 9 3 10 7 8 6 5 4;
% 4 6 8 7 1 9 2 3 5 10;
% 7 6 10 9 5 1 2 3 4 8;
% 3 8 9 4 6 7 1 2 5 10;
% 3 7 4 9 10 1 2 5 6 8;
% 3 4 10 8 6 5 2 7 1 9;
% 10 7 4 9 3 8 2 6 5 1;
% 3 10 4 8 6 5 9 7 1 2
% ];
%
% TTemp=T;
% for i=1:10
% for j=1:10
% TTemp(i,j)=T(M(i,j),i);
% end
% end
% T=TTemp;
% P=[10 30 70 40 50 90 51 100 71 31 11 72 41 91 52 12 32 80 101 42 60 81 43 20 61 44 21 33 73 102 82 53 54 55 62 13 83 34 84 56 103 35 74 85 63 45 75 92 64 57 76 104 86 77 65 36 46 22 93 105 37 66 14 47 67 58 15 87 23 88 94 16 38 78 106 24 107 95 17 25 39 68 59 48 69 96 108 26 79 89 97 18 27 109 98 49 99 28 29 19];
% PNumber=10; %零件 个数 3
% MNumber=10; %机器个数 3
% WPNumber=[10 10 10 10 10 10 10 10 10 10];
%工序个数
WNumber=0;
for i=1:PNumber
WNumber=WNumber+WPNumber(1,i);
end
TM=zeros(1,MNumber);
TP=zeros(1,PNumber);
PVal=zeros(2,WNumber);
for i=1: WNumber
% 机器号
val= P(1,i);
a=(mod(val,10))+1;
b=((val-a+1)/10);
m=M(b,a);
%时间
t=T(b,a);
%取这工序的机器的时间和先工序的时间
val1=TM(1,m);
val2=TP(1,b);
%交换
if val1>val2
val=val1;
else
val=val2;
end
%计算时间
PVal(1,i)=val;
PVal(2,i)=val+t;
%记录机器时间和工序时间
TM(1,m)=PVal(2,i);
TP(1,b)=PVal(2,i);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -