Research Article

A DAG Scheduling Scheme on Heterogeneous Computing Systems Using Tuple-Based Chemical Reaction Optimization

Algorithm 6

TMSCRO(DAG) The TMSCRO outline(framework).
(1)   Initialize PopSize, KELossRate, MoleColl and InitialKE, and ;
(2)   Call Algorithm 2 to generate the initial population of TMSCRO, CROPop;
(3)   Call Algorithm 3 to calculate PE of each molecule in CROPop;
(4)   while the stopping criteria is not met do
(5)          Generate ;
(6)          if   > MoleColl
(7)               Select a reaction molecule from CROPop randomly;
(8)               if  (( ) > ) &
(9)                         Call DecompT to generate new molecules and ;
(10)                       Call Algorithm 3 to calculate and ;
(11)                       if Inequality (2) holds
(12)                             Remove from CROPop;
(13)                             Add and to CROPop;
(14)                      end if
(15)             else
(16)                      Call OnWallT to generate a new molecules ;
(17)                      Call Algorithm 3 to calculate ;
(18)                      If  
(19)                             InitS = ;
(20)                      end if
(21)                      Remove from CROPop;
(22)                      Add to CROPop;
(23)            end if
(24)       else
(25)            Select two molecules and from CROPop randomly;
(26)            if ( < ) & ( < ) & ( ) & ( )
(27)                      Call SynthT to generate a new molecule ;
(28)                      Call Algorithm 3 to calculate ;
(29)                      if Inequality (10) holds
(30)                            Remove   and from CROPop;
(31)                             Add to CROPop;
(32)                      end if
(33)            else
(34)                      Call IntermoleT to generate two new molecules and ;
(35)                      Call Algorithm 3 to calculate and ;
(36)                      if ( )
(37)                             ;
(38)                      else if  ( )
(39)                             ;
(40)                     end if
(41)                      Remove and from CROPop;
(42)                      Add and to CROPop;
(43)            end if
(44)       end if
(45) end while
(46) return the molecule with the lowest PE in CROPop;