⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 caltime.m

📁 介绍遗传算得原理及应用
💻 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 + -