Research Article

Cultural-Based Genetic Tabu Algorithm for Multiobjective Job Shop Scheduling

Algorithm 1

Illustration of the bidirectional decoding procedure.
Begin
for each
M = findmachine( );  %find the corresponding machine
= + 1;
ldletime = scan( , ); %scan the idle time on machine from the left to right
 if < Idletime
    LeftShift( );  %place the operation on that idle time
 else
    Place( , , ); %place the operation at the end of the machine
 end
End      %all the operations have been scheduled
For each   %in each machine from the right to left
SL( ) = lastesttime( );  %calculate the last starting time of the operation
idletime2 = scanreverse( ); %scan the machine from the right to left
if SL( ) < max(idletime2)
  Place( , idletime2);
else
  Place( ,  ( ));
end
end
modify the scheduling and output the results;
end