You are on page 1of 3

AMDT

Assignment # 3

Submitted to
Dr. Kunwar Faraz Ahmad

Submitted by
Rafaiy Ishrat MS66-10-718
Waqar Ahmad MS66-10-722
clear all
clc

Machine_jobs=12; %no of machining processes


C_T_d=70; %Cycle Time

Machine_times=[20 6 5 21 8 35 15 10 15 5 46 16]; %Machine Cycle times

Predecessors=[0 1 1 0 0 0 2 1 2 1 2 2];

Pre_Position=[0 0; 1 0; 2 0; 0 0; 0 0; 0 0; 3 4; 7 0; 5 8; 3 0; 5 9; 10
11];

C_T=C_T_d;s=1;T_I_T=0;B_S_F=1000;

for i=1:Machine_jobs;
UA_A(1,i)=Machine_times(1,i);%Time_Value
No_of_Predecessors=Predecessors(1,i);%No_of_Predecessorsinput('Input
No_of_Predecessors: ');
UA_P_A(i,1)=Pre_Position(i,1);%Predecessor_Position
%Predecessor_Position
UA_P_A(i,2)=Pre_Position(i,2);%Predecessor_Position
%Predecessor_Position

end

%%%End Loop%%%

N=1;

for Seq=1:N;

W_S=1;

while sum(UA_A~=0);
%%First calculating the FitSet%%
x=1;
for i=1:Machine_jobs;
if UA_A(1,i)~=0;
if sum(UA_P_A(i,:))==0;
FitSet(x,1)=i;
FitSet(x,2)=UA_A(1,i);
x=x+1;
end
end
end
x=x-1;
if sum(FitSet(:,2)~=0);
%%%Randomly picking an element%%%
c = randint(1,1,[1,x]);
if FitSet(c,2)~=0;
if C_T>=FitSet(c,2);
C_T=C_T-FitSet(c,2);
elseif C_T<FitSet(c,2);
T_I_T=T_I_T+C_T;
W_S=W_S+1;
C_T=C_T_d;
C_T=C_T-FitSet(c,2);
end
Sequence(1,s)=FitSet(c,1);
s=s+1;
[u,v]=size(UA_P_A);
for i=1:v;
for ii=1:u;
if FitSet(c,1)==UA_P_A(ii,i);
UA_P_A(ii,i)=0;
end
end
end
UA_A(1,FitSet(c,1))=0;%Removing from UnAssigned tArray%
FitSet(c,:)=0;%Removing from FitSet%
end
end
end

T_I_T=T_I_T+C_T;
if T_I_T<B_S_F;
B_S_F=T_I_T;
T_W_S=W_S;
end
end

You might also like